MonkeyEye电影售票系统--类图和包图
案例来源:SYSU SE305 课程大作业。互联网售票软件是比较常见的软件系统。通常由多个零售系统和多个供给系统系统。 机票、酒店房间、电影票似乎是风马牛大相关的系统,但它们之间存在极其相似的业务模型。 以电影票为例,格瓦拉、蜘蛛网、腾讯等等都做类似的电影票分销、推广业务,但票是由各大院线排期提供的。 分销-院线-影院形成了一个完整的生态体系。 本课程以大家熟悉的订票为例,学习分析、设计、开发的方法。
我所在的小组做的是一个叫做MonkeyEye的项目,实现一个简单的电影购票系统,并在项目完成过程中学习系统分析与设计,学习UML建模等技能。本系列文章将会以此项目为案例,总结整个项目的设计、建模与开发过程。
项目地址:https://github.com/SYSUMonkeyEye
一、基本功能
- 电影资讯
- 购票
- 用户信息
- 收藏
- 评论
用户使用该可以实现查看和搜索正在热映和即将上映的电影资讯,对感兴趣的电影可以进行收藏。想要观看某部电影,可以进行下单购票操作。对于已经放映的电影订单,用户可以对该订单对应的电影进行评分评价的操作。另外,用户还可以更新自己的个人信息。下面是整个应用的界面逻辑概要图,方便对应用有个直观的理解。
二、类图
本文将根据之前按照BCE建立的系统顺序图(SSD)阅读本文,来初步归纳出类图。(建议对照系统顺序图(SSD)阅读本文)
1、电影资讯
通过分析电影资讯相关的SSD,由查询电影资讯的SSD可以得到以下类图。
由搜索电影资讯的SSD可以完善得到以下类图。
最后由查看电影详情SSD可以完善得到以下类图。
2、电影收藏
通过分析创建收藏的SSD可以完善得到以下类图。
通过取消收藏的SSD可以继续完善类图如下。
最后,收藏相关的功能还剩下查看收藏,通过其SSD可以完善得到类图如下所示。
3、下单购票
根据选场次、选座位、选优惠券的SSD可以完善得到下面的类图。
由下单和支付的SSD可以完善得到以下类图。
4、订单查询
由订单列表查询和订单详情查询的SSD可以进一步完善得到以下类图。
5、用户信息
由用户查看信息和更新信息的SSD可以完善类图,得到如下类图。
6、电影评价
根据创建评价和查看评价,可以继续补充得到以下类图。
三、包图
由于之前按照BCE原则进行划分,现在很容易可以将各个类划分到MVC的包中,得到包图如下所示。
至此,整个应用需要的类和基本的程序架构已经有了。不过实际开发中也可能会因为技术框架的不同而有所区别,可以根据实际情况进一步做完善。