Non-Functional Requirements in Software Engineering

by ; ; ;
Format: Hardcover
Pub. Date: 1999-10-01
Publisher(s): Kluwer Academic Pub
  • Free Shipping Icon

    This Item Qualifies for Free Shipping!*

    *Excludes marketplace orders.

List Price: $499.99

Rent Textbook

Select for Price
There was a problem. Please try again later.

Rent Digital

Rent Digital Options
Online:30 Days access
Downloadable:30 Days
$212.04
Online:60 Days access
Downloadable:60 Days
$282.72
Online:90 Days access
Downloadable:90 Days
$353.40
Online:120 Days access
Downloadable:120 Days
$424.08
Online:180 Days access
Downloadable:180 Days
$459.42
Online:1825 Days access
Downloadable:Lifetime Access
$706.80
*To support the delivery of the digital material to you, a digital delivery fee of $3.99 will be charged on each digital item.
$459.42*

New Textbook

We're Sorry
Sold Out

Used Textbook

We're Sorry
Sold Out

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

Non-Functional Requirements in Software Engineering 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. Non-Functional Requirements in Software Engineering 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. Non-Functional Requirements in Software Engineering is an excellent resource for software engineering practitioners, researchers and students.

Table of Contents

List of Figures
ix
List of Tables
xvii
Legend for Figures xix
Preface xxix
Introduction
1(14)
Introduction
1(5)
The Nature of Non-Functional Requirements
6(3)
Literature Notes
9(6)
Part I The NFR Framework
The NFR Framework in Action
15(32)
Using the NFR Framework
16(2)
Acquiring Domain Knowledge
18(1)
Acquiring and Cataloguing NFR Knowledge
18(1)
Identifying NFRs
19(2)
Decomposing NFR Softgoals
21(4)
Dealing with Priorities
25(2)
Identifying Possible Operationalizations
27(3)
Dealing with Implicit Interdependencies among Softgoals
30(3)
Recording Design Rationale
33(2)
Selecting Among Alternatives
35(2)
Evaluating the Impact of Decisions
37(5)
Cataloguing Development Methods and Correlations
42(2)
Discussion
44(3)
Softgoal Interdependency Graphs
47(42)
Kinds of Softgoals
48(6)
Interdependencies
54(16)
The Evaluation Procedure
70(10)
Coupling NFRs with Functional Requirements
80(5)
Discussion
85(4)
Cataloguing Refinement Methods and Correlations
89(64)
Refinement Methods
90(1)
NFR Decomposition Methods
90(21)
Operationalization Methods
111(8)
Argumentation Methods and Templates
119(10)
Correlations
129(8)
Putting Them All Together: The Goal-Driven Process
137(4)
Discussion
141(1)
Related Literature for the Framework
142(11)
Part II Types of Non-Functional Requirements
Types of NFRs
153(8)
Categorizations of NFRs
155(3)
Standards
158(1)
A List of NFRs
159(1)
Our Approach: The NFR Framework
159(1)
Literature Notes
160(1)
Accuracy Requirements
161(36)
Accuracy Concepts
163(4)
Decomposition Methods
167(8)
Operationalization Methods
175(5)
Argumentation Methods
180(1)
Correlations
181(3)
Illustration
184(10)
Discussion
194(3)
Security Requirements
197(20)
Security Concepts
198(3)
Decomposition Methods
201(3)
Operationalization Methods
204(3)
Argumentation Templates and Methods
207(1)
Correlations
207(1)
Illustration
208(5)
Discussion
213(4)
Performance Requirements
217(32)
Performance Concepts
218(5)
Factors for Dealing with Performance Requirements
223(2)
Refinement Methods
225(8)
Operationalization Methods from Software Performance Engineering
233(3)
Argumentation Methods and Templates
236(2)
Correlations
238(1)
Illustration
239(8)
Discussion
247(2)
Performance Requirements for Information Systems
249(42)
Language Features and Implementation Techniques for Information Systems
250(2)
Example: A Research Management System
252(6)
Extending the Performance Type
258(1)
Organizing Issues via Language Layers
259(5)
Decomposition Methods for Handling Data Management
264(3)
Methods for Handling Inheritance Hierarchies
267(6)
Methods for Handling Integrity Constraints and Long-Term Processes
273(4)
Organizing Performance Methods
277(3)
Organizing Correlations
280(2)
Illustration
282(1)
Discussion
283(8)
Part III Case Studies and Applications
Introduction to the Studies and Applications
291(10)
Introduction
292(1)
Characteristics of Domains Studied
293(4)
Our Approach to Conducting the Studies
297(3)
Observations from Studies
300(1)
Literature Notes
300(1)
A Credit Card System
301(30)
Domain Description and Functional Requirements
301(3)
Non-Functional Requirements
304(1)
Dealing with Performance Requirements
305(18)
Dealing with Security and Accuracy Requirements
323(5)
Discussion
328(1)
Literature Notes
329(2)
An Administrative System
331(20)
Introduction
331(1)
Domain Description, Functional Requirements and Organizational Workload
331(2)
Non-Functional Requirements
333(1)
Recording Domain Information in a Design
334(1)
Overview of SIGs
334(2)
Time Softgoals for Managing Long-Term Tax Appeal Processes
336(4)
Operationalization Methods for Integrity Constraints
340(6)
Dealing with a Tradeoff
346(4)
Discussion
350(1)
Literature Notes
350(1)
Application to Software Architecture
351(16)
Introduction
352(2)
Cataloguing Software Architecture Concepts using the NFR Framework
354(4)
Illustration of the Architectural Design Process
358(7)
Discussion
365(1)
Literature Notes
366(1)
Enterprise Modelling and Business Process Redesign
367(16)
Introduction
367(3)
The Strategic Dependency Model
370(4)
The Strategic Rationale Model
374(7)
Discussion
381(1)
Literature Notes
382(1)
Assessment of Studies
383(8)
Feedback from Domain Experts
383(4)
Discussion: Lessons Learned for Conducting Studies
387(2)
Literature Notes
389(2)
Postscript 391(8)
Bibliography 399

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.