オブジェクト指向モデリング

2,157 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,157
On SlideShare
0
From Embeds
0
Number of Embeds
61
Actions
Shares
0
Downloads
17
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

オブジェクト指向モデリング

  1. 1. オブジェクト指向モデリング 20 12/10/26 日本 XP ユーザーグループ関西 1
  2. 2. アジェンダ• 自己紹介• オブジェクト指向の歴史• モデリング• モデリング実習 – 車をモデリングしてみよう – ゲームをモデリングしてみよう• クロージング 2
  3. 3. 自己紹介• 名前:西 丈善• 学歴:大阪電子計算機専門学校• 経験: 19 年• 業務:組込系• 活動: XPJUG 関西、 PFP 関西     Web 「アジャイル・ニュース・フラッシュ」運営         電子書籍「サムライ・エピソード」執筆 3
  4. 4. オブジェクト指向の歴史 4
  5. 5. オブジェクト指向の歴史• ソフトウェア設計手法の歴史 – 1. 無手順(暗黒時代)… 1955 年~ • 小リソースのため、小さく速いプログラムが必要 • 職人芸、開発者以外メンテナンス不可能 – 2. 構造化設計… 1966 年~ • バグ削減、職人芸の排除、保守性/再利用性の向上 • GoTo レス • 「機能指向」な方法論 – 3. オブジェクト指向設計… 1995 年~ • 保守性/再利用性の更なる向上、修正範囲の局所化 • システムを「オブジェクト」で表現 5
  6. 6. オブジェクト指向の歴史• CPU の歴史 無 手 順1960 年代 ・マイクロップロセッサ登場前 構 造 ・真空管の演算器が主流 化 設 計1970 年代 前半 ・マイクロプロセッサ登場 ・ Intel, ADM 創業 後半 ・パソコン用 CPU が登場1980 年代 前半 ・ 32BitCPU の登場 オ 後半 ・ RISC CPU の登場 ブ ジ1990 年代 前半 ・ 64Bit RISC CPU の登場 ェ ク 後半 ・ CPU クロック競争 ト 指2000 年代 ・ CPU クロック戦争終結~マルチコア化 向・高速化/大容量化するハードウェアに伴い、アプリケーションも高度化/複雑化の一途を辿る。 へ・短期間で、高品質/高機能なソフトウェアの開発需要が増加。 6・市場ニーズに答えるための開発方法論が生み出された。
  7. 7. オブジェクト指向の歴史• オブジェクト指向とは、「異なる3つの設計思想の同音異句」• 下記 3 名の発想を統合したもの。 アラン・ケ イ ストラップ(1) アラン・ケイ (1970 年 )  「メッセージパッシング」を提唱。(2) ビアルネ・ストラウストラップス( 1980 年 ) クック  「抽象データ型(カプセス化、継承、多態性)」を体系化(3) ウィリアム・クック (1990 年 ) 7  「データに持たせる「手続き」によるデータ抽象化手
  8. 8. オブジェクト指向の歴史 8
  9. 9. オブジェクト指向の歴史• オブジェクト指向の構成要素 – カプセル化 – 継承 – 多態性 9
  10. 10. オブジェクト指向の歴史• オブジェクト指向のメリット – カプセル化により、堅牢なデータ保護が可能 – 独立性が高く、再利用が容易 – 差分プログラミングで、機能拡張が容易 10
  11. 11. オブジェクト指向の歴史• オブジェクト指向のデメリット – 再利用性を向上するためには、しくみが必要 – 小規模開発の場合、工数が増加する • ツールなど小規模開発の場合 • 「力技による開発」より時間が掛かる – 要員確保が困難 • 「オブジェクト指向設計」に慣れた要員は少ない – 概念が複雑かつ抽象的で分かりにくい • 習得に時間が掛かる • 社外の教育機関を利用するべきである • デザインパターンの習得が、理解を深める近道 11
  12. 12. モデリング 12
  13. 13. モデリング• モデリングとは? – 「システム化対象を、オブジェクト指向パラダイムを 用いて図式化すること」• モデリングの種類 – UML • オブジェクトモデリングのための標準化した仕様記 述言語 – CRC カード • オブジェクト指向の概念を教えるために導入された 初心者向けの図法 • 実開発でも使用可能 13 • XP でも設計手法として利用されている
  14. 14. モデリング• 本日は「 CRC カード」を使ってモデリングを説明します 。 – CRC = Class Responsibility Collaborator – 概念モデリング、詳細設計に活用可能 CRC カード クラス名 責務 協調 14
  15. 15. モデリング• CRC カードの説明 – 「クラス」 • クラスは、オブジェクトの雛形 • クラス名は、シンプルな名詞形が良い – 「責務」 • クラスが「知っている」あるいは「行う」事柄 – 「協調クラス」 • 当該クラスと協調/相互作用するクラス 学生 学生番号 ゼミ 氏名 住所 ゼミに登録する ゼミを辞める 成績証明書を請求する 15
  16. 16. モデリング• CRC モデルの構築手順 – クラスを見つける • 要件定義から名詞と動詞を抽出する • 類似したもの同士をグループ化する。 • グループ化したものに、クラス名を命名する。 – 責務を見つける • 名詞と動詞を「責務」に記入する。 – 協調クラスを定義する • 関連または協調するクラスを探しだす。 • 「協調」に、関連または協調するクラスを記入する。 16 – カードをあちこち動かす
  17. 17. モデリング• 例題1「あいさつシステム」 17
  18. 18. モデリング実習 18
  19. 19. モデリング実習• モデリング実習#1 「車をモデリングしてみよう」 19
  20. 20. モデリング実習• モデリング実習#2 「ゲームをモデリングしてみよう」 20
  21. 21. クロージング 21
  22. 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

×