毕业设计(论文)基于Struts的库存管理系统的设计与实现

上传人:痛*** 文档编号:41090624 上传时间:2021-11-18 格式:DOC 页数:52 大小:2.42MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于Struts的库存管理系统的设计与实现_第1页
第1页 / 共52页
毕业设计(论文)基于Struts的库存管理系统的设计与实现_第2页
第2页 / 共52页
毕业设计(论文)基于Struts的库存管理系统的设计与实现_第3页
第3页 / 共52页
资源描述:

《毕业设计(论文)基于Struts的库存管理系统的设计与实现》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于Struts的库存管理系统的设计与实现(52页珍藏版)》请在装配图网上搜索。

1、济南大学毕业设计摘 要库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起一个数据一致性和完整性强,数据安全性好的库;而对于后者则要求应用程序具有功能完备,易使用等特点。经过分析以上情况,我采用由Sun Microsystems公司推出的Java程序设计语言作为前端的开发工具,oracle 10g建立后台数据库,在本次毕业设计中开发了这套库存管理系统。本系统利用Java提供的SSH框架,更好的面向对象从而方便,简洁的实现了应用程序和数据库的访问,是一款简单的可行系统。关键词:库存管理;面向对象;数据库;MISABST

2、RACTInventory management system is a typical management information system (MIS) , Which mainly includes database creation and maintenance, and front-end application development aspects. The former requires a strong consistency and integrity of data, and data with good security; while the latter req

3、uires the application functional, easy to use and so on.After analyzing of the above, I use Sun Microsystemss Java as a front-end application development tool, Oracle 10g establishing the background database, to develop the inventory management system in this graduation project. The system uses a va

4、riety of object-oriented development tools named SSH which Java Provides, especially the SSH, which can be simple and easy to manipulate the database, so it is a viable system which allows the users satisfaction. Key words: Inventory Management; Object-oriented; Database; MIS- 49 -目 录前 言31 系统分析51.1

5、选题的背景51.2 系统的需求分析51.2.1 库存管理系统结构确定51.2.2 确定系统开发环境61.2.3 开发工具的选择61.3可行性分析71.3.1.经济可行性分析81.3.2.技术可行性分析81.3.3.操作可行性分析91.4 系统的开发及功能描述101.4.1 开发方法的选择101.4.2 系统功能描述及系统安全性101.5 系统逻辑模型102 系统总体设计122.1系统总体结构设计122.1.1系统功能分析122.1.2系统功能模块图122.2数据库设计132.2.1 数据库概念结构设计142.2.2数据库逻辑结构设计142.2.3 设置引用完整性162.2.4 数据库链接的实现

6、163 系统详细设计173.1 身份验证模块的设计173.2 系统主要模块的实现193.3 入库管理模块的实现193.3.1 查看供应商提供的所有商品203.3.2 入库单填写203.3.3 修改最低库存213.4 出库管理模块的实现213.4.1选择想要出库的商品213.4.2 填写出库信息223.5 报表模块的实现224 系统实现234.1供应商登录管理234.1.1 系统主要界面展示234.2库存管理员个人管理254.2.1 个人设置管理254.2.2 入库管理314.2.3 出库管理345.2.4 报表管理374.2.5 库存管理424.2.6 供应商管理445 结 论47参 考 文

7、献:48致 谢49前 言 随着中国的市场经济的飞速发展以及广大群众对物质精神需求的迅速提高,所有经济行业基本都处在社会主义经济蓬勃快速发展的时期,社会主义经济的加速飞速快速发展将必然加剧各企各业之间的有效经济竞争更加激烈,各行各业都为让使本行企业在竞争中能够站稳脚跟,避免被激烈的竞争环境所压倒,必然要求各行各业企业加强对自身经济体制的管理,以便为了提高自己企业的经营效率和盈利情况。本人的毕业设计选的是郭庆北老师的基于Struts的库存管理系统的设计与实现。本系统要求必须要用Java语言来编写,我采用的数据库是 Oracle来连接系统,以及Apache-Tomcat作为工程的Web服务器,表现层

8、本人采用基于服务器端的JSP语言、Java组件JavaBean以及SSH三大框架,以及网页主要的编程语言HTML,基本上能够构建成了个基于Struts的库存管理系统的设计与实现。我设计的库存管理系统能实现供应商的注册、登录等功能;供应商能够实现商品的添加,删除,修改等功能,库存管理员能够实现商品的入库,出库,自动生成入库报表与出库报表,库存管理系统还能够自动检验库存量并发出库存警报,管理员还可以设置库存量,清空报表,添加管理员以及删除供应商,本系统基本上已经具备一个库存管理系统应当具备的基本功能。 我在网上查了一些关于库存管理系统的实现的例子,所以我对于库存管理系统有了一定的需求方面的了解,但

9、鉴于本人能力有限,只在完成导师要求的一些功能的基础上,稍微进行拓展了一下。首先是供货商对供应商品信息的管理,包括对商品的添加,修改以及删除操作,我在这里缺省了入库商品时的订单的过程,然后进行登录库存管理员的操作,如果供应商提供了的商品信息的话,管理员进行入库操作的时候就可以看到所有供应商品的信息,库存管理员可以设置库存容量大小,包括最小库存容量和最大库存容量的设置,系统会根据库存的最大库存量和最小库存量对现有的库存量进行判断,并进行相应库存信息的提示。在库存管理员入库成功之后系统会自动生成相应的入库报表,并再次对库存量进行判断显示相应提示,库存管理员出库成功之后也会生成出库报表,原理跟入库类似

