Architect TOGAF Logo

What is architecture?

What is enterprise architecture?

What is the Zachman Framework?

What is systems architecture?

What is software architecture?


Reduce the risk of software failure...
Would you ask a brick-layer to design your house?
I am committed to practical architecture-driven software construction, married with usage-driven software construction.


Return to Christo van Rensburg's Homepage.

Solution architecture (within or without enterprise architecture) is an architecture domain that aims to address specific problems and requirements, usually through the design of specific information systems or applications. Solution architecture is either:
  • Documentation describing the structure and behaviour of a solution to a problem, or
  • A process for describing a solution and the work to deliver it.

    Enterprise Architecture
    Enterprise Architecture identifies the main components of an organization and how components in the organization's nervous system function together to achieve business objectives. These components include personnel, business processes, technology, financial information, and other resources.

    Enterprise Architecture is generally defined in terms of its constituent architectures. Enterprise Architecture is the collection of strategic and architectural disciplines that encompass the Information, Business System, and Technical Architectures.

  • Information architecture [or Data architecture] is the structure (including interdependencies and relationships) of information required and in use by the organization. (*)
  • Business systems architecture defines the structure and content (information and function) of all business systems in the organization.
  • The technical (or infrastructure) architecture describes and maintains the integrity of the hardware, software, and infrastructure environment required to support the business systems architecture and the information architecture - or the "platform".
  • Application (or software) architecture is the set of significant decisions about the organization (structure) of a software system, and the architectural style that guides this organization.

    (*) The term "Information architecture" is often used pertaining to web site design, to describe the discipline of designing navigation systems, labeling systems, organization systems, indexing, searching methods, and methaphors for large webs sites. In the field of Enterprise Architecture, the term Data Architecture is more commonly used instead of Information architecture.

    Zachman Framework
    John Zachman is seen as the father of
    Enterprise Architecture. The Zachman Framework is a classification schema used to organize an enterprise's artifacts and help facilitate thinking, reasoning, and communicating among the participants in the enterprise. It is an approach to structured technology development.

    The Zachman Framework is NOT the only Enterprise Architecture Framework. I am presenting it as an example here, because it is better known and more often implemented than other frameworks such as TOGAF. The Zachman Framework is widely adopted - and widely adapted. Usually other frameworks such as TOGAF can be related to the Zachman Framework, and often similar activities are conducted and similar artifacts are produced. In the representation below, I have compared the Zachman Framework (in Silver) with the traditional SLDC (Systems Development Life Cycle) (in Gray).

    The Zachman Framework is organized as a 6×6 matrix - 36 cells in all. In my representation below, I indicated which cells I feel more comfortable operating in at this time. These are the green and the blue cells. I have a slight preference for the green cells over the blue cells, and feel slightly more comfortable with the cells in the darker colours as opposed to the cells in the lighter hues.

    Traditional SLDC Equivalent Zachman Framework Data (What) Function (How) Network (Where) People (Who) Time (When) Motivation (Why)
    Strategic Planning Scope
    - Planner
    (Contextual Level)
    (Ballpark View)
    List of entities (things) important to the business
    Data Steward
    List of processes the business performs
    Business Analyst
    List of locations in which the business operates
    Logistics Analyst, Hardware Analyst, Communication Analyst
    List of organizations important to the business
    Business Analyst
    List of events / cycles significant to the business
    Data Steward, Business Analyst
    List of business goals / strategies
    Data Architect, Software Architect, Technology Architect, Business Analyst
    (Transition) Requirements Analysis Business Model -
    Owner
    (Conceptual Level)
    (Owner's View)
    Language, Conceptual data model (Semantic Model)
    Data Steward, Data Architect
    Business process model
    Business Analyst, Systems Analyst, Software Architect
    Business logistics model
    Technology Architect, Network Architect, Business Analyst
    Work flow model, Organization chart
    Business Analyst, Systems Analyst, Data Architect
    Master schedule, State / transition diagram
    Data Steward, Data Architect, Systems Analyst
    Business plan, tactics, policies, rules
    Data Architect, Software Architect, Technology Architect, Business Analyst
    Requirements Analysis System Model -
    Designer
    (Logical Level)
    (Designer's View)
    Logical data model
    Data Steward, Data Architect, Data Warehouse Architect, Database Designer / Administrator
    Application architecture, Data flow diagram
    Business Analyst, Systems Analyst, Software Architect
    Distributed system architecture, Location of roles
    Technology Architect, Network Architect
    Human interface architecture, Use cases
    Business Analyst, Systems Analyst, Data Architect, Software Architect
    Processing structure, Entity life history
    Data Steward, Data Architect, Systems Analyst
    Business rule model
    Data Architect, Software Architect, Technology Architect, Business Analyst, Systems Analyst
    Design Technology Model
    - Builder
    (Physical Level)
    (Builder's View)
    Physical data model Database design
    Data Steward, Data Architect, Data Warehouse Architect, Database Designer / Administrator
    Systems design, Program structures
    Programmer, Tester, Web Designer
    Technology architecture, Hardware, software distribution
    Network Engineer, Systems Administrator, Network Administrator, Systems Programmer, Middleware Programmer
    Presentation architecture, User interface, security design
    Business Analyst, Systems Analyst, Data Architect, Software Architect, Security Administrator, Web Designer
    Control structure
    Web Designer, Data Steward, Data Architect, Systems Analyst, Software Architect
    Business rule design
    Web Designer, Data Architect, Software Architect, Technology Architect, Business Analyst, Systems Analyst, Programmer Analyst
    Construction Detailed Representation
    - Subcontractor
    (Out of Context)
    (Subcontractor's view)
    Physical storage design, Data definitions
    Database Administrator
    Detailed program design
    Programmer, Tester, Web Master
    Network architecture, protocols
    Network Engineer, Systems Administrator, Network Administrator, Systems Programmer, Middleware Programmer, Tester
    Security architecture, Screens
    Programmer, Security Administrator, Webmaster, Tester
    Timing definition
    Programmer, Webmaster, Tester
    Rule specification logic
    Programmer, Database Administrator, Webmaster, Tester
    Production Functioning System
    (Actual)
    Converted data
    Database Administrator, Technical Support
    Executable programs
    Configuration Manager, Technical Support
    Communication facilities / Network
    Systems Administrator, Network Administrator, Technical Support
    Trained people / Organization
    Security Administrator, Technical Support
    Business events / Schedule
    Systems Administrator, Technical Support
    Enforced rules / Strategy
    Programmer, Database Administrator, Technical Support

    Systems Architecture
    Systems architecture can best be thought of as both a process and a discipline to produce efficient and effective information systems. It is a process because a set of steps is followed to produce or change the architecture of the system. It is a discipline because a body of knowledge informs people as to the most effective way to design.

    A system is an interconnected set of machines, applications, and network resources. System architecture unifies that set by imposing structure on the system. More importantly, this structure aligns the functionality of the system with the goals of the business.

    The basic purpose of systems architecture is to support the higher layers of the enterprise architecture. The fundamental purpose is to support the business objects of the enterprise.

    Software Architecture
    The software architecture of a system or collection of systems consists of the important design decisions about the software structures and the interactions between those structures that comprise the systems. These design decisions support a desired set of qualities that the system should support to be successful. The design decisions provide a conceptual basis for system development, support, and maintenance.

    Software architects decide how the structure will look and act. Software engineers make the structure sound.

    Just as in building architecture, software architecture marries technology and function with human aesthetics and productivity to determine how the structure will look and feel to the inhabitants. Software architecture strives to meet human needs, solve human problems, and enhance human activity via design.

  • (c)1998-2013 All Rights Reserved