毕业设计(论文)基于JSP连接池实现的企业进销存管理系统研究.doc

上传人:仙人指路1688 文档编号:3979334 上传时间:2023-03-30 格式:DOC 页数:30 大小:818KB
返回 下载 相关 举报
毕业设计(论文)基于JSP连接池实现的企业进销存管理系统研究.doc_第1页
第1页 / 共30页
毕业设计(论文)基于JSP连接池实现的企业进销存管理系统研究.doc_第2页
第2页 / 共30页
毕业设计(论文)基于JSP连接池实现的企业进销存管理系统研究.doc_第3页
第3页 / 共30页
毕业设计(论文)基于JSP连接池实现的企业进销存管理系统研究.doc_第4页
第4页 / 共30页
毕业设计(论文)基于JSP连接池实现的企业进销存管理系统研究.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《毕业设计(论文)基于JSP连接池实现的企业进销存管理系统研究.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于JSP连接池实现的企业进销存管理系统研究.doc(30页珍藏版)》请在三一办公上搜索。

1、1 引言1.1 课题研究背景随着我国改革开放程度的不断深入和经济的持续高速发展,大、中、小企业如雨后春笋般的在中国大地上崛起,不少企业在各地建立了分公司和代理制,通过分公司或代理把产品推向最终用户。这些分公司或代理商大都分布在不同的地理位置,跨时空的频繁业务信息交流是这些企业业务的活动的主要特点。在这种形式下,传统的依靠管理人员人工传递信息和数据的管理方式就无法满足企业日益增长的业务需求了。因此,为了解决上述问题,在竞争中占的先机,作为生产企业的一个必不可少的重要环节进销存管理的信息化也就迫在眉睫了。1.2相近研究课题的介绍与优缺点分析(1)中小型商品流通企业进销存管理系统的分析与设计介绍:本

2、文在分析了现有进销存系统的特点的基础上,了解了中小销售企业对进销存管理软件的总体要求后,提出了基于B/S的中小型商品流通企业进销存管理系统的研发。优点:本系统在力求简单易用的基础上实现业务与功能的完美结合,有较为广泛的适用范围,用户只需做很少的工作就可使多种不同类型的商品共用同一系统,且即可单机使用,也可连锁经营,适合不同用户的需要,突出强大的进销存业务的管理能力。缺点:安全性不够高。(2)基于WEB企业进销存应用系统的研究与实现介绍:本文详细地阐述了进销存管理系统的设计、开发和实施过程。系统是在.NET平台下开发的,.NET平台提供了多层的分布式的应用模式、组件再用、一致化的安全模型以及灵活

3、的事务控制,很好的满足了系统的要求。优点:本系统一方面通过进销存管理系统的建立,理顺了企业的信息流程和流向,使企业的经营管理更加完善,提高了管理的整体水平;另一面,在现有的人力、物力和财力的基础上,进一步发挥了企业的优势,使得企业能够扩大市场占有率,提高了公司的竞争能力。缺点:页面复杂,管理员不易上手操作使用。1.3 课题研究意义开发进销存管理系统可以顺应时代的信息化、现代化潮流,提高经济效益;又可以提高管理的现代化程序,加强管理的信息化手段,提高工作效率,增加企业效益。通过进销存管理系统,管理者可利用信息化手段把先进的企业管理方法引入到企业的实践中,为企业的管理改革提供切实易行的途径。更重要

4、的是,进销存管理系统可以及时通过信息技术把企业数据快速转化为企业信息,从而可以及时发现问题,解决问题,进而为相关管理者提供决策依据。1.4 本论文的目的及工作内容按照管理信息系统开发的原理和方法,采用现代成熟的信息技术手段来有效的管理整个采购销售的运行业务,加强此过程中对信息资源的管理及应用,使信息处理工作更加科学化、规范化。开发出一套操作方便,功能实用,能满足企业要求的管理系统。本系统可以完成客户、商品和供应商的信息管理,还有进货、出货、查询、销售额图表分析等几大主要功能,同时可对与这几大功能模块有关的附加资料的处理功能,完全可以满足企业进出货信息的管理任务。1.5 本论文的主要结构第1章引

