UML-概要

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

UMLはObjectManagement Group(OMG)によって作成され、UML1.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を学習する前に、オブジェクト指向の概念を詳細に理解することが重要になります。

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

  • Objects −オブジェクトは、エンティティと基本的な構成要素を表します。

  • Class −クラスはオブジェクトの青写真です。

  • Abstraction −抽象化は、実世界のエンティティの動作を表します。

  • Encapsulation −カプセル化は、データを結合して外界から隠すメカニズムです。

  • Inheritance −継承は、既存のクラスから新しいクラスを作成するメカニズムです。

  • Polymorphism −さまざまな形で存在するメカニズムを定義します。

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

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

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

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

  • システムのオブジェクトを識別する。

  • それらの関係を特定する。

  • オブジェクト指向言語を使用して実行可能ファイルに変換できる設計を作成します。

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

OO Analysis → OO Design → OO implementation using OO languages

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

  • オブジェクト指向分析中の最も重要な目的は、オブジェクトを識別し、適切な方法でそれらを記述することです。これらのオブジェクトが効率的に識別されれば、次の設計作業は簡単です。オブジェクトは責任を持って識別される必要があります。責任は、オブジェクトによって実行される機能です。すべてのオブジェクトには、実行する必要のあるある種の責任があります。これらの責任が連携することで、システムの目的が果たされます。

  • 2番目のフェーズはオブジェクト指向設計です。このフェーズでは、要件とその履行に重点が置かれます。この段階では、オブジェクトは意図された関連付けに従ってコラボレーションされます。アソシエーションが完了すると、デザインも完了します。

  • 3番目のフェーズはOOの実装です。このフェーズでは、Java、C ++などのオブジェクト指向言語を使用して設計が実装されます。

オブジェクト指向設計におけるUMLの役割

UMLは、ソフトウェアおよび非ソフトウェアシステムのモデリングに使用されるモデリング言語です。UMLはソフトウェア以外のシステムに使用されますが、OOソフトウェアアプリケーションのモデリングに重点が置かれています。これまでに説明したUMLダイアグラムのほとんどは、静的、動的などのさまざまな側面をモデル化するために使用されます。現在、側面が何であれ、アーティファクトはオブジェクトに他なりません。

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

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