UMLは、好きなだけ使用できます。 Martin Fowler は、人々がUMLを使用する傾向がある3つの一般的な方法について説明しています。
- スケッチとしてのUML— UMLを使用して、重要なポイントを伝えるための簡単なスケッチを作成します。これらは使い捨てのスケッチであり、ホワイトボードやビールコースターにクランチで書くことができます。開発の初期段階では、スケッチとしてUMLを使用することは非常に効果的であり、開発者がシステム設計についてブレインストーミングできるコラボレーションツールとして使用できます。
- 青写真としてのUML —UML図を使用してシステムの詳細な仕様を提供します。これらの図は使い捨てではありませんが、UMLツールを使用して生成されます。UMLは青写真として使用でき、開発者はそれに従ってコードを作成できます。簡単なスケッチを使用するだけでは、空白を埋める必要があるため、十分ではありません。このアプローチは一般にソフトウェアシステムに関連付けられており、通常、モデルをコードと同期させるためにフォワードエンジニアリングとリバースエンジニアリングを使用する必要があります。
- プログラミング言語としてのUML— これは、UMLモデルから実行可能コード(フォワードエンジニアリングのようにコードの一部だけでなく)に直接移行します。つまり、システムのあらゆる側面がモデル化されます。理論的には、モデルを無期限に保持し、変換とコード生成を使用してさまざまな環境にデプロイできます。ファウラーは、今日のプログラミング言語としてのUMLの生産性は、他の言語を使用する生産性よりも優れているわけではないと考えています。したがって、UMLが主流になるのは難しいでしょう。彼はまた、非常に詳細な青写真は、実行が難しく、開発が遅くなるため、効果的ではないと考えています。
概要
使用するアプローチは、構築するアプリケーションのタイプ、設計をどの程度厳密にレビューするか、ソフトウェアシステムを開発しているかどうか、ソフトウェアの場合は使用しているソフトウェア開発プロセスによって異なります。
医療や防衛などの特定の業界では、高レベルの品質が要求されるため、ソフトウェアプロジェクトは青写真としてUMLに傾倒する傾向があります。ソフトウェアの設計は、ミッションクリティカルである可能性があるため、徹底的に見直されています。心臓モニタリングマシンに突然「死のブルースクリーン」が表示されないようにする必要があります。
一部のプロジェクトは、より少ないモデリングで解決できます。実際、一部の商業業界では、モデリングが多すぎると煩雑になり、生産性が低下することがわかります。このようなプロジェクトでは、UMLをスケッチとして使用し、モデルにいくつかのアーキテクチャ図と、重要なポイントを説明するためのいくつかのクラス図とシーケンス図を含めることは理にかなっています。
推奨されるUMLリファレンス