软件工程毕业设计仓库管理系统Word格式文档下载.docx
- 文档编号:22215135
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:42
- 大小:421.04KB
软件工程毕业设计仓库管理系统Word格式文档下载.docx
《软件工程毕业设计仓库管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件工程毕业设计仓库管理系统Word格式文档下载.docx(42页珍藏版)》请在冰豆网上搜索。
①C/.S:
客户端/服务器。
1.2.要求和目标
1.2.1基本要求
·
功能:
具有一定权限的管理人员可以对货物的售出和补充,以及新增加的商品和种类及时的进行修改,同时还具有缺货提示功能。
性能:
详实有效的罗列出商品货物的数量和种类,来方便超市管理人员。
输入:
具有一定权限的管理人员对货物数量种类进行修改。
输出:
查询结果。
系统功能模块图1-1,数据流图1-2
图1-1系统功能模块图
图1-2数据流图
功能模块及流图的简要描述:
首先超市管理人员需要登录系统,如果登陆成功则以进入系统进行操作,否则会提示错误,要求重新登录。
登录成功后,管理人员可以根据自己的需要进行操作。
当添加货物种类,更改货物数量,都需要管理人员登录系统后才能操作。
当货物数量较少时,系统会自动提示管理人员要进货了。
本系统还可以管理管理人员的登录,即可以对有权限操作该系统的人员进行增、删、改功能。
在安全与保密方面的要求:
对于有权限的人员才可以进行对系统的操作。
1.2.2开发目标
①方便使用者对仓库货物的查询、删除、更新,减少人力和设备的需求。
②方便了解进出仓库货物情况。
③及时为用户发出缺货提示。
④提高工作的效率。
⑤降低仓库管理及维护费用。
1.2.3具备条件
①开发条件:
计算机实验室所提供的环境即可。
②开发时间:
开发的全过程必须在3个月内完成。
③开发所需的经费:
无。
④运行的系统:
WindowXP以上版本即可
⑤数据库:
sqlserver2000或者sqlsever2005
1.2.4评价尺度
本软件在投入使用起,维护费用较少,操作方便。
1.3.投资及效益分析
1.3.1支出
由于是学生自行开发的项目,无需任何费用。
1.3.2收益
系统完成后即可交付使用,主要是为了方便超市货物管理,有着重大的意义。
1.3.3投资回收周期
即时。
1.4.社会因素方面的可行性
1.4.1法律方面的可行性
该系统的开发和研制,将不会侵犯他人、集体和国家的利益,不会违犯国家政策和法律。
1.4.2使用方面的可行性
该系统操做简单,不需要专业培训,一般人员即可胜任。
1.4.3其它方面的可行性
作为计算机工程学院软件班的学生,通晓一些计算机软件知识。
我们学习过J2EE和JSP课程,可用到该系统网页的制作,我们小组有2个人,开发此程序足以应付。
当然,我们作为学生,在开发系统上面,经验甚少,当我们技术上遇到难以解决的问题是可以求助于老师的。
所以技术方面是可行的。
1.5.结论
综上所述,该项目应立即开始进行研发。
从人力资源优化角度来说,可以充分利用人力资源。
从经济利益的角度来看,即时开发完成即可用,可以立即赢利。
但系统仍旧有些不足,例如修改方面还需人工手动修改数量等。
在系统的交付使用中如有不足还望指出,以便改进。
第二章仓库管理系统需求分析
本系统的主要需求者是超市后台管理员,该系统的图是用StarUML绘制的。
2.1.本项目概述
本项目所开发的超市仓库管理系统完成超市管理员对货物的管理,减少数据漏掉的情况,更方便管理人员的浏览和操作,节省了人力物力。
2.2.系统一般性描述
由于本系统的数据还算不上大型的。
所以数据库服务器与web服务器共用同一台计算机。
系统中的货物信息和管理员信息都存放在sqlserver数据库中。
2.2.1系统的用例图‘图2-1系统用例图’,用例图说明:
图2-1系统用例图
本系统主要只针对具有权限的理员进行操作,首先管理员必须具有正确的账号和密码才能进入系统进行操作。
进入系统后的主要功能模块如下:
添加功能:
可以添加货物的具体信息同时还可以增加管理员。
修改功能:
可以对货物的所有信息进行修改。
删除功能:
删除超市已经不存在的货物的信息同时还可以删除不存在的管理员。
查询功能:
可根据货物的品牌或者名称对货物进行查询,也可以根据管理员账号或者管理员用户名对用户进行查询。
进货出货功能:
可以对货物的数量进行修改。
缺货提示:
当货物的数量小于50件时在主页面会为管理员进行提示已缺货。
更改密码功能:
当某个管理员登录系统后可以更改自己的密码。
2.2.2系统的用类‘图2-2类图’,类图说明:
图2-2类图
类的详细说明:
商品类:
属性:
商品编号:
商品编号是用来确定商品唯一性的。
商品数量:
说明商品的库存量。
商品名称:
说明商品的名称。
方法:
登录系统:
用于验证管理身份。
增加商品:
用于增加系统内没有的商品信息。
删除商品:
仓库没有的商品信息。
修改商品:
用于修改商品的具体信息。
进货:
用于只对要增加货物量的商品进行操作。
出货:
用于只对要减少货物量的商品进行操作。
当商品数量低于10后会在主页上提示缺货。
管理员类:
管理员ID:
该属性是自动增长型,具有唯一性。
管理员账号:
用于登录时的账号。
管理员名称:
该属性和账号一起可以识别唯一的管理员。
管理员密码:
用于登录时和账号一起用于身份验证。
方法:
增加管理员:
可以赋予没有权限的人管理权限。
删除管理员:
可以删除不存在的管理员。
2.2.3状态图(图2-3状态图):
图2-3状态图
2.2.4时序图(图2-4时序图):
图2-4时序图
第三章设计说明书
3.1引言
3.1.1系统概要及其运行环境
软件详细设计阶段是软件设计的重要阶段,本阶段的工作就是要对系统中的每个模块给出足够详细的过程性描述,因此也称为“过程设计”。
详细设计的根本目的就是确定应该怎样具体实现所需求的系统,也就是说经过这一阶段的设计,会得出对学生选课系统的精确描述。
其根本任务就是设计出程序的“蓝图”
3.1.2系统的组成部分及其结构
本系统分为四大模块,即用户管理模块、出库模块、入库模块、库存管理模块。
管理员模块可分为普通用户模块和管理员模块,库存管理模块包括查询模块和修改模块。
详细操作请见类图
3.1.3参考资料
软件工程——原理,方法和工具
Java核心思想
3.2软件设计约束
本系统采用JavaUI技术,基本上没有什么平台约束。
在数据库方面,需要创建本地数据源。
3.2.1设计目标和原则
本设计欲达到的目标:
能够使用户简单快捷的完成商品出库和入库的功能及库存管理功能。
系统的性能达到高效,实用,易于维护。
为实现上述目标,在设计软件过程中采用UML绘图来描述整个系统,利用前人的专家级经验,提高开发效率。
3.2.2设计约束
(1)无论是普通用户还是管理员,都可以在本地访问该系统。
完成各自授权的活动和工作。
(2)该系统采用C/S模式,并且考虑性能、安全、可靠性、易用、可扩展和可维护。
(3)整个开发过程应满足软件需求分析的进度要求所规定的时间。
3.3软件设计描述
3.3.1总体结构设计
本系统由以下几个功能模块组成:
用户管理模块汇总:
(1)添加普通用户信息(仅管理员可以使用,可以添加用户到数据库中)
(2)管理普通用户信息(仅管理员可以使用,可以对普通用户进行修改删除等操作)
库存管理模块汇总
(1)查询入库信息(普通用户使用,对自己入库的商品进行查询操作)
(2)查询出库信息(普通用户使用,对所出库的商品进行相关操作)
(3)所有库存信息(对所有商品信息进行查询)
3.3.2详细结构设计
图3-1仓库管理系统顺序图
3.4系统界面设计描述
当用户启动程序后真接显示主界面,在主界面中有‘用户管理’,‘商品入库’,‘商品出库’,‘库存管理’以及退出系统。
当用户在未登录的状态下执行任何操作时系统会自动判断是否已经登录,若用户还没有登录则显示登录界面,让用户进行登录。
若登录的帐号不存在则表示该用户还不是员工,故需要用户重新申请新的用户,新用户的类型为普通员工,当普通用户已经通过管理员审核,并且分配了相关的权限后就可以登录系统。
若用户是管理员则该用户可以对普通用户进行相关的修改和删除,而且还可以修改、查询、删除库存表及商品出入库表中的相关信息。
若用户是普通员工则只能进行商品的出入库及查询。
3.4.1登录界面设计
用户通过输入登录的账号和密码及类型系统进行验证
图3-2用户登录界面
3.4.2商品出入库界面设计
图3-3商品出入库界面设计
3.4.3库存界面设计
图3-4库存界面设计
3.5数据库设计
数据库名:
StoreHouseDB
用户表:
Users主键:
员工号
商品入库表:
InStore主键:
入库编号
商品出库表:
OutStore主键:
出库编号
库存表:
StoreManage主键:
商品编号
3.5.1建表
下面具体给出各个表
表3-1Users
列名
属性
Varchar(13)
员工姓名
Varcahar(20)
密码
Varchar(16)
证件号
Varchar(18)
员工类型
Varchar(8)
是否员工
Varchar
(2)
表3-2InStore
int
Varchar(20)
商品名称
Varchar(50)
入库数量
Int
入库人
入库时间
Datetime()
表3-3OutStrore
Varcahr(50)
出库数量
出库人
出库时间
表3-4StoreManage
库存量
第四章系统相关代码
4.1登录界面(主要代码)
publicbooleanisExistsEmply(Stringid){
booleanflags=false;
try
{
intcount=0;
Stringsql1="
select员工号fromUserswhere员工号=?
"
;
PreparedStatementps=conn.prepareStatement(sql1);
ps.setString(1,(String)id);
ResultSetresult=ps.executeQuery();
while(result.next())
{
count=result.getRow();
}
result.close();
ps.close();
if(count>
0)
this.UID=id;
flags=true;
getInfo(id);
returnflags;
else
error.errorDialog((String)id);
}
catch(Exceptione)
e.printStackTrace();
returnflags;
}
//根据‘工号’分别获取对应的的信息
publicvoidgetInfo(Stringuid){
Stringsql2="
select员工姓名,密码,员工类型,是否员工fromUserswhere员工号=?
PreparedStatementpps=conn.prepareStatement(sql2);
pps.setString(1,uid);
ResultSetresult=pps.executeQuery();
name=result.getString
(1).toString().trim();
password=result.getString
(2).trim();
employtype=result.getString(3).toString().trim();
emplooy=result.getString(4).toString().trim();
pps.close();
//对登录的'
工号'
进行密码验证
publicbooleanlogin(Stringid,Stringpwd,Stringtype){
booleanisEmploy=false;
if(id.equals(UID)&
&
pwd.equals(password)&
type.equals(employtype))
isEmploy=true;
returnisEmploy;
returnisEmploy;
//判断用户是否已经通过管理员的审核
publicbooleanY_NEmply(){
booleanisE=false;
if(this.emplooy.equals("
是"
))
System.out.println("
员工号:
+UID+"
已经通过了审核................."
);
main.showMainFarme();
isE=true;
returnisE;
elseif(this.emplooy.equals("
否"
error.noEmplo0y(UID);
returnisE;
4.2出库界面(主要代码)
publicObjectsetSdata2(){
select*fromOutStore"
Statementst=conn.createStatement();
ResultSetresult=st.executeQuery(sql2);
Sdata2=newObject[Row2][Column2];
intn=0;
Sdata2[n][0]=result.getString
(1).toString().trim();
Sdata2[n][1]=result.getString
(2).toString().trim();
Sdata2[n][2]=result.getString(3).toString().trim();
Sdata2[n][3]=result.getString(4).toString().trim();
Sdata2[n][4]=result.getString(5).toString().trim();
Sdata2[n][5]=result.getString(6).toString().trim();
n++;
st.close();
returnSdata2;
returnSdata2;
//先判断库存表中是否存在要出库的商品编号
publicbooleanisExistsGid(Stringgid){
Stringsql3="
selectcount(商品编号)fromStoreManagewhere商品编号=?
PreparedStatementps=conn.prepareStatement(sql3);
ps.setString(1,gid);
count++;
//判断库存表中的库存量是否满足出库的笨条件
publicbooleanlookNumber(Stringgid,intnumber){
intnum=0;
Stringsql4="
select库存量fromStoreManagewhere商品编号=?
PreparedStatementps=conn.prepareStatement(sql4);
num=result.getInt
(1);
if(number<
=num)
else
flags=false;
returnflags;
//商品出库向出库表写入一条数据的出库记录
publicvoidnewStoreOuput(Stringoutgid,Stringoutgname,intoutgnum){
Stringsql5="
insertintoOutStore(商品编号,商品名称,出库数量,出库人,出库时间)values(?
?
getdate())"
PreparedStatementps=conn.prepareStatement(sql5);
ps.setString(1,outgid);
ps.setString(2,outgname);
ps.setInt(3,outgnum);
ps.setString(4,outpeople);
ps.executeQuery();
//这是要修改库存表中的库存量
publicvoidupdateStoreManage(Stringoutgid,intnum){
Stringsql6="
updateStoreManageset库存量=(select库存量fromStoreManagewhere商品编号=?
)-?
where商品编号=?
PreparedStatementps=conn.prepareStatement(sql6);
ps.setString(1,outgid);
ps.setInt(2,num);
ps.setString(3,outgid);
//向出库表模型中添加一条新一出库记录
publicObjectaddOutStoreToTable(Stringoutgid){
Stringsql7="
select*fromOutStorewhere商品编号=?
and出库编号=(selectcount(*)fromOutStore)"
PreparedStatementps=conn.prepareStatement(sql7);
Resu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 毕业设计 仓库 管理 系统