移动电影售票系统案例分析
智能手机及移动互联网的普及,手机购票成为网络购物常见的应用形式之一。本项目名称为:本项目名称为:XX 票务(可以是电影票、演出票…)销售系统,系统目标是实现在线票务发布,销售,验票等一站式票务服务,要求支持手机在线购票验票功能。
用例图
运用StarUML/EA(Enterprise Architect ),完成不少于5个用例的用例图,并为每个用例添加用例描述.
第一步:给系统取个名称:移动电影售票系统。
第二步:确定 移动电影售票系统的参与者,包括:潜在会员,会员,商户
第三步:分别确定不同参与者的用例,并用老板测试、基本业务流程测试、规模测试判断用例是否有效。最后画出用例图详:
第四步:用例描述。根据用例描述的原则:1、找到用例的参与者 2、总原则:各个参与者平衡,来进行用例描述:
UC001:注册会员
用例名: 注册会员 用例编号 UC001
参与者 潜在会员
用例描述 潜在会员注册成为会员。
前置条件 潜在会员访问系统
后置条件 系统记录注册会员信息,等待审核开放账户
基本流程 1. 潜在会员请求注册。
- 系统显示注册界面。
- 潜在会员提供注册会员信息。
- 系统检查信息是否完整。
- 系统保存会员信息。
- 系统显示“注册成功,等待审核开放账户”信息。
替代流程 4a. 潜在会员提供的信息不正确。
4a1. 系统提示输入正确信息
企业规则 1. 会员信息包括:姓名、身份证号、电话、传真、Email,以及若干个联系
地址。 - 一个会员可以有多个联系地址,其中一个为首选联系地址。联系地址包含以下信息:
州、城市、街道、邮编。 - 会员订单的送货地址可以从会员联系地址中获取。
议题与其他
UC002:查询电影票
用例名: 查询电影票 用例编号 UC002
参与者 潜在会员,会员
用例描述 参与者根据电影的名称、导演、以及演员,检索出所需电影的详细信息和
价格。
前置条件 参与者访问系统
后置条件 参与者查询到所需的电影
基本流程 1. 参与者请求查询电影
- 参与者提交电影的名称、导演、以及演员等查询条件
- 系统按查询条件查询电影信息和价格信息
- 系统显示查询到电影详细信息
- 参与者选中某个电影
- 系统显示该电影的详细信息
替代流程 3a. 系统没有检索到所需电影
3a1. 系统显示“没有找到适合条件的电影”
企业规则 1. 电影详细信息包括:名称、导演、演员以及类别 - 支持模糊查询
议题与其他 1. 查询条件有待进步明确
UC003:预订电影票
用例名: 预定电影票 用例编号 UC003
参与者 会员
用例描述 会员预定一部或多部电影
前置条件 会员已经登录
后置条件 预定的电影票生成订单
基本流程 1. 会员查询电影
- 会员选择预定的电影,输入预定数量
- 系统显示会员订单列表
- 会员输入预定数量,选择以下动作:
添加到新订单
添加到已有订单 - 系统显示当前订单
替代流程 3a. 系统没有检索到所需电影
3a1. 系统显示“没有找到适合条件的电影”
企业规则 a. 会员将所选购电影添加到新订单
4a1. 会员输入手机号码
4a2. 系统生成新订单,并加入新的订单项
4b. 会员将所选购电影添加到已有订单
4b1. 会员选中订单,添加订单项
4b2. 系统添加订单项
议题与其他
UC004:支付货款
用例名: 支付货款 用例编号 UC004
参与者 会员
用例描述 支付订单的货款,完成一次与电影院的交易
前置条件 订单已生成
后置条件 生成发货信息,并通知发货
基本流程 1. 会员请求结账
- 系统检查账户是否处于打开状态
- 系统检查剩余座位是否满足
- 系统检查会员提交的信息是否充分
- 系统合计订单总价
- 系统显示收费明细
- 会员确认
- 系统保存订单信息,通知发货,减少相应座位数量。
替代流程 2a. 账户未打开
2a1.系统显示“账户未打开,不能结账”信息
3a. 剩余座位不能满足
3a1. 系统显示座位不足的订单项
3a2. 会员修改订单项数量
4a. 会员提交信息不充分
4a1. 系统告知会员需要补充的信息
4a2.管理订单
7a. 会员修改订单
7a1.管理订单
企业规则 订单总价=所有订单项价钱合计+服务费
议题与其他
UC005 评价留言
用例名: 评价留言 用例编号 UC005
参与者 会员
用例描述 会员预定电影后,对预定的电影进行评价留言
前置条件 订单状态为会员已观看电影
后置条件 生成评价留言信息
基本流程 1. 会员请求评价留言
- 会员选择已观看的电影
- 会员输入评价信息内容
- 系统保存评价信息
替代流程 3a.会员输入的评价信息不完整
3a1.系统提示会员输入完整的评价信息
企业规则 1. 评价信息包括:等级,评价内容 - 评价是对订单明细中的电影进行评价
议题与其他 1. 等级如何划分
UC006 发布票务信息
用例名: 发布票务信息 用例编号 UC006
参与者 商户
用例描述 商户发布待销售的电影信息
前置条件 商户已登录
后置条件 系统保存电影信息
基本流程 1. 商户请求发布电影信息
- 系统显示发布电影信息界面
- 商户输入电影信息
- 系统检查输入的电影信息
- 系统保存电影信息
替代流程 3a.商户输入电影信息不完整
3a1.系统提示商户输入完整的电影信息
企业规则 1. 电影信息包括:名称、导演、演员、类别、观影时间、价格、座位量 - 已存在的电影信息不需要重新输入,但商户可以更改座位量、价格等信
息
议题与其他
域模型类图
运用关键抽象技术完成系统候选关键抽象表格
- 找到现实世界对象
- 重用现有的模型
- 关键抽象 找名称 对名称根据 问题域(筛选条件: 不单纯的名词/冗余/没关联/不含有多个属性/没有多个实例) 进行筛选为 域模型
定义并画出系统相关的类,确定类之间的关联或组合关系。
关联关系:实例间的关系
为类添加属性,添加属性需要考察系统的用例描述,以保证属性能够实现用例的目标。
顺序图
为每个用例的画出系统鲁棒图(BCE模式)的顺序图。
-
系统顺序图:引导从用例过渡到系统的功能
-
BCE模式顺序图: 鲁棒性分析方法( 边界对象 控制对象 实体对象 )
-
UC001:注册会员
这里写图片描述
UC002:查询手机
这里写图片描述
UC003: 预定电影票
这里写图片描述
用例之间的关系
//(次要)4. 建立用例之间的关系,并修改用例描述
// 包含/扩展
设计类图
关系属性,方法 依赖关系(单向) 继承 实现 设计模式/设计原则 体现域模型 基于BCE模型 依赖终止于接口,不能依赖于具体类
这里写图片描述
面向对象
什么是面向对象的分析?
面向对象的分析(Object Oriented Analysis,OOA)强调的是在问题域内发现和描述对象(或概念)。如,在图书馆信息系统中,包含书籍、书库、借阅者等概念。
什么是面向对象的设计?
面向对象的设计( Object Oriented Design ,OOD)强调的是定义软件对象以它们是如何协作以实现需求。在图书馆信息系统中,“书”这个软件对象,可以有“title”属性和“getChapter”方法。
什么是面向对象设计原则?
- LSP:Liskov替换原则
The Liskov Substitution Principle - OCP:开放-封闭原则
The Open-Close Principle - SRP:单一职责原则
The Single Responsibility Principle - ISP:接口隔离原则
The Interface Segregation Principle - DIP:依赖倒置原则
The Dependency Inversion Principle
面向对象设计原则有什么意义?
- 是指导面向对象设计的基本指导思想
- 是评价面向对象设计的价值观体系
- 是设计模式的出发点和归宿
设计质量:好的设计 坏的设计
什么是好的设计?
- 容易理解
- 容易修改和扩展
- 容易复用
- 容易实现与应用
- 简单、紧凑、经济适用
什么是坏的设计?
- 僵化性(Rigidity):刚性,难以修改,牵一发而动全身
- 脆弱性(Fragility):易碎,牵一发而肝胆俱裂
- 牢固性(Immobility):无法分解成可移植的组件
- 粘滞性(Viscosity),修改设计代价高昂
- 不必要的复杂性(Needless Complexity),预测需求,处理潜在变化代码
- 不必要的重复( Needless Repetition )
- 晦涩性(Opacity):不透明,很难看清设计者的真实意图
设计模式
- Creational Patterns (创建型)
involve object instantiation and all provide a way to decouple a
client from the objects it needs to instantiate. - 工厂模式(Factory)
- 单实例类模式(Singleton)
- Structural Patterns (结构型)
let you compose classes or objects into larger structures. - 适配器模式(Adapter)
- 组合模式(Composite)
- 外观模式(Facade)
- Behavioral Patterns (行为型)
concerned with how classes and objects interact and distribute
responsibility. - 策略模式(Strategy)
-
观察者模式(Observer)
这里写图片描述