基于JSP仓库管理系统的设计与实现毕业论文.docx

上传人:b****8 文档编号:10112223 上传时间:2023-02-08 格式:DOCX 页数:39 大小:217.25KB
下载 相关 举报
基于JSP仓库管理系统的设计与实现毕业论文.docx_第1页
第1页 / 共39页
基于JSP仓库管理系统的设计与实现毕业论文.docx_第2页
第2页 / 共39页
基于JSP仓库管理系统的设计与实现毕业论文.docx_第3页
第3页 / 共39页
基于JSP仓库管理系统的设计与实现毕业论文.docx_第4页
第4页 / 共39页
基于JSP仓库管理系统的设计与实现毕业论文.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

基于JSP仓库管理系统的设计与实现毕业论文.docx

《基于JSP仓库管理系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于JSP仓库管理系统的设计与实现毕业论文.docx(39页珍藏版)》请在冰豆网上搜索。

基于JSP仓库管理系统的设计与实现毕业论文.docx

基于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所示。

用户通过添加入库单和出库单记录入库信息和出库信息,供应商提供货物,部门使用货物,一条记录对应一个供应商或者部门,

货物入库

货物出库

仓库

入库单

出库单

供应商

部门

货物

存放

用户

添加

n

n

1

1

添加

1

1

n

n

m

n

m

m

图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.getElementByI

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1