毕业论文--影院票务管理系统

毕业论文--影院票务管理系统

ID:9934634

大小:1.71 MB

页数:45页

时间:2018-05-16

上传者:U-5649
毕业论文--影院票务管理系统_第1页
毕业论文--影院票务管理系统_第2页
毕业论文--影院票务管理系统_第3页
毕业论文--影院票务管理系统_第4页
毕业论文--影院票务管理系统_第5页
资源描述:

《毕业论文--影院票务管理系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

目录摘要-1-ABSTRACT-2-第1章概述-4-1.1目的和意义-4-1.2课题的项目背景-4-1.3开发平台简介-4-1.3.1ASP.NET简介-4-1.3.2B/S-5-1.4系统开发硬件环境-6-1.5系统开发软件环境-6-第2章需求分析-7-2.1系统功能需求-7-2.2输入要求-7-2.3用户界面良好、操作简单-7-2.4系统用例图-8-2.4.1影院工作人员用例图-8-2.4.2客户用例图-8-2.5系统数据流图-9-第3章概要设计-12-3.1系统总体规划-12-3.1.1项目规划-12-3.1.2系统功能结构图-12-3.2系统模块设计-13-3.2.1用户模块-13-3.2.2影片模块-13-3.2.3大厅模块-14-3.2.4放映信息模块-14-3.2.5客户模块-14-3.2.6订单模块-15-3.3系统E-R模型分析-15-3.3.1实体分析-15-3.3.2系统整体的E-R图-15-3.3.3实体属性定义-16-3.3.4数据字典-17-第4章详细设计-18-4.1数据库设计-18- 4.2系统设计-22-4.2.1设计思路-22-4.2.2方法的说明-23-第5章系统测试-32-5.1功能测试-32-5.2性能测试-34-5.3改进意见-35-第6章总结-36-6.1今后努力的方向-36-6.2结束语-36-致谢-38-参考文献-39-附录-40-附录A:软件安装、使用-40-附录B:光盘资料说明-44- 计算机与信息学院本科毕业设计(论文)影院票务管理系统的设计与实现摘要本文讲述了信息管理与信息系统的发展现状,并在充分了解影院的运作流程的基础上,分析了影院对影片管理、票务销售等的具体需求,给出了系统的整体设计方案以及详细设计方案。文中主要侧重于该系统软件方面的设计与实现,以及主要功能模块的分析和设计。该系统采用VisualStudio2005(C#)开发,软件界面简洁友好,真正体现了所见即所得的思想。数据库采用了SQLServer2005,充分考虑了系统的安全性和稳定性,能够及时有效地对整个系统的数据进行储存和维护。影院票务管理系统是应用于影院的电子售票的系统,有前台客户操作和后台影院工作人员操作两大部分组成。前台主要包括在线注册,客户登录,查看影片信息,对影片进行打分和评论操作,查看大厅信息,购买预售票,取消预售票,以及对预售票付款最终确定订单等功能。后台主要包括用户信息的添加、修改、删除,放映厅信息的添加、修改、删除,影片信息的添加、修改、删除,放映信息的添加、修改、删除,订单的查看以及生成报表等功能。系统代码分离分成了二个层次:应用层,数据库访问层和一个用来辅助的类库——实体层。应用层是作为跟用户交互的层次,用户的操作在应用层上实现,数据的输入以及采集在应用层上进行,数据的展示在应用层上完成;实体层是数据库中各个表字段的一个映射,每张表对应于一个实体类,它用来保存二个层之间传递时的数据值,保证数据不会丢失以及正确性和同步性;数据库访问层是直接与数据库交互的一层,是数据库的操作层,数据库中数据的添加、修改和删除都由它来完成。关键字:影院票务;B/S;ASP.NET;CSS+DIV;SQLServer2005;代码分离-42- 计算机与信息学院本科毕业设计(论文)DesignandImplementation of cinema ticketing systemABSTRACTThisarticledescribesthedevelopmentstatusofinformationmanagementandinformationsystems,andfullyunderstandtheoperationofthetheaterprocessbasedontheanalysisofthespecificneedsofthetheateronfilmmanagement,ticketsales,theoverallsystemdesignanddetaileddesignprograms.ThepaperfocusesmainlyontheDesignandImplementationofthesystemsoftware,aswellasanalysisanddesignofmainfunctionmodules.ThesystemusestheVisualStudio2005(C#)development,softwareinterfaceissimpleandfriendly,andtrulyembodiestheideaofWYSIWYG.DatabaseusingSQLServer2005,givefullconsiderationtothesafetyandstabilityofthesystem,timelyandeffectivestorageandmaintenanceofthedataoftheentiresystem.Cinematicketingmanagementsystemisusedinthetheaterofthee-ticketingsystem,front-officecustomeroperationsandbackstagetheaterstafftooperatethetwomajorcomponents.Front,includingonlineregistration,CustomerLogintoviewthemovieinformation,rateandreviewthefilm,viewthehallinformation,topurchaseadvancetickets,cancelthepre-saletickets,andadvanceticketpaymenttofinalizeordersandotherfunctions.Background,includinguserinformationtoadd,modify,delete,theaterinformationtoadd,modify,delete,videoinformationtoadd,modify,delete,screeninginformationtoadd,modify,delete,viewordersandgeneratereportsandotherfunctions.Thesystemcodeseparationintotwolayers:applicationlayer,databaseaccesslayerandonefortheauxiliarylibrary-physicallayer.Theapplicationlayerasthelevelofinteractionwiththeuser,theuser'sactionsontheapplicationlayer,datainputandcollectionontheapplicationlayer,thedisplayofthedataattheapplicationlayer;physicallayeristhedatabasetablefieldsmappingeachtablecorrespondstoanentityclass,whichisusedtosavethevalueofthedatapassedbetweentwolayerstoensurethatdataisnotlostaswellasaccuracyandsynchronization;databaseaccesslayerisa-42- 计算机与信息学院本科毕业设计(论文)layerofdirectinteractionwiththedatabase,operationofthedatabaselayer,datainthedatabasetoadd,modify,andremovedbyit.Keywords:CinemaTicket;B/S;ASP.NET;theCSS+DIV;SQLServer2005;codeseparation-42- 计算机与信息学院本科毕业设计(论文)第1章概述1.1目的和意义影院售票系统是计算机技术与影院管理相结合的产物,通过影院售票系统实现了对影院的高效管理。随着计算机技术的不断提高,计算机已经深入到社会生活的各个角落。而采用人工管理的方法,不仅效率低,易出错,手续繁琐,而且耗费大量人力。为了满足售票人员对售票,订票,退票等进行高效的管理,在工作人员的具备一定的计算机操作能力的前提下,特编此影院售票系统软件以提高影院的管理效率。1.2课题的项目背景随着社会经济的快速发展,人们的娱乐活动越来越丰富,其中看电影占了很大的比例。开发此系统的目的是解决喜爱电影的人们买票难的问题。以前要买电影票必须到电影院买,这样既浪费时间,浪费精力,而且最终还不一定买到自己想看要的。有了本系统,可以很方便的让影迷在家上网查看影院的影片以及票务的信息,这样既省时又省力,可以同时了解到不同影片的信息,有更多的选择。本系统充分利用网络资源和人力资源。面对全球性影院观看热潮,国内外对影院观看的视觉需求,以及其规模的优势,其独有的互动效果和场内气愤赢得了越来越多的人的喜欢。1980~1984年平均产量达120部,每年观众人次平均在250亿左右。同时中国电影也进入一个蓬勃发展的新时期,中国美术片从形式到内部都极其富有民族色彩。伴随电影的发展,国内外的电子票务系统也告诉的发展,国内有许多的电子影院票务系统,如格瓦拉以及一些团购网站都有相关的内容。1.3开发平台简介1.3.1ASP.NET简介ASP.NET是Microsoft.NET的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP-42- 计算机与信息学院本科毕业设计(论文)兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.NET设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。ASP.NET提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及网络服务。贯穿整个ASP.NET的主题就是系统帮用户做了大部分不重要的琐碎的工作。ASP.NET支持多种语言,支持编译类语言,支持比如VB、VC++、C#等,它比这些编译类语言运行速度快,更适合编写大型应用。快速发展的分布式应用也需要更快速、更模块化、更易操作、更多平台支持和重复利用性更强的开发,需要一种新的技术来适应不同的系统,网络应用和网站需要提供一种更加强大的可升级的服务。ASP.NET能够适应上面的要求。1.3.2B/SB/S模式,即浏览器/服务器模式,是一种从传统的二层C/S模式发展起来的新的网络结构模式,其本质是三层结构C/S模式。在B/S模式中,客户端运行浏览器软件。浏览器以超文本形式向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,将这个请求转化为SQL语法,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给Web服务器,Web-42- 计算机与信息学院本科毕业设计(论文)服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来。在C/S结构模式下,应用系统被分为客户机和服务器两部分,其作用分别是Client主要用来管理接口,执行客户机应用程序、采集数据以及向Server发出应用请求,完成应用处理.Server主要用来承担系统的数据共享管理、通讯管理、文件管理和向Client提供服务,完成数据访问和事务处理。实现了功能分布,即由Client端承担了部分处理任务,但数据集中在Server中。在查询处理中,由Client提出查询请求,而Server完成对数据库的查询任务,查询结果通过网络传输到Client。B/S模式管理信息系统基本上克服了C/S模式管理信息系统的不足。B/S模式提供了一致的用户界面,B/S模式的应用软件都是基于Web浏览器的,这些浏览器的界面都很相似。对于无用户交互功能的页面,用户接触的界面都是一致的,从而可以降低软件的培训费用。系统基于Web设计,采用B/S结构体系,具有易安装、成本低、易升级、可扩充、完全开放、不受站点空间限制等特点。B/S模式具有更强的信息系统集成性,所有应用数据安装在服务器端,客户端无需安装任何软件,系统升级只需在服务器端进行升级操作。1.4系统开发硬件环境奔腾4以上CPU,10G以上硬盘空间,512MB以上内存,网络上行速度大于512KB/S,运行时对数据的保密性要求不高对一般的数据不要求进行加密。1.5系统开发软件环境Ø服务器端操作系统:Windows7或WindowsXP.Net环境:.Netframework2.0数据库软件:SQLServerManagementStudio(SQLServer2005)浏览器:IE6.0或以上版本Ø客户端操作系统:Windows7浏览器:IE6或以上版本-42- 计算机与信息学院本科毕业设计(论文)第2章需求分析2.1系统功能需求1.提供系统人员基本信息的设置,包括添加、修改、删除;影片2.提供放映厅基本信息的设置,包括添加、修改、删除以及座位的查看;3.提供影片基本信息的设置,包括添加、修改、删除;4.提供放映信息基本信息的设置,包括添加、修改、删除;5.提供放映厅和影片广告的展示;6.提供各种票务信息的组合查询,包括放映信息、订单、座位;7.顾客可以预定影票,取消影票的预定;8.顾客可以对预订票进行模拟付款,付款之后不允许退票;9.工作人员对订单进行统计,并可生成报表;10.影片进行评分和放映日期统计,展示给顾客看;11.顾客可以对影片进行打分、评论,并且将评分前十名的影片展示出来;2.2输入要求输入数据主要有:客户邮箱,客户密码,手机号码,银行账号,用户名,用户密码,座位数,大厅号,价格,影片名,时长,主演、导演等。手机号码、银行账号、大厅号、座位数、价格、时长为整型数据,客户邮箱为邮箱格式,其余大部分为字符型。输入一般采用界面的形式,如文本框,下拉框,单选框,复选框等。2.3用户界面良好、操作简单系统页面一律采用CSS+DIV排版界面,统一的窗口,提示信息位置及字体大小颜色醒目。因此看起来美观简洁,操作简单易懂。对查询提供精确查询和模糊查询,又使用了“表格方式”的用户界面。对所有数据输入进行完整性和合法性检查,尽量减少操作错误。整个系统可用键盘或鼠标操作。在各输入处有提示信息,便于系统用户的输入。打印机输出和屏幕显示可同步进行,给用户“所见即所得”的新感受。-42- 计算机与信息学院本科毕业设计(论文)2.4系统用例图2.4.1影院工作人员用例图系统的影院工作人员用例图如图2-1所示图2-1影院工作人员用例图2.4.2客户用例图系统的客户人员用例图如图2-2所示图2-2客户人员用例图-42- 计算机与信息学院本科毕业设计(论文)2.5系统数据流图2.5.1工作人员数据流图本系统影院工作人员的操作数据流图如图2-3图2-3操作人员的操作数据流图2.5.1客户数据流图本系统顾客的操作数据流图如图2-4-42- 计算机与信息学院本科毕业设计(论文)图2-4顾客的操作数据流图-42- 计算机与信息学院本科毕业设计(论文)第3章概要设计3.1系统总体规划3.1.1项目规划影院票务管理系统是应用于影院的电子售票的系统,有前台客户操作和后台影院工作人员操作两大部分组成。Ø前台功能模块前台主要包括在线注册,客户登录,查看影片信息,对影片进行打分和评论操作,查看大厅信息,购买预售票,取消预售票,以及对预售票付款最终确定订单等功能。Ø后台功能模块后台主要包括用户信息的添加、修改、删除,放映厅信息的添加、修改、删除,影片信息的添加、修改、删除,放映信息的添加、修改、删除,订单的查看以及生成报表等功能。3.1.2系统功能结构图影院票务管理系统的前台系统功能图,如图3-1所示图3-1影院票务管理系统前台功能表影院票务管理系统的后台系统功能图,如图3-2所示-42- 计算机与信息学院本科毕业设计(论文)图3-2影院票务管理系统后台功能表3.2系统模块设计根据结构化设计中模块的划分方法,即尽量把密切相关的子问题划归到同一个模块;把不相关的子问题划归到系统的不同模块。将系统划分为6个模块,下面将介绍每个模块的功能结构以及模块说明书。3.2.1用户模块Ø功能:用户信息的添加、修改、删除;用户登录,系统会验证正在登录的用户名、密码以及权限是否正确;添加新的管理员。模块说明书见表3-1表3-1在线注册模块说明书模块名称:用户模块说明:只有管理员可以添加用户和删除用户,管理员可以修改所有人的信息,普通用户只可以修改自己的信息;用户登录为指定的根据名字汉语拼音生成的用户名,初始密码为,登陆之后自行修改密码;忘记密码之后只能由管理员修改;添加新的管理员,只有管理员可以操作此项。3.2.2影片模块Ø-42- 计算机与信息学院本科毕业设计(论文)功能:影片信息的添加、修改、删除,其中影片图片保存图片名称,图片由影院工作人员上传;评分与评论,顾客对此操作具有选择性,可以不进行;影片根据不同信息的展示,其中评分高低由客户的评分结果判断;由用户输入一串字符,系统根据符合演员或导演或片名任意一个条件进行查询。模块说明书见表3-2表3-2影片模块说明书模块名称:影片模块说明:包括影片基本信息的添加、修改、删除,这些功能由影院工作人员操作完成;包括影片的评分和评论,此功能由客户完成;包括影片选择项的展示,例如按照上映日期倒序展示,按照影片评分由高到低展示,这些功能有系统自动实现;包括符合演员或导演或主演一项和多项的条件查询,这个功能由客户的输入信息和系统的查询完成。3.2.3大厅模块Ø功能:大厅信息的添加、修改、删除,其中大厅图片保存图片名称,图片由影院工作人员上传;展示某个大厅的座位排列以及座位预定信息。模块说明书见表3-3表3-3大厅模块说明书模块名称:大厅模块说明:包括大厅基本信息的添加、修改、删除,这些功能由影院工作人员操作完成;包括大厅座位信息以图形界面展示,同时展示出座位预定情况,此功能由影院工作人员选择大厅之后由系统完成。3.2.4放映信息模块Ø功能:放映信息的添加、修改、删除;根据多个条件进行组合查询用于系统的判断和应用,条件由顾客输入。模块说明书见表3-4表3-4放映信息模块说明书模块名称:放映信息模块说明:包括放映信息基本信息的添加、修改、删除,这些功能由影院工作人员操作完成,其中每个大厅没两场的放映有15分钟的间隔,由系统来作出判断;包括根据大厅号和影片名以及自今天起往后三天之内的放映信息的查询,此功能需要客户选择大厅号、影片和日期三个条件之后由系统完成。3.2.5客户模块-42- 计算机与信息学院本科毕业设计(论文)Ø功能:客户信息的添加、修改;根据密保问题和相应的密保答案修改密码或设置新的密码;登录时根据当前登录的客户邮箱和密码验证是否正确。客户模块说明书见表3-5表3-5客户模块说明书模块名称:客户模块说明:包括客户信息的添加、修改,其中添加由客户自行注册添加,修改信息由客户自行完成;客户忘记密码时可以根据密保问题与相应的密保答案设置新的密码;客户登录账号为客户注册时的邮箱。3.2.6订单模块Ø功能:订单信息的添加、修改、删除;对预订票的付款;根据多个条件进行组合查询用于系统的判断和应用,条件由系统自动获取;生成报表。客户模块说明书见表3-6表3-6订单模块说明书模块名称:订单模块说明:包括订单信息的添加、修改、删除,其中订单的增加为添加为付款的预售票订单的添加,修改为是否对预售票付款的修改,删除为对未付款的预售票订单删除,付款的预售票不可退票,以上功能均由登录的客户操作完成,未登录的客户不可操作;包括根据场次信息判断登录客户时候已经进行过添加订单操作,已经进行过添加订单操作的只能再次添加座位;包括根据不同的条件生成不同的报表,此功能由影院工作人员操作完成。3.3系统E-R模型分析3.3.1实体分析根据系统分析,确定系统有以下几个实体:顾客,评分,大厅,电影,订单,报表,座位,放映信息,用户,共9个实体。3.3.2系统整体的E-R图-42- 计算机与信息学院本科毕业设计(论文)E-R分析:一个大厅有多个座位,每个座位只能属于一个大厅;一个大厅可以有多个放映信息,一个放映信息只能在一个大厅内;每个影片有多个放映信息,每个放映信息只有一个影片;每个影片有多个评分和评论,每个评分和评论只对应于一个影片;每个客户可以有多次评分和评论,每个评分和评论只对应于一个客户;每个客户可以有多个订单,每个订单只属于一个客户;每个订单可以生成多个报表,每个报表只属于一个订单;每个用户(工作人员)可以生成多个报表;每个报表只对应于一个用户。系统的E-R图的设计如图3-3图3-3系统的E-R关系图3.3.3实体属性定义Ø用户(用户ID,用户名,用户密码,权限)主键:用户IDØ影片(影片ID,影片名字,影片图片,主演,导演,上映日期,语言,片长,类型,描述)主键:影片IDØ评分(影片ID,总分,平均分)主键:影片IDØ客户(客户ID,客户密码,邮箱,密保问题,密保答案)主键:客户IDØ订单(订单ID,客户ID,放映ID,座位ID,购买时间,付款,客户电话,验证码,银行账号)主键:订单ID;外键:客户ID,放映ID,座位IDØ放映信息(放映ID,影片ID,大厅ID,票价,开始时间)主键:放映ID;外键:影片ID,大厅ID-42- 计算机与信息学院本科毕业设计(论文)Ø大厅(大厅号,座位数,大厅图片,描述)主键:大厅号Ø座位(座位ID,大厅ID,排数,列数,预定)主键:座位ID;外键:大厅ID3.3.4数据字典数据字典(Datadictionary)是一种用户可以访问的记录数据库和应用程序源数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户的通信。Ø后台数据字典:管理请求:对系统基本信息设置的请求,系统根据请求加载相应的处理界面;影片基本信息:片名,图片,上映日期,时长,语言,主演,导演,类型,简介;查询条件(订单):【是否付款||片名,大厅,场次】;订单信息:片名,大厅,座位号,场次,客户电话,购买时间;大厅基本信息:图片,座位数,简介;场次基本信息:片名,大厅,票价,放映时间。Ø前台数据字典:查看首页命令:发送加载首页命令,系统加载首页;查看大厅命令:发送加载大厅命令,系统加载大厅界面展示给客户;付款或我的订单命令:查看当前登录的客户的订单;订单信息:片名,大厅,座位号,价格,开始时间。-42- 计算机与信息学院本科毕业设计(论文)第4章详细设计4.1数据库设计根据需求分析、系统设计以及数据流图和数据字典可以设计系统的物理数据模型,系统的物理数据模型如图4-3所示图4-3系统的物理数据模型CDM图物理数据模型设计好之后,利用PowerDesigner生成相应的逻辑数据模型,系统的逻辑数据模型如图4-4所示图4-4系统的逻辑数据模型PDM图-42- 计算机与信息学院本科毕业设计(论文)逻辑数据模型生成之后,PowerDesigner利用它生成crebas.sql文件,即可在SQLServerManagementStudio中执行此文件的SQL语句,继而生成了系统最终的数据库。本系统采用SQLServer2005数据库,系统数据库名为TheaterTicketManager。数据库中包含9张表,下面给出数据表结构:Ø用户表用户表(tbl_User)主要用于保存影院工作人员的信息,该表的结构如表4-1所示。表4-1表tbl_User的结构字段名数据类型长度为空主键描述UserIDint否是用户IDUserNamevarchar50否用户名UPassWordvarchar50否用户密码UserRightsint否用户权限Ø客户表客户表(tbl_Customer)主要用于保存客户的信息,该表的结构如表4-2所示表4-2表tbl_Customer的结构字段名数据类型长度为空主键描述CustomerIDint否是客户IDCPassWordvarchar50否客户密码Emailvarchar150否登录邮箱PwdQuestionvarchar150否密保问题PwdAnswervarchar150否密保答案Ø影片表影片表(tbl_Movie)主要用于保存影片的信息,该表的结构如表4-3所示表4-3表tbl_Movie的结构字段名数据类型长度空主键描述MovieIDint否是影片ID-42- 计算机与信息学院本科毕业设计(论文)MovieNamevarchar150否片名MovieImgvarchar150否影片图片MainActorsvarchar150是主演Directorvarchar50是主演BeOnDateTimedatetime是上映日期Languagevarchar50是语言Durationdecimal18,0否时长MovieTypevarchar100是类型Descriptionvarchar4000否影片描述Ø影片客户表影片客户表(tbl_MovieCust)主要用于保存客户对影片的评分及评论的信息,该表的结构如表4-4所示表4-4表tbl_MovieCust的结构字段名数据类型长度空主键描述MovieIDint否是影片IDCustomerIDint否是客户IDGradeNumint150是评分MovieCommentvarchar2000否评论CommentTimedatatime否评论时间Ø得分表得分表(tbl_Grade)主要用于保存影片的平均分和获得的总分,该表的结构如表4-5所示表4-5表tbl_Grade的结构字段名数据类型长度空主键描述MovieIDint否是影片IDGradeSumint否否总分GradeAvgdecimal18,1否平均分Ø大厅表-42- 计算机与信息学院本科毕业设计(论文)大厅表(tbl_Hall)主要用于保存放映大厅的信息,该表的结构如表4-6所示表4-6表tbl_Hall的结构字段名数据类型长度空主键描述HallIDint否是大厅号HallSeatsint否座位数HallImgvarchar150否大厅图片Descriptionvarchar4000否大厅描述Ø座位表座位表(tbl_Seats)主要用于保存放映座位的信息,该表的结构如表4-7所示表4-7表tbl_Seats的结构字段名数据类型长度空主键描述SeatIDint否是座位IDHallIDint否大厅号SeatRowint否座位排数SeatColumnint否座位列数Orderedint否是否预订Ø放映信息表放映信息表(tbl_Schedule)主要用于保存放映信息的信息,该表的结构如表4-8所示表4-8表tbl_Schedule的结构字段名数据类型长度空主键描述ScheduleIDint否是放映信息IDMovieIDint否影片号HallIDint否大厅IDSchedulePriceint否价格BeginDateTimedatetime否开始时间Ø订单表订单表(tbl_Order)主要用于保存订单的信息,该表的结构如表4-9所示-42- 计算机与信息学院本科毕业设计(论文)表4-9表tbl_Order的结构字段名数据类型长度空主键描述OrderIDint否是订单IDCustomerIDint否客户IDScheduleIDint否放映信息IDSeatIDint否座位IDBuyDateTimedatetime否预定时间Orderedint付款CustomerPhonevarchar50客户电话AuthCodeint验证码BankNumvarchar50银行账号至此系统最重要的部分数据库即已完成,在此基础上规范的进行系统的详细设计,实现系统的系统的基本功能。4.2系统设计4.2.1设计思路由于系统各个模块之间的关系,故采用代码分离方式进行系统的设计。使设计思路更加的清晰,有利于标准化,维护起来更加的方便,增加了代码的重复利用率,同时也增加了一定的安全性。但是也是有缺点的,此结构降低了系统的性能,因为系统业务必须通过层之间的依赖实现,也导致了级联的修改,因为某一功能业务的修改需要自上而下的进行。图4-5系统设计的二个层次以及实体层-42- 计算机与信息学院本科毕业设计(论文)如图4-5系统代码分离分成了二个层次:应用层,数据库访问层和一个用来辅助的类库——实体层。应用层是作为跟用户交互的层次,用户的操作在应用层上实现,数据的输入以及采集在应用层上进行,数据的展示在应用层上完成;实体层是数据库中各个表字段的一个映射,每张表对应于一个实体类,它用来保存二个层之间传递时的数据值,保证数据不会丢失以及正确性和同步性;数据库访问层是直接与数据库交互的一层,是数据库的操作层,数据库中数据的添加、修改和删除都由它来完成。其中应用层的展示主要用到CSS+DIV的排版方式,某些验证用到javascript脚本语言。4.2.2方法的说明每个类中都有或多或少的方法,这些所有的方法实现整个系统的功能,调用非本类中的方法需要要将该方法定义为public类型,并在该类中创建一个包含目标方法类的实例对象,这样就可以通过该实例对象调用目标方法了。其中数据库的链接语句保存在配置文件Wen.config中,,数据访问层中的类用staticstringsqlConnection=ConfigurationManager.ConnectionStrings["SqlConnection"].ToString();SqlConnectionconn=newSqlConnection(sqlConnection)就可以连接到数据库,从而对数据库进行操作。以下作为介绍系统实现的例子。-42- 计算机与信息学院本科毕业设计(论文)图4-6影片添加如图4-6为影片添加的用户界面,界面上有要求输入的文本框,供选择的下拉列表框和复选框以及上传图片的上传控件。用户填写的数据需要进行验证的都会进行进行并给出一定的错误提示和数据填写提示。该界面中【确定】按钮的事件会将一条新的影片信息插入到数据库中。其中它的时间代码为:stringintegerPattern=@"^[1-9]+[0-9]*$";//数字验证正则stringpath=Server.MapPath("pictures");boolfileOK=false;if(txtMovieName.Text.Trim().ToString().Length==0){lblPrompt.Text="片名不能为空";}elseif(txtYear.Text.Trim().ToString().Length==0){lblPrompt.Text="年份不能为空";}elseif(!Regex.IsMatch(txtYear.Text.Trim().ToString(),integerPattern)){lblPrompt.Text="年份为整数";}elseif(txtYear.Text.Trim().ToString().Length!=4){lblPrompt.Text="年份为四位";-42- 计算机与信息学院本科毕业设计(论文)}elseif(txtDuration.Text.Trim().ToString().Length==0){lblPrompt.Text="时长不能为空";}elseif(!Regex.IsMatch(txtDuration.Text.Trim().ToString(),integerPattern)){lblPrompt.Text="时长为整数";}elseif(txtLanguage.Text.Trim().ToString().Length==0){lblPrompt.Text="语言种类不能为空";}elseif(txtMainActors.Text.Trim().ToString().Length==0){lblPrompt.Text="主演不能为空";}elseif(txtDirector.Text.Trim().ToString().Length==0){lblPrompt.Text="导演不能为空";}elseif(cblType.SelectedItem==null){lblPrompt.Text="影片类型不能为空";}elseif(txtDescription.Text.Trim().ToString().Length==0){lblPrompt.Text="简介不能为空";}elseif(!fulImg.HasFile){Response.Write(fulImg.FileName);lblPrompt.Text="请选择影片图片";}elseif(fulImg.HasFile){stringfileExtension=Path.GetExtension(fulImg.FileName).ToLower();//需要用到命名空间System.IOstringtype="";string[]allowedExtensions={".gif",".jpg",".png",".jpeg"};for(inti=0;i0){lblPrompt.Text="影片信息已经存在";}}}其中调用了MovieDAO类中的方法getMovieByMovieName()检查影片信息是否已经存在,调用MovieDAO类中的方法InsertMovieInfo()插入一个新的影片记录到数据库中去。下面介绍MovieDAO中的这两个方法:-42- 计算机与信息学院本科毕业设计(论文)///

///根据片名查找影片/////////publicDataTablegetMovieByMovieName(stringmovieName){stringsqlStr="select*fromtbl_MoviewhereMovieName='"+movieName+"'";conn.Open();SqlDataAdapterda=newSqlDataAdapter(sqlStr,conn);conn.Close();DataSetds=newDataSet();da.Fill(ds);DataTabledt=ds.Tables[0];returndt;}//////根据页码数选择影片信息/////////publicDataTablegetMovie(intpgNum){inttemp=5*pgNum;//涉及到每页的数目intsum=getAllMovie().Rows.Count;stringsqlStr="select*from(selecttop5*from(selecttop"+temp+"*fromtbl_MovieorderbyBeOnDateTimedesc)aorderbyBeOnDateTimeasc)borderbyBeOnDateTimedesc";//涉及到每页的数目if(sum%5!=0)//涉及到每页的数目{if(pgNum==(sum/5+1))//涉及到每页的数目{sqlStr="select*from(selecttop"+sum%5+"*from(selecttop"+temp+"*fromtbl_MovieorderbyBeOnDateTimedesc)aorderbyBeOnDateTimeasc)borderbyBeOnDateTimedesc";//涉及到每页的数目}}conn.Open();SqlDataAdapterda=newSqlDataAdapter(sqlStr,conn);conn.Close();DataSetds=newDataSet();da.Fill(ds);DataTabledt=ds.Tables[0];returndt;-42- 计算机与信息学院本科毕业设计(论文)}由此可以看出调用本类以外方法的一个条件就是目标方法要是public类型的,另外一个条件就是要在调用目标方法的类中添加MovieDAOmovieDAO=newMovieDAO();MovieEntitymovieEntity=newMovieEntity();添加这两行代码即可,就可以轻松的实现不同类中方法的调用。然而【确定】按钮的事件方法和MovieDAO中的方法都用到了类MovieEntity,这也正体现了实体类的用处了,不同类之间数据的传递。实现按评分展现影片列表的方法如下://////获取平均分排名在前名的影片//////publicDataTablegetMovieTopTen(intnum){stringsqlStr="";if(num==5){sqlStr="select*fromtbl_MoviewhereMovieIDin(selecttop5MovieIDfromtbl_GradeorderbyGradeAvgdesc)";}elseif(num==10){sqlStr="select*fromtbl_MoviewhereMovieIDin(selecttop10MovieIDfromtbl_GradeorderbyGradeAvgdesc)";}conn.Open();SqlDataAdapterda=newSqlDataAdapter(sqlStr,conn);conn.Close();DataSetds=newDataSet();da.Fill(ds);returnds.Tables[0];}这里的参数是决定选出前十还是前五用来展示影片列表,系统前端首页传入参数值为5,首页上展示评分前五的影片,用户选择更多的时候将传入值为10的参数,系统将会展示评分前十的影片。-42- 计算机与信息学院本科毕业设计(论文)图4-7客户的订单操作(付款和取消订单)如图4-7所示为客户对订单的操作,其中订单的展示,付款和取消订单都用到了OrderDAO中的方法,三个方法如下://////根据客户信息获取订单详情/////////publicDataTablegetOrderByCid(intcid,intstatus){DateTimetime=DateTime.Now;time=time.AddDays(-2);//查找可以订票时间范围内的订单stringsqlStr="selecta.OrderID,d.SeatID,c.MovieName,b.HallID,d.SeatRow,d.SeatColumn,b.SchedulePrice,b.BeginDateTimefromtbl_Ordera,tbl_Scheduleb,tbl_Moviec,tbl_Seatsdwherea.ScheduleID=b.ScheduleIDandb.MovieID=c.MovieIDanda.CustomerID="+cid+"anda.BuyDateTime>='"+time+"'anda.SeatID=d.SeatID";if(status==2){sqlStr=sqlStr+"orderbyBuyDateTimedesc";}elseif(status==1){sqlStr=sqlStr+"anda.Ordered=1orderbyBuyDateTimedesc";}elseif(status==0)-42- 计算机与信息学院本科毕业设计(论文){sqlStr=sqlStr+"anda.Ordered=0orderbyBuyDateTimedesc";}conn.Open();SqlDataAdapterda=newSqlDataAdapter(sqlStr,conn);conn.Close();DataSetds=newDataSet();da.Fill(ds);returnds.Tables[0];}系统自动调用这个方法即实现了图4-7中的订单列表的展现;//////根据订单ID付款之后修改订单信息////////////publicvoidupdateOrderInfo(stringphone,intauthCode,stringbankNum,intoid){stringsqlStr="";sqlStr="updatetbl_OrdersetOrdered=1,CustPhone='"+phone+"',AuthCode="+authCode+",BankNum='"+bankNum+"'whereOrderID="+oid;conn.Open();SqlCommandcomm=newSqlCommand(sqlStr,conn);comm.ExecuteNonQuery();conn.Close();}图4-7中的【付款】按钮调用这个方法即实现了图4-7中的订单付款的操作;//////根据订单ID删除订单//////publicvoiddeleteOrder(intoid){stringsqlStr="deletefromtbl_OrderwhereOrderID="+oid;conn.Open();SqlCommandcomm=newSqlCommand(sqlStr,conn);comm.ExecuteNonQuery();conn.Close();}-42- 计算机与信息学院本科毕业设计(论文)图4-7中的【取消预定】按钮调用这个方法即实现了图4-7中的订单取消的操作。以上为几个系统设计的例子,整个系统就是按照这样的思路实现功能。数据访问层中的类中的很多方法会被应用层的控件事件或者方法重复调用,实现了代码的复用,减少了一定的工作量。-42- 计算机与信息学院本科毕业设计(论文)第5章系统测试5.1功能测试本系统的测试主要是功能测试,测试系统的功能的时候已正确的完成。功能测试的主要内容是按实际操作的数据向系统的各个功能模块输入数据,检测输出结果是否符合预期要求。例如:大厅的添加和订单的生成报表,详细如下:图5-1大厅添加失败-42- 计算机与信息学院本科毕业设计(论文)图5-2大厅添加输入正确的数据图5-3大厅添加之后同样会给出相应的提示-42- 计算机与信息学院本科毕业设计(论文)图5-4订单列表的展示图5-5生成exel文件的报表以生成时间为名称经测试,系统的功能基本已经完成。5.2性能测试在对各个模块的测试完成后对整个系统做一个完整的测试,以检验各模块在联合运行时运行结果是否符合预期要求,运行时占用的系统资源的大小,系统功能执行所用的时间。由于本系统是基于BS模式开发的。因此,系统的性能很大程度上与服务器和网络速度有很大的关系。经测试,在CPU:2.00GHz,内存3-42- 计算机与信息学院本科毕业设计(论文)G的硬件配置和WindowsXP+IIS5.1的软件配置上运行本系统,均能正常运行。经测试结果属于正常接受范围,不会造成数据库和系统崩溃的现象。5.3改进意见由于本人技术水平有限,完成时间仓促,故系统还存在许多不足之处。经过测试,发现系统并不是完美的系统,存在瑕疵。例如订座位时的不方便,由于缺少技术与经验无法实现目前市场上的订座功能,这是最大的瑕疵;下拉列表框无法显示与数据库中相对应的数据,用了文本框与下拉列表框的显隐解决这个问题,等等。还有很多的技术难题需要去攻关,需要尽量多的利用技术实现系统的完美性。-42- 计算机与信息学院本科毕业设计(论文)第6章总结6.1今后努力的方向个人觉得这个课题的立足点非常好,非常有实际意义,如果能将系统的功能进一步完善并投入使用,那将为我们的实训课程带来很大的便利。一直希望能在系统中用上不一样的技术,首先想要对Javascript了解,用这门强大的脚本语言帮助实现一些功能,既可以使页面更加的美观,在一定程度上减少了服务器的压力,有助于提高系统的性能。总之要精通一门技术,是要建立在这个领域的知识架构上的,只有这样才能适应当前市场或者可预见的潜在未来市场的要求。6.2结束语在论文的最后,我想说说自己的许多感受。在这一段做毕业设计的日子里,除了遇到了许多的技术问题以外,感觉到更多的是做事方法的问题。自己在做毕业设计的时候会遇到许多的困难,比如在外实习的时间问题,对于惰性的克服,对于某一阶段,某些东西的取舍问题。毕业设计是我们大学阶段的最后一道槛,跨过之后我们将开始自己崭新的人生,翻开人生新的篇章。学校学到的知识可以说是十分的有限,我们需要花更多的时间去掌握现当今正流行甚至是即将流行的技术与知识,只有在不断地充实过程中,我们的工作、生活才会更加的绚丽多彩。这次的毕设既是我大学期间的一个结点,也是我将来工作的新的开始。虽然我做的软件在功能方面、安全性方面等还有很大的缺陷,但是这样一个完整的过程,使我在实践中吸取了不少的经验,相信在日后会对自己有更多的帮助。软件工程是一个大的思想体系,今后无论做程序的开发、测试或者转行做其他的。我想这个工程化的思想方法始终是有用的,在大学里学的很多理论,日后用到的时候一定都会觉得很感慨。在编码实现阶段,我发觉自己有很多不懂的地方,学校里学的东西完全不能解决复杂的应用,而且web应用的开发,需要有一个系统的知识架构,单单了解一方面是不行的。希望在未来的工作和学习过程中能够不断加强自己对程序的理解和领悟,开发出更多更完善、实用的系统。-42- 计算机与信息学院本科毕业设计(论文)由于本人的知识水平和实践经验有限,论文中不免有一些疏漏、不当甚至错误之处,希望各位老师给予批评指正。-42- 计算机与信息学院本科毕业设计(论文)致谢在这次制作毕业设计的过程中,我获得了来自于同学们和老师们的帮助。尤其是导师XXX老师对我的指导。从最开始的需求分析到程序代码的实现,XXX老师帮我解决了许多的困惑,并且提了不少的建议。尤其是XXX老师在非常忙的时候,依然会细心的帮我指导,帮助我顺利的完成毕业设计。另外,我也感谢校方给予我这样一次的机会,能够独立地完成一个课题,并在这个过程当中,给予我们各种方便,使我们在即将离校的最后一段时间里,能够更多学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。再一次对我的母校表示感谢,即将毕业,我感谢母校这四年来对于我的培育。同时也感谢所有在毕业设计中曾经帮助过我的良师益友和同学,以及在设计中被我引用或参考的论著的作者。最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位老师表示感谢。-42- 计算机与信息学院本科毕业设计(论文)参考文献:[1]梅晓冬,颜烨青.VisualC#网络编程技术与实践[M].清华大学出版社,2008-06-01[2]刘瑞.C#网络编程及应用.机械工业出版社,2004-6-1[3]萨师煊,王珊.数据库系统概论(第3版)[M].高等教育出版社,2006-5-1.[4]武马群.SQLServer2000数据库基础与应用.北京大学出版社,2005-6-1[5](美)内格尔.C#高级编程(第6版)[M].清华大学出版社,2008-10-1[6][美]麦克金,赫特克.SQLServer2005数据库服务器架构设计[M].清华大学出版社,2007-10-0[7]张跃廷,顾彦玲.ASP.NET从入门到精通[M].清华大学出版社,2008-9-1[8]王宏.C#程序设计案例教程.清华大学出版社,2002-01[9]刘冰.软件工程实践教程.机械工程出版社,2009-1-1[10]马丁.敏捷软件开发:原则、模式与实践(C#版)[M].人民邮电出版社,2008-01[11]BenjaminFranklin.TheConcpetsofDatabaseMagement[M].YaleUniversityPress,2006.[12]Timothy·KG·Ulysses.ScienceDirect[M].Educational&ProfessionalGroup,2007.[13]JimArlow,IIaNeustadt.UML2andtheUnifiedProcess:PracticalObject-OrientedAnalysisandDesign,SecondEdition,2006.-42- 计算机与信息学院本科毕业设计(论文)附录附录A:软件安装、使用1.软件(系统)安装本系统是基于B/S结构的,所以客户端不需要特地进行软件安装操作,只需要有最基本浏览器以及必须有互联网访问的条件就可以访问本系统,用自己的账号就可以登录使用本系统操作客户的基本功能。本系统的安装说明主要针对服务器端。1.1系统要求服务器端的要求是内存最低2G,硬盘80G,四核处理器的WinXP操作系统,同时服务器必须配置至少10M宽带。1.2安装前准备本系统是基于微软的.net平台开发的,后台使用了SQLSERVER2005数据库,所以服务器系统必须安装.netframework2.0及以上的运行环境,SQLSERVER2005数据库管理工具以及IIS,所以在安装前必须要准备好以上工具的正版安装软件,同时要另外准备一个终端设备用以测试。1.3安装首先在UNIX操作系统上安装上述必要的软件,安装完成后将本系统的文件部署到IIS的指定目录下,将数据库文件附加到SQLSERVER数据库管理中,然后通过客户终端设备进行测试访问,或利用一些测试软件对网站进行压力,性能等多方面测试。2.软件(系统)使用概述2.1前台使用说明首先登入系统主页;浏览影片信息,点击“大厅展示”查看大厅信息,点击“首页”-42- 计算机与信息学院本科毕业设计(论文)加载系统首页;可以查看首页中或者评分列表中的影片详细信息;选择大厅和日期查看已选择影片的放映场次信息;客户输入用户名密码登陆系统,之后才可以进行以下操作;客户对影片进行评分和评论;选择放映场次信息之后加载选择座位页面;客户选择排数之后,可以选择做个列数,点击付款进入付款界面;选择座位之后可以进行付款或者退票操作;填写银行账号和手机号之后可以进行付款;付款成功之后将收到验证码;客户点击“查看订单”可以查看自己的订单;客户可以根据退出系统。部分图示如下:图附A-1客户登陆图附A-2打分、评论、查看场次-42- 计算机与信息学院本科毕业设计(论文)图附A-3选择座位号图附A-4付款或者取消预售票2.1后台使用说明用户输入用户名密码登入系统,以下操作皆在登入以后进行;员工可自行修改密码;-42- 计算机与信息学院本科毕业设计(论文)Ø员工管理员工列表:可以查看员工的基本信息;员工添加:员工用户名为员工姓名的拼音,如有重复可以查看相同姓名和类似姓名的员工账号;填写员工用户名之后即可添加员工;员工修改:修改员工的密码以及权限;员工删除:删除指定员工;添加管理员:选择员工之后将其提升为管理员;其中员工列表没有权限限制,其他皆只有管理员可以操作。Ø影片管理影片列表:查看所有的影片信息;影片添加:输入影片的基本信息之后,添加影片;影片修改:选择影片之后,填写影片的信息,修改影片的信息;影片删除:删除指定影片。Ø影院管理大厅列表:查看影院所有的大厅信息;大厅添加:输入大厅图片和大厅座位数之后,添加大厅;大厅修改:选择大厅之后,填写大厅信息,修改大厅信息;座位查看:选择大厅之后,查看大厅的座位排列,选择场次之后,可查看座位的预定情况;大厅删除:删除指定的大厅;Ø场次管理场次列表:查看所有的场次信息;场次添加:选择影片,大厅,时间之后添加场次,系统会自动为每个大厅的每两个场次之间加15分钟的间隔;场次修改:选择场次之后,输入场次信息,修改场次信息;场次删除:删除指定的场次。Ø订单管理查看订单:查看所有的订单,选择是否付款信息查看订单,选择高级,选择信息之后查看订单,将当前显示订单生成exel格式的报表。-42- 计算机与信息学院本科毕业设计(论文)附录B:光盘资料说明刻入光盘的资料有任务书、开题报告论文、系统源代码、英文翻译。有两个文件夹,分别为文档和系统源代码。文档中包括任务书、开题报告论文英文翻译。系统源代码中包括三个文件夹和解决方案文件:TheaterTicketManagement、TheaterTicketManagementDAO、TheaterTicketManagementEntity、TheaterTicketManagement.sln。三个文件夹分别为系统的应用层、数据访问层和实体层。TheaterTicketManagement包括了Web.config配置文件,客户主页index.aspx和多个文件夹。文件夹Movie和Hall下都有文件夹pictures,该文件夹下存放的分别是影片和大厅图片;文件夹Css下存放的是系统所有的.css文件;文件夹js下存放的是系统所有的.js文件;文件夹images下存放的是系统的图片;其他的文件夹下存放的是系统的.aspx网页文件。TheaterTicketManagementDAO包括了系统所有的...DAO.cs数据库访问类文件。TheaterTicketManagementEntity包括了系统所有的...Entity.cs实体类文件。-42-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