软件工程毕业设计企业成品库存管理的设计与实现后台.docx
- 文档编号:10471978
- 上传时间:2023-02-13
- 格式:DOCX
- 页数:24
- 大小:463.33KB
软件工程毕业设计企业成品库存管理的设计与实现后台.docx
《软件工程毕业设计企业成品库存管理的设计与实现后台.docx》由会员分享,可在线阅读,更多相关《软件工程毕业设计企业成品库存管理的设计与实现后台.docx(24页珍藏版)》请在冰豆网上搜索。
软件工程毕业设计企业成品库存管理的设计与实现后台
河北农业大学
本科毕业论文(设计)
题目:
企业成品库存管理的设计与实现(后台)
摘要
人们一直以来使用传统人工的方式管理仓库中的各种物资设备,这种管理方式存在着许多缺点,如:
效率低等,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
所以对于企业的决策者和管理者来说一个库存管理系统是至关重要的。
本系统开发主要是采用浏览器/服务器(B/S)模式,包括后台数据库的建立、维护以及前端应用程序的开发两个方面。
本系统在采用MyEclipse开发工具的基础上,运用MySql数据库系统和面向对象Java开发技术实现的。
本系统具有完善的数据处理功能,方便快捷的浏览界面、易于操作的功能模块,并能够准确反映各种情况及信息,为管理人员提供准确的数据,基本满足了企业库存管理的要求。
本文简要介绍了库存管理系统的项目开发背景和意义,着重阐述了该系统开发实现过程,从系统的需求分析、方案设计、模块设计、数据设计、详细设计等各个环节都进行了详尽的分析和描述。
关键词:
库存管理,MyEclipse,MySQL,JAVA
Abstract
Peoplehavebeenusingavarietyofmaterialsandequipment,thetraditionalmanualmanagementofwarehouse,thismanagementwayhasmanyshortcomings,suchas:
lowefficiency,anothertimealong,willproducethemassivedocumentsandthedata,thisregardingthesearch,therenewalandthemaintenancehasallbroughtmanydifficulties.Soforbusinessdecision-makersandmanagersisaninventorymanagementsystemisveryimportant.
Thesystemismainlyusedtodevelopthebrowser/server(B\/S)mode,includesthebackstagedatabasetheestablishment,maintenanceandfront-endapplicationdevelopmenttwoaspects.ThesystembasedontheMyEclipsedevelopmenttools,implementationofobjectorientedtechnologyandJavadevelopmentbyMySqldatabasesystem.Thissystemhasimprovedthedataprocessingfunction,convenientbrowsinginterface,functionmoduleiseasytooperate,andcanaccuratelyreflectthesituationandinformation,provideaccuratedataforthemanagementpersonnel,tomeetthebasicrequirementsoftheenterpriseinventorymanagement.
Thispaperbrieflyintroducestheinventorymanagementsystemprojectbackgroundandsignificance,andemphaticallyexpoundsthesystemdevelopmentprocess,differentfromthesystemofneedsanalysis,programdesign,moduledesign,datadesign,detaileddesignandotheraspectsofadetailedanalysisanddescription.
Keywords:
inventorymanagement,MyEclipse,MySQL,JAVA
1.绪论
1.1背景和意义
库存管理系统是现代企业进行货物管理和处理的业务操作系统。
它可以实现本地一个或几个仓库的精细化管理,它可以对货物存储和出货等进行动态安排,可以对仓储作业流程的全过程进行电子化操作;可以与客服中心建立数据接口使客户通过互联网实现远程货物管理,可以与企业的ERP系统实现无缝连接。
在现代企业中,仓库管理是一项繁琐复杂的工作,每天要处理大量的单据数据。
为及时结清每笔业务,盘点库存和货物流动情况,保证企业生产用料以及货物安全,库管人员要花费大量人力物力和时间来作数据记录统计工作。
众所周知,仓库管理是一种既麻烦又单调的工作,每天都是重复记录一些货物的存入与取出,而且货物的种类数量繁多,存取有很大的随机性,这样为工作人员带来了很大的不便,在操作过程中,由于人为的计算出错率很高,一旦出错改正也很困难,这样简单繁重的工作要很多人来做,为经营者增加了很多成本。
所以开发一个可行的库存管理系统是十分必要的。
1.2本文的工作
本系统以MySQL作为后台数据库,以java语言来开发的,不仅实现了企业库存管理的自动化,同时也提高了工作效率。
本系统由以下几个模块组成:
基本信息管理、入库管理、出库管理、用户管理。
2.系统分析
2.1需求分析
本系统是为物流管理而设计的高效管理系统,系统功能强大,同时操作又比较简单,而管理人员大多受到过系统的培训,并能够操作电脑,所以只要花很少的时间,就能够让他们熟悉本系统。
系统开发的总体任务是实现各种信息的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成。
2.2系统功能
2.2.1系统功能描述
本库存管理系统需要完成功能主要有:
●订单管理,包括订单的录入,查询,更改,删除,订单明细的编辑等
●入库管理,包括入库单的录入,查询,更改,删除,入库明细的编辑以及入库操作等
●出库管理,包括出库单的录入,查询,更改,删除,出库明细的编辑以及出库操作等
●仓库管理,包括仓库信息的查询,初始化和整理等操作
●基本数据管理,包括对系统用户的基本信息和产品信息的操作,包含对用户密码的修改,基本信息的设置和查询,以及产品价格信息的修改等
2.2.2系统业务流程图
图2-1系统业务流程图
2.2.3系统的角色定义
本系统角色包括三种,系统管理人员,销售经理和仓库管理人员。
其中
销售经理:
对订单进行录入,订单基本信息的查询浏览等具体权限有:
●订单信息录入和查询,修改删除
●密码的修改
●订单明细的编辑
仓管部管理人员:
负责仓库的出入库管理,可以根据流向单实现出/入库操作,负责整个企业仓管部门的日常运作和管理工作。
具体权限有:
●订单信息浏览
●出库单信息的维护以及出库操作
●入库单信息的维护以及入库操作
●密码的修改
●仓库信息的维护及整理
系统管理人员
管理系统用户、角色与权限,保证系统正常运行
2.3技术介绍
2.3.1JSP技术简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分。
它虽然还未成型,但是它必将和J2EE(Java2EnterpriseEdition)一起发展。
JSP是结合markup(HTML和XML)和Java代码来处理一种动态页面。
每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。
JSP提供了多种方式访问Javaclass、Servlet、Applets和WebServer,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起.
2.3.2Servlet技术简介
Servlet是一些用来扩展Web服务器功能的Web组件,它基于请求/响应机制。
所有的程序代码全部由JAVA组成,而且全部封装成了一个类,可以编写任意的JAVA代码,可以调用任意的JAVA类。
Servlet从客户端(例如Web浏览器)获得请求,然后,将响应结果返回客户端。
Servlet的这种特点使它非常适合于Web应用。
Servlet和EJB组件的区别在于EJB组件所提供的服务器端组件特性并不能全部适用于Servlet,Servlet更适合于处理简单的请求/响应任务,而且它不需要应用服务器所提供的复杂服务的支持。
2.3.3MVC简介
MVC设计模式都是以Servlet为主题展开的,由Servlet接收所有的客户端请求,然后根据请求调用相应的JavaBean,并将所有的显示结果交给JSP完成。
它强制性地使应用程序的输入、处理和输出分开。
MVC设计模式被分为3个核心层,即模型层、显示层和控制层。
它们各自处理自己的任务,各层的任务如下。
1、显示层(View):
主要负责接收Servlet传递的内容,并且调用JavaBean,将内容显示给用户。
2、控制层(Controller):
主要负责所有的用户请求参数,判断请求是否合法,根据请求的类型调用JavaBean执行操作并将最终的处理结果交由显示层进行显示。
3、模型层(Model):
完成一个独立的业务操作组件,一般都是以JavaBean的形式进行定义的。
3.系统设计
3.1数据库设计
3.1.1数据库需求分析
数据库设计时应该充分了解用户的需求,包括现有的以及将来可能增加的需求。
数据库设计包括如下几个步骤:
1.数据库需求分析
2.数据库概念设计
3.数据库逻辑结构设计
用户的需求具体体现在各种信息的提供、保存、更新和查询等方面,这就要求数据库结构能充分满足各种信息的输入输出。
根据基础数据、数据结构以及数据处理的流程,组成一份详细的数据字典,为后面的具体设计打下基础。
在仔细分析调查有关库存信息需求的基础上,通过上面的数据流程图可以设计出下面的数据项和数据结构
1.用户管理基本信息,包括用户名,用户编号,密码,用户等级,用户联系方式(其中等级分三个级别)
2.入库单基本信息,包括入库单编号,入库单状态,仓库编号,填单人
3.入库明细信息,包括入库明细编号,对应入库单编号,产品名称,入库数量
4.出库单基本信息,包括出库单编号,状态,仓库编号,填单人,订单编号
5.出库明细信息,包括出库明细编号,对应出库单编号,产品名称,出库数量
6.订单基本信息,包括订单编号,状态,签单日期,订单金额,填单人
7.订单明细信息,包括订单明细编号,对应订单编号,产品名称,需求数量,已出库数量
8.产品基本信息,包括产品名称,产品单价
9.仓库基本信息,包括仓库编号,仓库管理员,产品名称,在库数量
这里为了方便每个表主键的生成,还设计了一个主键生成表
10.主键基本信息,包括对应表名称,主键值
3.1.2数据库逻辑设计
本库存管理系统所用的数据库是store,如下是表在数据库的逻辑表示:
表3.1orders(订单表)
字段名
注释
类型
长度
是否主键
是否允许为空
Ordered
订单编号
INTEGER
10
√
Orderstate
订单状态
VARCHAR
50
Orderdate
签单日期
datetime
√
Orderinput
签单人
VARCHAR
50
Osum
数量
INTEGER
11
默认为0
表3.2ordersub(订单明细表)
字段名
注释
类型
长度
是否主键
是否允许为空
Ordered
订单编号
INTEGER
10
Ordersubid
明细编号
INTEGER
10
√
Proname
产品名称
VARCHAR
50
Pronum
需求数量
INTEGER
10
Osum
已出库数量
INTEGER
10
默认为0
表3.3input(入库单表)
字段名
注释
类型
长度
是否主键
是否允许为空
inputid
入库单编号
INTEGER
10
√
Ipstatus
入库单状态
VARCHAR
50
storeid
仓库编号
INTEGER
10
inputer
填单人
VARCHAR
50
表3.4inputsub(入库明细表)
字段名
注释
类型
长度
是否主键
是否允许为空
inputid
订单编号
INTEGER
10
ipsubid
明细编号
INTEGER
10
√
proname
产品名称
VARCHAR
50
ipnum
入库数量
INTEGER
10
表3.5output(出库单表)
字段名
注释
类型
长度
是否主键
是否允许为空
opid
出库单编号
INTEGER
10
√
opstatus
出库状态
VARCHAR
50
orderid
订单编号
INTEGER
10
√
storeid
仓库编号
INTEGER
10
outers
填单人
VARCHAR
50
默认为0
表3.6outputsub(出库明细表)
字段名
注释
类型
长度
是否主键
是否允许为空
opid
出库单编号
INTEGER
10
opsubid
明细编号
INTEGER
10
√
proname
产品名称
VARCHAR
50
opnum
出库数量
INTEGER
10
表3.7appuser(用户表)
字段名
注释
类型
长度
是否主键
是否允许为空
userid
用户编号
INTEGER
10
√
username
用户名
INTEGER
118
password
登录密码
VARCHAR
118
userlevel
用户级别
INTEGER
10
usertel
联系方式
VARCHAR
50
√
表3.8storage(仓库表)
字段名
注释
类型
长度
是否主键
是否允许为空
storeid
仓库编号
INTEGER
10
√
admin
管理员
INTEGER
50
proname
产品名称
VARCHAR
50
pronum
库存数量
INTEGER
12
表3.9product(产品表)
字段名
注释
类型
长度
是否主键
是否允许为空
proname
产品名称
VARCHAR
50
√
price
产品单价
float
表3.10product(主键表)
字段名
注释
类型
长度
是否主键
是否允许为空
pkname
产品名称
VARCHAR
50
pkvalue
主键值
INTEGER
10
3.2开发工具及运行环境
1.开发工具:
MyEclipse6.0
2.软件环境:
Tomcat6.0,JDK5.0以上
3.硬件环境:
cpu:
P32.0GHZ以上 Memory:
512M以上
4.系统实现
4.1模块设计
本系统包括:
订单管理、出库管理、入库管理、库存总控台、基础数据(包括用户信息和产品信息)管理五个功能模块。
4.2主要包结构
1.检验用户登录cn.hebau.store.servlet.LoginA
2.订单操作cn.hebau.store.servlet.Orders
3.订单明细操作cn.hebau.store.servlet.OrderSubs
4.入库单操作cn.hebau.store.servlet.InputAction
5.入库单明细操作cn.hebau.store.servlet.Inputs
6.出库单操作cn.hebau.store.servlet.OutputAction
7.出库单明细操作cn.hebau.store.servlet.Outputs
8.仓库操作cn.hebau.store.servlet.StorageAction
9.系统用户操作cn.hebau.store.servlet.AppuserAction
10.产品操作cn.hebau.store.servlet.ProductAction
考虑到实际需要,每个表的都还设计了一个主键生成器部分,主要是在
cn.hebau.store.dao.primarykey包下实现
4.3主要页面截图及功能介绍
4.3.1登录界面
下面是主要是分模块介绍各个部分的功能以及实现
首先,登录页面,如图4-1
图4-1登录页面
4.3.2订单管理界面
登录成功后跳转到主页,这个页面根据不同的用户,在设计这个页面的时候要考虑到用户的具体分工,刚开始是想全部通过过滤器,后来发现过滤器很难全部过滤,就在前台页面实现,不具有该功能的用户在点击具体的总模块名时,按钮不能弹开。
图4-2系统主界面
其中订单管理页面如图4-3
图4-3订单管理
点击修改按钮进行订单明细编辑,如图4-4
图4-4订单明细管理
点击添加后则录入新的一条订单明细,相应的订单金额也根据数量*单价计算出来,如果点击删除,则订单明细的金额也做相应的减法操作
订单管理页面包括订单的查询,修改和删除以及对订单明细的编辑。
只要订单界面出于未出库状态就可以对该订单进行明细编辑,包括添加和删除操作,已经出了库的订单就不对其进行操作了,每一个订单编号都有相应的超链接,可从数据库中查出与之相对应的出库信息。
这一层的具体实现代码时在cn.hebau.store.servlet包下的OrderAction和OrderSubs中实现的
部分代码如下:
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
HttpSessionsession=request.getSession();
Stringmethod=request.getParameter("method");
if(method.equals("all")){//查询
Listorders=DbFactory.getOrderDaoInstance().selectAll();
session.setAttribute("orders",orders);
response.sendRedirect("/store/order/list.jsp?
");
}
elseif(method.equals("del")){//删除
intid=Integer.parseInt(request.getParameter("id"));
DbFactory.getOrderDaoInstance().deleteById(id);
Listorders=DbFactory.getOrderDaoInstance().selectAll();
session.setAttribute("orders",orders);
response.sendRedirect("/store/order/list.jsp?
");
}
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
HttpSessionsession=request.getSession();
Stringmethod=request.getParameter("method");
if(method.equals("insert")){//查询
Ordersorder=newOrders();
Stringorderinput=newString(request.getParameter("orderinput").getBytes("ISO-8859-1"),"GBK");if(DbFactory.getAppuserDaoInstance().findByname(orderinput))
{
try{order.setOrderid(DbFactory.getOrderDaoInstance().getNextKey());
order.setOrderinput(orderinput);
Dateorderdate=newjava.text.SimpleDateFormat("yyyy-M-dd").parse(request.getParameter("orderdate").toString().trim());
System.out.println(orderdate+"gggggggggggggggggggg");
order.setOrderdate(orderdate);
DbFactory.getOrderDaoInstance().insert(order);
Listorders=DbFactory.getOrderDaoInstance().selectAll();
session.setAttribute("orders",orders);
}catch(Exceptione){
e.printStackTrace();
}
response.sendRedirect("/store/order/list.jsp?
");
}
else{
session.setAttribute("errmsg1","
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 毕业设计 企业 成品 库存 管理 设计 实现 后台