设计初稿随着人民生活水平的提高越来越多人喜好出行和旅游景区客流_第1页
设计初稿随着人民生活水平的提高越来越多人喜好出行和旅游景区客流_第2页
设计初稿随着人民生活水平的提高越来越多人喜好出行和旅游景区客流_第3页
设计初稿随着人民生活水平的提高越来越多人喜好出行和旅游景区客流_第4页
设计初稿随着人民生活水平的提高越来越多人喜好出行和旅游景区客流_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要随着人民生活水平的提高,越来越多的人喜好出行和旅游,旅游景区客流量剧增,中国国内年客流量大几十亿人次,门票销售将是非常重要的考虑。然而传统的景点票务管理依靠人工管理和纸制。人工工作方式工作量大,而且工作重复繁琐,必然使工作效率大大降低,这不仅会严重影响的工作积极性,而且会导致游客排队时间过长,满意度降低,所以非常有必要改进这种的方式。因此开发一套景点窗口售票系统就显得非常重要,就可以轻松的进行售票,这样为售票员和游客提供了方便。本课题的任务就是开发一套景点窗口售票系统,要求能通过本系统,售票员能够轻松、快捷地进行门票出售与退订,从而减轻售票员的工作压力。该系统能够有效地管理票务、员工的工作

2、情况以及门票统计,大大提高景点的工作效率和管理水平。基于 B/S 架构的景点窗口票务系统-门票子系统,Web 界面采用 JSP 语言,业务逻辑处理采用 Java 语言,还采用流行的 Struts2+Hibernate Java EE 框架,借助 Hibernate很容易地操作数据库。数据库采用的是,数据库主要对售票类型、票务情况、员工工作、用户信息等一系列信息进行存取。关键字:售票系统;JSP;Struts;AbstractWith the improvement of peoples living standard, more and more peopleebefond oftravel

3、and tourism. scenic area traffic surge, in Chinas domestic traffic aroundbillions of people, ticket sales will be very important factor. However the traditional scenicspot ticket management rely on manual management and pr records. Artifil way ofworking volume and duplication of trival, certainly ma

4、ke the work efficiency greyreduced, this will not only seriously affect the staffs work enthusiasm, and lead to touristsqueuing time is too long,decrease the degree of satisfaction , So it is nesary todeveloa scenic spot ticket window system is very important, can easily on the ticket,such as the co

5、nductor provides a convenient and tourists.it is very nesary to improve this backward ways. Therefore, the development of ascenic spot ticket window system is very important, it can make the ticket easily and provide convenience for the conductor and tourists.The task of this research is to develop

6、a set of scenic spot window ticketing system,through this system, the conductor can easily and quickly sell and refund ticket, therebyreducing the work prere of the conductor. The ticketing system is able to effectivelymanage tickets, the work of the staefficiency and management level .nd sistics fo

7、r tickets, and grey improve theScenic spot window ticketing system-ticket subsystem is based on B/S architecture,Weberface uses JSP language, business logic prosing uses the Java language, butalso uses the popular Struts2 + Hibernate Java EE framework, it use Hibernate for theoperation of the databa

8、se. Database uses, whiainly acs a series ofinformation about the type of ticket, ticket information, the work of employee,user information .Keyword : The ticketing system ; JSP ; Struts ;目录第一章绪论01.1开发目的及意义01.2国内外研究现状及发展趋势01.3本文研究内容和结构1第二章开发技术简介42.1JSP 技术简介42.2Struts2 框架简介52.3Hibernate 框架简介72.4简介82.5

9、Tomcat 简介9第三章需求分析与数据库设计113.1系统可行性分析113.2系统功能分析113.2.1 员工功能分析123.2.2 管理员功能分析123.3数据描述133.3.1 静态数据133.3.2 动态数据133.4数据库分析133.4.1 数据实体关系图错误!未定义书签。3.4.2 数据库物理设计错误!未定义书签。3.5性能需求163.5.1数据准确度163.5.2时间特性163.5.3系统正确性163.5.4系统的效率163.5.5 系统的可性173.6运行需求173.6.1 硬件环境173.6.2环境17第四章系统详细设计184.1系统结构 .184.2用户登录 .194.3员

10、工功能实现 .204.3.1用户管理页面 .204.3.2票务管理页面 .214.3.3交班对账页面 .224.4管理员功能实现 .234.4.1用户管理页面 .234.4.2员工管理页面 .234.4.3门票设置页面 .264.4.4财务中心页面 .27第五章系统测试315.1测试目的315.2测试原则315.3测试用例32结论38参考文献40致谢41第一章绪论1.1 开发目的及意义社会,物质文明不断进步,精神文明也随之飞快发展,人们的生活水平不断提高,精神层面的满足越来越成为人们迫切的需要,其中休闲旅游必然精神文明建设中不可或缺的重要组成部分,旅游作为一种有效的放松方式,受到了人们的喜爱和

