astah 6.1 で「要求モデル」が目指している姿
astah 6.1 が公開されています。
http://astah.change-vision.com/ja/feature/newfeature.html
目玉は、「ドローサジェスト」と「要求図」です。ドローサジェストは、クラス図などを書くときに、マウスをアイテム上でムーブオーバーするときに次の動作を先読みして補助してくれる機能です。(以前、ムービーで紹介しました)
もう1つの、要求図をサポートしましたが、少し技術的なバックグラウンドについて説明したいと思います。
「要求」という概念は結構解釈に幅があり、いろんな文献でいろんな定義がありますが、ぼくらが参考にしたのは、まずは SysML です。
やりたかったことは、「要求」と「モデル」を関連付けることによって、どのモデルがどの要求に基づいているかを管理し、要求の変更に関してその依存モデルをたどること。また、逆方向に、あるモデルが、どの要求を満たす目的で作られているのかをたどることです。
この目的のためには、「要求」という概念を取り入れることが必要です。astah* 6.0 では、「要求テーブル」、という形で取り入れました。今回は、これに加えて要求図を提供しています。
ここで、要求、モデル、テスト、の3つの関係はこのようになります。
- モデルは要求を満たす(satisfy)。
- テストは要求を検証する(verify)。
この関係を構築したいのです。さらに、要求は、モデリングの各段階(分析・設計など)で導出されて(derived)行きます。
縦のカラムに要求、モデル、テスト、をならべて、それぞれが具体化する(行を下に向かう)についれてどうなるか、を図示してみました。要求はIDとTEXT、という単純な中身ですが、それを洗練するために、ユースケースなども使われます。
「テスト」についてはまだどのように astah に取り入れるか思案中ですが、おそらくは要求と同じように「テスト」という概念をもちこんでモデルや要求とのトレーサビリティを確保するでしょう。また、マインドマップを使ったテスト戦略設計なんかも、積極的にサポートしたいですし、テストコードとの関係も構築したいと思っています。
すべてが astah でできると思っていなくて、word や excel でかかれた仕様書やテストなどへのリンクも含めて、「要求」、「モデル」、「テスト」の関係と双方向追跡が実現できるとよいと思っています。また、astah の持っているマインドマップのような丸いモデル要素(融通が利く)を生かして、それらをつなげる方法も模索していきたい。