An Introduction to Use-Case Modeling - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

An Introduction to Use-Case Modeling

Description:

Provides a baseline for user help systems and manuals as well as system development ... Represented graphically by a horizontal ellipse with the name of the use ... – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 50
Provided by: Lock74
Learn more at: http://www.umsl.edu
Category:

less

Transcript and Presenter's Notes

Title: An Introduction to Use-Case Modeling


1
An Introduction to Use-Case Modeling
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
2
Requirements Process
  • Requirements Elicitation Definition of the
    system in terms understood by the customer
  • Requirements Analysis Technical specification
    of the system in terms understood by the
    developer.

3
Requirements Elicitation
  • Very challenging activity
  • Requires collaboration of people with different
    backgrounds
  • User with application domain knowledge
  • Developer with implementation domain knowledge
  • Bridging the gap between user and developer
  • Scenarios Example of the use of the system in
    terms of a series of interactions with between
    the user and the system
  • Use cases Abstraction that describes a class of
    scenarios

4
Requirements Validation
  • Critical step in the development process,
  • Usually after requirements engineering or
    requirements analysis. Also at delivery
  • Requirements validation criteria
  • Correctness
  • The requirements represent the clients view.
  • Completeness
  • All possible scenarios through the system are
    described, including exceptional behavior by the
    user or the system

5
Requirements Validation
  • Consistency
  • There are functional or nonfunctional
    requirements that contradict each other
  • Realism
  • Requirements can be implemented and delivered
  • Traceability
  • Each system function can be traced to a
    corresponding set of functional requirements

6
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.
  • Use-case modeling has roots in object-oriented
    modeling.
  • Gained popularity in nonobject development
    environments because of its usefulness in
    communicating with users.
  • Compliments traditional modeling tools.

7
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.
  • Provides a baseline for user help systems and
    manuals as well as system development
    documentation.
  • Provides a tool for requirements traceability.
  • Provides a starting point for the identification
    of data objects or entities.
  • Provides functional specifications for designing
    user and system interfaces.
  • Provides a means of defining database access
    requirements.
  • Provides a framework for driving the system
    development project.

8
System Concepts
  • Use-case diagram a diagram that depicts the
    interactions between the system and external
    systems and users.
  • It graphically describes who will use the system
    and in what ways the user expects to interact
    with the system.
  • 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.
  • Description of system functions from the
    perspective of external users in terminology they
    understand.

9
Sample Diagram
10
Basic Use-Case Symbols
  • Use case subset of the overall system
    functionality
  • Represented graphically by a horizontal ellipse
    with the name of the use case appearing above,
    below, or inside the ellipse.
  • Actor anything that needs to interact with the
    system to exchange information.
  • Could be a human, an organization, another
    information system, an external device, or even
    time.
  • Actors communicate by sending and receiving
    stimuli to and from the system. Each actor has a
    name.
  • Temporal event a system event triggered by
    time.
  • The actor is time.

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
  • 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

12
Scenarios
  • A narrative description of what people do and
    experience as they try to make use of computer
    systems and applications
  • A concrete, focused, informal description of a
    single feature of the system used by a single
    actor.
  • Scenarios can have many different uses during the
    software lifecycle

13
Types of Scenarios
  • As-is scenario
  • Used in describing a current situation. Usually
    used during reengineering. The user describes
    the system.
  • Visionary scenario
  • Used to describe a future system.
  • Can often not be done by the user or developer
    alone
  • Evaluation scenario
  • User tasks against which the system is to be
    evaluated
  • Training scenario
  • Step by step instructions designed to guide a
    novice user through a system

14
How do we find scenarios?
  • Dont expect the client to be verbal if the
    system does not exist
  • Dont wait for information even if the system
    exists
  • Engage in a dialectic approach (evolutionary,
    incremental)
  • You help the client to formulate the requirements
  • The client helps you to understand the
    requirements
  • The requirements evolve while the scenarios are
    being developed

15
Heuristics for Finding Scenarios
  • Ask yourself or the client the following
    questions
  • What are the primary tasks that the system needs
    to perform?
  • What data will the actor create, store, change,
    remove or add in the system?
  • What external changes does the system need to
    know about?
  • What changes or events will the actor of the
    system need to be informed about?
  • Insist on task observation if the system already
    exists (interface engineering or reengineering)
  • Ask to speak to the end user, not just to the
    software contractor
  • Expect resistance and try to overcome it

16
Example Accident Management System
  • What needs to be done to report a Cat in a Tree
    incident?
  • What do you need to do if a person reports
    Warehouse on Fire?
  • Who is involved in reporting an incident?
  • What does the system do if no police cars are
    available? If the police car has an accident on
    the way to the cat in a tree incident?
  • What do you need to do if the Cat in the Tree
    turns into a Grandma has fallen from the
    Ladder?
  • Can the system cope with a simultaneous incident
    report Warehouse on Fire?

17
Scenario Example Warehouse on Fire
  • Bob, driving down main street in his patrol car
    notices smoke coming out of a warehouse. His
    partner, Alice, activates the Report Emergency
    function from her laptop.
  • Alice enters the address of the building, a
    brief description of its location (i.e., north
    west corner), and an emergency level. In addition
    to a fire unit, she requests several paramedic
    units on the scene given that area appear to be
    relatively busy. She confirms her input and waits
    for an acknowledgment.
  • John, the Dispatcher, is alerted to the emergency
    by a beep of his workstation. He reviews the
    information submitted by Alice and acknowledges
    the report. He creates allocates a fire unit and
    two paramedic units to the Incident site and
    sends their estimated arrival time (ETA) to
    Alice.
  • Alice received the acknowledgment and the ETA.

