90
UML のののののののののの ののののののの1 FM12004 FM12006 川川 川川川川 2012/4/16 川川川川川川川川川川 III

UML の概要とオブジェクト 指向の基本概念( 1 )

  • Upload
    sveta

  • View
    75

  • Download
    6

Embed Size (px)

DESCRIPTION

UML の概要とオブジェクト 指向の基本概念( 1 ). FM12004FM12006 川原 正 澤田佑基. 目次. UML とは? (澤田) UML の歴史 ( 川原 ) UML の図(ダイヤグラム) ( 澤田) UML の共通の要素 (川原). 目次. UML とは? UML の歴史 UML の図(ダイヤグラム) UML の共通の要素. 目次. UML とは? UML とは UML の 利点 オブジェクト指向と利点 UML の歴史 UML の図(ダイヤグラム) UML の共通の要素. UML とは. - PowerPoint PPT Presentation

Citation preview

Page 1: UML の概要とオブジェクト 指向の基本概念( 1 )

UMLの概要とオブジェクト指向の基本概念( 1)

FM12004 FM12006川原 正 澤田佑基

2012/4/16ソフトウェア工学特論 III

Page 2: UML の概要とオブジェクト 指向の基本概念( 1 )

UML とは? (澤田) UML の歴史 (川原) UML の図(ダイヤグラム) (澤田) UML の共通の要素 (川原)

目次

2012/4/16ソフトウェア工学特論 III

Page 3: UML の概要とオブジェクト 指向の基本概念( 1 )

UML とは? UML の歴史 UML の図(ダイヤグラム) UML の共通の要素

目次

2012/4/16ソフトウェア工学特論 III

Page 4: UML の概要とオブジェクト 指向の基本概念( 1 )

UML とは?◦ UML とは◦ UML の利点◦ オブジェクト指向と利点

UML の歴史 UML の図(ダイヤグラム) UML の共通の要素

目次

2012/4/16ソフトウェア工学特論 III

Page 5: UML の概要とオブジェクト 指向の基本概念( 1 )

UML:Unified Modeling Language (統一モデリング言語)

オブジェクト指向で業務を分析、設計、開発するときに必要なクラス、オブジェクトなどの要素と、それらを描画する図(ダイアグラム)の表記を規定したもの。

UMLとは

2012/4/16ソフトウェア工学特論 III

Page 6: UML の概要とオブジェクト 指向の基本概念( 1 )

表現力が高く、理解が容易である  すべての工程で用いる表記法が一貫している

世界の共通言語

UMLの利点

2012/4/16ソフトウェア工学特論 III

Page 7: UML の概要とオブジェクト 指向の基本概念( 1 )

手続き型言語のプログラムをフローチャートで設計するように、オブジェクト指向のプログラムをUML を使って描くことができる。

オブジェクト指向の開発には反復型開発プロセスが用いられる。

UMLとオブジェクト指向

2012/4/16ソフトウェア工学特論 III

Page 8: UML の概要とオブジェクト 指向の基本概念( 1 )

システムの全体をいくつかに分割し、各工程を反復しながら段階的に開発する。

反復型開発プロセス

2012/4/16ソフトウェア工学特論 III

Page 9: UML の概要とオブジェクト 指向の基本概念( 1 )

システムの問題を早期に発見し、早期にフィードバックすることが可能になる。

システムの使用の変更や機能の追加に柔軟に対応できる。

システムのより高い品質を実現できる。 開発プロセスが分割されることにより 1 回の開発

規模が小さくなり複雑さが低減される。

反復型開発プロセスの利点

2012/4/16ソフトウェア工学特論 III

Page 10: UML の概要とオブジェクト 指向の基本概念( 1 )

質疑応答( UMLとは?)

2012/4/16ソフトウェア工学特論 III

Page 11: UML の概要とオブジェクト 指向の基本概念( 1 )

UML とは? UML の歴史 UML の図(ダイヤグラム) UML の共通の要素

目次

2012/4/16ソフトウェア工学特論 III

Page 12: UML の概要とオブジェクト 指向の基本概念( 1 )

UML とは? UML の歴史

◦ 共通言語の重要性◦ UML の誕生◦ UML の開発年表◦ 質疑応答

