システム開発プロセスの基礎まとめ【共通フレーム2013・V字モデルを解説】

システム開発プロセスに関するブログのアイキャッチ画像 システム開発技術
広告

 このページでは,基本情報技術者試験をはじめとする情報処理技術者試験で必須となる,システム開発プロセスについてシンプルにまとめています。システムのライフサイクル,共通フレーム2013(プロセス体系,テクニカルプロセス,システム開発の流れ(V字モデル))や,テクニカルプロセスにおけるシステム開発作業の概要について説明します。まずは,ここで全体像を掴み,その後,各内容に進むと理解が深まると思います。

広告

システムのライフサイクルとは(全体像)

 システムのライフサイクルは,一般的には次のようになります。

システムライフサイクルに関する説明画像

共通フレーム2013とは(プロセス体系の基本)

 共通フレーム2013は,システムやソフトウェアの構想から,開発,運用,保守,廃棄に至るまでのライフサイクル全般にわたって必要な個々の作業内容や用語の意味などを示したものです。システムの発注者と受注者の間で解釈の違いが生じないよう「共通の物差し」として示されています。

共通フレーム2013のプロセス体系

 共通フレーム2013のプロセス体系は,次のようになっています。

共通フレーム2013のプロセス体系に関する説明画像

テクニカルプロセスとは

 テクニカルプロセスでは,システム開発作業を6つのプロセスで示しています。

企画プロセスシステム構想の立案,システム化計画の立案を行う
要件定義プロセスシステムの利用者や利害関係者が必要とするサービスを提供できるシステムに対する要件を定義する
システム開発プロセス要件定義で明確にされた要件を実現するシステムを作り出す
ソフトウェア実装プロセスシステムを構成する各ソフトウェアを作り出す
ハードウェア実装プロセスシステムを構成する各ハードウェアを作り出す
保守プロセス作り出したシステムやソフトウェアに対する支援を行う

システム開発の流れ

 システム開発の流れは,共通フレーム2013では,次のように規定されています。

※ V字モデル…システム開発の流れを表した図。V字型をしていることから,このように呼ばれる

V字モデルに関する説明画像

※ システム企画(企画・要件定義)の詳細は,「システム企画の基礎まとめ」を参照

※ 以前は,システムとソフトウェアが明確に分かれておらず,要求分析→外部設計→内部設計→プログラミング→テストという流れだった

事業企業経営のこと
業務日々継続して行う仕事のこと。販売業務,生産業務など
システム情報を処理するための仕組み。ハードウェア,ソフトウェア,その他の設備,人による活動などから構成される
ソフトウェアプログラムやデータの組み合わせで,何かしらの機能を実行するもの

広告

システム要件定義・システム方式設計とは(役割と流れ)

 システム要件定義では,要件定義で明確にされた要件を実現するため,システムに求められる機能や性能などを定義します。

 システム方式設計では,システムの最上位レベルでの方式を確立します。

※ 詳細は,「システム要件定義・システム方式設計の基礎まとめ」を参照

ソフトウェア要件定義(外部設計)・ソフトウェア方式設計(内部設計)・ソフトウェア詳細設計とは(役割と流れ)

 ソフトウェア要件定義では,システムを構成する各ソフトウェアに求められる機能などを定義します。ソフトウェア要件の確立では,業務モデルの作成(DFDや状態遷移図などを使用),画面・帳票設計,ヒューマンインタフェースの設計,コード設計,論理設計,ソフトウェア適格性要件の作成などを行います。ソフトウェア要件の評価及びレビューも行います。

 ソフトウェア方式設計では,ソフトウェア要件を実現するために,ソフトウェアをプログラム(ソフトウェアコンポーネント)に分割し,各プログラムに必要な機能やプログラム間の関係などを明確にします。機能分割と階層構造化,物理データ設計,入出力詳細設計,ソフトウェア結合テストのためのテスト要件の定義などを行います。ソフトウェア方式設計の評価及びレビューも行います。

 ソフトウェア詳細設計では,各プログラム(ソフトウェアコンポーネント)をモジュール(ソフトウェアユニット)にまで分割して,より詳細化します。ソフトウェアコンポーネントの詳細設計,ソフトウェアインタフェースの詳細設計,ソフトウェアユニットテストのためのテスト要件の定義などを行います。ソフトウェア詳細設計及び要求事項の評価とレビューも行います。

※ 詳細は,「ソフトウェア要件定義・ソフトウェア方式設計・ソフトウェア詳細設計の基礎まとめ」を参照

ソフトウェア構築・テストとは(流れとポイント)

 ソフトウェア構築では,プログラミング(ソフトウェアユニットの作成)や,単体テスト(ソフトウェアユニットテスト)などを行います。ソフトウェアコードとテスト結果の評価及びレビューも行います。

 テストでは,システム要件定義からソフトウェア構築へと詳細化してきた順とは逆の順にテストを行います。各テストの評価及びレビューも行います。

※ 詳細は,「ソフトウェア構築・テストの基礎まとめ」を参照

システムの導入・受入れ支援・保守・廃棄とは(運用とライフサイクル後)

 システムの導入,受入れ支援,保守,廃棄については,「システムの導入・受入れ支援・保守・廃棄の基礎まとめ」を参照してください。

まとめ

 今回は,システム開発プロセスついて,シンプルにまとめてみました。全体像が掴めたら,各内容に進んでみてください。

 理解が進んだら,過去問題等にもチャレンジしてみてください。