毕业设计---影院售票系统的设计与实现_第1页
毕业设计---影院售票系统的设计与实现_第2页
毕业设计---影院售票系统的设计与实现_第3页
毕业设计---影院售票系统的设计与实现_第4页
毕业设计---影院售票系统的设计与实现_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业目 录你目录后面的编号怎么都是2? TOC o 1-3 h z u 影院页面设置没有设置,请按学院的毕业论文格式要求进行设置。售票系统的设计与实现软件学院 软件工程专业2 吴涓涓 指导老师:王兴【摘要】目前,看电影已经成了人们日常休闲生活的一部分,影片的数目和种类越来越多,因此,开发一个符合用户需求,功能齐全的影片管理、售票系统具有十分重要的意义。本文介绍了影院售票信息系统的设计与实现,用C#语言编写前端应用程序,用SQL语言建立和维护后台数据库。在对系统进行需求分析和

2、总体设计后,文章对系统的功能模块进行了详细的设计与实现,有影片信息管理模块、影片售票模块和影片购票等模块,并对系统进行了总体测试。文章最后进行全文小结并给出了下一步工作展望。【关键词】影院售票系统; 数据库; SQL SERVER; C#1. 引言1.1 课题背景 计算机科学技术的迅速发展,给我们的生活带来了许多便捷。从日常生活,到学习工作,其中,电影事业的发展也随着计算机科学技术的发展而蒸蒸日上。人们的业余生活也渐渐多元化,看电影占了其中的一大部分。如何有效、快速地管理影片信息,合理、便捷地售票成了影院一个待为解决的问题。利用计算机科学技术解决影院的问题显得尤其重要。1.2 课题研究意义影院

3、售票系统就是MIS系统的一种,用于电影院中对电影相关信息的处理和售票的操作。以前,电影院里电影的上映是靠人工将上映时间以文字的形式表现在海报上,供消费者选择,无法及时更换电影信息,有可能造成消费者的不便,使消费者购买了错误的电影。以往电影院的排队买票,由于人工纸质售票,使得效率不高,造成观影不便。传统电影院的售票模式已无法满足现今社会快节奏的步伐,所以我们很有必要开发一套影院售票系统,是影院工作系统化和规范化。目前市面上已经有很多影院售票系统,但是还有很多细节没有做得很好,界面不够友好,所以本文就这些问题做了详细的分析和改进,使用户更加方便的使用系统,提高工作效率。1.3 课题主要工作本课题先

4、研究影院售票系统的背景,研究意义,然后再对系统用到的相关理论技术进行研究。进而对系统做需求分析,总体设计,详细设计及实现。最后还对系统进行测试,看系统的功能是否都达到要求,总结下一步还需要做的工作。2.系统相关技术及工具介绍2.1 SQL Server 2005概述SQL Server 2005是微软开发的一套数据库服务器软件。作为Windows数据库家族中出类拔萃的成员,SQL Server 2005这种关系型数据库在可伸缩性、可用性和可管理性等方面有了显著的改进和提高。SQL Server 2005属于关系型数据库管理系统,简称RDBMS(Relation database Managem

5、ent System),负责管理数据库结构,其内容主要包括维护数据库中数据之间的关系、确保数据存取的正确性以及在系统失败时恢复所有数据。SQL Server 2005是一个采用SQL语言的关系型数据库管理系统。它拥有高弹性与多元化的结构,不仅符合业界的需求,更能与互联网紧密集成,而且全面支持包括Windows CE, Windows2000, Windows NT与Windows XP等Windows的操作系统1。2.2 SQL语言2.2.1 SQL语言介绍SQL全称是“结构化查询语言”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言。SQL语言结构简

6、洁,功能强大,简单易学,所以自从IBM公司1481年推出以来,SQL语言,得到了广泛的应用2。2.2.2 SQL的特点(1)非过程化语言SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段3。(2)统一的语言SQL

7、可用于所有用户的DB活动模型,包括系统售票员、数据库售票员、应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握。SQL为许多任务提供了命令4。(3)所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是PostgreSQL(和大多数其它关系型数据库)用做查询语言的语言。它是可以移植的,并且容易学习使用。但是所有SQL语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查询发送到数据库服务器,等待

