仓库管理系统设计与实现软件工程课程设计书.docx
《仓库管理系统设计与实现软件工程课程设计书.docx》由会员分享,可在线阅读,更多相关《仓库管理系统设计与实现软件工程课程设计书.docx(60页珍藏版)》请在冰豆网上搜索。
仓库管理系统设计与实现软件工程课程设计书
(此文档为word格式,下载后您可任意编辑修改!
)
一、开发计划1
1、引言1
2、项目概述1
3、实施计划1
4、支持条件2
5、专题计划要点2
二、可行性报告2
1、项目定义2
2、技术可行性3
3、市场可行性3
4、产品策略3
5、成本—效益分析(假设)3
三、需求分析5
1、引言5
2、任务概述6
3、需求规定6
4、用户访谈7
四、总体设计9
1、实体-关系图设计(E-R图)9
2、数据库设计10
3、系统数据流图设计14
4、系统层次模块图设计15
5、模块设计15
6、接口设计15
8、出错处理设计16
9、安全设计16
10、维护设计16
五、详细设计16
1、界面设计16
2、系统流程图设计20
3、程序设计21
六、测试21
1、测试环境21
2、黑盒测试21
3、白盒测试(基本路经测试法)28
(1)登录模块28
(2)出入库录入模块30
七、调试34
八、开发总结35
九、用户手册37
一、开发计划
1、引言
(1)编写目的
本系统设计是在windows环境的支持下运行的,采用窗口式执行文件,操作实用、简易、方便、直观。
本着高效、全面、安全的设计思想,实现公司仓库的有效管理。
(2)项目背景
开发系统名称:
仓库管理系统
项目任务提出者:
吴景晨
开发者:
吴景晨
2、项目概述
(1)工作内容
可行性研究、需求分析、概要设计、程序设计、系统测试。
(2)主要参加人员
吴景晨、马晓庆、李丹、杨宏霞、郭磊、任沛轩
(3)产品
仓库管理系统
(4)验收标准
①为了方便用户操作,该系统提供了部分提示窗口,使用户能够按照提示语句完成各项操作。
②为了实现仓库的安全有效管理,系统设置了用户登陆的首界面,管理员和员工需要正确的用户名和密码。
③本系统的查询功能可以按照货物编号、日期、指数等项目进行查询或全部浏览。
④本系统的修改功能提供了逐条察看的方式修改删除和以货物编号、日期、指数等方式进行查询的功能,而且本着直观、方便的原则进行设计窗口。
⑤本系统包含“数据添加”、“数据查询”、“数据修改”、“用户管理”、“退出”等功能。
本系统包含数据库主要用于存放仓库管理信息和管理员信息。
(5)完成项目最迟期限:
2010.05.21
3、实施计划
(1)工作任务的分解及人员分工
开发计划——吴景晨
可行性分析——李丹、郭磊(成本--效益分析)
需求分析——马晓庆、任沛轩(用户访谈)
概要设计——吴景晨、杨宏霞(数据字典)
详细设计——吴景晨
程序编写——吴景晨
测试用例——吴景晨(白盒测试)、马晓庆(黑盒测试)
开发总结——杨宏霞
用户手册——任沛轩、郭磊
(2)接口人员
吴景晨,负责数据库的连接及数据库的建立。
(3)进度
阶段
人数
工作量/人/日
时间/日
起止时间
可行性研究
3
9
3
4.28--4.30
需求分析
2
8
4
5.1—5.4
系统设计
2
8
4
5.5—5.9
程序设计
1
5
5
5.10—5.14
系统测试
2
8
4
5.15—5.18
系统试运行
5
15
3
5.19—5.21
表1.1详细进度表
(4)预算
20元——电费以及文档打印费用。
4、支持条件
计算机支持
硬件:
CPU型号为Pentium3以上,内存512M
系统:
Windowsxp/vista/7
软件:
Access2007,visualbasic6.0
5、专题计划要点
操作的简便易用:
无论什么水平的操作人员,简便的操作方法是一致性要求,同时在系统操作的界面的设计中也应尽可能地把常用子模块添加至主系统窗口中,实现“一触即开”窗口。
适应性:
应该明确的是,实际操作人员对计算机的了解程度和实际的操作能力各不相同,因此软件应具有一定的适应能力。
透明性:
在系统设计中,应充分利用计算机在处理数据方面的能力,从而尽可能减轻操作人员的工作,实现一定意义上的透明操作,即用户无须知道模块功能实现的具体过程,只需要设置一定的操作选项,计算机即可按照用户的要求得到所需要的处理结果,具体的操作细节对用户是“透明”的。
点面结合:
再数据处理方面,一方面应强调数据的成批处理能力,以尽可能简化操作人员的处理工作,另一方面也应十分重视对单独数据的处理能力。
二、可行性报告
1、项目定义
仓库在企业的整个供应链中起着至关重要的作用,如果不能保证正确的进货和库存控制及发货将会导致管理费用的增加,服务质量难以得到保证,从而影响企业的竞争力.传统的简单、静态的仓库管理已经无法保证企业各种资源的高效利用。
现在的仓库作业和库存控制作业十分复杂化、多样化,仅靠人工记忆和手工录入,不但费时费力,而且容易出错,给企业带来巨大损失.
为了克服以上问题,必须使仓储管理和计算机系统相互结合起来,以使仓库服务得到有效的执行和监督.仓库管理系统可以对仓储各环节实施全过程控制管理,并可对货物进行入库和出库操作管理,从而实现仓储作业流程全过程的电子化操作.另外还可以根据客户的需求制作多种合理的统计报表.
2、技术可行性
本系统产品用VisualBasic6.0编程与数据库的相结合的方法进行开发,而仓库管理系统实现的理论及技术已经日趋成熟,因此仓库管理系统应用软件的开发手段是完全可行的。
3、市场可行性
当下,市场经济迅速发展,网上购物已成潮流,在这种情况下,物流仓储等行业的发展也在以一种惊人的速度发展,要想保证仓库出入货物与账目的一致性,必须出现一种专门的、特定意义、特殊功用的管理系统出现,即仓库管理系统,在网上调查的过程中,我们发现,很多业主和个体经营户也急需一种只适合其专门行业的管理系统。
然而,市场中也是存在了很多的十分专业的仓库管理系统,但是介于其收费特征和内容的广泛应用性,而导致在用户使用的简便性和易用性受到了打击,所以在这种社会现状的驱使下,我们小组讨论决定开发一种简单通用的仅仅限于仓库管理的管理系统,而不涉及进货和销售方面的问题,于是仓库管理系统便应运而生。
4、产品策略
在该项目开发过程中,全部使用实验室及图书馆现成的设备和资料。
因此该系统的开发在经济方面也是可行的。
5、成本—效益分析(假设)
一般来说,我们的客户开发这个软件系统是一项投资,所以当然期望获得很大的经济效益。
经济效益通常表现为减少运行费用或(和)增加收入。
所以我们进行成本/效益分析来从经济角度分析开发我们的设备管理系统是否划算,从而帮助客户组织的负责人做出是否投资这项开发工程的决定。
下面我们从以下几个方面进行分析。
(1)成本分析
软件开发成本主要表现为人力消耗(乘以平均工资则得到开发费用)。
因成本估计不是精确的科学。
因此我采用了两种不同的估计技术以便互相校检。
1代码行技术
代码行技术是比较简单的定量估算方法,把开发每个软件功能的成本和实现这个功能需要用的源代码行数联系起来。
通常根据经验和历史数据估计实现一个功能需要的源程序行数。
而在我们组的设计下,初步得出设备管理系统的源代码行数。
得出源代码行数以后,用每行代码的平均成本乘以行数就可以确定软件的成本,所以我们得出的此软件的成本为
成本=2000*10=20000
2任务分解技术
任务分解技术是首先把我们的设备管理系统分解为若干个相对独立的任务。
在分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。
估计每个任务的成本时,通常先估计完成该项任务需要用的人力(以人月为单位),再乘以每人每月的平均工资而得出每个任务的成本。
下面是我们按开发阶段划分任务做出的人力成本。
表1.2各个开发阶段需要使用的人力百分比及工资表
得出其总成本=
(1200*5+1000*10+800*25+500*20+10*600)*(20/100)*1.5=21000(元)
(2)运行费用分析
运行费用取决于设备管理系统的日常操作费用(操作员人数,工作时间,消耗的物资等等)和维护费用。
(3)效益分析
我们设备管理系统的经济效益在于因使用此系统而增加的收入加上使用此系统可以节省的运行费用。
(4)成本/效益分析
应该比较新系统的开发成本和经济效益以便从经济角度判断这个系统是否值得投资,但是,投资是现在进行的,效益是将来获得的,不能简单的比较成本和效益,应该考虑货币的时间价值。
①货币的时间价值
通常用利率的形式表示货币的时间价值。
假设年利率为i,如果现在存入P元,则n年后可以得到的钱数为
F=P(1+i)^n
在我们的软件分析中假定年利率为12%,预计可帮助我们的客户每年节省25000元,则利用货币限制计算公式就可以算出每年预计节省的钱的现在价值
表1.3将来的收入折算成现在值表
②投资回收期
通常用投资回收期衡量一向开发工程的价值。
所谓投资回收期就是使累计的经济效益等于最初投资所需要的时间。
显然,投资回收期越短就能越快获得利润,因此这项工程也就越值得投资。
在本软件中,一年以后可以节省22321.4元,和最初的投资(20000元)比较。
因此,投资回收期是0.98年
③纯收入
纯收入是指在整个生命周期值内系统的累计经济效益(折合成现在值)与投资之差。
这相当于比较投资开发一个软件系统和把钱存在银行这两种方案的优劣。
如果纯收入为零,则工程的预期效益和在银行存款一样,如果纯收入小于零,那么这项工程显然不值得投资。
这本系统开发中工程的纯收入预计是
90119.4—20000=70119.4(元)
④投资回收率
把资金存入银行货代给其他企业能够获得利息,通常用年利率衡量利息多少。
类似的也可以计算投资回收率,用它衡量投资效益的大小,并且可以把他和年利率相比较,在衡量工程的经济效益时,它是最重要的才靠数据。
以至现在的投资额,并且已经估计出将来每年可以获得的经济效益,那么,给定软件的使用寿命之后,我们可以计算其投资回收率为
P=F1/(1+j)+F2/(1+j)^2+……+Fn/(1+j)^n
其中:
P是现在的投资额;Fi是第i年底的效益(i=1,2,3,……,n),n是系统的使用寿命;j是投资回收率。
(假设系统寿命n=5)高阶代数方程解出投资回收率
所以,经过以上成本效益的分析,得出在经济上,我们的设备管理系统是可行、值得投资的。
三、需求分析
1、引言
(1)编写目的
开发本系统的目的在于代替手工管理、统计报表等工作,具体要求包括:
数据录入:
录入用户信息、商品信息、供货商信息、入库信息、出库信息、退货信息、客户信息等信息;
数据修改:
修改商品信息、供货商信息、用户信息、客户信息等信息;
数据统计:
统计统计每次仓库的进货和出货时的商品的数量、种类、总价值;
数据查询:
系统提供三种查询条件:
活物编号、日期、指数,选择不同的查询条件,会的得到不同的查询结果;
数据备份:
定期对数据库做备份,以免数据库在遇到意外破坏的时候能够恢复数据库,从而减少破坏造成的损失。
(2)背景说明
①项目名称:
仓库管理系统
②项目任务开发者:
西北师范大学经济管理学院07级信息管理与信息系统
(1)班开发小组,软件基本运行环境为Windows环境。
③本系统采用人工输入与计算机自动化,能准确、合理、全面的进行仓库管理系统。
(3)术语定义
静态数据——系统固化在内的描述系统实现功能的一部分数据。
动态数据——在软件运行过程中用户输入后系统输出给用户的一部分数据,也就是系统要处理的数据。
数据字典——数据字典的名字都是一些属性与内容的抽象与概括,它们的特点是数据表的“严密性”和“精确性”。
(4)参考资料
《软件工程导论》(第四版)——张海藩编著清华大学出版社
2、任务概述
(1)目标
目前市场竞争日趋激烈,数据量比原来要大的多管理不便,在设计过程中,为了满足计算机管理的需求,采取了下面的一些原则:
统一各种原始单据的格式,统一帐目和报表的格式。
删除不必要的管理冗余,实现管理规范化、科学化。
程序代码标准化,软件统一化,确保软件的可维护性和实用性。
界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。
建立操作日志,系统自动记录所进行的各种操作。
(2)系统特点
本系统采用RFID技术来对物资进行出入库管理,提高了物资出入库的效率,减少人力并能在恶劣环境下进行有效的工作,比如冷库人员不能在里面长时间工作。
而基于RFID技术的仓库管理系统可以,它比其他的一些技术要方便、高效。
例如比条形码要快捷、不需要人工操作。
高效的数据组织能力
1快速录入。
在录入数据时,输入货品的前一位或几位后回车,系统会弹出以他们开头的所有货品资料供选择,加快数据录入速度。
还可以使用复制与粘贴功能,使当前数据的内容复制上一条数据的内容,大大加快类似内容的数据录入速度。
2筛选数据。
灵活的查询功能为不同的管理者提供所需的数据,单据、报表的条件查找中都设置了多条件查找。
3数据排序。
单击单据或报表的某一字段即可以该字段进行排序,方便用户从多角度分析查看报表。
4数据备份与恢复:
可实时将系统中的所有数据进行备份,操作非常安全简单.
5支持多仓库管理。
(3)约束
由于系统较小,且在Windows系统下开发,故在Windows环境下基本没有什么限制。
3、需求规定
(1)对功能的规定
仓库管理系统主要实现对库存商品的管理,对商品出库、入库的管理,和对仓库管理系统维护的功能。
具体要实现的功能包括:
①库存商品管理
查看数据库中商品的名称、编号、单价等信息。
②商品出库、入库管理
入库、出库单纪录本次入库、出库的货物名称、数量,入库、出库的时间、商品单价以及总价,入库、出库的经手人等。
③商品的查询
输入商品的编号或者商品的名称查询信息
④用户管理
用户可以修改登录密码
(2)对系统数据的规定
①员工(ID,姓名,密码,权限)
②商品(商品名,商品编号,所属类,单价)
③出货表(商品名,商品编号,数量,总价,经手人)
④入货表(商品名,商品编号,数量,总价,经手人)
⑤查询(商品名,商品编号,数量,单价)
根据上面的关系我们需要的数据基本上就上面所列出的数据。
(3)对软件性能的规定
①集成性极强。
包括对企业内部业务的完整整合能力以及对供应链外部资源的整合能力。
具有开放的与流行电子商务平台集成的能力。
②业界最先进的技术。
③先进的管理理念和前瞻性考虑。
④极强的扩展能力。
⑤优秀的可维护性和极低的维护成本。
⑥性能指标:
可支持的最大用户数:
无限制;
可支持的最大并发用户数:
无限制;
吞吐量:
只受到网络带宽的限制,系统本身无限制;
响应速度:
只受到网络带宽的限制,系统本身无限制。
⑦数据精确度
由于采用数据库技术并且用户的应用领域对数据精度的要求不是太高,所以这点在系统中表现的比较少,都是用户数据的安全性和准确性是完全保证的,所以对用户的使用没有多大的障碍。
⑧时间特性
本系统的数据库较小,所以程序在相应时间,数据更新处理时间上性能是比较突出的、而且也正由于数据量相对较少,故在数据传输时间和系统运行时间上表现的叫让用户满意。
(4)故障处理
考虑到软件的范围不大,所以故障处理一般有操作系统完成,系统只要保持与操作系统的接口即可。
只要操作系统没有大的故障程序一般是比较稳定的。
考虑到用户对数据的安全性要求,程序可以有独立于操作系统之外的数据备份功能与过程,以及系统崩溃后的数据恢复功能。
(5)其他专门要求
系统的操作人员应具有一定的计算机方面的知识或经过相应的培训,同时应做好对后台数据库的保密工作。
4、用户访谈
(1)访谈目的及方式
目的:
通过各种访谈方式,进一步了解用户对系统的具体需求,针对系统开发时所可能遇到的各种问题进行交流,并对用户的疑问做出解答和处理。
从而开发出更令用户满意的系统。
方式:
正式访谈、非正式访谈、情景分析技术
(2)具体操作:
①对企业本方面总负责人(物流总监)的访问,最好采用个别交谈方式。
在交谈之前,应给其一份详细的提纲,以便使他们对问题有所准备。
从访问中,可获得有关高层对管理系统的具体需求、操作方式、以及其他与系统开发有关的各种信息。
(重点放在系统开发可行性、成本、后期维护保障等方面)
②对企业中层管理人员(主任)的访问,可采用集中开座谈会、个别交谈或发调查表的方式,目的是了解对具体操作及日常管理的需求。
(重点放在管理方面)
③对基层使用人员(仓库管理员等)的调查,主要采用发调查表和随机抽样交谈方式来了解仓库管理员对具体业务使用过程的便利性与完整性的需求。
(重点放在操作便利性与人性化等方面)
(3)具体访谈内容:
(括号内为此阶段于何期进行)
①调查表:
调查表尽量做到问题简单明了,覆盖面广,能够突出重点。
(开发前期)
②面谈:
可对用户提出一些自由回答的开放性问题,让用户说出自己对系统的想法,例如:
询问用户对目前系统的各个部分是否有不满意或需要改进的地方,还需添加什么功能模块等等。
(开发前期)
③情景分析技术:
系统分析员根据自己对目标系统应具备功能的理解,在给出模拟数据时,对出现的模拟情景给予演示。
通过情景分析技术,分析员能更主动和准确的获知用户在使用时将遇到的问题,以便将系统完善并人性化。
(调试期)
(4)尾声,对抽出时间积极配合访谈的客户表示感谢,访谈组织者(开发小组)将表示尽一切努力满足客户的要求,并赠送精美礼品以作纪念(也可选择共进晚餐)。
最后,访谈在愉快的氛围下结束。
四、总体设计
1、实体-关系图设计(E-R图)
图4.1系统E-R图
2、数据库设计
(1)数据库逻辑设计
由于本管理系统没有海量的数据需要存储,所以没有必要使用ORACLE,且ORACLE的链接和服务器配置也是有一定问题的,而ACCESS2007在安全性和可靠性方面足以胜任,所以在测试阶段我们选用了ACCESS2007作为数据库系统应用。
数据库通信接口采用了ODBC(opendatabaseconnectivity,开放式数据库互联),目的是将所有底层操作全部隐藏在ODBC的后台驱动程序内核中。
对于程序员来说,这意味着,只要构建了一个数据库连接,便可以用统一的API(应用程序编程接口)实现对数据库的读写操作。
目前,ODBC提供了大量的数据库支持,这也为我们后期的改进创造了条件。
根据对程序功能模块的划分做出全面的分析后,可以列出如下数据项和数据结构:
①用户信息表
图4.2系统管理信息表
名称
字段名称
数据类型
字段大小
主键
非空
用户名
username
文本
12
Yes
No
密码
passwd
文本
12
No
No
权限
permission
文本
10
No
No
表4.1系统管理信息表
②商品信息表
图4.3商品信息表
名称
字段名称
数据类型
字段大小
主键
非空
商品编号
id
数字
10
No
No
日期
Date
日期/时间
——
No
No
货源地
From
文字
10
No
No
商品名称
name
文本
20
No
No
单价
price
货币
——
No
No
数量
Num’
数字
整型
No
No
单位
Size
文本
5
No
No
总价
Sum
货币
——
No
No
生产厂家
Produce
文本
50
No
No
仓库编号
Pri_id
文本
20
Yes
No
表4.2商品信息表
③出入库单
图4.4出入库单信息表
名称
字段名称
数据类型
字段大小
主键
非空
货物编号
id
文本
10
No
No
出入库
name
文本
6
No
No
备注
Beizhu
文本
50
No
No
日期
Date
日期/时间
——
No
No
仓库编号
Pri_id
文本
20
Yes
No
货源地
From
文本
20
No
No
表4.3出入库单信息表
2货源地
图4.5货源地信息表
名称
字段名称
数据类型
字段大小
主键
非空
货源地
From
文本
20
Yes
No
表4.4货源地信息表
3生产厂家
图4.6生产厂家信息表
名称
字段名称
数据类型
字段大小
主键
非空
生产厂家
Produce
文本
50
Yes
No
表4.5生产厂家信息表
(2)我们设计出了系统所用到的数据库的数据字典如下。
(2)数据库物理设计
数据库中各表的文件物理结构采用顺序的记录文件。
采用代码连接(VB源代码):
1用户数据库
DimconnectionstringAsString
Publicconn1AsNewADODB.Connection
connectionstring="provider=Microsoft.Jet.oledb.4.0;"&_
"DataSource='"+App.Path+"\user.mdb"+"'"
conn1.Openconnectionstring
2库存信息数据库
DimconnectionstringAsString
connectionstring="provider=Microsoft.Jet.oledb.4.0;"&_
"DataSource='"+App.Path+"\cangku.mdb"+"'"
conn.Openconnectionstring
3、系统数据流图设计
图4.7系统数据流图
4、系统层次模块图设计
图4.8系统主要层次模块图
5、模块设计
(1)用户登录模块:
填写已分配的用户名和密码,正确后根据其权限设置,进入相应的管理页面。
(2)出入库数据录入模块:
管理员或者普通用户在出库或者入库时填写的出入库凭证,并在后台对整体库存进行更新。
(3)库存详细信息管理模块:
管理员对货物的详细信息,例如:
规格、单位等属性的设置,保证查询时得到完整的货物属性及操作信息。
(4)库存查询模块:
根据不同的查询选项,设置不同的欲查询属性,最后在数据库中查询所需要的库存信息。
(5)信息分类汇总模块:
按照所选分类,对数据库中的信息汇总并打印表格。
(6)用户管理模块:
管理员具有最高权限,可以对所有用户的信息进行管理,包括添加、删除用户,设置任意用户密码。
其他用户只能对自己密码进行修改。
(7)帮助文件模块:
对使用本管理系统的问题进行解答,及使用指南。
(8)关于模块:
记录了关于作者及开发小组和版本信息。
6、接口设计
(1)外部接口
(a)用户界面
采用图形用户界面(GUI),包含菜单、按钮、对话框等元素。
(b)软件接口
软件运行于WINDOWS操作系统WINDOWS2003及以上操作平台,不支持mac及UNIX。
(c)硬件接口
最低配置:
CPUP31.6GHz
内存256M
硬盘30G
(2)内部接口
(a)初始化模块:
系统初始时由操作系统调用,之后进入消息