Exploring the Concept of Systems Theoretic Stability as a Starting Point for a Unified Theory on Software Engineering
Herwig Mannaert, Jan Verelst, Kris Ven · 2008
Unlike other engineering areas, software engineering has yet to produce designs that enable automated production. This seems related to the fact that the fundamental laws for software engineering have yet to be found, leading to the belief that researchers should strive for a unified theory of software engineering. In this paper, the construction of a software engineering theory that could constitute an embryo to a unified theory is explored. The starting point of the theory is the major challenge of evolvability, and the related concept of systems theoretic stability. The basic assumptions of the theory, regarding evolvability and the related concept of modularity, are stated, and a number of definitions are presented. Based on a single postulate, five design rules or principles are deduced, proved, and explained. The results of the theory are discussed, including a brief overview of the implications on other software engineering issues like performance and testability, and a comparison with other software engineering theories, that could constitute an embryo to a unified theory.