8、它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。如果使用了PL/pgSQL,那么可以把一块运算和一系列查询在数据库服务器组成一个块,这样就拥有了过程语言的力量并且简化SQL的使用,因而节约了大量的时间,因为用不着付出客户端/服务器通讯的过热。通过使用PL/pgSQL,应用可以获得可观的性能提升5。2.3 visual studio 2008微软的.NET开发平台,.NETframework引入一种类似于通用语言运行库的技术,在管理底层代码的时候将编程和脚本语言统一起来,因为有了通用语言运行库

9、,VS.NET为C+,C#和vb提供了一个通用的开发环境。VS不是开发C#应用程序所必需的,但使用它可以使任务更简单一些。可以在基本的文本编辑器(例如常见的Notepad)中处理C#源代码文件,再使用命令行应用程序(是.NET Framework的一部分)把代码编译到程序集中6。该系统所用的是C#语言,Microsoft是这样描述C#的:C#是从C和C+派生来的一种简单,现代,面向对象和类型安全的编程语言。C#是可用于创建要运行在.NET CLR上的应用程序的语言之一,它从C和C+语言演化而来,是Microsoft专门为使用.NET平台而创建的。C#的优点是,它是惟一为.NET Framewo

10、rk设计的语言,是在移植到其他操作系统上的.NET版本中使用的主要语言7。系统分析与总体设计3.1系统需求分析调查表明,随着经济的飞速发展人们的收入越来越高,相应的娱乐设施也越来越多,电影是人们的最佳选择之一。以往的售票方式,以人工通过纸质媒介售票,不便于票数的统计,钱数的计算,还包括对于上映的电影信息的增删改查,都十分的不便利。随着计算机技术的发展及计算机的日益普及,用计算机代替人工进行有关于数据的统计和分析处理,己成为大势所趋。3.2 系统应具备的基本功能新用户注册:用户可以进行注册,然后登陆。(2)用户查询:用户可以对近期上映电影信息的查询。(3)用户购票:用户可以自助买票。(4)售票员

11、查询:售票员可以对已储存在数据库的电影信息进行查询。(5)新增电影:售票员可以将新上映的电影信息加入数据库供用户查看、购票。(6)修改电影:售票员可以对已录入信息的电影进行修改。(7)删除旧电影:售票员可以对已下映的电影信息进行删除。3.3 系统的总体设计3.3.1 系统架构结构图图3-1系统框架结构3.3.2 系统功能介绍本系统用户类型有2类:影院售票员、影院用户,其中影院用户分为学生用户和普通用户。影院售票员可以对上、下档电影进行信息维护,对即将上档的电影进行添加、对下档的电影进行删除、对信息有误的电影进行电影信息的修改、对影院现在正在上映的电影进行信息查询。影院用户中的普通用户享有的权力

12、是可以自助查询电影信息,并且进行购票;学生用户不但可以自助查询电影信息、购票,并且在购票的时候可以享受学生优惠折扣。3.4 数据库设计分析1) 用户作为一个实体,其中对用户类别和用户档案的属性进行详细设置。2) 售票员作为一个实体,其中对售票员的属性进行详细设置。3) 电影作为一个实体,其中对电影的属性进行详细设置。图3-2数据库E-R图图3-3用户信息E-R图图3-4电影信息E-R图4. 系统的详细设计与实现4.1 数据库详细分析数据库名为:MyFilmDB表数据库中的表,没有列清楚,可以把你系统中用到的表及表中的字段列出来。如4-1所示: 表4-1 数据库表及注释代码表名称注释电影信息列出

13、电影名称、类别、导演、票价、票总量、票余量用于储存电影的详细信息上映安排信息包含电影名称、上映时间、上映日期用于储存电影上映信息电影类别包含电影类别用于对电影类别的设置场次信息包含电影所以场次的时间用于添加电影时选择场次时间用户登录信息包含用户账号和密码用于用户登录系统时验证4.2 用户注册模块 所有模块中最常用到的代码是数据库连接,经过执行数据库查询语句,根据返回的结果进行判断或操作。该系统使用的是SQL server数据库。代码如下:通过DBhelper连接数据库namespace 影院售票系统 class DBHelper public static SqlConnection conn

