Skip to content

Architecture

Software architecture is the structure of a software, like a program or an Operating System. It defines main modules, components and elements, but also the relationships and interaction between them.

The whole architecture can't be described by on model, it always focus on specific pieces, themes or domains.

Definitions

  • Architectural style: high-level design pattern. Usually independent of the domain. Define more what we want to achieve
  • Design pattern: concrete and reusable solutions to a commonly problem. Usually closer from the code. More domain specific, define how we want to achieve.
  • Paradigm: classify programming language based on their features.
  • Principle: general and highly abstracted concept, rule of thumb
  • Representation model: visual overview of a system or a part of it

Keep in mind it's not official definitions, but rather a quick reminder on each concept's role.

ADL

An Architecture Description Language (ADL) provides features to model a system's conceptual architecture.

Resources