基于JSP的库存管理系统毕业论文.docx
基于JSP的库存管理系统毕业论文基于JSP的库存管理系统毕业论文目录第一章引言(1)1.1系统的开发背景(1)1.2系统开发的必要性(1)1.3系统所要到达的目的(2)第二章主要技术分析(3)2.1JSP技术简介(3)2.2JSP工作原理(3)2.3JSP体系构造(3)2.4JSP的特点(4)2.5SQLSERVER2000数据库(4)2.6系统数据库连接(5)第三章需求分析(11)3.1可行性研究(11)3.1.1经济可行性(11)3.1.2技术可行性(11)3.1.3运行可行性(11)3.1.4时间可行性(11)3.1.5法律可行性(12)3.2需求分析(12)3.2.1系统需求(12)3.2.2性能需求(12)3.2.3应用需求分析(12)2.2.4运行需求分析(13)2.2.5系统的开发环境(13)2.2.6其他需求分析(13)第四章系统分析(14)4.1企业组织构造分析(14)4.2业务流程分析(15)4.3数据流程分析(17)第五章系统设计(23)5.1功能模块设计(23)5.2处理流程设计(25)5.2.1系统操作流程图(25)5.2.2数据增加流程(26)5.5.3数据修改流程(27)5.5.4数据删除流程(28)5.3代码设计(29)第六章数据库设计(31)6.1数据库的概念设计(31)6.2数据库逻辑构造设计(31)6.3数据库物理构造设计(32)第七章具体设计(36)7.1系统登录功能设计(36)7.2基本信息功能设计(37)7.2.1添加供给商以及客户信息(37)7.2.2添加商品信息(38)7.3库存管理(38)7.3.1添加进货信息(38)7.3.2添加进货退货(39)7.4销售管理(39)7.4.1添加销售信息(39)7.4.2添加销售退货(40)7.5查询统计(40)7.5.1商品销售信息查询(41)7.5.2商品进货查询(41)7.6往来管理(42)7.6.1商品进货结账(42)7.6.2销售结账查询(43)7.7会员卡管理(44)7.7.1会员录入(44)7.7.2会员维护(44)7.8系统设置(44)7.8.1添加用户(44)7.8.2修改密码(45)7.8.3退出登录(45)第八章系统测试与性能分析(46)8.1调试与测试(46)8.1.1调试(46)8.1.2测试(46)8.2性能分析(47)第九章总结(48)谢辞(49)参考文献(50)附录(51)第一章引言1.1系统的开发背景随着科学技术十分是信息管理与信息系统、计算机技术等高科技技术的飞速发展和普及,当今世界已进入到了信息时代。企业和组织要求信息处理的数量越来越大,速度越来越快。为了让管理者及时把握准确、可靠的信息,以及执行之后及时的反应,必须建立一个功能齐全和高效率的信息系统,为了提高企业的自动化管理水平,以最快的速度和最准确的数据获得信息并及时作出反应,使公司能够在同类型的企业竞争中立于不败之地,企业必须建立一个信息化的管理系统。在现代一个企业要想在剧烈的竞争中存活下来,企业的信息化是成为价值链上的企业提升核心竞争力的不可或缺的手段。1.2系统开发的必要性随着经济的全球化以及中国经济改革的逐步深化,中小企业面临着越来越剧烈的竞争,企业在以往的货物进销存管理中,公司领导和进销存各部门的信息沟通很少,信息化缺乏,计算机使用率低,大量的日常工作皆是手工处理,因而工作效率比拟低落,企业内部沟通不良等等问题很难克制,仓库管理不合理,不能及时根据需要调整库存。随着企业规模的不断扩大,产品数量的急剧增加,所经营产品的种类也在不断地更新与发展,有关产品的各种信息量也成倍增长。面对庞大的产品信息量,怎样有效地管理库存产品,对企业来讲是非常重要的,进销存管理的重点是销售信息能否及时反应,进而确保企业运行效益。而进销存管理又涉及采购,入库、出库的产品、经办人员及客户和供给商等方面的因素,怎样管理这些信息数据,是一项复杂的系统工程。另外,由于客户量大,各种配件多而且分类也不明确,数据信息处理工作量大,容易出错,由于采购,入库,出库,销售,存储数据繁多,容易丢失,且不易查找。总的来讲,缺乏系统、规范、和安全的信息管理手段。而且,假如要对历史数据进行查询,就比拟费时,费力。传统的以产品为中心的观念逐步被以客户需求为中心所取代。依靠传统的手工管理无法使企业的采购、库存,销售等环节的信息数据及时沟通、适时分享,造成大量的盲目采购、库存积压,销售滞后等现象,不仅降低了效率,更重要的是为企业大大增加了不必要的成本,也严重影响到企业领导层的决策工作。上面的种种不利的条件,都是由于该公司还没有建立起一套科学的管理制度,包括销售管理,库存管理,进货管理的制度,造成了企业的经济利益的宏大损失。因而企业需要有一套完好的进销存管理系统,实现从进货、库存、到销售的一体化管理。使进货、出货、采购、查询工作规范化,系统化,程序化,提高信息处理的速度和准确性,提高管理水平以及工作效率,最大限度地减少手工操作带来的错误。进而改善企业内部以及整个供给链各个环节的管理、调度及资源配置,迅速提高适应客户的新需求和市场新机遇的能力。1.3系统所要到达的目的系统开发的总体任务是实现进销存管理系统的信息化,系统化,规范化和自动化,进而到达提高进销存管理的效率、进销存管理系统能够将进货、销售、库存进行一体化管理系统。针对企业的进货、销售、库存、查询业务,本系统应该到达下面目的:1、实现货物信息管理,供给商信息管理,客户信息管理的增加、修改和删除的功能。2、实现库存信息的及时分享,以便能够准确及时地采购货物以及库存价格的调整。3、实现库存信息的及时分享,以便能够准确及时地对货物进行销售。4、实现货物的入库和出库管理功能,通过计算机能够直接了解和透视仓库存储情况,并且通过库存盘点能及时清查货物损溢数量。5、实现客户信息查询、货物信息查询、供给商信息查询、销售信息查询、销售退货查询、入库查询、入库退货查询并且支持多条件查询以及销售排行。6、实现对销售报表、采购报表、库存报表的统计功能。7、对系统用户名和密码的设定具有安全管理机制,保证系统资源不受人为因素的干扰。能对用户名和密码进行维护,实现系统的权限设置,保证系统安全。支持多人操作,有权限分配功能,能自动生成各种编码。设计系统的经过中应本着以实用为本的思想,争取到达功能相对完善,界面美观大方,操作简洁明了,容错性良好等设计目的。第二章主要技术分析2.1JSP技术简介JSP(JavaServerPage服务器网页)是从1998年开场出现的新技术。由Sun公司倡导、很多公司介入一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.)中参加脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创立显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,四处运行。在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,很多网站都已经准备转向JSP,利用JSP来开发动态网站。2.2JSP工作原理JSP是面向服务器的,因而支持任何阅读器。当Web服务器和JSP引擎碰到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比方JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户阅读器。这就是当前网站构建中广泛采用的阅读器Web服务器后台数据库的三层架构形式。由于JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。2.3JSP体系构造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.4JSP的特点1.简化的页面生成技术。JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容相互独立,非常有利于大型项目的分工合作。2.与Java平台有机集成。JSP技术是Java2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中能够使用几乎所有的Java组件和JavaAPI,这就能充分发挥出Java语言的强大功能。使用JSP技术能够创立具有高度可伸缩性和可靠性的Web应用程序。3.硬件平台和服务器无关性。JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(WriteOnce,RumAnywhere)的特性,能够运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。4.功能可扩展性。好像Microsoft的JSP技术能够通过ActiveX/COM组件来扩展功能一样,JSP能够通过JavaBean和EJB(EnterpriseJavaBean)以及自定义的标记来扩展功能。JSP能够通过JDBC,与诸如Oracle、SQLServer这样的大型关系数据库进行连接。JSP提供了一些隐含对象。这些隐含对象在JSP页面中能够直接引用,而不必首先声明。利用JSP提供的这些隐含对象,能够使脚本功能愈加强大,并且编程愈加容易、方便。例如,利用request对象,能够很容易地接收用户在HTML表单中提交的信息。2.5SQLSERVER2000数据库SQLServer是由Microsoft开发和推广的关系数据库管理系统DBMS,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。SQLServer近年来不断更新版本,1996年,Microsoft推出了SQLServer6.5版本;1998年,SQLServer7.0版本和用户见面;SQLServer2000是Microsoft公司于2000年推出的最新版本。SQLServer特点:1真正的客户机/服务器体系构造。2图形化用户界面,使系统管理和数据库管理愈加直观、简单。3丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。4SQLServer与WindowsNT完全集成,利用了NT的很多功能,如发送和接受消息,管理登录安全性等。SQLServer可以以很好地与MicrosoftBackOffice产品集成。5具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。6对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。7SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。2.6系统数据库连接JDBC技术是JavaDataBaseConnectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(ApplicationProgrammingInterface)。它由一组用Java语言编写的类和接口组成。通过这些类和接口,程序开发人员能够在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因而,开发人员使用JDBCAPI能够不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQLServer。不但如此,使用Java语言编写的应用程序能够在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。简单地讲,JDBC能完成下列三件事:1.同一个数据库建立连接;2.向数据库建立连接;3.处理数据库返回的结果。JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。讲JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样能够作为更高级的,用户办面更友好的API或开发工具基础。很多可视化的Java开发工具,如VisualAgeForJava、VisualCafé、J+等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBCAPI的方式为,用户程序能够提供一个界面如菜单等让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。通过这处方式,用户能够完成对数据库的操作,即便他并不了解SQL语法以及JDBC编程。数据库访问的三层构造如图5.1所示,阅读器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。图2.1使用中间件的数据库访问三层构造用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到阅读器端用户。这样,在用户端输入的用户名和密码,能够通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出如今位于服务器端的中间件中,这样就愈加安全。本系统采用的正是这样的三层构造的数据库访问形式。在三层模型中,命令将被发送到服务的中间层,而中间层将SQL语句发送到数据库。数据库处理SQL语句并将结果返回中间层,然后中间层将它们返回用户。其模型如图2.2所示。图2.2JDBC的三层模型由于中间层能够进行对访问的控制并协同数据库的更新,并且能够使用一个易用的高层API,这个API能够由“中间层进行转换,转换成低层的调用。所以在很多种情况下,三层模型能够提供更好的性能,本系统中所采用的就是此种模型。JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库获得SQL语句的执行结果。当JDBC要与数据库建立连接前,首先,它必须先获得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVMJavaVirtualLMachine中,本系统中利用httpdocsj/doc/91d5484924c52cc58bd63186bceb19e8b8f6ec98.ng.Class类内的forName静态函数根据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection静态函数,获得与数据库间的连接对象。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来获得。当获得连接对象后,还必须获得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及获得执行结果。在java.sql.Statement的sql对