5、言描述了本课题的背景、意义和相近课题的研究现状,并总结了本论文的目的和工作内容。第2章介绍了JSP、Dreamweaver等相关技术和开发工具。第3章对系统进行需求分析和可行性分析。第4章分析了系统的功能模块,介绍了数据库的概念结构设计和物理结构设计。第5章叙述了本进销存网站主要模块的实现方法,以及中心算法的实现原理。第6章介绍了系统测试方法与流程并列出了网站主要功能模块的测试用例与结果。第7章对本进销存网站的操作和维护进行说明。第8章对本论文进行总结并提出展望。2相关技术和开发工具介绍2.1 JSP技术特点介绍1、一次编译,多次、多处运行,代码的执行效率高JSP的脚本语言是JAVA语言,因此

6、它具有JAVA语言的一切特性。同时,JSP也支持现在大部分平台。 当JSP第一次被请求时,JSP页面转换成Servlet,然后被编译成.calss文件,以后(除非页面有改动或Web服务器被重新启动)再有客户请求该JSP页面时,JSP页面不被重新编译,而是直接执行已编译好的.class文件,因此执行效率特别高。2、组件的重用性可重用的、跨平台的JavaBeans和EJB(Enterprise JavaBeans)组件,为JSP程序的开发提供方便,我们可以将复杂的处理程序(如页面中需要显示的动态内容及对数据库的操作)放到组件中。可以多次使用这些组件,极大的减少了在JSP页面中重写重复的代码。3、将

7、内容的生成和显示进行分离使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者脚本来生成页面上的动态内容。生成动态内容的语句一般被封装在JavaBean组件、EJB组件或JSP脚本段中。这样,页面的设计人员和页面的编程人员可以同步进行。同时在客户端通过查看源文件,看不到JSP标识的语句,更看不到JavaBean和EJB组件,也可以保护源程序的代码。2.2 SQL Server 数据库介绍SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第

8、一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。Microsoft SQL Server是基于服务器端的中型数据库,可以适合大容量数据的应用,在功能和管理上比Microsoft Access强。能够处理大量数据,灵活地开发后台,具有可扩展性等。运用SQL Server数据库,实现网站数据传递,保证

9、数据的完整性、安全性。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据,添加数据,删除数据等。绝大多数流行的关系型数据库管理系统都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。2.3 Dreamweaver简介Dreamweaver是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网

10、页。利用Dreamweaver中的可视化编辑功能,可以快速创建 Web 页面而无需编写任何代码。可以查看所有站点元素或资源并将它们从易于使用的面板直接拖到文档中。Dream weaver 还提供功能全面的编码环境,其中包括代码编辑工具;有关层叠样式表、JavaScript和其它语言的语言参考资料。Dreamweaver具有设计和开发网站过程中需要的网站管理、网站设计、页面制作、多媒体制作和动画制作等丰富实用的功能:它具有友好的操作界面,在文档窗口中可以打开各种浮动面板,同时还可以使用系统内置的多种对象进行操作。Dreamweaver启动后,工作区是白色的空白区域,可以在工作区插入图像、表格、添

11、加背景、添加音乐以及其它页面元素;浮动面板提供了访问程序特性的简单方法,可以对浮动面板进行选择、拖放、重新定位、移动等操作,当不需要使用某个移动面板时,可以用鼠标单击该面板右上角的关闭按钮将其关闭,需要时再打开;状态栏位于窗口的最下端,用于显示文档的HTML标记、文档窗口大小、下载速度等信息。2.4 Tomcat服务器简介Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问

12、用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servle

13、t容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。3 系统分析3.1系统初步调查目前中小企业希望解决的问题是:解决企业内部统一的物料编码管理,物流管理中的信息流通,库存积压与物料的配套问题,完善质量检验,对生产过程中的质量信息进行全面管理。包括原材料、外购外协件、半成品、成品各道工序的质量控制,并对各种数据进行统计分析。对公司的各种资源与信息进行查询,包括销售、采购、生产、财务等信息数据进行查询、统计与分析,对根据信息作出快速合理的经营决策。3.2 可行性分析3.2.1 技术可行性分析本网站是采用JSP +SQL Server 2000开发的,虽然

14、现在JSP的使用相对于ASP,PHP没有这么流行,但是它是未来网站发展的趋势。它所具有的一些功能是ASP,PHP无法比拟的,比如:一处编写随处运行,系统的多平台支持,强大的可伸缩性等优势。而SQL Server 2000是由微软公司推出的,能提供超大型系统所需的数据库服务,并对数据库提供全面的保护,具有防止问题发生的安全措施。它是一个采用SQL语言的关系型数据库管理系统。作为客户机/服务器的后端数据库,是所有数据的汇总和管理中心。3.2.2 经济可行性分析现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为企业的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,

