系统分析与设计第六次作业

XX 建模练习 要求:

  • 练习文档编写
    • 选择一个你喜欢的 移动App 或 其中某业务
    • 参考 Asg_RH 文档格式 编写软件描述
    • 文档要包含一个业务的完整过程
  • 建模要求包括(用例图、XX业务或用例的活动图、XX领域模型、XX对象的状态图、XX场景的系统顺序图与操作协议)
  • 建模者答案:
    • 收集建模者答案URL
    • 建模者不能是本团队成员(至少有一个答案)
    • 给建模者给出评价与建议

携程火车票预订文档.md

一、用例图

系统分析与设计第六次作业

二、XX业务或用例的活动图

1. 预订车票的活动图

系统分析与设计第六次作业

2. 填写订单的活动图

系统分析与设计第六次作业

三、领域模型

系统分析与设计第六次作业

四、订单对象的状态图

系统分析与设计第六次作业

五、XX场景的系统顺序图与操作协议

1. 查询车次场景

系统顺序图

系统分析与设计第六次作业

操作协议

契约CO1:searchTrain

  • 操作:searchTrain()
  • 交叉引用:用例:查询车次
  • 前置条件:用户已选择了出发城市、到达城市、出发日期和可选的限制条件
  • 后置条件:返回指定出发日期从出发城市到目的城市的所有满足条件的车次信息

2. 预订车票、填写订单并支付场景

系统顺序图

系统分析与设计第六次作业

操作协议

契约CO2:chooseTrain

  • 操作:chooseTrain()
  • 交叉引用:用例:预订车票
  • 前置条件:用户已拥有各车次信息
  • 后置条件:
    • 创建Train的实例T(创建实例)
    • T.seat赋值为用户指定座席
    • 基于trainID的匹配,T被关联到TrainDescription(形成关联)

契约CO3:addPassengers

  • 操作:addPassengers()
  • 交叉引用:用例:填写订单
  • 前置条件:正在预订中的订单
  • 后置条件:
    • 创建Passenger的实例p(创建实例)
    • p被关联到当前订单(形成关联)

契约CO4:makePayment

  • 操作:makePayment()
  • 交叉引用:用例:支付
  • 前置条件:正在预订中的订单
  • 后置条件:
    • 创建Payment的实例p(创建实例)
    • p.amount被赋值为amount
    • p被关联到当前订单(形成关联)
    • 当前订单被关联到Train