KAOS (34) 知識の再利用(2.2.7-1)

(スクラッチから作るとしても)システムを全くのゼロから創造することはマレである (p.72)

全くの新しいコトを思いつくのは,激しい思考を必要とする.かつ成功するとは限らない.芸術の世界は,おそらくこのゼロからの創造である.

芸術家ではない普通の人は,何かベースになるもの(それは,現状システムであるかもしれないし,どこかで見かけたシステムかもしれない)から,要求を作り上げることになる.

少し体系立てて,既存の知識を再利用しようというのがここでの狙いである.

今回は,問題領域には依存しない知識を利用することを考える.

KAOSの教科書では,性能要求を考える上で,かつて紹介したNFR(非機能要求, Non-Functional Requirements)本 1から,題材をとっている.

しかし,せっかくなので,NFR本から,セキュリティの例を取りあげることにする.

nfr_security

NFR(非機能要求)本にあるカタログから.セキュリティの例

これが,NFRのカタログのうち,セキュリティに関するものである.NFRタイプというのが,最上位のタイプ(型)になっている.矢印は,サブタイプ(副型)の関係である.例えば,セキュリティは,可用性・十全性・守秘性・運用上のセキュリティというサブタイプを持つ.

特に右側のNFR特性のサブタイプは,異なった側面を示している.ライフサイクルは,開発/運用のそれぞれで,考慮すべきこと.内部-外部は,計算機の内部ー外部で考慮すべきことを示している.

この記述があれば,各タイプを利用して,質問を投げかけることができる.それによって,モレを防ぐことができる.

  • システムが扱う完全性の対象とするデータは何か
  • 開発時のセキュリティ確保(例えば,守秘性の対象となるデータのログ出力の禁止)にはどう対応するのか.

ここで示したサブタイプ関係は,ドメイン非依存である.従って,対象によらずに広く使用することができる.

(nil)

Notes:

  1. Chung, L., Non-functional requirements in software engineering. Kluwer Academic: Boston, 1999.