COVID-19 Response at Fishpond.com.au

Read what we're doing...

Requirements Engineering for Software and Systems, Second Edition
By

Rating

Product Description
Product Details

Table of Contents

Introduction to Requirements Engineering
Motivation
What Is Requirements Engineering?
You Probably Don't Do Enough Requirements Engineering
What Are Requirements?
Requirements versus Goals
Requirements Level Classification
Requirements Specifications Types
Functional Requirements
Nonfunctional Requirements
Domain Requirements
Domain Vocabulary Understanding
Requirements Engineering Activities
Requirements Elicitation/Discovery
Requirements Analysis and Agreements
Requirements Representation
Requirements Validation
Requirements Management
Bodies of Knowledge
Requirements Engineer
Requirements Engineering Paradigms
Requirements Engineer as Software Systems Engineer
Requirements Engineer as Subject Matter Expert
Requirements Engineer as Architect
Requirements Engineer as Business Process Expert
Ignorance as Virtue
Customers' Role
Problems with Traditional Requirements Engineering
Complexity
Four Dark Corners
Difficulties in Enveloping System Behavior
Danger of "All" in Specifications
Exercises
References

Preparing for Requirements Elicitation
Product Mission Statement
Encounter with a Customer
Stakeholders
Negative Stakeholders
Stakeholder Identification
Stakeholder Questions
Stakeholder/Customer Classes
Stakeholder Characteristics
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
Uncovering Stakeholder Goals
Exercises
References

Requirements Elicitation
Introduction
Preparing for Requirements Elicitation
Elicitation Techniques Survey
Brainstorming
Card Sorting
Designer as Apprentice
Domain Analysis
Ethnographic Observation
Goal-Based Approaches
Group Work
Interviews
Introspection
Joint Application Design (JAD)
Laddering
Protocol Analysis
Prototyping
Quality Function Deployment
Questionnaires/Surveys
Repertory Grids
Scenarios
Task Analysis
User Stories
Viewpoints
Workshops
Elicitation Summary
Which Combination of Requirements Elicitation Techniques Should Be Used?
Prevalence of Requirements Elicitation Techniques
Eliciting Hazards
Misuse Cases
Antimodels
Formal Methods
Exercises
References

Writing the Requirements Document
Requirements Agreement and Analysis
Requirements Representation Approaches
IEEE Standard 830-1998
IEEE Standard 830 Recommendations on Representing Nonfunctional Requirements
IEEE Standard 830 Recommendations on Representing Functional Requirements
Operating System
Command Validation
ISO/IEC Standard 25030
Use Cases
Requirements Document
Users of a Requirements Document
Requirements Document Requirements
Preferred Writing Style
Text Structure Analysis
Requirement Format
Use of Imperatives
Behavioral Specifications
Best Practices and Recommendations
Exercises
References

Requirements Risk Management
What Is Requirements Risk Management?
Requirements Validation and Verification
Techniques for Requirements V&V
Walkthroughs
Inspections
Goal-Based Requirements Analysis
Requirements Understanding
Validating Requirements Use Cases
Prototyping
Requirements Validation and Verification Matrices
Importance of Measurement in Requirements Validation and Verification
Goal/Question/Metric Analysis
Standards for Validation and Verification
IEEE Standard 830
Correctness
Ambiguity
Completeness
Consistency
Ranking
Verifiability
Modifiability
Traceability
Example Validation of Requirements
NASA Requirements Testing
NASA ARM Tool
Imperatives
Continuances
Directives
Options
Weak Phrases
Incomplete
Subjects
Specification Depth
Readability Statistics
Summary of NASA Metrics
Exercises
References

Formal Methods
Motivation
What Are Formal Methods?
Formal Methods Classification
A Little History
Using Formal Methods
Examples
Formalization of Train Station in B
Formalization of Space Shuttle Flight Software Using Mur
Formalization of an Energy Management System Using Category Theory
Example: Energy Management System
Requirements Validation
Theorem Proving
Program Correctness
Hoare Logic
Model Checking
Integrated Tools
Objections, Myths, and Limitations
Objections and Myths
Limitations of Formal Methods
Bowen and Hinchey's Advice
Exercises
References