UML の図(ダイヤグラム) UML の共通の要素

目次

2012/4/16ソフトウェア工学特論 III

Page 13: UML の概要とオブジェクト 指向の基本概念( 1 )

共通言語が無い場合

共通言語の重要性

2012/4/16ソフトウェア工学特論 III

Page 14: UML の概要とオブジェクト 指向の基本概念( 1 )

共通言語が無い場合

共通言語の重要性

2012/4/16ソフトウェア工学特論 III

Page 15: UML の概要とオブジェクト 指向の基本概念( 1 )

共通言語の重要性

共通言語の重要性

2012/4/16ソフトウェア工学特論 III

Page 16: UML の概要とオブジェクト 指向の基本概念( 1 )

共通言語の重要性

共通言語の重要性

2012/4/16ソフトウェア工学特論 III

Page 17: UML の概要とオブジェクト 指向の基本概念( 1 )

共通言語の重要性

共通言語の重要性

子供がブランコで遊んでいる

A kid is playing the swing.

2012/4/16ソフトウェア工学特論 III

Page 18: UML の概要とオブジェクト 指向の基本概念( 1 )

共通言語の重要性

共通言語の重要性

子供がブランコで遊んでいる

A kid is playing the swing.

伝えたいことは同じでも伝え方が異なる

2012/4/16ソフトウェア工学特論 III

Page 19: UML の概要とオブジェクト 指向の基本概念( 1 )

UML 誕生以前は・・・◦ 開発方法論や表記法が多く存在していた。

UMLの誕生

2012/4/16ソフトウェア工学特論 III

Page 20: UML の概要とオブジェクト 指向の基本概念( 1 )

UML 誕生以前は・・・◦ 開発方法論や表記法が多く存在していた。◦ OMT 法、 Booch 法、 Objectory 法 等の様々な開発方

法論が提案されていた。

UMLの誕生

2012/4/16ソフトウェア工学特論 III

Page 21: UML の概要とオブジェクト 指向の基本概念( 1 )

UML 誕生以前は・・・◦ 開発方法論や表記法が多く存在していた。◦ OMT 法、 Booch 法、 Objectory 法 等の様々な開発方

法論が提案されていた。

UMLの誕生

OMT 法Rumbaugh

Booch 法Booch 氏

Objectory 法Jacobson 氏

2012/4/16ソフトウェア工学特論 III

Page 22: UML の概要とオブジェクト 指向の基本概念( 1 )

UMLの誕生

OMT 法Rumbaugh

Booch 法Booch 氏

Objectory 法Jacobson 氏

2012/4/16ソフトウェア工学特論 III

Page 23: UML の概要とオブジェクト 指向の基本概念( 1 )

統一言語 UML の開発が行われる

UMLの誕生

OMT 法Rumbaugh

Booch 法Booch 氏

Objectory 法Jacobson 氏

2012/4/16ソフトウェア工学特論 III

Page 24: UML の概要とオブジェクト 指向の基本概念( 1 )

UMLの誕生

Rumbaugh氏

Booch 氏 Jacobson 氏

2012/4/16ソフトウェア工学特論 III

Page 25: UML の概要とオブジェクト 指向の基本概念( 1 )

スリーアミーゴ

UMLの誕生

Rumbaugh氏

Booch 氏 Jacobson 氏

2012/4/16ソフトウェア工学特論 III

Page 26: UML の概要とオブジェクト 指向の基本概念( 1 )

開発年表OMT 法

Rumbaugh氏

Booch 法Booch 氏

Objectory 法Jacobson 氏 その他の手法

2012/4/16ソフトウェア工学特論 III

Page 27: UML の概要とオブジェクト 指向の基本概念( 1 )

開発年表OMT 法

Rumbaugh氏

Booch 法Booch 氏

Objectory 法Jacobson 氏 その他の手法

Rumbauh 氏と Booch 氏が提携

2012/4/16ソフトウェア工学特論 III

Page 28: UML の概要とオブジェクト 指向の基本概念( 1 )

開発年表OMT 法

Rumbaugh氏

Booch 法Booch 氏

Objectory 法Jacobson 氏 その他の手法

Rumbauh 氏と Booch 氏が提携

Unified Method 0.8

