Requirements Engineering for Software



Similar documents
Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

SOFTWARE TESTING AS A SERVICE

Engineering Design. Software. Theory and Practice. Carlos E. Otero. CRC Press. Taylor & Francis Croup. Taylor St Francis Croup, an Informa business

THE COMPLETE PROJECT MANAGEMENT METHODOLOGY AND TOOLKIT

Study Guide. ScrumMaster. The. James Schiel. CRC Press. Taylor & Francis Croup, an Inform* business AN AUERBACH BOOK. CRC Press (s an imprint of the

Improving Business Process Performance

Information Technology and Organizational Learning

Implementation. Business-Driven IT-Wide Agile (Scrum) and Kanban (Lean) Andrew T. Pham and David K. Pham. An Action Guide for Business and IT Leaders

Management. ITIL Release. Dave Howard. A Hands-on Guide. CRC Press. Taylor & Francis Group. Taylor St Francis Croup, an Informa business

Development and Management

RESILIENT. SECURE and SOFTWARE. Requirements, Test Cases, and Testing Methods. Mark S. Merkow and Lakshmikanth Raghavan. CRC Press

Quality Management. Theory and Application PETER D. MAUCH. Ltfi) CRC Press. \ V J Taylor & Francis Group. ^ ^ Boca Raton London New York

Ctfo MANAGEMENT SECURITY PATCH. Felicia M. Nicastro. Second Edition. CRC Press. VC#*' J Taylor & Francis Group / Boca Raton London New York

Implementing the Project Management Balanced Scorecard

CONTENTS Preface xv 1 Introduction

IMPROVEMENT THE PRACTITIONER'S GUIDE TO DATA QUALITY DAVID LOSHIN

SECOND EDITION THE SECURITY RISK ASSESSMENT HANDBOOK. A Complete Guide for Performing Security Risk Assessments DOUGLAS J. LANDOLL

Requirements Engineering

Software Requirements, Third Edition

Master Data Management

CLINICAL DATA MANAGEMENT

Engineering. Software. Eric J. Braude. Michael E. Bernstein. Modern Approaches UNIVERSITATSBIBLIOTHEK HANNOVER ' TECHNISCHE INFORM ATIONSBIBLIOTHEK

CHAPMAN & HALL/CRC INNOVATIONS IN SOFTWARE ENGINEERING AND SOFTWARE DEVELOPMENT. Software Test Attacks to Break Mobile and Embedded Devices

Advances in Network Management

CONTENTS. Preface. Acknowledgements. 1. Introduction and Overview 1 Introduction 1 Whatis the CMMI"? 2 What the CMMI* is Not 3 What are Standards?

Contents. xvii. Preface. xxi. Foreword. 1 Introduction 1. Preamble 1. Scope and Structure of the Book 3. Acknowledgments 4 Endnotes 5

Business Architecture

Governance Simplified

Effective Methods for Software and Systems Integration

ANDROID SECURITY ATTACKS AND DEFENSES ABHISHEK DUBEY I ANMOL MISRA. ( r öc) CRC Press VV J Taylor & Francis Group ^ "^ Boca Raton London New York

Business Analysis Essentials

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations

Schneps, Leila; Colmez, Coralie. Math on Trial : How Numbers Get Used and Abused in the Courtroom. New York, NY, USA: Basic Books, p i.

Comparison of Various Requirements Elicitation Techniques

Object-Oriented Systems Analysis and Design

Software Maintenance Management

Partnering for Project Success: Project Manager and Business Analyst Collaboration

Requirements Engineering: A Roadmap

EFFECTIVE NON-PROFIT MANAGEMENT

Frank Tsui. Orlando Karam. Barbara Bernal. State. University. Polytechnic. Ail of Southern JONES & BARTLETT LEARNING

Design of Enterprise Systems

Lean Management System LMS:2OI2

CREATING A THIRD EDITION DAVID MANN

Security Metrics. A Beginner's Guide. Caroline Wong. Mc Graw Hill. Singapore Sydney Toronto. Lisbon London Madrid Mexico City Milan New Delhi San Juan

