連載
» 2015年10月01日 07時00分 UPDATE

プロジェクトを成功させるモデリングの極意(1):UMLやSysMLを活用できないエンジニアのための実践的活用術(前編) (1/6)

モデリングの手法やツールの基礎を覚えるだけでなく、モデリングの目的やその本質をつかんで、ソフトウェアの開発現場で実際に役立つように基本を学んでいきましょう。

[五味弘,MONOist]

はじめに

 本連載ではソフトウェア設計を行うために必要不可欠な技術であるモデリングについて紹介していきます。第1回である今回は「モデルとは何か?」から始め、モデルの目的からモデルに求められるものを前編で、モデリング手法やツールを後編で紹介したいと思います。

モデルとは

 モデルとは物事を分かりやすく説明するために、不要な部分を捨て、注目するところのみを記述したものです。このモデルという用語は広く使われている用語で、「マクロ経済モデル」や「流体モデル」などのように一般の用語となっています。

 ソフトウェア開発では、例えば、UMLツールやSysMLツールを使って、開発対象をモデル化(モデリング)して、クラス図などの設計図を描きます。この設計図がソフトウェアシステムのモデルとなります。クラス図などのモデル図ではソフトウェアの構造を分かりやすく説明するため、使わない部分は捨て、注目するところは明確に描きます。

 しかし実際はUMLやSysMLの手法やそのツールを知っていても、モデリングがうまくできず、分かりにくいモデルを作ってしまい、モデルを活用していない場合が多いのも事実です。 そこで、この連載記事ではモデリングを有効に行うための実践的なコツを説明し、プロジェクトを成功に導く極意を紹介します。

モデルの目的とその効果

 モデルにはいろいろな目的と、副次的効果があります。以下に列挙していきます。

  • 仕様の検証(Verification)
  • 仕様の妥当性確認(Validation)
  • 仕様の整理や調整
  • コード生成と検証
  • シミュレーション
  • コミュニケーション
  • 品質向上、生産性向上、リスク対策

 このようにモデルの目的や効果は多岐にわたり、まだまだ他にもあるかも知れません。ここで気をつけなればいけないことは、モデリングではモデルの目的を絞ることです。総花的にモデリングをすると、きっとどの目的にも中途半端になるモデルしか作れません。

 特に仕様の検証とコード生成の目的は別にした方がいいでしょう。そうしないと方向性も粒度も違うモデルを一緒に作ることになり、複雑怪奇で魑魅魍魎なモデルになるかも知れません。この連載ではこのようなモデルにならないように、失敗モデルを反面教師として見ていき、成功するためのモデリング方法を紹介していく予定です。

関連キーワード

モデルベース開発 | モデリング | UML | SysML


       1|2|3|4|5|6 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.