Page 166 - Software and Systems Requirements Engineering in Practice
P. 166
132 S o f t w a r e & S y s t e m s R e q u i r e m e n t s E n g i n e e r i n g : I n P r a c t i c e
Factors, Issues, and Strategies
Factors, issues, and strategies are artifacts used in a technique called
global analysis [Hofmeister et al. 1999], [Paulish 2002]. Factors
(architecture-influencing factors) are statements about the product,
the project, or their contexts that potentially influence the architecture.
Factors may be inferred from the problem statement or from the
engineers’ experience or general knowledge. Factors often generalize
QASs or use case scenarios. Sometimes, a factor is identified first, and
then a use case scenario is written as an example of the factor. Sometimes,
product requirements are introduced as examples of factors.
Issues are identified by finding conflicts between factors. The
statement of the issue juxtaposes the conflicting factors and explains
why they are hard to reconcile.
Strategies are tentative decisions about the architecture or the
project plan that address (architectural) issues.
Product Architecture
This artifact maps out all the coarse-grained components and
interfaces of the system, preferably using view models [IEEE 2000],
[Clements et al. 2003]. It conforms to the architecture principles while
allocating responsibility for product requirements to specific
components and interfaces. Note that the architecture principles are
largely independent of specific product requirements. That is, adding
or removing a major piece of functionality could lead to adding or
removing the components and interfaces responsible for that
functionality without affecting the principles.
5.3 Quality Attribute Requirements
The road to understanding quality attribute requirements starts with
a brief detour into the fundamentals of system quality. The quality of
a system, in general, is its fitness for its intended uses. ISO Std. 9126-1
defines a quality model with four linked topic areas of quality:
• Process quality Quality of the process that is producing the
product
• Internal quality Quality of the intermediate work products
(some of which may also be deliverable work products)
• External quality Quality of the finished product, before
delivery
• Quality in use Quality of the larger processes in which the
delivered product is used
A quality attribute is a system or process property indicative of
quality in any of these quality topic areas. Note that, for our purposes,