More Related Content
Similar to オブジェクト指向モデリング (20)
オブジェクト指向モデリング
- 2. アジェンダ
• 自己紹介
• オブジェクト指向の歴史
• モデリング
• モデリング実習
– 車をモデリングしてみよう
– ゲームをモデリングしてみよう
• クロージング
2
- 5. オブジェクト指向の歴史
• ソフトウェア設計手法の歴史
– 1. 無手順(暗黒時代)… 1955 年~
• 小リソースのため、小さく速いプログラムが必要
• 職人芸、開発者以外メンテナンス不可能
– 2. 構造化設計… 1966 年~
• バグ削減、職人芸の排除、保守性/再利用性の向上
• GoTo レス
• 「機能指向」な方法論
– 3. オブジェクト指向設計… 1995 年~
• 保守性/再利用性の更なる向上、修正範囲の局所化
• システムを「オブジェクト」で表現 5
- 6. オブジェクト指向の歴史
• CPU の歴史 無
手
順
1960 年代 ・マイクロップロセッサ登場前
構
造
・真空管の演算器が主流 化
設
計
1970 年代 前半 ・マイクロプロセッサ登場
・ Intel, ADM 創業
後半 ・パソコン用 CPU が登場
1980 年代 前半 ・ 32BitCPU の登場
オ
後半 ・ RISC CPU の登場 ブ
ジ
1990 年代 前半 ・ 64Bit RISC CPU の登場 ェ
ク
後半 ・ CPU クロック競争 ト
指
2000 年代 ・ CPU クロック戦争終結~マルチコア化 向
・高速化/大容量化するハードウェアに伴い、アプリケーションも高度化/複雑化の一途を辿る。
へ
・短期間で、高品質/高機能なソフトウェアの開発需要が増加。
6
・市場ニーズに答えるための開発方法論が生み出された。
- 11. オブジェクト指向の歴史
• オブジェクト指向のデメリット
– 再利用性を向上するためには、しくみが必要
– 小規模開発の場合、工数が増加する
• ツールなど小規模開発の場合
• 「力技による開発」より時間が掛かる
– 要員確保が困難
• 「オブジェクト指向設計」に慣れた要員は少ない
– 概念が複雑かつ抽象的で分かりにくい
• 習得に時間が掛かる
• 社外の教育機関を利用するべきである
• デザインパターンの習得が、理解を深める近道
11
- 13. モデリング
• モデリングとは?
– 「システム化対象を、オブジェクト指向パラダイムを
用いて図式化すること」
• モデリングの種類
– UML
• オブジェクトモデリングのための標準化した仕様記
述言語
– CRC カード
• オブジェクト指向の概念を教えるために導入された
初心者向けの図法
• 実開発でも使用可能 13
• XP でも設計手法として利用されている
- 14. モデリング
• 本日は「 CRC カード」を使ってモデリングを説明します
。
– CRC = Class Responsibility Collaborator
– 概念モデリング、詳細設計に活用可能
CRC カード
クラス名
責務 協調
14
- 15. モデリング
• CRC カードの説明
– 「クラス」
• クラスは、オブジェクトの雛形
• クラス名は、シンプルな名詞形が良い
– 「責務」
• クラスが「知っている」あるいは「行う」事柄
– 「協調クラス」
• 当該クラスと協調/相互作用するクラス
学生
学生番号 ゼミ
氏名
住所
ゼミに登録する
ゼミを辞める
成績証明書を請求する
15
- 16. モデリング
• CRC モデルの構築手順
– クラスを見つける
• 要件定義から名詞と動詞を抽出する
• 類似したもの同士をグループ化する。
• グループ化したものに、クラス名を命名する。
– 責務を見つける
• 名詞と動詞を「責務」に記入する。
– 協調クラスを定義する
• 関連または協調するクラスを探しだす。
• 「協調」に、関連または協調するクラスを記入する。
16
– カードをあちこち動かす
- 22. • 参考 URL
– http://d.hatena.ne.jp/sumim/20040525#p1
– http://ja.wikipedia.org/wiki/CPU
– http://ja.wikipedia.org/wiki/ オブジェクト指向
– http://ja.wikipedia.org/wiki/ 構造化プログラミング
– http://ja.wikipedia.org/wiki/ 統一モデリング言語
– http://itpro.nikkeibp.co.jp/article/COLUMN/20060921/248617/
– http://www.kogures.com/hitoshi/webtext/db-oodb/index.html
– http://www.ogis-ri.co.jp/otc/swec/process/am-res/am/artifacts/crcModel.html
22