Software Architecture Definition
10 Questions
4 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

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?

  • 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?

  • 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?

    <p>To achieve and reason about the system's design goals</p> Signup and view all the answers

    What is the significance of structures in software architecture?

    <p>They are the key to understanding and achieving system design goals</p> Signup and view all the answers

    What does the term 'externally visible' properties refer to?

    <p>The assumptions other elements can make about an element</p> Signup and view all the answers

    What information does an architecture omit about elements?

    <p>Information about the internal implementation of elements</p> Signup and view all the answers

    What is the primary concern of architecture in a system?

    <p>The public side of an element's interface</p> Signup and view all the answers

    What can be said about the structure of a system?

    <p>A system can comprise multiple structures</p> Signup and view all the answers

    What type of structure focuses on the way the system's functionality is divided up and assigned to implementation teams?

    <p>A static structure</p> Signup and view all the answers

    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.

    Quiz Team

    Description

    Explore the different definitions of software architecture, including modern, classic, and bibliographic definitions from various sources.

    More Like This

    Computer Science Concepts
    10 questions

    Computer Science Concepts

    StupendousHyperbole avatar
    StupendousHyperbole
    Ingeniería de Software
    10 questions
    Use Quizgecko on...
    Browser
    Browser