数据流程分析
1)现行系统的顶层数据流程图如图2-5所示。对顶层图中的数据流“l,2,3,
1 仓库管理 2 3 4
图2-5 顶层DFD
“1”:车间产品入库单。
“
“
“4”:仓库制作的产品库存收发存月报表。
3)第二层数据流程图如图2-6所示。
7 10 D2零售出库帐 P1 登记入库帐 P2 登记零售出账 P4 登记仓库台帐 P5 制作收发存月报表 P3 登批发出库帐 D4仓库台帐 F21 12 F31 5 6 9 8 D1入库帐 D3批发出库帐 统计报表 月报表 1 F11 11
图2-6
现对图2-6中的数据流说明如下:
“l,2,3,
“5”:产品入库单上的数据。
“6”:零售出库单上的数据。
“7”:批发出库单上的数据。
“8”:入库流水帐上的当日按产品名称、规格分别累计的数据。
“9”:零售出库流水帐上的当日按产品名称、规格分别累计的数据。
“10”:批发出库流水帐上的当日按产品名称、规格分别累计的数据。
“11”:获得的“8,9,
“12”:库存台帐上的当月按产品名称、规格分别累计的数据和其它加工处理后的数据。
(1)数据流字典
a. 数据流名称:产品入库单 标识符:F1
数据结构:
01产品入库单
02 ID (标识:是(不用于复制)标识种子:1
标识递增量:1)
02生产单号 ( shengchandanhao)
02产品编号 (chanpingbianhao)
02产品名称 (chanpingmingcheng)
02规格型号 (guigexinghao)
02单位 (danwei)
02入库数量 (rukushuliang)
02入库时间 (rukushijian)
02备注 (jianjie)
排列方式:按ID号升序排列
流量:最大 50张/日
平均30张/日
来源:生产车间
去向:产品入库处理
b. 数据流名称:产品出库单 标识符:F2
数据结构:
01产品出库单
02 ID (标识:是(不用于复制)标识种子:1
标识递增量:1)
02产品编号 (chanpingbianhao)
02产品名称 (chanpingmingcheng)
02规格型号 (guigexinghao)
02单位 (danwei)
03零售出库数量 (lchukushuliang)
03批发出库数量 (pchukushuliang)
02出库时间 (rukushijian)
03备注 (jianjie)
排列方式:按ID号升序排列
流量:最大:70张/日
平均:50张/日
来源:销售部
去向:产品出库处理
c. 数据流名称:仓库产品收发存月报表标 标识符:F3
数据结构:
01收发存月报表
02 ID (标识:是(不用于复制)标识种子:1
标识递增量:1)
02产品编号 (chanpingbianhao)
02产品名称 (chanpingmingcheng)
02规格型号 (guigexinghao)
02单位 (danwei)
02本月累计入库数量 (yrukushuliang)
02本月累计零售数量 (ylchukushuliang)
02本月累计批发数量 (ypchukushuliang)
02剩余数量 (leashuliang)
02月报表生成日期 (yshijian)
排列方式:按ID号升序排列
流量:最大:1份/月
平均:1份/月
来源:仓库统计分析
去向:主管部门
其它中间过程的数据流描述省略。
(2)数据存储字典
a. 存储文件名:产品入库流水帐 标识符:D1
数据结构:
01本品入库帐
02 ID (标识:是(不用于复制)标识种子:1
标识递增量:1)
02产品编号 (chanpingbianhao)
02产品名称 (chanpingmingcheng)
02规格型号 (guigexinghao)
02单位 (danwei)
02入库数量 (rukushuliang)
流入的数据流:产品入库单(F1)
流出的数据流;
涉及的处理名:入库处理、记库存台帐
排列方式:按ID号升序排列
b. 存储文件名:库存台帐 标识符:D4
数据结构:
01库存台帐
02 ID (标识:是(不用于复制)标识种子:1
标识递增量:1)
02产品编号 (chanpingbianhao)
02产品名称 (chanpingmingcheng)
02规格型号 (guigexinghao)
02单位 (danwei)
02本月累计入库数量 (yrukushuliang)
02本月累计零售数量 (ylchukushuliang)
02本月累计批发数量 (ypchukushuliang)
流入的数据流:11
流出的数据流:收发存月报表
涉及的处理名:登记库存台帐、制月报表
排列方式:按ID号升序排列
其它存储文件的描述省略。
(3) 处理描述
a. 处理名:登记入库帐 标识符:P1
输入:数据流F1
输出:数据流 F5
处理定义:
当一张入库单上的数据检验合格,并且产品实物入库后,立即将这张入库单上的数据登入产品入库流水帐。
激发条件:产品入库发生
b. 处理名:登记库存台帐 标识符:P4
输入:出入库流水帐上的当日数据
输出:登记入库存台帐上的数据
处理定义:
对出入库流水帐上当日发生的数据,按产品代码分别进行入库累计、零售出库累计和批发出库累计计算。然后将当天的日期、产品代码和累计结果等填入库存台帐的相应栏内。
激发条件:每日过帐处理
c. 处理名:制作收发存月报表 标识符:P5
输入:取自库存台帐的数据
输出:填入输出报表中的统计数据
处理定义:
对库存台帐本月发生的出入库数据,分别按产品代码进行累计,一种代码代表的产
品累计值即为输出报表中的一行。
计算公式:
工业产值(不变价)=∑Si*Ji
工业产值(现行价)= ∑Si*Ji1
其中:Si——产品代码为i的产品本月入库量计量
Ji——产品代码为i的产品不变价
Ji1——产品代码为i的产品现行价
激发条件:每月制作库存报表
系统中的另外几个加工处理描述省略。
在数据库中各种信息均以表的形式存储。下面是对各个表的设计:
1. 管理员信息表:
字段名称 |
数据类型 |
字段长度 |
允许空 |
字段说明 |
username |
varchar |
50 |
否 |
用户名 |
password |
varchar |
50 |
否 |
密码 |
2. 仓库基本信息表的设计:
字段名称 |
数据类型 |
字段长度 |
允许空 |
字段说明 |
ID |
int |
4 |
否 |
自动生成 |
chanpingbianhao |
varchar |
50 |
是 |
产品编号 |
chanpingmingcheng |
varchar |
50 |
否 |
产品名称 |
guigexinghao |
varchar |
50 |
是 |
规格型号 |
danwei |
char |
10 |
是 |
单位 |
shuliang |
int |
4 |
是 |
数量 |
leashuliang |
int |
4 |
是 |
剩余数量 |
chanpinglei |
varchar |
50 |
是 |
产品类 |
jianjie |
varchar |
50 |
是 |
备注 |
2. 入库基本信息表的设计:
字段名称 |
数据类型 |
字段长度 |
允许空 |
字段说明 |
ID |
int |
4 |
否 |
自动生成 |
shengchandanhao |
varchar |
50 |
是 |
生产单号 |
chanpingbianhao |
varchar |
50 |
是 |
产品编号 |
chanpingmingcheng |
varchar |
50 |
否 |
产品名称 |
guigexinghao |
varchar |
50 |
是 |
规格型号 |
danwei |
char |
10 |
是 |
单位 |
rukushuliang |
int |
4 |
是 |
入库数量 |
rukushijian |
varchar |
50 |
是 |
入库时间 |
chanpinglei |
varchar |
50 |
是 |
产品类 |
jianjie |
varchar |
50 |
是 |
备注 |
3. 出库基本信息表:
字段名称 |
数据类型 |
字段长度 |
允许空 |
字段说明 |
ID |
int |
4 |
否 |
自动生成 |
shengchandanhao |
varchar |
50 |
是 |
生产单号 |
chanpingbianhao |
varchar |
50 |
是 |
产品编号 |
chanpingmingcheng |
varchar |
50 |
否 |
产品名称 |
guigexinghao |
varchar |
50 |
是 |
规格型号 |
danwei |
char |
10 |
是 |
单位 |
lchukushuliang |
int |
4 |
是 |
零售数量 |
pchukushuliang |
int |
4 |
是 |
批发数量 |
chukushijian |
varchar |
50 |
是 |
出库时间 |
chanpinglei |
varchar |
50 |
是 |
产品类 |
jianjie |
varchar |
50 |
是 |
备注 |
4. 产品类别信息表:
字段名称 |
数据类型 |
字段长度 |
允许空 |
字段说明 |
ID |
int |
4 |
否 |
自动生成 |
chanpinglei |
varchar |
50 |
是 |
产品类名 |
仓库管理信息系统E-R图如2-7图
图2-7
E-R模型转换为关系模型的一般转换规则
1) 实体类型的转换:将每个实体类型转换为一个关系模式,实体的属性即为关系模式的属性,实体标志符即为关系模式的键。
2) 联系类型的转换:根据不同的情况做不同的处理:
a) 若实体间的联系是1:1的,可以在两个实体类型转换成的两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。
b) 若实体间的联系是1:N的,可以在N端实体类型转换成的关系模式中加入1端实体类型转换成的关系模式的键和联系类型的属性。
c) 若实体间的联系是M:N的,可以将联系也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。
E-R模型转换为关系模型
根据E-R模型转换成关系模型的规则,可以将该ER模型转换成关系模式,具体如下:
管理员(用户名、密码)
仓库(ID、产品编号#、产品名称#、规格型号#、单位#、数量、剩余数量、产品类#、备注)
入库(ID、生产单号、产品编号#、产品名称#、规格型号#、单位#、入库数量、入库时间、产品类#、备注)
出库(ID、产品编号#、产品名称#、规格型号#、单位#、零售数量、批发数量、出库时间、产品类#、备注)
产品类(ID、产品类名#)
注:属性中加下划线的是主键,加#的是外键。
管理员帐号密码表:
CREATE TABLE [login] (
[username] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[password] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
仓库基本信息表:
CREATE TABLE [cangku] (
[ID] [int] IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL ,
[chanpingbianhao] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[chanpingmingcheng] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[guigexinghao] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[danwei] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[shuliang] [int] NULL ,
[leashuling] [int] NULL ,
[chanpinglei] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[jianjie] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_cangku] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
GO
入库基本信息表:
CREATE TABLE [ingoods] (
[ID] [int] IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL ,
[shengchandanhao] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[chanpingbianhao] [int] NULL ,
[chanpingmingcheng] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[guigexinghao] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[danwei] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[rukushuliang] [int] NULL ,
[rukushijian] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[jianjie] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_ingoods] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
GO
出库基本信息表:
CREATE TABLE [outgoods] (
[ID] [int] IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL ,
[chanpingbianhao] [int] NULL ,
[chanpingmingcheng] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[guigexinghao] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[danwei] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[lchukushuliang] [int] NULL ,
[pchukushuliang] [int] NULL ,
[chukushijian] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[chanpinglei] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[jianjie] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_outgoods] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
GO
产品类别信息表:
CREATE TABLE [chanpinglei] (
[ID] [int] IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL ,
[chanpinglei] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_chanpinglei] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
) ON [PRIMARY]
GO
本仓库管理信息系统的设计目标是为仓库管理员提供一个快速方便的仓库管理的系统。本系统以信息查询添加修改删除功能为主,为统计分析组提供依据。系统设计遵循以下原则:
1、稳定性和可靠性原则,系统必须稳定可靠,能够处理用户的非法操作;
2、实用性原则,系统的实用性是系统文护运行和创造效益的前提,是系统建设的主要目标;
3、友好性原则,系统的友好性是指界面的美观和使用的方便程度,主要体现在:界面美观,布局合理,符合用户的操作习惯,操作容易;
4、可文护性原则,为适应未来系统需求的变化,系统应具有较好的可文护性,以便系统文护人员能够很方便的做到以下几个方面:增加新的功能;对人机界面进行适当的调整:可对系统作适当修改以适应体制的变化;在系统遭破坏时能够快速地实现系统的恢复;
5、可扩充性原则,系统应具有良好的可扩充性,如新型硬件设备的增加、新应用功能的增加等,能够方便地将新的应用纳入本系统中。
页面模块化
本系统把页面中的一些常用的部分集成为模块,例如页面的头部和尾部,这样设计新的页面时如果有重复出现的部分,只需要拿现成的模块来组装就可以了。
采用MVC模式
本系统考虑到开发的效率,文护的可能性和扩展的方便性,就用了MVC标准模式,这个模式经过多年的应用经验积累,已经被广泛采纳接受。MVC模式有三个部分组成。
(1) Model 数据层:应用系统的数据存放。
(2) View 表示层:Model中的存储数据的可视化表示。
(3) Control控制层: 接受用户的输入,通知Model发生的事件。
JSP,Servlets和JavaBean分别对应了MVC的三个部分。
(1) Model 数据层:全部封装于JavaBean组件中。
(2) View 表示层:由JSP负责处理页面的表示。
(3) Control 控制层:Servlets 接受用户在页面的输入以及提交动作,并根据动作提示,进行相应的业务处理,调用相应的JavaBean组件,然后根据处理结果交给相应的View表示层JSP程序,由他们负责表示。
MVC的优点表现在以下几个方面:
(1) 可以为一个模型在运行时同时建立和使用多个视图。变化-传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。
(2) 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。
(3) 模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。
(4) 潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅是用在设计界面的设计中。
上一页 [1] [2] [3] [4] [5] [6] 下一页