책소개
		이 도서는 “좋은 소프트웨어 설계는 단순하고, 이해하기 쉬워야 한다”는 관점에서 소프트웨어 설계와 프로그래밍에 관한 방법과 규칙을 설명한다. 이를 통해서, 소프트웨어 프로젝트 계획 수립과 소프트웨어 관련 의사를 결정하는 방법을 배울 수 있다. 
사실 이 도서는 소프트웨어 개발을 다루지만 프로그램 코드는 거의 없다. 책에서 제안하는 원리들이 프로그래밍 언어와 상관없이 모든 프로젝트에 적용되어야 하기 때문이다. 특정 언어를 알아야만 프로그래밍 언어에 적용되는 내용을 이해할 수 있는 것은 아니다. 하지만 각 원리를 쉽게 이해할 수 있도록 이 책 전반에 걸쳐 실제사례와 유사한 내용을 사용했다. 무엇보다도 이 책은 여러분과 여러분의 소프트웨어에 도움이 될 것이며, 소프트웨어 개발 분야에 이성, 질서, 단순함을 실현시켜 줄 것이다.
	 
	
		목차
		1장. 들어가며 
__1.1 왜 단순화인가? 
__1.2 소프트웨어 설계 
2장 소프트웨어의 목적 
__2.1 실제 애플리케이션 
3장 소프트웨어의 미래 
__3.1 소프트웨어 설계 방정식 
__3.2 설계의 질 
__3.3 예측할 수 없는 결과 
4장 변경 
__4.1 실제 프로그램에서의 변경 
__4.2 결점 세 가지 
__4.3 점진적 개발과 설계 
5장 결함과 설계 
__5.1 이 규칙이 깨진다면 
__5.2 반복하지 마라 
6장 단순함 
__6.1 단순화의 법칙과 소프트웨어 설계 방정식 
__6.2 단순함은 상대적이다 
__6.3 얼마나 단순해야 하는가? 
__6.4 일관성 
__6.5 가독성 
__6.6 단순화는 설계가 필요하다 
7장 복잡성 
__7.1 복잡성과 목적 
__7.2 나쁜 기술 
__7.3 복잡성과 잘못된 솔루션 
__7.4 복잡한 문제들 
__7.5 복잡성 다루기 
__7.6 재작성 
8장 테스트 
부록 A 소프트웨어 설계 법칙 
부록 B 사실, 법칙, 규칙, 정의