ヽ(´・肉・`)ノログ

How do we fight without fighting?

IPA製の非機能要件を決めるフレームワーク

情報システムが適用される領域は年を経るごとに広く、複雑になってきている。 適用される領域が広がっているために、かつては専門の教育を受けた人が触るものだったのが、近年は専門の教育を受けていない人も触るようになっている。 さらに複雑化により「専門の教育を受けていない人に 全て を説明する」ということがかなりの困難をもたらしている。 IPAが作成した 非機能要求グレード では、これらを解決すべく提供されている。

Disclaimer: 以下は開発者である私の立場から書いてある。非機能要求グレード自体は情報システムを必要としている立場の人が使っても有用なように提供されている。

非機能要件の合意の難しさ

情報システムに対する要求には大きくわけて二種類ある。

機能要求
業務の実現に関する要求 例)「営業情報をシステム上で共有し把握したい」
非機能要求
機能要求以外の要求 例)「システムダウン時は3時間以内に復旧して欲しい」

機能要求はビジネスに直結する内容でシステムを必要としている人がよく把握しており、開発側も聞き取りしやすく合意に至りやすい。

非機能要求はビジネスを支える内容だが、情報システムの知見がなければ把握が難しく、システムを必要としている人からは聞きとりにくい。 そこで開発側から何かを提示し、システムを必要としている人と合意をとりながら決めていくという形がよくとられている。

しかし

は難しい。また非機能要件は細かくみると多岐に渡るので、全てを初期に決定するのは困難である。そこでIPAが作成した 非機能要求グレード は、

  1. モデルシステムの決定
  2. 重要項目のレベル決定
  3. 重要項目以外のレベル決定

の3段階の決定、また大中小項目の樹系図を用いて段階的に合意できるようになっている。

ちなみに大項目は以下の6項目からなっている

  1. 可用性 - システムを継続的に利用可能とするための要求
  2. 性能・拡張性 - システムの性能と将来のシステム拡張に関する要求
  3. 運用・保守性 - システムの運用と保守のサービスに関する要求
  4. 移植性 - 現行システム資産の以降に関する要求
  5. セキュリティ - 構築する情報システムの安全性の確保に関する要求
  6. システム環境・エコロジー - システムが設置される際の約束事や、システムを取り巻く利用者や地域的な広がり、環境マネージメントから構成されるエコロジーの観点に関する要求

非機能要求グレード利用のライセンス

各資料に[使用条件]というページがあり、そこには以下のように記されている。

独立行政法人情報処理推進機構は、本資料の使用者が、以下の著作権表示を明記することを条件として、①及び②行為の行うことを許諾します。

著作権表示:(c)2010-2018 独立行政法人情報処理推進機構

①本資料の全部または一部を複製すること。

②本ページに記載されている使用条件を配布先に遵守させることを条件に本資料の複製物を無償で再配布すること。

著作権表示を明記しておけば、複製や再配布が行えそうだ。

どうやって使うか

最初に非機能要求グレード利用ガイド[解説編]を読む。私がこの記事でここまで書いてきたことは解説編に書いてあったことだ。

次に非機能要求グレード利用ガイド[利用編]を読む。ここから書くことは利用編に書いてある内容となる。

先にも書いたが、システムの開発状況に応じて3つ

  1. モデルシステムの決定
  2. 重要項目のレベル決定
  3. 重要項目以外のレベル決定

の順序で非機能要求を定めていく。

1. モデルシステムの選定

  1. 社会的影響が殆ど無いシステム
  2. 社会的影響が限定されるシステム
  3. 社会的影響が極めて大きいシステム

の3つから、自分達が開発するシステムがどれに該当しそうか選ぶ。これでデフォルト値が定まる。

./model.png

最初から判っている非機能要件があれば、デフォルト値との差分を確認しておく。(次のステップでこの差を埋める)

2. 重要項目のレベル決定

樹系図で項目の位置付けを確認する。なお、ここではオレンジ色がついた重要項目だけを対象とし、白色の項目は次のステップで決める。

./tree.png

その項目のレベルを定めていく、なおサイズ上この図には含んでいないが表の右側にモデルシステム毎のデフォルト値が定められているので参考にできる。

./table.png

3. 重要項目以外のレベル決定

ステップ2が終わったら、重要項目以外についても同様に行う。

まとめ

IPA製の非機能要件を決めるフレームワークである非機能要求グレードは、 非機能要件を定めるときに困る、程度を示すのが困難、項目が多いというものに対して工夫しており良さそう。