10、,出库的商品会在库存里扣除,同时管理员可以对入库出库报表进行打印,并可以对入库出库报表清空。另外给管理员添加了添加管理员的权限及修改密码,还有帐号管理,管理员可以删除供应商,删除之后该供应商提供的商品在入库的时候将去除,总管理员还可以删除管理员。我的毕业论文正文分为五个部分。第一部分主要介绍了开发库存管理系统的必要性以及如何开发库存管理系统,并且根据开发工具需要简要概述了Java ,Oracle 10g,Myeclipse 6.5以及SSH三大框架的介绍,给出进行系统开发前的必要开发环境的准备,包括系统的需求说明。第二部分并着重阐述了系统总体的结构设计和详细的设计介绍。第三部分主要是库存管理系

11、统功能模块的具体实现.第四部分是系统功能全部实现后的具体功能的详细介绍。第五部分主要讲到了该库存管理系统的不完善之处及本次统开发过程中一些切身的感受与想法,和我做这次做毕业设计的心得与体会。1 系统分析1.1 选题的背景在信息不太发达的时代,各行各业的库存管理方式经常都是非常复杂,非常琐碎的工作。刚开始的时候,或许比较方便,但是随着管理的商品的种类越来越多,商品的入库与出库操作越来越繁琐,各类报表的统计增多,如果继续这种传统的管理方式进行统计,统计的工作量将会异常庞大,因此各行各业的库存管理必须制作一套库存管理系统,通过计算机来进行操作,而且还可以根据企业的具体情况进行制定相应的工作方案。随着

12、库存管理的规模越来越大,商品种类的越来越多,加上商品业务量的增加,采用传统的人工记录的方式显然显得有点捉襟见肘了,随着信息时代的降临,各行各业已经可以利用计算机来对库存进行企业管理,库存管理系统成为了一个必不可少的库存管理工具。一个完整的企业库存供应管理系统应包括采购计划的管理,合同收托的管理、仓库库存的管理、定额的管理、统计的管理、财务额管理等模块。其中仓库的库存管理是整个库存供应管理系统的核心系统。因此非常很有必要开发一套相对独立的库存管理系统来提高各行各业的工作效率, 而所使用的这套库存管理系统是各行各业生产经营管理的活动中的核心系统,这个库存管理系统必须可以用来控制合理的库存管理的费用

13、、适时和适量的库存数量,从而使得各行各业的生产活动效率达到最大化。通过对这些情况的仔细详细得调查,我开发了如下面的库存管理系统。1.2 系统的需求分析 系统的需求分析意思就是说需要在库存管理系统的使用者需求调研的理论基础上,由库存管理系统实现人员来确定系统的总体结构方案,并在此基础上完成相应部分的需求和分析报告说明。库存管理系统的实现人员要求在确定系统的总体结构方案实现的过程中,依次完成库存管理系统的数据流程图,然后可以确定库存管理系统的主要结构,库存管理系统的开发环境以及开发工具的具体选择。1.2.1 库存管理系统结构确定 从库存管理系统的编程员的角度来分析库存管理系统,可把库存管理系统的组

14、成部分主要分成数据持久层、业务逻辑层和表现表示层三个层次,而库存管理系统的大体结构可主要分类为:客户端/服务器、浏览器服务器结构两种类型。 我实现了的库存管理系统便采用了浏览器/服务器这种结构,b/s是随着Internet技术的发展而兴起的一门浏览器与服务器的结构,更是对c/s结构的一种升级或者说是改进后的结构。在浏览器与服务器的结构下,供应商商品管理和库存管理员库存管理的工作界面都是通过WWW浏览器来实现操作的,只有极少部分的事物逻辑在前端(Browser)实现,但是主要数据库连接的事物逻辑还是要在服务器端(Server)实现的,形成了所谓的MVC三层架构。浏览器/服务器与客户端/服务器相比

15、,浏览器/服务器这种架构则大大简化了客户端电脑的载荷,不但减轻了系统维护时的投入和避免了升级的工作量,而且还减少了各行各业的投入的资金。1.2.2 确定系统开发环境 介于市场上基本上所有的计算机操作平台都是基于微软windows环境的,由于我做的库存管理系统是基于struts的,Myeclipse也可以在网上可以下载到资源,所以说本系统可以有效的降低系统开发所需要的成本,并且可以最大限度地使用现有的开发系统资源,以及可以兼容现在所有的环境,我再三思索,决定使用如下的开发环境:(1)开发的数据库:Oracle 10g; (2)页面开发工具:JSP;(3)数据访问对象:Hibernate;(4)程

16、序开发环境:Java;1.2.3 开发工具的选择Java编程语言的面向对象的重要编程思想就注定了Java的程序代码是可以被重用的,从而技术上而言大大地提高了程序员开发Java程序的效率,Java语言不仅仅继承了C+所有方面的优点,而且还克服了C+的一些不足的方面如:C+的多集成功能非常容易造成程序员的混乱,Java利用接口这种方法完全很轻松的就解决了C+的这种混乱的情况。Java编程语言可以说是集合了大多数编程语言的优点而出生的精华的编程语言。除此之外Java编程语言还有在其他的程序开发领域大展身手如:在手机端上的开发J2SE和一般浏览器上的web程序的开发,并且还包括企业级的开发 J2EE

