物理的側面を

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