仓库管理系统概要设计.docx
《仓库管理系统概要设计.docx》由会员分享,可在线阅读,更多相关《仓库管理系统概要设计.docx(27页珍藏版)》请在冰豆网上搜索。
仓库管理系统概要设计
仓库管理系统概要设计
1.
引言
1.1编写目的
在本仓库管理系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在需求规格说明书中得到详尽的叙述及阐明。
本阶段是在系统的需求分析的基础上,对仓库管理系统做一个概要设计,主要解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分为若干个模块、决定各个模块之间的接口、模块之间的传递信息,以及数据结构、模块结构的设计等。
在以下的概要设计报告中将对本阶段中对系统所在的概要设计进行详细的说明。
在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对仓库管理系统所做的模块结构设计的基础上,对系统进行详细设计。
在以后的软件测试以及软件维护阶段也参考此说明书,以便于了解概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段的不足或错误。
1.2项目背景
1.2.1软件的开发名称
仓库管理系统
1.2.2本项目与其它软件或系统的关系
本系统与超市的收银系统中商品的编码必须保持一致。
1.3术语定义
表1-1术语定义或解释表
术语
术语定义
软件架构
软件系统的总体逻辑结构。
按照不同的设计方法,有不同的总体逻辑结构。
若采用面向功能或面向数据的设计方法,总体逻辑结构为一树形的功能模块结构图。
若采用面向对象或面向部件(构件)的设计方法,总体逻辑结构为部件(构件)的组装图。
外部接口
本软件系统与其他软件系统之间的接口,接口设施可以是中间件。
接口描述包括:
传输方式、带宽、数据结构、传输频率、传输量、传输协议
数据结构
数据结构包括:
数据库表的结构、其他数据结构等
概念数据模型
关系数据库的逻辑设计模型,叫做概念数据模型。
主要包括一张逻辑E-R图及相应的数据字典
物理数据模型
关系数据库的物理设计模型,叫做物理数据模型。
主要包括一张物理表关系图及相应的数据字典
视图
在基本表或其他视图之上建立的一张虚表,叫做视图,它具有物理表的许多性质,在数据处理和授权上很有用
角色
数据库中享有某些特权操作的用户,叫做角色。
角色的权利通过授权来实现
用例
用例是系统、子系统或类和外部参与者交互的动作序列的说明,包括可选的动作序列和会出现异常的动作序列。
子系统
具有相对独立功能的小系统叫做子系统。
一个大的软件系统可以划分为多个子系统,每个子系统可由多个模块或多个部件组成
模块
具有功能独立,能被调用的信息单元叫做模块。
模块是结构化设计中的概念
内部接口
软件系统内部各子系统之间、各部件之间、各模板之间的接口,叫做内部接口。
接口描述包括:
调用方式、入口信息、出口信息等。
相关文件
相关文件是指当文本内容变更后,可能引起变更的其他文件。
如需求分析报告、详细设计说明书、测试计划、用户手册
参考资料
参考资料是指本文件书写时用刀的其他资料。
如各种有关规范、模板、标准、准则
1.4参考资料
1.4.1项目计划任务书
本项目的计划任务书
1.4.2合同书
项目组跟客户签订的合同书
1.4.3上级机关批文
项目组已经拿下的批文
1.4.4项目开发计划
本项目组的开发计划
1.4.5需求规格说明书
本组成员已经写好的需求规格说明书
1.4.6测试计划(初稿)
项目组已经提出的测试计划
1.4.7用户操作手册(初稿)
项目组完成的用户操作手册
1.4.8本文档中引用的资料
1.书名:
《软件工程》
出版:
机械工业出版社
主编:
周志刚
2.书名:
《使用软件工程》
出版:
电子工业出版社
主编:
赵池龙孙伟杨林编著
3.书名:
《数据库系统概论》
出版:
高等教育出版社
主表:
王珊萨师煊
2.
任务概述
2.1目标
(1)建立超市仓库系统
(2)规范超市仓库的管理工作模式
用计算机管理取代以往的手工作业和定性管理模式,使超市仓库的管理工作模式规范化、机读数据格式标准化、管理决策科学化。
(3)建立标准货物数据库
根据不同货物的不同性质对货物进行合理的调配
(4)提高超市仓库管理的工作效率
仓库管理员只需要通过查询就可以清楚的知道都有哪些货物入库,库存量是多少,存在哪个位置,准确了解货物的基本信息。
(5)为超市管理人员提供准确的信息
超市管理人员通过货物困存量查询可以准确地掌握仓库不同货物的库存情况;通过日报表,月报表查询,可以全面了解消费者的需求,及时调整采购计划;此外,本系统还提供了警报系统,当货物的库存量低于库存下限时,系统就会自动发出警报,提醒工作人员应该补充该货物了
2.2需求概述
用户管理:
为所有用户提供用户登录功能;
为系统管理员提供了添加用户和删除用户的功能;
入库管理:
为仓库管理员提供了查询、添加货品入库信息的功能;
为超市主管提供修改入库信息功能;
出库管理:
为仓库管理员提供了查询、添加货品出库信息的功能;
为超市主管提供修改出库信息;
货品信息管理:
为采购员和仓库管理员提供了查询货品信息的功能;
为采购员提供了添加货品信息,修改货品信息功能;
供应商信息管理:
为超市主管,采购员提供了查询供应商信息的功能;
为采购员提供了添加,修改供应商信息的功能;
库存统计:
为所有仓管、采购员、超市主管提供库存查询的功能;
为超市主管、采购员日报表和月报表查询的功能;
为采购员提供库存警报;
3.
总体设计
首先来说B/S和C/S两种软件体系结构
C/S是Client/Server指客户机和服务器,在客户机端必须装客户端软件及相应环境后,才能访问服务器(胖客户端)。
C/S的优点:
能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。
对应的优点就是客户端响应速度快。
C/S的缺点主要有以下几个:
只适用于网速较快的网络环境如:
局域网;客户端需要安装专用的客户端软件及运行环境。
首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。
特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。
还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
B/S最大的优点:
可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能上网的电脑就能使用,客户端零维护。
B/S架构的软件对一个稍微大点单位来说,系统管理人员不需要在几百甚至上千部电脑之间来回奔跑,只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的或者说不擅长的。
与操作系统平台关系最小。
B/S架构的软件系统的扩展非常容易,只要能上网,系统管理员分配一个用户名和密码,还可以在线申请。
B/S模式结构如图3-1。
图3-1B/S模式结构
考虑到超市管理系统的维护成和其扩展性本以及超市本身的规模,(一般较大的超市都在不同的地方会有分店),本超市仓库管理系统采用目前流行的B/S(Browser/Server,浏览器/服务器)的软件架构体系,以微软公司的.NET为开发平台,以ASP.NET和C#为开发语言,以SQLServer2005为后台数据库,采用三层构架模式,即客户机/事务处理器/数据库服务器的模式。
所谓三层体系结构,是在客户端与数据库之间加入了一个”中间层”,也叫组件层。
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。
通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。
在多层分布式应用中,在客户端和服务器之间加入了一层或多层应用服务程序,这种程序称为“应用服务器”。
开发人员可以将应用的商业逻辑放在中间层应用服务器上,把应用的业务逻辑与用户界面分开。
在保证客户端功能的前提下,为用户提供一个简洁的界面。
这意味着如果需要修改应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。
从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了应用系统的开发、更新和升级工作。
图3-2三层体系结构
B/S模式的系统,数据维护方便客户端无需专用的软件,有较好的网络扩展性,支持TCP/IP协议直接接入Internet。
同时对于B/S模式而言,程序和数据的物理位置已经不再是那么重要了,访问者所关心的只是它们的URL就可以了。
在三层B/S体系结构中,数据及应用可通过不同平台、不同网络存取,与平台无关,伸缩性大,而且数据计算与处理集中在中间的功能层,而这一层的服务器性能易于提升,因而我们相信这种三层B/S模式能够满足我们的需求。
3.1处理流程
本系统中系统流图如图3-3所示。
图3-3仓库管理系统的“系统流程图”
3.2用例图
用例图又叫做用况图,用于定义系统的行为、展示角色(系统的外部实体,既参与者)与用例(系统执行的服务)之间的相互作用。
用例如实需求和系统行为的高层模型,它以图形化的方式描述外部实体对系统功能的感知。
用例图从用户的角度来组织需求,每个用例描述一个特定的任务。
根据需求规格说明书的描述,本系统的用例图如图3-4所示。
图3-4仓库管理系统用例图
根据不同用户的权限不同,他们所拥有的功能也不一样,在本系统中,系统管理员的权限为1,他可以审核新用户和删除用户。
当超市新增相关工作人员时,系统管理员可以对新用户的注册申请进行审核,规定他的权限。
当超市相关人员离职时,系统管理员可以删除该用户。
超市主管的权限为2,他拥有的功能包括:
用户登录、库存查询、报表查询、供应商信息查询、修改入库单、修改出库单信息。
入库单、出库单信息是有仓库管理员录入,但不可避免会存在输入错误,这时不允许仓库管理员随便修改,必须经过相关的处理程序,报由上面批准后由超市主管来行使修改的权力。
仓库管理员的权限为3,他拥有添加货品入库、出库信息;查询货品入库、出库信息、货品信息、库存信息的功能。
采购员的权限为4,他用户添加货品、供应商信息;修改货品、供应商信息;查询货品、供应商、报表、库存、库存警报的功能。
3.3总体结构设计
仓库管理系统主要由用户管理、入库管理、出库管理、货品管理、供应商管理、库存统计模块组成。
仓库管理系统的功能模块图如图3-5。
图3-5仓库管理系统的功能模块图
3.4模块功能
1)用户管理模块
用户管理模块为所有用户提供登录功能;为系统管理员提供审核新用户、删除用户的功能。
当超市有新成员加入,根据其信息,系统管理可以同意注册信息,或拒绝注册申请,当公司用人离职,系统管理员可以删除用户。
其具体处理流程如图3-6所示。
图3-6用户管理处理流程图
2)入库管理模块
入库管理模块为仓库管理员提供添加货品入库信息、查询货品入库信息,为超市主管提供了修改货品入库信息的功能。
仓库管理员难免有操作失误的时候,但基于安全考虑,如果要修改,必须向上级提出申请,由超市主管行使修改稿货品入库信息的权力。
其具体处理流程如图3-7所示。
图3-7入库管理处理流程
3)出库管理模块
出库管理模块为仓库管理员提供添加货品出库信息、查询货品出库信息,为超市主管提供了修改货品出库信息的功能。
仓库管理员难免有操作失误的时候,但基于安全考虑,如果要修改,必须向上级提出申请,由超市主管行使修改稿货品出库信息的权力。
其具体处理流程如图3-8所示。
图3-8出库管理处理流程
4)货品管理模块
货品管理模块为采购员提供了添加货品信息、修改货品信息的功能以及查询货品信息的功能,为仓库管理员提供了查询货品信息的功能,因为仓库管理员在输入货品入库信息的时候必须把相关的货品编号输入,而货品现实的送货单中并没有编号,这个编号是超市内部统一规定的,所以仓库管理员还需要查询相关货品的编号。
其具体的处理流程如图3-9所示。
图3-9货品管理处理流程
5)供应商管理
供应商管理模块为采购员提供了添加供应商信息、修改供应商信息的功能以及查询供应商信息的功能,为超市主管提供了查询供应商信息的功能。
其具体的处理流程如3-10所示。
图3-10供应商信息管理处理流程
6)库存统计模块
库存统计模块为超市主管提供了库存查询、日报表、月报表查询的功能;为仓库管理员提供了库存查询的功能;为采购员提供了库存查询、日报表、月报表查询的功能以及库存警报的功能,当某一货品的库存量低于该货品的下限值时,系统将自动发出警报,提醒采购员及时补货。
其处理流程如下:
3.5功能分配
模块
功能
用户管理
用户登录、注册申请、审核新用户、删除用户
入库管理
添加货品入库信息、修改货品入库信息、查询货品入库信息
出库管理
添加货品出库信息、修改货品出库信息、查询货品出库信息
货品管理
添加货品信息、修改货品信息、查询货品信息
供应信息商管理
添加供应商信息、修改供应商信息、查询供应商信息
库存统计
货品库存查询、库存警报、日报表查询、月报表查询
4.
接口设计
4.1外部接口
●用户界面
在用户界面部分,根据需求分析的结果,用户需要一个对于用户友善的界面。
在界面设计上,应做到简单明了,易于操作,并且注意到界面的布局。
总的来说,系统的用户界面应做到可靠、简单、易学习和使用。
●软件接口
服务器程序课使用VS提供的对SQLSEVER的接口,对数据库的所有访问。
服务器程序上课使用SQLSEVER的对数据库的备份命令,以做到对数据库的备份保存。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。
●硬件接口
在输入方面,对于键盘、鼠标的输入,可用VISUALC#的标准输入/输出,对输入进行处理。
在输出方面,打印机的连接及使用,也可使用VISUALC#的标准输入/输出对其进行处理。
在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。
4.2内部接口
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。
具体参数的结构将在下面的数据结构设计的内容中说明。
接口传递的信息将使以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
5.数据结构设计
5.1概念结构设计
1.仓库管理系统总的E-R图如图5-1所示。
图5-1仓库管理系统E-R图
5.2逻辑结构设计
1.下面把上面的E-R图转换为关系模型。
关系的码用下划线标出。
实体用户对应的关系模式如下:
用户(用户名、密码、权限)
实体仓库对应的关系模式如下:
仓库(仓库编号、仓库名、仓管姓名、备注)
实体供应商对应的关系模式如下:
供应商(供应商名称、地址、联系电话、联系人、备注)
实体商品对应的关系模式如下:
商品(商品编号、商品名、规格、单位、单价、条码、库存下限值、备注)
联系“入库”所对应的关系模式如下:
入库单(入库单编号、供应商名称、货品编号、仓库编号、单位、数量、单价、金额、入库时间、制单人、备注)
联系“出库”所对应的关系模式如下:
出库单(出库单编号、货品编号、仓库编号、数量、单价、出库时间、制单人、备注)
2.定义视图
可以在关系模式入库单上建立视图:
入库(入库单编号、供应商名称、入库时间、制单人、备注)
可以在关系模式入库单上建立视图:
出库(出库单编号、出库时间、制单人、备注)
可以在关系模式入库单、出库单上建立视图:
库存(仓库编号、货品编号、库存量)
5.3物理结构设计
物理结构的设计主要包括各个表的设计,表的设计包括字段名、字段类型长度、该属性是否允许空值、是否为主码、是否为索引项。
表1-6中,详细列出了仓库管理系统数据库中各表的属性设计情况。
表1:
用户信息表t_user
字段名
字段类型
是否为空
主码/索引项
说明
Username
Char(20)
N
主码
用户名
Password
Char(20)
N
索引项
密码
limit
int
N
索引项
权限
表2:
仓库信息表t_store
字段名
数据类型
是否为空
主码/索引项
说明
S_id
Char(20)
N
主码
仓库编号
S_name
Char(20)
N
索引项
仓库名称
C_name
Char(20)
N
外码
仓管姓名
S_remarks
Varchar(100)
Y
索引项
备注
表3:
供应商信息t_provider
字段名
数据类型
是否为空
主码/索引项
说明
P_name
Char(50)
N
主码
供货商名称
P_address
VarChar(80)
N
索引项
供货商地址
P_tel
Char(30)
N
索引项
供货电话
P_pname
Char(20)
N
索引项
供货商联系人
p_remarks
varChar(100)
Y
索引项
供货商备注
表4:
货品信息表t_goods
字段名
数据类型
是否为空
主码/索引项
说明
G_id
Char(20)
N
主码
商品编号
P_id
Char(50)
N
外码
供应商名称
G_name
Char(50)
N
索引项
商品名称
G_norms
Char(20)
N
索引项
规格
G_unit
Char(8)
N
索引项
单位
G_price
Float
N
索引项
单价
G_code
Char(20)
N
索引项
条码
G_lower
int
N
索引项
库存下限
G_remarks
Varchar(100)
Y
索引项
备注
表5:
入库单信息表t_input
字段名
数据类型
是否为空
主码/索引项
说明
I_id
int
N
主码
入库单编号
P_id
Char(50)
N
外码
供应商名称
G_id
Char(20)
N
外码
货品名称
S_id
Char(20)
N
外码
仓库编号
G_unit
Char(8)
N
索引项
单位
I_number
int
N
索引项
数量
G_price
Float
N
索引项
单价
G_money
Float
N
索引项
金额
I_time
Date
N
索引项
入库时间
name
Char(20)
N
索引项
制单人
I_remarks
Varchar(100)
Y
索引项
备注
表6:
出库单信息表t_output
字段名
数据类型
是否为空
主码/索引项
说明
O_id
int
N
主码
出库单编号
G_id
Char(20)
N
外码
货品编号
S_id
Char(20)
N
外码
仓库编号
O_number
int
N
索引项
数量
G_price
Float
N
索引项
单价
O_time
Date
N
索引项
出库时间
username
Char(20)
N
索引项
制单人
O_remarks
Varchar(100)
Y
索引项
备注
本超市管理系统的物理数据模型如图5-2所示。
图5-2仓库管理系统物理数据模型
5.4数据结构与程序的关系
各模块与程序的关系如下表所示。
模块
使用的数据库表
用户管理模块
用户信息表(t_user)
入库管理模块
入库单信息表(t_input)、货品信息表(t_goods)、供应商信息表(t_provider)、
出库管理模块
出库单信息表(t_output)、货品信息表(t_goods)
货品管理模块
货品信息表(t_goods)、供应商信息表(t_provider)
供应商管理模块
供应商信息表(t_provider)
库存统计模块
货品信息表(t_goods)、入库单信息表(t_input)、出库单信息表(t_output)
6.
运行设计
客户机程序在输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。
在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接收服务器返回的信息。
接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出。
服务器程序的接收网络数据模块必须始终处于活动状态。
接收到数据后,调用数据处理/查询模块对数据库进行访问,完成后调用网络发送模块,将信息返回客户机。
6.1运行控制
运行控制将严格按照各模块间函数调用关系来实现。
在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。
在网络传送方面,客户机在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。
服务器在接收到数据后发送确认信号,在对数据处理、访问数据后,将返回信息送回客户机,并等待确认。
6.2运行时间
在软体的需求分析中,对运行的时间的要求为必须对做出的操作做出较快的反应。
网络硬件对运行的时间有最大的影响,当网络负载量大时,对操作的反应将受到很大的影响。
所以采用高速ATM网络,实现客户机与服务器之间的连接,以减少网络传输上的开销。
其次是服务器的性能,这将影响对数据库的访问时间即操作时间的长短,影响加大客户机操作的等待时间,所以必须使用高性能的服务器,建议使用PentiumIII处理器。
硬件对本系统的速度影响将会大于软件的影响。
7.
出错处理设计
7.1出错输出信息
程序在运行时主要会出现两种错误:
1.由于输入信息,或无法满足要求时产生的错误,称为软错误。
2.由于其他问题,如网络传输超时等,产生的问题,称为硬错误。
对于软错误,须在用户名/密码做成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,在生产相应的错误提示语句,返回到用户界面。
对于硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置,返回输入阶段。
出错信息必须给出相应的出错原因,如:
“您输入的用户名或密码错误!
”
“您输入的数据类型错误!
”等。
7.2出错处理对策
所有的客户机及服务器都必须安装不间断电源防止停电或电压不稳定造成的数据丢失的损失。
若真断电时,客户机上将不会有太大的影响,主要是服务器上:
在断电恢复过程可采用SQLSEVER的日志文件,对其进行ROLLBACK处理,对数据进行恢复。
在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。
在硬件连接方面要选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。
8.
安全保密设计
⏹数据库的安全性
1)用户标识与鉴别
在访问数据库时,使用用户标识与鉴别给系统提供最外层的安全保护措施。
方法是:
用户在进入系统时,必须提供用户名跟密码,由系统进行核对,通过鉴定后才能提供机器使用权。
2)存取控制
定义用户权限,并将用户的权限登记到数据字典中,当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行次操作。
3)视图机制
还可以为不同的