Professional Documents
Culture Documents
Quality
Functionality
Some Qualities
Usability Modifiability Performance Security Testability Availability Time to market Cost and benefit Projected System lifetime Targeted Market Rollout Schedule Integration / Legacy
Architectural Qualities
Conceptual Integrity Correctness and Completeness Buildability
In the environment, the source throws the stimulus and hits the (see inside front cover) system in the artifact
Stimulus: Bumps
Remember
One stimulus per scenario One environment per scenario One artifact per scenario Multiple response measures are OK
Stimulus: Dozens of simultaneous Environment: Normal logins operation Response: Source of stimulus: Security maintained Shift change Acceptable delays
Therefore, the
Stimulus Artifact Environment Response measure(s) must be clear and specific
Next step
Assume some of the critical quality attribute scenarios have been defined What next?
Tactics can refine other tactics Patterns package tactics Tactics can interfere!
Next week: a way to use quality attribute scenarios and tactics to drive module decomposition
Prompt results
Fault
Availability
Availability
Fault Detection
RecoveryReintroduction
Prevention
m3. Generalize module m5. Abstract common services m6. Hide information p3. p2. p5. p8. Manage event rate Reduce computational overhead Introduce concurrency Scheduling policy
Performance:
Styles
Styles (Shaw and Garlan) are recurring partial architectures Styles are sometimes also called patterns
Like patterns, they package tactics But theyre not usually linked with a problem Set of element types Element topology Set of semantic constraints Set of interaction mechanisms
A style consists of
Tactics include: m2. anticipate expected changes m5. abstract common services m6. hide information m7. maintain existing interface m8. restrict communication paths m12. polymorphism m13. component replacement p3. manage event rate
service
service
service
service
Tactics include: m2. anticipate expected changes m5. abstract common services m6. hide information m7. maintain existing interface m8. restrict communication paths m12. polymorphism m13. component replacement m14. adherence to defined protocols t2. separate interface from implementation
Tactics
Bags of tricks you can apply