これまでの各記事は、以下から。
- 開発プロセスの捉え方について
- ソフト開発における「設計」とは何なのか。(その1) - いものやま。
- 「製造業へのたとえ」で生じる混乱
- ソフト開発における「設計」とは何なのか。(その2) - いものやま。
- 「設計書=ソースコードの説明書」なのか
- ソフト開発における「設計」とは何なのか。(その3) - いものやま。
- 「腐る設計書」問題
- ソフト開発における「設計」とは何なのか。(その4) - いものやま。
- 「ソフトウェア開発」の妥当なモデル
- ソフト開発における「設計」とは何なのか。(その5) - いものやま。
- 設計書は必要か
- Why-What-Howの構造
- ソフト開発における「設計」とは何なのか。(その1) - いものやま。
- 要件定義について
- ソフト開発における「設計」とは何なのか。(その6) - いものやま。
- 要求と要件の違い
- ソフト開発における「設計」とは何なのか。(その7) - いものやま。
- 要件定義をどうやるといいか
- ソフト開発における「設計」とは何なのか。(その8) - いものやま。
- ユースケース記述について
- 要件定義書に書くといいこと
- ソフト開発における「設計」とは何なのか。(その6) - いものやま。
- 設計について
- ソフト開発における「設計」とは何なのか。(その9) - いものやま。
- 設計書に書くといいこと
- ソフト開発における「設計」とは何なのか。(その10) - いものやま。
- アジャイル開発の話
- 実現可能性の話
- ソフト開発における「設計」とは何なのか。(その9) - いものやま。
- ソフトウェアの設計のやり方
だいぶ長くなったけど、現時点での自分の考えをある程度書き出せたかなと思う。
ポイントを少しまとめておくと、以下のような感じ:
- ソフトウェアにおける開発とは、ソースコードの差分を生み出すこと
- 開発はWhy → What → Howの順にブレークダウンしていく
- Whyは要求で、「顧客が」何を望んでいるのか
- Whatは要件で、顧客の要求を解決するために「開発者が」何を提供するのか
- Howは設計で、要件を満たすためにソースコードの差分をどう生み出すか
- 要求を満たす要件や要件を満たす設計は複数ありえる
- 取捨選択するのが要件定義や設計というプロセス
- 方向性を確認するためのコミュニケーションツールが要件定義書や設計書
- 要件定義や設計においてユースケース記述は有用
- イメージのすり合わせに使える
- ドメイン知識の抽出に使える
- ソースコードから作られる文書は設計書ではなく開発者向けドキュメント
せっかくだからもう少し整理して同人誌にしてもいいなぁ。
今日はここまで!