通常有一個人或一個小組會負責一組設計元素,且通常是一或多個包含其他設計元素的套件或子系統。此人/小組負責對套件或子系統包含的元素來擴充設計明細:完成所有操作定義和對於其他設計元素的關係定義。 作業:封裝體設計強調以封裝體和(被動或資料)類別來遞迴分解系統的功能。作業:類別設計強調修正被動類別設計元素的設計,作業:子系統設計強調如何將對映至子系統本身的行為,分配至內含的設計元素(內含的封裝體和類別或子系統)。子系統通常做為粗略的模型組織結構,而封裝體則用於通常放在被動資訊儲存庫中的大多數工作和「普通」類別。
負責設計封裝體的人或團隊必須瞭解實作語言,且在一般的並行性問題上也須具備專業知識。負責設計被動類別的人也應該瞭解實作語言,以及類別要採用的演算法或技術。負責子系統的人或團隊應該通曉各種知識、有能力決定如何適當分割設計元素的功能,以及能夠瞭解不同設計方案原本的
權衡。
修正個別的設計元素時,也必須修正使用案例實現化,以反映設計元素的延伸責任。通常由一個人或一個小組來負責修正一或多個相關的使用案例實現化。在增加或修正設計元素時,或改進設計模型可以簡化使用案例實現化時,必須重新考量並持續發展使用案例實現化,避免不切合實際需求。負責使用案例實現化的人或團隊必須完整瞭解使用案例所需的行為,以及採取不同方式將此行為分配給各設計元素的優缺點。此外,因為要負責選取執行使用案例的元素,所以也必須非常瞭解設計元素本身的外部(公開)行為。
|