クラス図の書き方

クラス図とは実は当たり前で簡単なものなのです。

ちょっと詳しいクラスの書き方

と、ここで終わってしまっては余りにもいい加減なのでもう少し書くことに します。クラス図の「基本」と「精神」はここまでで言い尽しました。後は付 加事項ばかりです。

クラスの付加情報

クラスにちょっとした付加情報を書きたくなる場合がよくあります。突発的な 付加情報はコメントを使えばいいとして、どのクラスにも必ず書くような情報 はどうしたらいいでしょうか?全部コメントを使うというのも見にくくなりま すし、何せメタモデル的ではありません。

こんな場合には、次の例のように横線を入れて下に好きな事を書きます。

クラスの付加情報
クラスの付加情報

横線の下には「特記事項」「概要」のように、タイトルを書いてその下に中身 を書きます。中身は文章で書いてもいいですが、箇条書の方が簡潔でよいでしょ う。タイトルは省略することもできます。

クラス図はあくまで図です。クラス図にすべての情報を盛り込もうとはせず、 長々と説明を書きたい場合には別の文書にしましょう。仕様書のそれぞれの章 の頭にこのクラス図を書き、それぞれのクラスの説明をその後に続けるという やり方をお勧めします。このようにすると、クラズ図に何かを書かねばならな いという状況にはほとんど陥りません。

クラス図に付加情報を書きたいと思ったなら、なぜそれを「クラス図に」書か ねばならないのかを考えて下さい。そもそもなぜ「図」を書くのかというと、 そこに書きたい情報がクラス間の関係という二次元的なものであり、文章では 書きにくいからです。文章で書けるものは文章で書くようにしましょう。

クラス図に付加情報を書くならば、図に必要なものであり、量が少なく、でき れば箇条書で簡潔に書けるものがよいでしょう。

属性と操作

多くのUML解説書には、クラスの名前の下には「属性」と「操作」を書く、と 書いてあるでしょう。しかしこれはお勧めできません。理由は上記の通りで、 それらをわざわざ図の中に書く必要がないからです。これらの情報は図とは別 のところに書きましょう。

クラス図の中に属性を書くのはまだよいでしょう。なぜなら属性というのは関 係の一部だからです。例えば「裁判所」の「住所」という属性は「裁判所」オ ブジェクトと「住所」オブジェクト(あるいは「文字列」オブジェクト)との関 係と見ることもできます。ですから、「クラス間の関係は全部クラス図に盛り 込む」というポリシーに従って属性を書くというのはいい事です。

市販のUML解説書には書いてあるかもしれませんが、操作のリストはクラス図 に書いてはいけません。本来クラス図とは関係のない情報であり、図を見にく くする役にしか立ちません。

まとめ

クラスを表す箱に仕切り線を入れて、概要や特記事項など好きな事を書くこと ができます。できるだけ図中のすべてのクラスで同じ項目を書くことにします。 これによって、名前だけではピンとこないクラスをわかりやすくすることがで きます。

しかし、これはあまりお勧めできません。クラス図の情報量が増えてしまうか らです。クラスを表す箱が大きくなってしまい、図1枚に対する情報量が減っ てしまいます。概要などは図に書く必要性は薄いのですから、図以外の所に書 くようにしましょう。

属性を書くのは「クラスの関係を書く」というクラス図の目的にかなったもの です。ですからクラス図に書くというのは意味があります。しかしそれも多く なりすぎると図が繁雑になってしまいます。