11、追捧,而且表现为旅游机构与日俱增。近年来旅业迅猛发展,每年的节假日,旅游人数爆发式的增长,对国家经济作出巨大贡献。然而却带来了一些问题,比如,售票员人手不够,导致游客购票时间过长,从而影响游客的旅游心情。以往的售票及门票管理都是靠以手工方式处理大量资料,这浪费了大量的人力物力,并且造成了某些期间,的劳动强度增大,工作积极性差,工作效率下降,错误率增加,导致较低的客户满意度。面对每年中国的旅游人次飞速增长,传统工方式处理资料已经要求。所以,只有对景点的规范化、系统化管理,准确地统计每天门票销售情况,从而方便景点科学合理地安排售票的工作,才能使旅业更加合理、高效地运转。景点窗口票务系统的出现,为售

12、票员的工作提供了更加方便、快捷的。大力发展景点窗口票务系统既可以能够大大缓解景区期的售票压力,又可以可以达到科学、规范管理票务的目的。本课题针对这一现象,深入研究相关技术,合理设计出一套符合实际需要的景点窗口票务系统。使得景点售票科学化、系统化管理,这样不但减轻了管理工作压力,还提高了工作效率,降低了运行成本。另外还有方便查询相关信息、信息量大、性好、使用时间长、运行成本低、减轻管理门票统计和报表分析的压力等优点。1.2 国内外研究现状及发展趋势当代社会已经进入了信息化社会的世界。而我国计算机技术虽然起步比发达国家晚但是发展极其迅速,极大地推动我国经济与社会快速发展。电脑应用系统已经广泛应用到

13、旅业的每一个角落,计算机在信息处理方面的强大能力,使之必将应用于景区票务的日常管理,所以建立一个全方位的、高效率的景点窗口售票系统已经成为景点管理的一项重要内容。国际景点大部分采用了电子票务管理系统,但是我国很多地方,由于信息信息不发达等的制约,国内景点则仍沿用传统手工方式,这使得票务电子管理处于初级阶段,还没有完全普及。由于人工方式工作量巨大并且工作重复繁琐,这就必然使员工的工作效率大大降低,并且严重影响员工的工作积极性。本景点窗口票务系统的研制思路,恰好是在计算机广泛发挥作用以及人们的生活条件日趋改善的大背景下应运而生的。首先,景点窗口票务系统可以统计门票的日收入、月收入、年收入,准确地掌

14、握景点游客数量规律,另外还可以查看员工的工作情况,可以对日后景点的管理发挥很好的辅助作用。其次,随着计算机,网络,信息等技术的发展,为景点票务管理系统的实现提供可能。再次,在正常情况下,节假日和,景点方面都承受巨大的客流峰值压力。但是由于景点的管理水平不是很高,对票务及客流的统计还采用人工处理方式,这严重影响景点的健康、高效运行。最后,从国内外的研究现状和来看,票务电子化越来越发挥作用,逐步地应用于各个领域,所以国内景点必须顺应时代的发展,将计算机技术引入旅游业。1.3 本文研究内容和结构本系统是基于B/S 架构的 Web 应用程序,使用Java EE1技术,采用 JSP 语言进行开发,使用M

15、yeclipse8.5 工具进行代码开发,使用灵活方便的数据库,数据库图形界面采用Administrator 工具,其简单,易于操作。采用目前很受程序员追捧的框架Struts2+Hibernate,系统的服务器则选用Tomcat6.0。本景点票务管理系统主要功能包括用户信息管理,门票的售票和退票,员工管理,票务统计等。实现对景点门票的电子化管理,减轻景点的工作压力,提高工作效率。全文共分五章:第一章 绪论。该部分主要介绍本课题的选题目的及其意义,国内外研究现状及发展趋势。第二章 开发技术简介。主要介绍本毕业设计需要用到的技术。第三章 需求分析与数据库设计。对系统的可行性以及需求进行分析,对数据