15、本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高企业的工作效率;第四,本系统可以使敏感文档更加安全。本系统的开发所需的设备在现有条件下,只需要少量的投入资金就可以实现。因此在经济上是可行的。3.2.3 管理可行性分析对于企业公司来说,拥有一个有效的进销存管理系统是必需的一部分。通过该进销存系统,可以提供给公司有价值的分析,帮助制定战略决策,有效的了解并解决客户的信息。本系统完成后,将会使进销存管理工作变得简单、高效、方便,且系统用户界面简单友好,易于维护和管理。3.3 需求分析3.3.1 用户需求分析随着我国市场经济的蓬勃发展,企

16、业正处于一个高速发展的时期。行业的快速发展,必然导致市场竞争的加剧,要想在激烈的市场竞争中谋求发展,客观上要求企业必须加强内部管理,提高运营效率。而我国大部分企业虽然经营实现了专业化,但是从信息机制上还没有摆脱原有的销售模式,企业内部没有形成完善、有效的激励和约束的信息化管理机制,企业发展的动力不足,影响了企业的持续、稳定、快速发展。同时,我国企业经营形式正在向集团化、连锁化发展。在这一发展过程中旧有的企业管理模式已不能适应新型的社会主义市场经济的要求。如何利用现代化信息技术使企业拥有快速、高效的市场反映能力和高度的效率,已是经营企业特别关心的问题。再者,由于企业产品种类繁多、销售模式繁多、业

17、务量大,单凭手工记账很难适应工作的需要。如何尽快建立和完善现代企业的信息化管理机制,已成为企业生存发展的关键所在。3.3.2 信息需求分析通过对用户的调查分析,已经了解了一般的企业公司手工工作的业务情况和用户对系统的一些要求,接下来将对企业公司的业务情况进行系统分析,考虑到手工系统与计算机管理系统的交互性、复杂性和计算机本身的一些特点。在开发进销存管理系统时不能简单的对手工系统进行模仿,而应根据物流和信息流的流向和顺序,全面考虑对业务数据的组织,分类和汇总的方法。通过逐步确认各主要数据流的范围和数据处理的频度,先对手工系统问题分析解决,然后构建出系统的业务流程图和系统结构图。3.3.3 功能需

18、求分析功能主要分为六大模块:(1)基础信息管理该模块主要是对企业的客户信息、商品信息、供应商信息进行有效管理,并实现按不同条件对这些数据进行查询的功能。(2)库存管理该模块主要是对商品的入库及入库退货信息进行有效管理,对商品的价格进行调整,同时可按不同条件查询库存商品。(3)商品销售该模块主要是对商品的销售及销售退货信息进行有效管理。(4)查询统计该模块主要实现按不同条件查询商品的入库信息及销售信息,并可对某一时间段内某种商品的销售情况按数量或金额进行升序或降序排行,同时可对某一年度的销售额进行图表分析。(5)往来管理该模块主要实现对商品的入库结账、入库退货结账、销售结账、销售退货结账等信息进

19、行有效管理,同时可实现销售结账信息及入库结账信息的查询操作。(6)系统设置该模块主要实现对操作员及操作员密码进行有效管理。3.3.4 性能需求分析(1)系统界面友好美观,操作简单易行,查询灵活方便。(2)业务管理信息化,可随时掌握企业的进销存情况。(3)系统维护方便可靠,有较高的安全性,满足实用性、先进性的要求。(4)提供快速、准确的处理进、销、调、存、退、盘点等多种业务模式,并支持多种结算方式。(5)商品的入库、入库退货、销售、销售退货流程清晰,能够直接“透视”仓库储存情况。(6)通过系统的实施,可逐步提高企业管理水平,提升员工的素质。3.3.5运行环境需求分析硬件环境: 服务器 客户机CP

20、U 奔腾2.0以上 赛扬2.0以上光驱 可读写CD-ROM 可读写CD-ROM硬盘 160G 80G内存 1G 512M显示器 19CRT 17CRT 软件环境:(1)操作系统:Windows XP/Windows 2000/Windows 2003。(2)数据库:SQL Server 2000。(3)开发工具包:JDK Version1.6。(4)JSP服务器:Tomcat 6.0。(5)浏览器:IE5.0,推荐使用IE6.0。(6)显示器分辨率:最佳效果1024 X 768像素。4 系统结构与模型4.1 系统设计的总体结构与框图根据对企业的业务流程的分析,系统可以分为六大模块:基础信息管理