18
Observations
  • Concrete scenario
  • Describes a single instance of reporting a fire
    incident.
  • Does not describe all possible situations in
    which a fire can be reported.
  • Participating actors
  • Bob, Alice and John

19
Next Goal
  • Find all the use cases in the scenario that
    specifies all possible instances of how to report
    a fire
  • Example Report Emergency in the first
    paragraph of the scenario is a candidate for a
    use case
  • Describe each of these use cases in more detail
  • Describe the Entry Condition
  • Describe the Flow of Events
  • Describe the Exit Condition
  • Describe Exceptions
  • Describe Special Requirements (Constraints,
    Nonfunctional Requirements)

20
Heuristics
  • First name the use case
  • Use case name ReportEmergency
  • Then find the actors
  • Generalize the concrete names (Bob) to
    participating actors (Field officer)
  • Participating Actors
  • Field Officer (Bob and Alice in the Scenario)
  • Dispatcher (John in the Scenario)
  • Then concentrate on the flow of events
  • Use informal natural language

21
ReportEmergency Flow Events
  • The FieldOfficer activates the Report Emergency
    function of her terminal. FRIEND responds by
    presenting a form to the officer.
  • The FieldOfficer fills the form, by selecting the
    emergency level, type, location, and brief
    description of the situation. The FieldOfficer
    also describes possible responses to the
    emergency situation. Once the form is completed,
    the FieldOfficer submits the form, at which
    point, the Dispatcher is notified.
  • The Dispatcher reviews the submitted information
    and creates an Incident in the database by
    invoking the OpenIncident use case. The
    Dispatcher selects a response and acknowledges
    the emergency report.
  • The FieldOfficer receives the acknowledgment and
    the selected response.

22
Use Case Example
  • Use case name ReportEmergency
  • Participating Actors
  • Field Officer (Bob and Alice in the Scenario)
  • Dispatcher (John in the Scenario)
  • Exceptions
  • The FieldOfficer is notified immediately if the
    connection between her terminal and the central
    is lost.
  • The Dispatcher is notified immediately if the
    connection between any logged in FieldOfficer and
    the central is lost.
  • Special Requirements
  • The FieldOfficers report is acknowledged within
    30 seconds. The selected response arrives no
    later than 30 seconds after it is sent by the
    Dispatcher.

23
How to Specify
  • Name of Use Case
  • Actors (Description of Actors involved in use
    case)
  • Entry condition (This use case starts when)
  • Flow of Events (Free form, informal natural
    language)
  • Exit condition (This use cases terminates
    when)
  • Exceptions (Describe what happens if things go
    wrong)
  • Special Requirements (Nonfunctional Requirements,
    Constraints)

24
Use Case for Incident Management
25
A new example
  • Consider the case of a person joining and
    belonging to a health club

26
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?

27
The Process of Requirements Use-Case Modeling
  • Objective is to elicit and analyze enough
    requirements information to prepare a model that
  • Communicates what is required from a user
    perspective.
  • Is free of specific details about how the system
    will be built or implemented.
  • 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.

28
Sample List of Actors
29
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?

30
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.
  • Association lacking arrowhead indicates a
    receiver actor.
  • Associations may be bidirectional or
    unidirectional.

31
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.
  • Relationship between the extension use case and
    the use case it is extending is called an extends
    relationship.
  • Represented as an arrowheaded line beginning at
    the extension use case and point to the use case
    it is extending.
  • Each extends relationship line is labeled
    ltltextendsgtgt.

32
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.
  • An abstract case is available for use by any
    other use case that requires its functionality.
  • Relationship between the abstract use case and
    the use case that uses it is called a uses (or
    includes) relationship.
  • Depicted as an arrowheaded line beginning at
    the original use case and pointing to the use
    case it is using.
  • Each uses relationship line is labeled
    ltltusesgtgt.

33
Use Case Depends On Relationship
  • Depends On a 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 an arrowheaded line beginning at
    one use case and pointing to a use case it is
    dependent on.
  • Each depends on relationship line is labeled
    ltltdepends ongtgt.

34
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 arrowheaded line beginning at
    one actor and pointing to the abstract actor
    whose interactions the first actor inherits.

35
Sample Context Diagram
36
Sample Use-Case Glossary
continued
37
Sample Use-Case Glossary (continued)
continued
38
Sample Use-Case Glossary (concluded)
39
Step 3 Construct Use-Case Model Diagram
40
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.

41
Sample High-Level Version of a Use-Case Narrative
42
Sample Expanded Version of a Use-Case Narrative
continued
43
Sample Expanded Version of a Use-Case Narrative
(cont)
continued
44
Sample Expanded Version of a Use-Case Narrative
(cont)
45
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.
  • 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 the use cases, will
    create
  • Use-case ranking and evaluation matrix
  • Use-case dependency diagram

46
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.

47
Sample Use-Case Ranking and Priority Matrix
48
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 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.

49
Sample Use-Case Dependency Diagram
Write a Comment
User Comments (0)
About PowerShow.com