(前NTTデータ フェロー システム科学研究所長)山本 修一郎
今回は、最近注目されている持続可能性(Sustainability)についての要求工学を紹介する。持続可能性要求は、地球環境の持続可能性のために提案された[1]。以下では、はじめに持続可能性とソフトウェアシステムがどのように関係するかを説明する。次に、持続可能性要求の歴史と、持続可能性要求を記述する上での留意点と課題を紹介する。
持続可能性
国連による定義では、「将来の世代がニーズを満たすために彼らの可能性を妥協させることのないように、現代のニーズを満たすこと」が持続可能開発であるとされている。
持続可能性の検討では、経済面、社会面、環境面を考慮する必要がある。
これまでのソフトウェア工学でも、経済面、社会面の次元は間接的に支援されている。たとえば、ゴール指向要求工学では、ビジネスゴールを扱うことができるので経済面を考慮できる。また、社会システム要求として、ステークホルダ要求や安全要求などを扱うことで社会面を考慮できる。
しかし、環境面の持続可能性について、ソフトウェア工学では考慮されてこなかったので、今後検討していく必要がある[1]。
ソフトウェア工学と持続可能性の関係には、①ソフトウェア開発プロセスの持続可能性を改善する、②コンテクストの中で利用されるソフトウェアシステムの持続可能性を改善することで、コンテクストの持続可能性を改善するという2つがある。ソフトウェアシステムの持続可能性への影響には、次の3種類がある[2]。ここで、コンテクストというのは、人間社会や地球環境を含むソフトウェアシステムが利用される環境のことである。
一次的影響:ソフトウェアシステムが与える環境への直接的な効果。たとえば、ソフトウェアシステム自体が消費するエネルギー使用量。
二次的影響:ソフトウェアシステムがもたらす間接的な効果。たとえば、資源消費や消費者行動の変化によって増加するエネルギー使用量の増加。
三次的影響:リバウンド効果。たとえば、システム効率の向上がより多くの利用をもたらすことによるエネルギー使用量の増加。
ソフトウェア開発によってどのようにして持続可能性を効果的に達成できるか?
持続可能性要求を組み込むことから持続可能性要求が実現されていることを確認する品質保証の実施までの系統的なアプローチが必要になる。持続可能性についての明示的な品質特性によって、このすべての工程がガイドされる必要がある。このような考え方は、セキュリティ要求や安全要求でも同様にみられたことである。たとえば、安全要求を明確に定義することで、システムが安全要求を実現していることを保証できる。そこで、Penzenstadlerらは、セキュリティ要求や安全性要求についてのこれまでの研究を踏まえて、持続可能性要求を確立することで、持続可能性のためのソフトウェア工学によってわれわれの世界をより持続可能にすることを目指している。
セキュリティ、安全性、持続可能性についてのソフトウェア技術
セキュリティ、安全性、持続可能性についてのソフトウェア技術の歴史を整理すると表1のようになる。ソフトウェアセキュリティは1980年代からセキュア計算と検証として認識されてきた。安全設計の観点から1990年代に入ってソフトウェア安全性が検討されるようになった。持続可能性は、ようやく2010年代になってソフトウェアシステムの品質の一部として認識されるようになった。このような安全性やセキュリティに対するソフトウェア技術の発展は、社会的な事件・事故の顕在化がきっかけになっている。したがって、最初から安全性やセキュリティが要求工学で検討されてきたわけではない。たとえば、IEEE Std. 830-1998では、安全性とセキュリティは制約の一種としてしか扱われていない。これに対して、最も新しい要求工学の標準であるISO/IEC/IEEE 29148:2011では、安全性とセキュリティが主要な話題として取り上げられている。
◆安全性要求
識別されたハザードから導出される制約が安全性要求である。過去のソフトウェア障害原因のほとんどが、コーディングエラーではなく要求欠陥であるというLevesonの報告[3]がある。このため、重要安全システムに対する要求仕様の網羅的な分析手法の研究開発が1990年代に盛んになった。
◆セキュリティ要求
特定のシステムにおける具体的な要求に、セキュリティに関する高水準の組織方針が明示されていることがセキュリティ要求である。安全要求と同様に考えると、「保護すべき資源への識別された攻撃への対策としての制約」がセキュリティ要求であるということもできる。
最近では、セキュリティ標準に準拠する必要から、セキュリティ要求が注目されるようになってきた。
以下では、安全性、セキュリティ、持続可能性について
・特性
・誤解への対策
・要求分析手法
・方針と標準
の観点から比較して説明する。
表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:保証ケース作成支援ツールの概要