1、例子
發現:
1)、操作契約也是用例模型的一部分。
2)、SSD+用例文本+領域模型----》操作契約
2、定義
1)、契約有哪些部分?
操作:操作的名稱和參數(就是SSD中的系統操作)
交叉引用:發送此操作的用例
前置條件:執行操作前,對系統或領域模型對象狀態的重要假設。比如:終態的訂單不能修改。
后置條件:最重要的部分。完成操作后,領域模型對象的狀態。后續會詳細討論。
2)、什么是系統操作?
就是SSD中的操作名稱(相當於類中的方法),由此定義操作契約。
3)、后置條件
- 定義:描述了領域模型內對象狀態的變化。該狀態變化包含:
A、創建或刪除實例
B、屬性值的變化
C、形成或消除關聯(領域模型中的關聯)
- 后置條件如何與領域模型相關?
可以創建什么實例?(來自領域模型)
可以形成什么關聯?(來自領域模型)
屬性值如何變化?(來自領域模型)
- 如何編寫后置條件?
A、采用過去時態。
較好:創建了XXX
較差:創建XXX或XXX被創建
B、后置條件不必盡善盡美,只做輕量分析即可
由此可知,后置條件是操作契約的重點,其來自領域模型。