一,系统顺序图
- 系统顺序图(system sequence diagram–SSD): 是为阐述与所讨论系统相关的输入和输出事件而创建的需求制品。
- 表示用例的一个特定场景中,外部参与者发出的事件、系统返回值及其顺序关系。
- 属于面向方案的需求制品
-
系统顺序图表示的是参与者发出的事件以及系统响应事件的操作;二者其实是同一个交互的两个方面,他们的名称一样;
-
系统顺序图将系统作为一个黑箱看待(需求过程中系统是黑箱)。只表示系统有什么响应,不说明如何响应。
-
系统顺序图是为了便于导出设计方案
-
事件的类型通常有:
- 来自参与者(人或系统外部的软硬件设备)的外部
- 事件时间
- 事件错误或异常事件
-
命名:动词+名词(与物理设备无关的命名)
-
系统顺序图采用UML中顺序图的语法,但不是UML中的概念;
-
系统顺序图不仅可以表示一个系统的行为(只有参与者与系统),也可以表示多个系统之间的交互关系(多个系统参与)
-
例子
二,操作契约
-
操作契约是操作行为的定义。描述操作对系统状态的影响;
-
通过操作发生前后系统状态的描述,反映或定义系统的行为
-
契约由操作、交叉引用、前置条件和后置条件等部分组成。
-
操作 :操作的名称和参数
-
交叉引用 :发生此操作的用例
-
前置条件 :执行操作前,对系统或领域模型对象状态的重要假设
-
后置条件 :操作完成后,领域模型对象的状态(操作完成后的结果)!!!关键因素
- 描述了领域模型内对象状态的变化,包括创建了实例、形成了关联或改变了属性。
- 三种类型:
- 创建或删除实例型
- 修改属性型
- 形成或删除关联型(精确地说是对链接而言)
-
-
例子:
- 契约CO2: enterItem
- 操作:enterItem(itemID:ItemID,quantity:Integer)
- 交叉引用:用例——处理销售
- 前置条件:有一个销售正在进行
- 后置条件:
- 创建了SalesLineItem的实例sli(创建实例)
- sli与当前Sale关联(形成关联)
- sli.quantity赋值为 quantity(修改属性)
- 基于itemID的匹配,将sli关联到ProductDescription(形成关联)
-
操作契约是对系统操作的描述。系统操作是系统响应事件的行为(系统操作往往带有参数)
-
在UML中,作为整体的系统可以表示成名称为System的对象。
- 操作契约主要由后置条件表达。