System Architecture is organized in four Parts:
- Part 1: Introduction to System Thinking (Chapters 1-3) introduces the principles of systems thinking, then outlines the tools for managing complexity.
- Part 2: Analysis of System Architecture (Chapters 4-8) is focused on the analysis of architecture. We provide an in depth exploration of form in an effort to separate it from function, and then we deconstruct function.
- Part 3: Creating System Architecture (Chapters 9-13) is focused on the creation of architecture through decision making. It works through the forward process of identifying needs through to choosing an architecture.
- Part 4: System Architecture as Decisions (Chapters 14-16), explores the potential of a variety of computational methods and tools to help the architect reason through decisions.
1. Introduction to System Architecture
- Architecture of Complex Systems
- The Advantages of Good Architecture
- Learning Objectives
- Organization of the Text
2. System Thinking
- 2.1 Introduction
- 2.2 Systems and Emergence
- 2.3 Task 1: Identify the System, Its Form, and Its Function
- 2.4 Task 2: Identify Entities of a System, Their Form, and Their Function
- 2.5 Task 3: Identify the Relationships among the Entities
- 2.6 Task 4: Emergence
- 2.7 Summary
3. Thinking about Complex Systems
- 3.1 Introduction
- 3.2 Complexity in Systems
- 3.3 Decomposition of Systems
- 3.4 Special Logical Relationships
- 3.5 Reasoning through Complex Systems
- 3.6 Architecture Representation Tools: SysML and OPM
- 3.7 Summary
4. Form
- 4.1 Introduction
- 4.2 Form in Architecture
- 4.3 Analysis of Form in Architecture
- 4.4 Analysis of Formal Relationships in Architecture
- 4.5 Formal Context
- 4.6 Form in Software Systems
- 4.7 Summary
5. Function
- 5.1 Introduction
- 5.2 Function in Architecture
- 5.3 Analysis of External Function and Value
- 5.4 Analysis of Internal Function
- 5.5 Analysis of Functional Interactions and Functional Architecture
- 5.6 Secondary Value-Related External and Internal Functions
- 5.7 Summary
6. System Architecture
- 6.1 Introduction
- 6.2 System Architecture: Form and Function
- 6.3 Non-idealities, Supporting Layers, and Interfaces in System Architecture
- 6.4 Operational Behavior
- 6.5 Reasoning about Architecture Using Representations
- 6.6 Summary
7. Solution-Neutral Function and Concepts
- 7.1 Introduction
- 7.2 Identifying the Solution-Neutral Function
- 7.3 Concept
- 7.4 Integrated Concepts
- 7.5 Concepts of Operations and Services
- 7.6 Summary
8. From Concept to Architecture
- 8.1 Introduction
- 8.2 Developing the Level 1 Architecture
- 8.3 Developing the Level 2 Architecture
- 8.4 Home Data Network Architecture at Level
- 8.5 Modularizing the System at Level
- 8.6 Summary
9. The Role of the Architect
- 9.1 Introduction
- 9.2 Ambiguity and the Role of the Architect
- 9.3 The Product Development Process
- 9.4 Summary
10. Upstream and Downstream Influences on System Architecture
- 10.1 Introduction
- 10.2 Upstream Influence: Corporate Strategy
- 10.3 Upstream Influence: Marketing
- 10.4 Upstream Influence: Regulation and Pseudo-Regulatory Influences
- 10.5 Upstream Influence: Technology Infusion
- 10.6 Downstream Influence: Implementation—Coding, Manufacturing, and Supply Chain Management
- 10.7 Downstream Influence: Operations
- 10.8 Downstream Influence: Design for X
- 10.9 Downstream Influence: Product and System Evolution, and Product Families
- 10.10 The Product Case: Architecture Business Case Decision (ABCD)
- 10.11 Summary
11. Translating Needs into Goals
- 11.1 Introduction
- 11.2 Identifying Beneficiaries and Stakeholders
- 11.3 Characterizing Needs
- 11.4 Interpreting Needs as Goals
- 11.5 Prioritizing Goals
- 11.6 Summary
12. Applying Creativity to Generating a Concept
- 12.1 Introduction
- 12.2 Applying Creativity to Concept
- 12.3 Develop the Concepts
- 12.4 Expand the Concepts and Develop the Concept Fragments
- 12.5 Evolve and Refine the Integrated Concepts
- 12.6 Select a Few Integrated Concepts for Further Development
- 12.7 Summary
13. Decomposition as a Tool for Managing Complexity
- 13.1 Introduction
- 13.2 Understanding Complexity
- 13.3 Managing Complexity
- 13.4 Summary
14. System Architecture as a Decision-Making Process
- 14.1 Introduction
- 14.2 Formulating the Apollo Architecture Decision Problem
- 14.3 Decisions and Decision Support
- 14.4 Four Main Tasks of Decision Support Systems
- 14.5 Basic Decision Support Tools
- 14.6 Decision Support for System Architecture
- 14.7 Summary
15. Reasoning about Architectural Tradespaces
- 15.1 Introduction
- 15.2 Tradespace Basics
- 15.3 The Pareto Frontier
- 15.4 Structure of the Tradespace
- 15.5 Sensitivity Analysis
- 15.6 Organizing Architectural Decisions
- 15.7 Summary
16. Formulating and Solving System Architecture Optimization Problems
- 16.1 Introduction
- 16.2 Formulating a System Architecture Optimization Problem
- 16.3 NEOSS Example: An Earth Observing Satellite System for NASA
- 16.4 Patterns in System Architecting Decisions
- 16.5 Formulating a Large-scale System Architecture Problem
- 16.6 Solving System Architecture Optimization Problems
- 16.7 Summary