Use Cases: Requirements in Context

Daryl Kulak, Eamonn Guiney

  • 出版商: Addison Wesley
  • 出版日期: 2000-05-08
  • 售價: $1,460
  • 貴賓價: 9.5$1,387
  • 語言: 英文
  • 頁數: 329
  • 裝訂: Paperback
  • ISBN: 0201657678
  • ISBN-13: 9780201657678
  • 已過版




Use cases for requirements gathering: an ideal tutorial and a handy reference.

  • Step-by-step coverage: problem statements, risk analysis, prototyping, and iteration.
  • Managing requirements gathering: processes, teams, and classic mistakes to avoid.
  • Includes end-of-chapter quizzes, detailed glossary, and more.
Software developers are increasingly recognizing the value of careful up-front requirements gathering in enhanced efficiency and reduced software defects. The best way to gather requirements accurately and precisely is with use cases and UML -- and this book walks you through the entire process, step-by-step. Both an excellent tutorial and a handy reference, Use Cases: Requirements in Context begins with a detailed overview of requirements gathering, its key challenges, and why traditional approaches often fail. Next, understand the key concepts underlying use cases; use case diagrams and scenarios; relationships and interactions; and the role of use cases in each major type of software development project. Review the four steps of the requirements gathering process, from problem statement through prototype; then walk through each iteration of the use case, step-by-step. The book includes insightful coverage of managing the requirements gathering process, building teams, and assuring quality -- plus a full chapter on the classic mistakes made in requirements gathering, and how to avoid them. For all systems analysts, project managers, and software engineers.

Daryl Kulak is the Director of the Object-Oriented Solutions Practice for Complete Business Solutions, Inc. (CBSI). During his 15-year career managing software development projects in the United States and Canada, he has focused on use cases, iterative/incremental development, and components.

Eamonn Guiney is a Technical Architect for CBSI and manages object-oriented software development projects.

Back to Top

Appropriate Courses

Introduction to Software Engineering, Unified Modeling Language (UML).

Back to Top

Table Of Contents

1. Preface The Trouble with Requirements.
First and Least of All...
What Is a Requirement?
Functional Requirements.
Nonfunctional Requirements.

Requirements Gathering, Definition, and Specification.
The Challenges of Requirements Gathering.
Finding Out What the Users Need.
Documenting Users' Needs.
Avoiding Premature Design Assumptions.
Resolving Conflicting Requirements.
Eliminating Redundant Requirements.
Reducing Overwhelming Volume.
Ensuring Requirements Traceability.

Issues with the Standard Approaches.
User Interviews.
Joint Requirements Planning Sessions.
Requirements Lists.

Those Troublesome Requirements.

2. Moving to Use Cases.
It's All About Interactions.
Hello World!.
The Unified Modeling Language.
Nine Diagrams.
Extending the UML with Stereotyping.

Introducing Use Cases, Use Case Diagrams, and Scenarios.
The Goals of Use Cases.
How Use Case Diagrams Show Relationships.
The Use Case Template.
Paths and Scenarios.

Use Cases Apply Here.
Use Cases for Inquiry-Only Systems.
Use Cases for Requests for Proposals.
Use Cases for Software Package Evaluation.
Use Cases for Non-Object-Oriented Systems.

Applying Use Cases to the Requirements Problem.

3. A Use Case—Driven Approach to Requirements Gathering.
Requirements Specifications Tools.
Principles for Requirements Success.
Four Steps for Gathering Requirements.
The Role of the Problem Statement.
The Role of the Statement of Work.
The Role of the Risk Analysis.
The Role of the Prototype.
The Roles of Use Cases.
Use Cases Are Effective Communication Vehicles.
Use Cases Can Be Used for Functional and Nonfunctional Requirements.
Use Cases Help Ensure Requirements Traceability.
Use Cases Discourage Premature Design.

The Role of the Business Rules Catalog.
Managing Success.

4. The Facade Iteration.
Steps in the Facade Iteration.
Create a Problem Statement.
Identify and Review Existing.
Documentation and Intellectual Capital.
Get the Executive Sponsor's Unique Viewpoint.
Identify the Users, Customers, and Related Groups.
Interview the Stakeholders.
Find the Actors.
Create the Facade Use Cases.
Start the Business Rules Catalog.
Create a Risk Analysis.
Create a Statement of Work.
Get Informal Approval from the Executive Sponsor.

