1. 8

  2. 1

    Well written IMHO. One thing I would add is that an architecture is not only the result of design decisions, but also those imposed on the architecture through “constraints”. These include non-functional requirements of the product or project, as well as those related to group, industry, regulation or corporate policy.

    let’s define an architecture as a collection of components combined together via connectors.

    Not sure I would agree with this architecture definition and the use of the terms “components” and “connectors”.

    My suggestion is that a software architecture is the result of decisions made in fulfilling its functional and non-functional requirements, and constraints.