For computer and applications, "architecture" is a very common and often ambiguous word. It seems certainly to be referred to complex systems, and appears often to be confused with such as structure or frameworks, planning or blueprint, approach or methodology, and so on. It can be seen that, however, there are certain reasons to using this term.
In our understanding, first, the complexity causes a huge (possibly open) optional space to the design and implementation, this requests certain ways to reduce the possibility of choice. Second, there are close relationships between the feature or style and the design or structure, process / approaches of development, transformation, even maintenance or governance. And third, the necessity of reuse in design and implementation process, for such as constructs, components, resources, procedures, and so on. Thus, there are some architectural principles can be summed, to complex systems:
- Principle to relevance of design and the implementation -- the choice of design (such as the structure and components) must be subject to the restriction of possible methods and means.
- Principle to commonality -- the design and implementation should be, as far as possibly, based on the common components or constructs which have commonality, clear applicable conditions and proven reliability.
An architecture therefrom should provide some related elements or principles which are involved in at least two aspects: one is about the what, i.e., the feature, style in the functionality, structure, or appearance characteristics, for the target system; another is about the how related to the what, i.e., the principles, methods or approaches, and resources (such as reference models frame works, common procedures, etc.) for the process of design, implement and governance of the systems.
An architecture therefrom should provide some related elements or principles which are involved in at least two aspects: one is about the what, i.e., the feature, style in the functionality, structure, or appearance characteristics, for the target system; another is about the how related to the what, i.e., the principles, methods or approaches, and resources (such as reference models frame works, common procedures, etc.) for the process of design, implement and governance of the systems. For example, ISO/IEC 42010 defined "architecture" as:
The fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.
It clearly appears above two aspects: the what (The fundamental organization of a system, embodied in its components, their relationships to each other and the environment); the how (the principles governing its design and evolution).
In addition, in context for an architecture, the goal is building a system, so, the first aspect in concerns is the former, about the what; the latter, the how, is depended on but restricting the what, when one select or compare an architecture. Some times, an architecture may only be shown on the one aspect because the elements on the other aspect will be naturally specified without demonstration, i.e., it is self-evident. Obviously, that is not in violation of above principles.
* Description to the picture: One Page in an Monograph of Architecture - From 营造法式(Yingzao Fashi), a Chinese architectural book for buildings, published in 1103 A.D. Get from the Wikimedia Commons.
Author: Tong-Ying Yu
余彤鹰 (Yu, Tong-Ying; also signed as TY or Mountriver TY Yu on Internet) is an independent consultant from China, in the fields of enterprise application, business process improvement and transition, management; has a wealth of experiences from industrial and the experiences on each main phase in the lifecycle of enterprise applications. He is committed to the innovative development and research of the application for enterprises and information systems for a long term. The research interests include model-driven applications and model working mechanisms, architectures, enterprise modeling, enterprise engineering, and general modeling theory. Since 1998, he has published many influential articles through EE-Forum.org and so on; in 2001, launched the first enterprise engineering seminar in China. Think in Models