Design Docについて
基本的な考え方
- 概念的な整理をしつつ、INとOUT、およびINからOUTを生成するために何を行うか(どのように(= 実装)ではなく)を論理的に明確にする
- システムは全てI/O
ステップ
- 要件/要望(why, what)を整理する
- それらを実現するために必要な機能を整理する
- 各機能のI/Oを整理する
- INからOUTを生成するために何を行うかを整理する
ひな形
- 要件/要望
- 前提
- スコープ
- 対応方針
- 概念モデル(クラス図)
- 既存機能の変更の場合は別で新旧の比較で作るものよい
- おおまかな処理の流れ(シーケンス図)
- APIの変更
- インターフェース追加/変更
- その他の変更
- リリース計画
- 各機能のリリースに加え、下記の検討も行う
- データマイグレーション
- 非機能要件
- 脆弱性診断の有無
- 負荷試験
- 監視設定
- 実装寄りなメモ
- DBのスキーマ設計を早めに議論しておきたい場合など
- 残検討事項
その他注意点
- 物理名が出てきたら、細部に入りすぎて全体感を見失っていないか立ち止まって確認