教科書 6.1-6.3
- p. 133, 6.1. モデリングという言葉の定義
- 理解できることを説明できるレベルまで整理する (p.133)
- 物事をシンプルに表現すること.(p.135)
・・・ というより,物事の限定的な側面のみを表現すること.
- 表現したことを説明する(分析する)助けになること.
- モデリングに正解は無い
・・・というより,注目している側面によって異なるモデリングになる.
- p. 134. 6.2. 新しい例題「ばば抜き」
- オブジェクト指向に基づくモデリングの典型的な流れ (p.137〜p.154)
- クラスを抽出 p.137
問題文(仕様書)の名詞(主語,目的語)に着目
他のクラスの属性とするか,独自のクラスとするかは要検討
最終結果 図6-1
- クラス間の関係を洗い出す p.140
メッセージの通り道
関係の結果 図6-3
クラスとインスタンスの関係 図6-4
- メッセージのやりとりを考える p.144
メッセージは「送り先への命令」と考えたほうがわかりやすいかも.
メッセージに対する「返事」も考慮して.
やりとりの例
図6-5
図6-7
- 各クラスの操作の洗い出し p.148
- 属性の洗い出し p.150,
属性と操作を足したクラス図 図6-9
- 操作の見落としの探す p.152
- 6.3 画面イメージとシーケンス図
- p.155 画面イメージと拡張されたクラス図
図6-10
- p157〜160 シーケンス図:
シーケンス図はインスタンスレベルの記述なので,
実行の流れの一例(とはいえ典型例)に過ぎないことに注意.
基本的な書き方 図6-12と例
図6-11
図6-13
図6-14
- UML: とはいえ「UMLの形式的な書き方を先に学ぼうとすると,
逆にオブジェクト指向の本質的な理解が妨げられてしまう」
- ソフトウェアモデリングのための典型的な側面
- 機能: 何を入れたら何が出てくるか? 通常,ユースケース図を利用.
- 構造: どんな構成要素で作られているか? 通常,クラス図や配置図.
- 振る舞い: どんな順序で動くか? 通常,状態図,アクティビティ図,シーケンス図.
- インスタンスはモデルか?
- インスタンスを表す図や表現: シーケンス図,シナリオ.
- インスタンスは個々の事例,事実の記述なので,一般化されていない.
- その意味からはモデルとはいえない.
- 実際にはシーケンス図をモデルと呼ぶことはあるので,
その辺の解釈は曖昧.
クラス図モデリングの補足
[PPT],
[PDF]
参考文献:
金田 重郎, 世良 龍郎.
認知文法に基づくオブジェクト指向の理解.
電子情報通信学会技術研究報告, Vol. 111, No. 396, pp. 61-66, Jan. 2012.
ISSN 0913-5685, 知能ソフトウェア工学 KBSE2011-63,