OOAD-UML分析モデル
統一モデリング言語(UML)は、ソフトウェアシステムの青写真を書くための標準的な方法を提供するOOADのグラフィカル言語です。これは、オブジェクト指向システムのアーティファクトを視覚化、指定、構築、および文書化するのに役立ちます。複雑なシステムの構造と関係を表すために使用されます。
簡単な歴史
1990年代に、Grady BoochによるOOAD技法、James RumbaughによるOMT(オブジェクトモデリング技法)、Ivar JacobsonによるOOSE(オブジェクト指向ソフトウェアエンジニアリング)など、いくつかの技法の融合として開発されました。UMLは、OOADのセマンティックモデル、構文表記、および図を標準化しようとしました。
UMLのシステムとモデル
System−特定の目的を達成するために編成された一連の要素がシステムを形成します。多くの場合、システムはサブシステムに分割され、一連のモデルによって記述されます。
Model −モデルは、システムをよりよく理解するために作成された、システムの単純化された完全で一貫性のある抽象化です。
View −ビューは、特定の視点からのシステムのモデルの投影です。
UMLの概念モデル
UMLの概念モデルには、3つの主要な要素が含まれています。
- 基本的な構成要素
- Rules
- 一般的なメカニズム
基本的な構成要素
UMLの3つの構成要素は次のとおりです。
- Things
- Relationships
- Diagrams
物事
UMLには4種類あります。
Structural Things−これらは、物理的または概念的な静的要素を表すUMLモデルの名詞です。構造的なものは、クラス、インターフェース、コラボレーション、ユースケース、アクティブクラス、コンポーネント、およびノードです。
Behavioral Things−これらは、時間と空間にわたる動的な動作を表すUMLモデルの動詞です。行動の2つのタイプは、相互作用とステートマシンです。
Grouping Things−それらはUMLモデルの組織的な部分を構成します。グループ化するのは、パッケージという1種類だけです。
Annotational Things −これらは、要素を説明するために適用されるコメントを表すUMLモデルの説明です。
関係
関係は物事間のつながりです。UMLで表すことができる4つのタイプの関係は次のとおりです。
Dependency−これは、一方の変化が他方の変化をもたらすような、2つのものの間の意味関係です。前者は独立したものであり、後者は依存的なものです。
Association −これは、共通の構造と共通の動作を持つリンクのグループを表す構造関係です。
Generalization −これは、サブクラスがスーパークラスから構造と動作を継承する一般化/特殊化の関係を表します。
Realization −これは、2つ以上の分類子間の意味関係であり、1つの分類子が、他の分類子が確実に遵守する契約を定めます。
ダイアグラム
ダイアグラムは、システムをグラフィカルに表現したものです。これは、一般にグラフの形式の要素のグループで構成されます。UMLには、全部で9つの図が含まれています。
- クラス図
- オブジェクト図
- ユースケース図
- シーケンス図
- コラボレーション図
- ステートチャート図
- アクティビティ図
- コンポーネント図
- 配置図
ルール
UMLには、モデルが意味的に自己無撞着であり、システム内の他のモデルと調和して関連するように、いくつかのルールがあります。UMLには、次のセマンティックルールがあります。
- Names
- Scope
- Visibility
- Integrity
- Execution
一般的なメカニズム
UMLには4つの一般的なメカニズムがあります-
- Specifications
- Adornments
- 共通の部門
- 拡張メカニズム
仕様
UMLでは、各グラフィック表記の背後に、構文とセマンティクスを示すテキストステートメントがあります。これらは仕様です。仕様は、システムのすべての部分と異なるパス間の関係を含むセマンティックバックプレーンを提供します。
装飾品
UMLの各要素には、固有のグラフィック表記があります。さらに、名前、スコープ、可視性などの要素の重要な側面を表す表記があります。
共通の部門
オブジェクト指向システムは、さまざまな方法で分割できます。除算の2つの一般的な方法は次のとおりです。
Division of classes and objects−クラスは、類似したオブジェクトのグループを抽象化したものです。オブジェクトは、システム内に実際に存在する具体的なインスタンスです。
Division of Interface and Implementation−インターフェースは相互作用のルールを定義します。実装は、インターフェースで定義されたルールの具体的な実現です。
拡張メカニズム
UMLは自由形式の言語です。システムの要件に合わせて、制御された方法でUMLの機能を拡張することができます。拡張メカニズムは次のとおりです。
Stereotypes − UMLの語彙を拡張し、既存のビルディングブロックから新しいビルディングブロックを作成できるようにします。
Tagged Values −UMLビルディングブロックのプロパティを拡張します。
Constraints −UMLビルディングブロックのセマンティクスを拡張します。