电影院自选座订票系统的设计与实现_第1页
电影院自选座订票系统的设计与实现_第2页
电影院自选座订票系统的设计与实现_第3页
电影院自选座订票系统的设计与实现_第4页
电影院自选座订票系统的设计与实现_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)题目电影院自选座订票系统的设计与实现系(院)信息工程系专业通信工程班级2011级1班学生姓名***学号1114110109指导教师***职称讲师二〇一五年六月七日独创声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本声明的法律后果由本人承担。作者签名:二〇年月日毕业设计(论文)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。(保密论文在解密后遵守此规定)作者签名:二〇年月日滨州学院毕业设计(论文)第一章绪论1.1引言电影,是由活动照相术和幻灯放映术结合发展起来的一种连续的视频画面,同时电影也是融合了摄影、绘画、音乐、舞蹈等多种元素的一种艺术。他是现代科技与艺术的综合体。早在1896年8月11日,法国商人就在上海徐园“又一村”茶楼内放映了“西洋影戏”。1905年,北京丰泰照相馆摄制了中国第一部电影《定军山》,国产电影从此开始飞速发展。随着物质生活的急速发展,电影早已经融入到了人类社会的方方面面,成为人们丰富精神生活的重要娱乐方式,是人们生活中不可或缺的一员。与此同时,一种新兴的商务模式悄然诞生,这就是电子商务。电子商务通常是指在全球商业贸易活动中,因特网开放的网络环境下,基于B/S(Browser/Server)应用方式,买卖双方不谋面地进行商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的商业运营模式。它能提供准确、快速、高效的商务运作,目前世界上的很多发达国家如:美国、德国、加拿大、英国都大规模的使用电子商务代替传统销售模式。和传统模式相比电子商务具有高效、低成本、更加快速的应对市场变化、不受交易双方地理位置限制等传统销售模式无法实现的优点。电子商务的整体性、安全性、协调性、方便性使其在现在社会中具有更强的竞争力,电子商务成为主流销售模式已经是必然趋势。1.2电影院网上订票自选座系统的优点和实用价值建立基于B/S(Browser/Server)的电影院订票自选座系统,从用户选择观看电影、场次到购票付款全都在用户WEB界面和服务器上完成,避免了人工售票由于疏忽造成的购票信息错误、资金错误,保证了交易的安全,极大的方便了用户,同时减少了电影院的工作量[1]。利用网络的便利性,避免了用户因为天气、交通、地理位置等因素造成的购票不便。即使在恶劣天气,交通阻塞,距离售票点位置遥远的情况下,只要有网络,只要能打开网页,用户依然可以随时随地,选择自己想看的电影进行购票。长时间排队、长途跋涉的去售票点购票将成为历史。利用电子商务的在线付款,使用户付款更加方便,同时避免了电影院、银行因为频繁的大规模资金流动造成的差错,减少了影院、银行工作人员的工作量。利用WEB页面可以很方便的把近期上映的电影信息完整的展现出来,影院方面省去了到处张贴海报的工作,用户也可以更直观清晰的选择自己想看的电影及场次。本系统的自选座功能可以让用户在购票的同时选择座位,方便了情侣观看电影购买情侣座,同时因为用户在模拟图上提前知道了自己的位置,在进入影院后可以迅速找到自己位置,避免了因光线昏暗、人数太多找不到座位造成的混乱。本系统购票后生成的是一串验证码(可以改进成二维码),用户到影院只需通过二维码验证即可正常进入观看电影,减少了影院成本同时保护了环境。1.3研究课题的背景和意义电影,是由活动照相术和幻灯放映术结合发展起来的一种连续的视频画面,同时电影也是融合了摄影、绘画、音乐、舞蹈等多种元素的一种艺术[2]。他是现代科技与艺术的综合体。自1905年中国第一部电影《定军山》的诞生到2010年,中国的电影业已走过了一百多年的历程。改革开放以来国内电影的发展更是与日俱新。随着全球网络化,很多人都认为去电影院观看电影将成为历史,更多的人将选择在家观看电影。然而数据显示,2012年中国生产故事影片745部(含电影频道出品的数字电影92部),生产各类电影总量达893部;全国电影总票房达到170.73亿元。2013年2月,我国影院的放映场次达200多万场,环比1月份基本持平;观影人次达5700多万,增长近1000万人次,增幅达19%;共产出票房21亿多元,大增近5亿元,增幅高达近30%。可以看出随着人们物质生活水平的提高,人们对于看电影的要求也越来越来高,影院提供的高清晰度超大银幕,以及影院的气氛、音效才能更好满足人们对于观看电影的高要求。随着3D电影的到来,人们更多的去选择去影院观看大片,而不是窝在家里。顺应形势万达院线、上海联和、中影星美、中影南方、大地院线、金逸影视等全球级大影院也迅速发展起来。然而去影院观看电影的人数越来越多,传统的购票方式就显得有点力不从心了。一些一线城市晚上放映的电影,人们甚至需要一大早就去排队。而且由于传统售票方式电影信息以及场次信息的不清晰,很多人排了很长时间的队却发现想看的电影或者想要场次的票卖光了,再或者是买错了场次,极大的造成了资源和时间的浪费。现代生活的快速紧张的节奏,这种现象怎么能够允许。于是如何方便高效的购买到自己心仪已久的电影票就成为需要解决的问题。电子商务自20世纪90年代中期诞生以来就显示了其旺盛的生命力。由于INTERNET的迅速流行,电子商务引起了广泛的注意,被公认为是未来IT业最有潜力的新的增长点。我国政府对电子商务一直以为都很重视,自1996起先后采取了一系列措施推动电子商务的发展。中共中央办公厅、国务院办公厅印发《2006年~2020年国家信息化发展战略》为中国企业电子商务的发展做了具体规划。我国的“金关工程”、“金企工程”、“金卡工程”、“金贸工程”等在电子商务热浪中,又出现了新一轮建设高潮,很多部委建立了自己业务范围的电子商务系统,如外贸领域的国际电子商务中心等[3]。电子商务如此火热,本就弊端重重的电影院传统售票模式被取代也是大势所趋。本系统采用WEB页面制作的前台可以方便透明的展示各类影片信息以及放映时间表,无论是用户查询的清晰性还是信息的完整性都是传统张贴海报、时间表无法比拟的。从电子商务的蓬勃发展来看,采用网上支付也更加符合用户的消费习惯,减少的影院工作人员的工作量,同时方便了用户。第二章相关技术分析介绍2.1HTML简介HTML(HyperTextMarkupLanguage,超文本标记语言)是WEB的统一语言,这些容纳在尖括号里的标签。构成了如今的WEB。1991年万维网之父TimBermers-lee编写了一份《HTML标签》文档,包含大约20个用来标记网页的HTML标签,这就是后来我们看到的HTML标记。W3C取代EITF,成为HTML标准组织,之后HTML版本被频繁修改,直到1999年的HTML4.01,至此,HTML抵达了他的以第一个拐点[4]。W3C随之推出XHTML1.1、XHTML2.0,直至目前W3C与WHARWG共同推出的HTML5。HTML的基本结构分3部分,完整的HTML包括声明、头部(Head)和主体(Body),头部包括网页标题(Title)等基本信息,主体包括网页的内容信息,如图片、文字等。HTML页面的基本结构:<htmlxmlns="/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title>页面标题</title></head><body>主体</body></html>HTML是一种对文本内容进行结构化和标示的语言。HTML语言中的每一种标签都具有它特有的含义,如<h1>~<h6>标签用于定义同级别大小的标题,<p>标签用于定义段落,<u1>标签用于定义无序列表等。说得更通俗一点,利用其相应的含义去进行网页元素的排版,因为无论是浏览器,还是搜索引擎都能读懂他们。HTML的基本标签:标题标签<h1~h6>标题标签标示一段文字的标题,并且支持多层次的内容结构。HTML共提供了6级标题,分别为<h1~h6>,并赋予了标题一定的外观,所有标题字体加粗,其中<h1>字号最大,<h6>字号最小。图像标签<img><imgsrc="url"alt="文本"width="x"height="y"/><img>标签是空元素所以后面没有</img>;src属性表示显示图像的地址,可以写相对路径,也可以写绝对路径;alt属性是指当图片无法正常显示时,下面显示的文字;width、height属性可以控制图片显示的宽高;段落标签<p>段落通过<p>标签定义。<p>表示段落的开始,</p>表示段落的结束,它是一个块级元素。超链接<ahref="url"target="目标窗口位置">链接文本或图像</a>点击购票跳转到指定的购票页面就通过<a>标签来实现。表格的基本语法:<tablewidth="100%"border="1"cellspacing="0"cellpadding="0"><tr><tdalign="left"rowspan="1"colspan="1"></td></tr></table>表单元素:文本框<inputtype="text"value=""/>密码框<inputtype="password"value=""/>单选按钮<inputtype="radio"value="">文件选择框<inputtype="file"name="myFile">2.2JavaScript简介JavaScript是一种描述语言,也是一种基于对象(Object)和事件驱动(EventDriven)的、安全性好的脚本语言[5]。它运行在客户端,从而减轻服务器端的负担,其特点如下:JavaScript主要用来向HTML页面中添加交互行为。JavaScript是一种脚本语言,语法和Java类似。JavaScript一般用来编写客户端脚本。JavaScript是一种解释性语言,边执行边解释。JavaScript主要实现的功能有如下两点:客户端表单验证在网站中常见的会员注册页面中,我们填写注册信息时,如果某项信息格式输入错误(如用户名包含非法字符),表单页面将及时给出错误提示。这些错误在没有提交到服务器前。在客户端提前进行验证。这样用户得到了即时的交互,同时也减小了网站服务器端的压力。实现页面交互在JavaScript中,可以编写响应鼠标单击等事件的代码,创建动态页面特效,从而高效的控制页面的内容等,可以在有限的页面空间里展现更多的内容,从而增加客户端的体验,进而使网站更加有动感、有魅力,吸引更多的浏览者。JavaScript的组成JavaScriptJavaScriptBOMDOMECMAScriptBOMDOMECMAScript图2.1JavaScript组成JavaScript的执行原理客户端请求某个页面发送请求发送请求服服务器浏览器解释并执行带脚本的网页浏览器解释并执行带脚本的网页返回响应返回响应WEB应用服务器响应请求WEB应用服务器响应请求图2.2JavaScript执行原理JavaScript的3种引入方法使用<script></script>标签<scripttype="text/javascript"></script>可以写在<head></head>标签里,也可以写在<body></body>里。使用外部JS文件单独写一个后缀名为.js的JS文件使用<scripttype="text/javascript"href=""></script>引入直接写在HTML标签中如:<bodyonload="alert("liaowei")"></body>2.3数据库数据库就是按照数据结构来组织、存储和管理数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按照一定格式存放的[6]。安装有数据库管理系统,负责运行数据库管理系统,对数据库实现管理和控制的计算机成为数据库服务器。数据库的作用是保存数据和管理数据,他可以更快地查询、处理、统计数据,还可以保持数据的一致性、共享性和安全性,方便智能的分析、产生新的有用信息[7]。2.3.1数据库系统 数据库系统应用程序应用程序处理查询应用程序的软处理查询应用程序的软件访问以存储数据的软件数据库数据库数据库图2.3数据库系统2.3.2数据库模型1.层次结构模型生产商生产商终端1代理商1代理商2终端2终端3图2.4数据库层次结构模型2.网络结构模型计算机系统计算机系统硬件系统软件系统中处理器存储器输入设备输出设备图2.5数据库网络结构模型3.关系结构模型关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,…)表2-1电影信息表编号影片导演演员类型010203第三章系统分析与设计3.1前台系统构架影片介绍影片查询影片查询场次表场次表购票页面网站首页网站首页购票成功返回一个串码购票成功返回一个串码会员注册会员服务会员服务会员登录图3.1前台系统架构影片列表3.2后台系统构架影片列表增加影片影片管理增加影片影片管理删除影片场次列表后台场次列表后台验证结果影票验证验证结果影票验证影院公告图3.2后台系统架构3.3Oracle数据库及本系统资料结构图3.3数据库表格的建立piaoId:售出的每张票的唯一ID。seatPrice:票价。moviename:电影名称。seatRegion:座位号。authCode:购票后生成的唯一验证码,用于票的验证。第四章网站的建设4.1首页设计因时间有限,首页设计了一个标题栏用以切换4个专区的电影,4个专区分别为:最新电影、欧美大片、男性影院、院线新片。标题栏下面是一个965像素*155像素的影片介绍区,展现了影片封面以及首映时间和地点,用户点击影片封面或者下面的名字就会通过超链接进入相应地购票页面(购票页面后面会介绍)[8]。图4.1网站首页设计标题栏代码为: <!--左边标题开始--> <divclass="hot_l_titlemovie_l_title"> <h2class="htitlemovie_pic"></h2> <!--tab切换标题--> <divclass="tabbox"> <aclass=""href="">最新电影</a>| <ahref="">欧美大片</a>| <ahref="">男性影院</a>| <aclass="newhot_style"href="">院线新片</a> </div> <aclass="more"href="">更多</a> <!--tab切换标题结束--> </div>影片列表部分代码为:<ulclass="img_list_public"style="display:block;"> <li><aclass="pic"href=""> <imgalt=""src="./images/2e5430c7.jpg"></a> <aclass="title"href="">江一燕赤裸争艳</a> <p>七月观影指南</p> </li> <li><aclass="pic"href=""><imgalt=""src="./images/8d927f6ac58f371f4f84962da102b213.jpg"> </a> <aclass="title"href="">饥饿游戏2:星火燎原</a> <p>7月21日滨院首映</p> </li> <li><aclass="pic"href=""> <imgsrc="./images/4adf1567016de805289589b38120d45b.jpg"> </a> <aclass="title"href="">地心引力</a> <p>7月19日滨院首映</p> </li><li> <aclass="pic"href=""> <imgsrc="./images/1cb0f8c932d93947d904a67d9753e1c3.jpg"> </a> <aclass="title"href="">步步追魂</a> <p>7月15日滨院首映</p> </li></ul> <!--左边图片区域结束--> </div>网页CSS样式文件通过<linkhref="lunwen.css"rel="stylesheet"type="text/css"/>引入,文件内容这里不再叙述。5.1自选座的设计图4.2自选座座位表这是一个9排15列的座位表,白色部分为可订购座位,红色代表已订座位。为简化程序,中间部分座位默认设置为已订座位,还剩26个可订座位。[9]当用户点击座位时通过javascript的onclick调用已经写好的piao.js脚本弹出提示,同时将影片价格信息显示在右侧,如图所示:图4.3选择影片Piao.js的代码为:varseat={zTree:'',pNode:'',loadTree:function(){$.post("menuitemAction_getAllMenuitem.action",null,function(data){$("#tree").zTree(tree.setting,data.menuitemList);});}, getSeat:function(){ alert("您选择了1排1座的座位"); $("#noSeat1").attr("src","./images/zw_bkx.gif"); seat.updatePrice(); }, updatePrice:function(){ $("#SelectSeatPrice").text("84"); $("#SelectSeatCount").text("1"); $("#SelectedSeatRegion").text("1排1座"); }};$().ready(function(){ $("#noSeat1").unbind("click");$("#noSeat1").bind("click",function(){seat.getSeat();}); $("#phoneText").unbind("click"); $("#phoneText").bind("click",function(){ $("#phoneText").val(""); });});5.2购票与验证5.2.1用户买票用户首先通过网站首页点击自己要看的电影进入购票页面,选好相应的座位点击购票[10]。通过head标签中引入首页的js,当首页加载之后easyUi会自动加载页面数据,加载数据的过程是:先通过js到后台取数据,即向后台发送请求:(<scripttype="text/javascript"src="<%=basepath%>admin/incmat/js/incmat.js"></script>)请求地址为path+'/incmat/incmatPageList.action具体代码为:$(function(){ $('#incmatlist_dg').datagrid({ url:path+'/incmat/incmatPageList.action', fit:true, border:false, pagination:true, fitColumns:true, idField:'incmatId', pageSize:20, checkOnSelect:false, selectOnCheck:true, pageList:[10,20,30,40,50], sortName:'incmatId', columns:[[{ field:'incmatId', title:'incmatId', width:10, checkbox:true },{ field:'incmatNo', title:'验证码号', width:80, sortable:true },{ field:'incmatTime', title:'验证码购买时间', width:80, sortable:true },{ field:'proNo', title:'电影名称', width:100 },{ field:'cusNo', title:'电影场次', width:50 },{ field:'figureNo', title:'座位号', width:50 },{ field:'kaichangTime', title:'开场时间', width:80 },{ field:'shangyingTime', title:'上映时间', width:80 },{ field:'xiayingTime', title:'下映时间', width:80 },{ field:'remark', title:'验证状态', width:80 }]], toolbar:[{ text:'增加', iconCls:'icon-add', id:'incmat_addId', handler:function(){ addIncmat(); } },'-',{ text:'修改', id:'incmat_editId', iconCls:'icon-edit', handler:function(){ editIncmat(); } },'-',{ text:'删除', id:'incmat_deleteId', iconCls:'icon-remove', handler:function(){remove();} }] });});前端的请求通过struts2的配置文件来确定具体到哪个后台代码执行<struts> <packagename="piao"namespace="/piao"extends="BasePackage"> <actionname="IndexPiaoAction_*"method="{1}" class="com.dlbxrcl.piao.action.IndexPiaoAction"> <resultname="ok">/authCode.jsp</result> </action> </package></struts>系统跳转到后台继续执行。publicvoidincmatPageList(){ this.returnJson(this.incMatService.incMatDGList(incMatDto));}以上是代码调用了IncMatService类的incMatDGList方法。最终查询到的数据保存在DataGriddg对象中,EasyUi会自动解析DataGrid对象,然后展示在界面[11]。5.2.2票的生成因为是网上购票,用户实际上拿到的票一个12位的随机码。(实际应用中可以通过这个12位的随机码到影院打印出实体票,也可以将12位随机码生成一个二维码,通过二维码扫描达到票的验证。)随机码的生成通过编写的piao.java程序来实现,程序中使用Random()方法生成随机码并用return返回该值[12]。具体代码如下:publicclassTest2{ privatestaticRandomstrGen=newRandom();; privatestaticRandomnumGen=newRandom();; privatestaticchar[]numbersAndLetters=("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();; privatestaticchar[]numbers=("0123456789").toCharArray();; /***产生随机字符串**/ publicstaticfinalStringrandomString(intlength){ if(length<1){ returnnull; } char[]randBuffer=newchar[length]; for(inti=0;i<randBuffer.length;i++){ randBuffer[i]=numbersAndLetters[strGen.nextInt(61)]; } returnnewString(randBuffer); } /***产生随机数值字符串**/ publicstaticfinalStringrandomNumStr(intlength){ if(length<1){ returnnull; } char[]randBuffer=newchar[length]; for(inti=0;i<randBuffer.length;i++){ randBuffer[i]=numbers[numGen.nextInt(9)]; } returnnewString(randBuffer); }调用上述代码生成随机码并保存到数据库publicStringpiaoSubmit(StringselectSeatPrice,intselectSeatCount,StringselectedSeatRegion){ StringauthCode=AuthCode.randomString(12);//调用piao.java生成随机码 Piaopiao=newPiao(); piao.setAuthCode(authCode); piao.setSeatCount(selectSeatCount); piao.setSeatPrice(selectSeatPrice); piao.setSeatRegion(selectedSeatRegion); StringpiaoId=(String)baseDao.save(piao);//保存到数据库 System.out.println(piaoId); returnauthCode; } 5.2.3票的验证后台验证随机码的代码:publicintpiaoAu(Stringau){ Stringhql="fromPiaopwherep.au="+au; intcount=baseDao.executeHql(hql); returncount;}至此用户通过网上订票自选座,并最终通过验票进去影院观看电影就完成了。第六章结论与展望6.1总结随着互联网的飞速发展以及电子商务的日渐成熟,电子商务颠覆了传统的销售模式,它能提供准确、快速、高效的商务运作。许多商品纷纷上线,走上了网上销售的道路,电影票也不例外[13]。本论文建立基于B/S(Browser/Server)的电影院订票自选座系统,从用户选择观看电影、场次到购票全都在用户WEB界面和服务器上完成,主要负责网站首页的设计开发,票的生成以及后台票的验证的研究与设计。整个开发过程中,先是对整个系统的实现进行分析和架构,结合生活中的实际应用于当今前言主流技术结合,解决了实际工程中的问题。本系统层次分明,逻辑结构合理具有很好的兼容性、可扩展性和可移植性。在系统的设计与实现过程中,作者主要从以下方面作了研究:(1)在前台应用上,系统主要采用HTML、JSP技术。(2)在后台应用上,系统主要采用Oracle数据库、Java技术。(3)网站首页的设计采用DIV+CSS布局,使网页的结构清晰明了,利于网站的维护和开发。(4)用面向对象的开发思想,使整个系统结构层次分明,体现了面向对象封装、继承、多态的3大特点。6.2展望基于B/S(Browser/Server)的电影院订票自选座系统,是一个需要多部门合作的系统。系统涉及技术面较广、用户量大,对系统的响应速度、稳定性、安全性、实时性等方面要求很高。目前系统实现了电影信息展示、订票、验票的基本功能,但是离实际应用还有很多不足,存在很多需要研究和改进的地方。展望未来,电影院订票自选座系统可以在一下

温馨提示

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

评论

0/150

提交评论