摘要
互联网技术的成熟和普及,势必会给人们的生活方式带来不同程度的改变。越来越多的经营模式中都少不了线上运营,互联网正强力推动着社会和经济发展。国人对民族文化的自信和不同文化的包容,再加上电影行业的发展,如此繁荣吸引了越多越多的人观影。可以让选择观影的用户享受到更好的购票观影体验,解决线下购票的繁琐过程,线上购票无疑是直击痛点的解决方案。一套完备的电影网络购票系统可以实现让用户又快又准找到自己喜欢的影片,一键购票、无痛取票,同时也是从侧面促使电影经济的稳定发展。 本设计采用Java、CSS等前端技术完成前端页面设计,采用Spring Boot框架、MySQL整合完成后台设计,不光方便用户购买电影票,还让管理员对整个影院的管理。本文首先阐述整个电影网络购票的背景,然后对系统的需求分析,给出整个系统的概要设计和数据库设计,最后展示电影分类管理系统的实现。
绪 论
1.1 课题背景、目的及意义 1.1.1 课题背景 从互联网诞生之初被视为一种技术,到逐步呈现出媒体属性,社交属性、意识形态属性。网络空间与我们生活息息相关。电影行业中充分体现了“互联网+电影”的战略思想。 据中国电影数据信息网数据显示,受全球疫情的蔓延对电影产业带来了巨大的冲击,2020年中国电影票房同比下降68.2%,但当前中国防疫取得显著成果。2021年中国电影总票房达到472.6亿元,同比增长131.4%。[11]电影产业正逐步回稳复苏,更有一系列主旋律优秀影片上映,引起观影热潮,给中国电影票房带来了促进作用。自08年国内首个线上购票平台的成立,从此打开了中国院线电影在线购票的大门,从而解放了线下实地购票排队久的困扰。越来越多的观影者选择选择网上购买电影票,网上购票意味着更加方便快速的购票体验。综合现如今电影网络购票的现状,解决了网络购票系统在用户体验上的不足,放大用户体验的优点。我国网络电影购票平台的用户体验感依然还有进一步可提升的空间。 本文秉持着从用户角度出发的思想观念,切身体验用户浏览网站的全过程以及管理员对整个影院的管理需求,尽可能给用户带来最佳的体验。
1.1.2 项目开发目的和意义 现如今科技的卓越发展,时代环境的大变革。人们生活变得越来越多元化,这种多元化很大程度上由互联网科技发展引起,日新月异的互联网让我们实现了众多的不可能。社会高速发展,快节奏下的高压生活,让人们更加注重精神层面的放松。彼时电影行业变得家喻户晓,更多人的选择观影这一途径来消解压力,寻求更多共鸣。传统电影院的购票方式单一且效率低,顾客需要在到达电影院后才可选择电影,但影院条件有限无法让顾客从多个角度了解电影。这样就造成了观影者选择影片的困难。若遇到高峰时段,顾客购票的积极性还会被排队打消。从管理人员的角度来看,一套得心应手的管理系统也是推动影院运营的好方法。综上所述,设计本网站为将一系列问题给予解决,让系统用户体验线流畅购票,在本网站中对电影详情页面中,用户可以看到相关的评论和评分,可以作为是否选择观看本影片的参考。让影院管理员的管理变得更加轻松简单。
1.2本文组织结构 本文一共分为六个章节,现将每个章节的内容概要介绍如下: 第一章:介绍了该项目的课题背景和项目开发的目的和意义,以及本文的主要组织结构,为电影院管理系统的购票功能打下基石。 第二章:对系统的需求进行了分析,分不同的角色进行了功能分析和用例描述。并对系统的非功能性需求和可行性进行了描述。 第三章:主要是综合前两章的需求,对整个系统进行架构和功能模块的设计。明确整个系统的结构,方便后期进一步更加清晰地完成实现。 第四章:主要是对系统的详细设计,包含了对数据库的设计和对系统全面的E-R图设计。 第五章:主要选出了整个系统中较为重要的模块实现进行流程图、实现过程、运行截图展示。 第六章:集中对已经实现的系统测试进行功能模块的测试。 本文的最后是对电影购票系统设计与实现的总结。
系统需求设计
2.1 系统需求描述 系统功能需求分为用户使用功能和系统管理功能,其中用户包括未注册和已注册。
1、未注册用户因权限限制仅包含浏览查看电影信息、公告信息等内容。
2、已注册用户使用功能包括用户浏览电影信息、公告信息,进行用户选座、购买电影票、修改个人信息、余额充值、在线咨询等功能。
3、系统管理功能包括管理员管理个人中心、用户管理、电影分类管理、电影信息管理、系统管理、订单管理等功能。
2.2功能性需求分析 根据对本网站的功能需求分析,将通过参与系统使用的四不同视角展现系统主要功能。 现在确定本系统用例模型有三种,分别是游客、注册用户、电影院、系统管理员。下面分别对这四个角色的功能进行描述。
2.2.1游客 游客是未注册的用户,他们可以浏览电影信息和公告信息,如需购买电影票,必须先注册成为网站用户。游客浏览本网站时,受限只可浏览网站的信息。进入网站首页时可以查看公告信息、电影信息,可以点击上方的导航栏上的电影进一步查看所有的电影。点击任意电影会出现该电影的详细信息,包括该电影的排片情况、选座购票、评论等。但游客仅限查看,无法评论、收藏、选座和购票。
2.2.2用户 已在本网站注册过的用户是经网站合法认证的用户。登录网站后可以浏览公告信息、电影信息、购买电影票、对影片评论、收藏、进行订单支付等。 用户注册登录系统的全部功能就会对用户全部开放,即可顺畅浏览整个系统,网站提供了两个入口供用户选择自己观影的影片并购买。首先是通过首页和电影信息两个入口,点击相应电影信息过后,会出现该电影详细的信息,用户选择适合自己的排片日期后可选座购票,选定后系统统计总价钱,若未在规定时间内购票则系统将自动取消本次订单,点击立即支付后系统扣除相应的金额至此选座购票完毕。每完成一次购票后,系统所生成的订单信息、余额信息会更新到个人中心中,可在个人中心中删除本次订单。用户可以对电影信息进行评论,相应信息都会个人中心查看。
2.2.3系统管理员 系统管理员主要负责系统的后台管理工作,系统管理员作为整个影院的核心人物,拥有对多种实体的不同操作权限。在用户管理中,可以增加、编辑、删除用户的信息。电影信息管理中管理员可以添加新的电影信息,可以对现有的的有效性进更改或是删除。为了防止电影信息过多编辑起来费事增加了查询电影信息的搜索栏。电影管理中还有查看评论的功能,后台管理员可以删除恶意评论。订单管理模块,管理员可以查看所有订单,并可以详细的查看到此订单的座位、场次和购买用户的电话。 明确整个系统中三个角色不同的功能后,这四者功能数据的联动就将整个系统紧密的连接在一起。
2.3非功能性需求分析 2.3.1系统的实用性 人们越来越依赖网络来解决问题,该系统可在线上让用户随时随地解决购票问题。避免购票程序繁琐、排队时间长、选择影片困难等问题。在界面设计上,系统的界面直观地向用户呈现了每个模块的功能,且操作简单易上手。同样系统大众化推广也很简单方便,不受限。
2.3.2系统的安全性 系统安全性,主要是针对系统使用者信息的保密工作。用户注册信息时的个人信息电影分类管理系统中记录了重要用户信息,包括用户的个人隐私等信息,以及系统生成的一单一码的取票码。
2.3.3系统的稳定性 系统的稳定性着重体现在系统出现系统操时出现的冗余的情况下,统会采取相应的措施来打破现有状态。应在开发代码时充分考虑到各种错误会出现的情况,并未其设置相应处理。系统应采用稳定的操作系统、数据库、中间件等,以保证系统的稳定性。 2.3.4系统的开放性 系统的开放性是一个系统可以广为普及的重要条件。它需要适配不同电脑的不同系统,也就是我们所说的兼容性。系统可以实现在不同版本的Windows系统中运行。系统对浏览器的包容性需要很强,由于采用的B/S结构,客户端使用浏览器,浏览器也就成为了系统运行的载体。
2.4 可行性分析 可行性分析在课题确立相对成熟的情况下,进一步深入分析系统开发完成后投入现实使用的情形中,该系统是否具备必要的条件和资源。主要从经济、技术、可操作性三方面来分析。
2.4.1 经济可行性 面对近几年来,我国的经济体系愈发成熟,经济形式也愈发多变。线上经营模式已经被各行各业广泛认可。大众上网率普遍提高,网民逐渐增多。信息化传播的时代,线上经营模式应运而生。每个行业都在拓宽网络板图,将自己的产品托管于网络,由于线上模式的流转方式的特殊性、自动化特点将节省一批管理人员的费用,只需保证数据上传的准确性、宣传到位借助网络传播从而能将产品的曝光度增加。 电影分类管理系统同样适用于上述线上经营模式,开发成本较低但要考虑到后续宣传、维护的费用。一个功能齐全、使用感良好的电影分类管理系统,能客观带动影票的票房、电影的宣传。购票系统的可持续发展对标文娱行业的发展对标,影响较小。节约人力管理,只需要一个后台管理员上线电影信息即可。线上购票的方式更加吸引观影者。
2.4.2 技术可行性 本系统基于Spring Boot+Freemarker+jpa 作为系统的基本框架,有了这个框架后会让整个系统的开发变得更加清晰,有助于编写。将MySQL作为数据库, 并采用B/S模式。由于Freemarker、Spring Boot功能强大,MySQL灵活易维护在开发方面具有方便快捷、使用灵活的特点,成为轻平台开发的首选。硬件方面,硬件更新的速度越来越快,因本系统运行无特殊功能需求故硬件也无硬性要求。正常考虑用户数据密度大时内存是否充足、服务器的响应是否灵敏。满足以上条件即可。 2.4.3 操作可行性 该系统采用B/S结构,从而最大限度地使客户端用户易于操作。客户端通过浏览器来访问网站,具有很强的实用性。B/S结构服务器端回答了客户端处理逻辑复杂的问题。B/S结构可以直接放在广域网上运行,从而达到了控制多客户访问的目的体现交互性。若后续需要更新或升级功能可直接在服务器端升级,无需客户端做任何操作。
系统工作流程图
系统实现
用户注册界面图:
用户登录界面图
前台界面图
电影信息界面图
后台登录界面图
管理员功能界面图
部分数据库表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dianyingmingcheng | varchar | 200 | 电影名称 | ||
dianyingfenlei | varchar | 200 | 电影分类 | ||
dianyinghaibao | longtext | 4294967295 | 电影海报 | ||
dianyingpianduan | longtext | 4294967295 | 电影片段 | ||
daoyan | varchar | 200 | 导演 | ||
yanyuan | varchar | 200 | 演员 | ||
shangyingriqi | date | 上映日期 | |||
fangyingchangci | varchar | 200 | 放映场次 | ||
fangyingshijian | varchar | 200 | 放映时间 | ||
fangyingting | varchar | 200 | 放映厅 | ||
yingyuanmingcheng | varchar | 200 | 影院名称 | ||
yingyuandizhi | varchar | 200 | 影院地址 | ||
dianyingjieshao | longtext | 4294967295 | 电影介绍 | ||
clicktime | datetime | 最近点击时间 | |||
clicknum | int | 点击次数 | 0 | ||
price | float | 价格 | |||
number | int | 座位总数 | |||
selected | longtext | 4294967295 | 已选座位[用,号隔开] |
结论
本文完成了电影分类管理系统的设计与实现,在实现之初对此课题的背景做了分析,表明此课题的可行性。为完成预期效果,先理清整个系统的需求。从功能性需求和非功能性需求两方面着手,功能性需求分析主要从使用系统两个不同的角色的角度来阐述整个系统的功能。另一方面时系统的非功能性的需求分析,主要针对系统开发完成后投入到实际使用的可行性问题。了解了系统的功能需求后,开始设计代码的主要架构。之后是对系统数据库的具体设计,清晰系统中实体有哪些他们之间的关系是什么。在对系统功能需求、设计框架有了一个全面的认知过后开始编写代码。完成编写后,对系统进行测试完善漏洞实现预期效果。 设计系统中采用freemarker来更好分离前后端操作,后端采用设计mvc分层框架,用Spring Boot更好的划分业务逻辑,采用jpa对数据进行持久化。整个系统的运行流程主要又三层来支撑。前端页面的请求有Controller层接收,在调用Service层的接口,因为service层中存放着主要业务逻辑,需要请求数据时service层将调用DAO 层的操作数据接口,最后在通过Controller层返回在前端页面。分清层次结构,尽可能降低每一个页面的粘性,方便后期更改拓展。 一个完整的系统实现从0到1的跨越,由众多的小细节汇聚而成。前期需要有计划、有目的地了解用户需求,根据需求合理设计系统架构、数据库。开发一个完整的系统并非易事,需要有足够的耐心去了解细节,抱着不断求知的心理一砖一瓦地搭建整个系统。系统依然有需要进一步去考量和完善的地方,需要日后多多实践体验积累更多经验。