案件評判
システム開発の基本工程について!モデルや略語なども解説!

システム開発の基本工程について!モデルや略語なども解説!

最終更新:2021/05/17 投稿:2019/09/15
システム開発の基本工程について!モデルや略語なども解説!

システム開発を行う上で作業を円滑に行うために”開発工程”を分けて行うのが基本となっております。システム開発工程を呼ぶ名称はシステム開発を行う業界内で共通言語となっているため覚えておく必要があります。こちらの記事ではシステム開発の工程や各プロセスの内容、専門用語について解説をしていきます。

システム開発工程とは?

システム開発を進める上で開発プロセスの集合体を適切な順序に整理したものをシステム開発工程と呼びます。各工程を分けて進めることで品質、コスト、スケジュールの管理をすることが目的です。

システム開発工程の各プロセスと流れ

開発工程

システム開発工程において最も有名なウォーターフォールモデルに基づいて各開発プロセスとその内容を解説していきます。

システム企画

『システムの概要を決定する』

お客様からシステム開発の依頼を請けシステム企画の作成に着手します。
主にシステムの概要、開発期間、開発費用など決める工程です。
新規システムの開発や既存システムの改修など問題点をヒアリングし、それに基づき、システムの企画を行い、お客様にプレゼンテーションを行ったりします。

システム企画の一般的な取り組み手順と必要な要素を簡単に解説>>

要件定義

『お客様の要件を明確にし、開発見積りを決定する』

システム開発を行う際にお客様の要望をヒアリングし実装すべき機能や満たすべき性能などを調査、分析した上で業務要件とシステム要件を明確に定義します。
お客様はシステムに関する知識が少ないケースが多いため、要望に矛盾や欠陥が合った場合でも実現可能な内容へとまとめあげる必要があります。最終的にお客様とシステム開発者側との要件認識をしっかりと合わせる非常に重要な工程です。

要件定義の一般的な取り組み手順と必要な要素を簡単に解説>>

外部設計(基本設計)

『画面や帳票などのユーザーインターフェースを設計する』

要件定義の内容をもとに画面や帳票などのユーザーインターフェースを設計します。
ユーザーインターフェースとは、画面などの実際に利用する側が目にする見た目のことです。ユーザーにとって使いやすいシステムを開発するために非常に重要な工程です。

基本設計の一般的な取り組みに必要な要素を簡単に解説>>

内部設計(詳細設計)

『プログラムの設計など、開発者側からの視点でシステムを設計する』

外部設計の内容をもとに開発するシステムを大まかな機能ごとに分割し、それらのコンポーネント間をつなぐインタフェースの仕様などを設計します。外部設計でのユーザー側視点と反対に内部設計においてはプログラム設計など、開発者側の視点でシステム設計をします。
この内部設計の工程でプログラムの仕様が細かく綺麗に書かれていると、どんなプログラマーがプログラミングを対応しても品質にズレの生じないシステムが実装されます。

詳細設計の一般的な取り組みに必要な要素を簡単に解説>>

プログラミング

『設計書に基づき、プログラムの作成を実行する』

内部設計をもとにプログラム言語を用いてプログラム(モジュール)の作成を実行します。この作業をコーディングとも呼ばれる場合はあります。

単体テスト

『モジュールごとにテストを実施する』

作成したモジュールが設計書で要求された機能を満たしているかどうかを検証します。
不具合が見つかった場合には修正をし、テスト結果のフィードバックを実施します。

単体テストの一般的な取り組みに必要な要素を簡単に解説>>

結合テスト

『各モジュールを結合してテストを実施する』

複数のモジュールを組み合わせて検証をします。主にモジュール間のインターフェイスが正しく機能するかやモジュールを結合した状態でのブラックボックステストの2つの種類を確認します。

結合テストの一般的な取り組みに必要な要素を簡単に解説>>

システム(総合)テスト

『すべてを含めた(要件定義通りか?)テストの実施をする』

システムが全体をとして要求された機能や性能を満たしているかどうかを検証します。この際、本番に近いデータを用いてテストを実施します。

システムテスト(総合テスト)の一般的な取り組みに必要な要素を簡単に解説>>

運用テスト

『実際の業務運用に沿って動作検証を実施する』

実際の業務の流れに沿って利用してみて問題なく動作するかを検証します。
本番稼働の前段階と位置づけられております。

運用テストの一般的な取り組みに必要な要素を簡単に解説>>

システム移行(リリース)

『実際の稼働環境へシステムを移す』

実際に使えるように、旧システムから新システムへと切り替えを実施する工程です。ある時点で旧システムから新システムへ一気に切り替える一斉移行や、システムの機能単位ごとに新システムへ切り替えていく順次移行などの方法があります。

システム移行の一般的な取り組み手順と必要な要素を簡単に解説>>

