Mais conteúdo relacionado
Semelhante a CRC Card (20)
Mais de Jamie (Taka) Wang (20)
CRC Card
- 2. Domain, Concept and Analysis
物件導向分析 (Object-Oriented
Analysis, OOA) 強調如何從問題領
域 (Problem Domain) 的描述建立
使用案例模型 (Use Case Model),
然後識別出物件,在抽象化成類別
後建立領域模型 (Domain Model),
最後指定類別責任來建立概念模型
(Conceptual Model)。
http://www.csie.sju.edu.tw/cm/course/softengineer/OOAD_10.ppt
http://web.ydu.edu.tw/~alan9956/doc100/100-02.sa/ooad-uml-chap04.pdf
Fowler's Category:
● Conceptual
● Specification (Abstract)
● Implementation (Concrete)
- 4. CRC Card
CRC卡是 (Kent Beck 和 Ward Cunningham, 1989 OOPSLA) 發展的技術,CRC代
表類別(Class)、責任 (Responsibilities) 和合作 (Collaborators)
軟體物件有如人們具有責任 (responsibilities),有些
責任必需與他人合作 (collaborate) 才能完成工作
- Craig Larman from Applying UML and Patterns
CRC cards - 非正規物件導向發展技術
- 6. CRC Card (3 inch x 5 inch)
http://cc.web2.ncut.edu.tw/ezfiles/26/1026/img/140/20050413_UML.pdf
- 7. CRC card methodology (1/2)
1. 挑一組相關 use cases (不是只針對單一的 use case 做模型),看起來有共同的底
層 (共同object types) 的 use cases 來 model。這樣提供情境讓我們可以討論。
2. 每個物件用一張卡片來表示。將有動作的物件卡片放在桌上。從 Actor 的 Trigger
開始。
3. 走過各個 use cases (scenario),將卡片取名,決定每個卡片的責任與如何處理
request,標示在卡片上。完成以後一組這樣的卡片就是一個物件模型。
Using CRC cards
物件模型的觀念與誤解
- 8. CRC card methodology (2/2)
4. 要測試這個模型好不好的方法是,改變一下 use case 的情景(假想需求變更),看
這組卡片是不是仍能完成這個情景,或是需要小調整一些責任,或是需要增加新的卡
片,或是要做更大的更動才能完成。最好的模型會最簡單,而又在最小的調整下應付
最多的需求變更。<<類似BDD,此手法跟DDD找BC方式呼應>>
5. 把這組卡片推到一邊(先不要丟掉,可能隨時要拿出來參考)。試著找出不同的模型
,加入新的卡片。讓這個設計不斷演化,不要忘了用前一步的方法測試新設計。
6. 把最後找出最好的模型記錄下來。記錄下主要的 responsibility 與 interaction。