17、都是Java编程语言良好应用的表现的说明。除此之外,Java编程语言还具有高性能、分布性、强大性、解释性、可移植性等优点。重中之重,其实Java编程语言的最大的优点莫过于他的跨平台、分布性的特性,这两点完全可以说成是极大的为程序生成的安全以及后期的维护做了一次非常大幅度的调正和升级。Java编程语言的很多流行的框架都是许许多多的杰出的编程员的经验所积累的结晶发明如:spring,webwork,struts . 很多流行的编程开发的框架都是Java编程语言开发的优势。Java编程语言的开发工具也有很多选择,为了方便起见,这里我选用MyEclipse 6.5作为Java编程语言的开发工具。MyE

18、clipse 6.5企业级的编程开发平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE功能需求方面的全面扩展,利用它程序开发者可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面减少不少工作量并且极大的提高了程序开发者的工作效率。Myeclipse 6.5是功能丰富的JavaEE主要集成的开发环境,包括了完备的编码、调试、测试和发布功能,并且程序编码完全支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。MyEclipse完全是在Eclipse的基础上的建

19、立的新型编程开发工具,完全依赖于Eclipse。它是把代码的编写、程序的调试、编译、运行以及其他的运行时的调试相关操作都集成在一起的编程工具。 他的最大作用就是编程程序员通过Myeclipse的这个开发平台,来进行程序的编写,调试,运行等操作。因为JSP页面的内置脚本编程语言是基于Java编程语言而设置的,而且所有的JSP页面经过虚拟机编译都被编译成为了Java Servlet语言,JSP页面就继承了关于Java编程语言的全部优点,包括可移植性以及一次编译到处执行的特点。 JSP脚本语言作为Java编程语言的开发平台的一个分支部分,JSP脚本语言拥有Java编程语言的“一次编写,各处运行”的明

20、显优越特点。随着JSP脚本语言技术的广泛推崇,越来越多的软件公司将JSP脚本语言的支持添加到他们页面的软件产品中,然后可以使用自己所需要选择的web服务器和编程开发工具,更改开发工具或web服务器并不影响当前的应用,所以我这里选用JSP脚本语言作为变现层的开发工具。 Oracle 10g 是甲骨文公司隆重向广大数据库管理人员积极推出的一个非常大型关系数据库的管理系统。Oracle 10g数据库管理系统主要实现了的商业目标主要有二个,其一就是:1 为数据型的企业数据库管理提供便捷管理,从而达到降低企业数据库管理开销的目的。其二则是:2 为数据管理型的企业提高数据管理的系统性能。Oracle 10

21、g数据库管理系统的增强方面主要是体现在对数据库高可用性方面性能的增强、全新的 Flashback 的能力、支持回滚操作,更新,删除,修改,插入等数据操作;对数据库里面的数据安全性的增强,可以便于库存管理员来有效的管理大量的系统用户数据; 比如在BI的方面性能的增强显著加强,Oracle 10g主要包括了对改进后的SQL语句新增的能力和分析的功能、OLAP、数据挖掘方面的能力等;对于非关系型数据库的数据存储方面的能力得到了显著地提高;XML的能力;对开发能力支持的加强,对生物信息学( Bioinformatics )的支持。综上所述,本人决定用Myeclipse作为java编程语言的开发工具,用

22、Oracle 10g数据库来建立对后台数据库数据的有效的安全管理。1.3可行性分析根据软件工程书里面的介绍可行性分析的内容,总结得出,大体上可行性研究课程为了达到的目的,就是希望可以用最小的代价并在尽可能短的时间内确定所研究的问题是否能够得到最有效合理的解决方案。一切都是为了达到上面提出的目的,为了严谨起见,得到确实可靠的解决方案,必须认真地分析所有在理论上比较可能行得通的解法,得出他们各自可能解法中的利与弊,根据得出解法的分析的结果,进而对预计要设计的系统开发的规模和要实现的目标判断是否能够得以现实,我的库存管理系统完成后锁是带来的经济效益是否能够达到企业值得投资开发本库存管理系统系统的程度

23、。因此,可行性研究的实际工作就是在实质上是要对要实现的系统进行一次压缩并简化了的要实现系统分析和设计的主要过程,显而易见,可行性分析的过程也就是在软件工程的比较高层次上为库存管理系统的实现凭借比较抽象另类的方式进行的一种系统功能与性能分析和系统设计的主要过程。简而言之,言而总之,可行性研究的分析理论上应该从企业经济的可行性、企业技术的可行性、企业的操作的可行性三个主要方面着手进行重点研究。本库存管理系统系统的可行性分析分析结果如下:1.3.1.经济可行性分析因为本库存管理系统开发所要求需要用到的硬件要求(计算机配置以及相关硬件需求)和软件开发的环境(Myeclipse 6.5 ,Oracle

24、10g),都是一些在网站上很方便就可以下载下来的或者在市面上只需要花费少量的金钱就可以购买到的软件安装工具,本库存管理系统的开发消耗主要集中在本库存管理系统的前期开发以及后期系统的维护上面,并且对于库存系统的使用者不会造成任何的影响,只是服务器提供商需要定时长期的进行库存管理系统的维护。所以一旦此库存管理系统投入市场并被广大消费者所使用,不仅可以大大减少传统库存管理的繁琐的操作步骤,不论是从各个方面而言,都大大地提高了库存管理的工作上的效率,而且大大的方便了库存管理员对库存信息的管理,虽然在管理模式偏离了传统的管理模式,但是在效率上而言,是对传统的管理模式的升级,从而在本质上是延续了传统的管理