21、、库存管理、商品销售、查询统计、往来管理、系统设置。图4.1 功能模块图4.2 数据库的概念结构设计本进销存系统实体根据分析得到E-R 图,如图 4.2 所示,图中涉及到的 3个实体:客户、供应商、商品。 各实体的主要属性描述如下: 客户(客户名称,地址,联系人,联系人电话,开户银行,银行帐号) 商品(商品名称,产地,价钱,规格,计量单位,供应商名称) 供应商(供应商名称,地址,联系人,联系人电话,邮箱,开户银行,银行帐号) 图中有2 个联系,关系如下: (1)客户和商品是多对多关系。 (2)供应商和商品是多对多关系。图4.2 E-R图4.3 数据库的物理结构设计结合本系统的功能及所选开发工具

22、和数据库系统的特点,对系统数据库进行设计,建立一个具有良好的数据组织结构的数据库,应遵循的原则有: (1)尽可能减少数据冗余和重复。(2)结构设计和操作设计相结合。(3)数据结构具有相对的稳定性。由于数据库中所保存的数据是系统中非常重要的资源,所以在数据库设计时一定要注意数据结构的安全性、完整性,并发控制与恢复,而一般的数据库管理系统都提供了一定的数据保护功能。下面将介绍几个主要表的设计:1 商品信息表tb_brand商品信息表是用来存放商品的基本信息,包括商品ID号(ID)、商品名称(spname)、产地(cd)、单位(dw)、规格(gg)、批号(ph)、供应商名称(gysname),备注(

23、memo)等8个主要字段。其中商品ID号(ID)字段作为主关键字。商品信息表结构如表4.1所示。表4.1 tb_brand表结构字段名数据类型长度描述IDvarchar50ID号spnamevarchar50商品名称jcvarchar50简称cdvarchar100产地dwvarchar10单位ggvarchar50规格bzvarchar50包装phvarchar50批号pzwhvarchar50批准文号gysnamevarchar100供应商全称memovarchar255备注2 库存信息表tb_kucun库存信息表是用来存储库存的基本信息,包括商品ID号(ID)、商品名称(spname)、

24、产地(cd)、单位(dw)、规格(gg)、批号(ph)、单价(dj)、库存数量(kcsl)、库存金额(kcje)等9个主要字段。其中商品ID号(ID)字段作为主关键字。库存信息表结构如表4.2所示。表4.2 tb_kucun表结构字段名数据类型长度描述IDchar20商品编号spnamechar50商品名称jcchar20简称cdchar30产地ggchar20规格bzchar30包装dwchar10单位djchar8单价kcslfloat8库存数量kcjemoney8库存金额3 入存信息表tb_ruku入库信息表是用来存储商品入库的详细信息,包括入库票号(ID)、商品编号(spid)、供应商

25、名称(gysname)、入库日期(rkdate)、操作员(czy)、经手人(jsr)、结算方式(jsfs)等7个主要字段。其中入库票号(ID)字段作为主关键字。入库信息表结构如表4.3所示。表4.3 tb_ruku表结构字段名数据类型长度描述IDchar15入库票号spidchar7商品编号spnamechar50商品名称jcchar20简称cdchar100产地ggchar50规格bzchar50包装dwchar10单位djmoney8单价slfloat8数量jemoney8金额gysnamechar50供应商全称rkdatedatetime8入库日期czychar10操作员jsrchar1

26、0经手人jsfschar20结算方式4 入库结帐表tb_rkjz入库结帐表是用来存储商品入库结帐的详细信息,包括结帐票号(ID)、入库编号(rkid)、供应商全称(gysname)、本次结款(bcjk)、余额(ye)、结款日期(jkdate)、操作员(czy)、经手人(jsr)等8个主要字段。其中结帐票号(ID)字段作为主关键字。入库结帐表结构如表4.4所示。表4.4 tb_rujz表结构字段名数据类型长度描述IDchar15结帐票号rkidchar15入库票号gysnamechar100供应商全称bcjkmoney8本次结款yemoney8余额jkdatedatetime8结款日期czych