Business Analyst Boot Camp Course BA101; 5 Days, Instructor-led

Project Management Concepts, Methods, and Techniques

BUSINESS ANALYSIS FDR INTELLIGENCE

Your Agile Team s Indispensible Asset

From Agile by Design. Full book available for purchase here.

Project Management Theory and Practice

Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation

Mining. Practical. Data. Monte F. Hancock, Jr. Chief Scientist, Celestech, Inc. CRC Press. Taylor & Francis Group

COPYRIGHTED MATERIAL. Contents. Acknowledgments Introduction

for Research and Guiding Innovation for Positive R&D Outcomes Lory Mitchell Wingate

Project Management Guidelines

Computer Security Literacy

BIOTECHNOLOGY OPERATIONS

Networking. Systems Design and. Development. CRC Press. Taylor & Francis Croup. Boca Raton London New York. CRC Press is an imprint of the

What s a BA to do with Data? Discover and define standard data elements in business terms. Susan Block, Program Manager The Vanguard Group

The Green and Virtual Data Center

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Lean and Agile in Safety-critical Software Development Research and Practice. Henrik Jonsson

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

A Simulation-Based lntroduction Using Excel

Quantification and Traceability of Requirements

Agile Systems Engineering: What is it and What Have We Learned?

Supply Chain Risk. An Emerging Discipline. Gregory L. Schlegel. Robert J. Trent

SOFTWARE TESTING. A Craftsmcm's Approach THIRD EDITION. Paul C. Jorgensen. Auerbach Publications. Taylor &. Francis Croup. Boca Raton New York

Networking. Cloud and Virtual. Data Storage. Greg Schulz. Your journey. effective information services. to efficient and.

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

RE tools survey (part 1, collaboration and global software development in RE tools)

Bottom-Line Management

Green Project Management

Securing the Cloud. Cloud Computer Security Techniques and Tactics. Vic (J.R.) Winkler. Technical Editor Bill Meine ELSEVIER

Customer and Business Analytic

BAL2-1 Professional Skills for the Business Analyst

Software Development Process

PROJECT MANAGEMENT PROFESSIONAL CERTIFIED ASSOCIATE IN PROJECT MANAGEMENT (PMP & CAPM) EXAM PREPARATION WORKSHOP

JOURNAL OF OBJECT TECHNOLOGY

Object-Oriented Design

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Agile Methods. Introduction to. AAddison-Wesley. Sondra Ashmore, Ph.D. Kristin Runyan. Capetown Sydney Tokyo Singapore Mexico City

Warning Signs and the Red Flag System

Story Card Based Agile Software Development

Certified Software Quality Engineer (CSQE) Body of Knowledge

A Guide to the Business Analysis Body of Knowledge (BABOK Guide) Version 2.0

Sub Code: CP7007 Sub Name: SOFTWARE REQUIREMENTS ENGINEERING Branch / Year: ME CSE / I Year Staff in charge: Dr.M.Senthil Kumar

DRAFT TABLE OF CONTENTS 1. Software Quality Assurance By Dr. Claude Y Laporte and Dr. Alain April

Data Center Storage. Hubbert Smith. Implementation, and Management »C) Cost-Effective Strategies, CRC Press J Taylor & Francis Group

Business Analyst Work Plan. Presented by: Billie Johnson, CBAP CSM

2 Requirements Elicitation: A Survey of Techniques, Approaches, and Tools

Advancing Your Business Analysis Career Intermediate and Senior Role Descriptions

TABLE OF CONTENTS. Preface About the Author Acknowledgments About APICS Web Added Value

Agile. Jutta Eckstein. Software Development. Staying Agile in a. Global World. «** Distributed Teams. Dorset House Publishing 3143 Broadway, Suite 2B

TABLE OF CONTENTS CHAPTER TITLE PAGE

Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti

Blending Traditional and Agile Project Documentation

Transcription:

Requirements Engineering for Software and Systems Second Edition Phillip A. Laplante CRC Press Taylor & Francis Group Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Croup, an Informs business AN AUERBACH BOOK

