# 開発計画手順 ## 目的 システム開発においてどのような工程があり、どのようにして成果物を作成するかのメモ。 ※全ての工程を行えばいいというものではない。 ## 各工程 |工程|概要|成果物| |:-:|:-|:-:| |ビジネス検討|一般的には要求定義と呼ばれることが多い工程。 <br> 前半:事業としての戦略やビジネスの仕立てを考える <br> 後半:開発に対する要求(=何をシステムで実現するのか)をまとめて、見積もりを出す | <ul><li>初期ワイヤーフレーム(WF)</li><li>業務フロー(ユースケース)</li><li>サイトストラクチャ/画面一覧</li></ul>| |要件定義|要求を元に要件(=どうシステムで実現するのか) を定義していく。 <br> 要求をすべて実現できるとは限らないので、開発スコープをここで調整するのも重要な仕事となる。<br> 具体的には要求を機能要件/非機能要件のひとつひとつに細分化してまとめていくのが主となる。|<ul><li>要件定義書</li><li>システム全体図</li><li>機能一覧</li><li>ER(概念/論理)</li><li>画面仕様書</li>| |設計|一般的には外部設計/内部設計という考え方がある。<br><ul><li>外部設計<ul><li>基本的にユーザーに向けた仕様を設計する</li><li>操作画面や操作方法、データ出力など、ユーザーから見えるインターフェース部分の仕様</li></ul></li><li>内部設計<ul><li>詳細設計ともいう</li><li>システム内部の動作や機能、物理データなど、ユーザーから見えにくい詳細な部分の設計</li></ul>|<ul><li>ER図(物理モデル)</li><li>INDEX設計(DB)</li><li>インフラ機能設計/非機能設計</li><li>API IF処理仕様書</li><li>画面処理仕様書</li><li>バッチ設計書</li>| |実装/UT|サービスの中身を作っていく。<br>単体テストは単画面/単機能テスト。|<ul><li>ソースコード</li><li>単体テスト実施結果</li></ul>| |サブ内テスト|サブシステムが要件通りに動作するかテストを行う。|<ul><li>テスト計画書</li><li>テストケース</li><li>テスト実施結果</li></ul>| |サブ間テスト|システム全体を対象としたシステムテスト。<br>各モジュールを連携した状態で要件通りに動作するかテストするかテストを行う。|<ul><li>テスト計画書</li><li>テストケース</li><li>テスト実施結果</li></ul>| |移行リハ|移行のためのリハーサルで、ステージング環境などで行う。|<ul><li>移行/リリース計画書</li><li>リリースタイムチャート</li></ul>| |受け入れ|実際に使うことが出来るシステムができたかの確認を行うユーザーテスト。<br>QAチームなどが担当する場合がある。|<ul><li>テスト計画書</li><li>テストケース</li><li>テスト実施結果</li></ul>| |リリース|この段階でmasterマージを行う。||