25、模式的生命历程,并且尽最大的可能的方式方便了库存管理人员的对库存的操作,需要突出说明的是,本库存管理系统操作实现的时候并不是很复杂,与此同时,本库存管理系统的开发的周期相对时间比较短,提供服务的企业在经济上面的开支也不是非常特别的庞大,与传统的库存管理模式相比,我开发的库存管理系统所节省下来的大量人力资源和开支所产生的经济效益将远远超过本库存管理系统的开发所需要成本,所以从经济可行性的方面来讲,开发本库存管理系统是确实比较可行的。1.3.2.技术可行性分析在软件工程书中总结得出,技术上的可行性的分析主要考虑到的问题,是从市场上或网上可以得到的当前现有的所有开发技术条件,是否能够顺利地完成软件开

26、发工作的进度,以及系统软件跟硬件的升级,到达后期维护和升级,将来推广的硬件配置和软件开发技术能否兼容本库存高管系统,是否能够继续满足了库存管理用户提出的各种商业性的甚至更加深远的需求(如使用库存管理系统的计算机的硬盘容量,cpu运行速度,开发效率等等问题)。本库存管理系统采用Myeclipse6.5作为系统开发环境的代码编写的开发工具,采用Oracle 10g作为建立后台数据库的开发工具,并通过使用Myeclipse中的Hibernate框架对两者进行有效连接,从而为了系统的开发提供良好的开发环境。Myeclipse不仅仅能够非常有效的帮助软件程序开发人员有效地进行代码的编写,而且还大大地提高

27、了软件系统开发的质量,并且大大地提高了在软件系统开发的效率,而且还有效地缩短软件开发上的时间的周期,Myeclipse而且还兼容了包含了非常强大的对数据库进行有效管理的管理功能,所以就功能提供上而言,Myeclipse完全能够满足本库存管理系统的开发的所有需求。 此外,从开发人员的水平考虑,作为网络工程专业毕业的学生,大学四年所积累的专业知识使我们从一定程度上具备了开发一个中小型系统的能力,而且学校现有的计算机设备也完全能够满足开发的需要。1.3.3.操作可行性分析从软件工程的书中得知,相对于传统的库存管理的操作模式来讲,主要涵盖了两个主要的库存管理模式:第一个就是库存管理操作进行的手工管理,

28、这种方式应用称之为最传统的“笔纸操作系统”,将库存的货物的信息、销售的信息、厂商的信息管理及单据的管理等全部以纯手工的形式进行统计,将信息以表格文件的表现形式全部记录在纸上,然后再进行统一保存。这种方式虽然在简单信息查询时会有一定的方便,但是会存在着更多的不方便,比如:信息保存的时间和条件很受限制、信息容易被损坏、信息查询不方便、信息的传达容易造成失误等等。另一种常见的信息管理方法是网页版的管理系统,本库存管理系统就功能方面而言,的确在实现方面做相比还是比较齐全的网页版的库存管理系统,并且,在库存商品信息的处理方式方面做的不但精准而且还显得非常的规范。对于库存管理系统的管理员来说,需要做的就是

29、有一定的信息管理的经验和基础,并且还要是从事过计算机相关工作的,如果管理员有了一定的计算机方面操作的经验,理论而言,就可以非常轻松的对本库存管理系统进行管理了,毕竟我做的库存管理系统是属于傻瓜式的库存管理系统,只需满足上述的要求就可以进行库存管理系统的操作了,并且可以得心应手。综上所述,本库存管理系统减少了企业在库存管理方面的投资,并且可以在最短的时间内获得最大的效益,这是所有企业都梦寐以求的库存管理系统,加上库存管理系统的操作非常简单,具备了软件开发的可行性和经济性。1.4 系统的开发及功能描述1.4.1 开发方法的选择库存信息管理系统的实际上的开发是一项比较繁重而且复杂的工作,为了能够在最

30、短的时间周期内完成库存管理系统,所以最有效的而且科学的开发方法是我必不可少的。我们必须选用科学而且有效的开发方法。本库存管理系统的软件开发实施了生命周期法。就是在库存管理系统设计的同时遵循库存管理系统的调查的研究、系统的分析、系统的设计和系统的实施等四个主要阶段来进行库存管理系统的设计的,并且在具体的程序设计上,则通过在系统的使用及对系统了解的不断加深中,对某一部分或几部分进行重新分析、设计、实施,使系统逐步完善。1.4.2 系统功能描述及系统安全性本库存管理系统是一套对商品入库、出库、报表进行全面管理的系统。在管理内容上,它的主要功能包括:入库管理:选择需要入库的商品,填写入库数量。出货管理

31、:选择需要出库的商品,填写出库数量,出库的价格,出库地点。供应商管理:主要是对商品的增加,修改,删除。统计报表:主要是查询所有的入库报表和出库报表,以及对报表的打印,清空等操作。系统管理:管理员修改密码,添加管理员,删除供应商,总管理员还可以删除管理员。由于库存管理系统包含比较重要的信息,因此,在系统设计时除了注重用户的需求,还要保证系统的安全性和一致性,体现如下:(1)安全性:本系统中共分为三类不同的用户,分别具有不同的权限。(2)一致性:系统的数据要保证一致性、准确性,当某一数据库中记录发生改变时,与之相关联的数据库也随之变化。1.5 系统逻辑模型本库存管理系统的逻辑模型以库存管理系统的数

