CHAPTER 7
MODELING SYSTEM REQUIREMENTS WITH USE CASES
• 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 use-case 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.
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.
Benefits of Use-Case Modeling:
• Provides a tool for capturing functional requirements.
• Assists in decomposing system scope into more manageable pieces.
• Provides a means of communicating with users and other stakeholders concerning
system functionality in a language that is easily understood.
• Provides a means of identifying, assigning, tracking, controlling, and management
system development activities, especially incremental and iterative development.
• Provides an aid in estimating project scope, effort, and schedule.
• Provides a baseline for testing in terms of defining test plans and test cases.
System Concepts for Use-Case Modeling
Use-case diagram – a diagram that depicts the interactions between the system and external
systems and users.
Use-case narrative – a textual description of the business even and how the user will interact
with the system to accomplish the task.
Use case – a behaviorally related sequence of steps (a scenario), both automated and manual,
for the purpose of completing a single business task.
Basic Use-Case Symbols:
Use case – subset of the overall system functionality
Actor – anything that needs to interact with the system to exchange information.
Temporal event – a system event triggered by time.
Four Types of Actors:
Primary business actor-The stakeholder that primarily benefits from the execution of the use
case.
Primary system actor-The stakeholder that directly interfaces with the system to initiate or
trigger the business or system event.
External server actor-The stakeholder that responds to a request from the use case.
External receiver actor-The stakeholder that is not the primary actor but receives something of
value from the use case.
Use Case Association Relationship
Association – a relationship between an actor and a use case in which an interaction occurs
between them.
Use Case Extends Relationship
Extension use case – a use case consisting of steps extracted from a more complex use case in
order to simplify the original case and thus extend its functionality.
Use Case Uses Relationship
Abstract use case – a use case that reduces redundancy among two or more other use cases by
combining the common steps found in those cases.
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.
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 “system
implementation assumptions.”
Steps:
• 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?
List of Actors (Sample)
Step 2: Identify Business Requirements Use Cases
During requirements analysis, strive to identify and document only the most critical,
complex, and important use cases, often called essential use cases.
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?
Step 3: Construct use-case model diagram.
Sample Use-Case Glossary
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.
Use Cases and Project Management
Use-case model can drive the entire development effort.
Project manager or systems analyst uses business requirements use cases to plan
estimate and schedule) the build cycles of the project.
To determine importance of the use cases, will create:
• Use-case ranking and evaluation matrix
• Use-case dependency diagram
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 a scale of 1 to 5 against six criteria.
• 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.
Use-Case Dependency Diagram
Use-case dependency diagram – a graphical depiction of the dependencies among use cases.
Provides the following benefits:
• Graphical depiction of the system’s 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.