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