運用・保守

『継続して良い状態でシステム利用出来るよう、メンテンナンスを実施する』

「運用」はシステムの起動や停止、そして日々動かしていく作業を指します。運転状況の監視、CPUやメモリの利用状況などシステム資源の監視も実施します。

「保守」とはシステムを改善・変更する作業を指します。主にシステムの障害や改善要望に伴うプログラムやデータの改修を実施します。また周辺機器のリプレースやアップデートなども行います。

システム運用・保守の一般的な取り組みに必要な要素を簡単に解説>>

PROSES バナー

ウォーターフォールモデルとアジャイル開発とは?

システム開発工程において代表的な2種類の開発モデルウォーターフォールモデルとアジャイル開発について紹介します。

ウォーターフォールモデルとアジャイル開発についてそれぞれの特徴とメリットが分かる記事>>

ウォーターフォールモデル

ウォーターフォールモデルというその名は滝という名称通り、水が上から下に流れ落ちるように各工程を順番に進めて行くという意味が込められております。
前述で説明の通り開発プロセスを各工程ごとに明確に定義し一括で管理した上で、順番通りに仕上げていきます。

メリット
・全体的な計画を立てやすい
・進捗管理がしやすい
・工数管理がしやすい

デメリット
・最終フェーズまでシステムの確認が出来ない
・進行中に変更が起きた際の負担が大きい

参照:コトバンク

アジャイル開発

アジャイルというその名は「素早い」や「機敏な」という意味があります。
アジャイル開発では、システムをいくつかの機能に分割し、1ヶ月程度の短期間でユーザーが重要とみなす機能から順に作り上げて行きます。ユーザーの声を作業過程で適宜取り込みながら行えるその開発手法はまさにウォーターフォール開発の欠点を補うための手法とも呼べるでしょう。

メリット
・修正が発生しても戻る工数負担が少ない
・初期計画時の負担が少ない
・短期間での修正が可能

デメリット
・開発の方向性がブレやすい
・進捗管理が難しい

参照:コトバンク

その他の開発モデル

システム開発モデルにおいて非ウォーターフォールモデルの中でも代表的なモデルであるプロトタイプモデルとスパイラルモデルについてご紹介します。

プロトタイプモデル

プロトタイプモデルというその名は「試作機」から用いられております。
実際に本番開発に望む前に、試作機をお客様に利用してもらうことで、お客様の要望を反映し認識のズレを最小限に抑えます。本番開発前に設計や性能の検証を行えるためリスクを抑えることを目的とした開発モデルです。

メリット
・お客様との擦り合せが可能(認識のズレが少ない)
・設計の精度が高くなる
・要件漏れを防ぎやすい

デメリット
・お客様側で確認が容易な分、納得するまで先に進めない
・開発社(者)側の負担が大きい

参照:コトバンク

スパイラルモデル

スパイラルモデルというその名は開発工程が「螺旋」のように繰り返されることから用いられております。スパイラルモデルでは機能単位で”要件→設計→製造→テスト”を実行し、お客様の合意が取れた上で次の機能へ開発を進めるという特徴があります。仕様変更などに対応しやすい成長型モデルと呼ばれております。

メリット
・仕様変更に対応しやすい
・開発スケジュールの調整がしやすい
・開発単位が小さい

デメリット
・試行回数が多いため高コストになる傾向に
・システムの全貌が見えづらい

参照:コトバンク

システム開発工程の略語を覚えておこう

システム開発に関わる業界では各作業工程を略語で呼ぶ場面があります。この場合にコミュニケーションロスが発生しないようにするためにも覚える必要にある代表的な名称を表にまとめましたので是非参考までにご覧ください。

システム企画 / SP / System Planning
要件定義 / RD / Requirement Definition
基本設計 / BD / Basic Design
外部設計 / ED / External Design
内部設計 / ID / Internal Design
機能設計 / FD / Function Design
詳細設計 / DD / Detail Design
プログラム設計 / PD / Program Design
プログラミング / PG / Program
単体テスト / UT / Unit Test
結合テスト / IT / Integration Test
総合テスト / PT / Product Test
システムテスト / ST / System Test
運用テスト / OT / Operations Test

まとめ

システム開発工程における各プロセスの役割と内容を理解することはシステム開発に携わるものとしての必須条件と言えるでしょう。特にウォーターフォールモデルのプロジェクトに携わる場合には各プロセスの重要度が非常に高く、次工程への影響度も大きいです。全体像を理解し、各プロセスの要点をしっかりと抑えて作業を実施しましょう。

案件評判
常駐する会社が、実際どんな会社で、どんな案件が動いているか詳しく知りたい。
これは常駐形態で働く方なら誰もが感じていることだと思います。 常駐の働き方をされている方は是非一度「案件評判」で案件についての評判をチェックしてみてください。