JSP仓库管理系统的设计与实现论文.docx
- 文档编号:16057280
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:39
- 大小:377.71KB
JSP仓库管理系统的设计与实现论文.docx
《JSP仓库管理系统的设计与实现论文.docx》由会员分享,可在线阅读,更多相关《JSP仓库管理系统的设计与实现论文.docx(39页珍藏版)》请在冰点文库上搜索。
JSP仓库管理系统的设计与实现论文
毕业论文
学生
学号
学院
计算机科学与技术学院
专业
计算机科学与技术学院(软件工程)
题目
基于JSP的仓库管理系统
的设计与实现
摘 要:
仓库管理系统是一个企业不可或缺的部分,高效的仓库管理系统可以为企业的发展和经营提供坚强的后盾。
随着科技的不断发展,用计算机对仓库进行管理,具有人工管理所无法比拟的优点,例如:
检索迅速、查找方便、性好、成本低、寿命长等。
这些优点能极提高仓库管理的效率,使企业的仓库管理井井有条,为企业的健康发展创造良好的条件。
本文在分析现有管理系统开发技术的基础上,实现了以Eclipse为开发平台的基于JSP的,以MySql作为后台数据库的仓库管理系统。
该系统主要具备基本信息管理、库存管理、信息查询、用户管理等功能模块。
关键词:
仓库管理,JSP,MySql数据库
Abstract:
Warehousemanagementsystemisanindispensablepartoftheenterprise.Awarehousemanagementsystemwithhighefficiencycanprovideastrongbackingforthedevelopmentandmanagementofenterprises.Withthedevelopmentoftechnology,tomanagethewarehousewithcomputerhastheincomparableadvantagesofmanualmanagement.Forexample,quicksearch,findconvenient,goodsecurity,lowcost,longservicelifeetc.Theseadvantagescangreatlyimprovetheefficiencyofwarehousemanagement,theenterprisestoragemanagementbearrangedingoodorder,andcreategoodconditionsforthehealthydevelopmentofenterprises.Inthispaper,basedonanalysisoftheexistingmanagementsystemdevelopmenttechnology,inordertorealizetheEclipseasthedevelopmentplatformbasedonJSP,usingMySqlasthebackgrounddatabasewarehousemanagementsystem.Thesystemmainlyhasthebasicinformationmanagement,inventorymanagement,informationquery,usermanagementmodule
Keywords:
Warehousemanagement,JSP,MySqldatabase
1绪论
1.1开发背景
一直以来企业使用传统人工的方式来管理文件库存,这种管理方式存在许多缺点,如:
性差、效率低等,而且时间一长,将产生大量的数据和文件,这对于企业查找、更新和维护都带来了很多的困难。
由于缺乏科学的管理和管理工具,企业在业务上和管理上的安排都存在着许多不便。
因而针对这些问题而开发的系统具有很好的前景。
1.2开发意义
随着时代的不断发展,社会正在不断向信息化时代迈进。
由于能够有效地收集和处理各种信息,提高办事效率,电子自动化办公越来越被重视。
而随着互联网技术的不断发展,又为电子自动化办公的发展提供了良好的前景。
如今,很多企业已经拥有了计算机设备,具备物质条件,但很多工作仍由管理者手工操作完成,这就造成不必要的浪费。
计算机流行的原因主要有以下几个方面:
1.计算机可以代替手工操作进行许多繁杂的工作;
2.计算机可以节省大量资源;
3.计算机可以极提高人们的工作效率;
4.计算机可以使敏感文档更加安全;
5.电子自动化办公是先进生产力发展的重要标志。
综上所述,用计算机开发的软件系统,替代人工操作进行管理,可以节约大量的人力、物力,是企业发展的必然趋势[1]!
1.3本文组织结构
本系统将以课本和一些课外书籍为参考,从系统开发背景→需求分析→概要设计→详细设计→具体开发一步步对系统进行分析和设计。
各个章节安排如下:
第一章为绪论,简述项目的开发背景和开发意义;
第二章详细介绍了项目开发的应用技术,比如JSP,框架和数据库等;
第三章是需求分析,介绍了系统的设计目标和系统的主要功能模块。
第四章是数据库设计,在E-R模型的基础上,再设计出相应的逻辑模型。
第五章根据系统功能模块详细介绍了各模块的设计过程并给出部分实现代码。
2系统解决方案
2.1JSP语言概述
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
它的主要目的是将表示逻辑从Servlet中分离出来。
它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行[2]。
2.2SSH框架
SSH在J2EE项目中表示了3种框架,即Spring+Struts+Hibernate。
本系统采用MVC开发模式来编写代码,MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写[3]。
Struts对Model,View和Controller都提供了对应的组件。
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的[4]。
Spring使用基本的JavaBean来完成以前只可能由E完成的事情。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,也可以在应用E的J2EE架构中取代CMP,完成数据持久化的重任[5]。
2.3MySql数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库,这样就增加了速度并提高了灵活性。
MySQL的SQL语言是用于访问数据库的最常用标准化语言。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型的开发都选择MySQL作为数据库[6]。
2.4系统平台环境
(1)硬件环境:
服务器:
CPU:
2G或以上;
存:
1GRAM或以上;
硬盘:
80G或以上;
客户端:
CPU:
1G或以上;
存:
64MB以上存或更高;
硬盘:
20G或以上。
(2)软件开发环境:
操作系统:
WindowsXP;
所用工具:
Eclipse,NavicatforMySQL;
数据库:
MySQL。
3需求分析
3.1面向的用户人群
1.管理员:
作为系统的管理员和维护者,对系统基本信息、仓库管理等模块进行数据的管理,并对系统的更新作出与时的响应,使得系统能更好地运行。
2.普通用户:
作为系统的使用者,注册登陆系统后,可以查询系统基本信息、仓库信息、修改个人信息等。
3.2功能需求分析
图3-1系统功能模块图
本系统是一款仓库管理系统,旨在对仓库的自动化管理以适应信息化社会的生产方式。
根据仓库管理系统的需求,划分了仓库的功能模块,主要分为用户管理模块、入库出库模块、仓库查询模块、盘点统计模块[7]。
具体功能如图3-1所示。
3.3业务流程图
该系统的用户分为普通用户和管理员。
管理员拥有所有权限,而普通用户只能进行查询的操作。
1
2
3
3.1
3.2
3.3
3.3.1管理员模块
图3-2管理员使用流程图
管理员使用流程如图3-2所示。
1.登录
登陆界面包括账号和密码两个文本框和身份选择单选框,用户登陆成功就会转到系统主页面,否则将会提示账号密码错误。
2.查询信息
用户登陆查询信息界面可以对仓库信息(仓库、货物、供应商、部门、入库单、出库单)进行查询。
3.设置信息(管理员)
管理员用户登陆设置信息界面可以对仓库信息(仓库、货物、供应商、部门、入库单、出库单)进行设置。
4.添加记录(管理员)
管理员用户登陆添加界面可以添加入库和出库信息。
5.修改密码
用户可以修改自己的密码,需要先验证旧密码,验证成功后通过输入两次新密码对密码进行修改。
6.用户管理(管理员)
管理员用户可以对已添加的用户权限进行修改,也可以删除已存在的用户。
3.3.2普通用户模块
图3-3普通用户使用流程图
普通用户使用流程如图3-3所示。
普通用户只能进行查询操作和修改个人信息。
4数据库设计
数据库是一种存储数据并对数据进行操作的工具。
数据库的作用在于组织和表达信息,即数据库就是相关信息的集合。
本章从E-R模型的分析设计为切入点,重点介绍了数据库的设计。
根据仓库管理系统的功能,将其E-R图转化为数据库表,为系统的实现奠定了基础。
4.1E-R模型
E-R模型即实体-联系模型,它是由实体集、属性和联系集构成。
实体集用矩形框表示,矩形框写上实体名。
实体的属性用椭圆框表示,框写上属性名,并用无向边与其对应的实体集相连。
实体间的联系用菱形框表示,菱形框中写上以适当的含义命名的名字,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—N或M—N。
本系统的E-R模型主要包括部门实体、货物实体、用户实体、供应商实体、仓库实体、入库单实体和出库单实体共七个实体集和一个各实体联系集。
E-R模型如下文所述。
4
5
6
6.1
1.部门实体用来存储部门信息,E-R图如图4-1所示:
图4-1部门实体E-R图
2.货物实体用来存储货物信息,E-R图如图4-2所示:
图4-2货物实体E-R图
3.用户实体用来存储用户信息,E-R图如图4-3所示:
图4-3用户实体E-R图
4.供应商实体用来存储供应商信息,E-R图如图4-4所示:
图4-4供应商实体E-R图
5.仓库实体用来存储仓库信息,E-R图如图4-5所示:
图4-5仓库实体E-R图
6.入库单实体用来存储入库单信息,E-R图如图4-6所示:
图4-6入库单实体E-R图
7.出库单实体用来存储出库单信息,E-R图如图4-7所示:
图4-7出库单实体E-R图
8.各实体联系E-R图如图4-8所示。
用户通过添加入库单和出库单记录入库信息和出库信息,供应商提供货物,部门使用货物,一条记录对应一个供应商或者部门,
图4-8各实体联系E-R图
4.2数据模型
根据4.1中分析得出的E-R图,本系统采用MySql数据库管理系统,在MySql数据库管理系统中新建名称为mystorage的数据库,本系统所使用的所有数据信息均将存储于该数据库中。
以下列举数据表。
7
7.1
7.2
1.部门表(department)
表4-1部门表
列名
数据类型
大小
说明
depaId
int
4
部门编号
depaName
varchar
24
部门名称
depaPerson
varchar
15
部门经理
depaPhone
char
11
部门
depaAddr
varchar
90
部门地址
2.货物表(goods)
表4-2货物表
列名
数据类型
大小
说明
goodsId
int
4
货物编号
suppId
int
4
供应商编号
goodsName
varchar
30
货物名称
goodsSize
varchar
10
货物规格
goodsPrice
int
4
货物价格
unit
char
6
计量单位
3.入库表(instore)
表4-3入库表
列名
数据类型
大小
说明
instId
int
4
入库编号
instClass
char
1
入库类型
goodsId
int
4
货物编号
instNum
int
4
入库数量
instTime
datetime
8
入库时间
modifyTime
datetime
8
修改时间
stoId
int
4
仓库编号
userId
int
4
管理员编号
4.出库表(outstore)
表4-4出库表
列名
数据类型
大小
说明
outstId
int
4
出库编号
depaId
int
4
部门编号
goodsId
int
4
货物编号
outstNum
int
4
出库数量
outstTime
datetime
8
出库时间
modifyTime
datetime
8
修改时间
stoId
int
4
仓库编号
userId
int
4
管理员编号
5.仓库表(store)
表4-5仓库表
列名
数据类型
大小
说明
stoId
int
4
仓库编号
stoPerson
varchar
15
仓库管理员
stoPhone
char
11
仓库
usedVolu
int
4
已用库存量
allVolu
int
4
库存总量
6.供应商表(supplier)
表4-6供应商表
列名
数据类型
大小
说明
suppId
int
4
供应商编号
suppName
varchar
45
供应商名称
suppPerson
varchar
15
供应商联系人
suppPhone
char
11
供应商
suppAddr
varchar
90
供应商地址
7.用户表(user)
表4-7用户表
列名
数据类型
大小
说明
userId
int
4
用户编号
userName
varchar
15
用户名
pass
varchar
16
用户密码
userLevel
char
1
用户权限
8.库存表(stock)
表4-8库存表
列名
数据类型
大小
说明
stoId
int
4
仓库编号
goodsId
int
4
货物编号
stock
int
4
库存量
以上就是mystorage数据库的数据表。
5详细设计
5.1数据库连接类
在对数据库连接的过程中,为了使代码更精简,将对数据库的连接方法封装在DriverMana公共类中,其中包括数据库连接方法getConn、ResultSet的关闭方法closers、PreparedStatement的关闭方法closepstmt、Connection的关闭方法closecon。
以下即为代码:
publicclassDriverMana{
publicstaticConnectiongetConn(){
Connectioncon=null;
try{
Class.forName(".mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:
mysql:
//localhost:
3306/mystorage","root","root");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}
returncon;
}
publicstaticvoidclosers(ResultSetrs){
if(rs!
=null){
try{
rs.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
publicstaticvoidclosepstmt(PreparedStatementpstmt){
if(pstmt!
=null){
try{
pstmt.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
publicstaticvoidclosecon(Connectioncon){
if(con!
=null){
try{
con.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
}
5.2系统主要模块
5.2.1登录模块
图5-1登录界面
本模块主要用于对用户身份进行鉴别。
用户有两种身份:
普通用户和管理员。
用户通过单选框选择登录身份,通过表单输入用户名、密码,系统根据用户提供的信息对用户进行身份鉴别。
界面如图5-1所示。
后台代码实现:
publicvoiddoPost(ServletRequestrequest,ServletResponseresponse)
throwsServletException,IOException{
StringuserName=request.getParameter("username");
Stringpassword=request.getParameter("paswrd");
StringuserLevel=request.getParameter("userLevel");
Userluser=newUser();
luser.setUserName(userName);
luser.setPassword(password);
luser.setUserLevel(userLevel);
ILoginDaologinDao=newLoginDaoImpl();
Userlogin=loginDao.getUser(luser);
if(login!
=null){
Sessionsession=request.getSession();
session.setAttribute("login",login);
ServletContextcontext=this.getServletContext();
RequestDispatcherdispatcher;
if(login.getUserLevel().equals("0")){
dispatcher=context.getRequestDispatcher("/comUser.jsp");
}
else{
dispatcher=context.getRequestDispatcher("/manaUser.jsp");
}
dispatcher.forward(request,response);
}
else{
request.setAttribute("loginFail","登录失败");
ServletContextcontext=this.getServletContext();
RequestDispatcherdispatcher=context.getRequestDispatcher("/login.jsp");
dispatcher.forward(request,response);
}
}
5.2.2目录生成模块
由登陆界面进入主界面后,总体界面如图5-2所示:
图5-2主界面
画面左边即为目录。
目录模块主要用于生成目录部分,菜单的折叠展开是使用javascript代码实现的。
菜单展开折叠功能实现代码:
vardivheight=130;
varspeed=11;
vari=0;
vars;
varp=0;
functiondoOpenClose(n){
if(document.getElementById("bbb"+n).offsetHeight<11){
i=0;
inc(n);
}
else{
if(document.getElementById("bbb"+n).offsetHeight>divheight){
p=divheight;
inc2(n);
}
}
}
functioninc(x){
i=i+10;
document.getElementById("bbb"+x).style.height=i+"px";
if(i>divheight){
i=divheight-5;
}
vars=setTimeout("inc("+x+")",speed);
if(i==125){
window.clearTimeout(s);
}
}
functioninc2(x){
if(p>1){
p=p-10;
document.getElementById("bbb"+x).style.height=p+"px";
}
vars=setTimeout("inc2("+x+")",speed);
if(p==0){
window.clearTimeout(s);
}
}
5.2.3基本信息管理模块
基本信息管理模块包括供应商管理、货物管理、仓库信息管理和部门管理。
1.供应商管理
本功能用于对供应商信息的记录管理。
管理员可以添加新的供应商,修改已有的供应商信息,删除供应商信息等。
界面如图5-4所示:
图5-4供应商管理界面
主要代码:
1)添加供应商
publicvoiddoPost(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 仓库 管理 系统 设计 实现 论文