支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • 上流工程で求められる「要件定義」「基

はじめに

システム開発においてプログラミングが最も大切なように思われますが、それ以上に上流工程にあたる「要件定義」「基本設計」の部分がとても大切になります。なぜならシステム開発をする上でクライアントと密接にかかわる工程になるからです。本記事ではシステム開発の流れを見た後、「要件定義」「基本設計」でどのような作業を求められるのかをご紹介します。

システム開発の流れ

システム開発の工程は主に上流工程と下流工程に分けて実施します。上流工程を①要件定義、②基本設計、③詳細設計に、下流工程を④プログラミング、⑤テストというように役割ごとにわけて作業を行い、一つのシステムを開発します。まずはシステム開発の一般的な開発工程を簡単に見てみましょう。

上流工程

上流工程の主な流れである「要件定義」「基本設計」「詳細設計」について見てみましょう。

①要件定義

要件定義では作成するシステムにどのような機能を持たせるのかをクライアントと話し合い、その要求点を明らかにします。そしてその要求点を「要件定義書」という形で文書として残し、クライアントに提示します。システム開発の方向性を決める工程になりますので、各工程の中でも一番重要な工程と言えるでしょう。

②基本設計

次の工程は設計です。設計は基本設計と詳細設計に分けられ、それぞれ設計する内容が異なります。基本設計は要件定義の時に話し合われたクライアントの要求点をもとに、利用者に見える操作画面やデータ出力などの仕様を決定します。

③詳細設計

一方詳細設計ではシステム内部の動作、機能、データベースなど見えない部分の設計を行います。そのため基本設計がクライアントの視点で作られるのに対して、詳細設計はプログラマー視点での設計書になります。

下流工程

下流工程の主な流れである「プログラミング」「テスト」について見てみましょう。

④プログラミング

この工程では上流工程の基本設計・詳細設計で決められた内容に従ってプログラミングを行います。

⑤テスト

テストでは開発したプログラムにミスがないか、要件定義時に定められた仕様通りに動くかどうかを確かめます。この工程ではモジュールレベルの動作確認を行う「単体テスト」、モジュールを結合させた状態での動作確認や入出力検査などを行う「結合テスト」、システム全体を稼働させての動作確認や負荷確認を行う「システムテスト」、実際の運用と同じ条件下で動作確認をする「運用テスト」に分けられて行われます。

各工程の作業内容

ここから要件定義と基本設計・詳細設計の作業内容について具体的に見ていきます。

要件定義の作業内容

要件定義の目的は「要件定義計画書」を作ることにあります。この要件定義計画書をつくるために行うべき作業が「業務要件の整理」と「システム要件の整理」です。

業務要件の整理

業務要件の整理をする際にまず行われるのが現行業務の整理です。業務のあるべき姿と現状との差が業務課題になるので。その差を出来るだけ多く解決するためにもこの作業が必要になります。一般的に業務フロー図を作成して整理することが多いです。

次に行うのことがクライアントに対するヒアリングをしながら課題を洗い出します。そのヒアリング内容を元に課題の分析を行い原因を模索し、その後に解決策の検討を行い次の工程に進みます。

そして、検討した解決策を実際に現行業務に反映させて新しい業務フロー図を作成し、その内容が最初に決めたシステム化する対象範囲と比べてどれぐらい変更があるかなどの検討を行います。

システム要件の整理

上記の業務要件の整理が終わったら、システム要件の整理を行います。この工程で求められる作業はプラットフォームの検討と機能要件・非機能要件の整理です。

プラットフォームとはシステム機能を提供するためのネットワーク、ハードウェア、OS、データベースなどのことを言います。業務要件を整理する際に定められたプラットフォームに変更がないかを検討します。

その後に機能要件・非機能要件を整理します。機能要件とは業務要件を実現するために必要なシステムの機能に関する要件の事を言い、非機能要件とは機能要件以外の性能や信頼性、拡張性、セキュリティなどの事を言います。

基本設計の作業内容

基本設計では開発するシステムがどのようになるのかをクライアントと確認する最後の機会になります。そのためクライアントの要望が実際にどれだけシステム化できるのか検討を行なったあと、全体のシステム機能の一覧やクライアント側が利用する部分の設計を行い、要件定義の段階で決めた内容とあっているかなどの確認も行います。

詳細設計書もシステムの設計書に違いはありませんが、基本設計書はプログラマーはもちろんクライアントも出来上がるシステムがどのようなものなのかを確認するため、専門的な言葉や図で作成される詳細設計書と比べてクライアントも理解できる言葉や図で作成されます。

おわりに

本記事ではシステム開発でクライアントと関わる「要件定義」「基本設計」についてご紹介いたしました。これからSEを目指そうとしている方は必ず携わる業務になるので、この記事を参考にして学習を進めてみてください。