システム開発の工程(ウォーターフォール)
-
要件定義(要求定義)
- 新しく開発するシステムにどんな要素を盛り込みたいか明確にする
- 予算や人員、期間を計画していく
- システム開発を行う目的やターゲットについて打ち合わせを行う
- 特にウォーターフォールでは最初の打ち合わせで決定する計画こそが重要となり、システム開発の最終的な完成に相違がないように打ち合わせでしっかり認識を合わせる必要がある
-
外部設計
- 要件定義をもとにユーザーインターフェースを設計する
- ユーザーの使い勝手に直結するので打ち合わせの内容をしっかり詰める
-
内部設計
- 外部設計が決まったら内部のプログラミングの設計。開発者側の視点でシステムの設計をする。
-
プログラミング
- 内部設計を元にプログラムの作成を行う
-
単体テスト
- 実際に作成したプログラムの一つ一つが要件定義の基準を満たしているかを確認する。
- 単体テストではモジュールごとにテストする。
-
結合テスト
- 複数のプログラムを組み合わせた状態でそれらがうまく機能するかの検証をする
- データの受け渡しの際にプログラムが正常に連携するかなど。
-
システム総合テスト
- 全てを含めたシステム全体のテストを行う。すべてのプログラムが要件定義の通りに動くの確認する工程。多くのアクセスへの耐久性や処理速度のテストなど。
-
運用テスト
- 無事システムテストをクリアしたら実際の業務取り入れられるかのテストを行う
- 実際の環境下でシステムに不具合がないかを確認する。
- 実用性に重点をおいてテストする
-
システム移行
- システムを実際に使えるように移行する工程。
- 一気に切り替える一斉移行、徐々に切り替える順次移行などがある。
-
運用・保守
- 運用に問題ないようメモリの利用状況などを確認する工程。
- よりよい状態で使えるように随時アップデートを行う。
- 持続的にシステムを活用し続けるために常にシステムを監視する必要がある
開発手法
ウォーターフォール
上記のように上流工程から下流工程へ、順に行っていく。
💡 メリット- 進捗状況の把握が容易
- 計画的に工程が進むため品質が担保しやすいということ
- スケジュール管理が必要な大規模なシステム開発に向いている
- 開発に時間を要する
- スピード感が重要な新規事業には向いていない
アジャイル
ウォーターフォールのような工程を順に行う決まりはなく、スピード感のある開発方法。
全体を作りつつ随時変更や修正を行っていく。とりあえず作って、修正を加えながら開発をしていく。
💡 メリット
- スピーディーな事業展開が求められる新規事業に向いている
- 素早く成果物をつくることができる
- 全体像のわかりずらい大規模なシステムには向いていない
覚えておきたい略語
💡 **システム開発用語の略語** **企画 / SP** **要求分析 / SA** **システム方式設計要求分析 / SA** **要求分析 / SA** **要件定義 / RD–UI** **基本設計 / UI** **基本設計 / BD** **構造設計 / SS** **機能設計 / FD** **詳細設計 / DD** **詳細設計 / PD** **詳細設計 / PS** **プログラム設計 / PD** **コーディング / CD** **プログラミング / PG** **総合テスト / PT** **運用テスト / OTO**とりあえず工程について復習ついでにまとめてみた。
書いてる最中に地震&停電でびっくりした、、、