いものやま。

雑多な知識の寄せ集め

ソフト開発における「設計」とは何なのか。(まとめ)

これまでの各記事は、以下から。

だいぶ長くなったけど、現時点での自分の考えをある程度書き出せたかなと思う。

ポイントを少しまとめておくと、以下のような感じ:

  • ソフトウェアにおける開発とは、ソースコードの差分を生み出すこと
  • 開発はWhy → What → Howの順にブレークダウンしていく
    • Whyは要求で、「顧客が」何を望んでいるのか
    • Whatは要件で、顧客の要求を解決するために「開発者が」何を提供するのか
    • Howは設計で、要件を満たすためにソースコードの差分をどう生み出すか
  • 要求を満たす要件や要件を満たす設計は複数ありえる
    • 取捨選択するのが要件定義や設計というプロセス
    • 方向性を確認するためのコミュニケーションツールが要件定義書や設計書
  • 要件定義や設計においてユースケース記述は有用
    • イメージのすり合わせに使える
    • ドメイン知識の抽出に使える
  • ソースコードから作られる文書は設計書ではなく開発者向けドキュメント

せっかくだからもう少し整理して同人誌にしてもいいなぁ。

今日はここまで!