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

上传人:文库蛋蛋多 文档编号:3979909 上传时间:2023-03-30 格式:DOC 页数:51 大小:2.45MB
返回 下载 相关 举报
毕业设计(论文)基于Struts的库存管理系统的设计与实现.doc_第1页
第1页 / 共51页
毕业设计(论文)基于Struts的库存管理系统的设计与实现.doc_第2页
第2页 / 共51页
毕业设计(论文)基于Struts的库存管理系统的设计与实现.doc_第3页
第3页 / 共51页
毕业设计(论文)基于Struts的库存管理系统的设计与实现.doc_第4页
第4页 / 共51页
毕业设计(论文)基于Struts的库存管理系统的设计与实现.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《毕业设计(论文)基于Struts的库存管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于Struts的库存管理系统的设计与实现.doc(51页珍藏版)》请在三一办公上搜索。

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

2、ntory 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 requires th

3、e 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 variety of

4、 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目 录前 言31 系统分析51.1 选题的背景51.2 系统的需

5、求分析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 数据库链接的实现163 系统详细设计173.

6、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参 考 文 献:48致 谢49前 言 随

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

8、语言、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)程序开发环境:Java;1.2

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

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

18、编程开发平台(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编程语言的“一次编写,各处运行”的明显优越特点。随着JSP脚本语

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

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

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

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

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

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)在货品库存中设置所允许的最低库存量,对所有库存量实现监控和报警。 2.1.2系统功能

34、模块图根据库存管理的需求分析,以及功能需求,我对库存管理系统功能需求进行了简要的分析,并根据分析的结果画出了库存管理系统功能模块图如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管理员名称管理员密码不为空,整数不为空,整数,主键不为空,长字符类型不为空,长字符类型表2.4 供

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

38、关联表关联表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程序员可以随心所欲的使用对象编程思想来操纵数据库。Hibernat

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

41、户名和密码后,服务器根据后台返回的结果来确认用户身份并根据身份判断结果进入不同的用户界面,如:登录失败后,将跳转到登录失败的页面。登录成功的话,如果是管理员身份,将跳转到管理员管理界面。如果是供应商的话,将跳转到供应商界面。本系统中用户分为库存管理员和商品供应商两种。不同库存管理员其权限也有所不同。图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.2 入库单填写 图3.7 入

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

45、过该登录界面进入系统,如图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管理员修改密码界面库存管理员只能通过此界面修改自己的密码,修改完成后就,点击“提交修改”按钮,触发一个mo

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

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号