Modeling System Requirements With Use Cases: Mcgraw-Hill/Irwin

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 38

Chapter 7

Modeling System
Requirements with Use
Cases

McGraw-Hill/Irwin

Copyright 2007 by The McGraw-Hill Companies, Inc. All

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
elicit 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 systems functions in terms of business
events, who initiated the events, and how the
system responds to those events.

7-6

Use-case modeling has roots in object-oriented modeling.


Gaining popularity in non-object development
environments because of its usefulness in communicating
with users.
Compliments traditional modeling tools.

Benefits of Use-Case Modeling


Provides tool for capturing functional requirements.
Assists in decomposing system into manageable
pieces.
Provides means of communicating with
users/stakeholders concerning system functionality
in language they understand.
Provides means of identifying, assigning, tracking,
controlling, and management system development
activities.
Provides aid in estimating project scope, effort,
and schedule.
7-7

Benefits of Use-Case Modeling


(continued)

Aids in defining test plans and test cases.


Provides baseline for user documentation.
Provides tool for requirements traceability.
Provides starting point for identification of data
objects or entities.
Provides specifications for designing user and
system interfaces.
Provides means of defining database access
requirements.
Provides framework for driving the system
development project.
7-8

System Concepts for


Use-Case Modeling
Use case a behaviorally related sequence of steps
(scenario), both automated and manual, for the purpose
of completing a single business task.

Description of system functions from the perspective of external


users in terminology they understand.

Use-case diagram a diagram that depicts the


interactions between the system and external systems
and users.

graphically describes who will use the system and in what ways
the user expects to interact with the system.

7-9

Use-case narrative a textual description of the


business event and how the user will interact with the
system to accomplish the task.

Sample Use-Case Model


Diagram

7-10

Basic Use-Case Symbols


Use case subset of the overall system functionality
Represented by a horizontal ellipse with name
of use case above, below, or inside the ellipse.

Actor anyone or anything that needs to interact


with the system to exchange information.
human, organization, another information system,
external device, even time.

Temporal event a system event triggered by time.


The actor is time.
7-11

Four Types of Actors


Primary business actor
The stakeholder that primarily benefits from the execution of
the use case.
e.g. the employee receiving the paycheck

Primary system actor


The stakeholder that directly interfaces with the system to
initiate or trigger the business or system event.
e.g. the bank teller entering deposit information

External server actor


The stakeholder that responds to a request from the use case.
e.g. the credit bureau authorizing a credit card charge

External receiver actor


7-12

The stakeholder that is not the primary actor but receives


something of value from the use case.
e.g. the warehouse receiving a packing slip

Use Case Association


Relationship
Association a relationship between an actor and a
use case in which an interaction occurs between them.
Association modeled as a solid line connecting the actor and the
use case.
Association with an arrowhead touching the use case indicates
that the use case was initiated by the actor. (1)
Association lacking arrowhead indicates a receiver actor. (2)
Associations may be bidirectional or unidirectional.

7-13

Use Case Extends Relationship


Extension use case use case consisting of steps
extracted from another use case to simplify the original.
Extends the functionality of the original use case.
Generally not identified in the requirements phase
Extends relationship represented as arrow beginning at the
extension use case and pointing to use case it is extending.
Labeled <<extends>>.

7-14

Use Case Uses Relationship


Abstract use case use case that reduces redundancy in
two or more other use cases by combining common steps
found in both.

7-15

Available by any other use case that requires its functionality.


Generally not identified
in requirements phase
Relationship between
abstract use case
and use case that
uses it is called a
uses (or includes)
relationship.
Depicted as arrow
beginning at
original use case
and pointing to
use case it is using.
Labeled <<uses>>.

Use Case Depends On


Relationship
Depends On use case relationship that specifies which
other use cases must be performed before the current
use case.
Can help determine
sequence in which
use cases need to
be developed.
Depicted as arrow
beginning at one
use case and
pointing to use case
it depends on.
Labeled
<<depends on>>.

7-16

Use Case Inheritance


