Managing software requirements : a unified approach / Dean Leffingwell, Don Widrig.
Idioma: Inglés Series Addison-Wesley Object Technology seriesDetalles de publicación: Indianapolis : Addison-Wesley, 2000Descripción: 491 pTipo de contenido:- texto
- sin mediación
- volumen
- 0201615932
Tipo de ítem | Biblioteca actual | Signatura topográfica | Estado | Fecha de vencimiento | Código de barras | Reserva de ítems | |
---|---|---|---|---|---|---|---|
Libro | Facultad Regional Santa Fe - Biblioteca "Rector Comodoro Ing. Jorge Omar Conca" | 004.41 L521 (Navegar estantería(Abre debajo)) | Sólo Consulta | 8707 |
CONTENIDO
Foreword xv
Preface xxi
Introduction 1
Chapter 1. The Requirements Problem 5
The Goal 5
A Look at the Data 6
Root Causes of Project Success and Failure 7
The Frequency of Requirements Errors 9
The High Cost of Requirements Errors 10
Conclusion 13
Chapter 2. Introduction to Requirements Management 15
Definitions 15
What Is Requirements Management? 16
Application of Requirements Management Techniques 17
Systems Applications 18
The Road Map 18
The Problem Domain 19
Stakeholder Needs 19
Moving Toward the Solution Domain 20
Features of the System 20
Software Requirements 20
An Introduction to Use Cases 21
Chapter 3. The Software Team 23
Software Development as a Team Activity 24
Requisite Team Skills for Effective Requirements Management 25
Team Members Have Different Skills 25
The Organization of Software Teams 26
The Case Study 26
Background for the Case Study 27
The HOLIS Software Development Team 27
Team Skill 1. Analyzing the Problem 31
Chapter 4. The Five Steps in Problem Analysis 33
Gain Agreement on the Problem Definition 35
The Problem Statement 35
Understand the Root Causes-The Problem Behind the Problem 36
Addressing the Root Cause 38
Identify the Stakeholders and the Users 39
Define the Solution System Boundary 41
Identify the Constraints to Be Imposed on the Solution 44
Chapter 5. Business Modeling 49
Purpose of Business Modeling 50
Using Software Engineering Techniques for Business Modeling 50
Choosing the Right Technique 51
The Unified Modeling Language (UML) 51
Business Modeling Using UML Concepts 52
From the Business Models to the Systems Model 54
When to Use Business Modeling 55
Chapter 6. Systems Engineering of Software-Intensive Systems 57
What Is Systems Engineering? 58
Pragmatic Principles of Systems Engineering 59
The Composition and Decomposition of Complex Systems 59
Requirements Allocation in Systems Engineering 61
On Derived Requirements 61
A Quiet Revolution 62
When Generations Collide: Graybeard Meets Young Whippersnapper 63
Avoiding the Stovepipe System Problem 65
When Subsystems Are Subcontracts 65
Making It Work Out Right 66
The Case Study 68
Preliminary User Needs 68
Problem Analysis 68
HOLIS: The System, Actors, and Stakeholders 70
HOLIS Systems Engineering 72
The Subsystems of HOLIS 73
Team Skill 2. Understanding User Needs 79
Chapter 7. The Challenge of Requirements Elicitation 81
Barriers to Elicitation 82
The "Undiscovered Ruins" Syndrome 83
The "User and the Developer" Syndrome 83
Techniques for Requirements Elicitation 84
Chapter 8. The Features of a Product or System 87
Stakeholder and User Needs 87
Features 88
Managing Complexity by Picking the Level of Abstraction 90
Attributes of Product Features 91
Chapter 9. Interviewing 93
The Interview Context 94
Value-Added Context 94
The Moment of Truth: The Interview 95
Compiling the Need Data 99
The Analyst's Summary: 10 + 10 + 10 es distinto 30 99
The Case Study 100
A Note on Questionnaires 101
Chapter 10. Requirements Workshops 103
Preparing for the Workshop 104
Selling the Concept 104
Ensuring the Participation of the Right Stakeholders 105
Logistics 105
"Warm-Up Materials" 105
Role of the Facilitator 106
Setting the Agenda 108
Running the Workshop 109
Brainstorming and Idea Reduction 109
Production and Follow-Up 109
Chapter 11. Brainstorming and Idea Reduction 113
Live Brainstorming 114
Idea Reduction 116
Pruning 116
Grouping Ideas 117
Feature Definition 117
Prioritization 118
Web-Based Brainstorming 120
The Case Study: The HOLIS 2000 Requirements Workshop 120
Attendees 121
The Workshop 122
The Session 122
Chapter 12. Storyboarding 125
Types of Storyboards 126
What Storyboards Do 127
Tools and Techniques for Storyboarding 128
Tips for Storyboarding 129
Chapter 13. Applying Use Cases 135
Building the Use-Case Model 136
Applying Use Cases to Requirements Elicitation 138
Case Study: The Use Cases for HOLIS 139
Chapter 14. Role Playing 141
How to Role Play 142
Techniques Similar to Role Playing 143
Scripted Walkthroughs 143
CRC (Class-Responsibility-Collaboration) Cards 144
Chapter 15. Prototyping 147
Types of Prototypes 147
Requirements Prototypes 149
What to Prototype 150
Building the Prototype 150
Evaluating the Results 151
Team Skill 3. Defining the System 155
Chapter 16. Organizing Requirements Information 159
Organizing Requirements of Complex Hardware and Software Systems 161
Organizing Requirements for Product Families 163
On "Future'' Requirements 165
Business and Marketing Requirements versus Product Requirements 165
The Case Study 166
Chapter 17. The Vision Document 169
Components of the Vision Document 170
The "Delta Vision'' Document 174
Vision Document for Release 1.0 174
Vision Document for Version 2.0 175
The Delta Vision Document in a Legacy System Environment 177
Chapter 18. The Champion 179
The Role of the Product Champion 180
The Product Champion in a Software Product Environment 180
The Product Champion in an IS/IT Shop 183
Team Skill 4. Managing Scope 187
Chapter 19. The Problem of Project Scope 191
Components of Project Scope 191
The Hard Question 194
Chapter 20. Establishing Project Scope 195
Setting Priorities 197
Assessing Effort 197
Adding the Risk Element 199
Reducing Scope 200
A Reasonable First Estimate 200
The Case Study 203
Chapter 21. Managing Your Customer 207
Engaging Customers to Manage Their Project Scope 207
Communicating the Result 208
Negotiating with the Customer 208
Managing the Baseline 209
Official Change 210
Unofficial Change 211
Chapter 22. Scope Management and Software Development Process Models 213
The Waterfall Model 214
The Spiral Model 215
The Iterative Approach 218
Lifecycle Phases 219
Iterations 219
Workflows 220
What to Do, What to Do ... 222
Team Skill 5. Refining the System Definition 225
Chapter 23. Software Requirements 227
Definition of Software Requirements 228
Relationship between Features and Software Requirements 230
The Requirements Dilemma: What versus How 231
Exclude Project Information 231
Exclude Design Information 232
More on Requirements versus Design 234
Iterating Requirements and Design 236
A Further Characterization of Requirements 236
Functional Software Requirements 237
Nonfunctional Software Requirements 237
Design Constraints 242
Are Design Constraints True Requirements? 245
Using Parent-Child Requirements to Increase Specificity 246
Organizing Parent-Child Requirements 247
Looking Ahead 248
Chapter 24. Refining the Use Cases 249
Questions to Ask 250
When Are Use Cases Not the Best Choice? 250
The Redundancy Problem 251
Refining Use-Case Specifications 252
How Use Cases Evolve 253
The Scope of a Use Case 254
The Case Study: Anatomy of a Simple Use Case 255
Define the Actor(s) 255
Define the Use Case by Naming It 255
Write a Brief Description 256
Define a Flow of Events 256
Identify Pre- and Postconditions 258
Looking Ahead 260
Chapter 25. A Modern Software Requirements Specification 261
The Modern SRS Package 262
Who Owns the SRS Package? 264
Organizing the Modern SRS Package 264
Documenting Functional Requirements 268
Looking Ahead 270
Chapter 26. On Ambiguity and Specificity 271
Mary Had a Little Lamb 274
Techniques for Disambiguation 276
What to Do? 277
Chapter 27. Quality Measures of Software Requirements 279
Nine Quality Measures 280
Correct Requirements 280
Unambiguous Requirements 281
Completeness of the Requirements Set 282
Consistency in the Requirements Set 284
Requirements Ranked for Importance and Stability 285
Verifiable Requirement 286
Modifiable Requirements Set 287
Traceable Requirements 288
Understandable Requirements 289
Quality Measures for the Use-Case Model 289
Use-Case Specifications 290
Use-Case Actors 291
Quality Measures of the Modern SRS Package 292
A Good Table of Contents 292
A Good Index 293
A Revision History 294
A Glossary 295
Chapter 28. Technical Methods for Specifying Requirements 297
Pseudocode 298
Finite State Machines 299
Decision Trees and Decision Tables 301
Graphical Decision Trees 301
Activity Diagrams 302
Entity-Relationship Models 303
Object-Oriented Modeling 304
Data Flow Diagrams 305
Maintenance of Specifications 307
Case Study 308
Team Skill 6. Building the Right System 311
Chapter 29. Building the Right System Right: Overview 313
Continually Confirm that the Development Is on Track 314
Principles of Software Verification 314
The Cost of Verification 315
Verification at All Levels 316
The Reason for Verification 316
Confirm that the Development Results Are Correct 317
Learn How to Cope with Change that Occurs during the Development Process 318
Looking Ahead 318
Chapter 30. From Requirements to Implementation 319
Mapping Requirements to Design and Code 320
The Orthogonality Problem 320
Object Orientation 321
The Use Case as a Requirement 322
Managing the Transition 323
Modeling Software Systems 323
Role of the Use-Case Model in Architecture 326
Realizing Use Cases in the Design Model 327
Structural and Behavioral Aspects of Collaborations 328
Using Collaborations to Realize Sets of Individual Requirements 328
From Design to Implementation 330
Summary 330
Looking Ahead 331
Chapter 31. Using Traceability to Support Verification 333
The Role of Traceability in Requirements Verification 333
Implicit versus Explicit Traceability 335
Additional Traceability Options to Consider 336
Using Traceability Tools 337
Maintenance of Traceability Relationships 340
Proceeding without Traceability Tools 341
Omitted Verification Relationships 342
Excess Verification Relationships 344
Thinking about Verification and Traceability 345
Looking Ahead 346
Chapter 32. Validating the System 347
Validation 348
Validation Testing 348
Validation Traceability 350
Requirements-Based Testing 350
Case Study: Testing Use Cases 350
Test Case 1 Description 351
Tracing Test Cases 351
Testing Discrete Requirements 353
Omitted Validation Relationships 354
Excess Validation Relationships 355
Testing Design Constraints 356
Looking Ahead 357
Chapter 33. Using ROI to Determine the V
V Effort 359
Depth versus Coverage 360
V
V Coverage 361
What to Verify and Validate 361
Verify and Validate Everything 362
Use a Hazard Analysis to Determine V
V Necessities 363
Hazard Analysis as Return on Investment (ROI) 364
Looking Ahead 365
Chapter 34. Managing Change 367
External Factors 367
Internal Factors 369
"We Have Met the Enemy, and They Is Us" 369
A Process for Managing Change 371
Recognize that Change Is Inevitable, and Plan for It 371
Baseline the Requirements 372
Establish a Single Channel to Control Change 373
Use a Change Control System to Capture Changes 373
Manage Change Hierarchically 376
Requirements Configuration Management 379
Tool-Based Support for Change Management 379
Elements Impacted by Change 381
Audit Trail of Change History 382
Configuration Management and Change Management 384
Summary 384
Chapter 35. Getting Started 389
Dedication 389
What We've Learned So Far 389
Introduction 389
Analyzing the Problem 390
Understanding User Needs 391
Defining the System 392
Managing Scope 393
Refining the System Definition 394
Building the Right System 394
Your Prescription for Requirements Management 395
Simplifying Assumptions 396
The Recipe 396
Now, On to the Next Release! 399
Appendix A HOLIS Artifacts 403
Appendix B Vision Document Template 435
Appendix C Modern SRS Package Template 447
Appendix D Requirements Management in the SEI-CMM and within ISO 9000 457
Appendix E Requirements Management in the Rational Unified Process 465
Bibliography 477
Index 481
No hay comentarios en este titulo.