2012/4/16ソフトウェア工学特論 III

Page 29: UML の概要とオブジェクト 指向の基本概念( 1 )

開発年表OMT 法

Rumbaugh氏

Booch 法Booch 氏

Objectory 法Jacobson 氏 その他の手法

Rumbauh 氏と Booch 氏が提携

Unified Method 0.8

UML 0.9

2012/4/16ソフトウェア工学特論 III

Page 30: UML の概要とオブジェクト 指向の基本概念( 1 )

開発年表OMT 法

Rumbaugh氏

Booch 法Booch 氏

Objectory 法Jacobson 氏 その他の手法

Rumbauh 氏と Booch 氏が提携

Unified Method 0.8

UML 0.9

UML 1.0

2012/4/16ソフトウェア工学特論 III

Page 31: UML の概要とオブジェクト 指向の基本概念( 1 )

開発年表OMT 法

Rumbaugh氏

Booch 法Booch 氏

Objectory 法Jacobson 氏 その他の手法

Rumbauh 氏と Booch 氏が提携

Unified Method 0.8

UML 0.9

UML 1.0

UML はバージョンアップを繰り返す

2012/4/16ソフトウェア工学特論 III

Page 32: UML の概要とオブジェクト 指向の基本概念( 1 )

質疑応答( UMLの歴史)

2012/4/16ソフトウェア工学特論 III

Page 33: UML の概要とオブジェクト 指向の基本概念( 1 )

UML とは? UML の歴史 UML の図(ダイヤグラム) UML の共通の要素

目次

2012/4/16ソフトウェア工学特論 III

Page 34: UML の概要とオブジェクト 指向の基本概念( 1 )

UML とは? UML の歴史 UML の図(ダイヤグラム)

◦ ユースケース図◦ クラス図◦ シーケンス図◦ コミュニケーション図◦ ステートマシーン図◦ アクティビティ図

UML の共通の要素

目次

2012/4/16ソフトウェア工学特論 III

Page 35: UML の概要とオブジェクト 指向の基本概念( 1 )

システムを多面的に捉える場合、 複数の図(ダイヤグラム)を必要となる。

UMLの図(ダイヤグラム)

• 構造図• クラス図• オブジェクト図• パッケージ図• 合成構造図• コンポーネント図• 配置図

• 振る舞い図• ユースケース図• アクティビティ図• ステートマシン図• 相互作用図• シーケンス図• コミュニケーション図• 相互作用概要図• タイミング図

• ステートマシン図2012/4/16ソフトウェア工学特論 III

Page 36: UML の概要とオブジェクト 指向の基本概念( 1 )

動作をユーザ視点で捉え、システムが外部に提供する機能を表現する

ユースケース図(Use Case Diagram)

2012/4/16ソフトウェア工学特論 III

Page 37: UML の概要とオブジェクト 指向の基本概念( 1 )

システム化する領域の概念や言葉(クラス)を用いて

 静的に表現する図。

クラス図( Class Diagram)

2012/4/16ソフトウェア工学特論 III

Page 38: UML の概要とオブジェクト 指向の基本概念( 1 )

オブジェクトなどの“もの”同士のやり取り(メッセージ)を表現した図

シーケンス図(Sequence Diagram)

2012/4/16ソフトウェア工学特論 III

Page 39: UML の概要とオブジェクト 指向の基本概念( 1 )

コミュニケーション図( Communication Diagram) シーケンス図よりもメッセージのやり取りを 表現しやすい図

2012/4/16ソフトウェア工学特論 III

Page 40: UML の概要とオブジェクト 指向の基本概念( 1 )

1つのオブジェクトに着目し、生成から消滅までどのような状態があるかを表現する図。

ステートマシン図( State Machine Diagram)

2012/4/16ソフトウェア工学特論 III

Page 41: UML の概要とオブジェクト 指向の基本概念( 1 )

システムや業務の流れ(フロー) を表現する図

アクティビティ図(Activity Diagram)

2012/4/16ソフトウェア工学特論 III

Page 42: UML の概要とオブジェクト 指向の基本概念( 1 )

UML で規定されていない図を選択しなさい。① クラス図② シーケンス図③ アクション図④ ユースケース図⑤ 配属図⑥ コンポーネント図

