IT-SC 15
Derived from IBM research and practice, the Zachman Framework is a traditional
architecture approach; i.e., it is decidedly non-OO. The Zachman Framework is a
reference model comprising 30 architecture viewpoints. The reference model is a matrix,
which intersects two paradigms: journalism (who, what, when, why, where, and how) and
construction (planner, owner, builder, designer, subcontractor). Architects choose from
among these viewpoints to specify a system architecture.
Open Distributed Processing
A formal standard from ISO and ITU (telecommunications), Open Distributed Processing
(ODP) defines a five-viewpoint reference model (enterprise, information, computational,
engineering, and technology). ODP defines a comprehensive set of terminology, a
conformance approach, and viewpoint correspondence rules for traceability. The product
of seven years of standards work, ODP is a recent adoption that fully supports OO and
component-based architecture. In fairness, I should note that ODP is my primary
approach to software architecture.
Domain Analysis
A process for the systematic management of software reuse, domain analysis transforms
project-specific requirements into more general domain requirements for families of
systems. The requirements then enable the identification of common capabilities, which
are used as the basis for horizontal frameworks and reusable software architectures. An
important capability of this approach is the definition of robust software designs, which
are relatively resistant to requirements and context changes.
4+1 View Model
A four-viewpoint approach is under development by Rational Software. The viewpoints
include: logical, implementation (formerly "component"), process (i.e., runtime), and
deployment. The "+1" denotes use case specifications supporting requirements capture.
This approach is closely aligned with the Unified Modeling Language and the Unified
Process.
Academic Software Architecture
Academic software architecture comprises a community of computer science researchers
and educators constituting an academic field. Their educational efforts are focused on
basics and fundamentals. In their research contributions, this community avoids proven
architectural standards and practices in order to achieve originality, theoretical formality,
and other academic goals.
Common Principles
It is often said that the principles of software are simple. For example, let's consider (1)
simplicity and (2) consistency. Architects agree that managing complexity (i.e., achieving
simplicity) is a key goal, because it leads to many architectural benefits, such as system