32、据流程图为主要描述工具。数据流图是库存管理系统中实体数据流动情况的一种抽象,是在库存管理系统进行调式的基础上,从库存管理系统的科学性、管理的合理性、以及实际运动的可行性角度开始出发,将数据流实体处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目,它表达了数据和处理的关系。为了叙述方便,我们用不同的符号代表这四个元素:表示数据流;表示加工;表示数据流的源点和终点。通过分析调查有关库存管理的需求,并针对一般库存管理系统的功能需求,设计出库存管理系统顶层数据流程图如图1.1所示。 图1.1库存管理系统

33、顶层数据流根据系统的顶层数据流图,进一步分析,画出系统的第二层数据流图如图1.2所示。图1.2库存管理员和供应商管理的第二层DFD图2 系统总体设计2.1系统总体结构设计2.1.1系统功能分析我要实现的系统功能就是根据导师给的需求,系统开发的总体任务是实现需求文档里给出的需求,从而达到功能实现的目的。系统功能分析是在系统开发总体任务的基础上完成的。本库存管理系统需要完成的功能有:(1)库存管理的各种信息的输入,包括入库、出库、货品信息的输入等。 (2)供应商对商品的添加,修改和删除。 (3)入库报表、出库报表的生成,预览以及打印。 (4)在货品库存中设置所允许的最低库存量,对所有库存量实现监控

34、和报警。 2.1.2系统功能模块图根据库存管理的需求分析,以及功能需求,我对库存管理系统功能需求进行了简要的分析,并根据分析的结果画出了库存管理系统功能模块图如2.1所示。图2.1 系统总体功能模块图2.2数据库设计例如在库存管理系统运行的过程中回会调用到许多数据商品信息,这些信息都需要事先被我们主动地存储在数据库中,并且这些数据表的设置对程序设计的影响也是不小的。因此,数据库表结构的设计在所有的程序设计开始中占有举足轻重的地位,数据表的设计是根据需要设计的项目的任务需求来进行,在本库存管理系统的数据表的设计过程中,需要经过深思熟虑,各个表之间关联关系都需要考虑清楚,因为一个数据库表结构的设计

35、的好坏将直接对库存管理系统开发的效率以及设计实现过程中一些代码之间微妙关系产生影响。设计合理的数据库表结构设计可以有效地提高效率,并且能够保证数据的完整性和一致性。与此同时,合理的数据库表结构的设计对于程序设计和实现也是非常有利的。在设计数据库表的同时应该首先需要充分了解到用户在库存管理系统的各个方面的需求,包括现在用户当前提出来的需求以及到了系统完成之后用户可能会提出来的新需求。所以说在进行系统代码实现之前,首先进行数据库表的设计不仅仅是编程的经验的体现,还是程序设计不可或缺的步骤,因为只有进行了数据库表的设计,接下来的思路才会明朗。2.2.1 数据库概念结构设计本库存管理系统首先是供应商进

36、行提供商品,只有供应商提供了商品之后,然后库存管理员才可以进行商品的入库,出库处理操作,并在出库和入库操作成功之后同时生成入库报表与出库报表。库存管理系统的E-R图如2.2所示。图2.2 库存管理系统ER图2.2.2数据库逻辑结构设计根据系统功能需求与数据流程图,本数据库管理系统需要8个数据表,分别是管理员个人信息表、供应商信息表、供应商与商品的关联表、供应商品信息表、库存商品信息表、库存与管理员的关联表、入库表单、最大库存量与最小库存量表、出库表单。8个表的数据库逻辑结构如下所示。表2.3 管理员信息表管理员权限管理员ID管理员名称管理员密码不为空,整数不为空,整数,主键不为空,长字符类型不

37、为空,长字符类型表2.4 供应商信息表供应商权限供应商ID供应商名称供应商密码不为空,整型不为空,整型,主键不为空,长字符类型不为空,长字符类型表2.5 供应商与商品的关联表关联表ID供应商ID商品ID商品数量商品价格不为空,整型,主键不为空,整型,外键不为空,外键整型,不为空浮点类型,不为空表2.6 供应商品信息表商品ID商品名称商品类型生产时间商品图像整型,主键长字符类型,不为空整型,不为空日期类型,不为空长字符类型,不为空表2.7 库存商品信息表库存商品 ID商品图像商品名称商品数量入库时间入库价格整型,主键长字符类型,不为空长字符类型,不为空整型,不为空日期类型,不为空浮点类型,不为空

38、表2.8 库存商品与管理员的关联表关联表ID管理员ID库存商品ID整型,主键整型,外键外键,整型表2.9 入库表单入库ID商品图像商品名称商品数量商品价格入库日期供应商整型,主键长字符类型,不为空长字符类型,不为空整型,不为空浮点类型,不为空日期类型,不为空长字符类型,不为空表2.10 出库表单出库ID商品图像商品名称商品数量商品价格出库日期出货地点整型,主键长字符类型,不为空长字符类型,不为空整型,不为空浮点类型,不为空日期类型,不为空长字符类型,不为空表2.11最大库存量与最小库存量表库存量ID最大库存量最小库存量整型,主键整型,不为空整型,不为空2.2.3 设置引用完整性为了防止用户在不

