F1+2 - Intro + Quality attributes and architectural tactics Flashcards
What does software architecture fundamentally organize?
A system’s components and their relationships
What is a primary goal of software architecture?
To guide the system’s design and evolution.
What principle of continuous architecture focuses on delaying design decisions?
Delay design decisions until they are absolutely necessary.
What architectural principle emphasizes the importance of quality attributes over functional requirements?
Focus on quality attributes
What does SOA stand for?
Service-Oriented Architecture
In software architecture, what does the principle “architect for change” suggest?
Leverage the power of small
What is the key characteristic of a microservice?
Independently deployable
According to the principles of continuous architecture, what should products be architected for?
Build, test, and deploy.
What is the key advantage of modeling the organization after the system’s design?
It aligns the communication structure with the system structure
What fundamental aspect of architecture does Conway’s Law relate to?
The mirroring of system structure and organizational communication
What do requirements in software architecture describe?
The system’s purpose and operating conditions.
What do functional requirements specify in a system?
The actions a system must perform.
What are quality attribute requirements?
Metrics that describe the system’s performance and operational characteristics.
What are constraints in the context of software architecture?
Non-negotiable requirements that limit design choices
What do quality attributes measure in a system?
How well a system performs its functions
What does a quality attribute scenario detail?
The source and type of stimulus, the system’s response, and how the response is measured
What purpose do architectural tactics serve in software architecture?
They influence how a system achieves specific quality attributes
What are some actions architectural tactics might dictate for security?
Detecting, resisting, reacting to, or recovering from attacks
What aspect do allocation of responsibilities decisions cover?
Determining important system responsibilities and how the system is decomposed
What do coordination model decisions clarify?
How parts of the system communicate and coordinate
What is determined by data model decisions?
How data is represented, manipulated, and organized
What is considered in management of resources decisions?
Identifying and managing system resources
What does mapping between architectural elements entail?
How different parts of the system and their environment are connected
What is the idea of Architecture? Nice way to describe it
Architecting bridges the gap between “What shall be built?” and “How shall we build it?”
What was the first initial understanding of Software Architecture?
What was the following understanding of Software Architecture?
To use the Waterfall model, as well as BDUF (Big Design up Front). A complete step by step process, to be followed precisely. Very time consuming, and overall ineffective.
What followed was Agile software development.
What are requirements in the context of software architecture?
Purpose and conditions under which a system operates
What is the difference between functional requirements and quality attribute requirements?
Functional requirements specify what the system should do, while quality attribute requirements specify how well the system should do it.
What are constraints in software architecture?
Non-negotiable requirements with zero degree of freedom
Name a quality attribute that focuses on how well a system can exchange information with others
Interoperability
What is a quality attribute scenario?
A specific, measurable instance of a quality attribute affecting the system
What does an architectural tactic influence in a system?
How a system addresses a certain quality attribute
What is the purpose of specifying quality attribute requirements?
To define testable, measurable standards for system qualities like performance and reliability
What is ISO 25010?
A quality model for software product quality
What is an architectural decision?
A choice that influences the system’s structure or behavior to achieve desired quality attributes
Name a dimension of architectural decisions
Allocation of responsibilities
What is Continuous Architecture?
Continuous Architecture is an approach to software architecture that emphasizes the importance of evolving the system’s architecture ITERATIVELY and INCREMENTALLY over time.