This is the best book on requirements engineering that I have ever read. I is filled with excellent examples from the authors' personal experience and it covers virtually all of the topics that would normally be included in an academic systems and software requirements course. It will be invaluable to both academics and practitioners. Both the authors and their employer are to be congratulated for making available information about real projects that many employers would consider proprietary. Contents......Page 8 Industrial Foreword......Page 18 Academic Foreword......Page 20 Preface......Page 22 Acknowledgments......Page 26 1 Introduction......Page 28 Why Has Requirements Engineering Become So Important?......Page 29 Misconceptions About Requirements Engineering......Page 30 Industrial Challenges in Requirements Engineering......Page 31 A Qualified Full-Time Architect Manages Nonfunctional Requirements......Page 32 Subject Matter Experts Are Available as Needed......Page 33 The Core Project Team Is Full Time and Reports into a Single Chain of Command......Page 34 Requirements Engineering’s Relationship to Traditional Business Processes......Page 35 Valid......Page 36 Unambiguous......Page 37 Consistent......Page 38 Complete......Page 39 Other Project- or Product-Specific Characteristics......Page 40 Characteristics of a Good Requirements Specification......Page 41 Quality and Metrics in Requirements Engineering......Page 42 Summary......Page 43 References......Page 44 2 Requirements Engineering Artifact Modeling......Page 46 Introduction......Page 47 RE Taxonomy......Page 48 Creation of an RE Taxonomy......Page 51 Other Types of Taxonomies Useful in RE......Page 52 Taxonomy Extension......Page 53 Elements of an Artifact Model......Page 54 Creation of a Requirements Engineering Artifact Model......Page 55 Using Templates for Requirement Artifacts......Page 57 Organizational Artifact Model Tailoring......Page 61 Creating a System Life Cycle Process......Page 62 Tips for Requirements Engineering Artifact Modeling......Page 63 References......Page 64 3 Eliciting Requirements......Page 66 Introduction......Page 67 The Missing Ignoramus......Page 68 Not Identifying Requirements Level......Page 69 Failure to Accurately Identify Stakeholders......Page 70 Failure to Collect Enough Information......Page 71 System Boundaries Are Not Identified......Page 72 Understanding of Product Needs Is Incomplete......Page 73 Stakeholders Speak Different Natural and Technical Languages......Page 74 Requirements Elicitation Methods......Page 75 Eliciting Business Goals......Page 76 Ethnographic Techniques......Page 79 Prioritization and Ranking of Requirements......Page 80 Brainstorming Sessions......Page 82 Tabular Elicitation Techniques......Page 83 Process Modeling Techniques......Page 85 What Are Their Characteristics?......Page 89 Example Customer-Specific Business Rules......Page 90 Planning Elicitation Sessions......Page 91 Requirements Elicitation for Incremental Product Development......Page 94 Tips for Gathering Requirements......Page 95 Summary......Page 96 References......Page 97 4 Requirements Modeling......Page 100 Introduction......Page 101 Model-Driven Requirements Engineering (MDRE)......Page 106 Advantages of an MDRE Approach......Page 111 Improved Management of Cross-Cutting Requirements......Page 112 Semiautomatic Generation of Project Plans and Requirements Database Content......Page 113 Organization Not Ready for MDRE......Page 114 Initial Understanding......Page 115 Understanding the Context and How the Product Will Be Used......Page 117 Analyzing Product Features and Creating a Use Case Model......Page 119 Extracting Requirements from the Model......Page 121 Managing Elicitation and Analysis Sessions......Page 123 Conducting Model Reviews......Page 125 All Actors Associated with the System Being Analyzed Should Appear on the Context Diagram......Page 126 Every Diagram Should Have an Associated Description and Status......Page 127 Every Artifact in a Model Should Be Visible on a Diagram......Page 128 Every Concrete Use Case Must Be Defined......Page 129 Use Sequence Rather Than Collaboration Diagrams to Define One Thread/Path for a Process......Page 132 Abstract Use Cases Must Be Realized with Included or Inherited Concrete Use Cases......Page 134 Business Object Modeling......Page 135 Initiate Prototyping Efforts Quickly......Page 139 Model Faults That Should Be Corrected Before a Model Is Completed......Page 140 Artifact Tracing......Page 142 Intermodel Quality Assurance Checks......Page 144 Design Model Initial Construction......Page 145 Tips for Modeling Requirements......Page 147 Summary......Page 148 References......Page 149 5 Quality Attribute Requirements......Page 152 Why Architectural Requirements Are Different Terminology......Page 153 Terminology......Page 154 An Integrated Model......Page 157 Quality Attribute Requirements......Page 158 Quality Attribute Requirements......Page 159 Selecting Significant Stakeholders......Page 167 Identifying Potential Stakeholders......Page 168 Methods for Architectural Requirements Engineering......Page 169 Quality Attribute Workshop......Page 170 Goal Modeling......Page 172 Global Analysis......Page 173 Testing ASRs......Page 181 Case Study: Building Automation System......Page 183 Features That Define the Product......Page 184 Forces That Shape the Architecture......Page 186 Constraints on the Architecture......Page 187 Architectural Drivers......Page 188 Architecture Design......Page 189 Performance Modeling......Page 191 Impact of Business Goals......Page 195 The Notion of Quality......Page 196 Tips for Quality Attribute Requirements......Page 197 Discussion Questions......Page 198 References......Page 199 6 Requirements Engineering for Platforms......Page 202 Background......Page 203 Challenges......Page 204 Practices......Page 205 Define Questionnaires......Page 207 Normalize Stakeholders’ Inputs......Page 208 Define the NFRs for the Platform......Page 209 Derive the NFRs for the Components......Page 210 Check for Consistency......Page 211 Tune the NFRs for Feasibility......Page 212 Define the Questionnaires and Elicit the Stakeholders’ Inputs......Page 213 Unify Terminology......Page 214 Normalizing and Reconciling Stakeholders’ Inputs......Page 215 Tips for RE for Platforms......Page 217 References......Page 218 7 Requirements Management......Page 220 Background......Page 221 Change Management......Page 222 Impact Analysis......Page 224 Identifying Volatile Requirements......Page 225 Planning Releases and Allocating Requirements to Releases......Page 226 Traceability......Page 227 Example Engineering Project-Based Traceability Model......Page 229 Measurement and Metrics......Page 231 Quality Metrics......Page 232 Creation of a Requirements Management Process......Page 234 Measuring Savings with RE Processes......Page 236 Creating a Requirements Database......Page 237 Managing Requirements for Product Lines......Page 240 Best Practices......Page 242 Summary......Page 244 References......Page 245 8 Requirements-Driven System Testing......Page 246 Background......Page 247 Model-Based Testing......Page 249 Testing Performance and Scalability Requirements......Page 254 Rules of Thumb/Best Practices......Page 255 Start Early in the Development Life Cycle......Page 256 Improved Efficiency......Page 257 References......Page 258 9 Rapid Development Techniques for Requirements Evolution......Page 260 Background......Page 261 Early Requirement Elicitation......Page 263 Conflicting or Nonprioritized Requirements......Page 264 Capture Detailed Requirements......Page 265 Time-to-Market......Page 266 Requirements Engineering and Prototype Development in Parallel......Page 267 Identify and Eliminate Stakeholder Conflicts......Page 270 Rapid Iteration of Requirements/Stakeholder Feedback......Page 271 Storyboarding......Page 273 Executable Prototypes......Page 275 Testing......Page 277 Modification Optimization......Page 278 Tips for Prototyping......Page 279 References......Page 281 10 Distributed Requirements Engineering......Page 284 Background......Page 285 Requirements Engineering for Global Projects......Page 287 Organizations for Distributed Projects......Page 288 Managing Distributed RE Efforts......Page 293 Requirements and Collaboration Tools......Page 294 Communications, Culture, and Team Size......Page 296 RE with OEMs and Suppliers......Page 297 Tips for Distributed Requirements Engineering......Page 298 Discussion Questions......Page 299 References......Page 300 11 Hazard Analysis and Threat Modeling......Page 302 Terms Used in Hazard Analysis......Page 303 Hazard Analysis Processes......Page 304 Reflecting Actions into the Requirements Database......Page 307 Hazard Analysis and MDRE......Page 308 Importance of Hazard Analyses......Page 309 Basic Terminology......Page 311 Threat Modeling and MDRE......Page 312 References......Page 313 12 Conclusion......Page 314 Appendix: Configuring and Managing a Requirements Database......Page 318 Introduction......Page 319 Prerequisites for the Use of a Requirements Database......Page 320 RDB Basic Features......Page 322 Automatic Upward Propagation of Attributes......Page 324 Automatic Downward Propagation of Attributes......Page 325 Generation of Product Maps......Page 326 Summary......Page 327 A......Page 328 B......Page 329 C......Page 330 D......Page 331 E......Page 332 F......Page 333 I......Page 334 M......Page 335 O......Page 337 P......Page 338 R......Page 340 S......Page 344 T......Page 345 V......Page 347 W......Page 348
proven Software & Systems Requirements Engineering Techniques
requirements Engineering Is A Discipline Used Primarily For Large And Complex Applications. It Is More Formal Than Normal Methods Of Gathering Requirements, And This Formality Is Needed For Many Large Applications. The Authors Are Experienced Requirements Engineers, And This Book Is A Good Compendium Of Sound Advice Based On Practical Experience. capers Jones, Chief Scientist Emeritus, Software Productivity Research
deliver Feature-rich Products Faster, Cheaper, And More Reliably Using State-of-the-art Ssre Methods And Modeling Procedures. Written By Global Experts, software & Systems Requirements Engineering: In Practice Explains How To Effectively Manage Project Objectives And User Needs Across The Entire Development Lifecycle. Gather Functional And Quality Attribute Requirements, Work With Models, Perform System Tests, And Verify Compliance. You Will Also Learn How To Mitigate Risks, Avoid Requirements Creep, And Sidestep The Pitfalls Associated With Large, Complex Projects.
- define And Prioritize Customer Expectations Using Taxonomies
- elicit And Analyze Functional And Quality Attribute Requirements
- develop Artifact Models, Meta-models, And Prototypes
- manage Platform And Product Line Development Requirements
- derive And Generate Test Cases From Uml Activity Diagrams
- deploy Validation, Verification, And Rapid Development Procedures
- handle Re For Globally Distributed Software And System Development Projects
- perform Hazard Analysis, Risk Assessment, And Threat Modeling
Proven Software & Systems Requirements Engineering Techniques "Requirements engineering is a discipline used primarily for large and complex applications. It is more formal than normal methods of gathering requirements, and this formality is needed for many large applications. The authors are experienced requirements engineers, and this book is a good compendium of sound advice based on practical experience." —Capers Jones, Chief Scientist Emeritus, Software Productivity Research Deliver feature-rich products faster, cheaper, and more reliably using state-of-the-art SSRE methods and modeling procedures. Written by global experts, Software & Systems Requirements Engineering: In Practice explains how to effectively manage project objectives and user needs across the entire development lifecycle. Gather functional and quality attribute requirements, work with models, perform system tests, and verify compliance. You will also learn how to mitigate risks, avoid requirements creep, and sidestep the pitfalls associated with large, complex projects. Define and prioritize customer expectations using taxonomies Elicit and analyze functional and quality attribute requirements Develop artifact models, meta-models, and prototypes Manage platform and product line development requirements Derive and generate test cases from UML activity diagrams Deploy validation, verification, and rapid development procedures Handle RE for globally distributed software and system development projects Perform hazard analysis, risk assessment, and threat modeling Publisher's Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product. Proven Software & Systems Requirements Engineering Techniques "Requirements engineering is a discipline used primarily for large and complex applications. It is more formal than normal methods of gathering requirements, and this formality is needed for many large applications. The authors are experienced requirements engineers, and this book is a good compendium of sound advice based on practical experience." --Capers Jones, Chief Scientist Emeritus, Software Productivity Research Deliver feature-rich products faster, cheaper, and more reliably using state-of-the-art SSRE methods and modeling procedures. Written by global experts, Software & Systems Requirements In Practice explains how to effectively manage project objectives and user needs across the entire development lifecycle. Gather functional and quality attribute requirements, work with models, perform system tests, and verify compliance. You will also learn how to mitigate risks, avoid requirements creep, and sidestep the pitfalls associated with large, complex projects.