Achieving Quality Attributes through Tactics
The quality attribute requirements
specify the responses of the system that, with a bit of luck and a dose of good
planning, realize the goals of the business. We now turn to the techniques an
architect can use to achieve the required quality attributes.
We call these techniques architectural tactics. A tactic is a design decision
that influences the achievement of a quality attribute response—tactics
directly affect the system’s response to some stimulus. Tactics impart
portability to one design, high performance to another, and integrability to a
third.
The
focus of a tactic is on a single quality attribute response. Within a tactic,
there is no consideration of tradeoffs. Tradeoffs must be explicitly considered
and controlled by the designer. In this respect, tactics differ from
architectural patterns, where tradeoffs are built into the pattern. (We visit
the relation between tactics and patterns in Chapter 14. Chapter 13 explains
how sets of tactics for a quality attribute can be constructed, which are the
steps we used to produce the set in this book.)
A
system design consists of a collection of decisions. Some of these decisions
help control the quality attribute responses; others ensure achievement of
system functionality. We represent the relationship between stimulus, tactics,
and response in Figure 4.3. The tactics, like design patterns, are design
techniques that architects have been using for years. Our contribution is to
isolate, catalog, and describe them. We are not inventing tactics here, we are
just capturing what architects do in practice.
Why
do we do this? There are three reasons:
1. Design patterns are complex;
they typically consist of a bundle of design decisions. But patterns are often
difficult to apply as is; architects need to modify and adapt them. By
understanding the role of tactics, an architect can more easily assess the
options for augmenting an existing pattern to achieve a quality attribute goal.
2.
If
no pattern exists to realize the architect’s design goal, tactics allow the
architect to construct a design fragment from “first principles.” Tactics give
the architect insight into the properties of the resulting design fragment.
3.
By
cataloging tactics, we provide a way of making design more systematic within
some limitations. Our list of tactics does not provide a taxonomy. We only
provide a categorization. The tactics will overlap, and you frequently will
have a choice among multiple tactics to improve a particular quality attribute.
The choice of which tactic to use depends on factors such as trade offs among
other quality attributes and the cost to implement. These considerations
transcend the discussion of tactics for particular quality attributes. Chapter
17 provides some techniques for choosing among competing tactics.
The
tactics that we present can and should be refined. Consider performance: Schedule resources is a common performance tactic. But this tactic needs to
be refined into a specific scheduling strategy, such as shortest-job-first, round-robin,
and so forth, for specific purposes. Use an intermediary is a modifiability tactic. But
there are multiple types of intermediaries (layers, brokers, and proxies, to
name just a few). Thus there are refinements that a designer will employ to
make each tactic concrete.
In addition, the application of a
tactic depends on the context. Again considering performance: Manage sampling rate is relevant in some realtime systems but not in all realtime systems
and certainly not in database systems.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.