27、ar10操作员jsrchar10经手人5 系统实现技术5.1网站界面布局为了能够在同一页面管理多个页面,本系统的主界面采用了框架技术进行设计,主界面主要对应三个文件:top.jsp、left.jsp、main.jsp。top.jsp(页面显示区):主要用于显示网站的旗帜广告条。left.jsp(页面导航区):主要用于管理功能导航。main.jsp(页面操作区):主要用于完成各种管理功能。在页面导航区,通过模拟树型视图来调用相应的子模块。模拟树型的设计主要是通过HTML代码的function show_div()函数调用相应的事件,再通过JavaScript脚本处理事件来实现。系统主界面如图5.

28、1所示:图5.1 系统主界面图5.2连接池技术通常情况下,每次访问数据库之前都要先建立与数据库的连接,这将消耗一定的资源,并延长了访问数据库的时间,如果访问量较高,将严重影响系统的性能。为了解决这一问题,本系统引入了连接池技术。所谓连接池,就是预先建立好一定数量的数据库连接,模拟存放在一个连接池中,由连接池负责对这些数据库连接进行管理,这样,当需要访问数据库时,就可以通过已经建立好的连接访问数据库了,从而免去了每次在访问数据库之前建立数据库连接的开销。连接池还解决了数据库连接数量限制的问题。由于数据库能够承受的连接数量是有限的,当达到一定程度时,数据库的性能就会下降,甚至崩溃,而通过有效的使用

29、和调度这些连接池中的连接,将会解决这个问题。数据库连接池的具体实施办法是:(1)预先创建一定数量的连接,存放在连接池中。(2)当程序请求一个连接时,连接池是为该请求分配一个空闲连接,而不是去重新建立一个连接;当程序使用完连接后,该连接将重新回到连接池中,而不是直接将连接释放。(3)当连接池中的空闲连接数量低于下限时,连接池将根据管理机制追加创建一定数量的连接;当空闲连接数量高于上限时,连接池将释放一定数量的连接。5.3登录模块功能在登录页面中利用JavaScript脚本语言编写了检测用户输入信息是否合法的函数,并通过单击“登录”按钮调用该函数,判断用户名或密码是否为空,如果为空,系统将给予提示

30、。当用户输入合法信息后,就由表单属性actiion所指定的JSP文件来对这些信息进行验证,当验证通过后,进入到系统的主页面进行操作;否则给予信息提示,并返回到登录页面重新登录。为了防止非法用户绕过登录页面直接进入到系统当中,在验证登录信息的同时新建一个Session变量isLog并将其值设置为0。当成功通过登录信息验证后,将isLog的值设置为1,并且在其他的每个页面来判断这个Session变量是否为1,如果isLog的值不为1,说明用户还没有登录或者Session已经过期,返回到登录页重新登录。具体代码请见附录A。此外在登录模块中还编写了一个显示系统时间的JavaBean,这个JavaBea

31、n是用来保存管理员登录系统的时间。该JavaBean先是保存Date类中的getYear()、getMonth()、getDate()方法返回的整型数值,再把整型数值转换为字符串类型,最后由getDate()函数返回YYYY-MM-DD格式的字符串日期。图5.2 登录页面图5.4基本信息管理功能模块基础信息管理模块主要包括客户信息管理、商品信息管理、供应商信息管理、商品信息查询、客户信息查询和供应商信息查询6部分。下面以客户信息管理和客户信息查询为例进行介绍。5.4.1客户信息管理客户信息管理功能需要编写提交客户信息的JavaBean。这个JavaBean类中有两个方法setKhinfo()和

32、Regist()方法。其中setKhinfo(KhinfoBean khinfo)方法是用来设置该类中的属性khinfo,其值为参数传递来的KhinfoBean的对象。执行预处理语句,并通过预处理对象pstmt的setString()方法来设置准备要插入数据库的内容,最后通过execute()来执行插入的操作。在填写完客户基本信息后,可用JavaScript编写检测用户录入数据合法性的函数,并通过单击“保存信息”按钮提交表单。客户信息添加时的数据处理页的主要功能是将用户提交的表单保存到数据库中。将客户的基本信息封装在JavaBean中,这样就可以通过和标签来实现将表单提交过来的数据对Bean中

