物理的側面を表現する図 石原研 古賀浩之
6-1 物理的側面を表現する図 コンポーネント図 配置図 システムを開発運用する上で必要なソフトウェアコンポーネン トの構成を表現 実行時におけるシステム構成を表現
6-2 コンポーネント図 コンポーネント図は、 ソースコード バイナリファイル 実行ファイル 等のソフトウェアコンポーネントの依存性を表現 コンポーネント図は、 ソースコード バイナリファイル 実行ファイル 等のソフトウェアコンポーネントの依存性を表現 メリット コンポーネントごとに開発チームを作って並行作業しやすくなる 重要なブロックの観点から考察することで開発チームが設計を理解しやす くなり、新しい設計を作成するのに役立つ
コンポーネント図の表記 UML1.x UML2.x main.exe 会員.tbl main.exe 会員.tbl
ステレオタイプの付いたコンポ(略 UML1.x UML2.x main.exe 会員.tbl main.exe 会員.tbl <<executable>> main.exe <<table>> 会員.tbl <<executable>> main.exe <<table>> 会員.tbl
ステレオタイプによる表現 UML2.x おなじ ちがう≠ = <<component>> コンポーネント名 <<subsystem>> サブシステム
コンポーネントの型とインスタンス UML1.x main.exe main.exe 型 インスタンス
コンポーネントの依存関係 コンポーネント間の関係は依存関係で表現 コンパイルの依存関係 実行ファイルの依存関係
「ブラックリスト」クラスのコンポーネント ソースファイルの依存関係 「会員登録画面」クラスのコンポーネント 「会員」クラスのコンポーネント memberRegistrationForm.html member.java blackList.java memberList.java 「ブラックリスト」クラスのコンポーネント 「会員リスト」クラスのコンポーネント
実行ファイルの依存関係 <<executable>> <<executable>> main.exe <<executable>> client.exe <<file>> ヘルプファイル <<table>> 会員.tbl
インタフェース UML1.x UML2.x 会員DB <<executable>> member.exe <<component>> :Order(注文) 会員DB updateMembers 要求インタフェース (required interface) 提供インタフェース (provided interface) <<executable>> member.exe <<component>> :Product(製品)
アセンブリコネクタ 要求インタフェースと提供インタフェースで接続され ているコネクタ おなじ = 受注 <<component>> :Order(注文) おなじ = <<provided interfaces>> 受注 <<required interfaces>> 注文可能商品 <<component>> :Order(注文) 注文可能商品 要求インタフェース
6-3 配置図 ノードやコンポーネントでシステムの物理的側面を表 す 配置図に表現するのは実行時に存在するもののみ ソースファイルは表現しない
ノード 計算を実行するリソースを表す メモリや処理機能を持つものを指す ノードにも型とインスタンスがある ノード PC ノード名
名前もノード型名も省略できる ノード型名が無い場合は“:”も付けない ノードインスタンス 実際に配置されるノード 経理部PC 受付PC 営業部PC 名前 ノード型名 経理部:PC 受付:PC 営業部:PC 名前もノード型名も省略できる ノード型名が無い場合は“:”も付けない
UML2.xではハードウェアだけでなく、ソフトウェアも 表現できる 装置の表現⇒ <<device>> 実行環境の表現⇒ <<executionEnvironment>> ノード(装置) <<devicet>> :AppServer <<executionEnvironment>> :J2EEServer ノード(実行環境)
配置図のコンポーネント 配置図ではコンポーネントの型とインスタンスの両方 を使用できる UML1.x コンポーネント型 ノード サーバ1号機:Server 田中さんのマシン:PC <<executable>> member.exe <<executable>> :client.exe コンポーネント インスタンス <<file>> :ヘルプファイル :会員DB updateMembers
<<artifact>> 成果物 UML2.xではコンポーネントの代わりに成果物を配置 する 成果物の表記 <<artifact>> member.exe member.exe
成果物を使った表現 ノード (装置) (実行時間) <<device>> サーバ1号機:Server 田中さんのマシン:PC <<executionEnvironment>> :UnixOS <<executionEnvironment>> :Windows updateMembers <<executable>> member.exe <<executable>> :client.exe 成果物 :会員DB <<file>> :ヘルプファイル
Chapter6 まとめ 設計段階においては、システムの物理的側面も設計する 必要があるため、コンポーネントと配置図を利用する。 コンポーネント図は、ソフトウェアコンポーネントの構成を 表現する。ソフトウェアコンポーネントとは、開発環境や運用 環境に配置する再利用部品のこと。 配置図はハードウェア構成を表現する。ノードは通常コン ピュータを表現する。 ノードにUML1.xではコンポーネントを、UML2.xでは成果 物を置くことで、物理的なファイルの配置を表現することが できる。
練習問題 問題1 ノードアイコンを選択しなさい ① ③ ② ④
練習問題 問題2 コンポーネント図に関係ないものを選択しなさい。 ① コンポーネント ② 依存関係 ③ ノード ④ パッケージ
練習問題 問題3 コンポーネント図のコンポ―ネントを説明した文章で正しいも のを選択しなさい。 ① パッケージの中に書くことができる。 コンポーネント図のコンポ―ネントを説明した文章で正しいも のを選択しなさい。 ① パッケージの中に書くことができる。 ② クラスの中に書くことができる。 ③ オブジェクトの中に書くことができる。 ④ アクティビティの中に書くことができる。
練習問題 問題4 コンポーネントの提供インタフェースとして正しいものを選択し なさい。 ① ② ③ ④
練習問題 問題5 ノードについての説明で不適切なものを選択しなさい。 ① ノードはなんらかの処理機能を持つ。 ② ノードはプロセスである。 ③ ノードは物理的に存在するものである。 ④ ノードはなんらかのメモリを持つ。