Requirements Engineering for Software and Systems

By (author) Laplante, Phillip A.

As requirements engineering continues to be recognized as the key to on-time and on-budget delivery of software and systems projects, many engineering programs have made requirements engineering mandatory in their curriculum. In addition, the wealth of new software tools that have recently emerged is empowering practicing engineers to improve their requirements engineering habits. However, these tools are not easy to use without appropriate training. Filling this need, Requirements Engineering for Software and Systems, Second Edition has been vastly updated and expanded to include about 30 percent new material. In addition to new exercises and updated references in every chapter, this edition updates all chapters with the latest applied research and industry practices. It also presents new material derived from the experiences of professors who have used the text in their classrooms. Improvements to this edition include: An expanded introductory chapter with extensive discussions on requirements analysis, agreement, and consolidation An expanded chapter on requirements engineering for Agile methodologies An expanded chapter on formal methods with new examples An expanded section on requirements traceability An updated and expanded section on requirements engineering tools New exercises including ones suitable for research projects Following in the footsteps of its bestselling predecessor, the text illustrates key ideas associated with requirements engineering using extensive case studies and three common example systems: an airline baggage handling system, a point-of-sale system for a large pet store chain, and a system for a smart home. This edition also includes an example of a wet well pumping system for a wastewater treatment station. With a focus on software-intensive systems, but highly applicable to non-software systems, this text provides a probing and comprehensive review of recent developments in requirements engineering in high integrity systems.

「Nielsen BookData」より


  • 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

「Nielsen BookData」より


書名 Requirements Engineering for Software and Systems
著作者等 Laplante, Phillip A.
シリーズ名 Applied Software Engineering Series
出版元 Auerbach Publishers Inc.
刊行年月 2013.11.15
版表示 2 Rev ed
ページ数 324p
大きさ H235 x W156
ISBN 9781466560819
言語 英語
出版国 イギリス