Podcast
Questions and Answers
According to the definition by Clements et al, what constitutes a software architecture?
According to the definition by Clements et al, what constitutes a software architecture?
- A collection of software elements without relations
- The set of structures needed to reason about the system (correct)
- Externally visible properties of software elements
- A single structure needed to reason about the system
What is the focus of documenting a software architecture?
What is the focus of documenting a software architecture?
- Documenting the system's design goals
- Documenting the structures, elements, and their relations (correct)
- Documenting the software architecture bibliography
- Documenting the externally visible properties of software elements
Which of the following is a characteristic of software architecture according to Bass, Clements, and Kazman?
Which of the following is a characteristic of software architecture according to Bass, Clements, and Kazman?
- It comprises software elements, their externally visible properties, and relationships among them (correct)
- It is limited to a single structure
- It only considers system design goals
- It is composed of hardware elements
What is the purpose of defining software architecture?
What is the purpose of defining software architecture?
What is the significance of structures in software architecture?
What is the significance of structures in software architecture?
What does the term 'externally visible' properties refer to?
What does the term 'externally visible' properties refer to?
What information does an architecture omit about elements?
What information does an architecture omit about elements?
What is the primary concern of architecture in a system?
What is the primary concern of architecture in a system?
What can be said about the structure of a system?
What can be said about the structure of a system?
What type of structure focuses on the way the system's functionality is divided up and assigned to implementation teams?
What type of structure focuses on the way the system's functionality is divided up and assigned to implementation teams?
Study Notes
Software Architecture Definitions
- The SEI has compiled a list of modern, classic, and bibliographic definitions of software architecture.
- Modern definitions are from Software Architecture in Practice and ANSI/IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software-Intensive Systems.
- Classic definitions appear in prominent or influential books and papers on architecture.
- Bibliographic definitions are taken from papers and articles in the software architecture bibliography.
Definition 1: Documenting Software Architectures
- The set of structures needed to reason about the system, comprising software elements, relations among them, and properties of both.
- This definition emphasizes the plurality of structures present in every software system.
- Structures consist of elements, relations among the elements, and the important properties of both.
- Documenting a structure entails documenting these components.
Definition 2: Software Architecture in Practice
- The software architecture of a program or computing system is the structure or structures of the system, comprising software elements, externally visible properties, and relationships among them.
- "Externally visible" properties refer to those assumptions other elements can make of an element, such as its provided services, performance characteristics, fault handling, shared resource usage, and so on.
- Architecture defines elements and embodies information about how the elements relate to each other.
- Architecture omits certain information about elements that does not pertain to their interaction.
- An architecture is foremost an abstraction of a system that suppresses details of elements that do not affect how they use, are used by, relate to, or interact with other elements.
- Elements interact with each other by means of interfaces that partition details about an element into public and private parts.
- Architecture is concerned with the public side of this division; private details of elements are not architectural.
- Systems can and do comprise more than one structure, and no one structure holds the irrefutable claim to being the architecture.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Explore the different definitions of software architecture, including modern, classic, and bibliographic definitions from various sources.