■勉強の目的
■現状の課題
・各工程でやるべきことを標準化できていない、漏れる
・なぜそれをそのフェーズでやるのかの自分なりの理解を語れない
■現状の自分の理解
0.どのようなフェーズが存在しているのか
1.要件定義
2.基本設計
3.詳細設計
4.開発
5.単体検証
6.結合検証
7.総合検証
8.ユーザー検証
1.要件定義は何のために何をすることなのか
目的:
・業務や既存関連システムの構造の把握、設計対象の範囲と納期と必要コストの把握
何を:
<業務要件>
・一連の業務の完了基準は何か(ex.正しい給与計算結果の社員への公開)
・業務フロー(業務のINとOUT、業務の分岐パタン)の整理
・誰が業務を行うのかの確認
・どの部分をシステム化するのか
・各業務はどういう情報をどのように変化させることを目的にしているか
・各業務の業務タイミング
・次月の業務サイクルに移る際の留意事項(ex.最新→過去に移すかどうか)
・既存関連システムの制約事項の確認(ex.差分連携が必要か?)
・データの保管や速度など非機能的な要望の確認
<プロジェクト要件>
・導入スケジュールの確定
・工程定義
・成果物定義
・役割分担定義
・変更管理ルール定義
・設計対象の確定
・工数見積もり
2.基本設計は何を何のためにすることなのか
目的:
・ある業務を実現するためにシステムがどのようなふるまい(状態遷移、データ遷移)
をするべきか/実現可能かを決めて、顧客と合意すること
・詳細設計可能な単位に設計を分割すること(サブシステムの役割分担の差配。また、要件が漏れないように注意!)
何を:
・各業務におけるデータ遷移を定めること(どのようなレコードのどのような属性をどのように追加/更新/削除/演算するのか)
・画面操作を伴うものは画面レイアウトと画面遷移を定めること
・データベースの論理設計(ex.ER図の作成)
3.詳細設計は何を何のためにすることなのか
目的:
・あるふるまいをするための実現方法を定めること
何を:
・あるINからあるOUTをもたらすためにはどのようなプログラムを書けば実現できるのか設計する
(ex.要件:社員属性が何々の社員について、当年度の勤怠実績を累計して連携したい →
基本設計:IFの連携PGで、データベースから各月の勤怠実績を出力して、当年度の勤怠実績を累計する →
詳細設計:IFの連携PGで集計対象を当年度に絞って集計する方法(ex.レコード限定キーと条件、集計キー)の実装方法を規定する
)
4.開発は何を何のためにすることなのか