电影票预定系统的设计与实现.doc

上传人:封****n 文档编号:96763861 上传时间:2024-03-19 格式:DOC 页数:43 大小:1.51MB
返回 下载 相关 举报
电影票预定系统的设计与实现.doc_第1页
第1页 / 共43页
电影票预定系统的设计与实现.doc_第2页
第2页 / 共43页
点击查看更多>>
资源描述

《电影票预定系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《电影票预定系统的设计与实现.doc(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、电影票预定系统的设计与实现摘 要在现在网络发展极速的时代,我们的生活在也跟着快速进步,生活的方方面面都因为互联网而变得更加方便。其中,人们去看电影的购票方式由原来的到步订票逐渐转变成网上订票。相较于传统的手工售票方式,遵循自动化、智能分析、科学宏观的管理模式的售票流程将会极大地提升电影的发展前景。本毕业设计的主题是电影票预订系统的设计与实现,该系统主要使用SSM框架,用eclipse作为开发工具,MYSQL作为数据库,使用java语言进行开发,开发技术页面主要使用JSP动态页面。该系统主要包括用户管理、电影管理、订票管理、信息发布和后台管理等功能。根据现在电影行业的需求进行分析与设计,结合流程

2、图与文字加以解释说明,在论文中还包括了部分主要功能的实现代码。关键词:电影票预定系统;JAVA;SSM;JSPDesign and Implementation of Movie Ticket Reservation SystemAbstract In the era of rapid network development, our lives are also following rapid progress, and all aspects of life have become more convenient because of the Internet. Among them, t

3、he way people buy tickets to watch movies gradually changed from the original ticket booking to online booking. Compared with the traditional manual ticketing method, the ticketing process that follows an automated, intelligent analysis, and scientific macro management model will greatly enhance the

4、 development prospects of movies.The theme of this graduation project is the design and implementation of the movie ticket reservation system. The system mainly uses the SSM framework, uses eclipse as the development tool, MYSQL as the database, and uses the Java language for development. The develo

5、pment technology page mainly uses the JSP dynamic page.The system mainly includes user management, movie management, ticket management, information release and background management. According to the needs of the current film industry, analysis and design are combined with flow charts and text to ex

6、plain and explain, and some of the main function implementation codes are also included in the paper.Key words: Movie ticket reservation; Java; SSM;JSP目录1前言12 系统的开发环境及技术简介22.1 系统开发环境22.1.1 Eclipse22.1.2 MySQL数据库22.1.3 Tomcat服务器22.2 系统开发思想与技术32.2.1 系统简述32.2.2 SSM框架的简述及其优点33 系统分析53.1 需求分析53.2 性能分析53.3

7、 系统开发步骤分析63.3.1 系统开发流程图63.3.2 浏览电影73.3.3 游客注册73.3.4 用户登录93.3.5 修改密码103.3.6 电影订票103.3.7 电影购票113.3.8 电影评价123.3.9 电影退票133.3.10 管理电影143.3.11 管理用户144 系统设计164.1 系统功能模块164.1.1 浏览电影164.1.2 游客注册164.1.3 用户登录174.1.4 修改密码174.1.5 购票订票174.1.6 电影评价174.1.7 管理用户174.1.8 管理电影174.2 数据库E-R图184.3 数据库的逻辑结构设计185 系统详细实现225.

8、1 浏览电影225.2 游客注册245.3 用户登录255.4 修改密码265.5 订票购票275.6 电影评价295.7 管理用户305.8 管理电影316 系统测试346.1 测试准则346.2 测试方法346.3 测试用例346.3.1功能测试346.3.2 场景测试356.4 结果分析367 总结与展望377.1 总结377.2 未来展望37参考文献38致谢391前言近年来,国内的电影院规模越来越大,电影的发展前景愈发明朗,在这样的情形下不少电影院的兴起使得各个电影院之间的竞争变得越来越大。为了能在这个庞大的电影市场脱颖而出,电影院配备一个快捷,可靠的电影票预定系统对于提高顾客的观看体

9、验,加强对顾客的服务质量,提高电影院的工作效率均起着积极作用。对于电影院来讲,电影票预定系统既能减少售票人员的人工开支,又能扩大售票的服务范围,最重要的是对稳定顾客的观看体验起着重要的积极作用;在观影顾客的角度来看,电影票预定系统不仅带来了非常多的便利,享受订票服务也不再受时间和空间的限制。为了提高工作效率,最好的方法就是合理地运用计算机技术与网络资源。顾客对于电影票的票价以及其放映时间的了解可以快速的反映出来,减少了顾客向售票员了解票价与时段的时间。为了应对顾客需求,系统的管理人员可以通过系统的管理功能,第一时间提供精确的电影场次,大幅度地节省了人力资源和物力资源,不仅为电影院创造良好的经济

10、收益,同时也为顾客提供一个便捷的订票平台。以往的电影院在有热门电影上映的情况下都会出现车水马龙的状况,不少顾客花费大量时间排队后才发现票已售空。对此,增加电影票的网上预定服务,影院售票员的工作强度也因此大大的减轻,各个部门的工作效率也因此提高了,最重要的是顾客不会再为排队而浪费时间,或是为买不到心仪的电影票而感到烦恼,用方便快捷的网上订票来取代以往信息共享难度高、交易时间长、运营成本高的传统售票方式是电影业发展的必然抉择。根据这种现实需求,设计并实现一个电影票预定系统便成为一件非常有意义的事情。相对于传统售票模式不可比拟的优点,越来越多的电影院想利用网上售票方式来代替传统售票,以此来减少电影院

11、售票员的工作量,减少顾客排队时间之余也大程度地避免人们来到电影院却发现电影票已售罄的情况。2 系统的开发环境及技术简介2.1 系统开发环境2.1.1 EclipseEclipse是系统开发中功能丰富的javaee集成开发环境,是一个支持C/C+、JACA、PHP、Android等语言的可扩展开发平台,该软件的最初是由IBM公司开发的,本意是替代原开发软件IDE(Visual Age for Java)。在2011年11月,公司将eclipse贡献给开源社区,提供给广大开发者使用。 Eclipse支持JSP,CSS,JavaScript,SQL,具有开发,发布,调试,测试和发布功能。因为其功能强

12、大,能满足大部分开发需求,所以eclipse成为了广大开发人员热衷使用的开发软件。2.1.2 MySQL数据库毫无疑问,MySQL是最常用的数据库之一。支持AIX,HP-UX,FreeBSD,Mac OS,OpenBSD,Solaris,Windows,OS/2 Wrap和其他OS。提供多种编程语言的应用程序接口,几乎涵盖了绝大部分的开发语言,如C/C +,Python,Java,Ruby,PHP等。另外,MySQL数据库还支持多线程,运行时能充分利用CPU资源,以此来提高数据库服务器性能。与其他数据库相比较,MySQL优化了结构化查询语言的查询算法,有效地提高查询速度。除此之外,它还支持其他

13、软件的多种编码语言,常见的UTF-8,EBCDIC等编码都可以用于建立数据库。它还具有多种数据库连接方法,例如TCP/IP,ODBC,JDBC等。在维护方面,MySQL向用户提供了用于管理,检查和优化数据库操作的管理工具,可以处理具有数千万数据量的大型数据库。MySQL虽然比不上其他大型数据库,但大部分用户都会选择它,其原因很简单。首先,对于普通使用者来说MySQL已经给用户提供了足够的功能,其次,MySQL向广大用户提供了免费版本,在能满足绝大部分用户需求的情况下,MySQL成为受广大用户欢迎的数据库是必然的。2.1.3 Tomcat服务器Tomcat是很多开发人员热衷于使用的轻量级服务器,

14、Toncat服务器在运行的时候不会大量占用cpu资源,而且具有高度可扩展性,不仅如此,它还支持开发应用中常用的功能,例如负载平衡和邮件服务等。开发人员还可以根据自身需求对其进行修改或添加新功能。Tomcat是一个轻量级的应用服务器,广泛应用于并发用户不多的场合。对于系统开发的初学者来说,Tomcat服务器是开发和调试系统程序的首选。Tomcat服务器安装起来比较简单,不少编程软件支持tomcat服务器,如eclipse,myeclipse。这些软件都已经调试好,使用起来无需过多的配置。2.2 系统开发思想与技术2.2.1 系统简述 本系统使用eclipse作为开发软件,使用Java语言,基于M

15、VC模式,主要使用SSM框架,MySQL数据库和tomcat服务器进行开发。所谓MVC就是“Model-View-Controller”,它是一种软件架构模式,把软件系统分为业务模型(Model)、视图(View)和控制器(Controller)三个基本部分,将业务逻辑组合在一起。系统的基本框架是SSM框架。Spring是该系统设计过程中的总体框架,关键是对SpringMVC以及Mybatis进行管理。而SpringMVC最主要的任务是对业务逻辑上进行控制与实现,而Mybatis框架则需要负责对数据的持久层进行操作。2.2.2 SSM框架的简述及其优点Spring是一个轻量级的开放源代码框架,

16、在2002年,由Rod Jahnson的开发人员为了编程开发变得更加便捷而钻研创建的应用型框架。Spring框架能实现以往只有EJB才能实现的功能,不仅如此,它可以通过bean factory实现底层类的实例化和生命周期的管理。Spring常与springMVC和mybatis结合使用,就是我们常用的SSM框架,也可以和struts和hibernate一起组成SSH框架。在随后的发展Spring还衍生springboot,springcould,springdata框架。Spring MVC分离了控制器和模型对象,易于与其他view框架集成。Spring MVC框架工作流程图如图2.1所示。图

17、2.1 SpringMVC框架工作流程MyBatis是基于Java的持久层框架,它支持定制化的结构化查询语言,具有优秀的存储过程和高级映射功能。避免了绝大部分的JDBC代码,无需设置过多的参数和获取结果集,使开发变的更加轻便,可以对Map配置简单的xml和注解,将接口与POJO类映射到数据库中。使用SSM框架开发的优点如下:一、spring的优点: 1、Spring的IOC能使Spring可以控制对象之间的依赖关系。 这便于分离并简化了开发。 2、Spring的AOP容易实现事务,方便管理日志,获取控制权限。3、支持与其他框架集成如ssm,ssh。二、SpringMVC的优点1、对web层进行

18、解耦,让开发变得更方便简洁。2、可以与Spring完美衔接。3、数据验证灵活,应用格式化,数据绑定机制。三、mybatis的优点: 1、sql语句保存在xml文件里,与传统的存储方式比较起来,管理和优化sql语句显得更加方便了,重要的是降低了sql语句和代码之间的耦合度。 2、mybatis提供了对象与数据库之间的映射关系。 3、支持定制化的结构化查询语言。3 系统分析3.1 需求分析电影票预定系统的实现的功能有:未注册用户:(1) 浏览电影:未注册用户可以在网站上自由地搜索、浏览电影信息;(2) 用户注册:若未有账号,游客可以通过注册获取账户,成为用户;用户:(1) 用户登录:用户注册后输入

19、正确的账号与密码后能登录系统;(2) 修改密码:用户根据自身需要,修改登录密码;(3) 电影订票:用户可以选择电影和时间,预定心仪的电影;(4) 电影购票:用户可以选择订单进行结算;(5) 电影评价:用户可以对相应的电影进行评价(6) 电影退票:用户向系统提交退票请求进行退票;管理员:(1) 管理登录:对自己的个人账号或密码进行修改;(2) 管理电影:根据上映情况,在线管理系统中的电影上映信息;(1) 管理用户:根据运营情况,实时管理系统的注册用户信息;3.2 性能分析电影票预定系统需要一个合理、严格、安全的管理机制,具体要求如下:(1) 顾客想预定购买电影票,必须成功登录到系统,才能作下一步

20、操作。(2) 顾客购买了相应场次位置后,其他顾客就不能购买相同场次位置的电影票。(3) 顾客不能查找已经结束的电影场次。(4) 用户不能用自身账号登录管理员界面,管理员也不能在用户界面登录。3.3 系统开发步骤分析3.3.1 系统开发流程图系统开发前我们首先要做好需求分析,包括系统模型设计,模型划分,功能设计和数据库设计等,然后进行代码的编写,然后对系统进行集成优化,最后进行测试。系统开发流程图如图3.1所示。图3.1 电影票预定系统开发流程图3.3.2 浏览电影 浏览电影时无强制登录要求,进入系统的游客可以在系统中浏览电影列表、电影简介、场次、票价以及开映时间。浏览电影流程图如图3.2所示。

21、图3.2 浏览电影流程图3.3.3 游客注册游客若想在电影票预定系统中使用更多功能,游客首先要点击注册按钮进行注册,成为用户,正确输入账号,密码等信息方可成功注册。游客注册流程图如图3.3所示。图3.3 游客注册流程图3.3.4 用户登录用户需要输入正确的账号与密码后,才能正常登录。用户登录后,可以使用购票订票功能、评论功能以及修改用户登录密码等功能。用户登录流程图如图3.4所示。图3.4 用户登录流程图3.3.5 修改密码用户如果有修改密码需求,可以点击个人信息界面里的修改密码按钮,根据自己的实际需求修改登录密码,修改的新密码必须和再次确认密码相同,否则不能成功修改密码。 修改密码流程图如图

22、3.5所示。图3.5 修改密码流程图3.3.6 电影订票已登陆用户选择喜爱的电影,场次,与座位进行订票。订票流程图如图3.6所示。图3.6 订票流程图3.3.7 电影购票已订票用户可以通过查看订单,点击订单完成支付实现购票。购票流程图如图3.7所示。图3.7 购票流程图3.3.8 电影评价用户可以选择电影进行评价,给其他人作为观看前的参考。电影评价流程图如图3.8所示。图3.8 电影评价流程图3.3.9 电影退票当用户购买电影票时发现场次或时间选择错误时,可以选择退票重新购买。退票流程图如图4.9所示。图3.9 退票流程图3.3.10 管理电影系统管理员可以在管理界面进行电影、场次、时间的增删

23、改查。管理电影流程图如图3.10所示。图3.10 管理电影流程图3.3.11 管理用户系统管理员在成功登录后台管理界面后,可以管理用户评论和用户订单。管理用户流程图如图3.11所示。图3.11 管理用户流程图4 系统设计4.1 系统功能模块系统功能模块图能清晰明了地看出系统的各个功能模块的组成分支。电影票预定系统主要有三个分支,分别由游客,用户与管理员组成。系统功能模块图如图4.1所示。图4.1 系统功能模块图4.1.1 浏览电影 游客(未注册用户)或者用户使用此系统,均可以使用基本的搜索功能,或在主界面查看电影信息如电影类别、上映时间、票房、评分等。如果游客需要订票购票则需要注册并且登录。4

24、.1.2 游客注册 游客(未注册用户)可以点击注册按钮进行账号注册。注册时需要填写正确的注册信息,包括账号,密码以及确认密码。注册信息均不能为空,用户名可以为中文,密码与确认密码必须相同,否则无法通过。注册时可以对自己的个人信息进行修改,如性别,手机号码等。4.1.3 用户登录已注册的游客可以使用系统的登录功能进行登录,游客登录需要填写注册时填写的用户名和密码,用户名和密码同时匹配时才可以成功登录。若登陆失败则返回主页面。4.1.4 修改密码 在本系统中,用户和管理员可以根据自身情况的需求修改密码,在登录成功的状态下,点击个人信息页面里的修改密码按钮来修改登录密码,修改密码需要输入新密码与确认

25、密码,当新密码与确认密码相同时,才能修改密码,否则会提示确认密码与新密码不一致。4.1.5 购票订票用户可以选择想观看的电影,然后选择该电影的场次(时间),最后选择座位(可多选),提交订单。购票时选择订单,选择支付方式,最后完成购票。被选择购买过的座位是无法再次购买的,没有场次的电影是无法被选择的。4.1.6 电影评价用户可以在观看电影后对电影进行评价,当评价可能会对他人造成不良影响时管理员可以将评论删除。4.1.7 管理用户管理员在登录管理后台后,可以对本系统的用户评论与订单进行管理。4.1.8 管理电影管理员在登录管理后台后,可以对电影信息进行管理,比如电影信息、增加新电影、增加场次、调整

26、开场时间等操作。4.2 数据库E-R图这个数据库主要包括五个实体集,分别为电影表,排场,用户,留言和图片。我们可以建立E-R模型图,如图4.2所示。图4.2 系统E-R图4.3 数据库的逻辑结构设计(1)电影票预定系统用户表,记录了注册用户的个人信息,包含属性有用户ID、用户名、密码、性别、电话号码、角色。用户信息表结构如表4.1所示。表4.1 user用户信息表字段名称字段意义字段类型是否主键能否为空id用户编号int(11)是否name用户名varchar(30)否否password密码varchar(30)否否sex性别varchar(4)否否tel电话号码varchar(30)否否au

27、th角色int(30)否否(2)电影票预定系统电影信息表,记录了电影的信息,包含属性有电影ID、电影名称、放映时长、类型、导演、演员、电影简述、评分、上映时间、票房、所在地、公司、图片、票价。电影信息表结构如表4.2所示。表4.2 movie电影信息表字段名称字段意义字段类型是否主键能否为空id电影编号int(4)是否name电影名称varchar(255)否否length放映时长varchar(50)否否type类型varchar(50)否否director导演varchar(50)否否actor演员varchar(50)否否plot电影简述varchar(8000)否否score评分var

28、char(10)否否time上映时间varchar(100)否否sum票房Varchar(20)否否region所在地varchar(255)否否company公司varchar(255)否否img图片varchar(255)否否price票价varchar(10)否否(3) 电影票预定系统订单表,记录了用户订单的详细信息,包含属性有订单编号、电影编号、开始时间、结束时间、用户编号、座位、票价、数量、总价、影厅、放映时间。订单信息表结构如表4.3所示。表4.3 ticket 订单信息表字段名称字段意义字段类型是否主键能否为空id订单编号int(10)是否mid电影编号int(10)否否star

29、t开始时间varchat(50)否否end结束时间varchat(50)否否uid用户编号int(10)否否seat座位varchat(100)否否price票价varchat(100)否否number数量int(10)否否sum总价varchat(100)否否room影厅varchat(100)否否date放映日期varchat(100)否否(4)电影场次表,记录了电影上映场次及时间的表,包含放映编号、电影编号、影厅、放映日期、开始时间和结束时间。电影场次表结构如表4.4所示。表4.4 live 电影场次表字段名称字段意义字段类型是否主键能否为空id放映编号int(11)是否mid电影编号i

30、nt(11)否否room影厅varchat(255)否否date放映日期varchat(255)否否time开始时间varchat(255)否否ending结束时间varchat(255)否否(5)用户留言表,用于记录用户的留言信息,包含留言编号、用户编号、电影编号、留言信息、留言时间、用户名称。用户留言表结构如表4.5所示。表4.5 message 用户留言表字段名称字段意义字段类型是否主键能否为空id留言编号int(11)是否uid用户编号int(11)否否movie电影编号int(11)否否content留言信息varchat(255)否否time留言时间varchat(255)否否un

31、ame用户名称varchat(20)否否(6)电影票预定系统图片表,用于展示电影图片,包含的信息有图片编号、图片、电影编号。图片表结构如表4.6所示。表4.6 pic 图片表字段名称字段意义字段类型是否主键能否为空id图片编号int(4)是否img图片varchar(255)否否mid电影编号int(4)否否5 系统详细实现5.1 浏览电影游客、用户和管理员均可使用浏览电影功能,包括热门电影浏览、电影分类浏览和搜索电影,最后可以通过点击电影海报浏览电影详情。主要代码实现如下: /得到所有的电影 RequestMapping(/list) public String list(Model mod

32、el) List lists= movieService.list(null); List movies=new ArrayList(); for(int i=0;i=0) movies.add(movie); model.addAttribute(movies,movies); return index; RequestMapping(/jsonlist) ResponseBody public List jsonlist(Model model) List lists= movieService.list(null); return lists; /得到当前时间 public String

33、 time() Date now=new Date(); SimpleDateFormat sdf=new SimpleDateFormat(yyyy-MM-dd); return sdf.format(now); /得到正在上映的电影 RequestMapping(/nowing) ResponseBody public List nowing() List movies= movieService.list(null); List movie=new ArrayList(); for(int i=0;i=0) movie.add(movie1); return movie; /得到即将上映

34、的电影 RequestMapping(/coming) ResponseBody public List coming() List movies= movieService.list(null); List movie=new ArrayList(); for(int i=0;imovies.size();i+) Movie movie1=movies.get(i); if(time().compareTo(movie1.getTime()0) movie.add(movie1); return movie; 系统截图如下图5.1所示:图5.1 浏览电影5.2 游客注册游客在注册账号界面输入

35、信息,注册账号需要正确填写账号和密码。主要实现代码如下:public String updates(Integer id,String name,String sex,String tel,Model model) User user=userService.getById(id); user.setName(name); user.setSex(sex); user.setTel(tel); if(userService.updateById(user) user=userService.getById(id); model.addAttribute(user,user); return g

36、eren/user_show; return null; 系统截图如下图5.2所示:图5.2 游客注册5.3 用户登录用户登陆时,系统会对用户输入的账号与密码进行匹配,只有账号与密码都存在于数据库且相互匹配时才能够成功登录。主要实现代码如下:RequestMapping(/login) public String login(String name, String password, int auth, HttpSession session, Map map) map.put(name,name); map.put(password,password); map.put(auth,auth)

37、; User user=userService.login(map); if(user!=null & user.getAuth()=1) session.setAttribute(user,user); return redirect:/default.jsp; else if(user!=null & user.getAuth()=0) User admin=userService.login(map); session.setAttribute(admin,admin); return redirect:/admin/admin.jsp; else return redirect:/de

38、fault.jsp; select * from user where name=#name and password=#password and auth=#auth系统截图如下图5.3所示:图5.3 用户登录5.4 修改密码用户成功登录后,可以根据自身需求修改密码,修改密码需要用户进入用户中心页面,输入新密码与确认密码。前端验证输入输入内容是否符合规则后传到后端,后端先验证新密码与确认密码是否正确,若正确则执行修改并提示“修改成功”,反之提示“修改失败”。主要代码实现: RequestMapping(/updatePw) public String updatePw(Integer id,

39、 String newpassword, String newpassword1, Model model, HttpSession session,HttpServletResponse response) try PrintWriter out=response.getWriter(); User user=userService.getById(id); if(newpassword.equals(newpassword1) user.setPassword(newpassword); if (userService.updateById(user) / session.removeAt

40、tribute(user); out.print(alert(修改成功!);location.href=/MOVIE/geren/user_updatePw.jsp); else out.print(alert(修改失败!);location.href=/MOVIE/geren/user_updatePw.jsp); catch (IOException e) e.printStackTrace(); return null; 系统截图如下图5.4所示:图5.4 修改密码5.5 订票购票已登录用户可以根据自己的喜好选择电影,然后选择场次(时间),最后选择座位(可多选),最后支付完成订票购票。主要代码实现:public String add(Integer number, String sum, String beats, Integer mid, Integer lid, Integer uid, HttpServletResponse response) try response.setCharacterEncoding(UTF-8); response.setContentType(text/html;charset=UTF-8); PrintWriter out=response.getWriter(); Movie movie=movieService.ge

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 期刊短文 > 信息管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