仓库管理系统的设计与实现本科毕业设计

毕业论文题目:仓库管理系统的设计与实现 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意作 者 签 名: 日 期: 指导教师签名: 日 期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明本人完全意识到本声明的法律后果由本人承担作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文涉密论文按学校规定处理作者签名: 日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神□ 优 □ 良 □ 中 □ 及格 □ 不及格2、学生掌握专业知识、技能的扎实程度□ 优 □ 良 □ 中 □ 及格 □ 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力□ 优 □ 良 □ 中 □ 及格 □ 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性□ 优 □ 良 □ 中 □ 及格 □ 不及格5、完成毕业论文(设计)期间的出勤情况□ 优 □ 良 □ 中 □ 及格 □ 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□ 优 □ 良 □ 中 □ 及格 □ 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□ 优 □ 良 □ 中 □ 及格 □ 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□ 优 □ 良 □ 中 □ 及格 □ 不及格2、论文的观念是否有新意?设计是否有创意?□ 优 □ 良 □ 中 □ 及格 □ 不及格3、论文(设计说明书)所体现的整体水平□ 优 □ 良 □ 中 □ 及格 □ 不及格建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格(在所选等级前的□内画“√”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□ 优 □ 良 □ 中 □ 及格 □ 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□ 优 □ 良 □ 中 □ 及格 □ 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□ 优 □ 良 □ 中 □ 及格 □ 不及格2、论文的观念是否有新意?设计是否有创意?□ 优 □ 良 □ 中 □ 及格 □ 不及格3、论文(设计说明书)所体现的整体水平□ 优 □ 良 □ 中 □ 及格 □ 不及格建议成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格(在所选等级前的□内画“√”)评阅教师: (签名) 单位: (盖章)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况□ 优 □ 良 □ 中 □ 及格 □ 不及格2、对答辩问题的反应、理解、表达情况□ 优 □ 良 □ 中 □ 及格 □ 不及格3、学生答辩过程中的精神状态□ 优 □ 良 □ 中 □ 及格 □ 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?□ 优 □ 良 □ 中 □ 及格 □ 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?□ 优 □ 良 □ 中 □ 及格 □ 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义□ 优 □ 良 □ 中 □ 及格 □ 不及格2、论文的观念是否有新意?设计是否有创意?□ 优 □ 良 □ 中 □ 及格 □ 不及格3、论文(设计说明书)所体现的整体水平□ 优 □ 良 □ 中 □ 及格 □ 不及格评定成绩:□ 优 □ 良 □ 中 □ 及格 □ 不及格教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日仓库管理系统摘要21世纪是一个信息化的时代,企业只有敏捷的获取生产信息和市场信息,才能置身于国际大舞台,这就离不开先进的企业管理系统——ERP。
而仓库管理系统正是ERP中一个最重要的组成部分,也是企业生产过程的一个重要组成部分企业要在现代化国内外市场取得一席之地,就必须使其仓库管理体系达到现代化水平,也即使仓库管理从原始的手工阶段走向方便快捷的计算机实现阶段选择合理的仓库管理方法,不仅会促进销售,改善生产秩序,做到均衡生产,而且会降低库存的占用资金,最终使企业获得更好的经济效益本仓库管理系统是针对的实际需求,从实际工作出发,在分析目前仓库管理系统中存在的问题的基础上,结合管理信息系统开发的概念、结构及系统开发的基本原理和方法,并利用计算机运算速度快、存储信息容量大、处理逻辑问题强、功能强大的优势,采用目前流行的B/S结构和流行框架SSH(Struts +Spring+Hibernate)和MVC设计模式通过Internet/Intranet实现对物资进行管理,特别是对物资基本信息管理、物资调配信息等进行完整的监控而开发出来的从查询与决策信息的管理需求出发,针对性强,功能齐备,旨在通过帮助该库存管理实现信息化、网络化,以提高管理的效率本仓库管理信息系统主要包括“入库管理”、“出库管理”、“基本信息管理”和“系统用户管理”等模块它主要对物资的出入库进行统计和核算,及时准确地掌握商品库存情况,并动态反映物资的增减变动,为的决策提供基础数据。
关键词:仓库管理系统;B/S;SSH;MVC WMS-Warehouse Management SystemAbstract21 century is an informative ERP.Enterprises which could activate in the international community must dependent on the acquisition of the manufacture and marketing information. This needs advanced enterprise management system---ERP. And warehouse management system is a most important part of ERP.To obtain a place in the inner and international market, the warehouse management system of enterprises must modernize. Namely, the management of warehouse must transmit from primitive handmade stage to convenient computerization. Choosing proper method of warehouse management, not only to boost market, ameliorating the order of production, achieving the end of equilibrium production. It can also decrease the funds of stockings.Ultimately,enterprises obtain better economics benefit by using this software.How to reduce the cost,improve work efficiency is materials store managers need to solve a practical problem.This material management information system is aimed at the actual demand,from actual conditions, and on the analysis of the current material management information system based on the problems existing in the information system development,management concept,structure and system development,the basic principle and methods,and use of computer operation speed and storage capacity and processing information, logical problem of powerful advantages, the popularity of B/S structure and the three pandemic framework of SSH(Struts+Spring+Heibernate) and MVC design pattern,through the Internet/one of enterprise management, especially for basic information management,materials,materials,information of deployment and monitoring.From the management decision information query and pertinence,is to help the enterprise,by realizing informationization,the network management of material, in order to improve the efficiency of the enterprise management.This material management information system mainly include "material inventory management",and "material outbound management" and "material" and "the basic information management system user management",etc.It mainly supplies for the enterprise to make statistics and accounting, timely and accurately grasp the dynamic inventory goods,and reflects the changes,enterprise or business the decision to provide basic data.Key Words: WMS-Warehouse Management System;B/S;SSH;MVC;III 目录摘要 IAbstract II目录 11 绪论 11.1 课题设计的背景 11.2 课题设计的目的和意义 11.3 课题的主要研究工作 21.4 论文结构安排 22 课题涉及的关键技术 32.1 MVC设计模式简介 32.2 JSP技术简介 32.2.1 JSP工作原理 42.2.2 JSP体系结构 42.2.3 JSP的特点 52.3 SSH框架简介 52.3.1 定义 52.3.2 Struts2 62.3.3 Spring 62.3.4 Hibernate 72.4 Sql Server数据库简介 82.4.1 SQL Server2005简介 82.4.2 “结构化查询语言”(SQL)简介 83 系统需求分析 103.1 可行性分析 103.1.1 技术可行性 103.1.2 经济可行性 103.2 功能需求分析 103.3 数据需求分析 113.5 性能需求分析 134 系统概要设计 144.1 系统功能设计 144.2 数据库的设计 154.2.1 E-R图的设计 154.2.2 数据库表的设计 175 系统的详细设计与实现 205.1 登陆页面的设计与实现 205.2 系统安全管理的实现 225.3 系统用户管理 265.5 基础信息维护 275.5 物资入库出库管理 295.6 系统配置时的一些关键代码 315.6.1 Struts.xml配置 315.6.2 web.xml配置 346 系统测试 376.1 测试概述 376.2 数据库测试 376.3 测试实例 387 总结 41参考文献 42致 谢 43毕业设计(论文)知识产权声明 44毕业设计(论文)独创性声明 45附 录 461 绪论1.1 课题设计的背景当今社会是一个信息社会,一个知识经济时代。
自世界上第一台计算机ENINC(Electronic numerical integrator and calculator)于1946年在美国问世到现在,计算机业飞速发展,技术淘汰指标高的惊人,价格下降以及软件应用的快速扩展引发了以信息处理计算机化为标志的“微机革命”,随之而来的是以全球信息网络普及和全球信息共享为标志的“全球信息网络革命”的蓬勃兴起可见,世界已进入在计算机信息管理领域中激烈竞争的时代,计算机已经变得普通得不能再普通的工具,如同我们离不开的自行车、汽车一样随着企业规模的扩大,管理信息系统也发挥越来越重要的作用作为企业管理信息系统关键组成部分的仓库管理系统的应用给企业带来巨大的效益采用仓库管理系统将使企业改变其传统的手工记录模式,应用数据库技术使海量数据的存储与处理成为很方便的事情,这样可大幅缩短主要业务流程的处理时间,提高对市场的响应能力物流服务最初起源于军事上的运用”,“物流”这一概念起源于二战期间的美国,英文称之为Logistics或者Physical Distribution,前者的使用率更高一些物流一词最早被描述为泛指军队运输、补给和屯驻,后来被广泛用来描述商品实体的物理性流通活动,成为流通经济学中的术语。
随着经济的全球化以及中国经济改革的逐渐深化,各面临着越来越多激烈的竞争我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能在各种竞争中立于不败之地库存管理是一般工业、商业生产管理环节中重要的一环,所以,有效地进行物资基本信息管理、物资调配信息等进行完整的监控已经成为了各生存和发展的头等要事本仓库管理信息系统就是在这样的信息技术广泛应用的时代背景下,本着用户的需求,借助于现代化的管理方法和信息技术开发出来的1.2 课题设计的目的和意义基于给管理者与物资创造一个能够及时进行信息交互的平台,仓库管理系统就孕育而生了,希望通过它可以将管理者和物资紧密相连起来,实现便捷管理的目标该系统继承了传统的管理方法使得管理者更加便捷、迅速、准确的掌握仓库信息,通过该仓库管理系统得到信息的反馈,同时也可以进行一系列的操作来对物资进行入库和出库等信息登记这大大的缩短了工作时间,且提高了工作效率仓库管理系统的投入,将使仓库的管理更加正规化,为产品的出入库管理部1门和销售部门提供了方便,降低了仓库的损耗企业可以对售出的产品进行跟踪服务,同时也免去了销售人员按以往惯例亲自前往用户处去核实货物情况的麻烦,提高了办事效率,节省了费用,而且还避免了不必要的业务纠纷,维护了企业长期与用户建立的良好信誉。
1.3 课题的主要研究工作该系统采用了现在技术界很流行的Java语言来做开发实现,运用各种性能均良好的数据库MYSQL,页面流行语言JSP,主流的三个框架SSH(Struts+Spring+Hibernate),热门的设计模式MVC将整个系统有机的联系起来,使其运行流畅,简单易懂Java不仅是一个很好的编程工具还是一个很好的平台,封装性非常好,良好的面向对象编程思想,Sqlserver关系型数据库的优势,加上安全性能好,使系统的可用性大大提高了1.4 论文结构安排本论文以标准的仓库管理模式为蓝本,根据软件工程的理论,开发出基于Java EE的适用于中小单的位仓库管理系统论文首先研究了系统开发的可行性,然后进行了需求分析,并将需求分析以文档的形式反馈给用户,并和用户进行交流进一步确认需求,然后根据需求分析采用了结构化分析方法进行了系统分析设计,并进行了数据库的建模工作,根据模型构建了数据库后台数据库采用SqlServer2005完成基于开放的开发架构Java EE,实现了系统登录模块、主窗口模块、仓库人员管理模块、入库模块、出库模块等最后对全文进行了总结,对今后的工作提出了展望本论文共有七章,具体组织如下:第一章:通过分析,提出仓库管理系统开发的目的和意义,此次研究的主要任务,以及本次论文的组织。
第二章:主要介绍开发本系统所采用的相关技术第三章:系统需求分析,在此章节主要进行用户需求分析和性能需求分析以及系统开发环境的要求第四章:系统概要设计,在这个阶段要得到数据库的设计以及系统整个流和每个功能模块的设计第五章:系统的详细设计与实现,主要通过界面形式展现出来第六章:进行系统测试包括测试的任务及目标、测试方案和测试用例第七章:对全文以及整个系统的实现过程进行了总结,给出了系统设计的体会与收获92 课题涉及的关键技术2.1 MVC设计模式简介MVC(Model-View-Controller),即模型、视图、控制器它是Java应用中比较热门的一种编程思想,通过将一个应用的输入、处理、输出的应用程序进行分离,使得这样一个应用被分为三层--模型层、视图层、控制层,从而使得整个应用清晰化、简洁化,更易于程序员编码该模式的关系状态图如下2.1所示:图2.1 MVC状态关系图该模型的优点:1)MVC具备多个视图对应一个模型的能力在目前用户需求的快速变化下,可能有多种方式访问应用的要求2)模型返回的数据不带任何显示格式,因而这些模型也可直接应用于面向接口编程3)一个应用被分离为三层,有些情况下只需改变其中一层就能满足应用的改变。
控制层可以包含用户请求权限的控制4)有利于软件工程化管理由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工具产生并管理程序代码该模型的缺点:它增加了系统结构和实现的复杂性、视图域控制器间连接往往过于紧密、试图对模型数据访问效率降低等2.2 JSP技术简介JSP(Java Server Page服务器网页)是从1998年开始出现的新技术由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)JSP技术为创建显示动态生成内容的web页面提供了简便的方法JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站 2.2.1 JSP工作原理JSP是面向服务器的,因此支持任何浏览器当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。
JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器这就是当前网站构建中广泛采用的浏览器——Web服务器——后台数据库的三层架构模式因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果2.2.2 JSP体系结构JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二模式一:JSP+JavaBeans技术在这种模式中,JSP页面独自响应请求并将处理结果返回给客户Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情所以模式一可用于小型应用,不能够满足大型应用的需要模式二:JSP+Servlet+JavaBeans技术Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。
从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能2.2.3 JSP的特点1) 简化的页面生成技术JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作2) 与Java平台有机集成JSP技术是Java 2平台的重要组成部分,JSP使用Java语言作为它的脚本语言在JSP页面中可以使用几乎所有的Java组件和Java API,这就能充分发挥出Java语言的强大功能使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序3) 硬件平台和服务器无关性JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(Write Once,Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。
4) 功能可扩展性如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能JSP可以通过JDBC,与诸如Oracle、SQL Server这样的大型关系数据库进行连接JSP提供了一些隐含对象这些隐含对象在JSP页面中可以直接引用,而不必首先声明利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息2.3 SSH框架简介2.3.1 定义集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Struts和Hibernate具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理Struts和Hibernate。
系统的基本业务流程是:在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率2.3.2 Struts2Struts对Model,View和Controller都提供了对应的组件ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。
Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示Model部分:由ActionForm和JavaBean组成,其中ActionForm用于将用户的请求参数封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求JavaBean则封装了底层的业务逻辑,包括数据库访问等View部分:该部分采用JSP(或HTML、PHP……)实现Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能对应上图的JSP部分Controller组件:Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器系统核心控制器,对应上图的ActionServlet该控制器继承了HttpServlet类,因此可以配置成标注的Servlet该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。
对应Action部分2.3.3 SpringSpring是一个开源框架,它由Rod Johnson创建它是为了解决企业应用开发的复杂性而创建的Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情然而,Spring的用途不仅限于服务器端的开发从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益目的:解决企业应用开发的复杂性功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架轻量——从大小与开销两方面而言Spring都是轻量的完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布并且Spring所需的处理开销也是微不足道的此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发应用对象只实现它们应该做的——完成业务逻辑——仅此而已它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用框架——Spring可以将简单的组件配置、组合成为复杂的应用在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码它们也为Spring中的各种模块提供了基础支持2.3.4 HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration这5个核心接口在任何开发中都会用到通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制下面对这五个核心接口分别加以介绍Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句但需要注意的是Session对象是非线程安全的同时,Hibernate的session不同于JSP应用中的HttpSession这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户sessionSessionFactory接口:SessionFactory接口负责初始化Hibernate。
它充当数据存储源的代理,并负责创建Session对象这里用到了工厂模式需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactoryConfiguration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象Transaction接口:Transaction接口负责事务相关的操作它是可选的,开发人员也可以设计编写自己的底层事务处理代码Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询它可以使用HQL语言或SQL语句两种表达方式2.4 Sql Server数据库简介2.4.1 SQL Server2005简介SQL SERVER 是Microsoft在关系数据库管系统(RDBMS)方面的开发成果其主要目的是尽可能快地存储、管理和检索大量数据。
我们将使用SQL SERVER存储与知识系统网站相关的所有信息,这些信息会由应用程序逻辑动态放置在网页中SQL Server是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 2000 的膝上型电脑到运行Microsoft Windows XP的大型多处理器的服务器等多种平台使用2.4.2 “结构化查询语言”(SQL)简介SQL全称是“结构化查询语言(Structured Query Language)”,最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用目前,SQL语言已被确定为关系数据库系统的国际标准,被绝大多数商品化关系数据库系统采用,如Oracle、Sybase、DB2、Informix、SQL Server这些数据库管理系统都支持SQL语言作为查询语言。
结构化查询语言SQL是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的功能极强的关系数据库标准语言在SQL语言中不需要告诉SQL如何访问数据库,只要告诉SQL需要数据库做什么SQL广泛地被采用正说明了它的优点,使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅3 系统需求分析3.1 可行性分析所谓开发的可行性,就是指在整个系统开发工程中,解决“做什么”的问题,把要解决哪些问题,满足用户哪些具体的信息需求调查分析清楚,从逻辑上或说从信息处理的功能需求上提出系统的方案,即逻辑模型,为下一阶段进行物理方案设计,解决怎么办提供依据它是信息开发系统中的一个重要阶段,是建立系统模型的第一步其核心是目标分析与需求分析,最后提出系统的逻辑方案3.1.1 技术可行性该系统所需硬件设备,如服务器、PC机、打印机及网络配件等,这些设备在性能上已经有了很大提高,价格又相对较低,能满足系统功能需求软件上,操作系统采用WINDOWSXP,数据库管理系统采用SQL SERVER,这些软件在MIS开发中已被大量应用,技术上都比较成熟本系统采用WEB技术来实现,使用JSP可以创建动态、交互的Web服务器应用程序,JSP页面可以使用脚本语言(如Vbscript、Javascript等)因此技术上是可行的。
3.1.2 经济可行性仓库管理系统属于一个工具型的系统,它可以节省工作人员大量数据收集、录入、整理、查询、修改等手工操作,而且迅速准确,能够极大地提高工作效率,最大限度的降低用户和管理员的工作量,使库存管理尽量简便,同时促进业务的规范化、程序化,及时给各级领导提供必要的信息统计系统开发所需的费用是比较低的,由于系统并不复杂,其运行与培训费用也不会占用很多资金,可以预见系统完成后可以带来较大的经济效益综上所述,实施MIS在技术上、经济上都是可行的,因此,开发仓库管理系统是可行的3.2 功能需求分析需求分析主要是对收集到的需求进行提炼、分析和仔细审查,以确保所有的风险承担者都明白其含义并找出其中的错误、遗漏和其他不足的地方形成完整的分析模型长期以来,库存管理工作中的信息管理是采用人工的方式,要付出大量人力,40填写各种表格、凭证、账册、卡片和文件由于信息是随着时间不断变化的,各业务部门对信息的使用要求也各不相同,所以要按照不同的分类经常不断地汇总、统计,往往要做许多重复登记和转抄这种手工操作的管理方式,不仅浪费人力,而且存在许多缺点:1)处理速度慢,影响信息及时性2)易出现错误,影响信息精确性。
3)不便于查询4)缺乏综合性,不能起控制作用由于这些缺点,大大降低了信息的利用价值,显然越来越不适应现代库存管理工作的需要因此,发展以电子计算机为基础的仓库管理系统已是十分迫切和必要为了将库存管理纳入规范化、现代化管理的轨道,针对现有库存管理中存在的问题和管理的实际需要,我们将理顺管理体制、建立各种管理规范与开发信息系统有机地结合起来通过建立专门的仓库管理系统来实施对物资进行统一管理所以,为了顺应用户需求,特推出了基于WEB的仓库管理系统仓库管理系统需要实现系统用户管理,基础数据管理,物资出库(入库)等几个部分功能,下面分别阐述这几个部分的功能需求1)系统用户管理模块用户的添加:可以对用户添加,从而实现其它用户来访问系统的权限用户的删除:进行的用户过期用户的删除,从而节省存储空间2)基础数据管理模块物资信息的管理:进行物资添加、修改、删除、查找操作供应商信息的管理:进行供应商的添加、修改、删除、查找操作3)物资出库(入库)管理模块物资入库:进行基本的物资入库操作物资出库:进行基本的物资出库操作物资查看:可以查看仓库里面的物资信息库存报警:当存储达到一定数量时提醒用户,用户可以进行相关的操作。
3.3 数据需求分析通过前面对系统功能需求的分析,可以了解到仓库管理系统主要实现的功能,包括基本信息维护、入库信息记录、出库信息记录、物资信息查询和系统用户管理仓库管理系统所涉及的主要数据包括库存记录、入库记录、出库记录、库存物资和用户记录,下面分别分析这些数据需求1)库存记录库存记录是物资管理中建立的库存基本信息库存基本信息供库存入库、库存出库和库存管理使用,即整个库存管理信息系统的数据是以库存记录为基础的2)入库记录入库记录是物资入库的信息,在进行物资入库登记时,需要记录是物资信息,负责人,入库时间入库记录由库存产生,需要用到库存基本信息,形成的入库信息可以在库存管理中使用3)出库记录出库记录是库存出库的信息,与入库类似,在进行物资出库记录时,也要记录库存信息,负责人,出库时间以4)库存物资库存物资是动态的出仓库物资信息,它可以通过入库记录和出库记录的总汇数据得到当需要查看库存时,只要按照各种库存统计其累计入库和累计出库,累计出库和累计入库的差就是库存数量物资管理中只要使用物资基本信息,物资入库信息和物资出库信息,然后通过简单地加工处理,就可以形成库存物资数据5)用户记录用户记录是用户管理中建立的用户基本信息。
可以查看到登录过的用户的登录日子6)库存报警当库存到了一定的程度就无法再继续进行物资入库了,系统将会自动进行库存报警功能通过对系统数据需求的分析,可以得到如下图3.1所示的系统数据流图该图简明地表示了仓库管理系统的主要数据流向图3.1系统数据流图3.5 性能需求分析根据毕业设计仓库管理系统的需求进行开发设计,主要实现如下目标:界面设计友好、美观、大方、数据要准确、安全、可靠强大查询功能,方便用户浏览自己课程的相关信息设计用户登陆功能,保证用户个人信息的安全性实现对物资等信息的添加、修改,便于更改系统最大限度地实现易维护性和易操作性操作简易,实用性强因此操作的简易实用性就体现的尤其重要,在此系统的开发中就很好的体现了这一点本系统的界面美观、典雅、充满了人性化,用户操作起来也容易上手对于一个仓库管理系统系统而言测评信息是很多的,而且存储量大,所以对系统的安全性有比较高的要求;对于数据库,要设置不同用户的权限,数据的修改必须由合法用户操作;数据的添加、修改必须是合法的有效的下面对系统的性能方面做了一些规定如下:数据精确度:输出结果为双精度时间特性:1)连接服务器时间 3毫秒;2)更新处理时间为24小时;3)服务器连接速度20488 Kbps ;4)运行时间30秒;4 系统概要设计4.1 系统功能模块设计系统后台主要是,普通用户在系统后台可以看到自己的基本信息,维护自己的信息,可看到仓库信息,物资信息,系统超级管理员可以对系统中用户的角色,权限和用户进行增删改的操作,系统管理员是对物资的添加、修改、供应商管理以及登陆信息,主要功能。
在对本系统进行了需求分析,如下是各个系统的功能设计表4.1 系统功能模块设计功能模块名称具体功能描述用户管理用户管理是对系统使用者进行的增删改查操作,对后台数据进行操作特别是删除操作是危险的,所以我将其操作权限只赋予给超级用户,这样确保了系统的安全安全管理对本用户的密码想要进行修改时,必须要知道自己的原始密码,后台对原始密码进行数据库校验,如果与后台记录的原始密码一致,用户才可以进行修改基础数据维护功能用户进入系统之后,可以进行物资的添加、删除操作在添加的同时可以进行物资备注,这样就可以很明了的知道物资信息在进行物资的操作结束之后,可以对物资的供应商进行添加、删除操作供应商也对应有它的属性来进行编辑物资出库和入库功能物资的管理包括出库、入库物资查看和库存报警操作入库包括:入库时间、入库物资、入库数量、金额、负责人和基本操作出库包括:出库时间、出库物资、出库数量、金额、负责人和基本操作物资查看是查看对应物资的数量库存报警是当库存数量达到预先设置的值时会提示管理员登陆日志功能记录登陆的用户和登陆时间,并导出文件以便之后查询安全退出统直接退出到登陆系统首页由上述系统的功能模块设计可以得到如图4.1所示的系统功能模块图。
图4.1 系统功能模块图在得到系统功能模块图之后分析得到,用户还需要权限管理,如图4.2是权限管理功能模块图图4.2权限管理功能模块图4.2 数据库的设计4.2.1 。