Abstract
<em>Non-Functional Requirements in Software Engineering</em> presents
a systematic and pragmatic approach to `building quality into' software
systems. Systems must exhibit software quality attributes, such as
accuracy, performance, security and modifiability. However, such
non-functional requirements (NFRs) are difficult to address in many
projects, even though there are many techniques to meet functional
requirements in order to provide desired functionality. This is particularly
true since the NFRs for each system typically interact with each
other, have a broad impact on the system and may be subjective. To
enable developers to systematically deal with a system's diverse
NFRs, this book presents the NFR Framework. Structured graphical
facilities are offered for stating NFRs and managing them by refining
and inter-relating NFRs, justifying decisions, and determining their
impact. Since NFRs might not be absolutely achieved, they may simply
be satisfied sufficiently (`satisficed'). To reflect this, NFRs are
represented as `softgoals', whose interdependencies, such as tradeoffs
and synergy, are captured in graphs. The impact of decisions is qualitatively
propagated through the graph to determine how well a chosen target
system satisfices its NFRs. Throughout development, developers direct
the process, using their expertise while being aided by catalogues
of knowledge about NFRs, development techniques and tradeoffs, which
can all be explored, reused and customized. <br/> <em>Non-Functional
Requirements in Software Engineering</em> demonstrates the applicability
of the NFR Framework to a variety of NFRs, domains, system characteristics
and application areas. This will help readers apply the Framework
to NFRs and domains of particular interest to them. Detailed treatments
of particular NFRs - accuracy, security and performance requirements
- along with treatments of NFRs for information systems are presented
as specializations of the NFR Framework. Case studies of NFRs for
a variety of information systems include credit card and administrative
systems. The use of the Framework for particular application areas
is illustrated for software architecture as well as enterprise modelling.
Feedback from domain experts in industry and government provides
an initial evaluation of the Framework and some case studies. Drawing
on research results from several theses and refereed papers, this
book's presentation, terminology and graphical notation have been
integrated and illustrated with many figures. <br/> <em>Non-Functional
Requirements in Software Engineering</em> is an excellent resource
for software engineering practitioners, researchers and students.
Links and resources
Tags