TL;DR

ソフトウェア全体をすっきりした形に整えること。現場で役立つシステム設計の原則では、次のように説明している。

ソフトウェア全体をすっきりした形に整えること。
どこに何が書いてあるかを分かりやすくし、修正や拡張が楽で安全になるコードを生み出す。

なぜ必要か

どこに何が書いてあるかが分かりやすくなると、コードの修正や拡張が楽になり、安全に行えるようになる。

仕組み

英語版 Wikipedia によると、ソフトウェア設計は、ソフトウェアシステムを実装・修正する前に、それがどう動くかを考える過程である。要求分析がシステムの「何をするか」を決めるのに対して、設計は「どう実現するか」を決める。そのため、設計は要求分析のあとで、コーディングの前に行う活動とされる。

注意点

英語版 Wikipedia では、計画や要求分析なしに、コーディングしながら設計することもできるが、複雑なプロジェクトではそれが難しくなるとしている。

関連

出典