39、小心的情况下删除了有用的数据,或者输入了错误的数据,就需要对数据库表设置引用完整性(Referential Integrity)。例如本系统用到的数据库中,可以入库的商品必须是供应商提供的,并且商品信息与供应商提供的保持一致。通过设置的引用完整性对数据库进行了约束,能够帮助程序员和用户确保使用到的数据是合法的。2.2.4 数据库链接的实现为了充分想用户展现面向对象编程的思想,本库存管理系统中利用Hibernate框架实现数据库和前台应用程序之间的链接,Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思想来

40、操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的web应用中使用,最具革命意义的是,Hibernate可以在EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate使用时只需要操纵对象,使开发更对象化,抛弃了数据库关系型的中心思想,完全的面向对象思想。3 系统详细设计本人设计的库存管理系统是遵循着操作界面友好、清晰、易学易用的原则进行设计的。构思的主要的功能模块设计如下所示。3.1 身份验证模块的设计在地址栏输入http:/localhost:8081/storageManage/,会跳到一个登

41、录窗口如图3.1所示,输入用户名和密码后,服务器根据后台返回的结果来确认用户身份并根据身份判断结果进入不同的用户界面,如:登录失败后,将跳转到登录失败的页面。登录成功的话,如果是管理员身份,将跳转到管理员管理界面。如果是供应商的话,将跳转到供应商界面。本系统中用户分为库存管理员和商品供应商两种。不同库存管理员其权限也有所不同。图3.1用户登录模块界面设计该模块的流程图如图3.2所示。是否用户登 录是否为合法用户?否选择身份判断用户类型进入系统开 始结 束图3.2用户登录模块流程图此外,对一个完整的系统而言,管理员是应该可以修改自己的密码的,因此系统中应该具有修改密码的功能,提高数据的安全性,管

42、理员可以在进入系统主界面后可以修改自己的密码。如图4-3所示,当库存管理员输入完成之后,按“确定”按钮来提交修改的内容,系统会采用struts 2的校验机制自动检查用户两次输入的密码是否一致,旧密码是否正确,如果校验出现错误,会出现出错提示并让用户重新输入,密码修改成功之后,系统会提示密码修改成功的界面。图4.3修改密码界面设计3.2 系统主要模块的实现 系统主要模块分为两个如图3.4与3.5所示,根据用户的权限不同进入不同的主界面,分别是系统管理员界面、供应商管理界面。各自主界面自然有不同的功能。供应商界面的主要功能是对商品的一些管理,比如说:商品的添加,只有供应商添加了商品,库存管理员进行

43、入库操作的时候才有商品可以进行入库,商品的修改以及删除,由于设计的时候没有想到供应商查询的意义所以,这里没有添加此功能。库存管理员界面的主要功能就是基本的入库出库管理,报表的管理,生成以及打印,库存警报功能,账号管理以及数据库管理。而且在此基础上还进行了一些拓展功能的开发。 图3.4库存管理员界面设计图3.5供应商界面设计3.3 入库管理模块的实现 库存管理系统的入库操作管理模块包括库存管理员查看供应商提供的所有商品的详细信息、选择需要进行入库的商品、填写需要入库商品的入库表单、确认某个商品入库阶段等四个主要的子模块。3.3.1 查看供应商提供的所有商品图3.6查看所有商品详细信息列表3.3.

44、2 入库单填写 图3.7 入库单设计3.3.3 修改最低库存图3.8修改最低库存设计3.4 出库管理模块的实现库存管理系统的出库管理包括选择想要出库的商品,填写出库信息两个子模块。3.4.1选择想要出库的商品图3.9出库商品信息列表3.4.2 填写出库信息 图3.10填写出库单的设计3.5 报表模块的实现本库存管理系统的报表管理分为入库报表和出库报表,入库报表和出库报表在库存管理员进行入库操作跟出库操作成功的时候便自动生成了。报表的设计界面如下图3.11所示。图3.11出(入)库报表的设计4 系统实现库存管理系统的实现包括供应商对供应商品的管理实现,系统管理员管理功能的实现和数据库实现三方面。

45、4.1供应商登录管理供应商通过该登录界面进入系统,如图4.1所示。在其输入用户名与密码之后,单击“进入”图片登录数据库(为了方便用户,本系统允许用户在输入密码之后直接按回车键登录数据库,而无须使用鼠标单击“确定”按钮)。如果供应商还没有注册,可以点击旁边的“立即注册”链接,进入供应商注册界面,在注册设置了struts校验,点击“注册”之后,触发了一个regist.action,通过struts.xml找到对应action的处理方法,在执行action的处理方法之前,先进行校验,检验用户名是否被注册,如果注册了,将跳转到注册界面,并提示“用户名被注册”的错误。注册成功之后,将直接进入供应商管理界

46、面。点击“进入”图片或直接回车键后,触发了一个login.action,通过在struts.xml找到对应的action的处理方法,并根据处理结果返回不同的视图资源。图4.1系统登录界面4.1.1 系统主要界面展示 由于用户分为库存管理员和商品供应商,所以不同的用户进入的系统界面也会有所不同。如图4.2和4.3所示。图4.2库存管理员界面(系统管理员身份进入)图4.3供应商主界面(供应商身份进入)4.2库存管理员个人管理4.2.1 个人设置管理管理员个人信息修改在“账号管理”中修改管理员密码,如图5-4所示。图4.4管理员修改密码界面库存管理员只能通过此界面修改自己的密码,修改完成后就,点击“

