機能設計
1. 目的
機能の全体像の検討及び決定
- 機能の入出力・処理の流れなど、機能のデータ処理全体の流れを検討
- プログラム設計との差異は、プログラム設計がモジュール構造の検討を主眼にしていることに対し、機能設計では機能の論理的なデータ処理について検討すること
2. 前提条件
ユースケースが決定していること
- どのようなユーザーがどのような用途・場面で使う機能であるかが明確になっていないと設計の精度が低下する
3. 手順
(1) 入出力検討
- 設計対象機能に対する入力と出力を明確にする
- 入力・出力の形式、データ構造を検討する
- 機能が直接扱うデータだけでなく、アプリケーションログの内容についても忘れず検討すること
- 正式に定義された成果物はないが、入出力を一覧化したリストが作成されることが望ましい
(2) データ構造検討
- 入出力データの構造(ハッシュ、リスト形式etc...)
- 入出力データのフォーマット(数値、文字列、混合etc...)
- 必要であれば、処理内部の中間データについても検討する
- 正式に定義された成果物はないが、データ構造について説明する簡単なドキュメントが作成されることが望ましい
(3) 処理フローの検討
- 入力から出力までの間のデータ処理、データの流れについて検討
(4) 機能の前提条件の整理
- 設計対象機能の入出力に伴い、機能が必要とする事前条件について検討する
(5) エラー処理
(6) 文書化
(7) レビュー
- リードエンジニア(またはそれに類する者)のレビューを受ける
4 終了条件
- レビューが完了し、指摘事項について対応が決定している
参考資料