Home > 保険システム開発室NEWS > UMLはどの程度使われているか

UMLはどの程度使われているか

2008-09-15 07:07

分析や設計でよく使用されるUMLはドキュメント成果物として実際の開発現場ではどのくらい使用されているのでしょうか。 大規模エンタープライズ・システム開発の現場は、プロジェクトの推進チームや管理チーム等によって成果物が定義される為、プロジェクトによってまちまちのようです。

さて、では弊社はどうかと言いますと、今現在主にドキュメント成果物として採用しているUMLのダイアグラムは以下の2種類のみです。 尚設計ドキュメントとしてのみ使用しており、分析では使用しておりません。

  • クラス図
  • シーケンス図

下図は弊社が作成した実際の設計書の一部です。
UMLドキュメント

弊社では小さなプロジェクトではユースケース記述と共にユースケース図を使用したりしますが、大規模システムで主に使用するのは上記2種類のみです。他にも配置図(デプロイメント図)等も作成したりしますが、それはプロジェクトで1枚か2枚でありそれ以外のダイアログラムは滅多に作成しません。

数年前には私たちも積極的にUMLを導入しようとした時期もありましたが、最終的にメリットを感じたダイアグラムは今のところ上記の2種類である気がします。

クラス図やシーケンス図を使用する理由は、クラスの静的構造やその動き等を表現したい状況がわりと頻繁にあり、それを表現する決められたフォーマットがUMLの他には無いからだと思います。逆にそれ以外のダイアログラムはそもそも成果物として表現する機会が少なかったり、直感的にもっと別のわかりやすい表現ができたりなどの理由が挙げられます。

リバースエンジニアリングで出力したクラス図 クラス図やシーケンス図に関して初心者がよく陥る失敗として、プログラム全体を網羅して正確に書こうとしてしまい、最終的に作成者の自己満足で終わってしまうことです。

現在ではリバースエンジニアリングツールにより自動的にこれらのダイアグラムを出力できますが、そのようにソース全体を網羅して出力されたドキュメントは未知のソースを分析するという用途以外にあまり意味がありません。

設計時に記述するクラス図やシーケンス図の役割は、重要なところを抜き出し余計なところを省いて記述することにより、設計として重要な部分を明確化することにあると思います。

よって私たちが設計時に記述するクラス図やシーケンス図は、プログラムの一部分であり余計な部分は思い切って省略して記述しています。また主にフレームワーク等の制御関連の処理でのみ使用され、ビジネスロジックで使用されることはありません。

無論上記は弊社の開発現場の話であり、私たちがUMLの長所を理解していないことが原因かもしれません。
ともあれ結局は要件定義書や設計書は内容が重要であり、表現方法のUMLを使用する/しないを問うのはあまり意味が無い事かもしれません。

Posted by T.S

このページの上部へ