47、提交修改”按钮,触发一个modify.action,通过strut.xml找到对应的action处理方法后,首先进行struts校验,如果密码校验有误的话,则提示如下图4.5的错误。图4.5修改密码界面修改密码成功后则显示密码修改成功界面,图如4.6所示。图4.6密码修改成功登录界面 库存管理员除了可以修改自己的密码,还可以进行添加其他库存管理员添加,添加的管理员都是二级管理员,都不能执行删除管理员操作,只有总管理员admin才能进行删除管理员操作。管理员添加的界面如图4.7所示。图4.7库存管理管理员添加界面添加库存管理员之前的数据库中管理员信息表,只有4个管理员信息,如图4.8所示。图4.

48、8添加库存管理员之前的数据库库存管理员添加成功之后的界面如图4.9所示。图4.9库存管理员添加成功界面添加库存管理员成功之后的数据库如图4.10所示。图4.10添加库存管理员成功之后的数据库删除库存管理员的时候,库存管理系统会进行权限的校验,如果权限不够的会提示如图4.11。图4.11系统管理员删除管理员失败界面只有库存最终管理员才具有删除管理员的权限,取消管理员资格界面如4.12所示。图4.12系统管理员取消管理员资格界面这里可以单选或者多选取消管理员资格,但有时候取消管理员资格过多的话,可能会提示“系统繁忙请重新操作”的字样,那是因为要删除管理员的话,必须先级联删除对应管理员与库存商品信息

49、的关联表,由于关联表过多,删除不及时,而删除管理员,所以导致了上述错误。库存管理员不仅可以取消管理员资格,还可以删除供应商的帐号,供应商的删除界面如下图4.13。图4.13供应商的删除界面 供应商的删除与取消管理员资格出现的问题一样,如果多选删除的话可能会提示“系统繁忙,请重新操作”的字样,因为供应商与商品的关联表更多,所以要删除供应商就需要将该供应商所有的关联表全部删除,可能由于关联表没有及时删除就开始删除供应商,会导致系统报错,所以库存管理系统将这种情况变成了提示“系统繁忙,请重新操作”的字样,避免了抛出异常的情况的发生。4.2.2 入库管理点击商品入库,就看到如图4.14的库存管理员入库

50、界面,该界面将所有供货商提供的商品信息都显示出来,并进行了分页。库存管理员入库界面如下图4.14。图4.14库存管理员入库界面选择想要入库的商品,点击该商品后对应的“详细信息”链接后界面自动跳转到如图4.15。图4.15库存管理员入库详细信息界面 进入库存管理员入库详细信息界面后,点击需要购买的数量后,并且保证购买数量不能超过供应商提供的数量,否则系统会报错。点击“确认入库”按钮之后,将跳转到入库成功的界面,如下图4.16所示。图4.16库存管理员入库成功界面4.2.3 出库管理 在库存饱和的情况下,库存管理系统会进行库存警报,库存管理员可以对库存进行出库操作,在“库存管理”下的“商品出库”链

51、接,跳转到出库界面如下图4.17所示。图4.17 库存管理员出库界面 库存管理员出库界面将该库存管理员所有相关联的库存商品信息表,并对商品信息表进行分页。根据库存容量警报的提示,确定需要出库的商品数量,库存容量设置的具体设置信息可以点击查看设置库存容量管理。出库操作,就是选中想要出库的商品,点击“出库”链接,出现下图4.18:图4.18 库存管理员出库详细信息界面出现如上所示的界面后,将出库价格可以按照自己想要的价格,出库数量不能大于库存中的实际数量,否则也会报错,出库地点设置成一个下拉列表的形式,选择设计好出库的地方,全部选项设置完成之后,点击“确认出库”按钮,会提交到一个output.ac

52、tion,系统会找到对应的处理方法,出库报表的填写以及库存商品数量的减少等操作,如果没有出现异常,库存数量将相应减少,如果出库数量等于库存原数量,该库存商品将会被删除,并跳转到出库成功的界面,如图5.19所示。图4.19 库存管理员出库成功界面5.2.4 报表管理在商品入库或出库操作成功之后就库存管理系统就自动生成了入库或出库报表,查看出库报表或入库报表的详细信息,点击“出库(入库)报表”的链接,如图4.20所示。图 4.20 出(入)库报表图4.20所示,库存管理员可以对出库报表进行打印,点击“打印页面设置”按钮,出现如图4.21所示。图 4.21 出(入)库报表打印页面设置页面设置完成之后

53、还可以进行打印预览,点击“打印预览”按钮,界面如图4.22所示。图4.22 出(入)库报表打印预览看完打印预览之后,如果满意,就可以进行打印了,点击“打印”按钮,界面如图4.23。图4.23 出(入)库报表的打印界面 如果出(入)库报表过多的时候,还可以对报表进行清空,只需点击“清空(入)出库报表”链接,首先弹出一个js的确认对话框,如图4.24所示。图 4.24 清空出(入)库报表确认界面 点击“确定”按钮后,触发一个deleteoutput.action,通过struts.xml找到对应action处理方法将出库报表的内容全部清空,报表管理中的出(入)库报表就全部清空了。入库报表操作的原理

54、跟出库报表操作一样,只需按照上面的步骤进行操作,即可完成入库报表信息的查看,报表打印,报表的预览以及报表的清空。4.2.5 库存管理 库存管理员可以查看库存的全部商品信息,并分页显示。如图4.25所示。图 4.25 查看库存信息界面 库存管理员除了查看库存的所有商品信息,还可以进行入库,出库等操作,由于在前面已经提到了,这里就不再详述了,还有就是可以设置库存容量,如图4-27 所示,库存管理员可以设置最小库存量和最大库存量,当前库存量代表了当前所有的库存数量,设置成功之后,库存管理系统会进行校验,并在页面提示当前库存使用情况,是偏低,偏高或者适中。图4.26 设置库存容量界面4.2.6 供应商