Relationship
Inheritance a use case relationship in
which the common behavior of two actors
initiating the same use case is
extrapolated and assigned to a new
abstract actor to reduce redundancy.
Other actors can inherit the interactions of the
abstract actor.
Depicted as an arrow beginning at one
actor and pointing to the abstract actor whose
7-17

interactions the first actor inherits.

Use Case Inheritance


Relationship

7-18

The Process of Requirements


Use-Case Modeling

Objective is to elicit and analyze enough requirements


information to prepare a model that:

To effectively estimate and schedule project, may need


to include preliminary implementation assumptions.
Steps
1.
2.
3.
4.

7-19

Communicates what is required from a user perspective.


Is free of specific details about how system will be
implemented.

Identify business actors.


Identify business use cases.
Construct use-case model diagram.
Documents business requirements use-case narratives.

Step 1: identify Business Actors


When looking for actors, ask the following
questions:

Who or what provides inputs to the system?


Who or what receives outputs from the system?
Are interfaces required to other systems?
Are there events that are automatically triggered at a
predetermined time?
Who will maintain information in the system?

Actors should be named with a noun or noun


phrase
7-20

Sample List of Actors

7-21

Step 2: Identify Business


Requirements Use Cases
Business Requirements Use Case - a
use case created during requirements
analysis to capture the interactions
between a user and the system free of
technology and implementation details.
During requirements analysis, strive to
identify and document only the most critical,
complex, and important use cases, often
called essential use cases.
7-22

Step 2: Identify Business


Requirements Use Cases (cont.)
When looking for use cases, ask the following
questions:

What are the main tasks of the actor?


What information does the actor need form the system?
What information does the actor provide to the system?
Does the system need to inform the actor of any changes or
events that have occurred?
Does the actor need to inform the system of any changes or
events that have occurred?

Use cases should be named with a verb phrase


specifying the goal of the actor (i.e. Submit
Subscription Order)
7-23

Sample Context Diagram

7-24

Sample Use-Case Glossary

7-25

continued

Sample Use-Case Glossary


(cont.)

7-26

continued

Sample Use-Case Glossary


(cont.)

7-27

Step 3: Construct Use-Case


Model Diagram

7-28

Step 4: Document Business


Requirements Use-Case Narratives
Document first at high level to quickly
obtain an understanding of the events and
magnitude of the system.
Then expand to a fully-documented
business requirement narrative.
Include the use cases typical course of
events and its alternate courses.

7-29

Sample High-Level Version


of a Use-Case Narrative

7-30

Sample Expanded Version


of a Use-Case Narrative

7-31

continued

Sample Expanded Version


of a Use-Case Narrative (cont)

7-32

continued

Sample Expanded Version


of a Use-Case Narrative (cont)

7-33

concluded

Use Cases and Project


Management
Use-case model can drive entire development
effort.
Project manager or systems analyst uses
business requirements use cases to estimate
and schedule the build cycles of the project.
Build cycles are scoped on the basis of the
importance of the use case and the time it takes to
implement the use case.

To determine importance of use cases, will


create:
Use-case ranking and evaluation matrix
Use-case dependency diagram
7-34

Use-Case Ranking
and Priority Matrix
In most projects, the most important use cases
are developed first.
Use-case ranking and priority matrix a tool used to
evaluate use cases and determine their priority.
Evaluates use cases on 1-5 scale against six criteria.

7-35

1.
2.
3.
4.
5.
6.

Significant impact on the architectural design.


Easy to implement but contains significant functionality.
Includes risky, time-critical, or complex functions.
Involves significant research or new or risky technology.
Includes primary business functions.
Will increase revenue or decrease costs.

Sample Use-Case Ranking


and Priority Matrix

7-36

Use-Case Dependency
Diagram
Use-case dependency diagram
graphical depiction of the dependencies
among use cases.
Provides the following benefits:

7-37

Graphical depiction of the systems events and


their states enhances understanding of system
functionality.
Helps identify missing use cases.
Helps facilitate project management by
depicting which use cases are more critical.

Sample Use-Case
Dependency Diagram

7-38

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy