Architecture, design, implementation
Amnon H. Eden, Rick Kazman · 2003
The terms architecture, design, and implementation are typically used informally in partitioning software specifi-cations into three coarse strata of abstraction. Yet these strata are not well-defined in either research or practice, causing miscommunication and needless debate. To remedy this problem we formalize the Intension and the Locality criteria, which imply that the distinction be-tween architecture, design, and implementation is quali-tative and not merely quantitative. We demonstrate that architectural styles are intensional and non-local; that design patterns are intensional and local; and that imple-mentations are extensional and local. If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is. — J. H. von Neumann 1.