System Context Use Case.
Use Case Name Filters.
Candidate Use Case List.
Actor Filter.
Verb Filter.
Noun Filter.
Packages As Placeholders for Functionality.
Facade Filter.
Peer Review.
User Review.


5. The Filled Iteration.
Break Out Detailed Use Cases.
Create Filled Use Cases.
Collect and Document Nonfunctional Requirements.
Add Business Rules.
Test the Filled Use Cases.
Put Some Things Off.

The Stakeholder Interview.
IPA Filter.
White Space Analysis Filter.
Abstraction Filter.
Testing Use Cases with Scenarios.
Additional Use Cases.


6. The Focused Iteration.
What Are Focused Use Cases?
Create the Context Matrix.
Remove Duplicate Processes.

Bring Focus to Each Use Case.
Scope Changes During This Iteration.
Strategies for Change.
Risks and Assumptions.
Opportunities Not Taken.
System Damage.

Client Sign-Off.
Context Matrix.
Dependency Filter.
Surplus Functionality Filter.
Narrow the Focus of the System.
Identify Surplus Functionality Inside the Use Case.
Vocabulary Filter.


7. The Finished Iteration.
Add User Interface Requirements.
Abstract and Combine Nonfunctional Requirements.
Make Final Scope Decisions and Get Sign-Off.
Baseline the Requirements.

Use Case Review.


8. Managing the Requirements Activity.
Managing the Iterative, Incremental Lifecycle.
Why Switch from Waterfall?
The Meaning of ''Incremental''.
The Meaning of ''Iterative''.
From Waterfall to Iterative and Incremental.
Developers Love It, but Managers Struggle.

The Role of the Scenario in Management.
Using Scenarios to Plan, Schedule, and Estimate.
You Know the Plan Is Wrong.
The Atmosphere During Requirements Gathering.
Hectic Activity.
Fear of the Future.
Free-Flowing Adaptability.

Managing Application and Architecture Requirements.
Ensuring Quality in Requirements.
Provide Unique Identification for Use Cases and Business Rules.
Use a Database to Store Use Cases and Business Rules.
Identify Change Cases.

A Management Challenge.

9. Working in Teams.
Organizing by Team.
Splitting Up the Work.
Deploying Configuration Management.
Avoiding Quality Problems.
Catch All the Requirements.
Create Consistent Use Cases.
Avoid Use Case Redundancy.

10. Classic Mistakes.
Mistakes, Pitfalls, and Bruised Knees.
Classic Mistakes: Make Them and Move On.

11. The Case for Use Cases.
A. Use Cases Beyond Requirements.
Business Modeling.
Requirements Gathering.
Use Case Hierarchies for User Interface Design.
Using Scenarios As Units of Work for Transaction Processing.
Architectural Use Cases.
Using Actors As Security Profiles.
Using Scenarios to Manage Security.
Using Scenarios to Manage Prefetch.

Project Management.

B. Case Study: Sell Property.
The Facade Iteration.
Problem Statement.
Statement of Work.
Risk Analysis.
Facade Use Cases.

The Filled Iteration.
Risk Analysis.
Filled use Cases.
Business Rules.
Context Matrix.
Nonfunctional Requirements.
Testing Using Scenarios.

The Focused Iteration.
Risk Analysis.
Focused Use Cases.
Business Rules.

The Finished Iteration.
Risk Analysis.
Finished Use Cases.
Business Rules.

C. Case Study: Track Costume Sales.
The Facade Iteration.
Problem Statement.
Statement of Work.
Risk Analysis.
Facade Use Cases.
Business Rules.

The Filled Iteration.
Statement of Work.
Filled Use Cases.
Business Rules.
Context Matrix.
Nonfunctional Requirements.
Testing Using Scenarios.

The Focused Iteration.
Risk Analysis.
Focused Use Cases.
Business Rules.

The Finished Iteration.
Finished Use Cases.
Business Rules.

Index. 0201657678T04062001

Back to Top