Зарегистрироваться
Восстановить пароль
FAQ по входу

Leffingwell Dean, Widrig Don. Managing Software Requirements

  • Файл формата pdf
  • размером 4,83 МБ
  • Добавлен пользователем
  • Описание отредактировано
Leffingwell Dean, Widrig Don. Managing Software Requirements
Addison Wesley, 1999. — 377 p. — ISBN: 0-201-61593-2.
"A comprehensive solution to the requirements challenges faced by every development team. Full of insight and ideas all developers can learn from." --Ivar Jacobson"Many projects fail for the simple reason that the developers fail to build the right thing: They either deliver a system that does not meet the expectations of its intended users, or they deliver a system that focuses on secondary functions at the expense of its primary use. Drawing on their extensive experience, Dean and Don demonstrate how to employ an industrial-strength requirements process, one that helps ensure you will build the right thing. Developers of any kind of application should read this book." --Grady Booch Despite the wealth of development knowledge, experience, and tools generally available today, a substantial percentage of software projects continue to fail, often because requirements are not correctly determined and defined at the outset, or are not managed correctly as the project unfolds. Clients do not always know or express their needs precisely, and too often designers and developers do not ask the right questions at the right times. As a result, projects often spin out of control as "feature bloat" and shifting priorities cause budgets and schedules to exceed expectations. Managing Software Requirements focuses on this critical cause of failure and offers a practical, proven approach to building systems that meet customers' needs--on time and within budget. The authors are skilled practitioners who have spent their careers in the trenches building high-quality applications, including safety-critical, real-time systems. Using an informal, approachable style, their own war stories, and a comprehensive case study they show how designers and developers can effectively identify requirements by employing the power of use cases and more traditional forms of requirements expression. The book illustrates proven techniques for determining, implementing, verifying, and validating requirements. It describes six vital Team Skills for managing requirements throughout the lifecycle of a project: Analyzing the Problem, Understanding User Needs, Defining the System, Managing Scope, Refining the System Definition, and Building the Right System. Managing Software Requirements specifically addresses the ongoing challenge of managing change and describes a process for assuring that project scope is successfully defined and agreed upon by all stakeholders. Topics covered include: *The five steps in problem analysis *Business modeling and system engineering *Techniques for eliciting requirements from clients, users, developers, and other stakeholders *Applying and refining use cases *Prototyping *Organizing and managing requirements information *Establishing project scope and managing customers *Using both informal and technical methods for specifying requirements *How to measure and improve the quality of your product's requirements *Moving from requirements to implementation *Verifying and validating the system *Managing change The book concludes with a step-by-step guide to incorporating these powerful techniques into future projects.
Foreword
The Rock Problem
About This Book
Context and Acknowledgments
Requirements Lessons from Building Software for Others
Lessons from Building High-Assurance Systems
Lessons from the Requirements Management Business
Experiences at Rational Software
The Requirements Problem
The Goal
A Look at the Data
Root Causes of Project Success and Failure
Introduction to Requirements Management
Definitions
Application of Requirements Management Techniques
The Road Map
The Software Team
Software Development as a Team Activity
The Case Study
Team Skill 1: Analyzing the Problem
The Five Steps in Problem Analysis
Step 1: Gain Agreement on the Problem Definition
Step 2: Understand the Root Causes—The Problem Behind the Problem
Step 3: Identify the Stakeholders and the Users
Step 4: Define the Solution System Boundary
Step 5: Identify the Constraints to Be Imposed on the Solution
Looking Ahead
Business Modeling
Purpose of Business Modeling
Using Software Engineering Techniques for Business Modeling
From the Business Models to the Systems Model
When to Use Business Modeling
Looking Ahead
Systems Engineering of Software-Intensive Systems
What Is Systems Engineering?
Requirements Allocation in Systems Engineering
The Case Study
Team Skill 1 Summary
Team Skill 2: Understanding User Needs
The Challenge of Requirements Elicitation
Barriers to Elicitation
Techniques for Requirements Elicitation
The Features of a Product or System
Stakeholder and User Needs
Features
Interviewing
The Interview Context
Value-Added Context
The Moment of Truth: The Interview
Compiling the Need Data
A Note on Questionnaires
Requirements Workshops
Accelerating the Decision Process
Preparing for the Workshop
Role of the Facilitator
Setting the Agenda
Running the Workshop
Brainstorming and Idea Reduction
Live Brainstorming
Idea Reduction
Web-Based Brainstorming
The Case Study: The HOLIS 2000 Requirements Workshop
Storyboarding
Types of Storyboards
What Storyboards Do
Tools and Techniques for Storyboarding
Tips for Storyboarding
Applying Use Cases
Building the Use-Case Model
Applying Use Cases to Requirements Elicitation
Case Study: The Use Cases for HOLIS
Role Playing
How to Role Play
Techniques Similar to Role Playing
Prototyping
Types of Prototypes
Requirements Prototypes
What to Prototype
Building the Prototype
Evaluating the Results
Team Skill 2 Summary
Team Skill 3: Defining the System
Organizing Requirements Information
Organizing Requirements of Complex Hardware and Software Systems
Organizing Requirements for Product Families
On "Future" Requirements
Business and Marketing Requirements versus Product Requirements
The Case Study
The Vision Document
Components of the Vision Document
The "Delta Vision" Document
The Champion
The Role of the Product Champion
The Product Champion in a Software Product Environment
The Product Champion in an IS/IT Shop
Team Skill 3 Summary
V: Team Skill 4: Managing Scope
The Problem of Project Scope
Components of Project Scope
The Hard Question
Establishing Project Scope
The Requirements Baseline
Setting Priorities
Assessing Effort
Adding the Risk Element
Reducing Scope
The Case Study
Managing Your Customer
Engaging Customers to Manage Their Project Scope
Communicating the Result
Negotiating with the Customer
Managing the Baseline
Scope Management and Software Development Process Models
The Waterfall Model
The Spiral Model
The Iterative Approach
What to Do, What to Do …
Team Skill 4 Summary
Team Skill 5: Refining the System Definition
Software Requirements
Definition of Software Requirements
Relationship between Features and Software Requirements
The Requirements Dilemma: What versus How
More on Requirements versus Design
A Further Characterization of Requirements
Using Parent-Child Requirements to Increase Specificity
Looking Ahead
Refining the Use Cases
Questions to Ask
Refining Use-Case Specifications
The Case Study: Anatomy of a Simple Use Case
Looking Ahead
A Modern Software Requirements Specification
The Modern SRS Package
Documenting Functional Requirements
Looking Ahead
On Ambiguity and Specificity
Finding the "Sweet Spot"
Mary Had a Little Lamb
Techniques for Disambiguation
What to Do?
Quality Measures of Software Requirements
Nine Quality Measures
Quality Measures for the Use-Case Model
Quality Measures of the Modern SRS Package
Technical Methods for Specifying Requirements
Pseudocode
Finite State Machines
Decision Trees and Decision Tables
Graphical Decision Trees
Activity Diagrams
Entity-Relationship Models
Object-Oriented Modeling
Data Flow Diagrams
Maintenance of Specifications
Case Study
Team Skill 5 Summary
Team Skill 6: Building the Right System
Building the Right System Right: Overview
Continually Confirm that the Development Is on Track
Confirm that the Development Results Are Correct
Learn How to Cope with Change that Occurs during the Development Process
Looking Ahead
From Requirements to Implementation
Mapping Requirements to Design and Code
Realizing Use Cases in the Design Model
From Design to Implementation
Looking Ahead
Using Traceability to Support Verification
The Role of Traceability in Requirements Verification
Using Traceability Tools
Proceeding without Traceability Tools
Thinking about Verification and Traceability
Looking Ahead
Validating the System
Validation
Case Study: Testing Use Cases
Testing Discrete Requirements
Testing Design Constraints
Looking Ahead
Using ROI to Determine the V&V Effort
Depth versus Coverage
What to Verify and Validate
Looking Ahead
Managing Change
Why Do Requirements Change?
"We Have Met the Enemy, and They Is Us"
A Process for Managing Change
Requirements Configuration Management
Team Skill 6 Summary
Getting Started
Dedication
What We've Learned So Far
Your Prescription for Requirements Management
Now, On to the Next Release!
A. HOLIS Artifacts
Background of the Case Study
Team Skill 1: Analyzing the Problem
Team Skill 2: Understanding User Needs
Team Skill 3: Defining the System
Team Skill 4: Managing Scope
Team Skill 5: Refining the System Definition
Team Skill 6: Building the Right System
  • Чтобы скачать этот файл зарегистрируйтесь и/или войдите на сайт используя форму сверху.
  • Регистрация