Contents Acknowledgments About the Author Introduction xiii xv xvii 1 Introduction to Requirements Engineering 1 Motivation 1 What Is Requirements Engineering? 2 You Probably Don't Do Enough Requirements Engineering 3 What Are Requirements? 3 Requirements versus Goals 4 Requirements Level Classification 4 Requirements Specifications Types 6 Functional Requirements 6 Nonfunctional Requirements 7 Domain Requirements 10 Domain Vocabulary Understanding 11 Requirements Engineering Activities 11 Requirements Elicitation/Discovery 11 Requirements Analysis and Agreements 12 Requirements Representation 12 Requirements Validation 12 Requirements Management 13 Bodies of Knowledge 13 Requirements Engineer 17 Requirements Engineering Paradigms 17 Requirements Engineer as Software Systems Engineer 18 Requirements Engineer as Subject Matter Expert 18 Requirements Engineer as Architect 18 Requirements Engineer as Business Process Expert 18 Ignorance as Virtue 18 v

vi Contents Customer's Role 19 Problems with Traditional Requirements Engineering 20 Complexity 21 Four Dark Comers 22 Difficulties in Enveloping System Behavior 23 Danger of "All" in Specifications 25 Exercises 25 References 26 2 Preparing for Requirements Elicitation 29 Product Mission Statement 29 Encounter with a Customer 30 Stakeholders 32 Negative Stakeholders 33 Stakeholder Identification 33 Stakeholder Questions 33 Stakeholder/Customer Classes 35 Stakeholder Characteristics 36 Customer Wants and Needs 37 What Do Customers Want? 37 What Don't Customers Want? 39 Why Do Customers Change Their Minds? 40 Stakeholder Prioritization 41 Communicating with Customers and Other Stakeholders 43 Managing Expectations 44 Stakeholder Negotiations 45 Uncovering Stakeholder Goals 46 Exercises 47 References 48 3 Requirements Elicitation... 49 Introduction 49 Preparing for Requirements Elicitation 50 Elicitation Techniques Survey 51 Brainstorming 51 Card Sorting 52 Designer as Apprentice 53 Domain Analysis 54 Ethnographic Observation 55 Goal-Based Approaches 56 Group Work 57 Interviews 58 Introspection 59

Contents vii Joint Application Design (JAD) 60 Laddering 61 Protocol Analysis 62 Prototyping 62 Quality Function Deployment 63 Questionnaires/Surveys 66 Repertory Grids 68 Scenarios 68 Task Analysis 69 User Stories 69 Viewpoints 70 Workshops 71 Elicitation Summary 71 Which Combination of Requirements Elicitation Techniques Should Be Used? 72 Prevalence of Requirements Elicitation Techniques 72 Eliciting Hazards 73 Misuse Cases 77 Antimodels 77 Formal Methods 78 Exercises 78 References 79 4 Writing the Requirements Document 81 Requirements Agreement and Analysis 81 Requirements Representation Approaches 82 IEEE Standard 830-1998 85 IEEE Standard 830 Recommendations on Representing Nonfunctional Requirements 86 IEEE Standard 830 Recommendations on Representing Functional Requirements 87 Operating System 88 Command Validation 89 ISO/IEC Standard 25030 90 Use Cases 92 Requirements Document 93 Users of a Requirements Document 93 Requirements Document Requirements 94 Preferred. Writing Style 95 Text Structure Analysis 95 Requirement Format 96 Use of Imperatives 98 Behavioral Specifications 98

viii Contents Best Practices and Recommendations 100 Exercises 102 References 103 5 Requirements Risk Management 105 What Is Requirements Risk Management? 105 Requirements Validation and Verification 108 Techniques for Requirements V&V 109 Walkthroughs 110 Inspections 110 Goal-Based Requirements Analysis 110 Requirements Understanding Ill Validating Requirements Use Cases 112 Prototyping 113 Requirements Validation and Verification Matrices 113 Importance ofmeasurement in Requirements Validation and Verification 115 Goal/Question/Metric Analysis 116 Standards for Validation and Verification 116 IEEE Standard 830 117 Correctness 117 Ambiguity 119 Completeness 120 Consistency 120 Ranking 121 Verifiability 121 Modifiability 122 Traceability 122 Example Validation of Requirements 122 NASA Requirements Testing 124 NASA ARM Tool 124 Imperatives 126 Continuances 126 Directives 127 Options 127 Weak Phrases 127 Incomplete 128 Subjects 131 Specification Depth 131 Readability Statistics 131 Summary of NASA Metrics 133 Exercises 136 References 136

