以前要件定義を担当した際非機能要件は基本設計フェーズで対応することにしました。
現状基本設計フェーズに移行し非機能要件を決めるにあたって得た知識をまとめていきます。
1. まず非機能要件の項目って何?
◼ 可用性
◼ 性能・拡張性
◼ 運用・保守性
◼ 移行性
◼ セキュリティ
◼ システム環境
こちらは以前要件定義をする際に見つけたものです。
ただ、大項目なので詳細に何を決めるのかがよくわかっていません。
そんなこんなで調べてみるとIPAにたどり着きました。
こちらを見てみると非機能要求グレードというものがあります。
「非機能要求グレード」は、「非機能要求」についてのユーザと開発者との認識の行き違いや、互いの意図とは異なる理解を防止することを目的とし、非機能要求項目を網羅的にリストアップして分類するとともに、それぞれの要求レベルを段階的に示したものです。重要な項目から順に要求レベルを設定しながら、両者で非機能要求の確認を行うことができるツール群です。
要するに非機能要求項目がリストアップされています。
何を決めるかよくわかっていなかった自分にとってこれは非常に参考になるものでした。
2. 性能・拡張性の小項目を見てみる
非機能要求グレードの中に要求項目をまとめている樹形図があるためこちらを見てみましょう。
すべての大項目をみるのはきりがないため今回は性能・拡張性に注目してみます。
樹系図…非機能要求項目を6つの大項目ごとに階層的に示した図
※ベージュ色は重要項目となっております。
通常時の業務量のユーザ数、同時アクセス数、データ量、オンラインリクエスト件数、バッチ処理件数
保管期間などなど非機能要件で記載すべき項目が記載されています。
この資料を見てみるだけでも非機能要件の解像度が相当違ってくると思いおます。
まずこちらの資料を参考にすることで項目を漏れなく網羅することができます。
3.各項目の内容を決める
上記で小項目を網羅することができました。
次はその項目それぞれにどのような内容を記載するか見てみましょう。
項目名を見てその内容を記載するのは当然ですが、こちらの参考資料もIPAのほうで公開されているので見てみます。
何が表しているかというところでまず
↓の画像ですが、こちらにはモデルシステムが記載されています。
ここで開発するシステムに最も近いモデルシステムを1つ選択します。
上記で決めたモデルシステムによって各小項目のレベルを決定します。
ユーザ数を例に出すと
社会的影響が殆ど無いシステムだった場合
「特定ユーザのみ」に決まるような感じです。
4.終わりに
IPA本当にありがとう。感謝しかないです。
正直ちょっととっつきにくかったのですが今回の件でIPAさんが好きになりました。
今後もIPAをガンガン頼っていきたいと思います。
5.予告
次の記事では「非機能要件を定義するにあたって苦労した点」についてまとめたいと思います。
10月6日金曜日に投稿予定です。