システム選定の基礎知識~非機能要件を理解する~

2019年05月30日

 

企業がシステムの刷新を検討するとき、新システムに対して最も気になるのは、自分たちが欲しいと思っている機能を有しているかという点だと思います。
しかし、システムは機能が充実していれば良いというわけではありません。継続して利用をするためにはメンテンナンスが欠かせませんし、データのセキュリティも担保する必要があります。このような機能以外でシステムに求めることを「非機能要件」と呼びます。
今回は非機能要件の要素や、要件決定のポイントをお伝えしていきます。

 


非機能要件とは何か?

システムを選ぶときには自社が必要とする要件を整理し、それらを基にしたシステムベンダーからの提案を受け、検討を重ねていきますが、ベンダーに示す要件には機能要件と非機能要件が存在しています。
機能要件とは、「受注情報を入力する」や「請求書を印刷する」等、導入するシステムに備わっていなければならない機能を示すもので、システムを利用する業務に直結します。
一方、非機能要件は業務に直接つながりませんが、システムの持っている性能や品質・セキュリティ等に関わる要件で、導入後に安定した運用を続けていくために欠かせません。
今回の記事では、IPA(情報処理推進機構)がまとめている非機能要件に関する資料に倣って、要件の項目を分類し、それぞれの内容を整理していきます。

 

非機能要件は大きく分けると、6つの要素で構成されています。

 

(非機能要件の要素)
①可用性
②性能・拡張性
③運用・保守性
④移行性
⑤セキュリティ
⑥システム環境・エコロジー

 

実際のシステム選定作業では、これらの要素について、自社の求める条件や対応を決めていくことになります。機能要件と同様に一覧化し、ベンダーに提示するのが一般的です。

 

非機能要件の要素を知る

非機能要件の要素毎に内容をご紹介していきます。

 

①可用性
「可用性」とはシステムが継続して動くことのできる能力を指し、「稼働率」とも表現されます。
システムは常に動けるわけではなく、定期的なメンテナンスや、予期せぬ障害等によって使えなくなってしまう場合もあります。動いている時間と停止から復旧までに要する時間の割合が可用性となります。
例えば現在、Amazon社が運営するクラウドサービスの「Amazon EC2」は、99.99%の稼働率を保証しています。これは1,000時間稼働する中で、停止時間は1時間以内に抑えることを意味しています。裏を返しますと、999時間はいつでも使える状態にあるということです。
可用性の項目では、導入するシステムがどの程度の稼働率であれば許容できるのかを検討し、その目標を選定候補のベンダーに伝えます。

 

②性能・拡張性
「性能」はシステム自体の働き・パフォーマンスを指しています。システムが扱えるデータ量や処理速度が、現在の業務量に対応できるか、業務の通常時とピーク時でシステムの応答速度はどのくらいであれば良いか等を検討していきます。選定候補のベンダーには、現在のデータ量(年間に登録する伝票データの数等)や目標とする応答速度(伝票照会画面の表示:通常時は3秒以内、ピーク時は5秒以内、等)を伝えて、回答をもらうようにします。
一方、「拡張性」は将来的にシステムの性能を増強できるか否かを確認する項目です。事業が変化して業務量が増えた場合に、システムの処理速度を落とさないように強化できるか等を確認します。

 

③運用・保守性
システムを運用する時間帯等の他、システムを運用・保守していくうえで必要な障害監視の仕組みや、バックアップするデータの範囲・頻度等を検討し、目標設定する項目です。
システム保守のために要する計画的な停止の有無や、システムの異常を検知した際の対応等も含まれます。
BCP(事業継続計画)の観点にも関係する項目になりますので、慎重に検討をすべき内容の一つと言えます。

 

④移行性
旧システムから新システムへの移行に関する要求をまとめる項目です。移行中のシステム停止期間、移行の方法、移行の計画、トラブル時の対処等について目標を設定していきます。

 

⑤セキュリティ
システムの安全性に関する目標を設定する項目です。システムを運用するうえでのリスク管理に関係し、上場企業では、J-SOX(財務報告に係る内部統制報告制度)のIT統制に関連の深い項目となりますので、注意が必要であると言えます。システムへの不正なアクセスによるデータ漏洩等を防ぐ仕組みである認証機能や機能制限、データ暗号化の方法、不正監視に必要なシステムログの保存期間等を検討していきます。

 

