海客票务管理系统 ------ 项目总结
1. 项目概述
1.1 项目背景
大唐传媒有限公司成立于2011年。大唐传媒集电影、电视剧的开发、投资、制作、宣传、营销、发行等多方位影视功能为一体,并致力于海外影视业务的发展。大唐传媒自成立以来,就秉承打造精品项目的理念,为观众呈上了众多优质的影视作品。
大唐传媒旗下拥有多家连锁剧院,随着公司的发展,为了提高劳动效率、节约成本、提高服务质量,公司决定开发一套剧院票务管理系统。用以方便影院的票务管理,剧目管理等。通过这个软件,可以使传统的剧院剧院售票数据,剧目管理,演出计划管理等工作更加简洁,便利。
(该项目为课程设计,仅供学习使用,项目背景等为虚构。)
1.2 团队分工
李猛:项目小组组长,整体设计,完成一个功能的简单demo,协调后台与前台之间的矛盾,解决困难问题,鼓励并监督组员们的进度。
胡旭东:初期负责Server端一些功能的实现,后期负责完成销售分析的一些完整的功能(包括前后端交互)。
张文东:负责前端GUI界面的编码,从模仿到创新,阅读并理解后端及前后端交互的源码,测试并反馈bug。
李兆鹏:负责前端GUI界面的编码,学习一些高级的类(比如图表),协助胡旭东完成前后端的交互,后期负责撰写文档。
张敏:设计和把握页面的整体风格,撰写所需要的CSS样式文件,写一个网页购票的Demo,后期负责撰写用户手册。
1.3 术语与缩写
编号 | 缩写 | 英文原文 | 中文含义 |
---|---|---|---|
1 | TTMS | Theater Ticket Management System | 剧院售票管理系统 |
2 | C/S | Client/Server | 客户机和服务器结构 |
3 | SSM | Spring MVC + Spring + Mybatis | web后端框架 |
4 | JSON | JavaScript Object Notation | 轻量级的数据交换格式 |
5 | 无 | HttpClient | Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包。 |
1.4 参考资料
作者 | 资料名称 | 出版社/期刊 | 出版时间 |
---|---|---|---|
(美)Craig Walls | 《Spring实战》(第4版) | 人民邮电出版社 | 2016年4月 |
(英)Ian Sommerville | 《软件工程》(第9版) | 机械工业出版社 | 2017年9月 |
林信良 | 《JSP&Servlet学习笔记》(第2版) | 清华大学出版社 | 2012年5月 |
梁勇 | 《Java语言程序设计》(基础篇) | 机械工业出版社 | 2016年12月 |
2. 系统需求
2.1 功能需求
需求名称 | 所含功能 |
---|---|
用户管理 | 查看软件已经注册的用户的个人信息并实现更改信息,增加用户,删除用户的功能;每个用户可以修改自己的个人信息和密码。 |
演出厅管理 | 提供演出厅的增、删、改和设置座位的功能。 |
剧目管理 | 对剧目的增、删、改、查的功能。 |
演出计划管理 | 对演出计划的增、删、改、查的功能,并对各项演出计划所对应的票进行管理(设置票价)。 |
售票 | 根据客户所选的演出计划和座位进行售票,并可以取消订单和处理未完成订单。 |
退票 | 根据客户所选的演出计划和座位进行退票,并可以取消订单和处理未完成订单。 |
销售分析 | 统计影片的票房、售票员的销售额、影片的排片比等 |
2.2 非功能需求
2.2.1 界面需求
- 方便、简洁、美观、一致,符合大众审美。
2.2.2 性能需求
- 响应时间:小于等于3秒。
- 处理速度:达到较快的速度。
- 并发度:能够支持多台客户端同时提供服务。
2.2.3 安全性需求
- 非法输入和操作的处理;
- 用户密码要加密存储;
- 多个客户端同时卖票的问题;
- 对某些特定的功能的访问权限的限定。
2.2.4 可靠性需求
- 订单如果被迫终止,还能重新处理订单。
2.2.5 适应性需求
- 能够适应不同的操作系统;
- 前端界面可以单独调整;
- 后端的调整及数据库的优化互补影响。
2.2.6 外部接口
- 与其他系统的接口等。
- 与系统特殊外设的接口,如写码机、条码扫描器、扫描仪等。
3. 系统设计
3.1 逻辑架构
Server
采用经典的SSM框架(Spring MVC + Spring + MyBatis)
Client
采用JavaFx来构建用户界面。
node里面自己封装一些常用的按钮等,util是一些工具类,比如加密和Httpclient等。
交互方式
采用HTTP协议进行交互,服务器返回封装过的JSON文件,运用Fastjson来创建和解析JSON。
3.2 物理架构
客户端向服务器发请求,服务器处理请求并将结果返回客户端;客户端不能直接访问数据库,服务器是两者间的桥梁。
3.3 数据库设计
数据库和具体每张表的定义–> TTMSCreate.sql
插入数据字典–> TTMSInsert.sql
4. 系统实现
4.1 开发环境
开发工具
IDE:IntelliJ IDEA 2018.1
Maven插件:MyBatis Generator
环境
Linux Deepin 15.5 64位
4.2 系统功能
主界面
登录
管理员的界面(经理和售票员类似)
个人中心
个人中心主界面
修改个人信息
修改密码
用户管理
用户管理主界面
添加用户
修改用户信息
删除用户
演出厅管理、剧目管理、演出计划管理、数据字典管理与之类似,就不一一列举了。
售票
选剧目
选场次
选座位
确认订单
付款或取消
退票的过程与之类似,就不截图了。
- 未处理订单
销售分析
销售分析主菜单
剧目总票房
员工销售额
某日电影排片比
5. 团队开发工作总结
5.1.1 团队组织管理
明确每个人的分工,保证每个人都不在划水,培养团队合作能力。
在每天的一开始要开个小会总结一下,看看过去几天进度怎么样,然后今天做什么。
在每天快结束的时候,看看每个人的今天进度完成的情况。
在上机时间遇到问题可以直接找组内其他成员解决,课后遇到问题通过QQ群来联系。
5.1.2 软件开发过程
- 根据设计说明书,安装好合适的开发软件,由组长将环境搭建好并上传到我们的GitHub仓库,每个组员从GitHub上拉去资源,在本地把环境搭建好。
- 由组长开发出来一个小demo,组内其他成员先学习如何开发,然后再去完成自己相应的任务。
- 每开发完成一个模块,开发人员要把它测试,确保没有任何问题在提交,遇到任何问题要马上解决,不要拖到下一天。。
- 所有功能开发完毕后,联调联试,将问题记录下来并注意解决。
- 统一程序的风格与样式,撰写相关文档。
5.1.3 难点问题解决
- 图片传输不完整导致无法加载:
//将 byte[] 编码转化为字符串再传输public void byteToStr(){Base64play_image = Base64.encodeBase64String(play_image);}//将字符串还原为 byte[] 再使用public void strToByte(){play_image = Base64.decodeBase64(Base64play_image);}
gitHub在合并代码时出现了冲突:一定要分工明确,不上传IDEA配置文件,出现冲突由组长亲自解决。
开发的模块不能很好的组合在一起,代码风格不一致:在一定的规范下进行编写,最后由组长检查。
5.2 经验与教训
- 基础知识一定要扎实,如果个别成员的开发能力欠缺,会影响整体的开发进度。
- 分工一定要明确,各司其职,不要让一份工作被重复做几次。
- 不要轻易删除GitHub仓库和数据库。
- 不要上传IDEA的配置文件,每个人的都不同,会有冲突的。
- 要学会相互鼓励、共同进步,不要轻易否定别人的成果。
写在最后
这次开发时间比较紧张,只是简单的将功能做了出来,后续还要加以改进。如果你对这个项目比较感兴趣,欢迎收藏并Fork,若发现一些问题可以提出Issue或者直接动手修复bug并pull request。
项目地址:海客票务管理系统
海客票务管理系统 ------ 项目总结相关推荐
- 票务管理系统项目(part1)
票务管理系统与订票系统项目(一) 前言: 票务管理系统,是一个联结几个表进行CRUD操作的一个小项目,这次决心将自己从规划项目到完成项目的整个过程记录下来,以求自己能在项目规范,设计,编码过程有所突破 ...
- SpringBoot实现代码生成器——基于SpringBoot和Vue的后台管理系统项目系列博客(十)
系列文章目录 系统功能演示--基于SpringBoot和Vue的后台管理系统项目系列博客(一) Vue2安装并集成ElementUI--基于SpringBoot和Vue的后台管理系统项目系列博客(二) ...
- Java毕设项目影城票务管理系统计算机(附源码+系统+数据库+LW)
Java毕设项目影城票务管理系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ec ...
- JAVA毕设项目汽车客运站票务管理系统(java+VUE+Mybatis+Maven+Mysql)
JAVA毕设项目汽车客运站票务管理系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX( ...
- SpringBoot实现1对1、1对多、多对多关联查询——基于SpringBoot和Vue的后台管理系统项目系列博客(十八)
系列文章目录 系统功能演示--基于SpringBoot和Vue的后台管理系统项目系列博客(一) Vue2安装并集成ElementUI--基于SpringBoot和Vue的后台管理系统项目系列博客(二) ...
- 简单开源java ssm_[VIP源码]【S006】SSM(Spring+Spring MVC+Mybatis) java开源博客管理系统项目源码...
java源码项目名称:SSM(Spring+Spring MVC+Mybatis) java开源博客管理系统项目源码 java项目源码 1 ?, R, _* q n8 v) S$ R7 ?百度网盘 ...
- SpringBoot和Vue集成Markdown和多级评论——基于SpringBoot和Vue的后台管理系统项目系列博客(二十三)
系列文章目录 系统功能演示--基于SpringBoot和Vue的后台管理系统项目系列博客(一) Vue2安装并集成ElementUI--基于SpringBoot和Vue的后台管理系统项目系列博客(二) ...
- SpringBoot实现分页查询——基于SpringBoot和Vue的后台管理系统项目系列博客(七)
系列文章目录 系统功能演示--基于SpringBoot和Vue的后台管理系统项目系列博客(一) Vue2安装并集成ElementUI--基于SpringBoot和Vue的后台管理系统项目系列博客(二) ...
- 计算机毕业设计房地产客服管理系统xns程序
最新200套计算机专业原创毕业设计参考选题都有源码+数据库是近期作品 如果题目不合适,可以评论留下题目,或add_用户名,有时间看到机会给您发 1 ssm高原特色农产品网站设计 2 在线投票管理系统q ...
- java计算机毕业设计汽车客运站票务管理系统源代码+数据库+系统+lw文档
java计算机毕业设计汽车客运站票务管理系统源代码+数据库+系统+lw文档 java计算机毕业设计汽车客运站票务管理系统源代码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言: ...
最新文章
- alter system|session set events转储
- VC/MFC如何设置对话框背景颜色
- springboot ftp 笔记
- Linux从入门到精通——磁盘与目录的容量(du、df)
- Git学习文档之一 学习文档-原理
- 如何在矩池云上运行FinRL-Libray股票交易策略框架
- 十二、java知识点——类加载机制(硬货)
- Python学习笔记day10
- 大数定律和中心极限定理的区别和联系
- 【火炉炼AI】深度学习006-移花接木-用Keras迁移学习提升性能
- JAVA阻塞队列LinkedBlockingQueue 以及非阻塞队列ConcurrentLinkedQueue 的区别
- android滚动视图实例,android实现自定义滚动条
- Android日历控件方法,Android日历控件的实现方法
- 微信小程序蓝牙控制开门
- python爬取豆瓣Top250完整代码
- MySQL ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
- 利用 freemarker 模板生成 word 小结
- 存储系统测试工具学习之vdbench
- 在windows上搭建React Native开发环境
- WR720N硬改16M flash
热门文章
- 【五校联考2015 8.20】宝藏
- (CCF模拟)F1方程式冠军
- 【贪吃蛇C语言版源代码(推荐使用Dev-C++)——附运行截图】
- 新浪微博与微信公众号开发总结
- OSChina 周六乱弹 —— 你也有滚床单的这一天呀
- Pic3D裸眼3D贴膜诞生
- java移动端部署_飞桨实战笔记:自编写模型如何在服务器和移动端部署
- 华为高薪吸纳“天才” !任正非:进来华为,就没有“天才少年”这个名词了
- 深度精简版XP如何安装IIS
- 深度 GHOST XP SP3 纯净版 2013 06