软件工程仓库管理系统.docx
- 文档编号:16458972
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:18
- 大小:53.92KB
软件工程仓库管理系统.docx
《软件工程仓库管理系统.docx》由会员分享,可在线阅读,更多相关《软件工程仓库管理系统.docx(18页珍藏版)》请在冰点文库上搜索。
软件工程仓库管理系统
软件设计书
仓库管理系统
系别:
应用数学系
专业:
信息与计算科学
班级:
1204
姓名:
闫丹爱
第一章可行性研究报告
引言
本软件是用来有效的管理超市仓库货物数量及种类,以方便超市工作人员可以全面的了解超市仓库库存货物数量和种类来方便高效的管理超市仓库。
该项目可行性研究报告也是对超市仓库管理系统的全面考虑,是项目分析员进行进一步工作的前提,是软件开发人员成功的开发项目的前提.此分析研究报告可以使软件开发团体尽可能早的估计研制课题的可行性,可以在定义阶段较早的认识到系统方案的缺陷,可以节省时间、财力和精力,并且避免了专业方面的困难.及早地预测项目的可行性,在可行的前提下获得最好的实施方案。
随着社会的不断发展,物质的不断丰富,为了满足人们的需求,超市的货物也是越来越丰富。
为了方便超市管理人员及时有效的了解仓库情况,更好的管理超市货物,提高管理效率,从而提出本软件。
.要求和目标
·功能:
具有一定权限的管理人员可以对货物的售出和补充,以及新增加的商品和种类及时的进行修改,同时还具有缺货提示功能。
·性能:
详实有效的罗列出商品货物的数量和种类,来方便超市管理人员。
·输入:
具有一定权限的管理人员对货物数量种类进行修改。
·输出:
查询结果。
系统功能模块图1-1,
图1-1系统功能模块图
功能模块及流图的简要描述:
首先超市管理人员需要登录系统,如果登陆成功则以进入系统进行操作,否则会提示错误,要求重新登录。
登录成功后,管理人员可以根据自己的需要进行操作。
当添加货物种类,更改货物数量,都需要管理人员登录系统后才能操作。
当货物数量较少时,系统会自动提示管理人员要进货了。
本系统还可以管理管理人员的登录,即可以对有权限操作该系统的人员进行增、删、改功能。
·在安全与保密方面的要求:
对于有权限的人员才可以进行对系统的操作。
①方便使用者对仓库货物的查询、删除、更新,减少人力和设备的需求。
②方便了解进出仓库货物情况。
③及时为用户发出缺货提示。
④提高工作的效率。
⑤降低仓库管理及维护费用。
①开发条件:
计算机实验室所提供的环境即可。
②开发时间:
开发的全过程必须在3个月内完成。
③开发所需的经费:
无。
④运行的系统:
Window7以上版本即可
⑤数据库:
sqlserver2000或者sqlsever2005
.社会因素方面的可行性
法律方面的可行性
该系统的开发和研制,将不会侵犯他人、集体和国家的利益,不会违犯国家政策和法律。
使用方面的可行性
该系统操做简单,不需要专业培训,一般人员即可胜任。
.结论
综上所述,该项目应立即开始进行研发。
从人力资源优化角度来说,可以充分利用人力资源。
从经济利益的角度来看,即时开发完成即可用,可以立即赢利。
但系统仍旧有些不足,例如修改方面还需人工手动修改数量等。
在系统的交付使用中如有不足还望指出,以便改进。
第二章仓库管理系统需求分析
本系统的主要需求者是超市后台管理员。
.本项目概述
本项目所开发的超市仓库管理系统完成超市管理员对货物的管理,减少数据漏掉的情况,更方便管理人员的浏览和操作,节省了人力物力。
.系统一般性描述
由于本系统的数据还算不上大型的。
所以数据库服务器与web服务器共用同一台计算机。
系统中的货物信息和管理员信息都存放在sqlserver数据库中。
‘图2-1系统用例图’,用例图说明:
图2-1系统用例图
本系统主要只针对具有权限的理员进行操作,首先管理员必须具有正确的账号和密码才能进入系统进行操作。
进入系统后的主要功能模块如下:
添加功能:
可以添加货物的具体信息同时还可以增加管理员。
修改功能:
可以对货物的所有信息进行修改。
删除功能:
删除超市已经不存在的货物的信息同时还可以删除不存在的管理员。
查询功能:
可根据货物的品牌或者名称对货物进行查询,也可以根据管理员账号或者管理员用户名对用户进行查询。
进货出货功能:
可以对货物的数量进行修改。
缺货提示:
当货物的数量小于50件时在主页面会为管理员进行提示已缺货。
更改密码功能:
当某个管理员登录系统后可以更改自己的密码。
‘图2-2类图’,类图说明:
图2-2类图
类的详细说明:
商品类:
属性:
商品编号:
商品编号是用来确定商品唯一性的。
商品数量:
说明商品的库存量。
商品名称:
说明商品的名称。
方法:
登录系统:
用于验证管理身份。
增加商品:
用于增加系统内没有的商品信息。
删除商品:
仓库没有的商品信息。
修改商品:
用于修改商品的具体信息。
进货:
用于只对要增加货物量的商品进行操作。
出货:
用于只对要减少货物量的商品进行操作。
缺货提示:
当商品数量低于10后会在主页上提示缺货。
管理员类:
属性:
管理员ID:
该属性是自动增长型,具有唯一性。
管理员账号:
用于登录时的账号。
管理员名称:
该属性和账号一起可以识别唯一的管理员。
管理员密码:
用于登录时和账号一起用于身份验证。
方法:
增加管理员:
可以赋予没有权限的人管理权限。
删除管理员:
可以删除不存在的管理员。
.数据流图
对用户需求进行分析,画出系统的数据流图,如图——图所示。
图系统的顶层数据流图
图系统的0层数据流图
图仓库管理系统的1层DFD——“货物入库管理”加工的分解图
仓库管理系统的E-R图
根据系统数据流程图,我们可以列出以下系统所需的数据项:
员工(员工号,姓名,密码,证件号,员工类型,是否员工)
商品(商品编号,商品名称,商品数量)
仓库(商品编号,商品名称,库存量)
入库(入库编号,商品编号,商品名称,入库数量,入库人,入库时间)
出库(出库编号,商品编号,商品名称,出库数量,出库人,出库时间)
仓库管理系统的E-R模型如图图所示。
通过对系统结构化的分析得到本系统有四大模块:
一、系统管理:
对用户的一些添加,删除,修改。
二、信息管理:
对一些基本信息(商品,往来单位,仓库)的管理。
三、出入库管理:
对出库入库的管理。
四、查询管理:
对出库、入库单、库存信息的查询。
图实体之间关系E-R图
第三章设计说明书
引言
系统概要及其运行环境
软件详细设计阶段是软件设计的重要阶段,本阶段的工作就是要对系统中的每个模块给出足够详细的过程性描述,因此也称为“过程设计”。
详细设计的根本目的就是确定应该怎样具体实现所需求的系统,也就是说经过这一阶段的设计,会得出对学生选课系统的精确描述。
其根本任务就是设计出程序的“蓝图”
系统的组成部分及其结构
本系统分为四大模块,即用户管理模块、出库模块、入库模块、库存管理模块。
管理员模块可分为普通用户模块和管理员模块,库存管理模块包括查询模块和修改模块。
详细操作请见类图
软件设计约束
本系统采用Java技术,基本上没有什么平台约束。
在数据库方面,需要创建本地数据源。
设计目标和原则
本设计欲达到的目标:
能够使用户简单快捷的完成商品出库和入库的功能及库存管理功能。
系统的性能达到高效,实用,易于维护。
设计约束
(1)无论是普通用户还是管理员,都可以在本地访问该系统。
完成各自授权的活动和工作。
(2)该系统考虑性能、安全、可靠性、易用、可扩展和可维护。
(3)整个开发过程应满足软件需求分析的进度要求所规定的时间。
软件设计描述
总体结构设计
本系统由以下几个功能模块组成:
用户管理模块汇总:
(1)添加普通用户信息(仅管理员可以使用,可以添加用户到数据库中)
(2)管理普通用户信息(仅管理员可以使用,可以对普通用户进行修改删除等操作)
库存管理模块汇总
(1)查询入库信息(普通用户使用,对自己入库的商品进行查询操作)
(2)查询出库信息(普通用户使用,对所出库的商品进行相关操作)
(3)所有库存信息(对所有商品信息进行查询)
详细结构设计
图3-1仓库管理系统顺序图
系统界面设计描述
当用户启动程序后真接显示主界面,在主界面中有‘用户管理’,‘商品入库’,‘商品出库’,‘库存管理’以及退出系统。
当用户在未登录的状态下执行任何操作时系统会自动判断是否已经登录,若用户还没有登录则显示登录界面,让用户进行登录。
若登录的帐号不存在则表示该用户还不是员工,故需要用户重新申请新的用户,新用户的类型为普通员工,当普通用户已经通过管理员审核,并且分配了相关的权限后就可以登录系统。
若用户是管理员则该用户可以对普通用户进行相关的修改和删除,而且还可以修改、查询、删除库存表及商品出入库表中的相关信息。
若用户是普通员工则只能进行商品的出入库及查询。
登录界面设计
用户通过输入登录的账号和密码及类型系统进行验证
图3-2用户登录界面
商品出入库界面设计
图3-3商品出入库界面设计
库存界面设计
图3-4库存界面设计
数据库设计
数据库名:
StoreHouseDB
用户表:
Users主键:
员工号
商品入库表:
InStore主键:
入库编号
商品出库表:
OutStore主键:
出库编号
库存表:
StoreManage主键:
商品编号
商品表:
goods主键:
商品编号
建表
下面具体给出各个表
表3-1Users
列名
属性
员工号
Varchar(13)
员工姓名
Varcahar(20)
密码
Varchar(16)
证件号
Varchar(18)
员工类型
Varchar(8)
是否员工
Varchar
(2)
表3-2InStore
列名
属性
入库编号
int
商品编号
Varchar(20)
商品名称
Varchar(50)
入库数量
Int
入库人
Varchar(13)
入库时间
Datetime()
表3-3OutStrore
列名
属性
出库编号
Int
商品编号
Varchar(20)
商品名称
Varcahr(50)
出库数量
Int
出库人
Varchar(13)
出库时间
Datetime()
表3-4StoreManage
列名
属性
商品编号
Varchar(20)
商品名称
Varchar(50)
库存量
Int
表3-5goods
列名
属性
商品编号
Varchar(20)
商品名称
Varchar(50)
商品数量
Int
第四章系统相关代码
登录界面(主要代码)
publicbooleanisExistsEmply(Stringid){
booleanflags=false;
try
{
intcount=0;
Stringsql1="select员工号fromUserswhere员工号=?
";
PreparedStatementps=(sql1);
(1,(String)id);
ResultSetresult=();
while())
{
count=();
}
();
();
if(count>0)
{
=id;
flags=true;
getInfo(id);
returnflags;
}
else
{
((String)id);
}
}
catch(Exceptione)
{
();
}
returnflags;
}
oString().trim();
password=
(2).trim();
employtype=(3).toString().trim();
emplooy=(4).toString().trim();
}
();
();
}
catch(Exceptione)
{
();
}
}
oString().trim();
Sdata2[n][1]=
(2).toString().trim();
Sdata2[n][2]=(3).toString().trim();
Sdata2[n][3]=(4).toString().trim();
Sdata2[n][4]=(5).toString().trim();
Sdata2[n][5]=(6).toString().trim();
n++;
}
();
();
returnSdata2;
}
catch(Exceptione)
{
();
}
returnSdata2;
}
oString().trim();
newStoreOfOut[2]=(3).toString().trim();
newStoreOfOut[3]=newInteger(4));
newStoreOfOut[4]=(5).toString().trim();
newStoreOfOut[5]=(6).toString().trim();
}
();
();
returnnewStoreOfOut;
}
catch(Exceptione)
{
();
}
returnnewStoreOfOut;
}
入库界面
publicObjectsetSdata(){
try
{
Stringsq2="select*fromInStore";
Statementst=();
ResultSetresult=(sq2);
Sdata=newObject[Row][Column];
intn=0;
while())
{
Sdata[n][0]=
(1).toString().trim();
Sdata[n][1]=
(2).toString().trim();
Sdata[n][2]=(3).toString().trim();
Sdata[n][3]=(4).toString().trim();
Sdata[n][4]=(5).toString().trim();
Sdata[n][5]=(6).toString().trim();
n++;
}
();
();
returnSdata;
}
catch(Exceptione)
{
();
}
returnSdata;
}
oString().trim();
newRow[2]=(3).toString().trim();
newRow[3]=newInteger(4));
newRow[4]=(5).toString().trim();
newRow[5]=(6).toString().trim();
}
();
();
oString().trim();
Sdata[n][1]=
(2).toString().trim();
Sdata[n][2]=(3);
n++;
}
();
();
returnSdata;
}
catch(Exceptione)
{
}
returnSdata;
}
publicvoidinit(){
言
本软件是用来有效的管理超市仓库货物数量及种类,以方便超市工作人员可以全面的了解超市仓库库存货物数量和种类来方便高效的管理超市仓库。
该项目可行性研究报告也是对超市仓库管理系统的全面考虑,是项目分析员进行进一步工作的前提,是软件开发人员成功的开发项目的前提.此分析研究报告可以使软件开发团体尽可能早的估计研制课题的可行性,可以在定义阶段较早的认识到系统方案的缺陷,可以节省时间、财力和精力,并且避免了专业方面的困难.及早地预测项目的可行性,在可行的前提下获得最好的实施方案。
随着社会的不断发展,物质的不断丰富,为了满足人们的需求,超市的货物也是越来越丰富。
为了方便超市管理人员及时有效的了解仓库情况,更好的管理超市货物,提高管理效率,从而提出本软件。
系统名称:
超市仓库管理系统。
测试环境
测试的重点是选课管理系统的选课功能和登录界面的功能。
根据需求分析文档,设计测试用例,填写预期结果,在测试时,填写实际结果。
[1]李东生、崔冬华等编着的《软件工程—原理、方法和工具》
①C/.S:
客户端/服务器。
测试内容
给出第N项测试的名称(N为测试序号)
给出测试的日期和工作内容的详细安排
给出测试负责人和所有参加测试的单位及负责人
重点给出输入数据,输出结果,及测试步骤
说明所选择的测试用例能够检查的范围和局限性
.实验过程
登录界面的测试
测试1:
名称:
系统登录操作测试
目的:
测试系统登录界面的稳定性
内容:
账号,密码的合法性检查
数据库数据
表3-1管理员
表3-2普通员工
表3-3是否员工(是)
表3-4是否员工(否)
登录失败的结果试图如下:
图3-1登录失败试图
测试:
测试用例
输入
输出
账号
密码
身份
测试结果
‘’
‘asdsf’
普通员工
用户名或密码错误
‘12345’
‘asds’
普通员工
用户名或密码错误
‘’
‘’
普通员工
用户名或密码错误
‘TCT01’
‘000000’
普通员工
用户名或密码错误
‘admin’
‘admin’
普通员工
用户名或密码错误
‘0001’
‘123456’
普通员工
登录成功,进入
‘’
‘sadas’
管理员
用户名或密码错误
‘46464’
‘asdda’
管理员
用户名或密码错误
‘’
‘’
管理员
用户名或密码错误
‘TCT01’
‘123456’
管理员
用户名或密码错误
‘0001’
‘123456’
管理员
用户名或密码错误
‘admin’
‘admin’
管理员
登录成功,进入
用户管理界面的测试
测试1:
名称:
用户管理操作测试
目的:
测试系统用户管理的功能
内容:
使用不同数据,对用户管理功能进行合理性测试
数据库信息:
表3-5用户管理
用户管理界面
图3-2用户管理试图
用户管理失败界面
图3-3用户管理失败测试图
总结
本次仓库管理系统从开始的可行性研究到需求分析再到设计开发直至测试完成,期间出现了不少的问题和漏洞,最主要的就是设计的时候考虑不周全导致系统功能不完善,不过经过多次的测试检查以后,逐渐达到了预期的目标,可能其中还有不完善的,不过我们很乐意接受用户的建议进行修改完善,争取达到预期效果,使老师满意,用户放心。
仓库管理系统虽然规模不大,但是对于我们初次独自做系统来说还是有点困难的,这对我来说是个挑战也是个机会,从中我知道了做系统最不可少的是耐心和对全局观的把握,只有这样才能做的更好。
当然如果没有老师和同学的帮助也不可能如此顺利完成,谢谢老师和同学!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 仓库 管理 系统