設計モデルの多くの要素は、分析モデルで使用される UML 図です。違いは、これらの図が設計の一部として改良および詳細化されており、より実装固有の詳細が提供され、アーキテクチャの構造とスタイル、アーキテクチャ内に存在するコンポーネント、およびコンポーネントと外界の間のインターフェイスが強調表示されていることです。
1. オブジェクト指向設計モデル
設計モデリングタスク:
アーキテクチャ設計
パッケージおよびサブシステム設計
クラス設計
永続性設計
(1) コンポーネント図
(2) 展開図
(3) ステートマシン図
2. アーキテクチャ設計
(1) 4+1 アーキテクチャ ビュー
論理ビュー、開発ビュー、プロセス ビュー、物理ビュー、シーン ビュー
(2) 論理ビューの設計
機能をサポートするソフトウェアの論理構造ニーズ。
(3) プロセスビューの設計
ソフトウェアのプロセスアーキテクチャは、非機能要件を対象としています。
プロセスを構成するタスクは個別の制御スレッドであり、ソフトウェアは一連の独立したタスクに分割されます。 (展開図)
(4) 開発ビューの設計
ソフトウェアの開発アーキテクチャ、つまり実装単位にどのように分解するかは、需要分散の基礎であり、開発組織構造の基礎となります。
図 7-7 に示すように、水平分割スキームでは、6 つのパッケージが 6 つの開発グループに割り当てられ、開発グループは技術レベルに応じて人員を割り当てることができます。
以下の図の垂直分割スキームでは、ビジネス ロジックに従ってタスクを複数の開発グループに分散します。各開発グループは包括的な開発能力を備えている必要があります。
(5) 物理的観点の設計
非機能要件に対するソフトウェアの物理的なアーキテクチャ、使いやすさ、信頼性、拡張性など。 (展開図)
(6) シーンビューデザイン
シナリオはユースケースのインスタンスであり、4 つのビューを有機的に結び付けます。それは建築要素の発見の原動力となり、検証と説明の役割を担います。
3. パッケージ設計の原則
再利用とリリースの同等性: 再利用の粒度はリリースの粒度と同じです。
共通の再利用: パッケージ内のすべてのクラスが一緒に再利用されます
共通クロージャ: パッケージ内のすべてのクラスは同じタイプの変更に対して閉じられます
非循環依存関係: パッケージ間の非循環依存構造
安定した依存関係: パッケージは、それ自体よりも安定したパッケージに依存する必要があります。
安定した抽象化: 最も安定したパッケージは最も抽象的であり、不安定なパッケージは具体的なパッケージです。
単一責任、Li 置換、依存関係の逆転、インターフェイスの分離、開発と閉鎖の原則。
(1) エンティティ オブジェクトのモデリング (2) データベースの設計
(3) 永続性のフレームワーク。
設計要素を特定する アーキテクチャ スタイルを決定し、全体の構造を設計する
コンポーネント レベルの設計
(4) サブシステム間の依存関係を決定します。
8. コンポーネントレベルの設計手順
ユースケースの実現
サブシステムの設計: システム設計と同様に、各インターフェースの操作ごとにインタラクション図とVOPCクラス図を設計します。つまり、ユースケースの実現
(1) 設計クラスの作成: 分析クラスを設計クラスにマップします。(2) 操作を定義します。(3) メソッドを定義します。
(4) 状態を定義します。オブジェクトの状態が動作に及ぼす影響を記述し、オブジェクトの属性と操作を関連付けます。
(5) 属性を定義します。メソッド内のパラメーター、オブジェクトの状態などを含みます。
(6) 依存関係を定義します。それらの間の関係、非構造的関係です。
(7) 関連の定義: 集約と結合、ガイダンス、多重性、および関連クラスを含む関連関係の改良。
(8) 設計クラスの仕様の形成。
9. シーケンス図
ユースケースのイベントストリームからさまざまなイベントを抽出し、イベントインタラクション動作の送信オブジェクトと受信オブジェクトを決定するために、シーケンス図を使用してイベントのシーケンスとイベントとオブジェクトの関係を表現します。
10. ステートマシン図
状態図は、イベントとオブジェクトの状態の関係を表します。オブジェクトがイベントを受信したときに生じる状態変化を「遷移」といいます。
状態図を使用して、オブジェクトのタイプの動作を記述します。これにより、一連のイベントによって引き起こされる一連の状態が決まります。重要な相互作用動作を持つクラスのみが考慮されます。
イベント追跡図では、状態図の有向辺(つまり矢印)としてイベントが入力され、その辺にイベント名が付けられます。 2 つのイベント間の間隔が状態です。
イベント追跡図に投影された矢印線は、この縦線で表されるオブジェクトが特定の状態(多くの場合、別の種類のオブジェクトの状態遷移を引き起こすイベント)に達したときの動作です。
この記事では、オブジェクト指向設計に関する関連コンテンツについて説明します。関連する推奨事項については、php 中国語 Web サイトを参照してください。
関連する推奨事項:
phpファイルにはディレクトリ構成open_basedirの使用法とパフォーマンス分析が含まれています
Linux pwgenコマンドを使用してランダムなパスワードを作成します
phpファイルにはディレクトリ構成open_basedirの使用法とパフォーマンス分析が含まれています
以上がオブジェクト指向設計に関する関連説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。