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
UMLの概要とオブジェクト指向の基本概念( 1)
FM12004 FM12006川原 正 澤田佑基
2012/4/16ソフトウェア工学特論 III
UML とは? (澤田) UML の歴史 (川原) UML の図(ダイヤグラム) (澤田) UML の共通の要素 (川原)
目次
2012/4/16ソフトウェア工学特論 III
UML とは? UML の歴史 UML の図(ダイヤグラム) UML の共通の要素
目次
2012/4/16ソフトウェア工学特論 III
UML とは?◦ UML とは◦ UML の利点◦ オブジェクト指向と利点
UML の歴史 UML の図(ダイヤグラム) UML の共通の要素
目次
2012/4/16ソフトウェア工学特論 III
UML:Unified Modeling Language (統一モデリング言語)
オブジェクト指向で業務を分析、設計、開発するときに必要なクラス、オブジェクトなどの要素と、それらを描画する図(ダイアグラム)の表記を規定したもの。
UMLとは
2012/4/16ソフトウェア工学特論 III
表現力が高く、理解が容易である すべての工程で用いる表記法が一貫している
世界の共通言語
UMLの利点
2012/4/16ソフトウェア工学特論 III
手続き型言語のプログラムをフローチャートで設計するように、オブジェクト指向のプログラムをUML を使って描くことができる。
オブジェクト指向の開発には反復型開発プロセスが用いられる。
UMLとオブジェクト指向
2012/4/16ソフトウェア工学特論 III
システムの全体をいくつかに分割し、各工程を反復しながら段階的に開発する。
反復型開発プロセス
2012/4/16ソフトウェア工学特論 III
システムの問題を早期に発見し、早期にフィードバックすることが可能になる。
システムの使用の変更や機能の追加に柔軟に対応できる。
システムのより高い品質を実現できる。 開発プロセスが分割されることにより 1 回の開発
規模が小さくなり複雑さが低減される。
反復型開発プロセスの利点
2012/4/16ソフトウェア工学特論 III
質疑応答( UMLとは?)
2012/4/16ソフトウェア工学特論 III
UML とは? UML の歴史 UML の図(ダイヤグラム) UML の共通の要素
目次
2012/4/16ソフトウェア工学特論 III
UML とは? UML の歴史
◦ 共通言語の重要性◦ UML の誕生◦ UML の開発年表◦ 質疑応答
UML の図(ダイヤグラム) UML の共通の要素
目次
2012/4/16ソフトウェア工学特論 III
共通言語が無い場合
共通言語の重要性
2012/4/16ソフトウェア工学特論 III
共通言語が無い場合
共通言語の重要性
2012/4/16ソフトウェア工学特論 III
共通言語の重要性
共通言語の重要性
2012/4/16ソフトウェア工学特論 III
共通言語の重要性
共通言語の重要性
2012/4/16ソフトウェア工学特論 III
共通言語の重要性
共通言語の重要性
子供がブランコで遊んでいる
A kid is playing the swing.
2012/4/16ソフトウェア工学特論 III
共通言語の重要性
共通言語の重要性
子供がブランコで遊んでいる
A kid is playing the swing.
伝えたいことは同じでも伝え方が異なる
2012/4/16ソフトウェア工学特論 III
UML 誕生以前は・・・◦ 開発方法論や表記法が多く存在していた。
UMLの誕生
2012/4/16ソフトウェア工学特論 III
UML 誕生以前は・・・◦ 開発方法論や表記法が多く存在していた。◦ OMT 法、 Booch 法、 Objectory 法 等の様々な開発方
法論が提案されていた。
UMLの誕生
2012/4/16ソフトウェア工学特論 III
UML 誕生以前は・・・◦ 開発方法論や表記法が多く存在していた。◦ OMT 法、 Booch 法、 Objectory 法 等の様々な開発方
法論が提案されていた。
UMLの誕生
OMT 法Rumbaugh
氏
Booch 法Booch 氏
Objectory 法Jacobson 氏
2012/4/16ソフトウェア工学特論 III
UMLの誕生
OMT 法Rumbaugh
氏
Booch 法Booch 氏
Objectory 法Jacobson 氏
2012/4/16ソフトウェア工学特論 III
統一言語 UML の開発が行われる
UMLの誕生
OMT 法Rumbaugh
氏
Booch 法Booch 氏
Objectory 法Jacobson 氏
2012/4/16ソフトウェア工学特論 III
UMLの誕生
Rumbaugh氏
Booch 氏 Jacobson 氏
2012/4/16ソフトウェア工学特論 III
スリーアミーゴ
UMLの誕生
Rumbaugh氏
Booch 氏 Jacobson 氏
2012/4/16ソフトウェア工学特論 III
開発年表OMT 法
Rumbaugh氏
Booch 法Booch 氏
Objectory 法Jacobson 氏 その他の手法
2012/4/16ソフトウェア工学特論 III
開発年表OMT 法
Rumbaugh氏
Booch 法Booch 氏
Objectory 法Jacobson 氏 その他の手法
Rumbauh 氏と Booch 氏が提携
2012/4/16ソフトウェア工学特論 III
開発年表OMT 法
Rumbaugh氏
Booch 法Booch 氏
Objectory 法Jacobson 氏 その他の手法
Rumbauh 氏と Booch 氏が提携
Unified Method 0.8
2012/4/16ソフトウェア工学特論 III
開発年表OMT 法
Rumbaugh氏
Booch 法Booch 氏
Objectory 法Jacobson 氏 その他の手法
Rumbauh 氏と Booch 氏が提携
Unified Method 0.8
UML 0.9
2012/4/16ソフトウェア工学特論 III
開発年表OMT 法
Rumbaugh氏
Booch 法Booch 氏
Objectory 法Jacobson 氏 その他の手法
Rumbauh 氏と Booch 氏が提携
Unified Method 0.8
UML 0.9
UML 1.0
2012/4/16ソフトウェア工学特論 III
開発年表OMT 法
Rumbaugh氏
Booch 法Booch 氏
Objectory 法Jacobson 氏 その他の手法
Rumbauh 氏と Booch 氏が提携
Unified Method 0.8
UML 0.9
UML 1.0
UML はバージョンアップを繰り返す
2012/4/16ソフトウェア工学特論 III
質疑応答( UMLの歴史)
2012/4/16ソフトウェア工学特論 III
UML とは? UML の歴史 UML の図(ダイヤグラム) UML の共通の要素
目次
2012/4/16ソフトウェア工学特論 III
UML とは? UML の歴史 UML の図(ダイヤグラム)
◦ ユースケース図◦ クラス図◦ シーケンス図◦ コミュニケーション図◦ ステートマシーン図◦ アクティビティ図
UML の共通の要素
目次
2012/4/16ソフトウェア工学特論 III
システムを多面的に捉える場合、 複数の図(ダイヤグラム)を必要となる。
UMLの図(ダイヤグラム)
• 構造図• クラス図• オブジェクト図• パッケージ図• 合成構造図• コンポーネント図• 配置図
• 振る舞い図• ユースケース図• アクティビティ図• ステートマシン図• 相互作用図• シーケンス図• コミュニケーション図• 相互作用概要図• タイミング図
• ステートマシン図2012/4/16ソフトウェア工学特論 III
動作をユーザ視点で捉え、システムが外部に提供する機能を表現する
ユースケース図(Use Case Diagram)
2012/4/16ソフトウェア工学特論 III
システム化する領域の概念や言葉(クラス)を用いて
静的に表現する図。
クラス図( Class Diagram)
2012/4/16ソフトウェア工学特論 III
オブジェクトなどの“もの”同士のやり取り(メッセージ)を表現した図
シーケンス図(Sequence Diagram)
2012/4/16ソフトウェア工学特論 III
コミュニケーション図( Communication Diagram) シーケンス図よりもメッセージのやり取りを 表現しやすい図
2012/4/16ソフトウェア工学特論 III
1つのオブジェクトに着目し、生成から消滅までどのような状態があるかを表現する図。
ステートマシン図( State Machine Diagram)
2012/4/16ソフトウェア工学特論 III
システムや業務の流れ(フロー) を表現する図
アクティビティ図(Activity Diagram)
2012/4/16ソフトウェア工学特論 III
UML で規定されていない図を選択しなさい。① クラス図② シーケンス図③ アクション図④ ユースケース図⑤ 配属図⑥ コンポーネント図
練習問題①
2012/4/16ソフトウェア工学特論 III
UML で規定されていない図を選択しなさい。① クラス図② シーケンス図③ アクション図④ ユースケース図⑤ 配属図⑥ コンポーネント図
練習問題①
2012/4/16ソフトウェア工学特論 III
解説:練習問題①
• 構造図• クラス図• オブジェクト図• パッケージ図• 合成構造図• コンポーネント図• 配置図
• 振る舞い図• ユースケース図• アクティビティ図• 相互作用図• ステートマシン図• シーケンス図• コミュニケーション図• 相互作用概要図• タイミング図
• ステートマシン図
UML の図一覧
2012/4/16ソフトウェア工学特論 III
質疑応答( UMLの図)
2012/4/16ソフトウェア工学特論 III
UML とは? UML の歴史 UML の図(ダイヤグラム) UML の共通の要素
目次
2012/4/16ソフトウェア工学特論 III
UML とは? UML の歴史 UML の図(ダイヤグラム) UML の共通の要素
◦ノート◦ 型/インスタンス◦ ステレオタイプ◦ パッケージ◦ フレーム◦練習問題◦ 質疑応答
目次
2012/4/16ソフトウェア工学特論 III
ノート
2012/4/16ソフトウェア工学特論 III
UML の要素に対して、コメントや制約などの情報を付加する。
ノート
2012/4/16ソフトウェア工学特論 III
UML の要素に対して、コメントや制約などの情報を付加する。
ノート
買い物かご
2012/4/16ソフトウェア工学特論 III
UML の要素に対して、コメントや制約などの情報を付加する。
ノート
買い物かご
購入予定の商品を入れておく。
2012/4/16ソフトウェア工学特論 III
UML の要素に対して、コメントや制約などの情報を付加する。
ノート
買い物かご
購入予定の商品を入れておく。
2012/4/16ソフトウェア工学特論 III
UML の要素に対して、コメントや制約などの情報を付加する。
ノート
買い物かご
購入予定の商品を入れておく。
ノート
2012/4/16ソフトウェア工学特論 III
UML の要素に対して、コメントや制約などの情報を付加する。
ノート
買い物かご
購入予定の商品を入れておく。
ノート点線(アンカ)を付けること
によりどの要素に対する情報なのかを明確にする
2012/4/16ソフトウェア工学特論 III
型/インスタンス
2012/4/16ソフトウェア工学特論 III
UML ではモデル要素に、型/インスタンスという2 面性を持たせている。
型/インスタンス
2012/4/16ソフトウェア工学特論 III
クラス/オブジェクト、関連/リンクなどの 2 面性
型/インスタンス
商品
2012/4/16ソフトウェア工学特論 III
クラス/オブジェクト、関連/リンクなどの 2 面性
型/インスタンス
商品
インスタントラーメン:商品
2012/4/16ソフトウェア工学特論 III
クラス/オブジェクト、関連/リンクなどの 2 面性
型/インスタンス
商品
インスタントラーメン:商品
2012/4/16ソフトウェア工学特論 III
クラス/オブジェクト、関連/リンクなどの 2 面性
型/インスタンス
商品
インスタントラーメン:商品
型/インスタンス の対応関係が分かるように下線を引いて表現する
2012/4/16ソフトウェア工学特論 III
クラス/オブジェクト、関連/リンクなどの 2 面性
型/インスタンス
商品
インスタントラーメン:商品
型/インスタンス の対応関係が分かるように下線を引いて表現する
2012/4/16ソフトウェア工学特論 III
ステレオタイプ
2012/4/16ソフトウェア工学特論 III
システム開発には、様々な分野が存在する
ステレオタイプ
2012/4/16ソフトウェア工学特論 III
システム開発には、様々な分野が存在する
ステレオタイプ
スケジューリング
組み込み
リアルタイム Web システム
2012/4/16ソフトウェア工学特論 III
ステレオタイプ
2012/4/16ソフトウェア工学特論 III
UML の基本要素だけでは表現しきれない場合の拡張のメカニズム。
ステレオタイプ
2012/4/16ソフトウェア工学特論 III
UML の基本要素だけでは表現しきれない場合の拡張のメカニズム。
ステレオタイプ
<<boundary>>一覧画面
<<entity>>商品リスト
2012/4/16ソフトウェア工学特論 III
UML の基本要素だけでは表現しきれない場合の拡張のメカニズム。
ステレオタイプ
<<boundary>>一覧画面
<<entity>>商品リスト
2012/4/16ソフトウェア工学特論 III
UML の基本要素だけでは表現しきれない場合の拡張のメカニズム。
ステレオタイプ
<<boundary>>一覧画面
<<entity>>商品リスト
2012/4/16ソフトウェア工学特論 III
UML の基本要素だけでは表現しきれない場合の拡張のメカニズム。
ステレオタイプ
<<boundary>>一覧画面
<<entity>>商品リスト
ステレオタイプ名を<< >> (ギュメ)で囲みUML 要素の名前上部(または前方)に記述する。
2012/4/16ソフトウェア工学特論 III
UML で定義されたモデル要素をまとめる。
パッケージ
2012/4/16ソフトウェア工学特論 III
UML で定義されたモデル要素をまとめる。
パッケージ
WebShopping
2012/4/16ソフトウェア工学特論 III
UML で定義されたモデル要素をまとめる。
パッケージ
WebShopping
Control
Domain
GUI
展 開
2012/4/16ソフトウェア工学特論 III
UML で定義されたモデル要素をまとめる。
パッケージ
WebShopping
WebShopping
Control
Domain
GUI
展 開
パッケージ名をタブの中に書く
2012/4/16ソフトウェア工学特論 III
UML で定義されたモデル要素をまとめる。
パッケージ
WebShopping
WebShopping
Control
Domain
GUI
展 開
要素が別の要素を参照している場合は
依存関係(矢印付の線)を引く2012/4/16ソフトウェア工学特論 III
フレーム
2012/4/16ソフトウェア工学特論 III
フレームの中に図を入れ、図の種類、名称、範囲を明確にすることができる。
フレーム
2012/4/16ソフトウェア工学特論 III
フレームの中に図を入れ、図の種類、名称、範囲を明確にすることができる。
フレーム
class 会員登録クラス図
ブラックリスト
会員登録画面
会員リスト
会員
2012/4/16ソフトウェア工学特論 III
フレームの中に図を入れ、図の種類、名称、範囲を明確にすることができる。
フレーム
class 会員登録クラス図
ブラックリスト
会員登録画面
会員リスト
会員
ヘッダ
2012/4/16ソフトウェア工学特論 III
フレームの中に図を入れ、図の種類、名称、範囲を明確にすることができる。
フレーム
class 会員登録クラス図
ブラックリスト
会員登録画面
会員リスト
会員
ヘッダ
図の種類
2012/4/16ソフトウェア工学特論 III
フレームの中に図を入れ、図の種類、名称、範囲を明確にすることができる。
フレーム
class 会員登録クラス図
ブラックリスト
会員登録画面
会員リスト
会員
ヘッダ
図の種類 図の名称
2012/4/16ソフトウェア工学特論 III
フレームの中に図を入れ、図の種類、名称、範囲を明確にすることができる。
フレーム
class 会員登録クラス図
ブラックリスト
会員登録画面
会員リスト
会員
ヘッダ
図の種類 図の名称 フレーム
2012/4/16ソフトウェア工学特論 III
パッケージに含めることができるものを選択しなさい ① クラス
② オブジェクト③ パッケージ④ 上記すべて
練習問題②
2012/4/16ソフトウェア工学特論 III
パッケージに含めることができるものを選択しなさい ① クラス
② オブジェクト③ パッケージ④ 上記すべて
練習問題②
2012/4/16ソフトウェア工学特論 III
パッケージには UML の要素全てを含むことが可能。
解説:練習問題②
2012/4/16ソフトウェア工学特論 III
ノートについて正しいものを選択しなさい。① クラスに付けるもの② メッセージに付けるもの③ 図に付けるもの④ 関連に付けるもの⑤ モデル要素すべてに付けて良いもの
練習問題③
2012/4/16ソフトウェア工学特論 III
ノートについて正しいものを選択しなさい。① クラスに付けるもの② メッセージに付けるもの③ 図に付けるもの④ 関連に付けるもの⑤ モデル要素すべてに付けて良いもの
練習問題③
2012/4/16ソフトウェア工学特論 III
ノートは、全てのモデル要素に対してコメント、制約、メソッドなどの情報を付加する際に使用する。
解説:練習問題③
2012/4/16ソフトウェア工学特論 III
質疑応答( UMLの共通の要素)
2012/4/16ソフトウェア工学特論 III
2012/4/16ソフトウェア工学特論 III