Modeling System Requirements with Use Cases
McGraw-Hill/Irwin
Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
Objectives
• Describe the benefits of use-case modeling. • Define actors and use cases and be able to identify them from context diagrams and other sources. • Describe the relationships that can appear on a usecase model diagram. • Describe the steps for preparing a use-case model. • Describe how to construct a use-case model diagram. • Describe the various sections of a use-case narrative and be able to prepare one. • Define the purpose of the use-case ranking and priority matrix and the use-case dependency diagram.
7-2
7-3
An Introduction to Use-Case Modeling
• One of the primary challenges is the ability to extract the correct and necessary system requirements from the stakeholders and specify them in a manner understandable to them so those requirements can be verified and validated.
The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is a difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No other work so cripples the resulting system if done wrong. No other part is more difficult to rectify later. Fred Brooks
7-4
IS Development Project Track Record
canceled before completion
7-5
Over budget, late, or without needed features
Source: The Standish Group International, Inc., “Chaos: A Recipe for Success”
User-Centered Development and Use-Case Modeling
User-centered development – a process of systems development based on understanding the needs of the stakeholders and the reasons why the system should be developed. Use-case modeling – the process of modeling a system’s functions in terms of business events, who initiated the events, and how the system responds to those events.
• Use-case modeling has roots in