소프트웨어 공학은 신뢰성 있는 고품질의 소프트웨어를 효율적인 비용으로 개발하고 이를 운용·유지보수·폐기하는 전 과정에 적용되는 시스템적 접근 방안을 의미한다. 소프트웨어 공학의 영역은 소프트웨어 개발에 관련된 소프트웨어 요구사항, 설계, 개발, 테스트, 유지보수 영역과 개발 지원 및 조직화와 관련된 형상 관리, 프로젝트 관리, 소프트웨어 프로세스, 품질 등으로 구성된다. 이 책은 소프트웨어 공학의 전 영역을 이해하기 쉽게 설명하는 동시에, 최신 흐름을 반영해 UML 2.0, Agile, SOA 등 개발 방법론, 테스트 기법, 정보시스템 감리, SWEBOK 등 공학적 기법에 관해서도 소개한다.