三、系统分析
为了发挥系统的功能,实现系统的目标,运用科学的方法对系统加以周详的考察、分析、比较、试验,并在此基础上拟定一套有效处理步骤和程序,或对原来的系统提出改进方案的过程,就是系统分析。
(一)数据流图分析
在业务流程分析的基础上,进行数据流的分析。数据流图清晰地反映系统必须完成的逻辑功能。
本系统的数据流图分为顶层、一层、二层。
顶层数据流图:如图3.1
图3.1顶层数据流图
第一层数据流图包括三个部分:库存信息管理、设备信息管理、销售信息管理。。
第一层数据流图如图3.2所示。
图3.2第一层数据流图
第二层数据流图分析了库存管理、销售管理、设备管理的具体的数据流图。更清晰的体现系统的逻辑功能。
如图3.3所示。
图3.3.1库存信息管理 第二层数据流图
图3.3.2销售信息管理 第二层数据流图
图3.3.3设备任务信息管理 第二层数据流图
图3.3第二层数据流图
(二)数据字典
通过对系统数据流的分析,用数据字典描述数据流图中的数据元素、数据流、数据存储、处理过程和外部实体[6]。
数据字典是系统分析阶段的工具。数据字典中包含的每个数据元素的控制信息都是很有价值的,数据字典在数据库设计中占有很重要的地位。
数据字典通常包括以下6个部分:
(1)数据元素。数据元素是不可再分的数据单位。
(2)数据结构。数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干数据项和数据结构混合组成。
(3)数据流。数据流是数据结构在系统内传输的路径。
(4)数据存储。数据存储是数据及其结构停留或保存的地方,也是数据流的来源和去向之一。
(5)处理过程。处理过程的具体处理逻辑一般用判定表或判定树来描述。
(6)外部实体。外部实体是数据的来源和去向。
下面只列出本系统涉及的部分数据字典,如表3-1、3-2、3-3、3-4、3-5、3-6所示:
表3-1
表3-2
表3-3
表3-4
表3-5
表3-6
四、系统的总体结构设计
(一)系统功能模块结构设计
功能模块划分是描述系统的一个过程,需要将需求分析中的感性描述进行抽象,提取出要实现的功能,这是整个系统开发的一个关键过程[7]。在系统分析的基础上,确定了系统的功能结构图。
生产信息管理系统功能结构图如图4.1所示:
图4.1系统功能模块图
- 基础资料信息管理模块:对原材料、外购件、半成品、仓库、负责人的基本信息进行管理。
- 库存信息管理模块:仓库管理员对仓库的基本信息进行管理。包括入库、出库、转库等信息的管理。
- 设备任务信息管理模块:计划管理员对设备的基本信息、设备的任务、生产产品的质量进行管理。
- 销售信息管理模块:能够对销售情况进行详细查询,对订单信息和客户详细信息查询、增加、修改。
- 用户管理模块:对用户信息进行增加、修改。
1.基础资料信息管理
此模块包括原材料、外购件、半成品、供应商、仓库、负责人的基本信息进行增加、修改、查询功能的操作。对基本信息进行初步的了解,便于进行采购、生产等业务的进行。
基础资料信息管理的功能结构图如图4.2所示:
图4.2基础资料信息管理功能结构图
2.库存信息管理
此模块包括库存统计、入库管理、出库管理、转库处理四部分。仓库管理员对数据进行处理。进行库存的查询、增加、修改。
库存信息管理功能结构图如图4.3所示:
图4.3库存信息管理功能结构图
3.车间设备信息管理
此模块包括:设备基本信息、设备状态信息、设备任务信息。对设备基本信息、状态情况(有任务、无任务、坏)进行增加、修改、查询。对每个设备的生产任务进行管理。生产任务的数量,完成数量,产品质量的管理。
车间设备信息管理功能结构图如图4.4所示:
图4.4车间设备管理功能结构图
4.销售信息管理
此模块主要包括产品销售、产品销售退货、订单和客户资料管理。销售管理员对订单、销售信息、客户信息进行增加、修改、查询功能的操作。
产品销售管理功能结构图如图4.5所示:
图4.5产品销售管理功能结构图
5.用户管理
系统管理员可以查看所有用户信息,并进行修改,添加用户功能。计划管理员、库存管理员、销售管理员则只有对用户的密码进行修改的功能。
图4.6 用户管理功能结构图。
(二)设计思想
针对龙城重型机械厂的业务需求,建设一个符合龙城重型机械厂业务处理流程的生产信息管理系统是本系统设计的目标。系统采用结构化分析方法(Structured Method),利用Browser/Server(B/S)结构,通过对业务流程的信息化管理,来提高业务管理的工作的效率。
(三)数据库设计
数据库是本系统的核心和基础,而数据是一切设计的基础。数据库设计的不合理、不完善,会给系统开发,后期的维护,功能的扩充带来很多问题[8]。因此,一个好的数据库结构和文件设计是非常重要的,尽量使系统在已有的条件下具有处理速度快、占用存储空间少、操作处理过程简单、查找容易等特点。
E-R图符号表示:
(1)矩形框:表示实体类型(考虑问题的对象);
(2)菱形框:表示联系类型(实体间的联系);
(3)椭圆形框:表示实体类型和联系类型的属性;
(4)直线:联系类型与涉及的实体类型之间以直线连接,并在直线部标上联系的种类(1:1,1:N,M:N) [9]。
1.数据库概念模型
通过需求分析以及对数据库信息的分析,设计出满足系统的实体以及相互关系。根据上面的分析,得到的实体。
下面是各个实体的ER图:
(1)用户实体属性图,如图4.7
图4.7 用户实体属性
(2)原材料实体属性图,如图4.8
图4.8 原材料实体属性图
(3)外购件实体属性图,如图4.9
图4.9 外购件实体属性
(4)半成品实体属性图,如图4.10
图4.10半成品实体属性
(5)客户实体属性图,如图4.11
图4.11客户实体属性
(6)仓库实体属性图,如图4.12
图4.12部门(仓库)实体属性
(7)设备实体属性图,如图4.13
图4.13设备实体属性
(8)订单实体属性图,如图4.14
图4.14订单实体属性
对实体之间的依赖关系进行了整合,形成系统E-R图[10]。如图4.8
图4.21 实体间关系E-R图
2.数据库逻辑结构的设计
对数据库中实现具体表的详细设计。即各数据库表的字段名、类型、长度等信息进行了详细的描述[11]。根据系统E-R图,系统数据表设计如下:
- 客户(客户编号,客户名称,客户类型,联系电话,Email,联系人,地址,备注)
- 订单(课订单编号,客户名称,产品名称,订货日期,发货日期,数量,经手人)
- 销售信息(销售编号,产品名称,仓库名,数量,日期,经手人,客户)
- 入库信息(入库编号,产品名称,仓库名称,数量,经手人,日期,入库类型)
- 出库信息(出库编号,产品名称,仓库名称,数量,经手人,日期)
- 库存信息(库存编号,名称,仓库,数量,类型)
- 部门(部门编号,部门名称,电话,地址,类型,联系人)
- 设备(设备编号,设备名称,供应商,购买日期,部门,状态)
- 计划(计划编号,产品名,合格,报废,设备名,日期)
- 产品(产品编号,名称,部门,备注)
- 原材料(原材料编号,名称,供应商,备注)
- 用户表(用户编号,用户名,用户密码,权限)
3.数据表设计
数据表的建立是应用程序开发过程中的非常重要的一个环节,必须清楚每一模块要操纵的数据是那些,以及数据间的相互关系,然后建立数据表[12]。
本系统数据库名为works,包含以下14个表:管理员表、损坏表、客户表、部门表、半成品表、入库表、设备表、原材料表、订单表、出库表、计划表、销售表、外购件表、库存表。下面分别详细介绍以上各表:
数据库名称:works
数据表结构:
管理员表:如表4-1
表4-1 管理员表(admin)
字段名称 | 数据类型 | 字段大小 | 说明 |
Id | int | 4 | 管理员编号 |
Username | varchar | 50 | 管理员姓名 |
Password | varChar | 50 | 密码 |
depart | varChar | 50 | 权限 |
说明:管理员表是用来存放管理员的登录信息。
损坏表:如表4-2
表4-2损坏表(broken)
字段名称 | 数据类型 | 字段大小 | 说明 |
Id | int | 4 | 损坏编号 |
Name | varchar | 50 | 损坏的名称 |
Depart | varChar | 50 | 所属仓库 |
Num | varChar | 50 | 数量 |
date | varchar | 50 | 日期 |
说明:损坏表式存放设备的状态,即有任务、无任务、损坏三种状态。以便及时的进行报修和设备任务的调整,提高业务的处理效率。
客户表:如表4-3
表4-3 客户表(custom)
字段名称 | 数据类型 | 字段大小 | 说明 |
id | int | 4 | 客户编号 |
Name | varchar | 50 | 客户名称 |
Tel | varchar | 50 | 客户电话 |
| varchar | 50 | 客户邮件 |
Address | varchar | 50 | 客户地址 |
Manager | varchar | 50 | 联系人 |
Ctype | varchar | 50 | 客户类型 |
Others | varchar | 50 | 备注 |
说明:客户表存放的是客户的基本信息。此表便于了解客户的信息。
部门表:如表4-4
表4-4部门表(broken)
字段名称 | 数据类型 | 字段大小 | 说明 |
Id | int | 4 | 部门编号 |
Name | varchar | 50 | 部门名称 |
Address | varchar | 50 | 部门地址 |
Tel | varchar | 50 | 部门电话 |
Manager | varchar | 50 | 部门负责人 |
说明:部门(仓库)表存放的是部门的基本信息。以便了解库存信息。
半成品表:如表4-5
表4-5半成品表(half)
字段名称 | 数据类型 | 字段大小 | 说明 |
Id | int | 4 | 半成品编号 |
Name | varchar | 50 | 半成品名称 |
Depart | varchar | 50 | 所属仓库 |
Others | varchar | 50 | 备注 |
说明:半成品表存放的是半成品的基本信息。此表便于了解半成品的信息。
入库表:如表4-6
表4-6入库表(instore)
字段名称 | 数据类型 | 字段大小 | 说明 |
Id | int | 4 | 入库编号 |
Name | varchar | 50 | 物品名称 |
Depart | varchar | 50 | 入库仓库名称 |
Num | float | 50 | 入库数量 |
Manager | varchar | 50 | 负责人 |
Date | datetime | 50 | 入库日期 |
Type | varchar | 50 | 入库类型 |
说明:入库表存放的是物品入库的详细信息。此表便于了解物品的入库信息。及时的进行采购等业务的处理。
原材料表:如表4-7
表4-7原材料表(mater)
字段名称 | 数据类型 | 字段大小 | 说明 |
Id | int | 4 | 原材料编号 |
Name | varchar | 50 | 原材料名称 |
Custom | varchar | 50 | 供应商名 |
Others | varchar | 50 | 备注 |
说明:原材料表存放的是原材料的基本信息。此表便于了解原材料的信息。
订单表:如表4-8
表4-8订单表(orders)
字段名称 | 数据类型 | 字段大小 | 说明 |
Id | int | 4 | 订单编号 |
Name | varchar | 50 | 产品名称 |
Custom | varchar | 50 | 客户名称 |
Odate | varchar | 50 | 订货日期 |
Outdate | varchar | 50 | 发货日期 |
Manager | varchar | 50 | 负责人 |
说明:订单表存放的是订单的基本信息。此表便于了解客户下订单的基本内容,以及销售管理员对订单的处理情况。
出库表:如表4-9
表4-9出库表(outstore)
字段名称 | 数据类型 | 字段大小 | 说明 |
Id | int | 4 | 出库编号 |
Name | varChar | 50 | 产品名称 |
Depart | varChar | 50 | 所属仓库 |
Num | varChar | 50 | 出库数量 |
Manager | varChar | 50 | 负责人 |
Date | varChar | 50 | 出库日期 |
说明:出库表存放的是物品出库的基本信息。此表便于了解原材料、外购件、半成品的转库,出库的基本信息。
计划表:如表4-10
表4-10计划表(plans)
字段名称 | 数据类型 | 字段大小 | 说明 |
Id | int | 4 | 计划编号 |
Machs | varchar | 50 | 产品 |
Goods | varchar | 50 | 合格数 |
Broken | varchar | 50 | 报废数 |
Products | varchar | 50 | 生产设备 |
Date | varchar | 50 | 日期 |
说明:计划表存放的是设备生产任务的信息。此表便于了解设备生产任务的信息,生产产品的合格数,不合格的数量,及时的掌握生产出产品的情况。
销售表:如表4-11
表4-11销售表(sell)
字段名称 | 数据类型 | 字段大小 | 说明 |
Id | int | 4 | 销售编号 |
Name | varchar | 50 | 销售产品名 |
Depart | varchar | 50 | 所属仓库 |
Num | varchar | 50 | 销售数量 |
Manager | varchar | 50 | 销售负责人 |
Custom | varchar | 50 | 客户名称 |
Date | varchar | 50 | 销售日期 |
说明:销售表存放的是产品的销售信息。此表便于了解销售产品的基本信息。
外购件表:如表4-12
表4-12外购件表(Source)
字段名称 | 数据类型 | 字段大小 | 说明 |
Id | int | 4 | 外购件编号 |
Name | varChar | 50 | 外购件名称 |
Custom | varChar | 50 | 供应商 |
Others | varChar | 50 | 备注 |
说明:外购件表存放的是外购件的基本信息。此表便于了解外购件的信息,及时的进行外购件采购,转库等业务的处理。
库存表:如表4-13
表4-13库存表(storeinfo)
字段名称 | 数据类型 | 字段大小 | 说明 |
Id | int | 4 | 库存编号 |
Name | varChar | 50 | 物品名称 |
Depart | varChar | 50 | 所属仓库 |
Num | varChar | 50 | 数量 |
Type | varChar | 50 | 类型 |
说明:库存表存放的是库存的基本信息。包括外购件、原材料、半成品的库存信息。
及时的显示库存信息,减少库存,使其业务顺利的进行。
通过需求分析和概念设计,得到了数据库的逻辑结构,就可以在SQL SERVER 2000数据库系统中实现该逻辑结构。
(四)系统开发技术和开发工具
1.软件开发技术
根据本系统的需求,采用了MVC模式下的Struts框架、Hibernate技术,Struts把Servlet,JSP,自定义标签和信息资源整合到一个统一的框架中,开发人员可以利用其进行开发时,不需要自己编码实现全套的MVC模式,从而大大节省了开发时间。Struts混合使用Servlets和JSP的优点建立可扩展的应用,Hibernate是一个免费的开源JAVA包,他使得与关系数据库打交道变得十分轻松,不必考虑如何从数据库表中取数据或是存储数据,只需专注与应用程序的对象和功能。
2.系统开发工具
本网站采用MyEclipse5.5作为开发工具。
MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,JavaScript,SQL,Hibernate。
它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
3.系统开发模式
根据特定的要求和实际工作情况,为确保系统的完整性、可维护性和安全性,该系统的开发是基本于WEB平台,采用先进B/S架构,如图4.9所示:
图4.9 B/S架构
B/S结构的优点:
(1)只需要在客户端安装浏览器软件即可(IE),不需安装客户端应用程序。
(2) 操作使用更加简单,方便。B/S结构的所有功能都在Web服务器上实现,简化了系统的开发和维护[13]。
(3)减少开发成本。
五、系统详细设计
(一)人机界面设计
本系统主要是生产信息的管理系统,主要包括基础资料管理,库存信息管理,入库信息管理,出库信息管理,车间设备管理,产品销售信息管理,用户管理。可以进行灵活的增加、删除、修改、查询功能。通过应用本系统可以提高业务工作管理效率。
系统运行界面如图5.1所示:
图5.1系统运行界面
1.添加用户模块的设计
在系统的右上角会显示登录的用户类型:系统管理员。系统管理员可以对系统的所有功能进行操作。另外还有库存管理员、计划管理员、销售管理员。每个用户都有自己的操作权限。用户管理模块只有系统管理员能够操作,以保证信息的安全性、完整性。其他管理员只能进行其密码的修改[14]。
如图5.2所示:
图5.2添加用户运行界面
2.原材料模块的设计
本页面存放的是原材料的基本的信息,原材料的增加、修改、删除、查询的功能按钮。点击可进入相应页面,进行相关操作。
此外基础资料管理模块总的外购件信息、半成品信息、供应商信息、仓库信息也具有增加、修改、删除、查询的功能。
3.库存管理功能的设计
- 库存信息列表
显示所有库存产品的信息。使管理员清晰的了解库存情况,及时的进行业务的处理。
- 库存统计信息
将库存的信息进行统计,清晰的了解一段时期内的库存情况。
- 库存查询
按条件查询原材料、外购件、半成品的信息。在最短的时间内了解需要的信息。
- 转存处理
此模块是显示转存处理的信息,仓库管理员可以在此模块中,对原材料转入车间仓库、仓库和仓库之间的转存进行信息的处理。
- 报损信息处理
此模块是对设备的状况进行登记,是否损坏,以便生产时对设备的任务分配。
如图5.3所示
5.3损坏信息列表运行界面
4.入库管理功能的设计
- 新增入库
此模块是仓库管理员添加入库的基本信息。
- 入库信息列表
此模块是将入库的原材料、外购件、半成品生成列表,以便管理者了解入库情况。对其进行修改、删除功能。
如图5.4所示:
5.4入库信息列表运行界面
- 入库信息查询
此模块是对入库的原材料、外购件、半成品的信息进行查询。
5.出库管理功能的设计
- 新增出库
此模块是仓库管理员添加出库的基本信息。
- 出库信息列表
此模块是将出库的原材料、外购件、半成品生成列表,以便管理者了解入库情况。对其进行修改、删除功能。
- 出库信息查询
此模块是对出库的原材料、外购件、半成品的信息进行查询。
6.车间设备管理功能的设计
- 设备信息管理
此模块是对设备基本信息的管理,对设备的新增、查询、以及一些基本信息操作。
如图5.5所示:
5.5设备信息列表运行界面