当前位置:文档之家› 软件工程综合课程设计报告

软件工程综合课程设计报告

软件工程综合课程设计报告设计题目:生产管理系统专业软件工程学号06103210姓名林晓东2010 年 1 月13 日1 系统需求分析 (3)1.1 系统前功能结构 (3)1.2 生产管理系统的后台功能 (3)1.3系统及功能需求 (4)2 数据库概念结构设计 (5)2.1 数据库的整体实体关系图 (5)2.2 数据库的实体E-R图 (7)3 数据库逻辑结构设计 (9)4 数据库实现与维护 (12)5问题解答 (20)1 系统需求分析需求分析是软件设计阶段之前较为重要的一个阶段。

它是通过对应用问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明的一个分析阶段。

需求规格说明是软件设计、实现、测试直至维护的主要基础,良好的分析活动有助于避免早期错误,从而降低软件开发成本,改进软件质量。

在进行需求分析时,首先,需要了解实际应用的工作流程确定系统需求,然后,根据系统需求确定各个子系统的需求情况。

另外,在整个程序设计之前,就必须有一张功能模块结构图,可以更直观的了解在设计中所需完成的任务。

1.1 系统前功能结构生产管理系统的网站系统的功能结构,如图1所示。

图1 生产管理系统的功能图1.2 生产管理系统的后台功能生产管理系统的后台网站系统的功能结构,如图2所示。

图2 生产管理系统后台功能1.3系统及功能需求针对公司实际运作情况并根据生产管理系统需要的实现目标,提出以下系统及功能需求:(1)实现系统管理的各项功能。

首先,对想进入系统的用户进行验证,只有系统认可的用户才允许进入。

其次,对用户进行管理。

用户进入系统后,系统可以识别用户的类别,根据用户类别的不同,可以使用不同的功能模块。

这就要求系统管理员必须具有设置用户权限的功能,对用户进行分类并赋予不同的权限,使该用户只能在系统允许的范围内操作,而该用户可以察看自己的权限范围,如需增加或删除某些权限,必须通过系统管理员来设置。

最后,必须建立日志系统,把用户登录系统的信息写入日志文件,方便系统管理员进行管理。

(2)建立零部件的计划与管理系统。

生产订单下达后,生产部门根据零部件库存信息来制定各车间或采购部门的生产或采购计划,因此,必须建立零部件库存数据表,实现零部件信息管理、零部件出入库操作和零部件库存信息查询等功能,使生产资源的更有效地调配和利用。

(3)建立生产计划管理系统,实现生产计划管理的计算机化。

因此,必须建立生产订单数据表,实现生产部门生产订单的编辑、修改、查询、打印等功能;实现物料的MRP运算,根据生产订单和产品的零部件物料信息,并且根据零部件的库存信息计算出所需的物料的数量,生成具体零部件的需求清单。

从而可以做到按计划生产,并且控制生产成本,减少生产资金的占用,从而降低整个产品成本。

(4)建立产品管理系统。

根据生产订单完成了产品的生产装配后,必须有一个完整的产品库存管理系统。

因此,必须建立产品库存数据表,实现产品的出入库操作功能,实现生产管理人员查询库存及出入库信息的功能,使管理者能随时掌握产品的库存情况,便于产品的营销及生产计划调整,实现产品资料信息管理的计算机化。

(5)在以上各系统中能够实现各种报表的打印输出功能,完善的报表输出功能可以方便管理人员的使用和财务部门的统计核算。

2 数据库概念结构设计2.1 数据库的整体实体关系图本网站的实体有:员工、部门、:产品、客户、工龄、订单、库存、出货、采购、发票,数据库的整体实体关系如图3所示。

图 3 数据库的整体实体关系图2.2 数据库的实体E-R图本网站主要包括以下10个实体。

(1)个人会员信息实体图,如图4所示。

图 4 员工资料实体图(2)企业会员信息实体E-R图,如图5所示。

图 5 部门信息实体实体图(3)客户资料实体E-R图,如图6所示。

图 6 客户资料实体图(4)订单表实体图,如图7所示。

图7 订单表实体图(5)库存表实体,如图8所示。

图 8 库存表实体图(6)采购表实体图,如图9所示。

