Abstract
Abstract
Axiomatic Design and Complexity Theory have primarily focused on refining the process of an abstracted need into a physical solution even under challenging conditions. The concepts have high applicability as guidelines for non-physical design, such as those found in programming and its applied field of software engineering. Software engineering came out of the software crisis of the 1960s: its goal is to deliver safe and secure software that meets its specifications on time and within its budget. The product of software engineering is a program. The program is written in a programming language that looked suitable for the problem at hand. For some time, object-oriented technology (OOT) looked popular, because it promised to address information hiding, composability, and extensibility of programs. In hindsight, OOT failed to deliver on its promises. We analyze how Axiomatic Design leads to solutions that are proposed by current programming technologies. The authors believe that different paradigms such as cohesion also need to be included.