システム開発プロセス

業務で利用するシステムは、必要な機能が正しく動作することはもちろん、利用者(システム利用部門)にとって使いやすいことが求められます。
システムを開発する部門は、システムを利用する様々な部門と連携して、要求を調査・分析し、開発するシステムに反映していくことが重要です。
また、システム開発は必ずしも自社内で行わなければならないというわけではなく、システム開発を専門とする会社に外部委託することもできます。
システム開発を他社に委託する際の代表的な契約方法として「請負契約」があります。
システムを開発する一般的な手順は次の通りです。

システム開発手順

<ページ先頭へ>

要件定義

「要件定義」とは、システムやソフトウェアに要求される機能、性能、内容を明確化するもので、「システム要件定義」や「ソフトウェア要件定義」があります。利用者(システム利用部門)の要望を調査・分析し、技術的に実現可能かどうかを判断し、その後、要望の実現に向けた要件を細かく定義し、「要件定義書」として整理します。
利用者の要望を調査する際は、「ヒアリング」というインタビューなどの形式で要件を聞き出す方法が有効です。要件定義をスムーズにもれなく行うために、あらかじめヒアリングすべき項目を明確にしておき、計画を立てて実施します。また、ヒアリングした結果は、後から確認できるよう議事録などに残しておくことが重要です。
要件定義は、システム設計の第一歩となります。システム要件定義の内容をもとにシステム設計のプロセスに進み、そこでソフトウェアに関する要件定義を行います。
より良いシステムを開発するためには、システムを利用する様々な部門と協力しながら、各要件を定義していく必要があります。

<ページ先頭へ>

システム要件定義

「システム要件定義」では、システム化するにあたって、どのような機能を必要としているのかを明確に規定します。
一般的に、システムの信頼性(稼働時間や稼働条件など)や安全性(障害発生時の対処方法や保守など)に関する要件などを規定します。
また、システム運用にあたって使用するハードウェアの性能やシステムの利用者に対する教育の条件なども合わせて規定します。システム要件定義に挙げた内容がコストに見合うかどうか、限られた予算の中で最大限の効果を発揮するために、優先順位をつけることも必要です。

<ページ先頭へ>

システム設計

要件定義に基づき、システムを設計します。
システムを設計する手順は、次の通りです。

システム設計手順

<ページ先頭へ>

システム方式設計(外部設計)

「システム方式設計」では、要件定義の内容をもとに、システムの構成を設計します。要件定義所にあるすべてのシステム要件を次のように分割します。

  • ハードウェアで実現する内容(ハードウェア構成)
  • ソフトウェアで実現する内容(ソフトウェア構成)
  • 利用者が主導で実現する内容(手作業)

要件をこのように分割することで、利用者の作業範囲が明確になり、リスクを考慮した選択肢の提案や、効率的な運用、保守などを踏まえたシステム構成の設計が可能になります。設計した内容は、「システム方式設計書」として整理します。

<ページ先頭へ>

ソフトウェア要件定義(外部設計)

「ソフトウェア要件定義」では、システム方式設計でソフトウェアで実現する内容の利用者から見える部分の要件を定義します。一般的に、システムのインターフェースや操作性を設計したり、データベースでのデータを定義したりします。ここでの内容は、「ソフトウェア要件定義書」として整理します。

●ヒューマンインタフェースの設計

「ヒューマンインタフェース」とは、人間とコンピュータとの接点にあたる部分のことです。「ユーザインタフェース」とも呼ばれます。ヒューマンインタフェースの設計では、システムの入出力画面や帳票などの印刷イメージを設計します。

●データやコードの設計

データの設計では、リレーショナルデータベースを利用するために、テーブルデータを設計します。業務で利用するデータ項目をすべて抽出して、正規化によって重複するデータを除きます。また、データベースでは様々なコードを扱います。これらのコードは、規則性が必要であるため、コードの設計では、コード化する項目とルールを決定します。

<ページ先頭へ>

ソフトウェア方式設計(内部設計)

「ソフトウェア方式設計」では、システムに必要な機能を「どのように実現するのか」というシステム内部の設計を行います。つまり、システム方式設計やソフトウェア要件定義で決めた機能を実現するために、プログラミングを行うという観点から設計します。ここで設計した内容は「ソフトウェア方式設計書」として整理します。
システムの内部機能を設計するため、システム開発部門が行い、利用者は設計には関与しません。

<ページ先頭へ>

ソフトウェア詳細設計(プログラム設計)

ソフトウェア方式設計に基づいて、プログラム内の構造の設計をします。「ソフトウェア詳細設計」では、プログラム内の機能詳細を定義したり、データベースへのアクセス方法(SQL文)など、プログラム構造の細かい処理単位を設計したりします。ここで設計した内容は「ソフトウェア詳細設計書」として整理します。その後、この設計書にもとづいてプログラミングが実施されます。
システムの内部機能を設計するため、システム開発部門が行い、利用者(システム利用部門)は設計には関与しません。

<ページ先頭へ>

開発(プログラミング)

「プログラミング」とは、プログラム言語の規則や文法に則ってアルゴリズム(問題解決のための処理手順)を記述し、動作テストまでを行うことです。
システム設計で設計した内容をもとに、個々のプログラムを作成します。システムを動かすためには、個々のプログラムの処理手順や処理内容、処理結果などを設計したとおりに作成していくことが重要です。
さらに、作成したモジュールがソフトウェア詳細設計書通りに正常に動作するかを確認するため、「単体テスト(モジュールテスト)」を実施します。単体テストは、一つ一つのモジュールが決められた仕様通りに機能するかどうかをチェックします。一般的に、ソフトウェア詳細設計(プログラム設計)の担当者、プログラムの開発担当者が主体となってテストを実施します。
単体テストでは、主に「ホワイトボックステスト」が使用されます。プログラムは、「コンパイラ」を用いて、コンピュータ上で実行可能なプログラムに変換し、作成したプログラムにバグがないかを確認します。

<ページ先頭へ>


  プロフィール  PR:無料HP  免許合宿 格安  ゲーム 制作  タナベ  中古ホイール 新潟  タイヤ 18インチ  大学  バイクパーツ  マラカイト  心理学部 大学  イーキャピタル 口コミ  タイヤ 取り付け 浜松  名簿屋