物理的側面を表現する図 石原研 古賀浩之 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 ▌ノードについての説明で不適切なものを選択しなさい。 ① ノードはなんらかの処理機能を持つ。 ② ノードはプロセスである。 ③ ノードは物理的に存在するものである。 ④ ノードはなんらかのメモリを持つ。
© Copyright 2024 ExpyDoc