14、 = new SqlConnection (Data Source=SONY-VAIOCXC;Initial Catalog=MyFilmDB;Integrated Security=true); 4.2.1 用户注册 (Registration.cs) 操作流程:在输入框中输入用户名在输入框中输入密码在输入框中输入确认密码在输入框中输入姓名选择出生日期在输入框中输入手机号选择用户类别如果确认填写完成按“提交”键。 这里使用的是用户自助注册,不用影院工作人员帮忙,减少影院人力资源的使用。用户自助注册的信息将被存入数据库供使用。新用户注册代码如下: if (FPassword.Text != S

15、PassWord.Text) MessageBox.Show(请重新输入密码); else String dateTime = (dateTimePicker1.Value).ToString(); String date = dateTime.Substring(0, dateTime.Length - 8).Trim(); /查询语句 string sql = string.Format(insert into ID_PASS(TLgionId,TLgionPwd,TLgoinType,TLBrithDay,TLTelepone,TLName) values(0,1,2,3,4,5), t

16、extBox1.Text.Trim(), FPassword.Text.Trim(), comboBox1.Text.Trim(), date, TLtelephone.Text.Trim(), Name.Text.Trim(); 输入用户名输入密码确认密码输入姓名选择出生日期输入手机号注册完成返回登录界面是否确认注册 是 否 图4-1 新用户注册流程图注册界面:图4-24.3 用户购票模块4.3.1 电影票查询 本模块可以查询电影的详细信息,如片名、类型、导演、演员、上映日期、上映场次时间、票价等内容,供消费者了解,以选择自己喜欢的电影来购票,获得最佳的观影体验。代码如下: DataSet

17、searchset = new DataSet(MyFilmDB); / 创建 DataSet 对象 String Sql = String.Format(select moveTime,moveDate from FilmShowTime where moveName = 0, cobMoveName.Text.ToString(); SqlDataAdapter adapter = new SqlDataAdapter(Sql, DBHelper.conn); / 重新填充数据集 adapter.Fill(searchset, FilmShowTime); / 指定 DataGridVie

18、w 数据源,显示数据 dataGridView1.DataSource = searchset.TablesFilmShowTime; /读出电影详细信息 String sqlInfor = String.Format(SELECT F_price,F_Type,F_Director FROM Film where F_Name = 0, cobMoveName.Text.ToString(); try /创建Command对象 SqlCommand comm = new SqlCommand(sqlInfor, DBHelper.conn); DBHelper.conn.Open(); /执

19、行查询语句 SqlDataReader reader = comm.ExecuteReader(); /循环读取记录 if (reader.Read() movePrice.Text = readerF_price.ToString(); moveType.Text = readerF_Type.ToString(); moveDirector.Text = readerF_Director.ToString(); reader.Close(); /try结束 catch (Exception ex) Console.WriteLine(ex.Message); finally DBHelpe

20、r.conn.Close(); 查询界面如下图:图4-34.3.2 用户订票 (ChooseTime.cs、customSale.cs) 操作流程:进入用户订票系统选择片名按“查找”键在放映列表中选择放映时间如确定购买此场次此电影,则按“订票”键界面跳转到“订票信息”选择票的种类选择片名进入用户订票系统选择放映时间选择电影票的种类确定购票 购票 代码如下: /读出电影详细信息 int B_amount = Convert.ToInt32(BuyAmount.Text); int Rest_a = Convert.ToInt32(label7.Text); int newSet_a = Rest

21、_a - B_amount; string sql2 = string.Format(update Film set F_Rest =0 where F_Name = 1 , newSet_a, txtName.Text.ToString();string sql = string.Format(insert into userOder(useName,moveName,moveDate,moveTime,amount,money) values(0,1,2,3,4,5), userName,txtName.Text.ToString(), DateText.Text.Trim(), Time

22、Text.Text.Trim(), BuyAmount.Text.Trim(),MonyAmount.Text.Trim();/读出电影详细信息订票界面如下图:图4-4图4-5图4-6图4-7本模块就是数据库的增、删、改、查功能最典型的体现,是售票员对电影详细信息的管理。售票员可以对数据库里现有的电影进行查询,查看其片名、类型、导演、作者、价格、余票量等详细信息;将最新上映的电影的详细信息加入电影信息的数据库里,供消费者查询、购票;对出现错误的电影信息进行更正,以免误导消费者买了错误的电影;售票员还可以对下档的电影进行删除操作。代码如下: DataSet searchset = new Dat

23、aSet(MyFilmDB); / 创建DataSet 对象 String Sql = String.Format(select moveName,moveTime,moveDate from FilmShowTime where moveName = 0,cboMoveName.Text.ToString(); SqlDataAdapter adapter = new SqlDataAdapter(Sql, DBHelper.conn); / 重新填充数据集 adapter.Fill(searchset, FilmShowTime); / 指定DataGridView 数据源,显示数据 da

24、taGridView1.DataSource = searchset.TablesFilmShowTime; 界面如下:图4-84.4.2 增加电影信息代码如下: String dateTime = (dateTimePicker1.Value).ToString(); String date = dateTime.Substring(0, dateTime.Length - 8).Trim(); /int moveID = GetMoveMaxID(Film); /int moveTimeID = GetMoveMaxID(FilmShowTime); /if (ValidateInput(

25、) & IfRepeat(date, cboTime.Text) = true) / String Sql = String.Format(INSERT INTO Film VALUES(0,1,2,3,4,5,6,7);, moveName.Text.Trim(), moveType.Text.Trim(), moveDirect.Text.Trim(), float.Parse(price.Text.Trim(), Convert.ToUInt32(moveAmount.Text.Trim(), Convert.ToUInt32(moveRest.Text.Trim(),FAct.Text

26、.Trim(),FLag.Text.Trim(); String Sql2 = String.Format(INSERT INTO FilmShowTime VALUES(0,1,2), moveName.Text.Trim(), cobTime.Text.Trim(), date); 图4-9图4-104.4.3 修改电影信息代码如下: DialogResult result = MessageBox.Show(确定要保存修改吗?, 操作提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result = DialogR

27、esult.OK) / 确认修改 string sql = SELECT * FROM Film ; SqlDataAdapter adapter = new SqlDataAdapter(sql, DBHelper.conn); / 自动生成更新数据用的命令 SqlCommandBuilder builder = new SqlCommandBuilder(adapter); / 将修改过的数据提交到数据库 adapter.Update(searchset, Film); MessageBox.Show(修改成功!); 图4-114.4.4 删除电影信息代码如下: DialogResult

28、result = MessageBox.Show(确定要删除该电影吗?, 操作提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result = DialogResult.OK) / 确认修改 dataGridView1.Rows.Remove(dataGridView1.CurrentRow);/删除行下面的是保存修改 string sql = SELECT * FROM film ; SqlDataAdapter adapter = new SqlDataAdapter(sql, DBHelper.conn); /

29、自动生成更新数据用的命令 SqlCommandBuilder builder = new SqlCommandBuilder(adapter); / 将修改过的数据提交到数据库 adapter.Update(searchset, film); 图4-125. 系统测试5.1 测试技术与方法 软件测试是软件开发过程中的一个重要组成部分,是贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程8。从是否需要执行被测试软件的角度分类:静态测试和动态测试;从测试是否针对软件结构与算法的角度分类:白盒测试和黑盒测试;从测试的不同阶段分类:单元测试、集成测试、系统测试、验收测试。

30、5.2 测试说明在系统开发过程中,已经进行了单元测试在这一章节中进行的是黑盒测试,也就是集成测试对输入和输出数据进行分析,是否产生期望的结果,或产生错误的原因。5.3 测试用例和输出结果.模块名称:用户注册测试类型:黑盒测试用例描述:输入新用户信息进行注册,用注册好的账号登陆系统。输入1:注册类型为“用户”的新账号图5-1如注册成功,则可用此账号登陆,登陆后的界面如下:图5-2输入2:注册类型为“售票员”的新账号图5-3如注册成功,则可用此账号登陆,登陆后的界面如下:图5-4模块名称:影片管理测试类型:黑盒测试用例描述:输入新影片信息,可以查询显示出新影片的信息,删除过期电影信息,修改错误的电

31、影信息。添加新的影片,如图5-5:图5-5确认是否插入该影片,如图5-6:图5-6添加成功后询问是否继续添加,如图5-7。由于一个影片有多个上映日期,并且一天之内有多个上映时间,为了避免重复输入的麻烦,在此如选择继续插入,则不改变原有信息,售票员只需更改上映时间和上映日期,如图5-8的红色方框标注:图5-7图5-8查询影片信息,看是否出现刚刚添加的新影片信息,如图5-9:图5-9删除电影信息,选择F_ID为22的电影进行删除,如图5-10:图5-10删除完后只剩一部电影信息,如图5-11:图5-11修改电影信息。如对电影倾城之恋的导演进行修改,直接单击导演姓名修改,修改完成后点击“完成修改”即

32、可,如图5-12红色方框标注:图5-12修改成功,弹出对话框提示,如图5-13:图5-13模块名称:订票模块测试类型:黑盒测试用例描述:用户用户在订票界面选择要购买的电影片名以及放映日期和时间,如图5-14:图5-14确认片名及放映时间之后,按“订票”,弹出“订票信息”界面,选择票的种类和数量,分为学生票(图5-15)和普通票(图5-16):图5-15图5-16用户可查看自己已下过的订单信息,如图5-17:图5-176. 总结与展望6.1 设计总结这个系统主要实现了影院售票管理的功能,旨在提高操作效率,使界面更加友好且人性化。在开发系统的时候遇到不少问题开始设计的时候,最大的问题是编程语言,因

33、为不是很熟悉,所以要花比较长的时间去研究设计中,找BUG或异常的时间比编码的时间要长。在系统成型的时候会进行集成测试,并逐步添加检错程序,也需要花很多时间DEBUG。虽然只是一个小小的系统,但俗话说得好:麻雀虽小五脏俱全,这个系统也包括了一个软件的整个设计过程。让我对系统的设计流程有了一定的了解。做完这个设计不仅让我学到了很多专业知识,更多的是教会了我在面对众多问题时如何调整心态去一一解决。我想这次的经历对我今后的工作和生活都会有很大的启迪和帮助。6.2 对图书管理系统的展望虽然本系统实现了一些主要功能,但是由于时间、能力等因素,系统做的不是很完善。系统的下一步可以多增加些功能,比如一、售票员

34、对注册用户的管理,售票员可以查看注册用户的信息,对恶意用户进行信息删除,并且设定一段时候改用户无法重复注册;二、用户对于自己已购买的订单可以进行退票操作,而不用去前台找工作人员退票,这将更加人性化更加便捷;三、可以增加一个用户留言提建议的功能,让用户畅所欲言,提出宝贵意见,相信这将有利于一个影院的经营和发展,将给影院带来更多的经济效益致谢感谢王兴老师的耐心教导,在做毕业设计和毕业论文的过程中,我遇到了较多的难题,王兴老师在百忙之中抽时间给了我很多宝贵的建议和指导,让我从一开始对设计一片迷茫到最后完成了整个设计以及论文。同时也感谢福建师范大学软件学院的所有老师,谢谢他们在我大学四年里教会了我很多

35、知识,更重要的是教会了我将来如何自己去学习和为人处事的道理,这将使我终身受益。参考参考文献尽量13个以上。注意参考文献的规范格式,请参照学院的毕业论文格式。文献1 高金兰,数据库原理与SQL Server应用M. 科学出版社,2010-1-1,21-222 杨晓莉, 基于网络的在线考试系统研究与实现D. 万方数据库,2005:13-14.3 Mike Hotek,SQL Server 2008从入门到精通M. 清华大学,2011,122-1284 张树亮, 李超. ASP.NET 2.0+SQL Server网络应用系统开发案例静解M. 北京:清华大学出版社,2006:399-440.5 张晓辉, 李祥胜. SQL Server2000管理及应用系统开发M. 北京:人民邮

温馨提示

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

评论

0/150

提交评论