33、的各个属性赋值。这样就可以通过这两个JavaBean来完成从接收用户提交的信息向数据库中插入客户基本信息的全部工作。图5.3 客户信息管理图5.4.2客户信息查询信息查询主要分为上下两个部分:查询区和显示区。查询区(khquest1.jsp):用户可以通过选择不同的查询条件来查询客户信息。显示区(main.jsp):根据用户输入的查询条件将结果从数据库中查出,以分页的形式显示在客户端。当用户单击“查询”或“显示全部数据”按钮后,系统自动将表单form1提交给khquest.jsp来处理。Khquest.jsp根据客户的不同请求在数据库中检索出相应的数据,并将每条记录的信息放置在表格中以分页形式

34、显示给客户端。而分页功能的具体实现过程如下:首先,利用3个字符串来接收khquest1.jsp中表单提交过来的数据,并且将它们的值通过set()方法传到分页JavaBean中。然后,根据不同的查询条件在QuestString类中找到相应的方法,将定义好的表名传递到该方法中获得在该条件下查询记录总数的SQL语句。再调用setQuerySql()将3个参数传递到QuestString.java中处理。当在Bean中执行完setQuerySql()方法后,Bean中关于分页所需要的所有属性就全部被成功赋值。再根据用户提交的查询条件再调用QuestString类中相应的方法,以获得在该条件下查询数据库

35、的SQL语句中,并执行它获得ResultSet对象,通过while()循环将每条记录的字段通过表格的形式显示在客户端。然后定义一个字符串str_parameter,用来向QuestString类中的pageFooter()方法所需要的str_parameter属性赋值。QuestString中str_parameter属性的作用是:当用户单击“上一页”、“上一页”等超链接的时候,可以让连接“携带”本次查询条件来重新执行khquest.jsp。最后,通过JSP的表达式读取分页栏。具体代码请见附录A。查询和分页JavaBean主要分为两部分:一部分是根据用户提交的不同请求调用不同的方法来获取SQL

36、语句;另一部分是用于分页显示。用于完成分页显示的主要方法如下:Void setQuerySql(String httpfile,String pages,String strCount):通过参数传递来设置Bean中的属性。Void querySql(String countSql):执行SQL语句,获得分页显示时的各个属性。String pageFooter():用来动态地给出一个表单,该表单用来进行分页和统计页面间的跳转。图5.4 客户信息查询图5.5库存管理功能模块库存管理模块主要包括商品入库、商品入库退货、库存查询和价格调整4个模块。下面将主要介绍商品入库模块。商品入库页面主要实现了以

37、下功能:根据用户选择的商品名称自动填写商品信息;自动计算金额、应付款和未付款;支持多种结算方式;完成入库登记操作。自动填写商品信息功能实现自动填写商品基本信息及根据当前日期自动生成销售票号。首先,设置表单元素select的onChange()事件为提交form1表单。然后,通过form1中传递过来的商品名称(rkspname),在商品信息表中查询出该商品的基本信息,并通过JSP的表达式显示在客户端。自动生成销售票号时,首先检索入库表中最大的id,然后将该字符串的数字部分截取出来转为整数类型再加1,最后与字符串“XS”和当前的系统时间连接。Form2将商品的基本信息保存在Session内,当单击

38、“保存信息”按钮时,这些数据被发送到spChange.jsp中去完成添加工作。如果不将商品基本信息保存在Session内,可以通过隐藏表单的方法将信息保存在Resuest范围内完成添加工作。自动计算金额功能是根据自定义的check()函数和系统自带的isNaN()函数判断输入的数量是否为空和数字,如果不是则alert()函数给予相应的提示。如果数据输入正确,系统根据输入的数量、单价和实付款,自动计算金额、应付款和未付款,并显示在客户端。入库日期则会由自动显示在文本框。图5.5 商品入库图5.6查询统计功能模块查询统计主要包括销售信息查询、商品入库查询、商品销售排行和年销售额分析4部分。下面将重

39、点介绍商品销售排行和年销售额分析功能。5.6.1商品销售排行此功能模块中主要分为两方面的内容:一方面是判断用户是否输入了合法的起止日期,并且对是否为闰年做出判断;另一方面是准确地调用QusetString类中的方法根据不同字段按照升序或降序排序。对于输入的日期,首先用自定义编写的CheckDate()函数对其是否合理进行检查,然后判断其是否为闰年,接着由spxsphquest.jsp页面中定义的字符串变量sdate,edate接受用户输入的起始日期和截止日期,再调用getOrderCount()方法和getORderString()方法获取销售表tb_sell中在该时间段内各种商品的总记录数,

