1.1 研究背景
随着计算机的普及,电影院订票系统发展的越来越好,而国内上的电影院订票系统数量上也增加了不少,网上电影院订票系统的出现,证明了电影院订票系统具有良好的前景。在当今世界之中,随着科学技术的不断发展和计算机越来越普及,运用计算机对系统进行管理是一种趋势。如今随着社会和生活的信息量在不断地增长中,如何提高管理员的管理效率成为了人们关注的话题[1]。
传统人工管理电影售票会消耗过多的人力和物力,很有困难造成管理员管理混乱,从而对电影院订票系统的正常运营造成影响,很多传统的管理模式已经不能够适应人们的要求。我们可以充分利用计算机的资源,完成电影售票的信息服务。最后为了方便管理员能够大量处理业务,可以借用于计算机强大的信息资源。在考虑到用户的便处之时还需要考虑到用户使用的安全问题[2]。
1.2 开发意义
21世纪是大数据的时代,在信息管理的时候,由于数据量非常多,因此要对不少的数据进行处理,所以软件开发者根据用户的需求开发了不少的管理系统。计算机的较大好处在于自动化处理,这不仅能够提高电影院订票系统的处理效率还能提高其安全性。处理越繁杂的数据这更能 体现出计算机处理数据的优势。电影院订票系统数据量不少,需要处理的数据量非常多,如果刚开始的话管理员使用手工的方式进行管理的话,不仅容易出现问题且管理效率不高[2]。
1.3 研究内容
(1)本次设计并实现电影院订票系统,使用软件开发流程先进行前期的调研确定所使用的开发工具是否可行,能否完成功能模块的实现,最后确定所使用的方案。
(2)框架属于程序语言开发者编写好的功能集合,利用框架可以帮我们实现构建程序整体层次。本电影院订票系统使用的框架为开源框架,在开发部署上具有一定的优势,可以帮助程序开发者快速构建基本的程序框架出来,通过调用开源框架可以减少程序开发者编写的代码量,从而提升电影院订票系统的安全性和稳定性,这有益于程序开发者完成功能模块的处理和数据调用。
(3)数据的管理需要使用数据库进行规范约束,使用数据库SQL语句可以创建数据库表并操作数据库记录,这样在实现系统的时候就能开发出相应的系统实体,能够开发出相应的关系模型。电影院订票系统的每个部分分别属于不同的层级,能够满足不同的功能模块。它们互相作用最后完成了软件的运行和开发[3]。
1.4论文组织结构
针对本文的电影院订票系统安排论文的章节如下:
第一章是引言。本章主要介绍了课题研究背景与意义、课题研究现状和论文结构。
第二章是系统开发环境及技术。本章介绍了电影院订票系统开发环境和所涉及到的技术。
第三章是需求分析。本章介绍了电影院订票系统的功能需求和非功能需求,绘制出系统功能模块图。
第四章是系统总体设计。对系统功能模块进行划分和数据库设计。
第五章是系统实现。本章阐述了电影院订票系统功能模块的实现功能。
第六章是系统测试。本章阐述了使用黑盒测试对系统进行测试。
2 核心技术
2.1 Java语言
Java语言属于面向对象语言中的一种,它具有安全性和通用性等优点,在互联网和数据中心等方面都有应用,Java的动态Web和跨平台最初是由HotJava浏览器进行显示。此后Java语言被广泛应用在了网页上,支持的浏览器也变多了,与此同时,Java语言还在不断改善中。相对复杂的编程语言C/C++来说Java语言要简单许多,Java和C++编程语言有不少相似之处,Java编程语言开发者把C++中少使用到的特性去除了,使其更加精炼。面向对象的很大特性为将类似的功能装进同一个对象当中,程序员需要利用特定的对象完成对应的功能。Java编程语言编写的程序不需要像C++一样手动管理内存,Java具有垃圾回收机制能够回收垃圾。使用Java语言编写好的应用程序只需要编译一次就可以在不同的平台上使用程序。
2.2 JDK
JDK又被人们成为Java开发工具包,能够提供Java应用程序的开发环境,JDK不仅包含了Java运行环境,还包括了Java的核心类库和工具。很多Java应用开发工具有内置了JDK。JRE又被称为Java程序运行的标准环境,JRE包含了Java虚拟机和Java SE的API部分。JDK是Java编程语言的开发环境,JRE是Java编程语言的运行环境。
2.3 Idea
idea是一个开放源代码的开发平台,idea本身属于一个框架,可通过集成框架搭建开发环境,idea附带了包括JDK的标准插件集,所以能够用来开发Java应用程序。IBM公司虽然独自研发了idea,但是IBM公司却把idea贡献给了开源社区,并且没有盈利的操作。
idea编译器底层代码由Java代码编写而成,并且本身内部集成了不少的开发插件。idea编译器内部代码是开源的,提供了一个便于二次开发的平台。idea编译器的开发需要围绕着很多的原则,原则包括高可用和安全等。idea编译器刚被人们开发出来的时候只能够编写Java语言,随着技术不断地更新,idea编译器能够编写更多的编程语言。idea虽然作为一个编译器,但是当很多插件出来的时候,idea可以集成这些插件使得功能越来越丰富。idea能够满足日常的开发场景,不同功能能够包含系统的整个开发阶段,使用起来较为方便,包括前端界面和后端业务逻辑代码。
2.4 MySQL数据库
MySQl属于关系型数据库中的一种,它最初是由MySQL AB公司进行开发的,之后隶属于Oracle旗下的产品。在Web程序中使用较多的数据库为MySQL。关系型把数据库存放在不同的表当中,这种方式能够提升数据查询的速度,灵活性也能够提高不少,MySQL数据库属于关系型数据库中的一种。管理MySQL数据库的记录通常使用SQL语言进行管理,MySQL数据库能够使用标准的SQL语言对数据库记录进行操作。MySQL被人们划分为两种版本,分别是社区版和商业版,用户可以使用免费开源的社区版本,而且性能也算得上卓越。
2.5 Maven架构
Maven属于一种项目管理工具并且是开源的,底层逻辑业务由Java编写而成,Maven通过一小段代码就能够构建整个项目所需要的Jar包。Maven项目最初目的是使用引入Turbin项目的Ant文件,Jar包需要由CVS进行统一管理。于是很多项目研发者希望用更加简单的方式共享Jar包,能够使用更加简易的方式引入项目的Jar包。
Maven还有另外一个功能为用于程序搭建项目,通常只需要几行Maven命令就能搭建起简单的项目,这都得益于Maven使用了缺省的构建规则。许多Apache项目引用Jar包的方式选择了Maven架构,而且很多软件公司开发项目使用Maven作为项目管理工具。
2.6 JSP
JSP通常被人们称为网页技术标准,该标准较早之前是由Sun公司进行指导,许多其它公司参与开发,将Java和JSP加入到HTML文件中,即可设置构成JSP页面。如果JSP能够通过跨平台的技术把Java进行编译,就可以实现到处运行。JSP技术能够使用Java语言编写tags和scriptlets,通过标签封装好网页的处理逻辑。JSP能够将网页的显示与业务逻辑相分离开来,使得开发Web应用程序会变得非常地简单。
2.7 SpringMVC
SpringMVC框架是在MVC模式作的改进,隶属于Spring框架的一个子框架。如果在开发Web项目的时候使用到了Spring框架,那么还可以组合使用SpringMVC框架。SpringMVC的工作流程为用户发起请求的时候,需要被web.xml里面配置的DispatcherServlet进行拦截用户的请求并进行处理,通过HandlerMapping还可以匹配到对应的适配器,适配器可以调用对应的控制器进行处理,处理后的数据通过页面显示给用户。
2.8 Spring
Spring框架内部包含着不少的框架,在J2EE标准技术的基础之上的一组框架,而且还提供了很多额外的功能供于程序开发者调用。Spring框架可以使得表示层、业务层和数据层分离开来,使得三者的耦合性大大降低。因为Spring框架包含的控制反转功能能够支持依赖注入,所以最后程序员只需要针对接口编程即可。
2.9 MyBatis
MyBatis属于开源的ORM框架,它的前身是Apache的一个名为iBatis的开源项目,在1110年的时候,iBatis项目由Apache基金会正是命名为MyBatis,到了1113年的时候,MyBatis项目的代码被迁移到了网站Github中。MyBatis是一款优秀的持久层框架,它能够支持高级映射和定制化的SQL。MyBatis不仅能够避免JDBC代码冗余的编写,而且不用手动地去获取结果集和设置系统的参数,MyBatis可以通过注解和XML来配置对象的信息,从而可以方便地将数据库表和系统的实体相互映射起来。
3 需求分析
3.1 可行性分析
3.1.1经济可行性
电影院订票系统的设计开发与实现目的是解决传统模式带来的多余经济支出,尤其是人力资源带来的成本支出[5]。传统的电影院订票系统不仅需要消耗大量人力资源,而且往往需要管理员手工记载数据。本电影院订票系统设计实现的目的为降低开发成本,并且可以节省管理员的时间和提高用户的体验感。考虑到目前的互联网开源框架和硬件设备,所以经济上是可行的[6]。
3.1.2 技术可行性
随着当今计算机的快速发展,计算机硬件性能和存储能力在不断地提高,价格确在不断地下降,完全能够满足本系统对数据存储和处理的要求。根据前期对电影院订票系统功能的分析和确定,最终确定使用可行的开源框架和软件结构完成电影院订票系统的开发。系统在设计实现的时候选用的软件和开发技术为程序开发者所经常使用的,结合市场上同种类型的电影院订票系统,本次开发的电影院订票系统在技术上是可行的。并且能够在开发出可用的电影院订票系统前提下做到较低的开发成本。此次开发的电影院订票系统有形成的系统可以参考,因此后期技术升级和维护有一定的保障[5]。
3.2 功能分析
系统的使用者分为普通用户,用户与管理员三种角色,其对应的具体功能如下分析。
(1)管理员
系统后台主要是对前台一些信息和操作的管理,管理员在登录系统后台后,可以对个人中心,用户管理,影院信息管理,订单管理,电影类型管理等模块进行操作。管理员的用例图如图3-1所示:
正在上传…重新上传取消
图3-1 管理员用例图
首页给用户提供一个查看查看和购买电影票的功能,当用户注册好账户以后,登录系统之后,即可查看查看影院信息和购买等操作。后台管理可以进行收藏电影和查看订单功能。用户的用例图如图3-2所示:
正在上传…重新上传取消
图3-2 用户用例图
3.3 非功能性需求分析
(1)操作界面需要简洁,由于本电影院订票系统面向的用户不分年龄,所以在操作上需要以简单的原则,这样才能够有更多的用户访问本电影院订票系统,页面加载速度快慢也能影响用户的体验感。本系统需要在用户数量达到顶峰的时候还能够流畅浏览。
(2)系统在实现的时候需要注意设置导航栏,当用户点击导航栏的时候能够快速跳转。
4系统设计
4.1 功能设计
用户在使用电影院订票系统之前需要进行登录。用户需要在登录界面中输入用户名和密码才能够进行登录,选择好自己的角色,最后点击登录按钮才可以登录。
正在上传…重新上传取消
图4-1 登录流程图
用户在使用电影院订票系统之前需要进行登录,登录系统之后点击影院信息列表,点击预订功能按钮,提交订单支付即可。
正在上传…重新上传取消
图4-2 订票流程图
(3)用户管理
管理员在后台登录系统之后可以对用户信息管理。例如可以添加,删除,查询,修改用户的信息。
正在上传…重新上传取消
图4-3 用户管理流程图
4.2 功能模块
电影院订票系统管理系统主要有2类用户,可分为2模块。分别是用户模块和管理员模块。用户模块中包含:首页,影院信息,电影信息,电影资讯,留言板,个人中心,后台管理。用户进入首页系统后,可以进行查看电影资讯以及购买影票等操作。管理员模块包含:个人中心,用户管理,影院信息管理,电影资讯管理,电影类型管理,留言板管理,系统管理,订单管理。详细具体如图4-4所示:
正在上传…重新上传取消
图4-4 功能模块图
4.3 数据库设计
4.3.1 概念模型设计
电影院订票系统的实体可以使用数据模型表示,由于概念性模型没有固定的模型,因此程序开发人员可以根据按照自己的想法建立概念模型[6]。概念模型还有另外一种表达方式,那就是数据库E-R图,E-R图又被成为数据模型。由于本电影院订票系统带有大量的数据。因此需要根据电影院订票系统建立相应的数据模型[7]。根据分析可以得出电影院订票系统的E-R图如下:
正在上传…重新上传取消
图4-5 数据库E-R图
4.3.2 物理模型设计
(1)订单信息表
表4.1 订单信息表
列名 | 数据类型 | 长度 | 主外键 |
id | int | 11 | 是 |
addtime | timestamp | 0 | |
orderid | varchar | 50 | |
tablename | varchar | 50 | |
userid | int | 11 | |
goodid | int | 11 | |
goodname | varchar | 50 | |
picture | varchar | 50 | |
buynumber | int | 11 | |
price | float | 0 | |
discountprice | float | 0 | |
total | float | 0 | |
discounttotal | float | 0 | |
type | int | 11 | |
status | varchar | 50 | |
address | varchar | 50 | |
tel | varchar | 50 | |
consignee | varchar | 50 |
(2影院信息表
表4.2 影院信息表
列名 | 数据类型 | 长度 | 主外键 |
id | int | 11 | 是 |
addtime | varchar | 50 | |
yingyuanmingcheng | varchar | 50 | |
dianyingmingcheng | varchar | 50 | |
fengmian | varchar | 50 | |
yanyuan | varchar | 50 | |
dianyingleixing | varchar | 50 | |
dianyingshizhang | varchar | 50 | |
shangdangriqi | varchar | 50 | |
bofangshijian | varchar | 50 | |
dianyingjianjie | varchar | 50 | |
fabugongsi | varchar | 50 | |
duanshipin | varchar | 50 |
(3)电影资讯信息表
表4.3 电影资讯信息表
列名 | 数据类型 | 长度 | 主外键 |
id | int | 11 | 是 |
addtime | timestamp | 0 | |
title | varchar | 50 | |
introduction | longtext | 0 | |
picture | varchar | 50 | |
content | longtext | 0 |
(4)留言板信息表
表4.4 留言板板信息表
列名 | 数据类型 | 长度 | 主外键 |
id | int | 11 | 是 |
addtime | timestamp | 0 | |
userid | int | 11 | |
username | varchar | 50 | |
content | longtext | 0 | |
cpicture | varchar | 50 | |
reply | longtext | 0 | |
rpicture | varchar | 50 |
(5)用户信息表
表4.5 用户信息表
列名 | 数据类型 | 长度 | 主外键 |
id | int | 11 | 是 |
addtime | timestamp | 0 | |
zhanghao | varchar | 50 | |
xingming | varchar | 50 | |
mima | varchar | 50 | |
yonghushouji | varchar | 50 | |
youxiang | varchar | 50 | |
xingbie | varchar | 50 | |
xiangpian | varchar | 50 | |
userid | int | 11 | |
money | float | 0 |
5 系统实现
5.1管理员功能模块的实现
5.1.1 电影类型管理
管理员输入正确用户名和密码登录到电影院订票系统,进入到电影类型管理界面可以管理电影类型的信息,可以对电影类型的信息进行增删改查。当管理员想要添加电影类型信息的时候需要点击添加按钮,当管理员点击添加按钮的时候可以跳转到添加电影类型的界面当中,管理员在添加电影类型的界面中输入电影类型的信息,如果输入的信息和数据库记录不同的话,则能够添加电影类型的记录到数据库记录当中。当管理员想要修改电影类型信息的时候则需要跳转到修改用户的界面当中,在修改电影类型界面输入电影类型的信息,管理员输入修改的电影类型信息之后可以点击提交按钮进行提交,如果输入的信息在数据库记录中检测到有相同的则不能够正常添加到数据库记录中,需要在前端界面中提示管理员。
正在上传…重新上传取消
图5-1 电影类型管理界面
5.1.2 影院信息管理
当管理员想要管理影院信息的时候需要进入到影院信息的界面当中,如果想删除影院的信息,则需要进入到影院信息功能模块的界面当中,点击删除按钮,在删除影院信息的时候需要注意删除的影院记录是否跟其它表的记录是否有关联,如果有关联的话则不能够正常删除需要先删除其它表的记录。如果管理员想要搜索影院的信息则需要进入到影院信息功能模块界面当中,在搜索输入框输入影院名称查找影院信息,如果输入的影院名称称跟数据库影院表的记录相符的话则能够查找得到影院的信息。
正在上传…重新上传取消
图5-2 影院信息界面
5.1.3电影资讯管理
管理员输入正确用户姓名和密码登录到电影院订票系统,进入到电影资讯管理界面可以管理电影资讯的信息,可以对电影资讯的信息进行删改查。当管理员想要查询电影资讯信息的时候需要点击查询按钮,当管理员点击查询按钮的时候可以跳转到查询电影资讯的界面当中,管理员在查询电影资讯的界面中输入电影资讯的信息,如果输入的信息和数据库记录不同的话,则能够查询电影资讯的记录到数据库记录当中。当管理员想要修改电影资讯信息的时候则需要跳转到修改电影资讯的界面当中,在修改电影资讯界面输入电影的信息,管理员输入修改的电影资讯信息之后可以点击提交按钮进行提交,如果输入的信息在数据库记录中检测到有相同的则不能够正常添加到数据库记录中,需要在前端界面中提示管理员。
正在上传…重新上传取消
图5-3电影资讯管理界面
5.1.4 订单管理
当管理员想要管理订单的时候需要进入到订单管理的界面当中,如果想删除订单的信息,则需要进入到订单管理功能模块的界面当中,点击删除按钮,在删除订单的时候需要注意删除的订单记录是否跟其它表的记录是否有关联,如果有关联的话则不能够正常删除需要先删除其它表的记录。如果管理员想要搜索项目的信息则需要进入到订单管理功能模块界面当中,在搜索输入框输入订单名称查找订单信息,如果输入的订单名称跟数据库订单表的记录相符的话则能够查找得到项目的信息。
正在上传…重新上传取消
图5-4 订单管理界面
5.2用户功能模块的实现
5.2.1影院信息展示
在影院信息展示界面中能够以表单的形式展示影院信息,用户可以在影院信息展示界面中查看影院的信息,当用户想要查看影院详细信息的时候,需要点击影院信息图片进入到影院信息详细信息界面,这时会从客户端发起一个请求到服务器端进行处理,服务端逻辑业务处理代码会利用处理接口对用户请求进行处理,从数据库记录中取出影院信息的信息传送到客户端中利用页面的正则表达式对信息进行解析然后展示。
正在上传…重新上传取消
图5-5 影院信息展示界面
5.2.2 影院详细信息
在影院详细信息展示界面中能够展示电影的详细信息,电影的详细信息展示需要通过服务端传递过来的数据进行展示,服务端利用逻辑接口通过数据库SQL语句操作数据库记录获得电影的详细信息,电影详细信息可以便于用户更好地了解电影的信息。
正在上传…重新上传取消
图5-6 影院信息详细信息界面
5.2.3 新闻公告展示
在新闻公告展示界面中能够以表单的形式展示新闻公告信息,用户可以在新闻公告展示界面中查看新闻公告的信息,当用户想要查看新闻公告详细信息的时候,需要点击新闻公告信息图片进入到新闻公告详细信息界面,这时会从客户端发起一个请求到服务器端进行处理,服务端逻辑业务处理代码会利用处理接口对用户请求进行处理,从数据库记录中取出新闻公告的信息传送到客户端中利用页面的正则表达式对信息进行解析然后展示。
正在上传…重新上传取消
图5-7新闻公告展示界面
6 软件测试
6.1 测试目标和方法
一个流程完整的软件开发流程需要软件开发者对软件进行功能和需求分析的测试,这能够检测该软件是否能够满足要求和尽快地查找出软件可能存在的bug,这就是软件测试的目标[9]。
软件开发的重要一个环节是软件测试,主要由验证和有效性确认这些部分组成。系统测试能够对电影院订票系统全方面地测试,在测试之前需要确保系统能够运行起来并运行在确定的运行环境中,系统环境不仅包括硬件的环境还包括软件的。经过软件测试可以提前发现电影院订票系统存在的潜在问题并作以修正,这有益于减少软件问题对使用者造成的损失。
黑盒测试能够使得软件测试人员即使不了解软件具体业务逻辑的情况下,使用大量的测试用例能够测试软件的输入和输出,通过这种方法可以保证系统的可靠性[10]。
6.2 测试用例
(1)用户管理
表6-1 用户管理用例表
功能描述:用户管理功能 用例目的:测试管理员是否能够正常管理用户功能 前提条件:管理员成功登录电影院订票系统 | ||
输入或动作 | 输出或相应 | 实际情况 |
点击添加按钮 | 新添加了用户的信息到数据库记录中 | 如果输入的用户信息字符不合法或者数据库记录相冲突的情况下则不能够正常添加,如果添加的用户信息能够正常添加,则对应的数据库记录也需要更新 |
点击修改按钮 | 修改用户信息后把信息保存到数据库记录中 | 如果在修改输入框输入的用户信息不合法,则不能够成功修改用户的信息,修改完的信息需要保存到数据库记录中 |
点击删除按钮 | 删除用户的信息需要同步更新数据库记录 | 如果被删除的用户信息跟数据库记录的其它表有外键或者索引关系的时候,则不能够成功删除,需要先删除其它表的数据库记录才能够正常删除 |
在搜索输入框中输入内容 | 在搜索输入框中输入内容搜索用户的信息 | 如果管理员在输入框中输入的用户名称在数据库记录中不相匹配的情况下则不能够搜索出用户的信息 |
(2)留言板管理
表6-2留言板管理用例表
功能描述:留言板管理功能 用例目的:测试管理员是否能够正常管理留言板功能 前提条件:管理员成功登录电影院订票系统 | ||
输入或动作 | 输出或相应 | 实际情况 |
点击添加按钮 | 新添加了留言板的信息到数据库记录中 | 如果输入的留言板信息字符不合法或者数据库记录相冲突的情况下则不能够正常添加,如果添加的留言板信息能够正常添加,则对应的数据库记录也需要更新 |
点击修改按钮 | 修改留言板信息后把信息保存到数据库记录中 | 如果在修改输入框输入的留言板信息不合法,则不能够成功修改留言板的信息,修改完的信息需要保存到数据库记录中 |
点击删除按钮 | 删除留言板的信息需要同步更新数据库记录 | 如果被删除的留言板信息跟数据库记录的其它表有外键或者索引关系的时候,则不能够成功删除,需要先删除其它表的数据库记录才能够正常删除 |
在搜索输入框中输入内容 | 在搜索输入框中输入内容搜索留言板的信息 | 如果管理员在输入框中输入的留言板信息名称在数据库记录中不相匹配的情况下则不能够搜索出留言板信息的信息 |
(3)影院信息
表6-3 影院信息管理用例表
功能描述:影院信息功能 用例目的:测试管理员是否能够正常管理影院信息功能 前提条件:管理员成功登录电影院订票系统 | ||
输入或动作 | 输出或相应 | 实际情况 |
点击添加按钮 | 新添加了影院的信息到数据库记录中 | 如果输入的影院信息字符不合法或者数据库记录相冲突的情况下则不能够正常添加,如果添加的影院信息能够正常添加,则对应的数据库记录也需要更新 |
点击修改按钮 | 修改影院信息后把信息保存到数据库记录中 | 如果在修改输入框输入的影院信息不合法,则不能够成功修改影院的信息,修改完的信息需要保存到数据库记录中 |
点击删除按钮 | 删除影院的信息需要同步更新数据库记录 | 如果被删除的影院信息跟数据库记录的其它表有外键或者索引关系的时候,则不能够成功删除,需要先删除其它表的数据库记录才能够正常删除 |
在搜索输入框中输入内容 | 在搜索输入框中输入内容搜索影院的信息 | 如果管理员在输入框中输入的影院名称在数据库记录中不相匹配的情况下则不能够搜索出影院的信息 |
(4)电影资讯管理
表6-4 电影资讯管理用例表
功能描述:电影资讯功能 用例目的:测试管理员是否能够正常管理电影资讯功能 前提条件:管理员成功登录电影院订票系统 | ||
输入或动作 | 输出或相应 | 实际情况 |
点击添加按钮 | 新添加了电影资讯的信息到数据库记录中 | 如果输入的电影资讯信息字符不合法或者数据库记录相冲突的情况下则不能够正常添加,如果添加的电影资讯信息能够正常添加,则对应的数据库记录也需要更新 |
点击修改按钮 | 修改电影资讯信息后把信息保存到数据库记录中 | 如果在修改输入框输入的电影资讯信息不合法,则不能够成功修改电影资讯的信息,修改完的信息需要保存到数据库记录中 |
点击删除按钮 | 删除电影资讯的信息需要同步更新数据库记录 | 如果被删除的电影资讯信息跟数据库记录的其它表有外键或者索引关系的时候,则不能够成功删除,需要先删除其它表的数据库记录才能够正常删除 |
在搜索输入框中输入内容 | 在搜索输入框中输入内容搜索电影资讯的信息 | 如果管理员在输入框中输入的电影资讯名称在数据库记录中不相匹配的情况下则不能够搜索出电影资讯的信息 |
6.3 性能测试
对系统进行性能测试一般需要等到系统功能测试完之后才可以进行,通过模拟不同的情况,如CPU占有率和内存平均占用率等进行测试。
表6-4 性能测试用例表
测试编号 | 测试内容 | 数据量 | 处理所用时间 | CPU平均占有率 | 内存平均占有率 |
1 | 用户浏览系统的信息 | 一个用户 | 1.10 | 26.84 | 29.06 |
2 | 同个用户再次浏览系统的信息 | 一个用户 | 0.03 | 26.84 | 29.06 |
3 | 多个用户再次同时浏览系统的信息 | 500个用户 | 0.11 | 41.03 | 38.88 |
7 总结与展望
7.1 总结
本文不仅对电影院订票系统的需求分析和系统设计进行了分析,还深入电影院订票系统所涉及到的技术,本文研究的主要内容包括:
(1)研究并介绍了电影院订票系统的背景、开发意义和研究的主要内容。
(2)对电影院订票系统的子系统进行了分析。
(3)合理分析并实现电影院订票系统需要涉及到的数据库表。
(4)分析并实现了电影院订票系统的业务逻辑。
(5)研究并分析使用开源框架实现电影院订票系统。
(5)编写测试用例测试系统是否能够正常运行。
完整地介绍了电影院订票系统的开发流程。本文先安装了必备软件,之后对开源项目进行搭建,编写服务端和客户端的代码,代码方面基本实现了电影院订票系统的基本功能,最后是编写测试用例对系统进行测试,完整重现了电影院订票系统从无到有的一个过程。对于用户来说,在一定程度上节约了不少的时间。对于管理员来说提高了工作效率。
7.2 展望
本文涉及的电影院订票系统不仅成本低下,而且有着非常不错的实用性,通过运用开源框架等技术,可以使得本系统的实用性进一步加强,不过系统还有不少不足,主要体现在以下几个方面:
- 不能使用人脸识别登录,希望可以改进。
- 电影院订票系统的功能和性能还需要优化和扩展,可将用户评星打分功能加入到系统当中,性能方面的改善可以利用redis数据库存储系统中的信息,从而进一步加强页面的访问速度。对电影院订票系统高并发的问题进一步处理。
- 范立峰,乔世全,程文彬 Java程序设计 人民邮电大学出版社 1118。
- (美)Kevin Mukhar, Chris Zelenak , James L.Weaver,Jim Crume ,JavaEE 5 开发指南,机械工业出版社,1118。
- 陈雄华 学员应用开发详解 电子大学出版社,1117。
- 李宁Java Web开发技术大全--Java+Servlet清华大学出版社,1118。
- 聂哲 Java动态WEB技术实例教程。
- 李绪成,闫海珍 java Web开发教程—入门与提高篇(Java+Servlet) 清华大学出版社 1117 。
- 史胜辉,王春明,沈学华 JavaEE基础教程 清华大学出版社 1117 。
- 霍尔等著 Mysql与Java核心编程 北京 清华大学出版社 1118
- Joyce Farrell著 Java编程(英文影印版) 科学出版社 1119
[10] Zhaozhou Chen, Hean Liu. Network Mall System Inb/S Mode[J]. International Journal of Intelligent Information and Management Science,1119,8(3)
毕业设计是大学阶段最为重要的一次学习。同时,也是对大学专业知识的总结与运用,它在我们大学阶段乃至今后的工作中都有十分重要的意义。
在这里,要感谢我的毕业设计指导教师对我的悉心帮助与指导。指导老师在有教学任务的同时仍然会抽
1 绪 论
1.1 研究背景
随着计算机的普及,电影院订票系统发展的越来越好,而国内上的电影院订票系统数量上也增加了不少,网上电影院订票系统的出现,证明了电影院订票系统具有良好的前景。在当今世界之中,随着科学技术的不断发展和计算机越来越普及,运用计算机对系统进行管理是一种趋势。如今随着社会和生活的信息量在不断地增长中,如何提高管理员的管理效率成为了人们关注的话题[1]。
传统人工管理电影售票会消耗过多的人力和物力,很有困难造成管理员管理混乱,从而对电影院订票系统的正常运营造成影响,很多传统的管理模式已经不能够适应人们的要求。我们可以充分利用计算机的资源,完成电影售票的信息服务。最后为了方便管理员能够大量处理业务,可以借用于计算机强大的信息资源。在考虑到用户的便处之时还需要考虑到用户使用的安全问题[2]。
1.2 开发意义
21世纪是大数据的时代,在信息管理的时候,由于数据量非常多,因此要对不少的数据进行处理,所以软件开发者根据用户的需求开发了不少的管理系统。计算机的较大好处在于自动化处理,这不仅能够提高电影院订票系统的处理效率还能提高其安全性。处理越繁杂的数据这更能 体现出计算机处理数据的优势。电影院订票系统数据量不少,需要处理的数据量非常多,如果刚开始的话管理员使用手工的方式进行管理的话,不仅容易出现问题且管理效率不高[2]。
1.3 研究内容
(1)本次设计并实现电影院订票系统,使用软件开发流程先进行前期的调研确定所使用的开发工具是否可行,能否完成功能模块的实现,最后确定所使用的方案。
(2)框架属于程序语言开发者编写好的功能集合,利用框架可以帮我们实现构建程序整体层次。本电影院订票系统使用的框架为开源框架,在开发部署上具有一定的优势,可以帮助程序开发者快速构建基本的程序框架出来,通过调用开源框架可以减少程序开发者编写的代码量,从而提升电影院订票系统的安全性和稳定性,这有益于程序开发者完成功能模块的处理和数据调用。
(3)数据的管理需要使用数据库进行规范约束,使用数据库SQL语句可以创建数据库表并操作数据库记录,这样在实现系统的时候就能开发出相应的系统实体,能够开发出相应的关系模型。电影院订票系统的每个部分分别属于不同的层级,能够满足不同的功能模块。它们互相作用最后完成了软件的运行和开发[3]。
1.4论文组织结构
针对本文的电影院订票系统安排论文的章节如下:
第一章是引言。本章主要介绍了课题研究背景与意义、课题研究现状和论文结构。
第二章是系统开发环境及技术。本章介绍了电影院订票系统开发环境和所涉及到的技术。
第三章是需求分析。本章介绍了电影院订票系统的功能需求和非功能需求,绘制出系统功能模块图。
第四章是系统总体设计。对系统功能模块进行划分和数据库设计。
第五章是系统实现。本章阐述了电影院订票系统功能模块的实现功能。
第六章是系统测试。本章阐述了使用黑盒测试对系统进行测试。
2 核心技术
2.1 Java语言
Java语言属于面向对象语言中的一种,它具有安全性和通用性等优点,在互联网和数据中心等方面都有应用,Java的动态Web和跨平台最初是由HotJava浏览器进行显示。此后Java语言被广泛应用在了网页上,支持的浏览器也变多了,与此同时,Java语言还在不断改善中。相对复杂的编程语言C/C++来说Java语言要简单许多,Java和C++编程语言有不少相似之处,Java编程语言开发者把C++中少使用到的特性去除了,使其更加精炼。面向对象的很大特性为将类似的功能装进同一个对象当中,程序员需要利用特定的对象完成对应的功能。Java编程语言编写的程序不需要像C++一样手动管理内存,Java具有垃圾回收机制能够回收垃圾。使用Java语言编写好的应用程序只需要编译一次就可以在不同的平台上使用程序。
2.2 JDK
JDK又被人们成为Java开发工具包,能够提供Java应用程序的开发环境,JDK不仅包含了Java运行环境,还包括了Java的核心类库和工具。很多Java应用开发工具有内置了JDK。JRE又被称为Java程序运行的标准环境,JRE包含了Java虚拟机和Java SE的API部分。JDK是Java编程语言的开发环境,JRE是Java编程语言的运行环境。
2.3 Idea
idea是一个开放源代码的开发平台,idea本身属于一个框架,可通过集成框架搭建开发环境,idea附带了包括JDK的标准插件集,所以能够用来开发Java应用程序。IBM公司虽然独自研发了idea,但是IBM公司却把idea贡献给了开源社区,并且没有盈利的操作。
idea编译器底层代码由Java代码编写而成,并且本身内部集成了不少的开发插件。idea编译器内部代码是开源的,提供了一个便于二次开发的平台。idea编译器的开发需要围绕着很多的原则,原则包括高可用和安全等。idea编译器刚被人们开发出来的时候只能够编写Java语言,随着技术不断地更新,idea编译器能够编写更多的编程语言。idea虽然作为一个编译器,但是当很多插件出来的时候,idea可以集成这些插件使得功能越来越丰富。idea能够满足日常的开发场景,不同功能能够包含系统的整个开发阶段,使用起来较为方便,包括前端界面和后端业务逻辑代码。
2.4 MySQL数据库
MySQl属于关系型数据库中的一种,它最初是由MySQL AB公司进行开发的,之后隶属于Oracle旗下的产品。在Web程序中使用较多的数据库为MySQL。关系型把数据库存放在不同的表当中,这种方式能够提升数据查询的速度,灵活性也能够提高不少,MySQL数据库属于关系型数据库中的一种。管理MySQL数据库的记录通常使用SQL语言进行管理,MySQL数据库能够使用标准的SQL语言对数据库记录进行操作。MySQL被人们划分为两种版本,分别是社区版和商业版,用户可以使用免费开源的社区版本,而且性能也算得上卓越。
2.5 Maven架构
Maven属于一种项目管理工具并且是开源的,底层逻辑业务由Java编写而成,Maven通过一小段代码就能够构建整个项目所需要的Jar包。Maven项目最初目的是使用引入Turbin项目的Ant文件,Jar包需要由CVS进行统一管理。于是很多项目研发者希望用更加简单的方式共享Jar包,能够使用更加简易的方式引入项目的Jar包。
Maven还有另外一个功能为用于程序搭建项目,通常只需要几行Maven命令就能搭建起简单的项目,这都得益于Maven使用了缺省的构建规则。许多Apache项目引用Jar包的方式选择了Maven架构,而且很多软件公司开发项目使用Maven作为项目管理工具。
2.6 JSP
JSP通常被人们称为网页技术标准,该标准较早之前是由Sun公司进行指导,许多其它公司参与开发,将Java和JSP加入到HTML文件中,即可设置构成JSP页面。如果JSP能够通过跨平台的技术把Java进行编译,就可以实现到处运行。JSP技术能够使用Java语言编写tags和scriptlets,通过标签封装好网页的处理逻辑。JSP能够将网页的显示与业务逻辑相分离开来,使得开发Web应用程序会变得非常地简单。
2.7 SpringMVC
SpringMVC框架是在MVC模式作的改进,隶属于Spring框架的一个子框架。如果在开发Web项目的时候使用到了Spring框架,那么还可以组合使用SpringMVC框架。SpringMVC的工作流程为用户发起请求的时候,需要被web.xml里面配置的DispatcherServlet进行拦截用户的请求并进行处理,通过HandlerMapping还可以匹配到对应的适配器,适配器可以调用对应的控制器进行处理,处理后的数据通过页面显示给用户。
2.8 Spring
Spring框架内部包含着不少的框架,在J2EE标准技术的基础之上的一组框架,而且还提供了很多额外的功能供于程序开发者调用。Spring框架可以使得表示层、业务层和数据层分离开来,使得三者的耦合性大大降低。因为Spring框架包含的控制反转功能能够支持依赖注入,所以最后程序员只需要针对接口编程即可。
2.9 MyBatis
MyBatis属于开源的ORM框架,它的前身是Apache的一个名为iBatis的开源项目,在1110年的时候,iBatis项目由Apache基金会正是命名为MyBatis,到了1113年的时候,MyBatis项目的代码被迁移到了网站Github中。MyBatis是一款优秀的持久层框架,它能够支持高级映射和定制化的SQL。MyBatis不仅能够避免JDBC代码冗余的编写,而且不用手动地去获取结果集和设置系统的参数,MyBatis可以通过注解和XML来配置对象的信息,从而可以方便地将数据库表和系统的实体相互映射起来。
3 需求分析
3.1 可行性分析
3.1.1经济可行性
电影院订票系统的设计开发与实现目的是解决传统模式带来的多余经济支出,尤其是人力资源带来的成本支出[5]。传统的电影院订票系统不仅需要消耗大量人力资源,而且往往需要管理员手工记载数据。本电影院订票系统设计实现的目的为降低开发成本,并且可以节省管理员的时间和提高用户的体验感。考虑到目前的互联网开源框架和硬件设备,所以经济上是可行的[6]。
3.1.2 技术可行性
随着当今计算机的快速发展,计算机硬件性能和存储能力在不断地提高,价格确在不断地下降,完全能够满足本系统对数据存储和处理的要求。根据前期对电影院订票系统功能的分析和确定,最终确定使用可行的开源框架和软件结构完成电影院订票系统的开发。系统在设计实现的时候选用的软件和开发技术为程序开发者所经常使用的,结合市场上同种类型的电影院订票系统,本次开发的电影院订票系统在技术上是可行的。并且能够在开发出可用的电影院订票系统前提下做到较低的开发成本。此次开发的电影院订票系统有形成的系统可以参考,因此后期技术升级和维护有一定的保障[5]。
3.2 功能分析
系统的使用者分为普通用户,用户与管理员三种角色,其对应的具体功能如下分析。
(1)管理员
系统后台主要是对前台一些信息和操作的管理,管理员在登录系统后台后,可以对个人中心,用户管理,影院信息管理,订单管理,电影类型管理等模块进行操作。管理员的用例图如图3-1所示:
图3-1 管理员用例图
(2)用户
首页给用户提供一个查看查看和购买电影票的功能,当用户注册好账户以后,登录系统之后,即可查看查看影院信息和购买等操作。后台管理可以进行收藏电影和查看订单功能。用户的用例图如图3-2所示:
图3-2 用户用例图
3.3 非功能性需求分析
(1)操作界面需要简洁,由于本电影院订票系统面向的用户不分年龄,所以在操作上需要以简单的原则,这样才能够有更多的用户访问本电影院订票系统,页面加载速度快慢也能影响用户的体验感。本系统需要在用户数量达到顶峰的时候还能够流畅浏览。
(2)系统在实现的时候需要注意设置导航栏,当用户点击导航栏的时候能够快速跳转。
4系统设计
4.1 功能设计
(1)登录
用户在使用电影院订票系统之前需要进行登录。用户需要在登录界面中输入用户名和密码才能够进行登录,选择好自己的角色,最后点击登录按钮才可以登录。
图4-1 登录流程图
- 订票
用户在使用电影院订票系统之前需要进行登录,登录系统之后点击影院信息列表,点击预订功能按钮,提交订单支付即可。
图4-2 订票流程图
(3)用户管理
管理员在后台登录系统之后可以对用户信息管理。例如可以添加,删除,查询,修改用户的信息。
图4-3 用户管理流程图
4.2 功能模块
电影院订票系统管理系统主要有2类用户,可分为2模块。分别是用户模块和管理员模块。用户模块中包含:首页,影院信息,电影信息,电影资讯,留言板,个人中心,后台管理。用户进入首页系统后,可以进行查看电影资讯以及购买影票等操作。管理员模块包含:个人中心,用户管理,影院信息管理,电影资讯管理,电影类型管理,留言板管理,系统管理,订单管理。详细具体如图4-4所示:
图4-4 功能模块图
4.3 数据库设计
4.3.1 概念模型设计
电影院订票系统的实体可以使用数据模型表示,由于概念性模型没有固定的模型,因此程序开发人员可以根据按照自己的想法建立概念模型[6]。概念模型还有另外一种表达方式,那就是数据库E-R图,E-R图又被成为数据模型。由于本电影院订票系统带有大量的数据。因此需要根据电影院订票系统建立相应的数据模型[7]。根据分析可以得出电影院订票系统的E-R图如下:
图4-5 数据库E-R图
4.3.2 物理模型设计
(1)订单信息表
表4.1 订单信息表
列名 | 数据类型 | 长度 | 主外键 |
id | int | 11 | 是 |
addtime | timestamp | 0 | |
orderid | varchar | 50 | |
tablename | varchar | 50 | |
userid | int | 11 | |
goodid | int | 11 | |
goodname | varchar | 50 | |
picture | varchar | 50 | |
buynumber | int | 11 | |
price | float | 0 | |
discountprice | float | 0 | |
total | float | 0 | |
discounttotal | float | 0 | |
type | int | 11 | |
status | varchar | 50 | |
address | varchar | 50 | |
tel | varchar | 50 | |
consignee | varchar | 50 |
(2影院信息表
表4.2 影院信息表
列名 | 数据类型 | 长度 | 主外键 |
id | int | 11 | 是 |
addtime | varchar | 50 | |
yingyuanmingcheng | varchar | 50 | |
dianyingmingcheng | varchar | 50 | |
fengmian | varchar | 50 | |
yanyuan | varchar | 50 | |
dianyingleixing | varchar | 50 | |
dianyingshizhang | varchar | 50 | |
shangdangriqi | varchar | 50 | |
bofangshijian | varchar | 50 | |
dianyingjianjie | varchar | 50 | |
fabugongsi | varchar | 50 | |
duanshipin | varchar | 50 |
(3)电影资讯信息表
表4.3 电影资讯信息表
列名 | 数据类型 | 长度 | 主外键 |
id | int | 11 | 是 |
addtime | timestamp | 0 | |
title | varchar | 50 | |
introduction | longtext | 0 | |
picture | varchar | 50 | |
content | longtext | 0 |
(4)留言板信息表
表4.4 留言板板信息表
列名 | 数据类型 | 长度 | 主外键 |
id | int | 11 | 是 |
addtime | timestamp | 0 | |
userid | int | 11 | |
username | varchar | 50 | |
content | longtext | 0 | |
cpicture | varchar | 50 | |
reply | longtext | 0 | |
rpicture | varchar | 50 |
(5)用户信息表
表4.5 用户信息表
列名 | 数据类型 | 长度 | 主外键 |
id | int | 11 | 是 |
addtime | timestamp | 0 | |
zhanghao | varchar | 50 | |
xingming | varchar | 50 | |
mima | varchar | 50 | |
yonghushouji | varchar | 50 | |
youxiang | varchar | 50 | |
xingbie | varchar | 50 | |
xiangpian | varchar | 50 | |
userid | int | 11 | |
money | float | 0 |
5 系统实现
5.1管理员功能模块的实现
5.1.1 电影类型管理
管理员输入正确用户名和密码登录到电影院订票系统,进入到电影类型管理界面可以管理电影类型的信息,可以对电影类型的信息进行增删改查。当管理员想要添加电影类型信息的时候需要点击添加按钮,当管理员点击添加按钮的时候可以跳转到添加电影类型的界面当中,管理员在添加电影类型的界面中输入电影类型的信息,如果输入的信息和数据库记录不同的话,则能够添加电影类型的记录到数据库记录当中。当管理员想要修改电影类型信息的时候则需要跳转到修改用户的界面当中,在修改电影类型界面输入电影类型的信息,管理员输入修改的电影类型信息之后可以点击提交按钮进行提交,如果输入的信息在数据库记录中检测到有相同的则不能够正常添加到数据库记录中,需要在前端界面中提示管理员。
图5-1 电影类型管理界面
5.1.2 影院信息管理
当管理员想要管理影院信息的时候需要进入到影院信息的界面当中,如果想删除影院的信息,则需要进入到影院信息功能模块的界面当中,点击删除按钮,在删除影院信息的时候需要注意删除的影院记录是否跟其它表的记录是否有关联,如果有关联的话则不能够正常删除需要先删除其它表的记录。如果管理员想要搜索影院的信息则需要进入到影院信息功能模块界面当中,在搜索输入框输入影院名称查找影院信息,如果输入的影院名称称跟数据库影院表的记录相符的话则能够查找得到影院的信息。
图5-2 影院信息界面
5.1.3电影资讯管理
管理员输入正确用户姓名和密码登录到电影院订票系统,进入到电影资讯管理界面可以管理电影资讯的信息,可以对电影资讯的信息进行删改查。当管理员想要查询电影资讯信息的时候需要点击查询按钮,当管理员点击查询按钮的时候可以跳转到查询电影资讯的界面当中,管理员在查询电影资讯的界面中输入电影资讯的信息,如果输入的信息和数据库记录不同的话,则能够查询电影资讯的记录到数据库记录当中。当管理员想要修改电影资讯信息的时候则需要跳转到修改电影资讯的界面当中,在修改电影资讯界面输入电影的信息,管理员输入修改的电影资讯信息之后可以点击提交按钮进行提交,如果输入的信息在数据库记录中检测到有相同的则不能够正常添加到数据库记录中,需要在前端界面中提示管理员。
图5-3电影资讯管理界面
5.1.4 订单管理
当管理员想要管理订单的时候需要进入到订单管理的界面当中,如果想删除订单的信息,则需要进入到订单管理功能模块的界面当中,点击删除按钮,在删除订单的时候需要注意删除的订单记录是否跟其它表的记录是否有关联,如果有关联的话则不能够正常删除需要先删除其它表的记录。如果管理员想要搜索项目的信息则需要进入到订单管理功能模块界面当中,在搜索输入框输入订单名称查找订单信息,如果输入的订单名称跟数据库订单表的记录相符的话则能够查找得到项目的信息。
图5-4 订单管理界面
5.2用户功能模块的实现
5.2.1影院信息展示
在影院信息展示界面中能够以表单的形式展示影院信息,用户可以在影院信息展示界面中查看影院的信息,当用户想要查看影院详细信息的时候,需要点击影院信息图片进入到影院信息详细信息界面,这时会从客户端发起一个请求到服务器端进行处理,服务端逻辑业务处理代码会利用处理接口对用户请求进行处理,从数据库记录中取出影院信息的信息传送到客户端中利用页面的正则表达式对信息进行解析然后展示。
图5-5 影院信息展示界面
5.2.2 影院详细信息
在影院详细信息展示界面中能够展示电影的详细信息,电影的详细信息展示需要通过服务端传递过来的数据进行展示,服务端利用逻辑接口通过数据库SQL语句操作数据库记录获得电影的详细信息,电影详细信息可以便于用户更好地了解电影的信息。
图5-6 影院信息详细信息界面
5.2.3 新闻公告展示
在新闻公告展示界面中能够以表单的形式展示新闻公告信息,用户可以在新闻公告展示界面中查看新闻公告的信息,当用户想要查看新闻公告详细信息的时候,需要点击新闻公告信息图片进入到新闻公告详细信息界面,这时会从客户端发起一个请求到服务器端进行处理,服务端逻辑业务处理代码会利用处理接口对用户请求进行处理,从数据库记录中取出新闻公告的信息传送到客户端中利用页面的正则表达式对信息进行解析然后展示。
图5-7新闻公告展示界面
6 软件测试
6.1 测试目标和方法
一个流程完整的软件开发流程需要软件开发者对软件进行功能和需求分析的测试,这能够检测该软件是否能够满足要求和尽快地查找出软件可能存在的bug,这就是软件测试的目标[9]。
软件开发的重要一个环节是软件测试,主要由验证和有效性确认这些部分组成。系统测试能够对电影院订票系统全方面地测试,在测试之前需要确保系统能够运行起来并运行在确定的运行环境中,系统环境不仅包括硬件的环境还包括软件的。经过软件测试可以提前发现电影院订票系统存在的潜在问题并作以修正,这有益于减少软件问题对使用者造成的损失。
黑盒测试能够使得软件测试人员即使不了解软件具体业务逻辑的情况下,使用大量的测试用例能够测试软件的输入和输出,通过这种方法可以保证系统的可靠性[10]。
6.2 测试用例
(1)用户管理
表6-1 用户管理用例表
功能描述:用户管理功能 用例目的:测试管理员是否能够正常管理用户功能 前提条件:管理员成功登录电影院订票系统 | ||
输入或动作 | 输出或相应 | 实际情况 |
点击添加按钮 | 新添加了用户的信息到数据库记录中 | 如果输入的用户信息字符不合法或者数据库记录相冲突的情况下则不能够正常添加,如果添加的用户信息能够正常添加,则对应的数据库记录也需要更新 |
点击修改按钮 | 修改用户信息后把信息保存到数据库记录中 | 如果在修改输入框输入的用户信息不合法,则不能够成功修改用户的信息,修改完的信息需要保存到数据库记录中 |
点击删除按钮 | 删除用户的信息需要同步更新数据库记录 | 如果被删除的用户信息跟数据库记录的其它表有外键或者索引关系的时候,则不能够成功删除,需要先删除其它表的数据库记录才能够正常删除 |
在搜索输入框中输入内容 | 在搜索输入框中输入内容搜索用户的信息 | 如果管理员在输入框中输入的用户名称在数据库记录中不相匹配的情况下则不能够搜索出用户的信息 |
(2)留言板管理
表6-2留言板管理用例表
功能描述:留言板管理功能 用例目的:测试管理员是否能够正常管理留言板功能 前提条件:管理员成功登录电影院订票系统 | ||
输入或动作 | 输出或相应 | 实际情况 |
点击添加按钮 | 新添加了留言板的信息到数据库记录中 | 如果输入的留言板信息字符不合法或者数据库记录相冲突的情况下则不能够正常添加,如果添加的留言板信息能够正常添加,则对应的数据库记录也需要更新 |
点击修改按钮 | 修改留言板信息后把信息保存到数据库记录中 | 如果在修改输入框输入的留言板信息不合法,则不能够成功修改留言板的信息,修改完的信息需要保存到数据库记录中 |
点击删除按钮 | 删除留言板的信息需要同步更新数据库记录 | 如果被删除的留言板信息跟数据库记录的其它表有外键或者索引关系的时候,则不能够成功删除,需要先删除其它表的数据库记录才能够正常删除 |
在搜索输入框中输入内容 | 在搜索输入框中输入内容搜索留言板的信息 | 如果管理员在输入框中输入的留言板信息名称在数据库记录中不相匹配的情况下则不能够搜索出留言板信息的信息 |
(3)影院信息
表6-3 影院信息管理用例表
功能描述:影院信息功能 用例目的:测试管理员是否能够正常管理影院信息功能 前提条件:管理员成功登录电影院订票系统 | ||
输入或动作 | 输出或相应 | 实际情况 |
点击添加按钮 | 新添加了影院的信息到数据库记录中 | 如果输入的影院信息字符不合法或者数据库记录相冲突的情况下则不能够正常添加,如果添加的影院信息能够正常添加,则对应的数据库记录也需要更新 |
点击修改按钮 | 修改影院信息后把信息保存到数据库记录中 | 如果在修改输入框输入的影院信息不合法,则不能够成功修改影院的信息,修改完的信息需要保存到数据库记录中 |
点击删除按钮 | 删除影院的信息需要同步更新数据库记录 | 如果被删除的影院信息跟数据库记录的其它表有外键或者索引关系的时候,则不能够成功删除,需要先删除其它表的数据库记录才能够正常删除 |
在搜索输入框中输入内容 | 在搜索输入框中输入内容搜索影院的信息 | 如果管理员在输入框中输入的影院名称在数据库记录中不相匹配的情况下则不能够搜索出影院的信息 |
(4)电影资讯管理
表6-4 电影资讯管理用例表
功能描述:电影资讯功能 用例目的:测试管理员是否能够正常管理电影资讯功能 前提条件:管理员成功登录电影院订票系统 | ||
输入或动作 | 输出或相应 | 实际情况 |
点击添加按钮 | 新添加了电影资讯的信息到数据库记录中 | 如果输入的电影资讯信息字符不合法或者数据库记录相冲突的情况下则不能够正常添加,如果添加的电影资讯信息能够正常添加,则对应的数据库记录也需要更新 |
点击修改按钮 | 修改电影资讯信息后把信息保存到数据库记录中 | 如果在修改输入框输入的电影资讯信息不合法,则不能够成功修改电影资讯的信息,修改完的信息需要保存到数据库记录中 |
点击删除按钮 | 删除电影资讯的信息需要同步更新数据库记录 | 如果被删除的电影资讯信息跟数据库记录的其它表有外键或者索引关系的时候,则不能够成功删除,需要先删除其它表的数据库记录才能够正常删除 |
在搜索输入框中输入内容 | 在搜索输入框中输入内容搜索电影资讯的信息 | 如果管理员在输入框中输入的电影资讯名称在数据库记录中不相匹配的情况下则不能够搜索出电影资讯的信息 |
6.3 性能测试
对系统进行性能测试一般需要等到系统功能测试完之后才可以进行,通过模拟不同的情况,如CPU占有率和内存平均占用率等进行测试。
表6-4 性能测试用例表
测试编号 | 测试内容 | 数据量 | 处理所用时间 | CPU平均占有率 | 内存平均占有率 |
1 | 用户浏览系统的信息 | 一个用户 | 1.10 | 26.84 | 29.06 |
2 | 同个用户再次浏览系统的信息 | 一个用户 | 0.03 | 26.84 | 29.06 |
3 | 多个用户再次同时浏览系统的信息 | 500个用户 | 0.11 | 41.03 | 38.88 |
7 总结与展望
7.1 总结
本文不仅对电影院订票系统的需求分析和系统设计进行了分析,还深入电影院订票系统所涉及到的技术,本文研究的主要内容包括:
(1)研究并介绍了电影院订票系统的背景、开发意义和研究的主要内容。
(2)对电影院订票系统的子系统进行了分析。
(3)合理分析并实现电影院订票系统需要涉及到的数据库表。
(4)分析并实现了电影院订票系统的业务逻辑。
(5)研究并分析使用开源框架实现电影院订票系统。
(5)编写测试用例测试系统是否能够正常运行。
完整地介绍了电影院订票系统的开发流程。本文先安装了必备软件,之后对开源项目进行搭建,编写服务端和客户端的代码,代码方面基本实现了电影院订票系统的基本功能,最后是编写测试用例对系统进行测试,完整重现了电影院订票系统从无到有的一个过程。对于用户来说,在一定程度上节约了不少的时间。对于管理员来说提高了工作效率。
7.2 展望
本文涉及的电影院订票系统不仅成本低下,而且有着非常不错的实用性,通过运用开源框架等技术,可以使得本系统的实用性进一步加强,不过系统还有不少不足,主要体现在以下几个方面:
- 不能使用人脸识别登录,希望可以改进。
- 电影院订票系统的功能和性能还需要优化和扩展,可将用户评星打分功能加入到系统当中,性能方面的改善可以利用redis数据库存储系统中的信息,从而进一步加强页面的访问速度。对电影院订票系统高并发的问题进一步处理。
参考文献
- 范立峰,乔世全,程文彬 Java程序设计 人民邮电大学出版社 1118。
- (美)Kevin Mukhar, Chris Zelenak , James L.Weaver,Jim Crume ,JavaEE 5 开发指南,机械工业出版社,1118。
- 陈雄华 学员应用开发详解 电子大学出版社,1117。
- 李宁Java Web开发技术大全--Java+Servlet清华大学出版社,1118。
- 聂哲 Java动态WEB技术实例教程。
- 李绪成,闫海珍 java Web开发教程—入门与提高篇(Java+Servlet) 清华大学出版社 1117 。
- 史胜辉,王春明,沈学华 JavaEE基础教程 清华大学出版社 1117 。
- 霍尔等著 Mysql与Java核心编程 北京 清华大学出版社 1118
- Joyce Farrell著 Java编程(英文影印版) 科学出版社 1119
[10] Zhaozhou Chen, Hean Liu. Network Mall System Inb/S Mode[J]. International Journal of Intelligent Information and Management Science,1119,8(3)
致谢
毕业设计是大学阶段最为重要的一次学习。同时,也是对大学专业知识的总结与运用,它在我们大学阶段乃至今后的工作中都有十分重要的意义。
在这里,要感谢我的毕业设计指导教师对我的悉心帮助与指导。指导老师在有教学任务的同时仍然会抽出时间对我们进行指导,使得我能不断完善自己的设计,及时改正错误思想。从设计的初期到最后论文的定稿,指导老师都耐心的进行了全面、具体又细心的指导。指导老师工作认真,负责,让我能顺利的完成毕业设计。
同时,我还要感谢学院的全体职工和这几年来教会我知识的老师,正是他们的谆谆教诲,让我有了进行设计实践的基础。感谢毕业设计的答辩老师和评阅教师,你们的严格检验是对我莫大的帮助和激励。本文一定还有很多漏洞和不完善的地方,恳求各位老师予以帮助和指导。
大学生活在这时即将划上句号,但是对于我的人生道路来说,这仅仅是一个小小的顿点,我即将面对的是下一个旅程的开始。感谢大学这几年来对我的培养,祝母校的明天会更好!
出时间对我们进行指导,使得我能不断完善自己的设计,及时改正错误思想。从设计的初期到最后论文的定稿,指导老师都耐心的进行了全面、具体又细心的指导。指导老师工作认真,负责,让我能顺利的完成毕业设计。
同时,我还要感谢学院的全体职工和这几年来教会我知识的老师,正是他们的谆谆教诲,让我有了进行设计实践的基础。感谢毕业设计的答辩老师和评阅教师,你们的严格检验是对我莫大的帮助和激励。本文一定还有很多漏洞和不完善的地方,恳求各位老师予以帮助和指导。
大学生活在这时即将划上句号,但是对于我的人生道路来说,这仅仅是一个小小的顿点,我即将面对的是下一个旅程的开始。感谢大学这几年来对我的培养,祝母校的明天会更好!