MonkeyEye电影售票系统--领域模型和数据模型

案例来源:SYSU SE305 课程大作业。互联网售票软件是比较常见的软件系统。通常由多个零售系统和多个供给系统系统。 机票、酒店房间、电影票似乎是风马牛大相关的系统,但它们之间存在极其相似的业务模型。 以电影票为例,格瓦拉、蜘蛛网、腾讯等等都做类似的电影票分销、推广业务,但票是由各大院线排期提供的。 分销-院线-影院形成了一个完整的生态体系。 本课程以大家熟悉的订票为例,学习分析、设计、开发的方法。

我所在的小组做的是一个叫做MonkeyEye的项目,实现一个简单的电影购票系统,并在项目完成过程中学习系统分析与设计,学习UML建模等技能。本系列文章将会以此项目为案例,总结整个项目的设计、建模与开发过程。

项目地址:https://github.com/SYSUMonkeyEye

一、基本功能

  1. 电影资讯
  2. 购票
  3. 用户信息
  4. 收藏
  5. 评论

用户使用该可以实现查看和搜索正在热映和即将上映的电影资讯,对感兴趣的电影可以进行收藏。想要观看某部电影,可以进行下单购票操作。对于已经放映的电影订单,用户可以对该订单对应的电影进行评分评价的操作。另外,用户还可以更新自己的个人信息。下面是整个应用的界面逻辑概要图,方便对应用有个直观的理解。

这里写图片描述

二、领域建模

领域模型是一组概念类图,即没有定义操作的类图。通过分析整个应用的功能,找出其中的名词,大致可以分为如下8个概念类:电影(Movie)、场次(Screen)、推荐(Recommend)、评论(Comment)、收藏关系(Favorite)、用户(User)、订单(Order)、优惠券(Coupons)。

下面对每个概念类进一步分析,得到他们的基本属性。

1、电影(Movie)

电影需要有以下8项基本信息:名称、海报、类型、放映类型、上映时间、电影时长、电影评分和电影简介。类型是指动作片、喜剧片之类的,而放映类型则是指”2D国语”、”3D英语”之类的。

这里写图片描述

2、场次(Screen)

不同场次出售的电影票数量可能因为作为关系变得有所不同,电影票的价格也可能因为高峰期或者冷清期而有所变化,不同场次开始播放电影的时间也有所区别。因此,场地大概会需要下面这4项信息:对应的电影、本场次电影票价格、本场次电影票数量、本场次开始时间。最后,电影与场次的对应关系为:1部电影可能有零或多个场次,但1个场地只能有1部关联的电影。

这里写图片描述

3、推荐(Recommend)

后台管理员可以设置每天的推荐电影,会以海报轮播的形式在应用首页呈现。推荐相当于一种标记,标记了某部电影,一个推荐实例对应一部电影,一部电影最多只能有一个推荐。

这里写图片描述

4、用户(User)

使用该应用的用户需要以下7项信息:用户名、登录密码、支付密码、昵称、头像、简介、账户余额。由于本应用没有第三方支付或者充钱功能,目前加入账户余额字段方便我们可以模拟出购票下单付款的行为。至于账户余额如何补充不是本应用关注的问题,保留这个字段后续如果需要做第三方支付或者充钱等功能的时候也不会产生冲突。

这里写图片描述

5、收藏关系(Favorite)

用户对感兴趣的电影可以进行收藏,收藏关系就是用来描述用户和电影之间的关系的。1个用户可以收藏多部电影,每个收藏关系都对应1个用户和1部电影。

这里写图片描述

6、优惠券(Coupons)

优惠券需要的信息比较简单:折扣、使用条件、持有该券的用户。另外需要有1个有效时间,过期的优惠券无法使用。并且使用过的优惠券需要标记状态,便于判断。一个用户可以拥有多张优惠券。

这里写图片描述

7、订单(Order)

一个订单需要包括:该订单对应的电影、该订单对应的场次、该订单所使用的优惠券、订单应付价格、订单创建时间、订单所属用户以及座位信息。一个用户能够创建多个订单,一个订单只对应一部电影和一个场次,并且一个订单最多只能使用一张优惠券。

这里写图片描述

8、评价(Comment)

评价的内容包括等级分数和评语两部分内容。另外,每一条评论都有对应的发布人和对应的电影。一个用户可以有多条评价࿰

  • 7
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计是高等教育阶段学生在完成学业前所进行的一项重要学术任务,旨在检验学生通过学习所获得的知识、技能以及对特定领域的深刻理解能力。这项任务通常要求学生运用所学专业知识,通过独立研究和创新,完成一个实际问题的解决方案或者开展一项有价值的项目。 首先,毕业设计的选择通常由学生根据个人兴趣、专业方向以及实际需求来确定。学生需要在导师的指导下明确研究目标、问题陈述,确立研究的范围和深度。毕业设计可以包括文献综述、需求分析、方案设计、实施与测试等多个阶段,以确保整个过程的科学性和系统性。 其次,毕业设计的完成通常需要学生具备一定的独立思考和解决问题的能力。在研究过程中,学生可能需要采用各种研究方法,如实验、调查、案例分析等,以获取必要的数据和信息。通过这些活动,学生能够培养扎实的专业技能,提升解决实际问题的实际能力。 第三,毕业设计的撰写是整个过程的重要组成部分。学生需要将研究过程、方法、结果以及结论等详细记录在毕业论文中,以展示其研究的全貌和成果。同时,撰写毕业设计还有助于提高学生的学术写作水平,培养清晰、逻辑的表达能力。 最后,毕业设计的评价通常由导师和相关专业人士进行。评价标准包括研究的创新性、实用性、方法的科学性以及论文的质量等方面。学生在毕业设计中获得的成绩也将直接影响其最终的学业成绩和学位授予。 总的来说,毕业设计是高等教育中的一项重要环节,通过此过程,学生不仅能够巩固所学知识,还能培养独立思考和解决问题的能力,为将来的职业发展奠定坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值