システム開発で知っておきたい!UMLの使い方

プログラミングをはじめとするシステム開発では、実際に開発が進められるように、あらかじめ専用の図を使って設計しておくことが大事です。

開発ではオブジェクト指向などの考え方も反映されており、実際に開発するに当たり、設計図も分かりやすいものにしていく必要があります。

実際に開発を進みやすくするために、UML(統一モデリング言語)というものを使用し、言語と訳されていますが、図式を表記して処理の方法をわかりやすく示します。

UMLはソフトウェアの処理をわかりやすくモデリングするために使用され、様々な図を作成していくことで、全体的な仕組みが理解できます。

UMLの図には様々なタイプがあり、用途に応じて分類されており、システムの仕組みを示す構造図、動きを示す振る舞い図に分類され、振る舞い図の中でメッセージのやり取りに特化したものは相互作用図と呼ばれています。

構造図には、クラス図・コンポーネント図・パッケージ図などがあり、システムの静的な構造を示すために使用されています。

クラス図は、システムを構成するクラス(概念)を中心に考えていき、クラス間の関連を示すことで、システム全体の構造をわかりやすく示します。

コンポーネント図は、ファイルやパッケージなどの物理的な構成要素から、システムの構造を示していくために使われています。

パッケージ図は、パッケージ同士の関係を示すために使用する図で、システムを階層構造で表すために役立つ図として、よく使われています。

振る舞い図は情報の流れややり取りを示すための図であり、ユースケース図・アクティビティ図・状態遷移図があり、振る舞い図の一種である相互作用図はオブジェクト間のメッセージのやり取りを示すもので、シーケンス図などがあります。

ユースケース図は、システムの機能をユーザーの視点を交えて図式化したもので、システムの全体像を開発者とユーザーの双方が理解できるように示しています。

アクティビティ図は、フローチャートに似た構造で、システムの全体の流れを明確に示し、条件による分岐の処理や、並行して作業できる処理の記述が、この図によって示すことができます。

状態遷移図は、システムの状態によって動作する機能の遷移を示すことができ、該当する状態になったときの適切な処理がわかりやすくなります。

シーケンス図は、オブジェクト間のメッセージのやり取りを時系列的に表示したもので、システムを動かしていくにつれて、イベントの発生やメッセージの送受信などを明確に示すことができます。

UMLはシステムの設計をわかりやすくできるようになるメリットがありますが、様々な図があることで問題点が多くあるのがデメリットなのです。

まずはUMLの規模が大きくなっていることで、現在13種類の図がUMLとして使用されていますが、異なる図が複雑に使用されてきたことで、使用しない図が現れるなどの問題が指摘されています。

様々な図が統合されてきたため、全体的に統一されていないのではないかといった声があり、先ほどの問題も含め、UMLの学習や採用は難しいものになっています。