(前NTTデータ フェロー システム科学研究所長)山本 修一郎
今回は、自然言語で記述された要求仕様に基づいて、品質特性を保証する方法について紹介する。自然言語による要求仕様の記述法としてUSDMを対象にしよう。保証方法については、本連載でも紹介している保証ケースを用いることにする。
すなわちUSDMで記述された要求仕様に対して、システムが期待される品質を満足していることを確認する方法について考えてみようということである。
USDMによる要求記述
USDM(Universal Specification Description Manner)では、対象ごとに、要求を理由と説明とともに対応付けて記述している。たとえば、話題沸騰ポットでは、次のように記述されている[1]。
話題沸騰ポットは電気ポットのことなので、以下では電気ポットということにする。この電気ポットの蓋があり、蓋について2個の要求(pot-220とpot-221)がある。また要求ごとに、なぜ、その要求が必要になるかを「理由」欄で明記する。
さらに、要求ごとに、要求を実現するための「仕様」を対応付けて記述できるようになっている。たとえば、pot-220には、pot-220-11、pot-220-21、pot-220-31という3個の仕様が対応付けられている。
図1 USDMの記述例[1](クリックで拡大)
安全性要求の抽出
USDMは、要求と仕様を対応付けて階層的な表形式で記述できるので、要求と仕様の追跡性を容易に管理できるという特徴がある。しかし、USDMで記述された要求仕様について、安全性を確認しようとすると、要求がなぜ必要になるかという目的が、要求の下位項目として記述されているので、要求ごとに調べる必要があり、網羅的に安全性要求を摘出する点で必ずしも効率的であるとはいえない。
そこで、USDM記述に基づいて、要求理由一覧表を作成してみる。要求理由一覧表は、USDM記述に基づいて、対象ごとに、要求と理由だけを抽出した一覧表である。この要求理由一覧表を前述の電気ポット[1]に対して作成した例を下表に示す。ここで、記述を簡略化するため、pot-220などをp220とした。また、p330の対象名は、原文では、「温度制御行為をしない(アイドル)」となっていたが、他の記述のように体言止めになっておらず、統一が取れないだけでなく、わかりにくいので、「温度制御停止行為」とした。
このように、USDMで複数ページにわたって記述された要求と理由を、要求一覧表ではまとめて一覧できるため、わかりやすいという特徴がある。
また理由欄から、安全性についての理由を探すことも簡単にできることがわかる。表1では、安全性についての理由を青で示した。この結果から、安全性に関する要求には、p221、p250、p260、p330、p500という5個の要求があり、それ以外にはないことが分かる。なお、これらの要求の対象は、それぞれ、蓋、解除ボタン、給湯ボタン、温度制御停止行為、エラー検知である。
表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:保証ケース作成支援ツールの概要