ASR Flashcards
Are all requirements equally important ?
Some have a profound effect on the
architecture than others: architecturally
significant requirements (ASRs).
What are things we need to look for in a requirements documents?
Some things to look for:
– Usage. User roles versus system modes, internationalization, language
distinctions.
– Time. Timeliness and element coordination.
– External elements. External systems, protocols, sensors or actuators (devices),
– middleware.
– Networking. Network properties and configurations (including their security
properties).
– Orchestration. Processing steps, information flows.
– Security properties. User roles, permissions, authentication.
– Data. Persistence and currency.
– Resources. Time, concurrency, memory footprint, scheduling, multiple users,
multiple activities, devices, energy usage, soft resources (e.g., buffers,
queues), scalability requirements.
– Project management. Plans for teaming, skill sets, training, team coordination.
– Hardware choices. Processors, families of processors, evolution of processors.
– Flexibility of functionality, portability, calibrations, configurations.
– Named technologies, commercial packages.
What is the surest way to gather information on what you need to know?
Stakeholder Interviews
What is the QAW?
The QAW is a facilitated, stakeholder-focused
method to generate, prioritize, and refine quality
attribute scenarios before the software
architecture is completed.
What are the steps of a QAW?
Business/mission presentation.
* Architectural plan presentation.
* Identification of architectural drivers.
* Scenario brainstorming.
* Scenario consolidation.
* Scenario prioritization.
* Scenario refinement.
Are business goals important to developers?
Business goals are of interest to architects
because they frequently lead directly to ASRs.
What relationships can exist between business goals and architecture?
Business goals often lead to quality attribute
requirements.
– Business goals may affect the architecture without
inducing a quality attribute requirement at all.
– No influence of a business goal on the architecture.
What relationships can exist between business goals and architecture?
Business goals often lead to quality attribute
requirements.
– Business goals may affect the architecture without
inducing a quality attribute requirement at all.
– No influence of a business goal on the architecture.
What are the categories of business goals?
Growth and continuity of the organization
– Meeting financial objectives
– Meeting personal objectives
– Meeting responsibility to the employees
– Meeting responsibility to society
– Meeting responsibility to the state
– Meeting responsibility to the shareholders
– Managing market position
– Improving business processes
– Managing the quality and reputation of products
– Managing change in the environment over time
What is a utiity tree?
- A utility tree is a top-down representation of
what you, as architect, believe to be the most
important QA-related ASRs.
The leaves of the tree are scenarios that you
prioritize along two dimensions: business
value and technical risk. Each dimension is
scored H/M/L.
What can you get from the results from the utility tree?
– A QA without any ASR scenario is an area you
should investigate.
– ASR scenarios that receive a (H, H) rating are
obviously the ones that deserve the most
attention from you.
How should architects adjust to change?
Architects have to adapt and keep up, to
ensure that their architectures are still the
right ones that will bring success to the
project.
* Always keep a channel open to the key
stakeholders who determine the ASRs so you
can keep up with changing requirements.
Summary
- Architectures are driven by architecturally
significant requirements. An ASR must have:
– A profound impact on the architecture.
– A high business or mission value. - ASRs can be extracted from a requirements
document, captured from stakeholders during
a workshop (e.g., a QAW), captured from the
architect in a utility tree, or derived from
business goals