操作契约用来定义系统行为,根据领域模型中的对象状态变化详细描绘系统的行为;
用例是描述系统行为的模型,但是如果用例没有描述清楚,则在操作契约中补充。
一般一个用例有多个操作,一个操作需要一个操作契约,比如:
SSD中有几个向右的箭头,就需要几个操作契约。
不需要每个操作都写契约,只需要把可能状态会改变或不清晰的操作写清即可;
Operation Contract模板
Operation: Name
Cross Reference:此操作所属用例的名字
Precondition:在执行此操作前领域模型的对象的状态
Postcondition:对象状态的变化
Postcondition中可以写:
(1)实例的创建;
(2)关联的形成;
(3)属性的修改;