Contents ix 6 Formal Methods 139 Motivation 139 What Are Formal Methods? 140 Formal Methods Classification 142 A Little History 142 Using Formal Methods 143 Examples 143 Formalization of Train Station in B 144 Formalization of Space Shuttle Flight Software Using MurO 147 Formalization of an Energy Management System Using Category Theory 148 Example: Energy Management System 149 Requirements Validation 152 Theorem Proving 153 Program Correctness 154 Hoare Logic 154 Model Checking 159 Integrated Tools 159 Objections, Myths, and Limitations 159 Objections and Myths 160 Limitations of Formal Methods 162 Bowen and Hinchey's Advice 163 Exercises 164 References 164 7 Requirements Specification and Agile Methodologies 167 Introduction to Agile Methodologies 167 Principles behind Agile Manifesto 168 Extreme Programming (XP) 170 Scrum 171 Requirements Engineering for Agile Methodologies 172 General Practices in Agile Methodologies 173 Example Application of Agile Software Development 173 When Is Agile Recommended? 175 Agile Requirements Best Practices 175 Requirements Engineering in XP 177 Requirements Engineering in Scrum 177 Writing User Stories 178 Agile Requirements Engineering 180 Story-Test-Driven Development 181 Challenges for Requirements Engineering in Agile Methodologies 182 Exercises 183 References 183

x Contents 8 Tool Support for Requirements Engineering 185 Introduction 185 Traceability Support 187 Requirements Linkage Traceability Matrix 188 Requirements Source Traceability Matrix 190 Requirements Stakeholder Traceability Matrix 191 Requirements Management Tools 192 Open Source Requirements Engineering Tools 193 FreeMind 193 Open Source Requirements Management Tool (OSRMT) 196 FitNesse 196 Requirements Engineering Tool Best Practices 198 Elicitation Support Technologies 198 Using Wikis for Requirements Elicitation 199 Mobile Technologies 199 Virtual Environments 199 Content Analysis 200 Metrics 201 Exercises 202 References 202 9 Requirements Management 205 Introduction 205 Reconciling Differences 206 Managing Divergent Agendas 206 Consensus Building 207 Expectation Revisited: Pascal's Wager 209 Global Requirements Management 211 Antipatterns in Requirements Management 212 Environmental Antipatterns 213 Divergent Goals 213 Process Clash 214 Management Antipatterns 214 Metric Abuse 214 Mushroom Management 216 Other Paradigms for Requirements Management 217 Requirements Management and Improvisational Comedy 217 Requirements Management as Scriptwriting 218 Standards for Requirements Management 219 ISO 9001 221 Six Sigma 221 Capability Maturity Model Integrative (CMMI) 222 IEEE 830 223

Contents xi ISO/IEEE 12207 224 Usage of Standards 224 A Case Study: FBI Virtual Case File 225 Exercises 226 References 227 10 Value Engineering of Requirements 229 What, Why, When, and How of Value Engineering 229 What Is Value Engineering? 230 When Does Value Engineering Occur? 231 Challenges to Simple Cost versus Risk Analysis 232 Estimating Using COCOMO and Its Derivatives 234 COCOMO 234 WEBMO 235 COSYSMO 237 Estimating Using Function Points 238 Function Point Cost Drivers 239 Feature Points 240 Use Case Points 240 Requirements Feature Cost Justification 241 Return on Investment 241 Net Present Value 242 Internal Rate of Return 243 Profitability Index 244 Payback Period 245 Discounted Payback 245 Putting It All Together 246 Exercises 246 References 247 Appendix A: Software Requirements Specification for a Smart Home 249 Appendix B: Software Requirements for awastewater Pumping Station WetWell Control System 275 Glossary. 287 Index 293