システム開発における工程
今回はシステム開発における工程の手順と内容をご紹介します。
※ 全ての開発現場が同じ手順でないことをご了承ください
※ Webサイト・アプリ開発なども便宜的にシステム開発と同義として扱う
1. 計画・予算見積もり
まずは計画を立てます。その際に顧客などとの打ち合わせで予算や見積もりなども決定していきます。
顧客折衝などもこのフェーズに含まれます。
2. 要件定義
その名の通り、システムに必要な要件を定義します。
このフェーズでも顧客折衝が含まれる可能性もあります。
3. PoC
Proof of Concept(プルーフ・オブ・コンセプト)の略で、日本語では「概念実証」や「コンセプト実証」といいます。私はより分かりやすいように、「技術検証」と呼んでいます。
設計フェーズで、「あれ、これ技術的に実現不可能じゃね?」とならないように、先んじて要件の技術検証をしておきます。
4. 基本設計
システムの仕様、具体的な機能を明確にします。
例えば、システムに必要な機能として「ログイン機能」や「売買機能」などを記述します。
また、処理の流れを図にして全体を把握するような役割もあります。
5. 詳細設計
システムの仕様をより詳細にします。
上記の基本設計に則るなら、「ログイン機能」や「売買機能」の仕様を記述します。
例えば、用意する関数、引数、フィールド、クラス、リクエスト方法など...
6. 実装・開発
設計書に基づいて機能を実装・開発していきます。
7. 単体テスト
5. 詳細設計
に対応するテストです。
プログラムを構成する比較的小さな単位(ユニット)が個々の機能を正しく果たしているかどうかを検証するテストです。
詳細設計で記述されている機能は単体テストによって実装を確認できます。
8. 結合テスト
4. 基本設計
に対応するテストです。
複数のプログラムやモジュールを組み合わせた際に、意図したとおりに動作するかどうかを検証するテストです。
詳細設計で記述されている各機能の結合 = 基本設計の機能 は結合テストによって実装を確認できます。
9. システムテスト
3. 要件定義
に対応するテストです。
システム開発の最終段階のテストで行われることが多く、システムが問題なく要件を満たせているか全体的に確認します。
10. その他作業
このフェーズは要件によっては必要のない場合もあるでしょう。
必要なケースは例えば、データの本番移行作業などです。
11. リリース
リリースして終了です。と同時に運用保守のフェーズに入っていきます。
まとめ
以上、システム開発における工程をご紹介しましたが、これはあくまで私がいた現場に基づいて作成した手順になります。
規模によってはあるフェーズが省略されていたり、各フェーズが合体されて1つのフェーズになっていることがあるでしょう。
ご参考程度によろしくお願いいたします。