UMLってどのくらい必要?

PHPを書いているけど、「クラス設計」というものをやったことがなかった。
いつもいきなりクラスを書き始める。
でも行き当たりばったりなので、自分的に複雑なシステムになると、無駄なものを作ってしまってやり直しとか、時間を浪費してしまうし安定性に欠けるし、良いことは無い。

そこをなんとか改善したい。そうだ、設計をちゃんとやるか!

と思ってクラス設計とその周辺について調べていたら、UML (Unified Modeling Language)という概念というか標準があることを知った。
それで、エンジニアの友達に「UMLって使ってます??」って何気に聞いてみたら「昔、書いたことはあるけどよく知らない」という答えが返ってくるし、そもそも今まで僕の周辺で話題になったことがなかったら、知らなくても良いのかなー・・と思ったりもした。

で、とりあえず本を買って読んでみた。

かんたんUML入門
かんたん UML入門[改訂2版]
http://gihyo.jp/book/2017/978-4-7741-9039-6

まず、この本のKindle版をゲットしたけど、Kindleに最適化されているので、とても読みやすい。

いろんな図の解説が詳しくされているのだけど、正直、途中で疲れた。(笑)
UMLに関してネットで調べてると、クラス図シーケンス図ぐらい覚えてれば良い、みたいなことを言っている人もいるようなので、真面目に取り組まないほうが良さそう。実際、読んでるだけでは理解できないので、自分の案件に直接関係する部分だけ、実際のクラスから逆に図を起こしてみると良いのかもしれない。

僕が見た感じだと、ステートマシン図なんかも、JavaScriptで何か作るときに書いてみると分かりやすくなるんじゃないかなーと、ふと思ったりした。

よく考えると、今まで作ってきたシステムの場合、画面図(遷移図)ぐらいは作っていたり、Webの遷移ってだいたい決まっていることが多いので、とくに図を書かなくてもなんとかなった部分はある。
管理画面などでも、ほとんど登録・編集・削除の繰り返しだったりするので、特殊な状態が沢山存在するわけでもないし。
だからどっちかっていうと、設計するというより「クラスを図示化して置いておく」というような保守目的で書くほうがメリットがあるんじゃないかなと思った。

というわけで、僕の場合は古いコードで書いていたシステムを近々、PHP7対応させようと思っているので、そのタイミングでクラス図を書いてみようかなと思っているところ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です