Foundations of Software Architecture

الوحدة 1

What is Software Architecture?

Define architecture by consequence rather than by diagram: the decisions that are expensive to reverse, why they exist, and how to tell one from an ordinary design choice.

47 min4 lessons
ابدأ الوحدة

ما ستصبح قادرًا عليه

  • Apply a concrete test for whether a decision is architectural.
  • Explain architecture in terms of quality attributes rather than components.
  • Separate architecture, design and implementation without arguing about labels.
  • Recognise the four failure modes that account for most damaged systems.
  1. 01Architecture Is What You Cannot Cheaply Undo

    Every popular definition of architecture is either circular or useless in a meeting. This one is neither: architecture is the set of decisions whose cost of reversal is high.

  2. 02Structure Serves Quality Attributes

    Structure is never the goal. It is the mechanism by which a system achieves the qualities someone is willing to pay for — and those qualities are always in conflict.

  3. 03Architecture, Design, and Implementation

    Where the line falls between the three, why arguing about the labels is a waste of time, and the one question that actually settles it.

  4. 04Four Ways Architecture Fails in Practice

    The big ball of mud, the distributed monolith, gold-plating, and the ivory tower — what each one looks like from the inside, and the early signal for each.

What is Software Architecture?

8 questions · pass at 70%