功能建模

lesson9

Posted by Hanxu on May 13, 2018

第八周

本周学习了功能建模相关的知识,以下是lesson9的作业内容。

包含团队作业中建模练习的五张图。


功能建模-lesson9

“饿了么外卖app”建模练习

建模任务来自其他小组的饿了么外卖app建模

1. 用例图

usecase

2. 业务或用例的活动图

02

3. 领域模型

03

4. 对象的状态图

UMLStateModel

5. 场景的系统顺序图与操作协议

05

契约CO1:makeNewOrder

操作: makeNewOrder()

交叉引用:用例:订餐

前置条件: 无

后置条件:

  • 创建了Order的实例o(创建实例)
  • o被关联到Register(形成关联)
  • o的属性被初始化(修改属性)

契约CO2: enterItem

操作: enterItem(itemID: ItenID, quantity: Interger)

交叉引用:用例:订餐

前置条件:正在进行的订餐

后置条件:

  • 创建了OrderLineItem的实例oli(创建实例)
  • oli被关联到当前Order(形成关联)
  • sli.quantity赋值为quantity(修改属性)
  • 基于itemID的匹配,oli被关联到ProductDescription(形成关联)

契约CO3: endOrder

操作: endOrder()

交叉引用:用例:订餐

前置条件:正在进行的订餐

后置条件:

  • Order.isComplete被置为真(修改属性)

契约CO4: makePayment

操作: makePayment(amount:Money)

交叉引用:用例:订餐

前置条件:正在进行的订餐

后置条件:

  • 创建了Payment的实例p(创建实例)
  • p.amountTendered被赋值为amount(修改属性)
  • p被关联到当前的Order(形成关联)

契约CO5: confirmOrder

操作: confirmOrder()

交叉引用:用例:订餐

前置条件:正在进行的订餐

后置条件:

  • Order.isConfirm被置为真(修改属性)