Uml-overview

提供:Dev Guides
移動先:案内検索

UML-概要

UMLは、ソフトウェアシステムのアーティファクトを指定、視覚化、構築、および文書化するための標準言語です。

UMLはObject Management Group(OMG)によって作成され、UML 1.0仕様ドラフトは1997年1月にOMGに提案されました。

OMGは、真の業界標準を作成するための努力を継続的に行っています。

  • UMLは Unified Modeling Language の略です。
  • UMLは、C ++、Java、COBOLなどの他の一般的なプログラミング言語とは異なります。
  • UMLは、ソフトウェアの設計図を作成するために使用される画像言語です。
  • UMLは、ソフトウェアシステムを視覚化、指定、構築、および文書化するための汎用視覚モデリング言語として説明できます。
  • UMLは一般にソフトウェアシステムのモデル化に使用されますが、この境界内で制限されることはありません。 また、非ソフトウェアシステムのモデリングにも使用されます。 たとえば、製造ユニットでのプロセスフローなど。

UMLはプログラミング言語ではありませんが、UMLダイアグラムを使用してさまざまな言語でコードを生成するためにツールを使用できます。 UMLは、オブジェクト指向の分析および設計と直接関係があります。 いくつかの標準化の後、UMLはOMG標準になりました。

UMLの目標

写真は千の言葉に値する、このイディオムはUMLの説明に完全に適合します。 オブジェクト指向の概念は、UMLよりもはるかに早く導入されました。 その時点では、オブジェクト指向開発を整理および統合するための標準的な方法論はありませんでした。 そのとき、UMLが登場しました。

UMLの開発には多くの目標がありますが、最も重要なのは、すべてのモデラーが使用できる汎用モデリング言語を定義することです。また、理解および使用を簡単にする必要があります。

UMLダイアグラムは、開発者だけでなく、ビジネスユーザー、一般の人々、およびシステムの理解に関心がある人のために作成されています。 このシステムは、ソフトウェアシステムでも非ソフトウェアシステムでもかまいません。 したがって、UMLは開発方法ではなく、プロセスに付随してシステムを成功させることを明確にする必要があります。

結論として、UMLの目標は、今日の複雑な環境で考えられるすべての実用的なシステムをモデル化する単純なモデリングメカニズムとして定義できます。

UMLの概念モデル

UMLの概念モデルを理解するには、まず概念モデルとは何かを明確にする必要がありますか? そしてなぜ概念モデルが必要なのですか?

  • 概念モデルは、概念とその関係で構成されるモデルとして定義できます。
  • 概念モデルは、UMLダイアグラムを描画する前の最初のステップです。 現実世界のエンティティと、それらが互いにどのように相互作用するかを理解するのに役立ちます。

UMLがリアルタイムシステムについて説明しているように、概念モデルを作成してから徐々に進めることが非常に重要です。 UMLの概念モデルは、次の3つの主要な要素を学ぶことで習得することができます-

  • UMLビルディングブロック
  • ビルディングブロックを接続するルール
  • UMLの一般的なメカニズム

オブジェクト指向の概念

UMLは、オブジェクト指向(OO)の分析および設計の後継として説明できます。

オブジェクトには、データとデータを制御するメソッドの両方が含まれます。 データはオブジェクトの状態を表します。 クラスはオブジェクトを記述し、実世界のシステムをモデル化する階層も形成します。 階層は継承として表され、クラスは要件に応じてさまざまな方法で関連付けることもできます。

オブジェクトは私たちの周りに存在する実世界のエンティティであり、抽象化、カプセル化、継承、ポリモーフィズムなどの基本概念はすべてUMLを使用して表現できます。

UMLは、オブジェクト指向の分析と設計に存在するすべての概念を表すのに十分強力です。 UML図は、オブジェクト指向の概念のみを表しています。 したがって、UMLを学習する前に、OOの概念を詳細に理解することが重要になります。

以下は、オブジェクト指向の世界のいくつかの基本的な概念です-

  • オブジェクト-オブジェクトは、エンティティと基本的な構成要素を表します。
  • クラス-クラスはオブジェクトの青写真です。
  • 抽象-抽象化は、実世界のエンティティの動作を表します。
  • カプセル化-カプセル化は、データを結合するメカニズムであり、 それらを外の世界から隠します。
  • 継承-継承は、既存のクラスから新しいクラスを作成するメカニズムです。
  • ポリモーフィズム-さまざまな形式で存在するメカニズムを定義します。

オブジェクト指向分析と設計

オブジェクト指向は調査として定義できます。具体的には、オブジェクトの調査です。 設計とは、識別されたオブジェクトのコラボレーションを意味します。

したがって、オブジェクト指向分析と設計の概念を理解することが重要です。 オブジェクト指向分析の最も重要な目的は、設計するシステムのオブジェクトを識別することです。 この分析は、既存のシステムでも実行されます。 現在、効率的な分析は、オブジェクトを識別できる方法で思考を開始できる場合にのみ可能です。 オブジェクトを識別した後、それらの関係が識別され、最終的に設計が作成されます。

オブジェクト指向の分析と設計の目的は次のように説明できます-

  • システムのオブジェクトを識別する。
  • 関係の特定。
  • オブジェクト指向言語を使用して実行可能ファイルに変換できるデザインを作成します。

オブジェクト指向の概念が適用および実装される3つの基本的な手順があります。 ステップは次のように定義できます

OO Analysis → OO Design → OO implementation using OO languages

上記の3つのポイントは、次のように詳細に説明できます-

  • オブジェクト指向分析中の最も重要な目的は、オブジェクトを識別し、それらを適切な方法で記述することです。 これらのオブジェクトが効率的に識別されれば、次の設計作業は簡単です。 オブジェクトは責任を持って識別される必要があります。 責任とは、オブジェクトによって実行される機能です。 すべてのオブジェクトには、実行すべき何らかのタイプの責任があります。 これらの責任が 協力して、システムの目的が達成されます。
  • 2番目のフェーズはオブジェクト指向設計です。 このフェーズでは、要件とその実現に重点が置かれます。 この段階では、目的の関連付けに従ってオブジェクトがコラボレーションされます。 関連付けが完了すると、 設計も完了しました。
  • 3番目のフェーズはオブジェクト指向実装です。 このフェーズでは、設計はJava、C ++などのオブジェクト指向言語を使用して実装されます。

OOデザインにおけるUMLの役割

UMLは、ソフトウェアシステムと非ソフトウェアシステムのモデリングに使用されるモデリング言語です。 UMLは非ソフトウェアシステムに使用されますが、OOソフトウェアアプリケーションのモデリングに重点が置かれています。 これまでに説明したUML図のほとんどは、静的、動的などのさまざまな側面をモデル化するために使用されます。 アスペクトに関係なく、アーティファクトはオブジェクトに過ぎません。

クラス図、オブジェクト図、コラボレーション図、相互作用図をすべて検討すると、基本的にはすべてオブジェクトに基づいて設計されます。

したがって、OOデザインとUMLの関係を理解することは非常に重要です。 OOデザインは、要件に従ってUMLダイアグラムに変換されます。 UMLを詳細に理解する前に、OOの概念を適切に学習する必要があります。 オブジェクト指向の分析と設計が完了したら、次のステップは非常に簡単です。 オブジェクト指向分析と設計からの入力は、UMLダイアグラムへの入力です。