基本情報技術者試験対策として、システム要件定義とソフトウェア要件定義の違いを図解でわかりやすく解説します。
機能要件・非機能要件、ユースケース、DFD、E-R図など試験で頻出のポイントを初心者向けに丁寧にまとめました。
システム要件定義とは
システム要件定義とは、利用者が求める要望から、システムの目的や必要な機能などを明確にする工程です。
システム開発では、最初に「どのようなシステムを作るのか」を決めなければなりません。
ここで決めた内容を基に、設計やプログラム開発が進められるため、要件定義はシステム開発の中でも非常に重要な工程です。
システム要件定義
システム要件定義では、利用者や業務の要求を整理し、システムに必要な機能や性能、運用方法などを決定します。
具体的には、次のような内容をインプットして、アウトプット(定義)します。

システム要件定義の目的
システム要件定義の目的は、利用者の要求を整理し、「どのようなシステムを開発するのか」を明確にすることです。
要件が曖昧なまま開発を進めると、完成後に「思っていたシステムと違う」といった問題が発生する可能性があります。
そのため、利用者と開発者が共通認識を持てるよう、システムに必要な要件を文書としてまとめます。

システムの機能要件
機能要件とは、システムが備えるべき機能や処理内容のことです。
さらに、利用者がシステムをどのように利用するかを整理し、業務・利用者の要件も整理します。
<例>
- どの業務範囲がシステム開発の対象か
- どのようなデータを入力するか
- どのような帳票を出力するか
非機能要件とは
非機能要件とは、システムの機能以外に求められる品質や性能、運用条件などの要件です。
- 処理速度が速いこと
- 障害が発生してもすぐ復旧できること
- 安全に利用できること
- 長期間安定して稼働できること
なお、共通フレーム2013というフレームワークでは、機能性、信頼性、使用性、効率性、保守性、移植性、技術要件、運用、操作要件、移行要件、付帯作業を挙げています。

システム要件定義のサンプル
簡易版ですが、システム要件定義のサンプルを提示します。
フォーマットやルールについては企業やプロジェクトによって異なりますので、こちらはあくまで参考です。

ソフトウェア要件定義とは
ソフトウェア要件定義とは、システム要件定義で決定した内容を基に、ソフトウェアとしてどのように実現するかを具体的に定義する工程です。
システム要件定義では「どのようなシステムを作るか」を決めましたが、ソフトウェア要件定義では「そのシステムをソフトウェアでどのように実現するか」を検討します。
ソフトウェア要件定義の目的
ソフトウェア要件定義の目的は、利用者の要求を満たすソフトウェアの仕様を明確にすることです。
要件を明確にすることで、設計やプログラム開発をスムーズに進めることができ、完成後の認識の違いや手戻りを減らすことができます。
また、開発者だけでなく利用者とも内容を確認し、共通認識を持つことが重要です。
ソフトウェア要件定義で決めること
ソフトウェア要件定義では、システム要件を実現するために、画面設計やインタフェース、データモデルなど、ソフトウェアの仕様を具体化します。
- 他システムとのインタフェース:関係する他システムとの連携方法
- 画面設計:必要な画面と、各画面の構成
- データモデル:データの構造や関連付け
- 業務モデル:業務の流れや処理内容
- ユースケース:利用者とシステムのやり取り
- DFD(データフロー図):データの流れ
- E-R図:データ同士の関連
要件定義で使用する代表的な手法
要件定義では、利用者の要求を正確に整理し、開発者との認識の違いを防ぐために、さまざまな分析手法や図を利用します。
文章だけでは伝わりにくい内容も、図を用いることで業務の流れやデータの関係を分かりやすく表現できます。
ユースケース図
ユースケースとは、利用者(アクター)がシステムをどのように利用するかを表したものです。
利用者がシステムに対して「何をしたいのか」を整理するために使用されます。
例えば、ネットショップでは次のようなユースケースがあります。

■試験のポイント
・ユースケース図はシステム化対象の境界線を表す
・アクター:システムを利用する人や外部システム
・ユースケース:利用者がシステムで実現したい操作
DFD(データフロー図)
DFD(Data Flow Diagram:データフロー図)とは、システム内でデータがどのように流れ、処理されるかを表した図です。
データが「どこから来て」「どのような処理を受け」「どこへ渡されるか」を視覚的に表現できます。
例えば、ネットショッピングの商品購入では次のような流れになります。

■試験のポイント
データの源泉・吸収先・・・データをシステムに渡すまたは受け取る人やシステム
データストア・・・データを保存する場所(商品、注文)
プロセス・・・データを処理する(例:注文処理、在庫更新、集計など)
E-R図
E-R図(Entity Relationship Diagram)とは、データ同士の関係を表した図です。
データベース設計で使用され、どのようなデータを管理し、それぞれがどのように関連しているかを整理するために利用されます。

E-R図の詳細については、データベース設計のページを参照してください。
試験ではエンティティ同士の関係を問われることが多いです。
E-R図に記述されている多重度から読み取れるようにしておきましょう。
腕試し(理解テスト)
腕試し(理解テスト)に挑戦する場合はこちらをクリック。

コメント