平凡エンジニアによる平凡ブログ

平凡インフラエンジニアがスキルアップを目指してプログラミングやクラウドやサーバといったインフラのアウトプットをしていきます!

【開発】システム要件定義って何だ?

今回のテーマ

前回で開発の全体流れをまとめたので 今回から各工程の説明に入っていきます。 今回はまずシステム要件定義についてまとめます。

■前回

【開発】WEBアプリの開発工程を理解しよう - 平凡エンジニアによる平凡ブログ

システム要件定義

利用者からどういったシステムが必要なのかをヒアリングし
システムの機能や性能などを細かく明確に決める工程をいいます

システム要件定義で決める項目

1.機能、性能
例えば車をWEB上で売ることができるシステムであれば 簡単にではあるが、以下の機能を挙げるとする。 ・認証機能(ログイン、ログアウトなど)
・車の購入機能
・車を販売機能
・販売された車の表示機能
・更新機能(情報の更新、削除、追加など)

性能は例えば 購入ボタンを押してからどのくらい早く 「購入しました」という表示が出て、購入が決定するかなどを決めることである。

そのためにシステムを動かすサーバやネットワークの性能をどれくらいの ものにするのかを予算などの兼ね合いで決める。

性能を示す言葉には以下のような用語がある
・レスポンスタイム
ユーザからのリクエストを受けてから、返答(レスポンス)を返す時間のこと

スループット
システムを処理するサーバなどが一定時間で処理できる処理量のことをいいます。 1分間でこのくらいの処理を動かすことができることを示す単位をいいます。

2 業務、組織要件
利用者で使用する業務や、使用する組織などをヒアリングを通して 決定する。具体的な項目としては以下のような項目がある。

・業務処理手順
例えば車を出品する工程だと、例えば以下のように手順を確認する。

アカウントでログイン→出品機能から対象の車情報、写真を記載する→確定ボタンを押して確定 →表示されているか確認する

手順がなければ、開発者がどういった処理を開発しなければならないのかがわからない

・システム操作要件
これは利用者が使用する際の操作方法をまとめます。 画面イメージやボタンを押すなどの操作イメージを明確にします。

・入出力情報
どういった情報を入力するか、また画面上にはどういった情報を表示させるか

・データベース要件
DBでどういったデータを扱うかを明確にする

・運用要件 障害が発生した場合の対応を決める

・テスト、移行の要件
開発後のテストをどういった項目で行うのか 旧システムがあるならば、旧システムからどのデータを移行するのかなどを決める

3.その他
その他開発で使用する環境や、実行する環境を明確にする。

まとめ

前述した要件をまとめるのがシステム要件定義である。
この工程で重要なのは利用者もしくは発注者の頭にあるシステムイメージを
具体的にすることである。そのためヒアリングや開発側の提案などのやりとりする力が求められる。

開発工程については基本情報の文献を参考にまとめてます。

令和02年【春期】 基本情報技術者 パーフェクトラーニング過去問題集

令和02年【春期】 基本情報技術者 パーフェクトラーニング過去問題集

  • 作者:山本 三雄
  • 発売日: 2019/12/26
  • メディア: 単行本(ソフトカバー)