基于微信小程序的电影票订票系统
摘 要
我们的生活水平正在不断的提高,然而提高的一个重要的侧面表现就是更加注重我们的娱乐生活。电影是我们都喜欢的一种娱乐方式,各式各样的电影给我们带来的喜悦也是大不相同的。带来快乐的同时也因为其复杂、繁琐的流程让电影爱好者们变得烦躁起来。信息技术是用来改变我们的生活方式,可在当下火热的电影行业排队难、买票难等问题成为了日常琐事,如何能够利用当下科技来改变这一问题,让电影爱好者们都能在享受快乐电影时光的同时不受其它因素影响。每一次信息技术的改变都在影响着社会、生活、时代的变化。电子商务出现了,淘宝、天猫、物流行业的兴起,让我们可以买到各个地方的东西;信息技术发展WEB信息化的到来让人们的生活感受到了科技带来的便利,不认识的地方导航就可以找到,没去过的旅游景点线上就可以看到等等;数字化技术的发展给各种各样的企业带来了福音,智能制造、数字化转型给企业的发展提供技术型的力量。这些仅仅是平常接触到的场景,更有些更深入的算法场景更是改变人们的生活,就拿出行最多使用到的导航算法而言,不同时刻所需要的时间及路况也是大不相同的,没有强大的算法功能支持这些都是很难做到的。这次我们的设计所做的应用也是根据现实生活当中的需求来进行针对性的功能解决的,所有的业务也好,功能啥的都是根据实际的需求设计而来。基于微信小程序的电影票订票系统就是通过JAVA语言来进行技术实现的,数据库的存储采用的是MYSQL,这样可以尽可能的保证其数据的安全和准确。
关键字: MYSQL 小程序,电影票
1 绪 论
1.1 课题研究背景及意义
看电影排队购票的经历我想大家都有过吧,面对非常火热的电影迎来上映的日子,电影院总是纷纷攘攘。文娱行业的发展从侧面其实也可以反映出来的就是百姓生活水平的程度,它虽然说看起来并不是一个核心行业,但它所能代表的范围却是十分广泛的。以往对于我们文娱中的电影行业而言,都是需要排队购、取票等操作,往往在电影上映的高峰时刻可谓是一票难求。再加上近三年来疫情不断的影响,电影场所以及其它公共场所都不能够很好的营业,真可谓是各种各样的限制。为了能够解决上述这些问题的原因,那么特将这些问题进行归纳总结,希望最后通过互联网的手段来进行解决。本次设计呢就是想通过微信小程序的手段来进行电影票购票,这样一来第一可以少去了现场排队购、取票的麻烦,而且还能够进行电影的线上宣传,不论是对于电影商家而言还是对消费者来说都是非常好的选择。
1.2 选题研究的内容以及主要目标
1.2.1选题研究目标
面对选题的研究背景和意义来讲,其实我们此次的研究目标也将非常明确,也非常简单。就是通过不同的手段来解决不同的实际问题。通俗点来说就是为什么要干这件事情,干这件事情能达到什么效果。我们选题所研究的目标也是这样的,首先选择的主题肯定是我们在生活或者工作学习当中所遇到的真正问题,其次这种真实的问题仅仅只是因为传统管理方式已经满足不了需求需要借助信息化的手段来进行完善,并不是说传统线下的管理办法也没有然后通过信息化就可以解决了。第三确定好之前的两大方向之后,就要针对信息化的软件来进行确定目标了,首先如果不受地域和设备限制的话可以考虑B/S式的设计模式,这样不管在哪,只有有网,有浏览器就都可以解决。还有针对信息化技术选型时候数据库考虑到易用性、经济性可以采用mysql数据库来进行数据保存。还有就是一些其它的目标要求了,都是根据我们选题所研究的目标来进行确认的。
1.2.2选题主要研究思路和方法
对于本试题的主要研究思路和方法呢,其实无非就是我们日常生活中解决问题的一些思路和方法。在干一些事儿之前,首先我们要考虑的一定是我们为什么要干这件事儿,那么,也就是我们选题的一些背景的目的和意义在于,做这件事儿是为了什么。其次,当我们了解到需要做这件事儿的目的、意义、背景之后,那么我们就要寻求解决这件事情的一些办法,就是通常我们所说的一些技术相关应用,比如说我要做饭的话,首先会想到要有一个盛饭的容器锅,那么对于我们开发来说也是一样的,想要开发出一款好的网站也好,系统也罢,那所需要的就是我们的开发工具以及相关的技术了。第三,有了这些零零散散的基础之外呢,我们就要往下进行考虑,我们对于系统的需求,系统的能不能行,这些都是我们所要考虑的一些思路,具体用到的一些方法呢,我们会进行一些更简洁的比对呀,或者是参考其他的文献的文献综述法了,这些都会用得到。那么最后呢,我们在实现系统以后进行一些相关的一些测验呢、总结了,以及对我们整体的一次思想总结从而得到经验。
1.2.3选题主要解决的问题
选题主要解决的问题呢,其实是我们的一个核心那么这个核心呢?关乎到我们的技术方向,关乎到我们如何去解决问题、解决问题的一些思路和办法,该怎样运用。就拿我们系统而言。那么对于系统来说肯定是由两部分的主题,第一部分呢,就是能给用户看见得到的。也就是我们常说的系统界面,那第二部分呢,就是用户看见不到的,但又必须要保证系统高效运行的,比如说数据存储服务、网络请求服务。那么针对不同方面的问题呢,所解决的办法也有所不同,比如说对于用户界面来说,我们考虑采用JAVA语言加HTML加CSS技术,怎样来更加美观。那么对于数据存储服务,网络请求服务嘛,我们肯定要采用web,然后B/S的模式,然后对数据库存储,提高更高的数据存储性能保障,比如采用SQL数据库,这些等等都是解决问题的一个办法。
2 相关技术介绍
2.1 B/S体系结构
在软件的技术选型方面首先要考虑的肯定是架构了,不同的架构会影响着不同的语言选型,同时后面的开发模式、部署方式等等都是受架构所影响的。此次设计主要是针对我们所开发的应用而考虑,而且还得是当下行业内主流的开发方式,所以采用了B/S的设计模式。这样的模式有很大的一个好处就是可以通过浏览器就能访问到应用了,而且在后续的系统更新或者其它方面来说都不用有过多的考虑,不像C/S架构的应用还得考虑兼容客户端旧版本的情况,而且客户端旧版本如果不更新使用的话会不会冲突等等问题。当然这也并不是一定绝对的说B/S模式就是好,C/S模式就是不行。只是针对我们的应用而言B/S模式更加主流和方便。
2.2 Eclipse简介
一个好的工具可以让开发工作变得轻轻松松,就像是站场上好的武器装备能够让战士们奋勇杀敌一样。一把步枪的威力远远没有大炮的威力强大,工具也是一样,试想一下如果让一个开发人员用记事本来进行代码编写,那么再厉害的大佬也难以整理复杂业务逻辑的来龙去脉,更别说成百上千个类、文件、接口方法的定义了。熟悉java开发的肯定都知道Eclipse这个开发工具,一款非常不错的工具,可以从多角度帮助开发人员完成开发任务。包括字段提醒、信息查找等等。当然,这还仅仅只是它本身的一些基本功能,它的另外强大之处就是可以进行扩展,通过一些插件包来进行相应的功能扩展,这样一来就更能提高开发效率了。总而言之,一款功能完善的开发工具可以让更多的开发人员受益,多多减少项目实施和开发过程当中的一些不必要的风险。
2.3 MySQL数据库
应用程序在其开发过程当中绕不开的就是数据的存储,一般情况下会将数据分为两种;一种是关系型数据库,另外一种那就是非关系型的了。今天我们所要介绍的就是关系数据库当中的一种——MySQL数据库。MySQL数据库经过了N多年的发展,已经成为了世界上主流数据库的一种。它的简单易学让每一位开发人员深深的喜欢上了它。当然仅仅只是这样还不够,它的强大功能也是一方面的体现。能够让每一位开发者喜欢的原因。如果仅仅他简单而言实现不了太多功能,其实在日常的开发中也是不够的,MySQL数据库正是拥有这两方面的特点:简单以及功能强大,所以他给开发者带来的感触是非常深的。那么,市面上目前拥有的非关系型数据库无非就是那几种?Oracle数据库、SQL server数据库。对于一些国产的,还有达梦、易鲸捷等,其实他们的本质功能需求上是一样的,只不过在不同的限定场景之下,会有不同的使用使用需求,如果是在信创的环境下,当然首推国产数据库,如果是在一些大型应用或者集团应用的层面上,肯定是会使用Oracle数据库。对于我们毕业设计而言,那么SQL数据库其实是最合适不过的。
2.4 JAVA语言介绍
JAVA语言是一门家喻户晓的语言了吧,传统的一些JAVA历史和指标就都不需要进行一一的介绍了。JAVA语言之所以能够让这么多的开发者喜欢主要还是因为其开源、市场份额大。另外在语言的发展史上JAVA也是历史非常悠久的了,从SUN公司一直到Oracle JAVA语言也在一路上不断的完善和扩展,目前市面上用的比较广泛的还是jdk1.8 虽然说jdk17都已经有了,但成熟稳定而言还得是jdk1.8,更有甚者1.7和1.6都还在使用。我们本次的设计语言方面还是要考虑开源、功能强大。最主要的还要是大学里面所学习的,我们可以通过老师、同学来取得相关知识。同时,java的JVM还能够根据我们的需要在不同的平台上进行运行,这一点来说就可以干倒相同的只能在Window上部署的语言等。
3 需求收集与分析
3.1 业务过程分析
业务过程分析是毕业设计完成的一个重要环节之一,首先就是要能够通过业务过程的分析来进行一些需求梳理和业务分析。在软件行业领域当中,首先是要明确需求以及范围,这一点是毋庸置疑的。那么在这基础上就要进行一些各方面的调整,比如说首先能够在用户体验的程度上进行一些考虑,页面的美观以及页面操作是不是可行、高效、快速等等,这些都是要进行一些考虑的。其次,对于软件的安全应该也有所考虑,这种安全不一定是外在的安全,也可能是内在的权限安全。例如不同数据能够被不同权限的人看到。权限的设计在很大一程度上也是软件安全的一方面考虑。第三,功能方面也是要根据我们所做的主题,切合主题以及主题相关的功能来进行展开实施。最后,系统在成功实施之后,对于一些稳定的要求。以及运维保障还是有所需要的。管理员和注册用户的用例图还是根据系统功能设计如下所示:
3.2 系统功能需求分析
基于微信小程序的电影票订票系统功能主要是通过不同页面来进行区分的,分为微信小程序和PC后台管理。如下图所示:
3.4 可行性分析
3.4.1 经济可行性
一说到经济可行性,那么必然会想到的就是钱,无论是做项目也好,承担毕业设计也好。一定是在经济可行性允许的条件下进行实施,如果说要。采购的软硬件设备的费用会很高很高,那么确实不适合经济可行性。还好,在本次设计中,我们采用了B/S的浏览模式,在经济上只需要一台电脑当作开发环境和部署环境即可,先开发在这台电脑上,开发完成后继续在这台电脑上进行一个部署。那么这样一来的话,我们可以通过浏览器访问,在经济上就没有什么压力。
3.4.2 技术可行性
对于技术而言来说,项目本身就是一个技术的实现,而我们在大学中所学的语言也是主流的语言,比如说对于后台语言来说有PHP 、Java等,对于数据库来说有MySQL、SQL server等,这些都是在大学当中平常的课程,所以在技术方面。我们所接触的是主流开源技术。如果一旦遇到了。技术上有不懂的问题,那么也可以通过互联网或者是其他同学得到帮助,这样一来,技术上完全是可行的。
3.4.3 操作可行性
操作可行性方面就是要考虑用户的习惯了,那么什么样的设计可能让用户感觉头疼,什么样的设计又能让用户感觉友好程度很高呢?这就需要我们在操作可行性上有所体现。所体现出来的。就目前而言,市面上所有BS的应用来说,布局方式、操作方法都是常见的那几种,所以我们只需参考他人成功的经验即可。在操作上,只要不做出任何奇形怪状的操作,那么对于操作可行性来说是完全没有问题的。
3.4.4 法律可行性
软件设计的可行性中有许许多多。其中最常见的一种可行性就是法律可行性。法律可行性呢,通常是指的软件儿在法律条件下的设计可行性。比如说我们设计一款软件,首先是要对他的思想或者是解决的社会问题进行一个能量型的考核,如果是他对社会性的问题,带来一些负能量的话,这种软件通常是法律可行性是不通过的。对于我们本次而言呢,其实市面上已经存在了,这样许许多多行业当中非常优秀的软件。我们只是仅仅通过一个细节的扩展,来去满足我们本次的毕业设计。所以法律可行性方面我们是一定符合法律可行性的。
3.5 网络安全环境
网络安全的环境是直接影响应用系统是否安全的关键因素,但网络安全的保证是要从软件、硬件等各个方面进行一个有效性的综合提升。在专业的应用服务器中。所必要的防火墙以及网络设备是必须要存在的,且在应用服务器当中与应用无关的所有端口号都要进行一定的屏蔽。对于内外网之间也要进行一个有效的隔离。在应用服务器中,所有的操作日志需定期进行一个有效的记录,具备应用审计、审查等功能。同时,在应用服务器当中应该有足够大的存储空间来为应用服务器进行一个灾备。防止意外发生时,能够及时有效地将应用服务器当中的所有内容进行一个恢复。
|
...... |
编号 |
名称 |
类别 |
介绍 |
4.2 系统流程设计
系统的数据添加是有相关的验证的,并不是说谁想增加都可以增加,而且也不是每一种数据都可以随随便便的加进数据库当中,系统一旦有了数据的验证,我们还要进行的就是数据合法性的一些检查,比如说数字不可以输入字符串啦等这些常见的问题验证。如下图所示:
由于我们这次毕业设计所设计的不是一些商业数据,所以对其数据的删除做的是真正的物理删除,并不是将一个数据标记成一个状态,查询不出来,实际在后台都能存在的逻辑删除。所以在做物理删除的时候,首先要选择要删除的记录,那么还是操作流程进行一个删除,删除之后进行更新数据库。
经过前一阶段的E-R图设计之后基本上整理出来各实体之间的关系及属性字段情况,为进行了下一步的数据库设计有了更深层次的递进。数据库表的设计直接形式就是影响着系统功能的一个重要组成部分。各个表当中在形成表时严格按照E-R图来进行实现,避免形成冗余字段及数据行。现将其中的一些数据表总结如下。具体的设计数据表如下所:
Alluser表
字段名 | 描述 | 类型 | 长度 | 是否空 | 是否主键 |
ID | Int | 4 | 自增编号 | 10 | ID |
name | VarChar | 50 | 是 | 255 | name |
sex | VarChar | 50 | 是 | 255 | sex |
Age | Int | 4 | 是 | 10 | Age |
sex | VarChar | 50 | 是 | 255 | sex |
birthday | Date | 50 | 是 | 255 | birthday |
phone | VarChar | 50 | 是 | 255 | phone |
address | VarChar | 50 | 是 | 255 | address |
ID | Int | 4 | 自增编号 | 10 | ID |
name | VarChar | 50 | 是 | 255 | name |
sex | VarChar | 50 | 是 | 255 | sex |
Age | Int | 4 | 是 | 10 | Age |
News表
字段名 | 描述 | 类型 | 长度 | 是否空 | 是否主键 |
ID | Int | 4 | 自增 | 10 | ID |
name | VarChar | 50 | 是 | 255 | name |
newsType | VarChar | 50 | 是 | 255 | newsType |
author | VarChar | 50 | 是 | 255 | author |
makeTim | Date | 50 | 是 | 255 | makeTime |
maker | VarChar | 50 | 是 | 255 | maker |
modiTime | VarChar | 50 | 是 | 255 | modiTime |
Type表
字段名 | 描述 | 类型 | 长度 | 是否空 | 是否主键 |
ID | Int | 4 | 自增 | 10 | ID |
name | VarChar | 50 | 是 | 255 | name |
Type | VarChar | 50 | 是 | 255 | Type |