KAOS (8) 「なに」次元 (1.1.3-3)

要求工学における「なに」次元は,機能的にサービスに関係している.これは,「なぜ」次元によって見つけた目的を満足するために将来システムが提供すべきサービスである.(p.15)

この「なに」次元は,前々回の全体像でいえば,ちょうど「なぜ」次元と「だれ」次元の間に位置する.

what_dimension

前回の「なぜ」次元では,なぜの繰り返しが次元に沿って行われるが,「なに」次元には,そういう特徴はない.「なに」を正確に書くことが必要になる.

今回も,議論を先取りすると,「なに」の部分は,要求仕様が該当している.「なぜ」では,ゴールモデルを用いて,ユーザ要求を掘り下げていく.結果として選択されるのが,要求仕様である.KAOSの記法では,「なぜ」次元は,要求ノードの非循環有向グラフとして擬似的な階層構造として表現する.要求ノードは,最終的に選択した「仕様」ノードとして表現する.ここには,一般に階層性はない.

要求仕様が「なに」だとすることに,ずいぶんと違和感を感じる.例えば,不思議の国大学の図書館において,「24/7の検索サービスを提供すること」という仕様は,「なに」という疑問詞が似つかわしくない気がする.文頭の言葉のように機能的サービスを決めるのがここでの目的である.このとき,サービスが「なに」といういい方は,あるかもしれない.

文字通り機械の世界であれば,よく分かる.仕様に相当するのは,図面であり,それは作るべきモノを完全な形で示している(完全な形でなければ,正しい図面とはいえない).まさに,作るべき「なに」である.

ここでの「なに」次元の「なに」は,ハードウェアからの借用語に見えてしまう.もう少し良い表現を探してみたい.

さて,この段階で,記述が必要な要素として,機能的サービス以外に筆者が提示しているのは,次である.

  • 正常に動作するためのシステムの前提
  • ソフトウェアの特性(性能・セキュリティ・ユーザビリティ等)に関係した制約

後者は,一般にNFR(Non Functional Requirement 非機能要件)と呼ばれるものである.機能・非機能・制約がきちんと書ければ,要求仕様としては,必要十分であるというのは,そのとおりと思う.

(nil)