Requirements Specification and Agile Methodologies
Introduction to Agile Methodologies
Principles Behind Agile Manifesto
Extreme Programming (XP)
Scrum
Requirements Engineering for Agile Methodologies
General Practices in Agile Methodologies
Example Application of Agile Software Development
When Is Agile Recommended?
Agile Requirements Best Practices
Requirements Engineering in XP
Requirements Engineering in Scrum
Writing User Stories
Agile Requirements Engineering
Story-Test-Driven Development
Challenges for Requirements Engineering in Agile Methodologies
Exercises
References

Tool Support for Requirements Engineering
Introduction
Traceability Support
Requirements Linkage Traceability Matrix
Requirements Source Traceability Matrix
Requirements Stakeholder Traceability Matrix
Requirements Management Tools
Open Source Requirements Engineering Tools
FreeMind
Open Source Requirements Management Tool (OSRMT)
FitNesse
Requirements Engineering Tool Best Practices
Elicitation Support Technologies
Using Wikis for Requirements Elicitation
Mobile Technologies
Virtual Environments
Content Analysis
Metrics
Exercises
References

Requirements Management
Introduction
Reconciling Differences
Managing Divergent Agendas
Consensus Building
Expectation Revisited: Pascal's Wager
Global Requirements Management
Antipatterns in Requirements Management
Environmental Antipatterns
Divergent Goals
Process Clash
Management Antipatterns
Metric Abuse
Mushroom Management
Other Paradigms for Requirements Management
Requirements Management and Improvisational Comedy
Requirements Management as Scriptwriting
Standards for Requirements Management
ISO 9001
Six Sigma
Capability Maturity Model Integrative (CMMI)
IEEE 830
ISO/IEEE 12207
Usage of Standards
A Case Study: FBI Virtual Case File
Exercises
References

Value Engineering of Requirements
What, Why, When, and How of Value Engineering
What Is Value Engineering?
When Does Value Engineering Occur?
Challenges to Simple Cost versus Risk Analysis
Estimating Using COCOMO and Its Derivatives
COCOMO
WEBMO
COSYSMO
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
Putting It All Together
Exercises
References

Appendix A: Software Requirements Specification for a Smart Home
Appendix B: Software Requirements for a Wastewater Pumping Station Wet Well Control System
Glossary
Index

About the Author

Phillip A. Laplante, PhD, is professor of software engineering and a member of the graduate faculty at The Pennsylvania State University (Penn State). His research, teaching, and consulting focuses on software quality, particularly with respect to requirements, testing, and project management. Before joining Penn State he was a professor and senior academic administrator at several colleges and universities. Dr. Laplante has consulted to Fortune 500 companies, small businesses, the US DOD, and NASA. He has also served on the technology advisory boards for several companies. Prior to his academic career, Dr. Laplante spent nearly a decade as a software engineer and project manager working on avionics (including the Space Shuttle), CAD, and software test systems. He was also director of business development for a software consulting firm. He has authored or edited 29 books and more than 200 papers, articles, reviews, and editorials. Dr. Laplante received his BS, MEng, and PhD in computer science, electrical engineering, and computer science, respectively, from Stevens Institute of Technology and an MBA from the University of Colorado at Colorado Springs. He is licensed in Pennsylvania as a professional engineer and is a Certified Software Development Professional. He is a fellow of the IEEE and SPIE and a member of numerous professional societies, program committees, and boards.

Reviews

Praise for the Bestselling First Edition:

Based on a Penn State course taught by the author, this text provides a review of the theoretical and practical aspects of discovering, analyzing, modeling, validating, testing, and writing requirements for systems of all kinds, particularly software-intensive systems. Incorporating a variety of formal methods, social models, and modern requirements writing techniques useful to practicing engineers, the text is suitable for professional software engineers, systems engineers, and senior undergraduate and graduate students in these fields.
-Book News Inc.

Ask a Question About this Product More...
Write your question below:
Look for similar items by category
People also searched for
This title is unavailable for purchase as none of our regular suppliers have stock available. If you are the publisher, author or distributor for this item, please visit this link.
Back to top