ソースコードから理解する技術-UnderSourceCode

手を動かす(プログラムを組む)ことで技術を理解するブログ

UML モデリングのエッセンス 第3版(1)

UML モデリングのエッセンス 第3版」を少しずつ呼んでいます。
以下、重要だと思ったところのメモです。

◆本書で説明されるUMLと、UMLの使用目的について
まず、本書で説明しているUMLですが、「スケッチ」としてのUMLです。
著者自身も、UMLを「スケッチ」として使用するとしています。(※1)

本書ではUMLを「スケッチ」「設計図面」「プログラミング言語」の3種類の使用目的(モード)に分類しています(※2)。

「スケッチ」としてのUMLは、システムの状態を完全に表すよりも、分かりやすさを重視して記述することが挙げられてます。
逆に「設計図面」「プログラミング言語」としてもUMLは、完全であること、厳密であることが求められます。

私自身も、実装前にラフな設計を行うとき、既存プログラムのクラス間の構成を理解するときに
UMLを「スケッチ」として利用しています。(不正確なUMLの記法を使っているかもしれませんが・・・)
「スケッチ」なので、やはり詳細には書かず、自分が気になる点のみをピックアップしてUMLに書き出す感じです。


◆どのUMLが実用的かについて
UMLには様々な図がありますが、「そのすべてを利用する必要はありません」(※3)としています。

UMLで最も実用的なのは「クラス図」「シーケンス図」であるとし、
これについて記述した章(3章、4章)の技法を使うことにより「UMLの機能を最大限に活用できると」としています(※3)。

また「UMLのどこから手を付けるか」(※4)の項でも「使用を開始したら、まずクラス図とシーケンス図の基本形態に
集中することをお勧めします」と書かれています。

個人的には「クラス図」「シーケンス図」の他に、「ユースケース図」もシステムの振る舞いを表すのに便利なので
追加したいです。

※1 P6
※2 P2
※3 著者まえがき ixページ
※4 P16