⑥システム環境・エコロジー
システムの構築及び運用時に制約となる法令や条約の有無、システムを利用する人数や拠点数、システムに関連するハードウェアの制限事項などについて、目標設定をする項目です。
システムの運用が労働環境や自然環境に与える影響についても検討対象になっており、例えば、データセンターにあるサーバを利用してシステム構築をするのであれば、消費エネルギー量の目標値を設定するか等の項目があります。システムの性能や運用等とは異なり、表現が抽象的になりがちな項目ですが、法令や条約が関係する場合は、事業そのものに影響を与える内容になりますので、注意が必要です。

 

 

非機能要件を決定するためのポイント

システムは自社の希望する機能が単純に動けば良いというわけではありません。ある業務に対応する機能は備えていても、システム内の処理が終わるまでに1時間かかるようでは、最適なシステムとは言えません。導入するシステムを安定した状態で、利用者がストレスなく使うためには、非機能要件の各要素をよく検討し、選定対象のベンダーに要件を明示しておくことが大切です。
ただ、非機能要件の全てを完璧に満たそうとすると、それに伴ってベンダーから提示されるオプションやアドオン開発が増え、導入予算に収まらなくなる可能性もあります。
それを防ぐためには、非機能要件の要素毎に対応のパターンを複数用意し、各々のメリットやデメリットを考えながら、自社にマッチしたレベルの要件内容を選択していくことが、最良の方法です。
非機能要件は、システム機能を支える屋台骨の役割を果たします。システムを選定する際には軽視をせず、慎重に対応をするのが望ましいと考えます。

 

 

まとめ

・非機能要件とは何か?
☑非機能要件とは、システムが持つ性能や品質・セキュリティに関わる要件を指す。
☑非機能要件は6つの要素に分けることができる。
①可用性・②性能・拡張性・③運用・保守性・④移行性・⑤セキュリティ・⑥システム環境・エコロジー

 

・非機能要件の要素を知る
☑可用性
・システムが継続して動くことのできる能力を指し、「稼働率」とも表現される。
・1,000時間稼働する中で、故障等により1時間以内の停止時間が発生する場合は、稼働率99.999%になる。
・導入するシステムがどの程度の稼働率であれば許容できるのかを検討する。

 

☑性能・拡張性
・システム自体の働きやパフォーマンスを指す。
・システムが扱えるデータ量や応答速度等の性能、将来的に性能を拡張できることについて検討する。

 

☑運用・保守性
・システムを運用する時間帯等の他、システムを運用・保守していくうえで必要な障害監視の仕組み等を検討する。

 

☑移行性
・旧システムから新システムへの移行に関する要求をまとめる項目を指す。
・移行の方法、移行の計画、トラブル時の対処等について目標を設定する。

 

☑セキュリティ
・システムの安全性に関する目標を設定する項目を指す。
・認証機能や機能制限、データ暗号化の方法、不正監視に必要なシステムログの保存期間等を検討する。

 

☑システム環境・エコロジー
・システムの構築及び運用時に制約となる法令や条約の有無等の要求をまとめる項目を指す。
・サーバを置くデータセンターの消費エネルギー量の目標等を検討する。

 

・非機能要件を決定するためのポイント
☑システムを安定した状態でストレスなく使うためには、非機能要件の要素を検討する必要がある。
☑但し、非機能要件を完璧に満たそうとすると、アドオン開発等で導入予算が増える可能性がある。
☑非機能要件の要素毎に対応パターンを用意し、それぞれのメリット・デメリットを考慮しながら決めることが大切である。

CONTACT

経理、監査、情報システムに関するお悩みなど
お気軽にご相談ください

お電話でのお問い合わせ
受付時間:平日10:00~19:00
お気軽にお電話ください
03-6230-9526
フォームからのお問い合わせ メルマガ登録

認証フォーム

※お名前・メールアドレスを入力するとすぐに資料がご覧いただけます。

氏名必須
メールアドレス必須