Object-oriented-analysis-design-ooad-uml-analysis-model
OOAD-UML分析モデル
統一モデリング言語(UML)は、OOADのグラフィカル言語であり、ソフトウェアシステムの設計図を記述する標準的な方法を提供します。 オブジェクト指向システムの成果物を視覚化、指定、構築、および文書化するのに役立ちます。 複雑なシステムの構造と関係を表すために使用されます。
簡単な歴史
1990年代に、Grady BoochによるOOAD技術、James RumbaughによるOMT(Object Modeling Technique)、およびIvar JacobsonによるOOSE(Object Oriented Software Engineering)のいくつかの技術の融合として開発されました。 UMLは、セマンティックモデル、構文表記、OOADの図を標準化しようとしました。
UMLのシステムとモデル
システム-システムを形成する特定の目的を達成するために編成された要素のセット。 多くの場合、システムはサブシステムに分割され、一連のモデルによって記述されます。
モデル-モデルは、システムをよりよく理解するために作成された、システムの単純化された完全で一貫した抽象化です。
ビュー-ビューは、特定の視点からのシステムのモデルの投影です。
UMLの概念モデル
UMLの概念モデルには、3つの主要な要素が含まれます-
- 基本的な構成要素
- 規則
- 一般的なメカニズム
基本的な構成要素
UMLの3つのビルディングブロックは次のとおりです-
- 物事
- 関係
- 図
物事
UMLには4つの種類があります。
- 構造的なもの-これらは物理的または概念的な静的要素を表すUMLモデルの名詞です。 構造的なものは、クラス、インターフェース、コラボレーション、ユースケース、アクティブなクラス、コンポーネント、およびノードです。
- 動作-これらは、時間と空間の動的な動作を表すUMLモデルの動詞です。 ふるまいの2つのタイプは、インタラクションとステートマシンです。
- グループ化-UMLモデルの組織的な部分を構成します。 グループ化の種類は1つだけです。つまり、パッケージです。
- 注釈事項-これらは要素を記述するために適用されるコメントを表すUMLモデルの説明です。
関係
関係は、物事間のつながりです。 UMLで表すことができる関係の4つのタイプは次のとおりです-
- 依存性-これは、あるものの変化が他の物の変化をもたらすような、2つのものの間の意味的関係です。 前者は独立したものであり、後者は依存するものです。
- 関連付け-これは、共通の構造と共通の動作を持つリンクのグループを表す構造的な関係です。
- 一般化-これは、サブクラスがスーパークラスから構造と動作を継承する一般化/特殊化関係を表します。
- 実現-これは、1つの分類子が他の分類子が順守することを保証する契約を定めるような、2つ以上の分類子間の意味関係です。
図
ダイアグラムは、システムのグラフィカルな表現です。 一般にグラフ形式の要素のグループで構成されます。 UMLには全部で9つの図が含まれています-
- クラス図
- オブジェクト図
- ユースケース図
- シーケンス図
- コラボレーション図
- 状態図
- アクティビティ図
- コンポーネント図
- 配置図
規則
UMLには多数のルールがあり、モデルは意味的に自己矛盾がなく、システム内の他のモデルと調和的に関連しています。 UMLには次の意味規則があります-
- お名前
- 範囲
- 視認性
- 誠実さ
- 実行
一般的なメカニズム
UMLには4つの一般的なメカニズムがあります-
- 仕様
- 装飾品
- 共通部門
- 拡張性メカニズム
仕様
UMLでは、各グラフィカル表記の背後に、構文とセマンティクスを示すテキストステートメントがあります。 これらは仕様です。 仕様は、システムのすべての部分と異なるパス間の関係を含むセマンティックバックプレーンを提供します。
装飾品
UMLの各要素には、一意のグラフィック表記があります。 さらに、名前、スコープ、可視性などの要素の重要な側面を表す表記法があります。
共通部門
オブジェクト指向システムは多くの方法で分割できます。 分割の2つの一般的な方法は-
- クラスとオブジェクトの分割-クラスは、類似したオブジェクトのグループの抽象化です。 オブジェクトは、システム内に実際に存在する具体的なインスタンスです。
- インターフェイスと実装の分割-インターフェイスは、相互作用のルールを定義します。 実装は、インターフェースで定義されたルールの具体的な実現です。
拡張性メカニズム
UMLは、拡張可能な言語です。 システムの要件に合わせて、制御された方法でUMLの機能を拡張することができます。 拡張メカニズムは次のとおりです-
- ステレオタイプ-UMLの語彙を拡張し、既存のブロックから新しいビルディングブロックを作成できます。
- タグ付き値-UMLビルディングブロックのプロパティを拡張します。
- 制約-UMLビルディングブロックのセマンティクスを拡張します。