This clear, in-depth presentation examines each stage of the software engineering process, supported by numerous case studies in Modula-2 and Ada. Geared to computer science undergradutes. Discusses software specifications, design, implementation, testing, and maintenance. Emphasis is on object-oriented design and modular software construction. Summary sections and exercises are provided with each chapter.