UMLスケッチから始めよう

2010年9月28日(火)
近藤 寛喜

2. 異なった解釈モデルは対象の理解を深める

UMLスケッチが「解釈モデル」である以上、モデラーが異なれば、描かれる「解釈モデル」も異なります。また、「解釈」なので、「解釈モデル」の中に誤りが存在する場合もあります。

こうして描かれた、異なる「解釈モデル」を基に議論を行うのは、大変有意義です。異なる「解釈モデル」を比較すれば、相互に欠けている視点が理解でき、対象の解釈の誤りに気付くこともできます。時には、どうしても異なる解釈を、意見として主張しあうこともあるでしょう。

こうしたモデルを使って議論を行う場面では、UMLの正確性よりも、さまざまな人がどのようにその事象を解釈したのかという「視点」の方が重要です。

図2: 解釈モデルのオブジェクト図(クリックで拡大)

例えば、UMLスケッチの実践例として、第2回で登場した、自動販売機のクラス図を記述してみてください。読者によっては、記述したモデルの属性に、下記に示した項目があるかも知れません。一方で、これらとは異なる項目を属性として挙げてい方もいるでしょう。

  • ペットボトルなのか、缶なのか、瓶なのか、といった、外装の材質(商品スペック)
  • 炭酸飲料など、取り扱いに配慮が必要かどうか(商品スペック)
  • 外装パッケージの情報(継続して販売している商品は、あるタイミングで外装が変わる)(商品スペック)

これらの属性が「不要」かといえば、そうとも限りません。実運用には必要になる属性かも知れません。もしかすると、ある飲料だけに必要な、特殊な属性があるかも知れません。自動販売機に商品を補充しているアルバイトなど、各種の作業担当者も含めてモデリングを行うと、システムにとって本当に必要な視点が得られます。

このように、さまざまな人が描いた異なるモデルを基に議論をすると、対象としている問題領域に対して、より一層深い理解が得られます。もし、モデルを描けなかった作業担当者がいたとしても、エンジニアがヒアリングし、モデルをスケッチすればよいのです。ヒアリングしつつ、スケッチし、描いたUMLスケッチについて軽く補足しながら確認すれば、表記法の詳しいルールを知らなくても理解でき、お互いの「解釈」を議論できます。

株式会社チェンジビジョン

株式会社チェンジビジョンにて製品開発を行うかたわら、Eclipseプラグイン開発など、オープンソース活動に従事。OSGiなどアプリケーションのモジュール化技術に興味があり、趣味で実践し、仕事に生かしている。また、かんばんとスクラムなど、ソフトウェア開発に役立つ記事や書籍の翻訳活動にも従事している。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています