Requirements Engineering for Software and Systems

Requirements Engineering for Software and Systems

by Phillip A. Laplante, Philip A. Laplante

Solid requirements engineering has become increasingly essential to on-time and on-budget delivery of software and systems projects. As more engineering programs make it a mandatory part of their curricula, students and working engineers require significant training to master the field, especially the complicated emerging ancillary software tools vital to the

See more details below


Solid requirements engineering has become increasingly essential to on-time and on-budget delivery of software and systems projects. As more engineering programs make it a mandatory part of their curricula, students and working engineers require significant training to master the field, especially the complicated emerging ancillary software tools vital to the requirements engineering process.

With a focus on software-intensive systems, Requirements Engineering for Software and Systems provides a probing and comprehensive review of recent developments in intelligent systems, soft computing techniques, and their diverse applications in manufacturing. Topics covered can be applied to the requirements engineering practices for:

  • Advanced production machines and systems
  • Collaborative and responsive manufacturing systems
  • Digital manufacturing
  • E-manufacturing
  • E-business and virtual enterprises
  • Fit manufacturing
  • Human machine interfaces
  • Innovative design technologies
  • Intelligent and competitive manufacturing
  • Intelligent planning and scheduling systems
  • Mechatronics and MEMS
  • Micro and nano manufacturing
  • Production automation and control
  • Reconfigurable manufacturing systems
  • Sustainable manufacturing systems
  • Robotics

To illustrate key ideas associated with requirements engineering, the text presents three common example systems: an airline baggage handling system, a point-of-sale system for one location of a large pet store chain, and a system for a smart home in which one or more PCs control various aspects of the home’s functions. The selected systems encompass a wide range of applications—from embedded to organic, for both industrial and consumer uses.

Read More

Product Details

Taylor & Francis
Publication date:
Applied Software Engineering Series, #5
Edition description:
Older Edition
Product dimensions:
6.20(w) x 9.30(h) x 0.80(d)

Table of Contents

Introduction to Requirements Engineering
What is Requirements Engineering?
You Probably Don’t Do Enough Requirements Engineering
What are Requirements?
Requirements Versus Goals
Requirements Level Classification
Requirements Specifications Types
Domain Vocabulary Understanding
Requirements Engineering Activities
Requirements Elicitation/Discovery
Requirements Analysis and Reconciliation
Requirements Representation and Modeling
Requirements Validation
Requirements Management
The Requirements Engineer
Requirements Engineering Paradigms
Requirements Engineer as Software Engineer
Requirements Engineer as Subject Matter Expert
Requirements Engineer as Architect
Requirements Engineer as Business Process Expert
Ignorance as Virtue
Role of the Customer?
Problems with Traditional Requirements Engineering
Four Dark Corners (Zave and Jackson)
Difficulties in Enveloping System Behavior
The Danger of All in Specifications

Mission Statement, Customers, and Stakeholders
Mission Statements
Encounter with a Customer?
Negative Stakeholders
Stakeholder Identification
Customer Wants and Needs
What Do Customers Want?
What Don’t Customers Want?
Why Do Customers Change Their Minds?
Stakeholder Prioritization
Communicating with Customers and Other Stakeholders
Managing Expectations
Stakeholder Negotiations

Requirements Elicitation
Elicitation Techniques Survey
Card Sorting
Designer as Apprentice
Domain Analysis
Ethnographic Observation
Goal-based Approaches
Group Work
Joint Application Design (JAD)
Protocol Analysis
Quality Function Deployment
Repertory Grids
Task Analysis
User Stories

Elicitation Summary
Which Combination of Requirements Elicitation Techniques Should Be Used?
Prevalence of Requirements Elicitation Techniques

Elicitation Support Technologies
Using Wikis for Requirements Elicitation
Mobile Technologies
Content Analysis

Writing the Requirements Document
Requirements Representation Approaches
IEEE Standard 830-199871
IEEE Standard 830 Recommendations on Representing
Non-Functional Requirements
IEEE Standard 830 Recommendations on Representing
Functional Requirements
ISO/IEC Standard 2503076
Use Cases
Behavioral Specifications
The Requirements Document
Users of a Requirements Document
Requirements Document Requirements
Best Practices and Recommendations

Requirements Risk Management
What is Requirements Risk Management?
Requirements Validation and Verification
Techniques for Requirements V&V
The Requirements Validation Matrix
The Importance of Measurement in Requirements Verification and Validation
Standards for Verification and Validation
IEEE Standard 83096
NASA Requirements Testing
Weak Phrases

Formal Methods
What are Formal Methods?
A Little History
Using Formal Methods
Formal Methods Types
Formalization of Train Station in B
Formalization of Space Shuttle Flight Software Using MurF
Formalization of an Energy Management System Using Category Theory
Requirements Validation
Theorem Proving
Model Checking
Objections, Myths, and Limitations
Objections and Myths
Limitations of Formal Methods
Final Advice

Requirements Specification and Agile Methodologies
Introduction to Agile Methodologies
Principles Behind the Agile Manifesto
Extreme Programming (XP)
Requirements Engineering for Agile Methodologies
General Practices in Agile Methodologies
Agile Requirements Best Practices
Requirements Engineering in XP
Requirements Engineering in Scrum
Writing User Stories
Agile Requirements Engineering
Challenges for Requirements Engineering in Agile Methodologies

Tool Support for Requirements Engineering
Traceability Support
Commercial Requirements Engineering Tools
Rational RequisitePro
Requirements and Traceability Management
Open Source Requirements Engineering Tools
Open Source Requirements Management Tool (OSRMT)
Requirements Engineering Tool Best Practices

Requirements Management
Requirements Management
Managing Divergent Agendas
Expectation Revisited: Pascal’s Wager
Global Requirements Management
Antipatterns in Requirements Management
Environmental Antipatterns
Management Antipatterns
Other Paradigms for Requirements Management
Requirements Management and Improvisational Comedy
Requirements Management as Scriptwriting
Reference Models for Requirements Management
ISO 9000-3 (1997)
Six Sigma
Capability Maturity Model (CMMI)
IEEE 830
IEEE 12207(2002)
ISO/IEC 25030
A Case Study: FBI Virtual Case File

Value Engineering of Requirements
What, Why, When, and How of Value Engineering?
What is Value Engineering?
When Does Value Engineering Occur?
Estimating Using COCOMO and its Derivatives
Estimating Using Function Points
Function Point Cost Drivers
Feature Points
Use Case Points
Requirements Feature Cost Justification
Return on Investment
Net Present Value
Internal Rate of Return
Profitability Index
Payback Period
Discounted Payback Period

Appendix: Software Requirements Specification for a Smart Home, Version 2.0



Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network


Most Helpful Customer Reviews

See all customer reviews >