(スクラッチから作るとしても)システムを全くのゼロから創造することはマレである (p.72)
全くの新しいコトを思いつくのは,激しい思考を必要とする.かつ成功するとは限らない.芸術の世界は,おそらくこのゼロからの創造である.
芸術家ではない普通の人は,何かベースになるもの(それは,現状システムであるかもしれないし,どこかで見かけたシステムかもしれない)から,要求を作り上げることになる.
少し体系立てて,既存の知識を再利用しようというのがここでの狙いである.
今回は,問題領域には依存しない知識を利用することを考える.
KAOSの教科書では,性能要求を考える上で,かつて紹介したNFR(非機能要求, Non-Functional Requirements)本 1から,題材をとっている.
しかし,せっかくなので,NFR本から,セキュリティの例を取りあげることにする.
これが,NFRのカタログのうち,セキュリティに関するものである.NFRタイプというのが,最上位のタイプ(型)になっている.矢印は,サブタイプ(副型)の関係である.例えば,セキュリティは,可用性・十全性・守秘性・運用上のセキュリティというサブタイプを持つ.
特に右側のNFR特性のサブタイプは,異なった側面を示している.ライフサイクルは,開発/運用のそれぞれで,考慮すべきこと.内部-外部は,計算機の内部ー外部で考慮すべきことを示している.
この記述があれば,各タイプを利用して,質問を投げかけることができる.それによって,モレを防ぐことができる.
- システムが扱う完全性の対象とするデータは何か
- 開発時のセキュリティ確保(例えば,守秘性の対象となるデータのログ出力の禁止)にはどう対応するのか.
ここで示したサブタイプ関係は,ドメイン非依存である.従って,対象によらずに広く使用することができる.
(nil)
Notes:
- Chung, L., Non-functional requirements in software engineering. Kluwer Academic: Boston, 1999. ↩