練習問題①

2012/4/16ソフトウェア工学特論 III

Page 43: UML の概要とオブジェクト 指向の基本概念( 1 )

UML で規定されていない図を選択しなさい。① クラス図② シーケンス図③ アクション図④ ユースケース図⑤ 配属図⑥ コンポーネント図

練習問題①

2012/4/16ソフトウェア工学特論 III

Page 44: UML の概要とオブジェクト 指向の基本概念( 1 )

解説:練習問題①

• 構造図• クラス図• オブジェクト図• パッケージ図• 合成構造図• コンポーネント図• 配置図

• 振る舞い図• ユースケース図• アクティビティ図• 相互作用図• ステートマシン図• シーケンス図• コミュニケーション図• 相互作用概要図• タイミング図

• ステートマシン図

UML の図一覧

2012/4/16ソフトウェア工学特論 III

Page 45: UML の概要とオブジェクト 指向の基本概念( 1 )

質疑応答( UMLの図)

2012/4/16ソフトウェア工学特論 III

Page 46: UML の概要とオブジェクト 指向の基本概念( 1 )

UML とは? UML の歴史 UML の図(ダイヤグラム) UML の共通の要素

目次

2012/4/16ソフトウェア工学特論 III

Page 47: UML の概要とオブジェクト 指向の基本概念( 1 )

UML とは? UML の歴史 UML の図(ダイヤグラム) UML の共通の要素

◦ノート◦ 型/インスタンス◦ ステレオタイプ◦ パッケージ◦ フレーム◦練習問題◦ 質疑応答

目次

2012/4/16ソフトウェア工学特論 III

Page 48: UML の概要とオブジェクト 指向の基本概念( 1 )

ノート

2012/4/16ソフトウェア工学特論 III

Page 49: UML の概要とオブジェクト 指向の基本概念( 1 )

UML の要素に対して、コメントや制約などの情報を付加する。

ノート

2012/4/16ソフトウェア工学特論 III

Page 50: UML の概要とオブジェクト 指向の基本概念( 1 )

UML の要素に対して、コメントや制約などの情報を付加する。

ノート

買い物かご

2012/4/16ソフトウェア工学特論 III

Page 51: UML の概要とオブジェクト 指向の基本概念( 1 )

UML の要素に対して、コメントや制約などの情報を付加する。

ノート

買い物かご

購入予定の商品を入れておく。

2012/4/16ソフトウェア工学特論 III

Page 52: UML の概要とオブジェクト 指向の基本概念( 1 )

UML の要素に対して、コメントや制約などの情報を付加する。

ノート

買い物かご

購入予定の商品を入れておく。

2012/4/16ソフトウェア工学特論 III

Page 53: UML の概要とオブジェクト 指向の基本概念( 1 )

UML の要素に対して、コメントや制約などの情報を付加する。

ノート

買い物かご

購入予定の商品を入れておく。

ノート

2012/4/16ソフトウェア工学特論 III

Page 54: UML の概要とオブジェクト 指向の基本概念( 1 )

UML の要素に対して、コメントや制約などの情報を付加する。

ノート

買い物かご

購入予定の商品を入れておく。

ノート点線(アンカ)を付けること

によりどの要素に対する情報なのかを明確にする

2012/4/16ソフトウェア工学特論 III

Page 55: UML の概要とオブジェクト 指向の基本概念( 1 )

型/インスタンス

2012/4/16ソフトウェア工学特論 III

Page 56: UML の概要とオブジェクト 指向の基本概念( 1 )

UML ではモデル要素に、型/インスタンスという2 面性を持たせている。

型/インスタンス

2012/4/16ソフトウェア工学特論 III

Page 57: UML の概要とオブジェクト 指向の基本概念( 1 )

クラス/オブジェクト、関連/リンクなどの 2 面性

型/インスタンス

商品

2012/4/16ソフトウェア工学特論 III

Page 58: UML の概要とオブジェクト 指向の基本概念( 1 )

クラス/オブジェクト、関連/リンクなどの 2 面性

型/インスタンス

商品

インスタントラーメン:商品

2012/4/16ソフトウェア工学特論 III

Page 59: UML の概要とオブジェクト 指向の基本概念( 1 )

