Skip to content

Architecture

The architecture of a software-intensive system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.
comes from work done in the Software Architecture group of the Software Engineering Institute (SEI) at Carnegie-Mellon University in Pittsburgh.

System Structures: - static (design-time organization): might be modules, object-oriented classes or packages, database stored procedures, services, or any other self-contained code unit. - dynamic (runtime organization): might be messages, parallel or sequential execution of internal tasks Externally Visible System Properties: - externally visible behavior: what the system does from the view-point of external observer. It defines the functional interactions between the system and its environment. Examples: API. External behavior may be modeled by treating the system as a black box - quality properties: how the system does form the view-point of external observer. its nonfunctional characteristics. Quality property is an externally visible, nonfunctional property of a system such as performance, security, or scalability.

A good architecture is one that successfully meets the objectives, goals, and needs of its stakeholders.

References

  1. Software System Architecture Nick Rozanski, Edin Woods (software-systems-architecture-rozanski-woods)