オブジェクト指向@アーキテクチャ¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01 オブジェクト指向¶
オブジェクト指向とは¶
オブジェクト指向言語 (例:Java、PHP、Python、Rubyなど) に関して、互いに密接に関連するデータと手続き (処理手順) を、オブジェクトと呼ばれる1
個のまとまりとして捉えること。
02. オブジェクト指向分析/設計の手順例¶
オブジェクト指向分析の手順例¶
1. ユースケース図の作成¶
要件定義を基に、ユースケース図を作成する。
これにより、ソフトウェアの具体的な機能を明確化させる。
2. オブジェクト図の作成¶
要件定義とユースケース図を基に、オブジェクト図を作成する。
ユースケース図に含まれる名詞に着目し、オブジェクトを抽出する。
これにより、ソフトウェアの具体的な静的構造を明確化させる。
オブジェクト指向設計の手順例¶
1. クラス図の作成、多重度の付記¶
オブジェクト図のインスタンス間の関係性を参考にして、クラス図を作成する。
また、クラス間がデータとして保持する関係性にある時に、インスタンス間のリンク記号数を参考にして、多重度を付記する。
これにより、ソフトウェアの抽象的な静的構造を明確化させる。
クラス図ではソフトウェアの『振舞』を設計できないため、これはシーケンス図に託す。
2. シーケンス図の作成¶
オブジェクト図を参考にしつつ、これに時系列を取り入れ、シーケンス図を作成する。
シーケンス図ではソフトウェアの『構造』を設計できないため、これはクラス図に託す。
システムシーケンス図とシーケンス図の違いについて、以下のリンクを参考にせよ。
3. 設計のレビュー¶
ソフトウェアの静的構造を設計するクラス図と、動的な振舞を設計するシーケンス図の間の整合性から、設計を妥当性をレビューする。
4. デザインパターンの導入¶
クラス図に、デザインパターンを基にしたクラスを導入する。
5. フレームワークのコンポーネントの導入¶
クラス図に、フレームワークのコンポーネントを導入する。
03. ダイアグラム¶
ダイアグラムとは¶
オブジェクト指向分析/設計で、ソフトウェアをモデリングしやすくするための図のこと。
ダイアグラムの種類¶
UML、概念データモデリング、構造化分析、リアルタイム分析、がある。
視点による分類¶
▼ 機能の視点¶
ユーザーの要求に対するソフトウェアの機能に注目するダイアグラムが所属する。
▼ 振舞の視点¶
ソフトウェアの時系列的な振舞に注目するダイアグラムが所属する。
シーケンス図には、分析に使用するシステムシーケンス図と、設計に使用するシーケンス図があることに注意する。
▼ 構造の視点¶
ソフトウェアの構成要素とそれぞれの関係に注目するダイアグラムが所属する。
クラス図は設計のために使用することに注意する。