Software Architecture

Articles on software architecture design and the Unified Architecture Process (UAP): the scope of architecture, why design needs a methodology, architectural drivers, and the UAP activities. Each article is also available as a PDF.

How Comprehensive Should Software Architecture Be?

How comprehensive should software architecture be? This article examines software architecture through ISO/IEC/IEEE 42010 and explains why large-scale and AI-based systems require multiple architecture views, quality-driven design, and sufficient technical detail.

Why Software Architecture Design Needs a Methodology

Software architecture design involves complex decisions across requirements, system structure, quality attributes, technologies, documentation, and evaluation. This article explains why a systematic methodology is needed and illustrates its application through the Unified Architecture Process.

From SRS Requirements to Architectural Drivers

An SRS provides important input to architecture design, but it is not equivalent to the architectural driver set. This article explains three important gaps—architecturally significant information absent from the SRS, requirements requiring refinement, and documented requirements that have little architectural consequence—and shows how architects construct a more complete set of architectural drivers.

Introducing the Unified Architecture Process

Software architecture design is still often an implicit, experience-dependent practice whose results vary with the individual architect. This article introduces the Unified Architecture Process (UAP) and explains how its process model, instructions, and checklists make architecture design systematic, repeatable, and traceable.