Chapter 4 - Understanding Quality Attributes Flashcards

1
Q

In terms of system requirements what are constraints?

A

a design decision with zero degrees of freedom. AKA a design decision that has already been made for you.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

how is functionality related to architecture?

A

functionality does not really determine architecture at all. (a given functionality can be achieved through virtually any architecture).

Bc functionality and quality are orthogonal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

why use quality attribute scenarios?

A

provides a concrete, testable construct for characterizing quality attributes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

the 6 parts of a quality attribute scenario

A
  • stimulus
  • stimulus source
  • response
  • response measure
  • environment
  • artifact
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

definition of “source of stimulus”

A

some entity (human, computer system, hardware) that generates the stimulus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

definition of “stimulus”

A

a condition that requires a response when it arrives at a system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

definition of “environment”

A

the set of conditions under which the stimulus occurs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

definition of “artifact”

A

the thing (maybe a system, or part of system) that is stiumulated

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

definition of “response”

A

the activity that is undertaken as the result of the arrival of the stimulus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

definition of “response measure”

A

a measurable characteristic of the response used to test the requirement

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

general vs concrete attribute scenario

A

general - could pertain to any system (are system independent)

concrete - are specific to a particular system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

what are tactics?

A

architectural design primitives that can be employed to achieve some specific quality attribute response

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

3 reasons for using tactics?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

the 7 categories of design decisions that an architectural team should consider when designing an architecture

A
  • allocation of responsibilities
  • coordination model
  • data model
  • management of resources
  • mapping among architectural elements
  • binding time decisions
  • choice of technology
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

what is “allocation of responsibilities”

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

3 decision with regards to a coordination model

A
  • identify elements that must coordinate and those that mustn’t
  • determine properties of coordination (timeliness, concurrency, correctness, etc.)
  • choose communication mechanism that realize those properties
17
Q

2 decisions regarding the data model

A
  • choosing the major data abstractions, their properties, and operations
  • organization of the data. Where will data be kept and held
18
Q

4 decisions regarding the management of resources

A
  • ID resources that must be managed
  • determine which system elements manage each resource
  • determine how resources are shared and how contention is settled
  • determine the impact of saturation on different resources
19
Q

4 decisions regarding the mapping of architectural elements

A
  • mapping of modules and runtime elements to each other
  • assignment of runtime elements to processors
  • assignment of items in the data model to data stores
  • mapping of modules and runtime elements to units of delivery
20
Q

What is the binding time with regards to architectural decisions

A

When do all of these other decisions have to be made

Examples:

  • build-time script for allocation of responsibilities to modules
  • run-time decision of coordination model protocols
21
Q

5 decisions regarding choice of technology

A
  • deciding which technologies are available to realize decisions made in other categories
  • determining whether the tools to support this technology are adequate
  • determining familiarity and available support for this technology
  • determine whether new technology is consistent with existing stack