0
オブジェクト指向モデリング             20 12/10/26    日本 XP ユーザーグループ関西                       1
アジェンダ•   自己紹介•   オブジェクト指向の歴史•   モデリング•   モデリング実習    – 車をモデリングしてみよう    – ゲームをモデリングしてみよう• クロージング                2
自己紹介• 名前:西 丈善• 学歴:大阪電子計算機専門学校• 経験: 19 年• 業務:組込系• 活動: XPJUG 関西、 PFP 関西     Web 「アジャイル・ニュース・フラッシュ」運営         電子書籍「サムライ・エピソード...
オブジェクト指向の歴史        4
オブジェクト指向の歴史• ソフトウェア設計手法の歴史  – 1. 無手順(暗黒時代)… 1955 年~     • 小リソースのため、小さく速いプログラムが必要     • 職人芸、開発者以外メンテナンス不可能 – 2. 構造化設計… 1966...
オブジェクト指向の歴史• CPU の歴史                                      無                                               手               ...
オブジェクト指向の歴史• オブジェクト指向とは、「異なる3つの設計思想の同音異句」• 下記 3 名の発想を統合したもの。                       アラン・ケ                       イ          ...
オブジェクト指向の歴史         8
オブジェクト指向の歴史• オブジェクト指向の構成要素 – カプセル化 – 継承 – 多態性                  9
オブジェクト指向の歴史• オブジェクト指向のメリット – カプセル化により、堅牢なデータ保護が可能 – 独立性が高く、再利用が容易 – 差分プログラミングで、機能拡張が容易                  10
オブジェクト指向の歴史• オブジェクト指向のデメリット – 再利用性を向上するためには、しくみが必要 – 小規模開発の場合、工数が増加する  • ツールなど小規模開発の場合  • 「力技による開発」より時間が掛かる – 要員確保が困難  • 「...
モデリング        12
モデリング• モデリングとは?  – 「システム化対象を、オブジェクト指向パラダイムを    用いて図式化すること」• モデリングの種類  – UML     • オブジェクトモデリングのための標準化した仕様記       述言語  – CRC...
モデリング• 本日は「 CRC カード」を使ってモデリングを説明します  。  – CRC = Class Responsibility Collaborator  – 概念モデリング、詳細設計に活用可能                   C...
モデリング• CRC カードの説明   – 「クラス」      • クラスは、オブジェクトの雛形      • クラス名は、シンプルな名詞形が良い   – 「責務」      • クラスが「知っている」あるいは「行う」事柄   – 「協調クラ...
モデリング• CRC モデルの構築手順 – クラスを見つける   • 要件定義から名詞と動詞を抽出する   • 類似したもの同士をグループ化する。   • グループ化したものに、クラス名を命名する。 – 責務を見つける   • 名詞と動詞を「責...
モデリング• 例題1「あいさつシステム」                  17
モデリング実習      18
モデリング実習• モデリング実習#1 「車をモデリングしてみよう」                  19
モデリング実習• モデリング実習#2 「ゲームをモデリングしてみよう」                    20
クロージング         21
•   参考 URL     – http://d.hatena.ne.jp/sumim/20040525#p1     – http://ja.wikipedia.org/wiki/CPU     – http://ja.wikipedia....
Upcoming SlideShare
Loading in...5
×

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

1,526

Published on

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

No Downloads
Views
Total Views
1,526
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
14
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

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

  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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×