クラス/オブジェクト、関連/リンクなどの 2 面性

型/インスタンス

商品

インスタントラーメン:商品

2012/4/16ソフトウェア工学特論 III

Page 60: UML の概要とオブジェクト 指向の基本概念( 1 )

クラス/オブジェクト、関連/リンクなどの 2 面性

型/インスタンス

商品

インスタントラーメン:商品

型/インスタンス の対応関係が分かるように下線を引いて表現する

2012/4/16ソフトウェア工学特論 III

Page 61: UML の概要とオブジェクト 指向の基本概念( 1 )

クラス/オブジェクト、関連/リンクなどの 2 面性

型/インスタンス

商品

インスタントラーメン:商品

型/インスタンス の対応関係が分かるように下線を引いて表現する

2012/4/16ソフトウェア工学特論 III

Page 62: UML の概要とオブジェクト 指向の基本概念( 1 )

ステレオタイプ

2012/4/16ソフトウェア工学特論 III

Page 63: UML の概要とオブジェクト 指向の基本概念( 1 )

システム開発には、様々な分野が存在する

ステレオタイプ

2012/4/16ソフトウェア工学特論 III

Page 64: UML の概要とオブジェクト 指向の基本概念( 1 )

システム開発には、様々な分野が存在する

ステレオタイプ

スケジューリング

組み込み

リアルタイム Web システム

2012/4/16ソフトウェア工学特論 III

Page 65: UML の概要とオブジェクト 指向の基本概念( 1 )

ステレオタイプ

2012/4/16ソフトウェア工学特論 III

Page 66: UML の概要とオブジェクト 指向の基本概念( 1 )

UML の基本要素だけでは表現しきれない場合の拡張のメカニズム。

ステレオタイプ

2012/4/16ソフトウェア工学特論 III

Page 67: UML の概要とオブジェクト 指向の基本概念( 1 )

UML の基本要素だけでは表現しきれない場合の拡張のメカニズム。

ステレオタイプ

<<boundary>>一覧画面

<<entity>>商品リスト

2012/4/16ソフトウェア工学特論 III

Page 68: UML の概要とオブジェクト 指向の基本概念( 1 )

UML の基本要素だけでは表現しきれない場合の拡張のメカニズム。

ステレオタイプ

<<boundary>>一覧画面

<<entity>>商品リスト

2012/4/16ソフトウェア工学特論 III

Page 69: UML の概要とオブジェクト 指向の基本概念( 1 )

UML の基本要素だけでは表現しきれない場合の拡張のメカニズム。

ステレオタイプ

<<boundary>>一覧画面

<<entity>>商品リスト

2012/4/16ソフトウェア工学特論 III

Page 70: UML の概要とオブジェクト 指向の基本概念( 1 )

UML の基本要素だけでは表現しきれない場合の拡張のメカニズム。

ステレオタイプ

<<boundary>>一覧画面

<<entity>>商品リスト

ステレオタイプ名を<< >> (ギュメ)で囲みUML 要素の名前上部(または前方)に記述する。

2012/4/16ソフトウェア工学特論 III

Page 71: UML の概要とオブジェクト 指向の基本概念( 1 )

UML で定義されたモデル要素をまとめる。

パッケージ

2012/4/16ソフトウェア工学特論 III

Page 72: UML の概要とオブジェクト 指向の基本概念( 1 )

UML で定義されたモデル要素をまとめる。

パッケージ

WebShopping

2012/4/16ソフトウェア工学特論 III

Page 73: UML の概要とオブジェクト 指向の基本概念( 1 )

UML で定義されたモデル要素をまとめる。

パッケージ

WebShopping

Control

Domain

GUI

展 開

2012/4/16ソフトウェア工学特論 III

Page 74: UML の概要とオブジェクト 指向の基本概念( 1 )

UML で定義されたモデル要素をまとめる。

パッケージ

WebShopping

WebShopping

Control

Domain

GUI

展 開

パッケージ名をタブの中に書く

2012/4/16ソフトウェア工学特論 III

Page 75: UML の概要とオブジェクト 指向の基本概念( 1 )

UML で定義されたモデル要素をまとめる。

パッケージ

WebShopping

WebShopping

Control

