Skip to content

Module 1#

What is Software Architecture#

The architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both.

  • Many architectural decisions are made early
  • Many decisions are made early that are not architectural
  • Its hard to look at a decision and tell whether or not its "major"

Structures on the other had are fairly easy to identify in software, and they form a powerful tool for system design.

  • A structure is a set of lements held together by a relation
  • Software systems are composed of many structures, and no single structure holds claim to being the architecture.
  • There are three important categories of architectural structures
    • Module
    • Component and Connector
    • Allocation

Modules#

  • Structures can be partitioned into implementation units called modules
  • Modules are assigned specific computational responsibilities, and are the basis of work assignments

Component and Connector#

  • Other structures focus on the way the elements interact with each other at runtime to carry out the system's functions

Allocation#

  • Allocation structures describe the mapping from software structures to the system's environments

Pasted image 20220115093009.png


Tags: !SoftwareArchitecturesIndex