图 9 采购表实体图(7)发票实体图,如图10所示。

图 10发票实体图(8)产品资料实体图,如图11所示。

(9)工龄表实体图(10)出货表实体图3 数据库逻辑结构设计本系统数据库包含10个数据表,所有数据表描述信息如表1所示。

表1 数据表汇总表名别名说明EMP员工表存放员工基本信息Depart部门表存放企业各部门信息Product产品表存放产品信息Customer客户表存放客户信息WIP工龄表存放工龄信息Ord订单表存放订单信息内容Stock库存表存放库存信息内容Delivery出货表存放出货信息内容ProBuy采购表存放需采购物品资料Invoice发票表存放发票资料(1)EMP表:存放员工基本信息,如表2所示。

表2 EMP员工表字段名别名数据类型约束说明EerID 员工编号varchar2(10) 主键EmpName 员工姓名varchar2(20)DeptNo 部门编号varchar2 (2)COMM 佣金varchar2(20)EmpPhone 联系电话varchar2(12)Email 电子邮件varchar2(20)MGR 上司varchar2(6)HireDate 雇佣日期varchar2(14)(2)Depart 表:存放部门信息,如表3所示。

表3 Depart 部门资料表(3)Product表:存放个人给企业留言的内容等信息,如表4所示。

表4 Product 产品资料表字段名别名数据类型约束说明ProID 产品编号varchar2(10) 主键ProName 产品名称varchar2(20),(4)Customer表:存放个人会员自己的求职意向内容,如表5所示。

表5 Customer 客户信息表字段名别名数据类型约束说明CustomerID 客户编号varchar2(10) 主键CustomerName 客户名称varchar2(22),CustomerAdd 客户地址varchar2(20),CustomerPhone 客户电话varchar2(12)CustomerFax 客户传真varchar2(12)(5)Ord表:存放订单信息,如表6所示。

表6 Ord 订单信息表字段名别名数据类型约束说明OrdID 订单编号varchar2(10) 主键ProID 订购产品编号varchar2(20) 外键CustID 客户编号varchar2(10) 外键Qty 订购数量varchar2 (20)OrdDate 订购日期varchar2(14)D_Date 交货日期varchar2(14)(6)WIP表:存放个工龄信息内容,如表7所示。

表7 Wip 工龄表字段名别名数据类型约束说明WIPID 工龄编号varchar2(10)ProID 产品ID varchar2(10) 外键Qty 数量varchar2(10) 外键(7)ProBuy表:存放库存信息内容,如表8所示。

表8 ProBuy 采购表字段名别名数据类型约束说明ProID 产品ID varchar2(10) 外键StiQty 尚有数量varchar2 (10) 外键InsQty 需补数量varchar2 (10)(8)Invoice表:存放发票信息内容,如表9所示。

表9 Invoice 发票表字段名别名数据类型约束说明InvID 发票编号varchar2(10)ProID 产品编号varchar2(10) 外键Money 金额varchar2(10)(9)Delivery表:存放出货表资料,如表10所示。

表10 Delivery 出货表字段名别名数据类型约束说明ProID 产品编号varchar2(10) 外键OrdID 订单编号varchar2(10) 外键CarID 出车编号varchar2(10)(10)Stock表:存放库存表资料,如表10所示。

表10 Stock 库存表字段名别名数据类型约束说明ProID 产品编号varchar2(10) 外键StiQty 数量varchar2 (10) 外键4 数据库实现与维护在Oracle 10中创建数据库以及数据库表对象的SQL语句,如下所示。

连接数据库首先启动运行Oracle 10g所需要的服务项目,再在开始菜单——>运行输入SQLPLUS "sys/orcl as sysdba" 连接到数据库,如截图1所示截图1●创建表空间如截图2所示SQL> create tablespace pro_ctr2 datafile 'E:\oracle\product\10.2.0\oradata\orcl\pro_ctr.dbf'3 size 10m;表空间已创建。

