仓库管理系统详细设计说明书Word下载.docx
《仓库管理系统详细设计说明书Word下载.docx》由会员分享,可在线阅读,更多相关《仓库管理系统详细设计说明书Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
![仓库管理系统详细设计说明书Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/25/fb141b5b-9726-44ca-838b-03c895e81320/fb141b5b-9726-44ca-838b-03c895e813201.gif)
第一章需求分析
一、问题背景及描述
随着科学技术的发展,社会进步,计算机迅速的发展,仓库管理的方法也日新月异,以前全是由人管理的方法现存在很多的缺点:
管理效率低,劳动强度大,信息处理速度低而且准确率也不够令人满意。
为了提高仓库管理效率,减轻劳动强度提高,信息处理速度和准确性;
为仓库管理员提供更方便、科学的服务项目。
为仓库管理员提供的一种更先进、科学的服务系统。
于是我们便选择了由计算机来设计一个仓库管理系统的方案。
让计算机对仓库进行自动管理,仓库管理员可以直接在计算机上实现仓库的信息管理,并能在一定程度上实现自动化。
我们在现行系统初步调查的基础上提出了新系统目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。
二、功能分析
通过初步分析,“仓库管理系统”应该具备以下主要功能:
⒈仓库各种信息的输入,包括入库,出库,还原,需求信息的输入等
⒉仓库管理的各种信息查询,修改和维护
3.仓库管理系统的使用帮助
鉴于课程设计的缘故,本系统仅仅实现部分简单功能。
三、建立系统流程图
为了便于问题的论述与展开,在此加入了系统流程图的内容。
通过对仓库管理过程的了解,可以知道仓库管理系统管理仓库信息的大致过程。
首先,用户登陆仓库管理系统,通过一系列对系统的操作后,由系统返回给用户相应的结果。
图1描绘了这个大致的流程。
图1仓库管理系统大致处理过程
接下来对图1的黑匣子(仓库管理系统)的内容进行分解。
通过仔细分析与了解,确定用户对系统的整个操作过程:
用户登陆仓库管理系统,验证用户身份与权限,审核后操作仓库管理系统,用户可以查询仓库里的产品信息,管理员权限可修改和删除相关仓库的信息,用户还可以打印相关报表,还可以查看帮助文档。
系统会根据用户的操作,给予相应的显示与处理结果。
图2图3图4是分析后得出的系统流程图。
图2仓库管理系统流程图1
图3仓库管理系统流程图2
图4仓库管理系统流程图3
四、建立数据流图
系统流程图虽然很好地描绘了具体的系统,但是在系统流程图中把“做什么”和“怎样做”这两类不同范畴的知识混合在一起。
我们的目标不是一成不变地复制现有的人工系统,而是开发一个既能够完成现有的所有功能,又能使操作更加规范或者功能更加完备的新系统,因此,应该着重描绘系统的逻辑功能。
数据流图描述数据在软件系统内从输入流动到输出的过程中所经受的变换,通常用数据流图建立软件的功能模型。
数据流图是系统逻辑功能的图形表示,图中没有任何的具体物理部件,仅仅描绘数据在软件中流动和被处理的逻辑过程,不懂计算机技术的人也容易理解它,因此是分析员与用户之间极好的通信工具。
根据前面划分的系统模块可以得到如下数据流图:
①仓库管理系统整体数据流图
图5仓库管理系统数据流图
②细化“系统管理”的数据流图
图6对“系统管理”的细化
③细化“输入处理”的数据流图
图7对“输入处理”的细化
④系统帐户管理数据流图
图8系统帐户管理数据流图
五、建立数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的元素的定义的集合。
它的作用是在软件分析和设计过程中提供关于数据的描述信息。
数据字典和数据流图共同构成系统的逻辑模型。
数据字典定义数据的方法就是对数据自顶向下地分解,当分解到不需要进一步定义,每个和工程有关的人员都清楚其含义的元素时,这种分解过程就结束了。
本仓库管理系统根据划分的模块定义了如下数据字典:
①用户信息表
表名:
user
内容:
记载用户登陆的基本信息
组成:
列名
数据类型
长度
精度
小数
备注
userid
int
4
10
关键字(主键)
username
varchar
50
不为空
userpwd
purview
组织:
按录入顺序。
②客户信息表
customerinfo
记载客户相关的基本信息
Cid
Cname
Addr
PostCode
Phone
③产品类型表
producttype
记载产品类型的基本信息
Typeid
Typename
④库存信息表
store
记载产品库存的基本信息
Pid
Pname
Ptype
Pprice
float
8
53
Pnum
MakeDate
datetime
InDate
OutDate
Datetime
六、算法描述
分析员以黑匣子的方式记录算法,所谓黑匣子就是不考虑一个功能的具体实现方法,只把它看作给予输入之后就能够产生一定输出的匣子。
这正是在早期开发阶段分析员对算法应该持有的正确观点,目的是用原理性算法准确地定义功能,算法的细节可以等到以后的详细设计阶段再确定。
仓库管理系统中主要涉及算法方面的主要是产品的库存数量,随着仓库的使用,入库数量和出库数量随时发生变化,整个仓库中的库存量也就随之变化。
这里采用IPO表记录该算法的初步描述。
图9描绘产品库存量初步算法的IPO表
七、建立E-R图
为了把用户的数据要求清楚、准确地描述出来,系统分析员通常建立一个概念性的数据模型,概念性数据模型是一种面向问题的数据模型,它描述从用户角度看到的数据。
通常使用实体-联系图来建立数据模型,可以把实体-联系图简称为E-R图,相应地可以把E-R图描绘的数据模型称为E-R模型。
E-R图中包含了实体(即数据对象)、关系和属性等三种基本成分。
通常,用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆或圆角矩形表示实体或关系的属性,并用直线把实体(或关系)与其属性连接起来。
图10用户E-R图
图11客户E-R图
图12产品E-R图
图13仓库管理系统联系图
八、建立状态图
状态图(也叫状态转换图)通过描绘系统状态及引起系统转换的事件来表示系统的行为。
此外,状态图还指明了作为特定事件的结果系统将做哪些动作。
因此,可以用状态图建立软件系统的行为模型。
状态是可以被观察到的系统行为模式,一个状态代表系统的一种行为模式,状态规定了系统对事件的响应方式。
在状态图中第一的状态主要有:
初态、终态和中间状态,在一张状态图中只能有一个初态,而终态则可以有0个至多个。
在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。
中间状态用圆角矩形表示,可以使用两条水平横线把它分成上、中、下3个部分,分别防止状态名、状态变量和活动表。
事件是在某个特定时刻发生的事情,它是对引起系统动作或(或)从一个状态转换到另一个状态的外界事件的抽象。
状态图中两个状态之间带箭头的连线表示状态转换,箭头指明了转换的方向。
状态转换通常是由事件触发的,在这种情况下应该在表示状态转换的箭头上标出触发事件表达式。
以下是仓库管理系统的状态图:
图14仓库管理系统状态图
第二章详细设计
一、模块过程设计与界面设计
⒈验证用户身份功能模块
⑴功能描述
验证用户身份功能模块用于对登陆系统的用户进行身份验证,确定用户是否拥有使用该系统的资格以及该用户的权限。
因此,任何用户登陆系统都调用此模块。
⑵主要算法
if用户名and口令正确
以该用户身份进入系统总控制界面并获得响应系统权限
else
提示“用户名或口令错误”
累计错误三次,自动关闭本系统
endif
⒉系统总控制模块
系统总控制模块是系统运行时的主控制程序,通过系统的主菜单集中各子功能模块,用户在该模块中通过选择菜单进入到相应的子模块。
⑵菜单设计
系统菜单设计如下表所示。
表1系统菜单
一级菜单
系统
输入
维护
帮助
二、三
级菜单
客户管理
产品查询
修改产
品信息
系统信息
用户管理
产品入库
退出系统
产品出库
⑶主要算法
每个菜单项调用相应模块,实现各自的功能。
以退出系统为例:
if退出系统
提示“确认退出系统?
”
if确认退出
退出仓库管理系统
返回到仓库管理系统
endif
其他功能菜单类似。
⒊用户信息管理模块
用户信息管理模块是对整个系统的用户进行权限分配的模块,通过调用该模块,具有查询用户基本信息和修改密码及权限的功能。
系统第一次运行时只有超级用户具有用户权限分配的权限。
⑵调用方式
用户在主控制界面中选择调用该模块。
①添加按钮触发的处理:
用于添加新的用户,产生添加用户的界面。
(仅限管理员权限)
②删除按钮触发的处理:
用于删除选中的系统用户。
③修改密码按钮触发的处理:
用于修改当前用户的密码,产生新的密码修改界面。
修改密码处理流程:
输入原始密码
重复输入原始密码
if两次密码相同
匹配数据库用户密码
if与数据库密码相同
继续输入新密码,修改成功
显示“您的密码不正确!
显示“两次输入不相同!
④上一页按钮触发的处理:
显示上一页的记录。
⑤下一页按钮触发的处理:
显示下一页的记录。
⑥首页按钮触发的处理:
显示第一页的记录。
⑦末页按钮触发的处理:
显示最后一页的记录。
⑧退出按钮触发的处理:
关闭用户信息管理窗口并返回主控制界面。
⒋客户信息管理模块
客户信息功能模块是供系统使用人员对客户信息进行检索与查询并且进行修改的模块。
通过调用该模块,能够按照不同的条件组合进行客户信息的查询,并可以对查询到的客户信息进行修改。
用户在主控制界面中选择相应选项打开客户信息界面,在界面中选择相应功能。
①查询条件下拉列表:
选择查询的方式,然后于查询框中填写关键字进行搜索。
②添加按钮触发的处理:
用于添加新的客户,产生添加客户的界面。
③删除按钮触发的处理:
用于删除选中的客户的信息。
④修改按钮触发的处理:
用于修改选中的客户的信息,产生客户信息修改界面。
⑤上一页按钮触发的处理:
⑥下一页按钮触发的处理:
⑦首页按钮触发的处理:
⑧末页按钮触发的处理:
⑨退出按钮触发的处理:
关闭客户信息管理窗口并返回主控制界面。
⒌产品入库功能模块
产品入库功能模块是用于新的产品添加到仓库的处理模块。
通过调用该模块,用户将产品的入库信息添加到仓库信息中。
用户在主控制界面中选择相应选项打开产品入库界面,在界面中填写相应入库信息。
①产品类型下拉列表:
选择入库产品的类型。
②产品名输入框:
用于输入添加的产品的名称。
③产品价格输入框:
用于输入添加的产品的价格。
④入库量输入框:
用于输入添加的产品的数量。
(按产品类型确定单位)
⑤生产日期输入框:
用于填写入库产品的生产日期。
⑥入库按钮触发的处理:
将用户填写的入库产品的信息添加到库存的产品信息中。
⑦重置按钮触发的处理:
将用户填写的产品入库信息清空重新填写。
关闭产品入库窗口并返回主控制界面。
⒍产品出库功能模块
产品出库功能模块是用于产品从仓库售出的处理模块。
通过调用该模块,用户将产品的出库信息添加到仓库信息中。
用户在主控制界面中选择相应选项打开产品出库界面,在界面中填写相应出库信息。
①产品名下拉列表:
选择出库产品的名称。
②出库量输入框:
用于输入售出的产品的数量。
③出库按钮触发的处理:
将用户填写的产品出库信息添加到库存的产品信息中。
④重置按钮触发的处理:
⑤退出按钮触发的处理:
关闭产品出库窗口并返回主控制界面。
⒎产品信息管理模块
产品信息管理模块是供系统使用人员对产品信息进行检索与查询并且进行修改的模块。
通过调用该模块,能够按照不同的条件组合进行产品信息的查询,并可以对查询到的产品信息进行修改。
用户在主控制界面中选择相应选项打开产品信息界面,在界面中选择相应功能。
②查询按钮触发的处理:
用于根据查询条件和用户输入的条件进行查询产品的相关信息并显示。
③修改按钮触发的处理:
用于修改选中的产品的信息,产生产品信息修改界面。
关闭产品信息管理窗口并返回主控制界面。
⒐数据维护模块
本模块主要用于维护仓库系统的数据,经常备份仓库的各种信息数据,确保整个系统的可靠性,以便在出现意外情况时可以及时恢复仓库的全部数据。
用户在主控制界面中选择相应选项打开数据恢复界面,在界面中选择相应功能。
①数据备份(手动)按钮触发的处理:
立即开始备份当前仓库管理系统的各种数据。
②数据备份(自动)按钮触发的处理:
用户设定数据自动备份的时间,系统根据用户设定的时间自动将仓库管理系统中此刻的各种数据进行备份。
③退出按钮触发的处理:
第四章数据库设计
一、数据字典的设计
根据以上分析,为了简便系统设计仓库管理系统决定采用Access数据库来设计。
建立仓库数据库storage,并建立用户基本信息表(user)、客户基本信息表(customerinfo)、产品类型表(producttype)、库存信息表(store)等4张数据表。
并根据需求分析时数据字典的设计,分别设计这5张数据表如下。
图23user字段表
图24customerinfo字段表
图25producttype字段表
图26store字段表
二、数据表的设计
由上面设计的数据字典,结合实际情况给数据表录入数据。
图27user表
图28customerinfo表
图29producttype表
图30store表
第六章程序运行
一、登陆界面
⒈错误登陆用户:
图31登陆失败界面
⒉正确登陆用户:
图32正确用户直接进入主界面
二、主控制界面
⒈系统模块:
图33主界面系统模块
⒉输入模块:
图34主界面输入模块
⒊维护模块:
图35主界面维护模块
⒋帮助模块:
图36主界面帮助模块
三、客户管理子模块界面
图37客户管理控制界面
四、用户管理子模块界面
⒈用户信息界面:
图38用户信息界面
⒉修改密码:
①密码错误:
图39修改密码失败
②密码正确:
图40成功修改密码
五、产品入库子模块界面
⒈产品入库:
①数据不完整:
图41产品入库失败
②正确的入库数据:
图42产品数据成功入库
⒉产品入库后的数据库:
图43产品入库后的数据库
六、产品出库子模块界面
⒈产品出库:
图44出库数据填写不完整
②数据超出库存量:
图45出库数据量过大
③数据正常出库:
图46数据出库成功
④数据正常出库后的数据库:
图47产品出库后的数据库
⑤数据全部出库:
图48将剩余的产品全部出库
④数据全部出库后的数据库:
图49产品全部出库后的数据库
七、产品查询子模块界面
图50产品信息查询模块
八、修改产品信息子模块界面
图51产品信息修改模块
第七章心得体会
本次课程设计由于时间紧张,仅仅花费了一天的时间,实现了整个系统的一部分简单功能,重复的功能就没有多做,不过对于制作整个系统而言,还是有不少的收获。
在紧张的复习过程中,能用一天的时间完成整套系统的开发,自己也觉得比较欣慰,至少在校阶段确实学到了不少基础知识,在我未来的成长中会发挥相当重要的作用。
在整个系统的制作过程中遇到了非常多的问题,例如连接数据库出错、数据库查询添加删除更新语句的写法、自适应变化的数组长度等,在同学的帮助下,以及查询网上诸多相关资料,都很好地找到了解决方案,使我从中获益匪浅。
这应该是最后一次课程设计了,尽管时间不多,很多该有的功能都没有完成,希望在毕业设计中,可以做的更好,功能更强大。
但愿在往后的工作中,我可以更多地利用在学校学到的知识为自己的事业而打拼。