Developing Real World Software
Ideal for use in a software engineering lab or special topics setting, Developing Real World Software is a practical guide for developing useful, real world software applications that are high performing, secure, reliable, and configurable. It expands upon material presented in traditional software engineering texts and focuses on key principles from a practical application development perspective so that students can experience all aspects of the process first-hand. The theme of encapsulation is stressed throughout the book as it explains how it can be utilized to tremendously improve the understandability of large real world programs.
Richard Schlesinger, Developing Real World Software (Burlington: Jones & Bartlett Publishers, 2009).