ソフトウェア実装プロセスとは何か?【共通フレーム・JIS X 0160】

2020年3月26日

ソフトウェア実装プロセスの意味

JIS X 0160での分類

ソフトウェア実装プロセスはソフトウェアライフサイクルプロセスの規格であるJIS X 0160において、「ソフトウェアの中に実装することになった、仕様で指定されたシステム要素(ソフトウェア品目)を作り出す」プロセスと定義されています。
独立行政法人情報処理推進機構(IPA)技術本部 ソフトウェア高信頼化センター(SEC)が発行した『共通フレーム2013』においても開発のプロセスとして分類されています。
ソフトウェア実装プロセスは以下の6つの下位プロセスを含みます。

  1. ソフトウェア要求事項分析(要件定義)
  2. ソフトウェア方式設計(外部設計)
  3. ソフトウェア詳細設計(内部設計)
  4. ソフトウェア構築(プログラミング)
  5. ソフトウェア結合(結合テスト)
  6. ソフトウェア適格性確認テスト(システムテスト)

以下、個別に内容を見ていきましょう。

1.ソフトウェア要求事項分析

ソフトウェア要求事項分析では顧客から意見を聞き、仕様を決定する段階です。
要求内容を図表などの形式でまとめ、段階的に詳細化して分析していきながら、システムの信頼性や効率性など品質に関する要件を定義していきます。

2.ソフトウェア方式設計

ソフトウェア方式設計では、ソフトウェア品目に対する要件を、最上位レベルの構造を表現する方式であって、かつ、ソフトウェアコンポーネントを識別する方式に変換する作業とされています。
「最上位レベルの構造」といわれてもピンとこないかもしれませんが、どんなシステムのパーツを使って構成するかということを考えていきます。
例えば「お問合せのフォームがあって、そこに入力した内容がこの管理画面に出てくる」というように、システムの大枠を考えていきます。

3.ソフトウェア詳細設計

ソフトウェア詳細設計ではプログラムを、コード化した1行の処理まで明確になるように詳細化していきます。
方式設計の時とは異なり、細かい条件なども考えて設計をしていきます。

4.ソフトウェア構築

実際にプログラミングをして、開発を行うプロセスです。

5.ソフトウェア結合

ソフトウェア結合では、実際につくっていったプログラムのパーツを結合させ、結合テストを行います。
先ほどの「お問合せのフォームがあって、そこに入力した内容がこの管理画面に出てくる」というようなシステムは、「お問合せフォーム」のシステムの「管理画面」のシステムに分けられますが、それぞれしっかりと動いているかを確認するのが「単体テスト」です。
それに対して結合テストでは、「お問合せした内容が管理画面に表示される」という一連の流れを確認します。

6.ソフトウェア適格性確認テスト

ソフトウェア適格性確認テストでは、システムテストを行います。
先ほどの結合テストはプログラムが一連の操作で上手く動いているかということをチェックしますが、システムテストではさらに性能テスト負荷テストなどを行い、システムを使い続けていくうえで問題がないかを確認していきます。
性能テストでは「処理能力は十分かどうか」を確認し、負荷テストでは「高い負荷の下でも問題が発生しないか」をテストします。

参考