55、管理 供应商管理界面其实就是简单的对商品的添加,修改以及删除,如图4.27所示。图4.27 商品供应商管理界面图 4.28 供应商添加商品界面图4.29 供应商修改商品界面 这里由于删除没有什么确认步骤,所以没法用图片演示,所以这里不在演示。5 结 论经过几个月的不懈努力,和指导老师的谆谆教导,以及同学的帮助,充分利用大学四年所学的专业知识,通过大量阅读与设计相关的专业参考文献,我终于完成了本次毕业设计,已经基本上实现了库存管理系统的各项功能。在这次毕业设计过程中,我独立设计和实现了用户注册、用户登录、修改密码、库存管理员、供应商等五个模块的全部功能,以及这几个模块的数据库设计。通过这次毕业设

56、计,我掌握了Oracle这种大型数据库的编程方法,并掌握了JAVA语言和JSP技术。了解到库存管理的理论以及平台开发的模式,掌握了网络开发的方法与模式。对团队的协作,对软件开发方法和手段,有了一定的认识,丰富了我的软件开发的经验,提高了程序编写的水平,并加深理解了许多课程中、商品本上学到的知识和理论。同时,通过编写毕业设计论文,我还基本掌握了软件文档的商品写方法和商品写格式。本系统的缺陷也是明显的,如安全性,效率问题等。由于时间、能力、国内JAVA,JSP技术资料有限等原因,有些功能实现的并不完美,在已经完成的程序中,也存在许多不尽人意的算法,也没有统一优化,系统有待进一步改善,而这些问题也让

57、我充分认识到了软件开发的困难。通过毕业设计,我学会了如何去了解一种新型的技术,去掌握一种技术。以及软件开发的基本流程。在学习过程中,我们遇到问题经常上网求助,在网上查询资料,扩大了自己的知识面。总之,这次毕业设计为我今后继续学习、深造奠定了基础,我非常感谢各位老师、同学的支持与帮助。参 考 文 献1 陈华. 库存管理系统中数据库的设计与实现J. 电脑开发与应用, 2009, (01):58-69 .2 戴小波. 基于大型超市库存管理系统的设计方法J. 物流科技, 2007, (04):125-178 .3 张莉萍. 库存管理系统J. 考试周刊, 2008, (01):45-85 .4 于艳秋.

58、 库存管理系统的开发与设计J. 电大理工, 2004, (04) :458-462.5 叶绍松,阮祥发,赵燕. 基于SQLServer2000数据库的库存管理系统的设计与研究J. 机械设计与制造, 2006, (02) :236-258.6 卢圣晶. 企业库存管理系统J. 科技广场, 2007, (11):147-189 .7 薛惠,何栋. 企业库存管理信息系统的设计与实现J. 中小企业管理与科技(上旬刊), 2009, (01):364-382 .8 陈园. 中小型民营企业的库存管理系统的设计J. 华商, 2008, (15) :201-232.9 朱赟花. 零售企业商品库存管理J. 中外物

59、流, 2006, (05):18-34 .10 杨少东,刘喜双. 物流库存管理系统J. 中国高新技术企业, 2007, (09):104-137 .11 Kemp, Z.,Meaden, G. Visualization for fisheries management from a spatiotemporal perspective. Academic Journal,2009,(2):165-198.12 Gattulli, Vincenzo, Condition Assessment by Visual Inspection for a Bridge Management System

60、. Academic Journal,2008,(5):15-32.13 Chvez, Ernesto a. policy design for spiny lobster (panulirus argus) management at the meso-american barrier reef system. Academic Journal,2007,(2):236-256.14 Wolfe, Joseph, A study of business game stock price algorithms. Academic Journal,2007,(3):348-364.15 Geor

61、ge,Dallery, Base stock versus WIP cap in single-stage make-to-stock production-inventory systems.2010,(6):254-298.16 MUKHAR K,LAUINGER T.Java数据库应用程序指南M,北京:电子工业出版社,2002.17 COOK T.JSP从入门到精通M,北京:电子工业出版社,2003.18Apache Software Foundation.iBATIS SqlMaps Developer Guider2005.19 夏昕,深入浅出HibernateM北京:电子出版社,2

62、005.济南大学毕业设计致 谢本设计在导师及老师的悉心指导下已完成,在本系统的设计过程中,从课题选择、方案论证到具体设计和调试,无不凝聚着老师的心血与汗水。从学习、研究到实践的过程中,不仅学到了许多开发经验,更开拓了眼界。在系统设计过程中遇到的种种困难让我体会到自己的实践能力有多么的不足,科学知识不应该只从书本和课堂上学得,更应该在社会实践中学习。今后,我会更加努力地去学习更广更深一层的软件开发知识与技能,丰富自己。从立项到论文的完成经过了将近半年时间,很大的锻炼了自学能力和独立思考解决问题的能力。在这里我衷心的感谢指导老师的悉心指导和大力支持,在总体结构、功能的把握上给予了非常大的帮助。对于我顺利完成这次毕业设计起到了关键性的作用。我会在以后的工作和学习中不断完善自己,努力学习更多知识。再次向老师表示深深的感谢和崇高的敬意。- 50 -

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!