Domain

GUI

展 開

要素が別の要素を参照している場合は

依存関係(矢印付の線)を引く2012/4/16ソフトウェア工学特論 III

Page 76: UML の概要とオブジェクト 指向の基本概念( 1 )

フレーム

2012/4/16ソフトウェア工学特論 III

Page 77: UML の概要とオブジェクト 指向の基本概念( 1 )

フレームの中に図を入れ、図の種類、名称、範囲を明確にすることができる。

フレーム

2012/4/16ソフトウェア工学特論 III

Page 78: UML の概要とオブジェクト 指向の基本概念( 1 )

フレームの中に図を入れ、図の種類、名称、範囲を明確にすることができる。

フレーム

class 会員登録クラス図

ブラックリスト

会員登録画面

会員リスト

会員

2012/4/16ソフトウェア工学特論 III

Page 79: UML の概要とオブジェクト 指向の基本概念( 1 )

フレームの中に図を入れ、図の種類、名称、範囲を明確にすることができる。

フレーム

class 会員登録クラス図

ブラックリスト

会員登録画面

会員リスト

会員

ヘッダ

2012/4/16ソフトウェア工学特論 III

Page 80: UML の概要とオブジェクト 指向の基本概念( 1 )

フレームの中に図を入れ、図の種類、名称、範囲を明確にすることができる。

フレーム

class 会員登録クラス図

ブラックリスト

会員登録画面

会員リスト

会員

ヘッダ

図の種類

2012/4/16ソフトウェア工学特論 III

Page 81: UML の概要とオブジェクト 指向の基本概念( 1 )

フレームの中に図を入れ、図の種類、名称、範囲を明確にすることができる。

フレーム

class 会員登録クラス図

ブラックリスト

会員登録画面

会員リスト

会員

ヘッダ

図の種類 図の名称

2012/4/16ソフトウェア工学特論 III

Page 82: UML の概要とオブジェクト 指向の基本概念( 1 )

フレームの中に図を入れ、図の種類、名称、範囲を明確にすることができる。

フレーム

class 会員登録クラス図

ブラックリスト

会員登録画面

会員リスト

会員

ヘッダ

図の種類 図の名称 フレーム

2012/4/16ソフトウェア工学特論 III

Page 83: UML の概要とオブジェクト 指向の基本概念( 1 )

パッケージに含めることができるものを選択しなさい ① クラス

② オブジェクト③ パッケージ④ 上記すべて

練習問題②

2012/4/16ソフトウェア工学特論 III

Page 84: UML の概要とオブジェクト 指向の基本概念( 1 )

パッケージに含めることができるものを選択しなさい ① クラス

② オブジェクト③ パッケージ④ 上記すべて

練習問題②

2012/4/16ソフトウェア工学特論 III

Page 85: UML の概要とオブジェクト 指向の基本概念( 1 )

パッケージには UML の要素全てを含むことが可能。

解説:練習問題②

2012/4/16ソフトウェア工学特論 III

Page 86: UML の概要とオブジェクト 指向の基本概念( 1 )

ノートについて正しいものを選択しなさい。① クラスに付けるもの② メッセージに付けるもの③ 図に付けるもの④ 関連に付けるもの⑤ モデル要素すべてに付けて良いもの

練習問題③

2012/4/16ソフトウェア工学特論 III

Page 87: UML の概要とオブジェクト 指向の基本概念( 1 )

ノートについて正しいものを選択しなさい。① クラスに付けるもの② メッセージに付けるもの③ 図に付けるもの④ 関連に付けるもの⑤ モデル要素すべてに付けて良いもの

練習問題③

2012/4/16ソフトウェア工学特論 III

Page 88: UML の概要とオブジェクト 指向の基本概念( 1 )

ノートは、全てのモデル要素に対してコメント、制約、メソッドなどの情報を付加する際に使用する。

解説:練習問題③

2012/4/16ソフトウェア工学特論 III

Page 89: UML の概要とオブジェクト 指向の基本概念( 1 )

質疑応答( UMLの共通の要素)

2012/4/16ソフトウェア工学特論 III

Page 90: UML の概要とオブジェクト 指向の基本概念( 1 )

2012/4/16ソフトウェア工学特論 III