截图2●创建表格1、创建员工基本信息表:如截图3所示CREATE TABLE EMP(EmpID V ARCHAR2(10),EmpName V ARCHAR2(10),EmpAdd V ARCHAR2(20),EmpPhone V ARCHAR2(12),EMail V ARCHAR2(20),MGR V ARCHAR2(6),HireDate V ARCHAR2(14),DeptNo V ARCHAR2(2))TABLESPACE PRO_CTR; 截图32、创建部门表:如截图4所示CREATE TABLE Depart( EmpID VARCHAR2(10), DepName V ARCHAR2(10), Pro V ARCHAR2(12),Sal V ARCHAR2(6),Educa VARCHAR2(12), Exper V ARCHAR2(20), DeptNo V ARCHAR(2),LOC V ARCHAR2(13))TABLESPACE PRO_CTR;截图43、创建采购表:如截图5所示CREATE TABLE ProBuy(StiQty VARCHAR2(10),InsQty VARCHAR2(10))TABLESPACE PRO_CTR;截图54、创建客户信息表:如截图6所示CREATE TABLE Customer(CustID V ARCHAR2(10),CustName V ARCHAR2(22),CustAdd V ARCHAR2(20),CustPhone V ARCHAR2(12),CustFax V ARCHAR2(12))TABLESPACE PRO_CTR;截图65、创建出货表:如截图7所示CREATE TABLE Delivery(ProID V ARCHAR2(10),OrdID V ARCHAR2(10),CarNO V ARCHAR2(10))TABLESPACE PRO_CTR;截图76、创建发票表:如截图8所示CREATE TABLE Invoice(InvID V ARCHAR2(10),ProID V ARCHAR2(10),Money VARCHAR2(10));截图87、创建订单信息表:如截图9所示CREATE TABLE Ord(OrdID V ARCHAR2(10),ProID V ARCHAR2(10),CustID V ARCHAR2(10),Qty VARCHAR2 (10),OrdDate VARCHAR2(14),D_Date VARCHAR2(14));截图9CREATE TABLE Product(ProID V ARCHAR2(10), ProName V ARCHAR2(20));截图109、创建库存表:如截图11所示CREATE TABLE Stock(ProID V ARCHAR2(10),StiQty VARCHAR2 (10));截图1110、创建工龄表:如截图12所示CREATE TABLE WIP(WIPID V ARCHAR2(10),ProID V ARCHAR2(10),Qty VARCHAR2 (10));截图12create table salgrade(grade varchar2(1),losal varchar2(6),hisal varchar2(6));截图13建立表格关联如截图14、截图15所示alter table EMPadd constraint EMP_empid_pk PRIMARY KEY(empid);alter table Productadd constraint Product_Proid_pk PRIMARY KEY(Proid);alter table Customeradd constraint Customer_Custid_pk PRIMARY KEY(Custid);alter table Ordadd constraint Ord_Ordid_pk PRIMARY KEY(Ordid);alter table Stockadd constraint Stock_StiQty_pk PRIMARY KEY(StiQty);alter table departadd constraint depart_empid_fkFOREIGN KEY(empid) REFERENCES EMP(empid);alter table Ordadd constraint Ord_Proid_fkFOREIGN KEY(Proid) REFERENCES Product(Proid);alter table Ordadd constraint Ord_Custid_fkFOREIGN KEY(Custid) REFERENCES Customer(Custid);alter table Invoiceadd constraint Invoice_Proid_fkFOREIGN KEY(Proid) REFERENCES Product(Proid);alter table Stockadd constraint Stock_Proid_fkFOREIGN KEY(Proid) REFERENCES Product(Proid);alter table ProBuyadd constraint ProBuy_Proid_fkFOREIGN KEY(Proid) REFERENCES Product(Proid); alter table ProBuyadd constraint ProBuy_Stiqty_fkFOREIGN KEY(Stiqty) REFERENCES Stock(Stiqty); alter table Deliveryadd constraint Delivery_Proid_fkFOREIGN KEY(Proid) REFERENCES Product(Proid); alter table Deliveryadd constraint Delivery_OrdID_fkFOREIGN KEY(OrdID) REFERENCES Ord(OrdID); 截图14截图155问题解答1 系统应该包括哪些数据?答:该系统是生产管理系统,需要有员工、部门、:产品、客户、工龄、订单、库存、出货、采购、发票等数据2 应该怎样存储这些数据?答:将各个基本信息都分为不同的表,依次存储,并依靠外键建立表之间的关联。

相关主题