The document discusses developing software that matters. It aims to help build dependable, adaptable, and fun to develop software systems. It compares functionality-oriented, object-oriented, and structural problems with different approaches. It also discusses how Ada 95 addresses these issues and principles that can be applied to other languages. The document provides objectives, interesting links and books, assumptions, and background on software construction processes.