私たちの日常生活は、さまざまなシステムによって支えられています。
インターネットや交通、銀行や流通など・・・システム化されている分野は多岐に渡りますが、それらはどのように作られているのでしょうか?🤔
この記事では、システム開発が一般的にどのような流れで行われているのかを紹介します😊
なお、最初は「こんなことしたいな」「こんな仕組みがあると便利だな」といった企画から始まるのですが、今回は「プロジェクト開始するぞ😁」からのお話とさせていただきます。
加えて、eightはソフトウェア専門のため、ソフトウェア開発についてのみの内容となります。
システム開発の全体像
システム開発とは:
企業や組織が抱える課題を解決したり、業務を効率化したりするために、システムやプログラムを設計・開発・テストする一連の作業のこと
システム開発の基本工程を順番に、ざっくり解説します。
ソフトウェア開発工程の全体像としては、一般的に以下のような流れで進行します。
この流れを「V字モデル」と呼びます✌️
※「V字モデル」でgoogle検索すると沢山出てきますが、表現はまちまちです。
また、開発現場によっては独自の工程を設定している場合もあります。
ただ、どれも大きな違いはないので、一旦👆のような一般的な流れで覚えていただければ
問題ないと思います。
システム試験が終わったらリリース→運用・保守となります。
緑色の矢印は、対応関係を表しています。
・要件定義で規定したことが正しく実装されているか、システム試験で確認する
・基本設計で規定したことが正しく実装されているか、結合試験で確認する
・詳細設計で規定したことが正しく実装されているか、単体試験で確認する
といった具合です。
では、順番に解説します👇
工程ごとの簡単な解説
1. 要件定義
実装する機能と仕様、予算や開発日程などを定義します。
成果物:
要件定義書、システム試験仕様書
2. 基本設計(外部設計)
システムの大まかな構造と、機能どうしの繋がり(インターフェース)を決定します。
成果物:基本設計書、機能一覧、システム構成図、ER図、メモリマップ、結合試験仕様書
3. 詳細設計(内部設計)
各機能をどう実現するか、機能内の実装方法を決定します。
成果物:詳細設計書、クラス図、シーケンス図、状態遷移図、単体試験仕様書
4. 実装
基本設計や詳細設計をもとに、ソースコードを作成します。
成果物:ソースコード
5. 単体試験
詳細設計の通りに実装できているかを試験します。
成果物:単体試験結果、カバレッジ
6. 結合試験
基本設計の通りに実装できているか、機能どうしが正しく繋がっているかを確認します。
成果物:結合試験結果
7. システム試験
システム全体として、要件定義の通りに動作するかを確認します。
成果物:システム試験結果
8. リリース
試験で問題がなければ、関連部署または市場へリリースします。
試験で問題を検出したとしても、仕様を満足していてユーザへの影響が無い場合、
そのままリリースする判断をする場合もあります。
9. 運用・保守
リリースしたらそれで終わり、ではありません。
システムがその後も問題なく運用できるよう点検したり、
問題発生すれば原因を特定し、対処する必要があります。
システム開発工程の担当範囲
開発の全体像はわかったけど、システムエンジニアは全てを担当するんだろうか?🤔
実は、全てとは限りません。システムの規模が大きくなるほど、多くの企業が携わることになります。
プロジェクト開始時には、開発に携わる企業や担当者と、それぞれの担当箇所が決定されます。
全ての工程を1つの企業で行う場合もあれば、一部または全部を他の企業へ委託することもあります。
特に、全ての工程を一貫して請け負う企業を「SIer(エスアイヤー)」と呼びます。
さいごに
本当にざっくり説明でしたが、システム開発の流れはイメージできたでしょうか?
次回以降、各工程の詳細についてもお話しできればと思っています。
それでは本日はここまでとさせていただきます。
ありがとうございました☺️
コメント