Principles of Program Development - Abstraction, Specification, and Object-Oriented Design

Author: (American) Liskov et al.
Publisher:
Publish Date: 2006-10-01
Features: This book is written by renowned experts in programming theory and serves as the textbook for the programming practice course in the Department of Electrical Engineering and Computer Science at the Massachusetts Institute of Technology (MIT). It discusses how to construct software development methods that are highly reliable, easy to maintain, and capable of rapid modification, emphasizing the modular development approach of software. Through numerous examples, the book guides readers on how to implement modularity and organize various modules effectively to build large-scale software systems. The first eight chapters of the book introduce some highly useful abstract concepts in the field of programming, such as process abstraction, iterative abstraction, and the most important—data abstraction. Additionally, the book uses informal specifications to define these data abstractions in detail through extensive examples, describe the tasks modules need to accomplish, and define the performance boundary conditions required for modules. The last seven chapters focus on how to leverage abstraction to build large-scale software, emphasizing the content of software engineering. Based on type hierarchies, they propose debugging, testing, requirements analysis, top-down, and iterative development processes for data abstraction. The book also briefly introduces the concept of design patterns. This is a book that imparts insights, enabling readers to see beyond the surface and grasp the key principles of programming. It is highly suitable as a textbook for software colleges, capable of cultivating the abstract thinking skills of lower-division students. Furthermore, the book is also an excellent reference for software developers.

📌 Related Posts