40、最后根据记录数排序显示。具体代码请见附录A。图5.6 商品销售排行图5.6.2年销售额分析年销售额图表是通过JFreeChart组件实现的,要使用该组件,需要获取两个文件:jfreechart-1.0.9.jar和jcommon-1.0.12.jar,然后将这两个文件复制到Web应用程序的WEB-INF下的lib文件夹内,然后在该Web应用程序的web.xml文件中的前面添加如下代码: DisplayChart org.jfree.chart.servlet.DisplayChart具体实现过程如下:首先定义变量strSql接受某年按月份分组的总销售额的SQL语句,接着由getResult(s

41、trSql)方法将销售表tb_sell的各个月的销售数量字段赋予ResultSet对象rs,接着用for循环语句接受各个月的销售数量,然后创建JfreeChart组件的图表对象,并对X轴标题、Y轴标题、数据集、图表方向等变量进行赋值。具体代码请见附录A。图5.7 年销售额分析图5.7往来管理功能模块往来管理模块主要包括商品销售结帐、入库退货结帐、销售退货结帐、商品入库结帐、销售退货结帐、入库结帐查询6部分。由于往来管理中各功能模块所用的代码比较类似,这里将重点介绍商品销售结帐模块。进入商品销售结帐页面,该页面主要根据用户提交的不同查询条件,查询出所有符合条件并且包含未结清帐目的所有记录。填写本

42、次结款金额后,在数据库中添加结款信息并更新销售信息。当用户输入本次结款和经手人后,系统将自动计算未结款数额并显示在余额栏中。用户单击“确定”按钮来完成本次结帐。具体实现过程如下:首先接受来自spxsjx.jsp的查询条件,把查询的条件保存在JavaBean中,接着调用JavaBean中方法设置Bean中的一些属性,获取所需要查询的结果集和当前页数和每页显示的记录数,然后分页显示出商品销售票号表(tb_sellph)中的信息,管理员更改结帐信息后,由doExecute()更新销售票号数据表(tb_sellph)。图5.8 商品销售结帐图5.8系统设置功能模块系统设置模块主要包括操作员管理和个人密

43、码修改。操作员管理用来实现新用户的注册,由于操作员管理比较简单,这里将重点介绍个人密码修改的实现方法。为了防止非法用户饶过登录页面,直接进入系统内部,系统会先根据session.getAttribute(“isLog”).equals(“1”)是否为1来获得用户是否登录的信息,如果为1,则通过自定义的check()函数判断原密码、新密码和确认新密码是否为空以及判断新密码和确认新密码是否为一致。然后再接收用户名、旧密码和新密码,用rs.next()方法在数据表tb_user检索是否有该用户名和密码,有则更新用户数据表,没则提示错误。图5.8 个人密码修改图6 系统测试与性能分析6.1系统测试方法

44、介绍常用的测试方法主要有两种:黑盒测试和白盒测试。黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按

45、预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。6.2系统测试流程介绍软件测试工作必须要通过制定测试计划、设计测试、实施测试、执行测试、评估测试五个阶段完成。制定测试计划的目的是确定和描述要实施和执行的测试,是通过生成包含测试需求和测试策略的测试计划来完成的。设计测试的目的是确定、描述和生成测试过程和测试用例。实施测试的目的是实施设计测试中定义的测试过程。执行测试的目的是确保整个系统按既定意图运行。评估测试的目的是生成并交付测试评估摘要。6.3系统实例测试系统测试一般有以下几种:功能测试、性能测试、恢复测试、安全测试、强度测试。功能测试主要测试系统的输入、处理、输出等各方面是否满足需求。性能测试主要是检验安装在系统内的软件运行性能。恢复测试是要采取各种人工方法使软件出错,而不是能正常工作,进而检验系统的恢复能力。安全测试是检查系统对非法入侵的防范能力,就是设置一些企图突破系统安全保密措施的测试用例,检验系统是否有安全保密的漏洞。强度测试是检验系统的能力最高能达到什么实际限度。表6.1系统测试表编号测试标题输入操作步骤预期结果最终结果是否达到预期结果1管理员登录系统帐号:mr密码:mrsoft在用户登录框中输入用户名和密码系统进入主页面系统进入主页面是2管理员

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号