Chapter 4 - Understanding Quality Attributes Flashcards
In terms of system requirements what are constraints?
a design decision with zero degrees of freedom. AKA a design decision that has already been made for you.
how is functionality related to architecture?
functionality does not really determine architecture at all. (a given functionality can be achieved through virtually any architecture).
Bc functionality and quality are orthogonal
why use quality attribute scenarios?
provides a concrete, testable construct for characterizing quality attributes
the 6 parts of a quality attribute scenario
- stimulus
- stimulus source
- response
- response measure
- environment
- artifact
definition of “source of stimulus”
some entity (human, computer system, hardware) that generates the stimulus
definition of “stimulus”
a condition that requires a response when it arrives at a system
definition of “environment”
the set of conditions under which the stimulus occurs
definition of “artifact”
the thing (maybe a system, or part of system) that is stiumulated
definition of “response”
the activity that is undertaken as the result of the arrival of the stimulus
definition of “response measure”
a measurable characteristic of the response used to test the requirement
general vs concrete attribute scenario
general - could pertain to any system (are system independent)
concrete - are specific to a particular system
what are tactics?
architectural design primitives that can be employed to achieve some specific quality attribute response
3 reasons for using tactics?
- rarely do generic design patterns meet all the requirements as is and thus they need to be modified and adapted some
- continual application of certain tactics can lead to new design patterns
- using tactics make design more systematic and documentable
the 7 categories of design decisions that an architectural team should consider when designing an architecture
- allocation of responsibilities
- coordination model
- data model
- management of resources
- mapping among architectural elements
- binding time decisions
- choice of technology
what is “allocation of responsibilities”
we need to relate each requirement to a module and/or component-and-connector structure. Map each requirement to a structure to ensure that all requirements are accounted for