Page 225 - Software and Systems Requirements Engineering in Practice
P. 225
t
s
n
m
e
g
i
n
E
e
6
:
e
r
i
r
u
e
q
a
t
l
P
m
s
r
f
o
r
r
i
e
n
e
f
o
n
g
t
a
h
C
p
C h a p t e r 6 : R R e q u i r e m e n t s E n g i n e e r i n g f o r P l a t f o r m s 191 191
• Add constraints to ensure that the NFRs are feasible to
implement.
• Describe NFRs with sufficient information so that the test
procedures (including the testing environment) can be
specified to test the NFRs.
• Define NFRs for only the attribute combinations that are
likely to be deployed for the product line.
• Use structured templates to ensure that constraints are
complete.
• After the NFRs are reasonably stable, create draft marketing
literature for the platform (as though it is a standalone salable
product) and use as an aid when conducting requirements
reviews with stakeholders.
6.6 Summary
This chapter introduces an approach for
• Developing NFRs for large software systems that might be
deployed in a variety of computing infrastructures and
operate under a variety of application situations. We call the
lower-level common software (e.g., operating system,
middleware) a platform. We have described a detailed process
(called PND) and related artifacts that can be used to help
reconcile the stakeholders’ inputs.
• The PND process complements the existing NFR approaches
by integrating the NFR development with other software
engineering processes. It describes how testing and release
management could be integrated with the PND process.
6.7 Discussion Questions
1. What are some of the differences between a software product
line and platforms?
2. How can one determine which functions should be implemented
in application software and which in the platform?
3. When should the ISO standards be used within the PND
process to define a list of NFRs?
References
Bachmann, F., Bass, L., Klein, M., and Shelton, C., “Designing Software Architectures
to Achieve Quality Attribute Requirements,” IEEE Software Proceedings, Vol. 152,
No. 4, August 5, 2005, pp. 153–165.