影院订票管理系统实验报告
精心整理软件工程实验报告一.系统概述;121234523五.改进意见;六.自我评价;七.参考资料、书籍;一.系统概述;1.项目需求;现在中国大部分的家庭都喜欢在家里置办属于自己风格的家庭影院。
但是,仍然有很多人喜欢到电影院去看电影。
因为家里的气氛毕竟不如影院好。
所以,现代家庭影院的出现并不会让电影院没有生路。
每个社会服务系统都有自己的一套管理机制。
当然,电影院也不除外。
其实电影院的管理系统应该来说比其他的社会服务系统的管理要简单一点。
电影院不2(1(2(3(4有不同的权限。
主要有三种用户:1.售票管理人员:主要负责卖票,订票及退票事宜;2.检票管理人员:主要负责观众进场时检票工作,以及辨认电影票的真假(此工作自然可以由服务系统来完成);3.数据处理人员:主要负责播放电影导入数据库,工作人员的应聘以及开除的数据管理,还有过期电影票的数据处理;以下分别介绍此系统中各个系统(3个子模块。
):(1)售票系统模块给观众提供售票服务。
不同的位置有不同的价格。
要选购哪个位置由观众决定。
工作人员根据观众的需要进行操作。
系统在购票成功后会产生一个验证码,此验证码连工作人员都不知道。
是随机生成的。
用于对电影票真假的辩识。
(2(3以下分别介绍系统中数据系统3个子模块。
(1)影片播放管理模块影片播放管理是对电影院播放的电影的充实,设定电影的播放,以及电影时间的设定。
当所设定的电影已经播放完成后,要对其进行删除。
还要对数据库进行清理,把一些没用的数据全部清除。
(2)工作人员管理:电影院里当然有工作人员的增加与开除,以及他们的管理权限的变化。
这一部分事件的发生都需要数据库管理人员将有关数据进行处理。
保证数据库里数据的统一与完整。
(3库20001根据系统的功能分析结果,影院售票管理系统将会使用Microsoft SQL Sever 2000 作为后台的数据库管理系统。
本管理系统是应用于电影院中,而且需要和数据库之间进行频繁数据交换,所以采用Microsoft SQL Sever 2000 作为后台的数据库管理系统。
在本管理系统中,需要掌握影库充实信息,职工管理信息,票务管理信息,此外,由于要进行职工管理,还需要掌握使用本系统的职工。
表1存储硬库信息列表,表2存储了电影院座位的相关数据连接关系,表3存储了电影票销售情况管理,表4存储了系统使用者职工的相关情况的管理列表。
表1 影库管理表---MOVIES同时在这些表之间又存在着一些关联关系。
这四个表之间的这两种关系表现在下图所示的关系:2.创建登陆窗体模块;(1)窗体模块的功能登陆窗体(2)窗体界面的设计在工程中添加一个窗体,命名为“登陆系统”,用来作为系统登陆窗体。
界面的设计如图3所示。
(3)窗体代码ImportsPublicAxShockwaveFlash1.Movie = "E:\实验运行场\程序设计\电影院票务系统\image\登陆界面1.swf"AxShockwaveFlash1.Playing = FalseAxShockwaveFlash1.Stop()Dim tox1 As Int32Dim tox2 As Int32Dim mydataadapter As New SqlDataAdapterDim myds As New DataSetDim i As IntegerDim j As Integertox1 = Val(TextBox1.Text)tox2 = Val(TextBox2.Text)mycon.ConnectionString = "initial catalog=ticketbooking;user id=sa;password=;"mycom.Connection = mycon '通过 MYCON 连接对象操作数据库mandType = CommandType.Text '设置命令类型mandText = "select * from workers" '设置要执行的命令Trymycon.Open()mydataadapter.SelectCommand = mycomCatch ex As ExceptionMessageBox.Show("连接失败")FinallymandType = CommandType.Text '设置命令类型mandText = "select leibie from workers where workerid=" + CStr(tox1) + "and password=" + CStr(tox2) + "" '设置要执行的命令Dim mydataadapter1 As New SqlDataAdaptermydataadapter1.SelectCommand = mycom1Dim myds1 As New DataSetmydataadapter1.Fill(myds1, "workers")If RadioButton1.Checked = True And Val(myds1.Tables("workers").Rows(0)("leibie")) = 1 Thenfrm2.Show()Me.Hide()ElseIf RadioButton2.Checked = True And Val(myds1.Tables("workers").Rows(0)("leibie")) = 2 Then frm3.Show()Me.Hide()ElseIf RadioButton3.Checked = True And Val(myds1.Tables("workers").Rows(0)("leibie")) = 3 Then frm8.Show()Me.Hide()ElseMessageBox.Show("您超出职责范围或未选择服务系统,请重新输入!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1)End IfCatch ex As ExceptionEnd3.(1(2界面的设计如下图所示。
(3)代码编写ImportsPublic Class Form2InheritsDim navigator As BindingManagerBase '用来对记录导航Dim mycon As New SqlConnection '连接对象精心整理Dim mycom As New SqlCommand '命令对象Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Me.Show()AxShockwaveFlash1.Movie = "E:\实验运行场\程序设计\电影院票务系统\image\销售界面.swf"AxShockwaveFlash1.Play()AxShockwaveFlash2.Movie = "E:\实验运行场\程序设计\电影院票务系统\image\检票界面下.swf"AxShockwaveFlash2.Play()Dim mydataadapter As New SqlDataAdapterDim myds As New DataSetDim i As IntegerDim j As IntegerPrivate Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As IntegerDim tickethao As IntegerDim moviehao As IntegerDim suiji As IntegerDim mydataadapter3 As New SqlDataAdapterDim myds3 As New DataSetDim dt3 As New DataTableDim mycom3 As New SqlCommandDim mycon3 As New SqlConnectionRandomize()suiji = Int(9000 * Rnd() + 1000)Trytickethao = tickets_id()moviehao = movieid()mycon3.ConnectionString = "initial catalog=ticketbooking;user id=sa;password=;"mycom3.Connection = mycon3 '通过 MYCON 连接对象操作数据库mandType = CommandType.Text '设置命令类型Catch ex As ExceptionMessageBox.Show(ex.ToString)End Try(suiji) + ")"(" +Trymycom3.ExecuteNonQuery()MessageBox.Show("售票成功!", "谢谢观看")Catch ex As ExceptionMsgBox(ex.ToString)End TryCatch ex As ExceptionMessageBox.Show(ex.ToString)End Trymycon3.Close()ComboBox1.Text = ""TextBox1.Text = ""TextBox2.Text = ""TextBox3.Text = ""TextBox4.Text = ""TextBox5.Text = ""End Ifrevoke_seat()End SubPrivate Sub ComboBox1_SelectedIndexChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChangedCatch ex As ExceptionMessageBox.Show(ex.ToString)End TryTryIfThenMessageBox.Show("还未出售!")TextBox1.Text = dt11.Rows(0)("palydate")revoke_seat()ElseShowSellInfo(dt1)TextBox1.Text = dt11.Rows(0)("palydate")End IfCatch ex As ExceptionEnd Trymycon.Close()End SubPrivate Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim tickethao As IntegerDim mydataadapter4 As New SqlDataAdapterDim myds4 As New DataSetDim dt4 As New DataTableEnd TryEnd Ifmycon4.Close()TextBox1.Text = ""TextBox2.Text = ""TextBox3.Text = ""TextBox4.Text = ""TextBox5.Text = ""ComboBox1.Text = ""revoke_seat()End SubPrivate Sub Button3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click TextBox2.Text = ComboBox1.TextTextBox3.Text = TextBox1.TextIf TextBox4.Text = "" ThenMessageBox.Show("请输入座位号!", "提示")End IDim mydataadapter2 As New SqlDataAdapterDim myds2 As New DataSetDim dt2 As New DataTableDim mycom2 As New SqlCommandEnd4.创建检票界面(1)创建模块的功能对进场观众检票,如果发现有假票或无票观众不允许入内。
电影订票应用软件测试用例报告
电影订票应用软件测试用例报告概述本文档提供了电影订票应用软件的测试用例报告。
该应用软件的目标是提供用户方便快捷地预订电影票的功能。
测试目标1. 确保应用软件的所有功能正常工作,包括用户注册、登录、浏览电影信息、选择座位、支付等功能。
2. 验证应用软件的界面设计是否符合用户体验原则,包括页面布局、字体大小、按钮交互等方面。
3. 检查应用软件的性能和稳定性,确保其在不同网络环境下能够正常运行。
测试用例用例1:用户注册步骤1. 打开应用软件。
2. 点击注册按钮。
3. 输入有效的用户名和密码。
4. 点击确认注册按钮。
预期结果- 用户成功注册,并显示注册成功的提示信息。
- 注册信息正确保存至数据库。
用例2:用户登录步骤1. 打开应用软件。
2. 输入有效的用户名和密码。
3. 点击登录按钮。
预期结果- 用户成功登录,并显示用户的个人信息。
- 登录信息正确验证。
用例3:浏览电影信息步骤1. 打开应用软件。
2. 点击浏览电影按钮。
预期结果- 显示电影列表,并包含电影的标题、海报、评分等信息。
- 用户能够通过滚动界面查看更多电影。
用例4:选择座位步骤1. 打开应用软件。
2. 选择一个电影。
3. 点击选择座位按钮。
4. 在座位图上选择一个可用的座位。
5. 点击确认选择按钮。
预期结果- 座位成功选择,并显示座位号和价格。
- 座位信息正确保存至数据库。
用例5:支付步骤1. 打开应用软件。
2. 选择一个电影并选择座位。
3. 点击支付按钮。
4. 输入有效的支付信息。
5. 点击确认支付按钮。
预期结果- 支付成功,并显示支付成功的提示信息。
- 支付信息正确保存至数据库。
总结以上是电影订票应用软件的测试用例报告。
通过执行这些测试用例,可以验证应用软件的各项功能是否正常工作,界面设计是否符合用户体验原则,以及应用软件的性能和稳定性。
在测试过程中,应注意记录测试结果并及时修复发现的问题,以提高应用软件的质量和用户满意度。
电影票系统实习报告
电影票系统实习报告一、实习背景与目的近期,我参加了电影票系统开发的实习项目,旨在了解电影票系统的运作流程,掌握相关技术栈,提高自己的实际操作能力。
本次实习主要由两部分组成:一是电影票系统的使用与操作;二是电影票系统的设计与开发。
通过本次实习,我对电影票系统有了更深入的了解,也积累了宝贵的实践经验。
二、实习内容与过程1. 电影票系统的使用与操作在实习的第一周,我主要进行了电影票系统的使用与操作学习。
内容包括:电影票的购买、退票、改签、查询等基本操作,以及电影票系统的用户管理、影院管理、影片管理等后台管理功能。
通过实际操作,我熟悉了电影票系统的界面与功能,掌握了各项操作的流程与规范。
2. 电影票系统的设计与开发在实习的第二周,我参与了电影票系统的设计与开发。
首先,我们对现有电影票系统进行了需求分析,发现存在一些不足之处,如用户体验不佳、购票成功率低等问题。
针对这些问题,我们提出了改进方案,并进行了系统设计。
在系统设计过程中,我主要负责前端页面的设计与实现。
我使用了HTML、CSS、JavaScript等技术,实现了电影票购买、退票、改签等功能的页面布局与交互。
同时,我还使用了Vue.js框架,提高了页面开发的效率。
在系统开发过程中,我们采用了前后端分离的设计模式,后端使用Java语言,搭建了Spring Boot框架,提供了API接口供前端调用。
我负责了部分后端接口的开发,包括用户登录、影片查询等功能。
在开发过程中,我学习了数据库设计、接口规范、数据验证等方面的知识。
三、实习收获与反思1. 技术层面:通过本次实习,我掌握了电影票系统的运作流程,熟悉了前端页面设计与实现,了解了后端接口开发与数据库设计。
同时,我学会了使用Vue.js框架,提高了自己的技术水平。
2. 团队协作:在实习过程中,我与团队成员密切配合,共同解决问题,提高了自己的团队协作能力。
同时,我也学会了如何在一个团队中发挥自己的优势,为团队作出贡献。
影院订票系统实验报告
综合实验报告课程名称面向对象综合实验实验名称_____影院订票系统的设计与实现实验类型综合性实验地点304机房实验日期2017.6.19~6.25 指导教师徐华专业__软件工程_____班级__软件1601____学号__1611030102___姓名___寇春雷______成绩______________辽宁石油化工大学计算机与通信工程学院- 0 -目录一、综合实验的目的 (1)二、综合实验的内容和要求 (1)三、实验原理 (2)三、实验截图 (2)四、实验分析 (6)五、实验总结 (10)六、实验源码 (11)七、参考文献 (44)一、综合实验的目的巩固和加深C++课程的基本知识的理解和掌握,提高综合运用c++知识解决实际问题的能力。
二、综合实验的内容和要求实现下列功能要求的程序, 并写出实验报告, 报告内容包括:题目、目的、内容和要求、原理与技术、程序清单、运行情况( 输入、输出)、总结。
. 定义用户信息类User_class:( 数据成员: 用户名char *name(初始化为个人,即管理员),用户密码char *posword,联系电话char* tel, 联系地址char *addr成员函数: 用户注册, 用户登录(验证登录信息是否与为个人, 是,即为管理员, 否则为是一般用户). 定义时间类Time_class:( 数据成员: int year,month,day)( 成员函数, 自己自己根据需要确定). 定义影片信息类Film_class:( 数据成员: 片名char *moviename,主要演员char *mactor, 上映时间Time_class time,票价double price, 剩余票数int ticknum)成员函数, 自己根据需要设置). 定义影票订单类Torder_class:( 用户名*char username, 影片名*char moviename, 放映时间Time_class ptime, 座号char *seat( 如“3排4号”), 订票时间Time_class dtime 票价double price ). 实现用户和系统管理员的注册功能, 界面可如下:输入用户名:输入密码:联系电话:联系地址:( 保存以上信息, 到用户信息表). 实现用户或系统管理员登录功能, 界面可如下:输入用户名:输入密码:( 验证用户输入信息是否正确, 正确, 登陆成功). 若是管理员登录, 显示如下菜单, 并实现如下功能:1. 输入影片信息2. 显示影片信息3. 增加影片信息4. 查找影片5. 删除影片6. 显示用户信息7. 显示用户订单8. 查找某用户订单9. 删除某用户订单. 若是用户登录, 显示如下菜单, 并实现相应的功能:1. 显示影片信息2. 查找影片信息3. 订票4. 查看订单三、实验原理本实验使用vs2012开发环境,使用C++窗口程序设计。
课设报告书电影院售票系统
沈阳航空航天大学课程设计任务书学院:材料科学与工程学院专业:功材班级:1501 学号:153411030108 题目:电影院售票系统一、课程设计时间2016年10月17日至10月23日,共计1周,20学时。
二、课程设计内容某电影院的观众席共有A、B、C、D四个区,每个区有500个座位。
请写程序模拟这个售票过程(允许退票)。
三、课程设计要求程序质量:✧贯彻结构化的程序设计思想。
✧用户界面友好,功能明确,操作方便。
✧用户界面中的菜单至少应包括“售票”、“退票”、“统计满座率”、“退出”4项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:✧课程结束后,上交课程设计说明书。
课程设计说明书的写法参见提供的模板。
四、指导教师和学生签字指导教师:________ 学生签名:________五、成绩六、教师评语目录一、需求分析 (3)二、设计分析 (4)三、主要界面截图 (6)四、技术要点 (7)五﹑总结 (8)六、源程序 (9)七、参考文献 (12)一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。
该系统是一个较典型的售票操作系统,其使用者为工作人员和广大消费者,系统应该具有安全、稳定、功能齐全的特点。
1. 安全性分析该系统管理的数据直接对电影院的收入产生影响,数据量较大且是一种基础性数据,能够为电影院管理提供重要参考,该程序简洁明了,无赘余语句,增加了程序运行的安全性。
2. 稳定性分析指系统比较健壮,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。
3. 主要功能分析(1)显示售票系统:这个程序可以模拟电影院售票系统,可以供顾客参考,另外这个系统简单明了,可以让顾客在选择看电影时更容易。
(2)显示退票系统:这个程序可惜模拟电影院退票系统,方便进行退票处理。
(3)显示满场率:这个系统可以统计电影院的满场率,给管理人员提供了方便。
电影购票系统设计报告
电影购票系统设计报告1. 引言电影购票系统是一个在线购票平台,为用户提供方便快捷的电影票购买服务。
本报告将介绍该系统的需求分析、系统设计、实现以及测试情况,并对未来系统的改进和扩展进行展望。
2. 需求分析电影购票系统的主要功能包括电影浏览、选座购票、电影院信息查询和用户个人资料管理。
根据需求分析,系统需要具备以下功能和特性:- 用户账户管理:用户可以注册账户、登录系统,修改个人资料和密码。
- 电影浏览:用户可以查看正在上映的电影,了解电影的基本信息,包括片名、导演、演员、剧情简介、评分等。
- 选座购票:用户在选定电影后,可以选择电影院和座位,并进行购票。
- 电影院信息查询:用户可以查询电影院的地址、联系方式、电影场次等。
- 订单管理:用户可以查看和管理自己的订单,包括退票、查看购票历史等。
- 系统管理:管理员可以管理电影、电影院信息,并处理用户反馈。
3. 系统设计基于以上需求,我们设计了以下系统架构:3.1 前端设计前端采用响应式设计,可在不同设备上适配,并提供友好的用户界面。
用户可以通过浏览器访问系统,进行电影浏览、选座购票等操作。
3.2 后端设计后端采用分层架构,包括用户管理模块、电影管理模块、订单管理模块和系统管理模块。
- 用户管理模块:负责用户账户的注册、登录、个人资料修改等功能的实现。
- 电影管理模块:负责电影的查询、添加、编辑功能的实现。
- 订单管理模块:负责订单的生成、取消、查询等功能的实现。
- 系统管理模块:负责管理员对电影、电影院信息的管理和处理用户反馈。
3.3 数据库设计数据库采用关系型数据库,根据需求设计了以下表结构:- 用户表:存储用户信息,包括用户ID、用户名、密码、邮箱等。
- 电影表:存储电影信息,包括电影ID、电影名、导演、演员、评分等。
- 电影院表:存储电影院信息,包括电影院ID、电影院名、地址、联系方式等。
电影院购票系统开题报告
电影院购票系统开题报告大家好,今天咱们聊聊电影院购票系统,听起来是不是有点高大上?其实吧,电影院就像我们生活中的一部分,尤其是在周末,咱们总是希望能和家人朋友一起去享受一场精彩的电影。
想象一下,周五晚上,约上三五好友,点个外卖,然后一起去看一场最新上映的大片,爽快得很!可是一想,先得买票。
这时候,购票系统就显得格外重要了。
想象一下,你走进电影院,五光十色的海报、香喷喷的爆米花,简直让人目不暇接。
可是,买票这事儿,有时候却能让人抓狂。
排队排得腿都快抽筋,看到前面那个人掏手机,看着他慢吞吞地在屏幕上点,心里那个急啊,恨不得跳过去帮他。
可要是有一个顺畅的购票系统,那可就太好了。
打开手机,几下就搞定,买票就像喝水一样简单,连个红包都不用等。
说到购票系统,咱们得考虑几个方面。
第一,操作简单,毕竟现在大家都忙,谁还愿意在那儿浪费时间。
咱们要设计一个界面,得让人一看就懂,像看菜单一样,轻松愉快。
再说了,年轻人用手机可快了,老年人也得能用。
这个要照顾到各个年龄段,不能让人觉得看电影是个麻烦事儿。
要让大家觉得买票也是一种享受,像逛商场一样轻松。
第二,得有多种支付方式。
现在可不是随便拿个现金就能解决的事儿,微信支付、支付宝,还有银行卡,一大堆选择。
你想想,要是我想用微信支付,结果系统还不支持,那得多郁闷!所以,购票系统得像个“百宝箱”,能装下所有的支付方式,让大家心中有数,买票时能省心省力。
第三,得提供丰富的电影信息。
看电影之前,咱们总得了解一下电影的基本情况,比如导演是谁、演员都有哪些、评分如何。
好电影可都是有故事的,想看之前得先打个底。
想象一下,咱们在购票系统里翻看那些海报、预告片,随便一刷,就能找到心仪的影片,简直太幸福了。
再加上评论区,看看别人的意见,心里有数,决定不再犹豫!然后,还得有个好的售后服务。
万一票买错了,或者临时有事儿不想去了,能不能退票、改期,这些都是关键问题。
购票系统要有灵活的退票,不然大家一听到“买了就不能退”心里可就得打鼓。
电影院售票管理系统信息系统分析报告与设计课设
目录1现行系统概述 (2)2系统分析 (3)2.1需求分析 (3)2.2可行性研究 (3)2.3系统的开发方法的选择 (4)2.4组织结构与功能分析 (4)2.5业务流程分析 (5)2.6数据与数据流程分析 (6)2.7数据分析 (7)3系统设计 (10)3.1系统总体结构设计 (11)4结束语 (12)1 现行系统概述科学发展,社会进步,人们的生活水平也不断提高,人们日益增长的物质文化需要也逐渐提高。
渐渐地,人们开始追求一种更高的生活享受,自然而然,去影院看电影成为当下的一种潮流。
随着电影在众人的娱乐生活中占据越来越重要的地位,传统手动售票方式繁琐。
统计账户的时候一张一张的记录进入到账户簿里面,容易出现错误,所以研究一个电影院售票系统已经非常重要了。
设计电影售票院系统,能方便的订票、退票、查询财务售票状况,极大的提高了工作效率。
同时用户可以根据其提供的信息及时了解售票的情况,及时买票。
本系统可以很好的帮助影院提高工作效率,进一步提高工作效益和影院现代化水平具有很高的开发价值和使用价值。
2 系统分析2.1 需求分析科学发展,社会进步,人们的生活水平日渐提高,人们日益增长的物质文化需要也渐渐提高,去电影院看电影来缓解生活与工作的压力成为当下一种潮流。
随着需求量的增大,传统的人工管理方式已经不能很好的对影院进行系统的管理,出现了诸如安排不合理、统计不全以及对顾客的要求不能及时满足等问题。
为杜绝此现象的发生,我们开发了现代化的管理信息系统。
本管理系统操作简单而且实用,包括销售管理、预定影票管理、退票管理、查询管理和用户管理等管理系统,包括影票基本信息、影院基本信息、放映时间信息、人员管理等,完成这些信息的增加、删除、修改查询统计功能,同时,还可以将这些信息打印输出。
该系统对影院以及影票统一进行自动化管理,大大提高了工作人员的效率,降低了对资源的浪费,可以说是管理者的好帮手。
2.1.1用户角色需求本管理软件操作简单,主要针对于影院的系统管理员、管理人员以及售票人员使用。
电影票务信息管理系统
淮海工学院计算机工程学院实验报告书课程名:《面向对象程序设计》实验名称: Java面向对象编程初步(电影票务信息管理系统)班级:软件081班组长: XX组员: XX一.实验目的1. 掌握Java面向对象深入编程的知识,学会运用属性的继承和隐藏、方法的继承、重载与覆盖、构造函数的继承与重载等来实现Java的继承与多态的思想,理解Java的接口与异常处理机制。
2. 熟练掌握工具类的使用二.实验题目以与大学生学习、生活、娱乐相关的信息服务为例,各团队自选题目,用面向对象的方法进行需求分析,划分功能模块,每位成员负责其中某些模块的设计与实现。
三.要求1. 在作业二的基础上,练习属性的继承和隐藏、方法的继承、重载与覆盖、构造函数的继承与重载,以及接口与异常处理的定义和使用。
2. 运用Java语言常用类库(Object类、Math 类、数据类型类、System类、String类及StringBuffer 类),重点是向量类和字符串,对作业二的源程序进行改进,尽量学会用各种方法来优化作业二的实现过程。
3. 在源程序和实验报告中对本次作业优化过的部分要进行重点说明;4. 提交时间:4月30日四、实验步骤与源程序1. 选题与团队分工◆选题:电影票务信息管理系统◆分工:2. 系统需求分析◆系统功能描述电影票务信息管理信息主要有三个用户,一个是系统管理员,负责系统中所有功能;第二个是票务管理员,主要进行电影票的增加,修改以及删除等功能;第三个是普通用户,只可以进行订票,退票以及电影票查询等功能的操作。
系统用例图3. 系统类图设计杨娟李晓天陈点点4. 源程序作者:李晓天主界面:package lxt;import cdd.*;import yj.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MainWindow extends JFrame implements ActionListener{JPanel panel1;//定义面板Container c;//定义容器JMenuBar MenuB;//定义表单JMenu SystemMenu,TicketMGRMenu,TicketSellMenu,ReturnTicketMenu,InfoBrowseMenu,UserMGRMenu;JMenuItemUserLoginMenuItem,UserAddMenuItem,UserModifyMenuItem,UserDeleteMenuItem,ExitMenuItem, TicketAddMenuItem,TicketModifyMenuItem,TicketDeleteMenuItem,TicketSellMenuItem,ReturnTicketMenuItem,TicketListMenuItem,UserListMenuItem;JLabel titleLabel;//定义标签public MainWindow(){super("电影票务信息管理系统");//初始化菜单//--系统管理菜单--MenuB=new JMenuBar();SystemMenu=new JMenu("系统管理");UserMGRMenu=new JMenu("用户管理");UserLoginMenuItem=new JMenuItem("用户登录");UserAddMenuItem=new JMenuItem("添加用户");UserModifyMenuItem=new JMenuItem("修改用户");UserDeleteMenuItem=new JMenuItem("删除用户");ExitMenuItem=new JMenuItem("退出");SystemMenu.add(UserLoginMenuItem);//添加菜单UserMGRMenu.add(UserAddMenuItem);UserMGRMenu.add(UserModifyMenuItem);UserMGRMenu.add(UserDeleteMenuItem);SystemMenu.add(UserMGRMenu);SystemMenu.add(ExitMenuItem);UserLoginMenuItem.addActionListener(this);//注册监听UserAddMenuItem.addActionListener(this);UserModifyMenuItem.addActionListener(this);UserDeleteMenuItem.addActionListener(this);ExitMenuItem.addActionListener(this);MenuB.add(SystemMenu);//---电影票管理菜单--TicketMGRMenu=new JMenu("电影票管理");//初始化菜单TicketAddMenuItem=new JMenuItem("添加电影票");TicketModifyMenuItem=new JMenuItem("修改电影票");TicketDeleteMenuItem=new JMenuItem("删除电影票");TicketMGRMenu.add(TicketAddMenuItem);//添加菜单TicketMGRMenu.add(TicketModifyMenuItem);TicketMGRMenu.add(TicketDeleteMenuItem);TicketAddMenuItem.addActionListener(this);//注册监听TicketModifyMenuItem.addActionListener(this);TicketDeleteMenuItem.addActionListener(this);MenuB.add(TicketMGRMenu);//--出售管理菜单--TicketSellMenu=new JMenu("出售管理");TicketSellMenuItem=new JMenuItem("电影票出售");TicketSellMenu.add(TicketSellMenuItem);TicketSellMenuItem.addActionListener(this);MenuB.add(TicketSellMenu);//--退票管理菜单--ReturnTicketMenu=new JMenu("退票管理");ReturnTicketMenuItem=new JMenuItem("电影票退还"); //添加表单ReturnTicketMenu.add(ReturnTicketMenuItem);ReturnTicketMenuItem.addActionListener(this);MenuB.add(ReturnTicketMenu);//--信息一览菜单--InfoBrowseMenu=new JMenu("信息一览");TicketListMenuItem=new JMenuItem("电影票列表");UserListMenuItem=new JMenuItem("用户列表");//添加表单InfoBrowseMenu.add(TicketListMenuItem);InfoBrowseMenu.add(UserListMenuItem);//注册,监听TicketListMenuItem.addActionListener(this);UserListMenuItem.addActionListener(this);MenuB.add(InfoBrowseMenu);setJMenuBar(MenuB);// 将菜单条添加到窗口的顶端titleLabel=new JLabel(new ImageIcon(".\\pic.jpg"));c=getContentPane();c.setLayout(new BorderLayout());panel1=new JPanel();panel1.setLayout(new BorderLayout());panel1.add(titleLabel,BorderLayout.CENTER);c.add(panel1,BorderLayout.CENTER);setBounds(100,50,400,300);show();//--设置初始功能:--UserMGRMenu.setEnabled(false);TicketMGRMenu.setEnabled(false);TicketSellMenu.setEnabled(false);ReturnTicketMenu.setEnabled(false);InfoBrowseMenu.setEnabled(false);}//--设置每个菜单点击后出现的窗口和窗口显示的位置--public void actionPerformed(ActionEvent e){if(e.getActionCommand()=="用户登录"){ //初始化用户登录窗口UserLogin UserLoginFrame=new UserLogin(this);UserLoginFrame.setLocation(170,150); //弹出框位置UserLoginFrame.pack(); //显示登录窗口UserLoginFrame.show();}else if(e.getActionCommand()=="添加用户"){ //初始化添加用户窗口UserAdd UserAddFrame=new UserAdd();UserAddFrame.setLocation(160,140);//弹出框位置UserAddFrame.pack();UserAddFrame.show(); //显示窗口}else if(e.getActionCommand()=="修改用户"){ //初始化修改用户窗口UserModify UserModifyFrame=new UserModify();UserModifyFrame.setLocation(160,140);//弹出框位置UserModifyFrame.pack();UserModifyFrame.show(); //显示窗口}else if(e.getActionCommand()=="删除用户"){ //初始化删除用户窗口UserDelete UserDeleteFrame=new UserDelete();UserDeleteFrame.setLocation(150,150);//弹出框位置UserDeleteFrame.pack();UserDeleteFrame.show(); //显示窗口}else if(e.getActionCommand()=="添加电影票"){ //初始化添加窗口TicketAdd TicketAddFrame=new TicketAdd();TicketAddFrame.setLocation(130,110);//弹出框位置TicketAddFrame.pack();TicketAddFrame.show(); //显示窗口}else if(e.getActionCommand()=="修改电影票"){ //初始化修改窗口TicketModify TicketModifyFrame=new TicketModify();TicketModifyFrame.setLocation(130,110);//弹出框位置TicketModifyFrame.pack();TicketModifyFrame.show(); //显示窗口}else if(e.getActionCommand()=="删除电影票"){ //初始化删除窗口TicketDelete TicketDeleteFrame=new TicketDelete();TicketDeleteFrame.setLocation(150,150);//弹出框位置TicketDeleteFrame.pack();TicketDeleteFrame.show(); //显示窗口}else if(e.getActionCommand()=="电影票出售"){ //初始化出售窗口TicketSell TicketSellFrame=new TicketSell();TicketSellFrame.setLocation(160,140); //弹出框位置TicketSellFrame.pack();TicketSellFrame.show(); //显示窗口}else if(e.getActionCommand()=="电影票退还"){ //初始化退还窗口ReturnTicket ReturnTicketFrame=new ReturnTicket();ReturnTicketFrame.setLocation(160,140); //弹出框位置ReturnTicketFrame.pack();ReturnTicketFrame.show(); //显示位置}else if(e.getActionCommand()=="电影票列表"){ //初始化列表TicketList TicketListFrame=new TicketList();TicketListFrame.setLocation(110,130); //弹出框位置TicketListFrame.pack();TicketListFrame.show(); //显示窗口}else if(e.getActionCommand()=="用户列表"){ //初始化用户列表UserList UserListFrame=new UserList();UserListFrame.setLocation(120,140); //弹出框位置UserListFrame.pack();UserListFrame.show(); //显示窗口}else if(e.getActionCommand()=="退出"){this.dispose();System.exit(0);}}//--设置登录用户的权限--public void setEnable(String powerType){if(powerType.equals("系统管理员")){UserMGRMenu.setEnabled(true);//系统管理员拥有所有权限TicketMGRMenu.setEnabled(true);TicketSellMenu.setEnabled(true);ReturnTicketMenu.setEnabled(true);InfoBrowseMenu.setEnabled(true);UserListMenuItem.setEnabled(true);}else if(powerType.equals("电影票管理员")){UserMGRMenu.setEnabled(false);//电影票管理员只有票务管理权限TicketMGRMenu.setEnabled(true);TicketSellMenu.setEnabled(false);ReturnTicketMenu.setEnabled(false);InfoBrowseMenu.setEnabled(true);UserListMenuItem.setEnabled(false);}else if(powerType.equals("普通用户")){UserMGRMenu.setEnabled(false);//设置权限TicketMGRMenu.setEnabled(false);TicketSellMenu.setEnabled(true);ReturnTicketMenu.setEnabled(true);InfoBrowseMenu.setEnabled(true);UserListMenuItem.setEnabled(false);}else if(powerType.equals("else")){UserMGRMenu.setEnabled(false);//设置对应界面TicketMGRMenu.setEnabled(false);TicketSellMenu.setEnabled(false);ReturnTicketMenu.setEnabled(false);InfoBrowseMenu.setEnabled(false);}}public static void main(String args[]){MainWindow mainFrame=new MainWindow();}}数据库模块:package lxt;import java.sql.*;public class DataBaseManager{Connection con;//声明对象ResultSet rs;//声明ResultSet对象Statement stmt;//声明Statement对象public DataBaseManager(){//捕获建立桥接器时的异常try{Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );//建立一个JDBC-ODBC桥接器con=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Cinema.mdb");//创建连接对象stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABL E);//得到可滚动的结果集}catch ( ClassNotFoundException cnfex ){System.err.println("Failed to load JDBC/ODBC driver." );//标准错误cnfex.printStackTrace(); //捕获加载驱动程序异常System.exit( 1 ); // terminate program}catch(SQLException sqle){System.out.println(sqle.toString());}}public ResultSet getResult(String strSQL){try //捕获返回结果时的异常{rs=stmt.executeQuery(strSQL);//返回相应类型结果集return rs;}catch(SQLException sqle){System.out.println(sqle.toString());return null;}}public boolean updateSql(String strSQL){try //捕获添加新纪录时的异常{stmt.executeUpdate(strSQL);//向数据库表中添加新纪录mit();return true;}catch(SQLException sqle){System.out.println(sqle.toString());return false;}}public void closeConnection(){try //捕获连接时的异常{con.close();}catch(SQLException sqle){System.out.println(sqle.toString());}}}退票模块:package lxt;//定义所属包名import lxt.*;//引用包import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class ReturnTicket extends JFrame implements ActionListener{DataBaseManager db=new DataBaseManager();//调用DataBaseManager()类ResultSet rs;//声明对象JPanel panel1,panel2;//定义面板Container c;//定义容器布局管理器JLabel ReturnedTicketPersonLabel,ReturnedTicketNameLabel;//定义标签JTextField ReturnedTicketPersonTextField;//定义文本框JButton ClearBtn,YesBtn,CancelBtn;//定义按钮JComboBox FilmNameComboBox=new JComboBox();//定义组合框public ReturnTicket(){super("电影票退还");c=getContentPane();//获得面板内容c.setLayout(new BorderLayout());//边界布局ReturnedTicketPersonLabel=new JLabel("退票者姓名",JLabel.CENTER);//初始化标签ReturnedTicketNameLabel=new JLabel("电影片名",JLabel.CENTER);ReturnedTicketPersonTextField=new JTextField(20);//初始化文本框//捕获异常try{String strSQL="select filmName from tickets where tickets_count>=borrowed_count";rs=db.getResult(strSQL);//获得数据库记录while(rs.next()){FilmNameComboBox.addItem(rs.getString(1));//获得数据库记录}}catch(SQLException sqle){System.out.println(sqle.toString());}catch(Exception ex){System.out.println(ex.toString());}panel1=new JPanel();//初始化面板panel1.setLayout(new GridLayout(5,2));//定义网格布局panel1.add(ReturnedTicketPersonLabel);//添加按钮panel1.add(ReturnedTicketPersonTextField);panel1.add(ReturnedTicketNameLabel);panel1.add(FilmNameComboBox);c.add(panel1,BorderLayout.CENTER);//添加面板,定义边界布局panel2=new JPanel();panel2.setLayout(new GridLayout(1,3));//定义网格布局ClearBtn=new JButton("清空");//初始化按钮YesBtn=new JButton("确定");CancelBtn=new JButton("取消");ClearBtn.addActionListener(this);//注册监听YesBtn.addActionListener(this);CancelBtn.addActionListener(this);panel2.add(ClearBtn);//添加按钮panel2.add(YesBtn);panel2.add(CancelBtn);c.add(panel2,BorderLayout.SOUTH);//添加面板}public void actionPerformed(ActionEvent e){if(e.getSource()==CancelBtn)//取消{this.dispose();}else if(e.getSource()==ClearBtn){ReturnedTicketPersonTextField.setText("");//退票}else if(e.getSource()==YesBtn){String strSQL1; //确认该用户是否已经退票strSQL1="select * from ticketBrowse where name='"+ ReturnedTicketPersonTextField.getText()+"'and filmname='"+FilmNameComboBox.getSelectedItem()+"'and is_returned='否'";rs=db.getResult(strSQL1);boolean isExist=false;try{isExist=rs.first();}catch(SQLException sqle) //如果数据库出错{System.out.println(sqle.toString());}if(!isExist)//确定是否订票{JOptionPane.showMessageDialog(null,"用户名未订此票!","出错提示",0);}else if(ReturnedTicketPersonTextField.getText().trim().equals("")) {JOptionPane.showMessageDialog(null,"请输入退票者的姓名。
影城票务系统测试报告
系统不存在该电影
输入
用例八
预期输出
电影编号应该为整数
测试用例编号
009
测试项目
管理员添加电影信息
测试标题
电影信息(内容提要)输入不合法
预置条件
系统不存在该电影
输入
用例九
预期输出
内容提要不能为空
测试用例编号
010
测试项目
管理员添加电影信息
测试标题
电影信息(上映日期)输入不合法
预置条件
系统不存在该电影
18.非年-月-日格式
主演
19.非空
20.空
内容简介
21.非空
22.空
用例一:1,3,5,7,9,11,13,15,17,19,21(表中序号)
用例二:2,3,5,7,9,11,13,15,17,19,21
用例三:1,4,5,7,9,11,13,15,17,19,21
用例四:1,3,6,7,9,11,13,15,17,19,21
输入
用例十
预期输出
上映日期格式不正确
测试用例编号
011
测试项目
管理员添加电影信息
测试标题
电影信息(主演)输入不合法
预置条件
系统不存在该电影
输入
用例十一
预期输出
主演不能为空
测试用例编号
012
测试项目
管理员添加电影信息
测试标题
电影信息(内容简介)输入不合法
预置条件
系统不存在该电影
输入
用例十二
预期输出
内容简介不能为空
请输入地址
测试用例编号
008
测试项目
用户注册信息
测试标题
电影票系统实习报告
一、实习背景与目的随着互联网技术的飞速发展,传统电影院售票方式已逐渐不能满足现代观众的需求。
为提高电影票务工作效率,提升观众购票体验,我于近期在某电影院进行了为期一个月的电影票系统实习。
本次实习旨在了解电影票系统的运作原理,掌握票务管理的操作流程,并分析系统在实际应用中的优缺点,为今后的票务管理工作提供参考。
二、实习单位及环境实习单位为一家具有较高知名度的电影院,位于市中心繁华地段。
该电影院拥有多个放映厅,上映影片种类丰富,观众流量较大。
实习期间,我主要在票务部进行操作培训和实践。
三、实习内容与过程1. 系统操作培训实习初期,我对电影票系统进行了全面的学习。
在指导老师的带领下,我了解了系统的基本功能,包括电影信息管理、放映计划管理、票务销售、退票、改签等。
同时,还学习了系统操作流程,如电影场次设置、票价管理、座位分配等。
2. 实际操作实践在掌握系统操作的基础上,我开始参与实际操作。
以下为部分实践内容:(1)协助售票员进行电影票销售,包括座位选择、票价计算、支付方式等。
(2)处理观众退票、改签业务,确保操作准确无误。
(3)协助管理人员进行电影信息更新、放映计划调整等。
(4)参与票务数据分析,为管理层提供决策依据。
3. 问题分析与解决在实习过程中,我遇到了一些问题,如系统操作失误、观众咨询解答等。
以下为部分问题及解决方法:(1)系统操作失误:通过查阅操作手册、请教同事等方式,快速找到问题原因,并正确操作。
(2)观众咨询解答:耐心倾听观众需求,准确解答问题,确保观众满意。
(3)系统故障:及时上报故障,协助技术人员进行排查和修复。
四、实习收获与体会1. 技能提升通过本次实习,我熟练掌握了电影票系统的操作方法,提高了自己的计算机应用能力。
同时,还学习了票务管理的相关知识,为今后的工作打下了坚实基础。
2. 团队协作在实习过程中,我深刻体会到团队协作的重要性。
与同事共同解决问题,共同进步,让我认识到团队的力量。
