(前NTTデータ フェロー システム科学研究所長)山本 修一郎
非機能要求については、IEEE std.830などに代表されるように多くの分類が提案されている。しかし、機能要求の分類についてはあまり報告されていないようである。そこで今回は、2013年11月に米国Pasadenaで開催された国際会議ISSRE2013で報告された機能要求の分類事例と、機能要求項目間の関係を再利用する試み[1]について聴講してきたので紹介したい。
機能要求の分類
Ghazarianは、15個のエンタープライズ系情報システムの機能要求を調査することにより12種類に分類できることを明らかにした[2]。
調査対象システムが持つユースケースと機能要求の関係は次のようである。調査対象となった15システムには、171ユースケース、1217個の機能要求があった。また、平均7.12個の機能要求が1個のユースケースに含まれていた。したがって、システムあたり11.4個のユースケース、81.13個の機能要求があったことになる。
表1 機能要求の分類(クリックで拡大)
Ghazarianによる機能要求の分類を表1に示した。この表では、12個の機能要求種別を、表示層、応用層、データ層、外部層に分類して筆者が整理している。表示層には、イベント処理、ユーザインタフェース、データ入出力についての機能要求がある。ユーザインタフェース関連の機能要求には、静的記述、画面遷移、動的振舞についての機能要求がある。イベント処理は、ユーザインタフェース操作の契機を与えている機能要求である。データ入出力についての機能要求には、データ入力機能要求、入力データの妥当性確認機能要求、データ出力機能要求がある。応用層とデータ層は、それぞれビジネス論理とデータベース操作についての機能要求がある。なお、本稿ではわかりやすくするためデータベース操作としたが、GhazarianはData Persistenceとして分類している。また外部操作には、外部動作、外部入出力、通信がある。このように整理してみると、この分類が無理のない自然な分類であることが分かる。
この機能要求についての分類間の関係を図1に示した。図1から分かるように、データ入力、データ妥当性確認、データ出力は、表示層と応用層の相互作用を担う機能要求であることから、応用層に分類することもできるかもしれない。なお、図1では、Ghazarianが高い頻度で出現するとした機能要求である、イベント、データ入力、データ出力、ビジネス論理、データベース操作を、記号「*」で示している。
機能要求分類の出現頻度
Ghazarianによる調査では、機能要求分類の出現頻度を層別に比較すると、図2に示すようになっている。表示層機能要求が約72%で残りの約28%が応用層、データ層、外部層となっている。この結果から、米国でも要求定義では表示層の割合がほとんどといってよいことが分かる。ただし、図1で示したように、データ入力、データ出力、データ妥当性確認を応用層に分類すると、この3項目で47.23%なので、応用層が59.23%とになって、最も多くなることを注意しておく。
図2 機能要求分類の層別比率
次に、層別分類ではなく、機能要求項目ごとに、出現頻度の多い順に整列した結果を図3に示した。この結果から、機能要求項目の上位5項目で機能要求記述の85%になることが分かる。
この上位5項目の高頻度要求が調査対象となった15システムで、それぞれ、機能要求記述のうちでどの程度記述されていたかを示した結果が図4である。この図の横軸は要求項目数で縦軸が5項目の高頻度機能要求の比率である。この結果を見ると、高頻度要求の比率は70%~100%の範囲にあることが分かる。高頻度要求だけで要求が記述されたシステムが1件あることが興味深い。
続きは本誌でご覧頂けます。→本誌を購入する
ご購入のお申込みは電話(03-3507-0560)でも承っております。
- 60:要求とアーキテクチャ
- 61:要求と保守・運用
- 62:オープンソースソフトウェアと要求
- 63:要求工学のオープンな演習の試み
- 64:Web2.0と要求管理
- 65:ソフト製品開発の要求コミュニケーション
- 66:フィードバック型V字モデル
- 67:日本の要求定義の現状と要求工学への期待
- 68:活動理論と要求
- 69:ビジネスゴールと要求
- 緊急:今、なぜ第三者検証が必要か
- 71:BABOK2.0の知識構成
- 72:比較要求モデル論
- 73:第18回要求工学国際会議
- 74:クラウド時代の要求
- 75:運用要求定義
- 76:非機能要求とアーキテクチャ
- 77:バランス・スコアカードの本質
- 78:ゴール指向で考える競争戦略ストーリー
- 79:要求変化
- 80:物語指向要求記述
- 81:要求テンプレート
- 82:移行要求
- 83:要求抽出コミュニケーション
- 84:要求の構造化
- 85:アーキテクチャ設計のための要求定義
- 86:BABOKとREBOK
- 87:要求文の曖昧さの摘出法
- 88:システムとソフトウェアの保証ケースの動向
- 89:保証ケースのためのリスク分析手法
- 90:サービス保証ケース手法
- 91:保証ケースのレビュ手法
- 92:要求工学手法の再利用
- 93:SysML要求図をGSNと比較する
- 94:保証ケース作成上の落とし穴
- 95:ISO 26262に基づく安全性ケースの適用事例
- 96:大規模複雑なITシステムの要求
- 97:要求の創造
- 98:アーキテクチャと要求
- 99:保証ケース議論分解パターン
- 100:保証ケースの議論分解パターン[応用編]
- 101:要求発展型開発プロセスの事例
- 102:参照モデルに対する保証ケース
- 103:参SEMATの概要
- 104:参SEMATの活用
- 105:SEMATと保証ケース
- 106:Assure 2013の概要
- 107:要求の完全性
- 108:要求に基づくテストの十分性
- 109:システムの安全検証知識体系
- 110:機能要求の分類
- 111:IREB
- 112:IREB要求の抽出・確認・管理
- 113:IREB要求の文書化
- 114:安全要求の分析
- 115:Archimate 2.0のゴール指向要求
- 116:ゴール指向要求モデルの保証手法
- 117:要求テンプレートに基づく要求の作成手法
- 118:ビジネスゴールのテンプレート
- 119:持続可能性要求
- 120:操作性要求
- 121:安全性証跡の追跡性
- 122:要求仕様の保証性
- 123:システミグラムとドメインクラス図
- 124:機能的操作特性
- 125:セキュリティ要求管理
- 126:ソフトウェアプロダクトライン要求
- 127:システミグラムと安全分析
- 128:ITモダナイゼーションとITイノベーションにおける要求合意
- 129:ビジネスモデルに基づく要求
- 130:ビジネスゴール構造化記法
- 131:保証ケース導入上の課題
- 132:要求のまとめ方
- 133:要求整理学
- 134:要求分析手法の適切性
- 135:CROS法の適用例
- 136:保証ケース作成支援ツールの概要