16、库进行设计。第四章 系统详细设计。对页面进行设计和编写代码。第五章 系统测试与运行。利用系统测试的方法对系统进试。总结 总结本次毕业设计的所取得的成果和遇到,以及对毕业设计的感想,方便以后的工作。最后是参考文献与致谢。第二章开发技术简介2.1 JSP 技术简介ages )是网页开发语言之一,即 Java 服务器页面2。是由JSP( Java ServSun 公司与许多公司共同建立的制,借助 Java 语言来生成页标准。它是一种跨与跨服务器的机页。JSP 技术有点类似 ASP 技术,然而 JSP 是将 HTML和 Java 代码片段融合在一起,不是像 ASP 那样使用 VBScript。JSP

17、是将 Java代码和少许到传统的网页 HTML 文件中,从而JSP 文件。假如你所使用的服务器没有为 ASP 提供支持,你可以考虑使用 JSP。当前 Sun 公司对 JSP 相关组件还没有收取费用。另外,请分清 JSP 文件与 JavaScript。JSP 技术提供了一个迅速的方法来创建动态页面。它设计目的是使应用程序更简单和更快,并且可以将这些应用程序与各种 Web 和应用服务器,开发工具和浏览器协同工作。使用 JSP 技术开发的 Web 应用程序是不依赖也可以运行在别的操作系统上。的,可以运行在 Linux 上,所有的在 Web 服务器上运行,当接收到请求时,JSP 引擎接受客户端请求,解

18、释处理代码,并将生成页面返回给用户的浏览器。JSP 和 Java Servlet 都是在服务器端执行的,一般返回 HTML 文本给浏览器,只要在用户使用浏览器就可以访问。JSP 可以用一个简单的等式表示:JSP=Html+Java。JSP 技术优势:(1)完全面象。Java 比优势更大,除了系统,程序不需要做任何改动。(2)无关,多的支持。能够工作在任何开发环境,在部署在任何环境中的任何扩展环境中的所有上。JSP 的跨性,大大降低了开发的工作量,不在需要为每一个服务器来设置不同的程序3。相比较而言,ASP 和而易见。扩展性很强大。从一个很小的 Jar 文件就能够运行的 Servlet/JSP

19、,到多个应用程序也可以进行业务处理,从一台到多台,显示了 Java 巨大的生命力。有很多开发工具支持。这类似于 ASP,Java 的已经有很多很好的开发工具,的则显并且许多是不的,许多已经能够运行在多个上。(5)支持很多强大数据库:JSP 通过 JDBC 连接可以实现与很多流行的数据库的通信4。JSP 技术的缺点主要有两个:(1)有利也有弊,优点也会变成其致命的弱点。正是由于为了跨了实现强大的可扩展性,从而大大增加了它的复杂性。的功能,为(2)为了实现 Java 的高速度,需要占用内存,因此在某些情况下被使用的内存比起用户数量确实是“最低性价比”。另外,它必须花费空间来保存.java 和.cl

20、ass文件。2.2 Struts2 框架简介尽管 Struts 2 仍旧使用 Struts 命名,但实现原理和 Struts 截然不同。 Struts2 是在 WebWork 基础上发展而来的,所以 Struts2 的偏向 WebWork,它汲取了Struts1 的部分优点后,创建了一个融合WebWork 和Struts1 优点的MVC 框架,Struts2的开发极大的方便了 Web 程序员,使他们开发程序更加简单5。Struts2 框架可以说是 Struts 框架的升级版也可以说不是 Struts 框架的升级版。因为之前 Struts 框架很流行,很受开发者的欢迎,后来随着设计的不断改进,出

21、现了 Webwork 框架,它的设计和功能都是 Struts 所不能比拟的,但是相对于 Struts,Webwork 的还以引起广大开发者的重视。另一方面 Struts也在寻求设计上的突破,于是 Stuts 和 Webwork 走到了一起。也就是说 Struts2 名义上说是 Struts 的升级版,其实它的已经改成了 xwork。Struts2 框架使用 MVC 模式。所写的 jsp 页面属于视图层 ,在 jsp 中不放任何 java 代码,仅仅用来做页面,这样就了页面与业务逻辑;所写的、Service 都是属于模型层,在这一层处理业务;在 Action 中写控制器,把它当作模型层和视图层的

22、桥梁,负责控制流程。通过写配置文件的形式将各个环节串联起来,减少了项目的成本,也让项目变得更加层次分明,以后盖起来或者添加新功能也变的很方便了。Struts 2 和 Struts 1 还有以下一些区别:Struts2 中用户每次请求都会产生一个新的 Action 实例, 但是 Struts 1 的Action 是一个单例模式,而且必须线程安全。Struts2 中 Action 对象的属性可以用来接收用户提交的参数, 但是 Struts1 中用ActionForm 对象捕获表单数据,并且 ActionForm 需要继承某个固定的基类。Struts 2 的 Action 是不依赖容器的,所以测试

23、Struts 2 的 Action 非常容易。如果有需要,也是可以获取 HttpServletRequest 和 HttpServletRespons 的。但是Struts 1 的 Action 必须依赖 Servlet。Struts 1 支持 JSTL:Struts 2 也能够使用 JSTL,但是 Struts 2 还能够使用一种更强大和方便的 OGNL 表达式语言。Struts1 使用 Action 类里的 validate 方法进行数据校验。 Struts2 除了使用validate 方法校验之外,还可以使用配置文件进行数据校验6。Struts2 的体系结如图 2-1 所示。图 2-1

24、Struts2 的体系结构2.3 Hibernate 框架简介Hibernate78是一个高性能的 ORM(Object/Relational Map)持久化和查询服务,它是一个开源项目,是Js 的一个组成部分。Hibernate 在 2001 年发布了它的第一个正式版本;03 年 6 月 Hibernate 2.0 版本发布;2003 年底Js 吸收 Hibernate;2005 年 3 月发布 Hibernate 3.0 版本。对象关系或 ORM 是一种编程方法将对象到关系模型,实体类到表、实例到行和实例的属性到列的表。创建一个“虚拟对象数据库”,可以使用编程语言。使用 Hibernate

25、 持久性框架,从 Java 环境中保存数据到数据库中9。持久性是一个数据到媒介和检索它甚至回到任何应用程序创建了数据结束后时间点的过程。为什么编程时要使用的对象/关系?这是由于开发使用的技术是面象技术,而使用的数据库是关系数据库,一个完整的类很难以对象的方式在一个关系型的数据库中,它更适合在对象模型数据库中,但处于主流地位的仍然是关系型数据库,所以要使用 ORM 在对象和关系数据库之间建立关系,从而能够设计业务逻辑和数据依然采用关系型数据库6。使开发Hibernate 体系结构如图 2-2 所示。图 2-2 Hibernate 体系结构图从上面的结构图可以看出,Hibernate 的工作是建立

26、在 Configuration、Sesfactory、Ses等类的基础上。Configuration 类负责配置 Hibernate,启动 Hibernate 的运行环境,管理运行文件以及为它们创建一个 SesFactory 对象10。时需要的一些信息,加载SesFactory 接口提供 Ses类的实例,是 Connection 工厂,它由配置类获得。然而 SesFactory 并不是轻量级的。因为,一个工程一般只要一个SesFactory 就足够。如果在应用程序中有多个数据库,开发也可以创建多个 Sesfactory。Ses就是 Connection,负责执行被持久化对象的增删查改操作。同时

27、,Hibernate 的 ses和 JSP 应用中的 HttpSes不是一个概念。这里的 ses其实是指 Hibernate 中的 ses,而一般把 HttpSe对象称为用户 ses。2.4简介是当前比较流行的公开源代码的 SQL 数据库管理系统,由建立于 1994 年的AB 公司研发和支持11。AB 是由开发者创立。这是一个第二放源码的公司,将开放源代码的是一个成功的商业模式。Sun 公司在 2008 年收购了AB,在 2010 年被 Oracle 公司收购 Sun,所以今天甲骨文公司是数据库的所有者。是一个不依赖的数据管理系统,在 Web 应用程序开发中应用很广泛。是一个先进的数据库管理系

28、统。这是一个多用户,多线程的数据库管理系统12。在网络上特别流行,受广大程序员的喜爱。这是一个非常受欢迎的 L数据库在很多重要的系统上都可以使用。它可以运行在 Linux、Windows 或 Mac 等操作系统上。的优点如下:(1)速度:处理速度快。(2)免费:大部分个人不需要支用,这特别适合初学者。(3)易用:每个程序开发者都可以很容易地在自己的电脑上安装,并且操作非常简单。(4)跨:可以在很多操作上使用,即可以在 Windows、Mac 上运行,也可以运行在 Linux 上。可以很容易地集成到语言如 perl 和,对于 Web 应用程序来说是非常受欢迎的。许多Web 应用程序使用或可以使用

29、数据。这就解决了在开发一个Web 应用程序时编写和优化自己的数据的需求。是公开源代码的。这就表示每个人都可以使用和修改,任何人都可以从互联网上并使用它不支付任何费用。假如你有能力,你可以研究源代码和修改它,以适应您的需要。数据库是一种处理快速、安全可靠和简单易用的服务器。服务器一开始被开发是为了处理大量的数据,速度远远超过现有解决方案,已成功用于高要求的生产环境中好几年了。经过长久的发展,今天的服务器提供了一组丰富的和有效的功能。服务器非常适合在互联网问数据库。2.5 Tomcat 简介Tomcat 是一个 Java servlet 容器,是 Apache中 Jakarta 项目的 Web应用

30、服务器。Web 服务器程序响应来自用户在 Web 浏览器的请求,返回一个网页。但Web 服务器其实并不仅仅提供静态 HTML 页面,他们也能够执行程序,来响应用户请求和返回给客户端的浏览器动态结果。Apache 的Tomcat 在web 应用程序的方面非常擅长,因为Tomcat 支持Java Servlet和 JSP 技术。所以对 web 应用程序来说,Tomcat 是一个很好的选择。如果你想要一个免费,开源 servlet 和 JSP 引擎,这是一个非常不错的选择。,Tomcat 是一个开发开放协作的结果15。Tomcat作为公开源码的免费可以被用来作为一个有自己的Web 服务器的独立产品或

31、连同其他 Web 服务器,包括 Apache,网景企业服务器,微软的互联网信息服务器和个人 Web 服务器。Tomcat 企业需要一个 Java 运行环境,匹配 JRE 1.1 或更高版本14。Tomcat 是一个 Servlet 的容器,它实现了对Servlet 和 JSP 页面的支持。其本身就包含了一个 HTTP 服务器,可以被看作一个独立的网页服务器。但是,要搞清楚 Tomcat 和 Apache Web 服务器的区别。Tomcat 是有一个配置管理工具的,编程可以通过编辑 XML 格式的配置文件来对它进行相关的配置16。Tomcat 的 Servlet 引擎经常会与别的 web 服务器

32、一起协同工作。Tomcat 很少单独作为 web 服务器,除非用户对速度和事务处理要求比较低,它一般会被用于开发过的系统调试。但是随着新版本的发布,由于它集成了许多支持环境、提供了许多功能,现在很多用户也可以将其作为单独的 web 服务器来应对速度和可靠性要求较高的环境。第三章需求分析与数据库设计3.1 系统可行性分析技术可行性,本系统是基于 B/S 架构开发的,采用 JSP 技术和数据库。前端采用 JSP 显示技术,采用Struts+Hibernate 两大框架整合开发,减少代码之间的耦合性。操作可行性,随着因特网的飞速发展,B/S 架构技术已经非常成熟,操作简单,不需要安装专门的,只需要一

33、个浏览器就能够使用。员工和管理员登陆之后,会进入不同的首页,简洁的页面能够使用户很清楚地知道如何操作本系统。通过页面左侧的菜单栏就知道这个系统有哪些功能。经济可行性,本系统使用的都是免费开发工具,不需要使用任何硬件设备,只需要浏览器和数据库即可。在传统的景点售票中,售票员以手工方式来出售门票以及统计售票信息,在处理大量的信息时,人工方式就非常,需要消耗大量人力物力。开发景点票务系统能使售票员和管理的工作变得相对较简单,不再需要手动处理复杂而庞大的数据。法律可行性,本系统开发使用的都是免费,独立开发,并不别人的利益,不国家的。3.2 系统功能分析首先,要明确清楚这个系统要做什么。既然是要做一个“

34、景点窗口票务系统”,自然而然地,可以想到,在这个系统中需要管理员、员工两种角色,另外,还要设置门票相关信息,在本系统中,最基础的是要实现员工售票与退票,以及管理员对门票相关信息的操作。其次,如何设计这个系统的数据库是一个重点,设计出一个好的数据库模型能让以后在处理业务逻辑的时候使逻辑变得简单,问题变得容易,代码变得简洁,处理起来更快。最后在各个功能模块上,应做到界面简洁,让用户一目了然地知道如何操作这个系统。对于用户的各种误操作,误输入,系统会给出相应的提示。3.2.1 员工功能分析员工功能主要涉及员工的一些操作,主要包括员工对用户信息的管理,对门票的售票与退票的管理,此外还有员工的交班对账。

35、(1)信息管理:员工可以查看、修改个人信息,但是员工只能修改、邮箱、及地址,没有修改工号、角色、的权限,只能由管理员修改。另外还可以查看自己的工作情况,比如查看每天的上班时间,下班时间以及工作的总时间,查看每个月总工作时间。(2)票务管理:该模块包括售票和退票两个功能。售票和退票是一个景点票务系统最重要的功能之一。员工售票时,确认者,选择门票种类,填写购买者的、号,然后生成门票预览,最后打印门票。退票时,输入门票,核对该门票购票者信息,确定退票。(3)交班对账:在员工下班前,需要提交上班前原金额、销售金额、销售、上下班时间。3.2.2 管理员功能分析管理员功能主要涉及管理员的一些操作,主要包括

36、对个人信息的管理,对员工信息的管理,查看员工工作情况,对门票进行设置,还有查看统计门票的销售情况和人群分布。(1)信息管理:管理员可以查看和修改个人信息。(2)员工管理:管理员可以查看、修改、删除员工的信息,比如删除离职员工信息,或者、地址改变时,修改员工相应信息;添加新员工,填写该员工的工号、角色、邮箱、地址;查询员工的工作情况,了解员工的工作效率,有助于上层管理者全面地了解员工。(3)门票设置:管理员查询所有门票种类,并对其进行修改和删除操作;新增门票种类,设置门票价格,填写门票备注,方便员工售票。(4)财务中心:管理员统计门票的日销售,月销售,年销售,面对大量的信息,单从表格中,无法弄清

37、其中的规律,而折线图能够使其中的规律一目了然;另外,根据者不同,生成人群分布图,了解该景点哪类人群比较多,方便管理者合理有效地管理景点事务。3.3 数据描述3.3.1 静态数据用户:工号,角色,邮箱,地址;门票:门票种类,价格,备注;售票:门票,种类,价格,售票日期,售票员工号;交班:工号,原销售金额,销售金额,现销售金额,上班时间,交班时间,销售;3.3.2 动态数据输入的数据:鼠标点击按钮、查询相关信息、新建用户、门票种类,用户信息的修改、门票销售以及退票操作时的输入信息等。输出的数据:根据关键字所查找的结果集、统计相关信息、成功或错误提示的消息、门票销售以及退票操作时的结果信息。3.4

38、数据库概念设计概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体的DBMS 概念模型。根据掌握的知识,以及对本系统的需求分析,最终画出本系统的实体关系图(E-R图),如下图所示。图 3-1 系统实体关系图3.5 数据库逻辑设计关系模型的逻辑结构是一组关系模式的集合。E-R 图则是由实体型、实体的属性和实体型之间的联系 3 个要素组成的。所以将 E-R 图转换为关系模型实际上就是要将实体型、实体的属性和实体型之间的联系转换为关系模式。将图 3-1 的实体关系图转换为关系模型。用户(工号,角色,邮箱,地址)此为用户实体对应的关系模式。门票(门票种类,价

39、格,备注)此为门票实体对应的关系模式。售票(门票,种类,价格,售票日期,售票员工号)此为售票实体对应的关系模式。交班(工号,原销售金额,销售金额,现销售金额,上班时间,交班时间,销售)此为交班实体对应的关系模式。根据景点窗口售票系统的系统需求,结合上面设计好的实体关系图,在数据库中设计四张表,分别是:用户信息表(user)、门票种类表(category)、售票表(sell)、交班表(handover)。用户信息表(user)用来用户的个人信息:工号、角色等。图 3-2 用户信息表门票种类表(category)用来门票的种类,以及每个类别的价格和备注,只有管理员该表,可以修改门票类别名和价格,方

40、便员工售票。图 3-3 门票种类表售票表(sell)保存门票的售票员的工号。、类别、价格、购票者、号、售票时间、图 3-4 售票表交班表(handover)员工工作情况,员工下班后,将员工这次工作的上班时间、下班时间、售票、售票金额。图 3-4 交班表3.6 性能需求3.6.1 数据准确度保证百分之百的查询正确率,所有数据库中存在的,按照关键字都可以查到。3.6.2 时间特性系统对操作的反应时间短,大多数应在 2 秒内。3.6.3 系统正确性要求所编写的系统能够充分地满足用户的操作需求。比如用户需要对修改数据时,系统不但要能够判断用户输入数据是否正确,而且要将用户输入的正确数据完整、准确地保存

41、到数据库中。3.6.4 系统的效率本系统是为实现景点窗口售票自动化,使景点员工摆脱传统的、低效率的人工售票而设计开发的,所以本系统需要在几秒内就能够对用户的请求作出反应。3.6.5 系统的可性本系统在遇到错误时或者用户误操作和误输入时,能够及时作出反应,给出错误显示。3.7 运行需求3.7.1 硬件环境(1)操作系统:WindowXP(2)CPU:Pentium II 及其以上机器(3)内存:512 MB 以上(4)浏览器:IE 浏览器3.7.2环境环境支撑:Jdk1.6开发语言:JAVA , JSP开发工具:MyEclipse , Tomcat数据库:框架:结构:Struts2.3.6 ,

42、Hibernate3B/S 结构第四章系统设计4.1 系统结构在第三章对售票系统进行了可行性分析和功能设计,可以确定本系统所具有的模块主要包括员工模块和管理员模块,其中员工模块包括个人信息管理、工作情况、售票、退票、交班对账、友情,管理员模块主要包括个人信息管理、员工信息管理、查看员工工作、门票设置、售票日统计、月统计、年统计、购票人群分布、友情。本系统结构图如图 4-1 所示。图 4-1 系统结构图本系统采用分层式结构,分层式设计可以降低层与层之间的依赖,松散耦合,有利于标准化和各层逻辑的复用。系统总体架构分为显示层、业务逻辑层、数据逻辑层和数据层。如图 4-2 所示。图 4-2 系统分层架

43、构4.2 用户登录在登录页面 login.jsp 中工号对应文本框输入账号,在对应文本框输入,通过表单来传送数据,Struts校验。本系统登录模块主要校验两个方面:(1)验证工号是否存在及是否正确,如果工号和与数据库 user 表中的工号和对应相等,将进行下一步,否则给出错误提示。(2)判断登录账号的角色。本系统分为两种用户:员工、管理员,两种用户的权限不同。根据工号从数据库中查找其对应的角色,若是员工则进入员工界面,若是管理员则进入管理员界面。登录界面如图 4-3 所示。图 4-3 登录界面4.3 员工功能实现用户登录后,若其角色是员工,则进入员工界面,员工修改个人信息、查看自己的工作情况、

44、售票、退票、交班对账。4.3.1 用户管理页面用户管理可以查询员工的个人信息,修改员工的、邮箱、地址,无法修改工号、角色、,只有管理员修改。另外,员工可以查看自己的工作情况:每天上下班时间、工作时长、销售金额、售票。图 4-4 个人信息图 4-5 个人工作情况4.3.2 票务管理页面票务管理分为售票和退票功能,在售票界面中,售票员填写相关信息,比如根据者,选择门票种类,者、号,确定售票后,将这些信息存入数据库 sell 表中。在退票界面中,售票员将纸质门票上的门票,输入文本框,从数据库查询该门票的相关信息,核对购票者信息,若一样则确定退票。售票界面如图 4-6 所示。图 4-6 售票界面图 4

45、-7 退票界面4.3.3 交班对账页面售票员下班时,进入交班对账页面,该页面显示该原员工的上班时间、当前时间、上班前金额、销售金额、现金额、销售。当售票员确定下班后,系统通过HandoverAction 中 doEnd 方法将上述信息存入handover 表(交班表)中。图 4-8 交班对账界面4.4 管理员功能实现用户登录后,若其角色是管理员,则进入管理员界面,管理员修改个人信息、修改员工信息、添加员工、查看员工的工作情况、门票设置、门票日统计、月统计、年统计、人群分布。4.4.1 用户管理页面管理员进入此界面后,可以查询个人信息,修改自己的、邮箱、地址。4.4.2 员工管理页面在员工管理页

46、面,管理员管理所有员工信息,可以添加、删除员工,还可以查看员工工作情况,从而了解员工的上下班时间和上班表现,方便对员工的管理。员工信息页面如图 4-9 所示。图 4-9员工信息页面添加新员工时,工号不能重合,因此系统将检验所填工号是否存在,若存在给出错误提示,并添加。工号和都是必填项,其他信息暂时可以不填。图 4-10 添加员工页面主要代码如下:public String doStadd()UserServiceImpl uimp=new UserServiceImpl();User user=new User();user.setJobnum(jobnum);user.setRole(rol

47、e);user.setPassword(password);user.setUsername(username);user.setPhone(phone) ;user.setSex(sex);user.set uimp.doStareturn sta() ;user.setAddress(address);dd(user);dd;public void validateDoStadd()/校验添加新员工UserServiceImpl uimp = new UserServiceImpl(); User user = uimp.findByJobnum(jobnum); if(null=user

48、) else if(jobnum !=user.getJobnum()addFieldError(jobnum,工号已存在);if(password.length()=0) addFieldError(password,不能为空); 管理员可以查看所有员工,也可以根据工号查看某个员工的工作情况,方便管理者对员工的工作能力大致的了解,合理安排工作,提高工作效率。员工工作情况如图 4-10 所示。图 4-10员工工作情况页面主要代码如下:public String getStaff()HttpServletRequest request = (HttpServletRequest)ActionCo

49、ntext.getContext().get(ServletActionContext.HTTP_REQUEST);HttpSessess = request.getSes();HandoverServiceImpl hoimp = new HandoverServiceImpl();List list1 = hoimp.findHandoverStaffWork();for(n =0;n list1.size();n +)worklist.add(list1.get(n) ; return staff; 4.4.3 门票设置页面管理员可以在此页面查询所有门票种类,比如:成人票、儿童票、团体票

50、。并对某个种类进行更新、删除。另外还可以新增门票种类,设置门票价格。图 4-11 门票设置页面主要代码如下所示:public String addTicket()/管理员增加门票种类 Ticket ticket=new Ticket(); ticket.setCategory(category); ticket.setPrice(price); ticket.setRemark(remark);TicketServiceImpl timp = new TicketServiceImpl(); timp.addTicket(ticket);return addticket;public void

51、 validateAddTicket()TicketServiceImpl timp = new TicketServiceImpl();Ticket ticket = timp.getTicketByName(category); if(null=ticket) elseaddFieldError(category,门票种类已存在); if(price.length()=0)addFieldError(price,价格不能为空); 4.4.4 财务中心页面在财务中心页面,根据sell 表,管理员可以统计门票的日销售数、月销售数、年销售数以及游客的人群分布图,并绘成折线图和饼状图,景点管理者根

52、据这些信息,改善景点运行模式,改变经营观念,调整工作方式,比如:期开放的销售窗口,减少游客购票排队时间,从而吸引的游客。图 4-12门票日统计页面按月统计门票的销售,估算客流量规律,了解一个月中哪些日子客流较多,从而合理安排售票窗口,达到既不浪费人工,又不耽误游客时间的效果,提高工作效率。图 4-13 门票月统计页面JFreeChart17是 java上的图标绘制类库,完全由 java 实现,是当前最常用的 Web 图表解决方案,功能非常强大,基本能够实现各类图表,可扩展性,可以允许多种输出方式,使用 JFreeChart 技术能够按需求定制各种图表。本系统的有关图标均是使用 JFreeCha

53、rt 技术。具体有关 JFreeChart 内容,请JFreeChart 官网:。图 4-14 门票月统计折线图图 4-15 门票年统计折线图主要代码如下:privateCategoryDataset getDataSet() SellServiceImpl simp = new SellServiceImpl();DefaultCategoryDataset dataset = new DefaultCategoryDataset();for(i=1;i13;i+)/每月的售票 sum = simp.getsumByMouth(i);dataset.addValue(sum,2014,Str

54、ing.valueOf(i);return dataset;数,使用 JFreechart,生成饼状图,景点管理者能够清根据门票各个种类的楚地了解本景点的游客大致是哪类人群,从而针对这类人群作出相应的改变,使之更符合这类人群的要求。图 4-16 人群分布图主要代码如下:private DefaultPieDataset getDataset() DefaultPieDataset dataset = new DefaultPieDataset(); TicketServiceImpl timp = new TicketServiceImpl(); SellServiceImpl simp =

55、new SellServiceImpl();List l = timp.getTicket();for(i=0;il.size();i+)Ticket ticket=l.get(i);dataset.setValue(ticket.getCategory(),simp.getsumByCategory(ticket.getCategory();return dataset;第五章系统测试5.1 测试目的许多人以为测试的目的是为了验证程序的正确性,这显然是不对的。不可能对较大的程序完全测试,在数十种没有测试到的情况里可能隐藏着一些错误,因此不能证明程序运行不会出错。表面上看,测试的目标就是为了证

56、明有,并且尽量地发现的错误。然而发现问题不是测试的目的,只有解决问题,才能是到测试的最终目的18。的质量提高,才能达测试的真正作用是使通过对中错误的分布和原因进行总结归纳,消除软件缺陷,确保的质量。对于测试的目标,G. Myers 提出了以下的一些测试规则:(1)测试的目的是为了找出程序中的错误;(2)测试是为了证明程序有缺陷,不是验证程序没有缺陷;(3)测试方案的好坏在于能否找到还没有发现的错误;(4)测试成败的关键在于是否找到了目前还没有发现的错误19。5.2 测试原则各种相关数据表明,开发过越迟发现的缺陷,则修复它所花费的越大。因此程序员在写完每段代码或者每个子模块之后,都要进行测试。因

57、为测试不仅仅是对程序编码进试,还应该对开发过产生的所有产品都进行测试。这就像造桥梁一样,在图纸上面设计好桥梁的结构之后,只有对图纸进行仔细的后,才能进行施工。测试应该按照以下七个原则进行:(1)开发者应该时刻不停地进行测试,应当坚持在系统开发的每个阶段都要进行认真的测试,这样可以及时发现和预防错误,尽快克服错误,消除某些隐患,提高质量。(2)测试用例应该包括测试数据和相应的预期结果。(3)测试应当避免由开发者来检查,而是应由专业的测试测试。测试需要具有客观的态度、理性的思维和平静的情绪。由其他人来测试程序员编写的程序,可能会更加的客观、有效。(4)测试用例不仅要有合适的输入数据,还要有不恰当的

58、输入数据。用不恰当的输入数据进行测试时,通常比用合适的输入数据更能找到错误。(5)应当注意测试过群聚现象。如果发现某能模块比其它功能模块的错误时。应当花费的精力和成本测试这能。(6)必须按照测试计划实行,严禁随心所欲地测试。(7)妥当保管测试计划、和最终分析,方便后期的。5.3 测试用例1.测试功能:用户登录。测试数据:测试项目用户登录功能:1用例摘要:用例分析 1:输入的工号和与数据库中的对应相等;用例分析 2:输入的工号为数据库中存在的数据,但与对应的不相等;用例分析 3:输入的工号为数据库中不存在的数据;用例类型:基本事件输入数据:工号:Y01 ,:123执行步骤:进入登录界面;输入相应

59、数据;点击登录;预期输出:执行点击登录后,进入员工界面。实际结果:与预期一致(1)输入工号、分别为:Y01、123结果:进入员工界面。(2)输入工号、分别为:Y01、222结果:提示错误。(3)输入工号为:Y08、任意结果:提示没有该工号。测试数据(2)(3)结果如图 5-1、5-2 所示。图 5-1 测试数据(2)结果图图 5-2 测试数据(3)结果图2.测试功能:测试项目添加新员工功能:2用例摘要:1.用例分析 1:输入的工号为数据库中不存在的数据且输入测试数据:(1)输入工号、分别为:Y07、123,其他信息任意结果:信息存入数据库,进入成功界面。(2)输入工号为:Y01、任意,其他信息

60、任意结果:提示工号已存在。(3)输入工号为:Y08、为空,其他信息任意结果:提示不能为空。测试数据(2)(3)结果如图 5-3、5-4 所示。图 5-3 测试数据(2)结果图不为空;用例分析 2:输入的工号为数据库中存在的数据;用例分析 3:输入的工号为数据库中不存在的数据,但输入密码为空;用例类型:基本事件输入数据:工号:Y07 ,:123执行步骤:进入新增员工界面;输入相应数据;点击添加员工;预期输出:执行添加员工后,存在数据库,进入成功界面。实际结果:与预期一致图 5-4测试数据(3)结果图3.测试功能:测试数据:(1)输入种类、价格分别为:教师、40结果:信息存入数据库,进入成功界面。

温馨提示

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

评论

0/150

提交评论