
050
Column
CRCカード
CRCカードとは、小さなカードを使ってクラスの責務と、責務を果たすた
めに相互作用する相手を発見するモデリング手法です
※2
。
使うのは適当なサイズのカードとペンだけです。カードは図2.1.3のよう
に三つの区画に分け、上の区画にまずクラス名を書きます。左下の区画には
クラスが果たすべき責務を並べます。クラスが単独では責務を果たせない場
合、情報の取得や処理の依頼を行う相手が必要となります。相互作用の相手
となるクラスを右下の区画にコラボレータとして列挙します。クラス
(Class)、責務(Responsibility)、コラボレータ(Collaborator)の頭文字を
取ってCRCカードと名付けられました。
実際のやり方としては、複数人で机を囲んでカードを並べながらワークを
行います。その際、各自が担当するクラスを決めてロールプレイングを行っ
て設計を進めていきます。会話を通して、新たなクラスの発見や適切な責務
の再配置など、モデルを洗練していくことができるのがCRCカードの大き
なメリットです。
実装・テスト
実装・テストアクティビティでは、設計に基づいて実際に動作する
ソースコードを実装します。でき上がったソフトウェアにより要件が満
たされることをテストで検証します。
テストについては、図2.1.4 のようなV字モデルを見たことがあるで
しょう。
⹅
図2.1.3
CRCカード
(クラス名) 注文
(責務)
注文金額を計算する
決済手段を指定する
確定する
キャンセルする
(コラボレータ)
注文明細 ...