The document discusses use case modeling. It defines use cases as narrative descriptions of domain processes in a structured prose format. It describes key concepts like actors, scenarios, and the relationships between use cases such as include and extend. It provides guidelines for writing use cases, including identifying the system boundary, primary actors, and their goals to derive use cases. It also describes different styles and levels of detail for writing use cases.
The systematic use of proven principles, techniques ,languages and tools for the cost-effective analysis ,documentation and on-going evolution of user needs and the external behavior of a system to satisfy those user needs.
Requirement Elicitation
Facilitated Application Specification Technique(FAST)
Quality Function Deployment
USE-CASES
The systematic use of proven principles, techniques ,languages and tools for the cost-effective analysis ,documentation and on-going evolution of user needs and the external behavior of a system to satisfy those user needs.
Requirement Elicitation
Facilitated Application Specification Technique(FAST)
Quality Function Deployment
USE-CASES
In this lesson, you will develop a system using Use Cases.
You will:
Justify the need for a Use Case diagram
Identify and describe the essential elements in a UML Use Case diagram
Identifying the Actors in a System.
Identifying Use Cases in a System
Create a Use Case Diagram that shows the Use Cases in your system.
Recognize and document use case dependencies using UML notation for extends,includes, and generalization
Welcome to my series of articles on Unified Modeling Language. This is "Session 2 – Use Case UML" of the series. I have covered Use Case Scenario, Use Case Narrative and Use Case Model in this session.
Please view my other documents where I have covered each UML diagram with examples
Use case 1 User LoginActor Admin, Faculty, or StudentBa.docxjessiehampson
Use case 1: User Login:
Actor: Admin, Faculty, or Student
Basic Flow
1. User clicks the login link or enters the login URL into the browser.
2. The system displays login page.
3. User clicks login (Submit) button after entering the credentials and roles.
4. According to the role, the system retrieves a “User List”.
5. The system checks to see if the username exists in the “User List”.
6. If the account exists, the system compares the password.
7. If the input password is valid, based on the role provided, the system starts an authenticated session, retrieve Faculty List and displays View Faculty page (landing page).
Alternate Flow
Invalid username or password: The system checks to see if the username exists in the “Users”. If the username is not found, the system displays a message “Invalid username. Click on “OK” to try again.” The user clicks on the “OK” button. The system redisplays login page. User clicks on the forgot username link. The system asks user to enter his/her email address. User enters the email address associated with his/her account. The system displays a message ”Username was sent to your email.”
Use Case 2: Admin Adds Student
Normal Flow:
1. Admin selects the “Students” tab in the “Admin home page”,
2. System retrieves Student_list and displays “Student View” page.
3. Admin clicks “New Student” button.
4. System displays “Add student” page.
5. Admin Provides student details by selecting the institute name from dropdown box, enters student’s details
6. Admin clicks on “Save” button.
7. System validates the entered data;
8. System Save data to the database, if valid.
9. System displays successfully saved message on top of student list, which includes the new added student.
Use case 3: Team Member Makes Comments on Assessment Done by other Members:
Basic Course:
1. Student clicks “Make a Comment” button on the “ViewPeerAssessment” Page.
2. The system checks the Session to make sure the student is logged in and then displays a Write Comment page with a multi-line Text box.
3. Student writes a comment on the comment box.
4. Student clicks on the “Save” button.
5. The system validates the comment (e.g. not too long, or too short).
6. If the comment validation is ok, the system display a confirmation page, and send the comment to Instructor for approval.
States Machine for “comments on assessment”
Comments created by evaluate
Comments Approved by instructor
Comments displayed to students
Comments disapproved by instructor
Comments revised by evaluate
Alternate Course
Too long or short comment: The system displays a message “Comment length is out side the allowable range. Click on “OK” to try again.”
Robustness Analysis
OutlineWhat is robustness analysis?Key roles in robustness analysisObject types found in discoveryDiagramming rulesWhere are the diagram and objects placed in the modelUpdates to th ...
Design Implementation Proposal
Design Implementation Proposal
***Some of the Material in this paper has been repurposed from IT with Professor Stewart and CS455 with Professor Lemaster, and IT251 with Professor Noffsinger ***
CS377-1503-A-01 Software Design
Phase 1 Individual Project
Design Implementation Proposal
Damon Tholson
July 18th, 2015
Design Implementation ProposalFor<Legacy Equipment Corporation>
Version 1.2 approved
Prepared by <Damon Tholson>
<Ethical Company Finder>
<July 21st, 2015,>
Revision History
Name
Date
Reason For Change(s)
Version
Damon Tholson
July 18, 2015
Original Document
1.0
Damon Tholson
July 21, 2015
Phase Two Class Diagram Implementation
1.1
1.2
1.3
1.4
Table of Contents
Revision History 3
1.0 Project description 4
1.1 Use Case Diagram 6
Introduction 6
Use Case Model Actor Description and intended interactive role 6
Relationships between the actors and the use case 7
1.2 Use Cases 9
2.0 Class Diagram 13
3.0 Sequence and Collaboration Diagram 15
4.0 State Transition and Activity Diagram 16
5.0 Follow-Up Discussion on Use of Object-Oriented and Recap of Design Changes 19
References: 20
1.0 Project description
The Ethical Company Finder application will allow the US government to sell otherwise wasted byproducts of the chemical munitions process to companies which operate ethically and set a standard for honest business practices. Thiodiglycol is most commonly used as a common solvent in the paint and coatings industry however, it can also be used for more devious purposes (i.e., the reproduction of mustard gas) and a system is needed to identify industrial companies who will purchase and use the chemical in a safe and ethical manner. Therefore, in order to sell this chemical for a profit, a software service must be developed which will create a “whitelist” (list of allowed, rather than prohibited) companies which meet a given set of conditions set forth by the US government. Companies which meet the minimum criteria, to include such things as good credit, a reputation of honest business practices, and no lawsuits regarding company behavior within the past ten years, will be considered for the whitelist service. Once companies are whitelisted they will be allowed to bid on the chemical with the software service calculating factors such as quantity of selected product, cost and distance of shipping, location of the product destination, the required route for the product to reach the customers destination, and the price the customer is willing to pay to determine which company to sell the product to and how much to sell them.
1.1 Use Case Diagram1.2 Introduction
Within every individual use case there are specified actors and roles which those actors play. In the following paper the names of those actors will be specified and a description of how they interact with the software service will be provided. It should be noted that only current customers are within scope with current customers bei.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
2. What is a Use Case?
Narrative descriptions of domain processes in
a structured prose format
They are stories or scenarios of how people
use the system
3. Case Study – The NextGen POS System
Computerized application used to record sales
and handle payments
Used in retail store
It includes hardware and software
It also interfaces to other applications, such as a third-
party tax calculator and inventory control
Multiple and varied clients-side terminals and
interfaces
Commercial POS
4. Use Case, Actor, and Scenario
Actors
Something with behavior such as person, computer system, or
organization
Scenario
It is a specific sequence of actions and interactions between
actors and the system. It is also called use case instance
It is one particular story of using a system
E.g. scenario of successfully purchasing items with cash or scenario
of failing to purchase items because of credit payment denial
Use case then is a collection of success and failure
scenarios
Use cases are requirements, primarily functional.
5. Use Case, Actor, and Scenario
A UC is a dialogue between an Actor and a
system that accomplishes a task.
The dialogue is presented as a sequence of
steps
A complete sequence of steps is a use case
scenario
6. Use Case, Actor, and Scenario
UC can contain multiple scenarios
Can range from simple (brief summary) to
elaborate (detailed steps using adopted
document template)
UCs are NOT object-oriented artifacts!
They feed into other OO models
7. Use Cases
Kinds of Actors
Primary actor
has user goals fulfilled through using services of the SuD
Why identify? To find user goals, which drive the use
cases.
Supporting actor
provides a service (for example, information) to the SuD
Why identify? To clarify external interfaces and protocols.
Offstage actor
has an interest in the behavior of the use case
Why identify? To ensure that all necessary interests are
identified and satisfied.
8. Use Cases
Guidelines
How to find use cases
1.Choose the system boundary
2.Find primary actors
3.Identify goals for each primary actor
4.Define Use cases that satisfy user goals
9. 1. System Boundary
Goal: Process sales
Cashier
Customer
POS System
Checkout Service
Goal: Buy items
Enterprise Selling Things
Sales Tax
Agency
Goal: Collect
taxes on sales Sales Activity
System
Goal: Analyze sales
and performance data
10. 2 and 3. Primary actors and Goals
Brainstorm the primary actors first.
Questions to help identify Actors and Goals
Who starts and stops the system?
Who does user and security management?
Who does system administration?
Is “Time” an actor because the system does
something in response to a time event?
Are there any external software system that call upon
the services of the system?
Organize the actors and goals in an Actor Goal
List
11.
12. NextGen POS
Manage Users
. . .
Cashier
System
Administrator
actor
use case
communicationsystem boundary
Payment
Authorization
Service
«actor»
Tax Calculator
«actor»
Accounting
System
alternate
notation for
a computer
system actor
«actor»
HR System
Cash In
«actor»
Sales Activity
System
Manage Security
Analyze Activity
Customer
Manager
Process Sale
Handle Returns
4. Define Use cases for user goals
13. NextGen
Process Sale
. . .
Cashier
Show computer system actors
with an alternate notation to
human actors.
primary actors on
the left
supporting actors
on the right
For a use case context
diagram, limit the use cases to
user-goal level use cases.
«actor»
Payment
Authorization
Service
14. Alternate Actor Notation
NextGen
Process Sale
«system»
Payment
Authorization
Service
...
«actor»
Payment
Authorization
Service
Some UML alternatives to
illustrate external actors that
are other computer systems.
The class box style can be
used for any actor, computer or
human. Using it for computer
actors provides visual
distinction.
Payment
Authorization
Service
15. Writing Use Cases
Use cases are text documents, not diagrams
and use case modeling is primarily an act of
writing text, not drawing diagrams.
Use Case Style
Black Box Use cases
Focus on what not how
Use Case Formats
Brief
Casual
Fully dressed
19. Fully dressed
Use case Section Comment
Use case name Start with a verb
Scope The system under design
Level “user goal” or “sub function”
Primary Actor Calls on system to deliver its services
Stakeholders and interests who cares about the system and what do
they want
Preconditions what must be true on start
Success Guarantee What must be true on successful completion
Main Success Scenario Unconditional happy path scenario of
success
Extensions Alternate scenario of success or failure
Special Requirements Related NFRs
Technology and Data variation list Varying I/O methods
Frequency of occurrence Influences investigation, testing
Miscellaneous Open issues
20. Process Sale Use Case
UC: Process Sale
1. User selects new sale option
2. System requests item identifier
3. User enters item identifier
4. System records sale of item, and
5. System displays item description, price, current total
Steps 2-5 repeated until user finished
6. User selects sale finished option
7. System displays total and taxes due
8. User selects payment option
9. System requests payment information
10. User enters payment information
11. System handles payment
12. System logs completed sale and sends sale information to Accounting
System and Inventory System
13. System generates receipt
21. What Tests Can Help in Finding Useful Use
Cases?
The Boss Test
The EBP Test: A task performed by 1 user in 1 place at
1 time in response to a business event, that adds
measurable value to the business and leaves data in a
consistent state.
The Size Test
Examples: Applying the tests
Negotiate the supplier contract: could be modeled as
business use case
Handle returns: OK with boss. Seems like an EBP
Login: boss not happy if this is all you do all day!
Move a piece on game board: Single step, Fails the size test
22. Library Use Case Diagram
A computerized library system for a
university keeps track of all books and
periodicals in the library and their
check-out status.
Checkout and return are automated
through a bar code reader (an external
device).
The library system also interfaces with
an external relational database which
stores information about the library
users (students, faculty, and staff),
including whether they have any library
items checked out.
Library users can access the catalog
and recall books and periodicals.
Library employees have the same
access as well as additional
capabilities (e.g., listing the status of
an item).
Note: the library catalog is part of the
library computer system so it is not
shown as an actor.
EmployeeLogin
LibEmployee
CheckAvailability
LibUser
Recall
CheckOut
BarCodeReader
CheckIn
UsersDB
23. Use Case for Employee Login
1. Employee initiates use case
by entering user name
2. System prompts for password
3. If password is valid, employee
is logged on and now has
access to employee
commands
Starting and Ending
Conditions?
Exceptions? e.g., cannot find
the employee login
EmployeeLogin
LibEmployee
CheckAvailability
LibUser
Recall
CheckOut
BarCodeReader
CheckIn
UsersDB
24. Use Case for Check Book Availability
1. User/Employee initiates use case
by selecting the check book
availability option
2. System prompts for choice of
search by title, author, or call
number
3. User makes selection and enters
title, author or call number
4. System performs search through
the library catalog database
5. If a match is found, system
displays item status (not checked
out, checked out and due date,
overdue)
Starting and Ending Conditions?
Exceptions?
EmployeeLogin
LibEmployee
CheckAvailability
LibUser
Recall
CheckOut
BarCodeReader
CheckIn
UsersDB
25. Terminology: Concrete, Abstract, Base,
and Addition Use Cases
Concrete use case
is initiated by an actor
is an EBP use case
e.g., Process Sale
Abstract use case
is never instantiated by itself
is a sub-function use case (part of another use case)
e.g., Handle Credit Payment
Base use case
that includes another use case, or that is extended or specialized by
another use case
e.g., Process Sale with respect to the included Handle Credit Payment
Addition use case
that is an inclusion, extension, or specialization
Handle Credit Payment in the include relationship to Process Sale
Addition use cases are usually abstract
Base use cases are usually concrete
26. Use Case Associations
Use case association = relationship
between use cases
Important types:
Include
A use case uses another use case (functional
decomposition and reuse of existing functionality)
Extends
A use case extends another use case
Generalization
A use case has different specializations
27. ≪Include≫: Functional Decomposition
Problem:
A function in the original problem statement is too complex to be
solvable immediately
Solution:
Describe the function as the aggregation of a set of simpler
functions. The associated use case is decomposed into smaller
use cases
CreateDocument
Scan OCR Check
≪include≫
≪include≫
≪include≫
28. ≪Include≫: Reuse of Existing Functionality
Problem:
There are already existing functions. How can we reuse them?
Solution:
The include association from Use Case A to Use Case B indicates that
an instance of A performs all the behavior described in B (“A delegates
to B”)
Example:
The use case “ViewMap” describes behavior that can be used by the
use case “OpenIncident” (“ViewMap” is factored out)
Note: The base use case cannot exist alone. It is always called with the
supplier use case
ViewMap
OpenIncident
AllocateResources
≪include≫
Base Use
Case Supplier
Use Case
≪include≫
29. Example: Include Relationship
UC1: Process Sale
…
Main Success Scenario:
1. Customer arrives at a POS checkout with goods and/or
services to purchase
.…
7. Customer pays and System handles payment.
…
Extensions:
7b. Paying by credit: Include Handle Credit Payment.
7c. Paying by cash: Include Handle Cash Payment.
…
30. Example: Include Relationship cont…
UC12: Handle Credit Payment
…
Level: Sub-function
Main Success Scenario:
1. Customer enters their credit account information.
2. System sends payment authorization request to an external
Payment Authorization Service System, and requests payment
approval.
3. System receives payment approval and signals approval to
Cashier.
4. …
Extensions:
2a. System detects failure to collaborate with external system:
1. System signals error to Cashier.
2. Cashier asks Customer for alternate payment.
…
31. When to Use Include Relationship?
Use include when you are repeating yourself in
two or more separate use cases and you want to
avoid repetition.
A use case is very complex and long, and
separating it into subunits aids comprehension.
32. ReportEmergency
FieldOfficer
Help
≪extend≫
≪Extend≫ Association for Use Cases
Problem:
The functionality in the original problem statement needs to be
extended.
Solution:
An extend association from Use Case B to Use Case A indicates that B
is an extension of A.
Example:
The use case “ReportEmergency” is complete by itself , but can be
extended by the use case “Help” for a specific scenario in which the
user requires help
Note: In an extend association, the base use case can be executed without
the use case extension
A
B
Base Use
Case
33. ≪Extend≫ Association for Use Cases
The idea is to create an extending or addition
use case, and within it, describe where and
under what condition it extends the behavior of
some base use case.
34. Example: Extend Relationship
____Process Sale___
Extension Points:
Payment
VIP Customer
Handle gift certificate
payment
≪Extend≫
Payment, if
customer presents a
gift certificate
UML Notation:
1. The extending use
case points to the
base use case.
2. The condition and the
extension point can be
shown on the line.
35. Example: Extend Relationship
UC1: Process Sale (the base use case)
…
Extension Points: VIP Customer, step 1.
Payment, step 7.
Main Success Scenario:
1. Customer arrives at a POS checkout with goods and/or
services to purchase
.…
7. Customer pays and System handles payment
.…
36. Example: Extend Relationship cont…
UC15: Handle Gift Certificate Payment (the extending use case)
…
Trigger: Customer wants to pay with gift certificate.
Extension Points: Payment in Process Sale.
Level: Sub-function
Main Success Scenario:
1. Customer gives gift certificate to Cashier.
2. Cashier enters gift certificate ID.
…
37. ValidateUser
CheckPassword
CheckFingerprint
Parent
Case
Child
Use Case
Generalization Association in Use Cases
Problem
You have common behavior among use cases and want to factor this
out.
Solution
The generalization association among use cases factors out common
behavior. The child use cases inherit the behavior and meaning of the
parent use case and add or override some behavior.
Example
Consider the use case “ValidateUser”, responsible for verifying the
identity of the user. The customer might require two realizations:
“CheckPassword” and “CheckFingerprint”