Learn IT

Free learning anything to everything in Information Technology.

Software Architecture - Definitions

IEEE 1471-2000

Software architecture is the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.

Booch, Kruchten, Reitman, Bittner, and Shaw

Software architecture encompasses the set of significant decisions about the organization of a software system

  • Selection of the structural elements and their interfaces by which a system is composed
  • Behavior as specified in collaborations among those elements
  • Composition of these structural and behavioral elements into larger subsystems
  • Architectural style that guides this organization

Perry and Wolf, 1992

  • A set of architectural (or design) elements that have a particular form

Boehm et al., 1995

A software system architecture comprises

  • A collection of software and system components, connections, and constraints
  • A collection of system stakeholders' need statements
  • A rationale which demonstrates that the components, connections, and constraints define a system that, if implemented, would satisfy the collection of system stakeholders' need statements

Clements et al., 1997

  • The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them

0 comments: