MDAとUse Case drivenアプローチについて

御存じのようにMDD/MDAではモデルを中心に据えたソフトウェア開発プロセスを展開します。これに対してUse Case駆動という方式ではUse Case記述が出発点になります。 UMLという標準は開発方法(論)はそのスコープ外という立場を取っているため、この方式で使うステレオタイプなども現在の仕様には含まれていません(UML1.x時代には付録的な位置づけで含まれていました)。 興味深い点はUse Case記述が「テキスト」であるということです。 最近はTextual DSLなどの研究・実践が盛んであり、ある意味「テキスト」を中心に据えるアプローチは見直しても良いのかもしれません。

このテキストをロバストネス分析という手法で、アクター、バウンダリ、コントローラ、エンティティから構成されるロバストネス図に変換し、更にこれをシーケンス図に書きなおす過程を経てクラスの詳細化を行います。 従って、この手法では最初のテキストの出来が重要なものになります。 もし、本当に厳密な文章で全てのケースを含むようなUse Caseを記述出来るなら、その文章を解析することで次のステップに半自動で進めるはずです。 テキストが英語の場合、日本語と比べるとこの解析はかなり容易なはずであり、(多少違いますが) Ravenflow といったツールもあります。

MDD/MDAの場合も実は最初はテキストだと思います。 つまり、最初のモデルを作成する元になる情報がテキストだろうと考えるからです。 違うのは、元のテキストをそのまま使うというより、それをモデルという形に再構成したものを出発点にする点です。 但し、その過程で(重要な)詳細を切り落としてしまう可能性もあります。 また開発プロセスのなかで適用するポイントが少し違うとも言えます。

どちらが良いかという議論ではなく、どういう場面・状況ならどのような手法が適しているか、という話になると思います。 このような議論は、手法自体が多く存在することもあり、収束することがないと思います(その意味でOMGの判断は正しいと思います)。 手の内にいろいろなツールを揃え、状況に応じて使い分けるのが正しい対応のようです。

MDAとUse Case drivenアプローチについて

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中