A groundbreaking book in this field, Software Engineering Foundations: A Software Science Perspective integrates the latest research, methodologies, and their applications into a unified theoretical framework. Based on the author's 30 years of experience, it examines a wide range of underlying theories from philosophy, cognitive informatics, denotational mathematics, system science, organization laws, and engineering economics. The book contains in-depth information, annotated references, real-world problems, heuristics, and research opportunities.
Highlighting the inherent limitations of the historical programming-language-centered approach, the author explores an interdisciplinary approach to software engineering. He identifies fundamental cognitive, organizational, and resource constraints and the need for multi-faceted and transdisciplinary theories and empirical knowledge. He then synergizes theories, principles, and best practices of software engineering into a unified framework and delineates overarching, durable, and transdisciplinary theories as well as alternative solutions and open issues for further research. The book develops dozens of Wang's laws for software engineering and outlooks the emergence of software science. The author's rigorous treatment of the theoretical framework and his comprehensive coverage of complicated problems in software engineering lay a solid foundation for software theories and technologies. Comprehensive and written for all levels, the book explains a core set of fundamental principles, laws, and a unified theoretical framework.