The document discusses use case modeling and diagrams. It provides examples of use cases, actors, and relationships between them. Some key points:
- A use case represents a goal of an actor and the interactions needed to achieve that goal. Actors can be people or other systems.
- Use case diagrams show use cases, actors, and their relationships to understand system requirements and functionality.
- Common relationships include generalization, extension, and inclusion to model optional/exceptional behavior or reuse of common interactions.
- Well-defined use cases with descriptions help validate requirements, guide testing, and communicate with stakeholders.
In this Business Analysis training session, you will learn about Requirement Elicitation Techniques. Topics covered in this session are:
• Requirements Engineering
• Project Scope
• Landscape of Requirements
• Properties of Requirements
• Types of Requirements
• Stakeholder
• Requirements Elicitation
• Techniques
For more information, click here: https://www.mindsmapped.com/courses/business-analysis/become-a-business-analyst-with-hands-on-practice/
In this Business Analysis training session, you will learn about Requirement Elicitation Techniques. Topics covered in this session are:
• Requirements Engineering
• Project Scope
• Landscape of Requirements
• Properties of Requirements
• Types of Requirements
• Stakeholder
• Requirements Elicitation
• Techniques
For more information, click here: https://www.mindsmapped.com/courses/business-analysis/become-a-business-analyst-with-hands-on-practice/
Servlet is java class which extends the functionality of web server by dynamically generating web pages.
Servlet technology is used to create Dynamic web application. Servlet technology is robust and scalable. init() and service() methods are more important in life cycle of a servlet. doGet() and doPost() are methods used under service() method.
This lecture provide a review of requirement engineering process. The slides have been prepared after reading Ian Summerville and Roger Pressman work. This lecture is helpful to understand user, and user requirements.
In this lesson, you learn what a database trigger is, and what it can be used for.
Triggers allow specified actions to be performed automatically within the database, without having to write any extra application code.
Triggers increase the power of the database, and the power of your application.
You will learn much more about triggers in the following lessons.
Servlet is java class which extends the functionality of web server by dynamically generating web pages.
Servlet technology is used to create Dynamic web application. Servlet technology is robust and scalable. init() and service() methods are more important in life cycle of a servlet. doGet() and doPost() are methods used under service() method.
This lecture provide a review of requirement engineering process. The slides have been prepared after reading Ian Summerville and Roger Pressman work. This lecture is helpful to understand user, and user requirements.
In this lesson, you learn what a database trigger is, and what it can be used for.
Triggers allow specified actions to be performed automatically within the database, without having to write any extra application code.
Triggers increase the power of the database, and the power of your application.
You will learn much more about triggers in the following lessons.
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
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.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
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.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
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.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
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.
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/
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
Data privacy is one of the most critical issues that businesses face. This presentation shares insights on the principles and best practices for ensuring the resilience and security of your workload.
Drawing on a real-life project from the HR industry, the various challenges will be demonstrated: data protection, self-healing, business continuity, security, and transparency of data processing. This systematized approach allowed to create a secure AWS cloud infrastructure that not only met strict compliance rules but also exceeded the client's expectations.
2. Goals and Stories
• Customers and Users have goals, objectives known as
REQUIREMENTS or NEEDS
• Variety of users and needs
• User oriented requirement gathering for validation
• Use case diagrams provide mechanism for better gathering and
understanding requirements
• Use Cases - Easy understanding for stakeholders
• Use Case – Stories about system goals
3. Goals and Interactions
• There is a place for both goals and interactions
• Understand what the system shall do
• Capture the user goals
• Understand how the user will achieve the goals
• Capture user interactions
• Sequences of user interactions
• Thus, start with the user goals and then refine the user goals
into several (many) user interactions
4. User Goals versus User Interactions
• Consider the following when formatting a document
• Define a style
• Change a style
• Copy a style from one document to the next
• versus
• Format a document
• Ensure consistent formatting of two documents
• The latter is a user goal
• Something the user wants to achieve
• The former are user interactions
• Things the user does to the system to achieve the goal
5. USE CASE MODELLING
• A use case is a scenario that describes the
use of a system by an actor to accomplish a
specific goal.
• An actor is a user playing a role with respect
to the system.
- people, other systems.
• Scenario
A sequence of steps that describe the
interactions between an actor and the system.
• The use case model consists of the collection
of all actors and all use cases.
6. USE CASE MODELLING
-functional reqts., analysis phase
- what a system does: functions represented as use cases
- Actor: external agent that interacts with the system, exchanges info. with
the system (user, sub-system, etc.)
- a role played by user
Note: a use case represents a complete functionality.
• view of system behavior from an external person’s viewpoint
• effective tool for validating requirements
• an effective communication tool
• basis for a test plan
• basis for user manual
Developing the use cases in not difficult; ensuring that you have them all
is murder.
7. Goals of use cases
• Interactions that provide value to actors
• No implementation specific language
• No assumptions about how the use case may be realized in code or
user-interface
• Note: use-cases drive the whole life-cycle, and they get refined –
implementation specific use-cases
• User-appropriate level of detail
• General at requirements gathering stage
• User-appropriate volume
• Large systems: no more than 70-80 use cases
• Small number of use cases – forces abstraction
8. Use cases help ..
· Capture the system's functional requirements
from the users' perspective
· Actively involve users in the requirements-
gathering process
· Provide the basis for identifying major classes
and their relationships
· Serve as the foundation for developing system
test cases
9. Scenario
• Specific sequence of actions and interactions between actors and
system under consideration
• Also called INSTANCE OF USE CASE
• Describes one particular story or path from the use case
• Scenario can be successful one or failing one
• Example 1: login success, login failure
• Example 2: data saved successfully, missing information
10. Use Case and Scenario
• Use case is collection of related success and failure scenarios of actors
for achievement of goals
• Main Success Scenario
• Alternate Scenario
12. Use case scenarios
• a realization of a use case.
• Instance of an use case that effectively tests one path through a use case
• To demonstrate whether a use case accurately reflects user needs
• useful during testing
Example:
Use case name: Determine benefits eligibility for enrollee
Steps:
1. This use case starts when the social worker enters the enrollee’s name and
employment situation.
2. This use case ends when the system responds with a determination of whether the
enrollee is eligible for benefits and the financial extent of benefits.
Alternative path:
In step 1, if the enrollee has applied for benefits previously, based on the enrollee’s
own disclosure, the social worker enters the enrollee’s name to search for his or her
previous records
13. Use case scenario - example
Example of scenario
1. The social worker asks Edward Trueman if he has applied previously for and/or received
benefits. And Mr. Trueman replies that he has applied previously.
2. The social worker provides Mr. Trueman’s name as search criterion
3. The system provides Mr. Trueman’s previous records, which state that he applied for benefits on
Dec 9th, 1997, and was determined to be ineligible on Dec 9th 1997 because of his current part-
time employment status at Boeing Aerospace in the capacity of assembly line worker.
14. Use Case Diagrams
• Use case diagrams are used to visualize, specify, construct, and
document the (intended) behavior of the system, during
requirements capture and analysis.
• Provide a way for developers, domain experts and end-users to
Communicate.
• Serve as basis for testing.
• Use case diagrams contain use cases, actors, and their relationships.
15.
16.
17.
18.
19. Use Case
• Use cases specify desired behavior.
• A use case is a description of a set of sequences of actions, including
variants, a system performs to yield an observable result of value to
an actor.
• Each sequence represent an interaction of actors with the system.
name
20.
21. Actors
• An actor represents a set of roles that users of use case play when
interacting with these use cases.
• Actors can be human or automated systems.
• Actors are entities which require help from the system to perform
their task or are needed to execute the system’s functions.
• Actors are not part of the system.
name
22. Use Cases and Actors
• From the perspective of a given actor, a use case does something that
is of value to the actor, such as calculate a result or change the state
of an object.
• The Actors define the environments in which the system lives
23.
24. Example of Use Case Diagram
student
registration
updating
grades
output
generating
faculty
25. Use-Case Diagrams (POST)
CustomerCashier
Buy Item
Log In
Refund a Purchased Item
POST
Use Case
System Boundary
Adapted from Larman “Applying UML and Patterns”
POST: Point of Sale Terminal
28. 1. Generalization
• The child use case inherits the
behavior and meaning of the
parent use case.
• The child may add to or
override the behavior of its parent.
parent
child
31. Extend
• The base use case implicitly incorporates the behavior of another use
case at certain points called extension points.
• The base use case may stand alone, but under certain conditions its
behavior may be extended by the behavior of another use case.
base extending<<extend>>
32. More about Extend
• Enables to model optional behavior or branching under conditions.
Exam copy
request
Exam-grade
appeal
<<extend>>
33.
34. Include
• The base use case explicitly incorporates the behavior of another use
case at a location specified in the base.
• The included use case never stands alone. It only occurs as a part of
some larger base that includes it.
base included
<<include>>
35. More about Include
• Enables to avoid describing the same flow of events several times by
putting the common behavior in a use case of its own.
updating
grades
output
generating
verifying
student id
<<include>>
<<include>>
36. Includes and Extends
• Includes
• You have a piece of behavior that
is similar across many use cases
• Break this out as a separate use-
case and let the other ones
“include” it
• Examples include
• Valuation
• Validate user interaction
• Sanity check on sensor inputs
• Check for proper authorization
• Extends
• A use-case is similar to another one
but does a little bit more
• Put the normal behavior in one use-
case and the exceptional behavior
somewhere else
• Capture the normal behavior
• Try to figure out what can go wrong
in each step
• Capture the exceptional cases in
separate use-cases
• Makes it a lot easier to understand
38. Relationships between Use Cases
and Actors
• Actors may be connected to use cases by associations, indicating that
the actor and the use case communicate with one another using
messages.
updating
grades
faculty
42. POST Use-Case
Use case: Buy Item
Actors: Customer (initiator), Cashier
Type: Primary
Description: The Customer arrives at the
checkout with items to purchase.
The Cashier records the purchase
items and collects a payment.
On completion the Customer
leaves with the items
43. POST Expanded Use-Case
Use case:Buy Item
Actors: Customer (initiator), Cashier
Type: Primary and essential
Description: The Customer arrives at the checkout with items
to purchase. The Cashier records the purchase
items and collects a payment. On completion the
Customer leaves with the items.
Use-Cases: Cashier must have completed the Log In use-case
44. Home Heating Use-Case Diagram
Home Owner
MH
Power Up
Power Down
Change Temp.
Home Heating
45. Home Heating Use-Cases
Use case: Power Up
Actors: Home Owner (initiator)
Type: Primary and essential
Description: The Home Owner turns the power on. Each room
is temperature checked. If a room is below the
the desired temperature the valve for the room is
opened, the water pump started. If the water temp falls
below threshold, the fuel valve is
opened, and the burner ignited.
If the temperature in all rooms is above the desired
temperature, no actions are taken.
Use-Cases: None
46. Modified Home Heating
Home Owner
MH
Power Up
Power Down
Change Temp.
Home Heating
Adjust Temp
Temp. High
Temp. Low
«includes»
«includes»
«includes»
«includes»
47. Modified:
Home Heating Use-Cases
Use case: Power Up
Actors: Home Owner (initiator)
Type: Primary and essential
Description: The Home Owner turns the power on.
Perform Adjust Temp. If the temperature
in all rooms is
above the desired temperature, no actions are taken.
Use-Cases: Perform Adjust Temp
*
48. Modified:
Home Heating Use-Cases
Use case: Adjust Temp
Actors: System (initiator)
Type: Secondary and essential
Description: Check the temperature in each room. For each room:
Below target: Perform Temp Low
Above target: Perform Temp High
Use-Cases: Temp Low, Temp High
*
49. Modified:
Home Heating Use-Cases
Use case: Temp Low
Actors: System (initiator)
Type: Secondary and essential
Description: Open room valve, start pump if not started.
If water temp falls below threshold,
open fuel value and ignite burner.
Use-Cases: None
*
50. HACS
• Homework assignment and collection are an integral part of any educational system. Today, this task is
performed manually. What we want the homework assignment distribution and collection system (HACS for
short) to do is to automate this process.
• HACS will be used by the instructor to distribute the homework assignments, review the students’ solutions,
distribute suggested solution, and distribute student grades on each assignment.
• HACS shall also help the students by automatically distributing the assignments to the students, provide a
facility where the students can submit their solutions, remind the students when an assignment is almost
due, remind the students when an assignment is overdue.
51. HACS Use-Case Diagram
Instructor
Student
System Admin
MH
Configure HACS
Distribute Asignments
Post Solutions
Distribute Grade
Remind Student
Submit Assignment
Get Solution
Get Grade
Get Assignment
HACS
52. HACS Use-Cases
Use case: Distribute Assignments
Actors: Instructor (initiator)
Type: Primary and essential
Description: The Instructor completes an assignment and submits
it to the system. The instructor will also submit the
due date and the class the assignment is assigned for.
Use-Cases: Configure HACS must be done before any user
(Instructor or Student) can use HACS
54. Alternate HACS Use-Cases
Use case:Distribute Assignments
Actors: Instructor (initiator), Student
Type: Primary and essential
Description: The Instructor completes an assignment and submits
it to the system. The instructor will also submit the
delivery date, due date, and the class the assignment
is assigned for. The system will at the due date mail
the assignment to the student.
Use-Cases: Configure HACS must be done before any user
(Instructor or Student) can use HACS
55. Each use case may include all or part of the following:
Title or Reference Name - meaningful name of the UC
Author/Date - the author and creation date
Modification/Date - last modification and its date
Purpose - specifies the goal to be achieved
Overview - short description of the processes
Cross References - requirements references
Actors - agents participating
Pre Conditions - must be true to allow execution
Post Conditions - will be set when completes normally
Normal flow of events - regular flow of activities
Alternative flow of events - other flow of activities
Exceptional flow of events - unusual situations
Implementation issues - foreseen implementation problems
Use Case Description
56. Example- Money Withdraw
• Use Case: Withdraw Money
• Author: ZB
• Date: 1-OCT-2004
• Purpose: To withdraw some cash from user’s bank account
• Overview: The use case starts when the customer inserts his credit card into the system. The
system requests the user PIN. The system validates the PIN. If the validation succeeded, the
customer can choose the withdraw operation else alternative 1 – validation failure is executed.
The customer enters the amount of cash to withdraw. The system checks the amount of cash in
the user account, its credit limit. If the withdraw amount in the range between the current
amount + credit limit the system dispense the cash and prints a withdraw receipt, else alternative
2 – amount exceeded is executed.
• Cross References: R1.1, R1.2, R7
57. Example- Money Withdraw (cont.)
• Actors: Customer
• Pre Condition:
• The ATM must be in a state ready to accept transactions
• The ATM must have at least some cash on hand that it can dispense
• The ATM must have enough paper to print a receipt for at least one transaction
• Post Condition:
• The current amount of cash in the user account is the amount before the withdraw minus the
withdraw amount
• A receipt was printed on the withdraw amount
• The withdraw transaction was audit in the System log file
58. Example- Money Withdraw (cont.)
Typical Course of events:
Actor Actions System Actions
1. Begins when a Customer arrives at ATM
2. Customer inserts a Credit card into ATM 3. System verifies the customer ID and status
5. Customer chooses “Withdraw” operation 4. System asks for an operation type
7. Customer enters the cash amount 6. System asks for the withdraw amount
8. System checks if withdraw amount is legal
9. System dispenses the cash
10. System deduces the withdraw amount from
account
11. System prints a receipt
13. Customer takes the cash and the receipt 12. System ejects the cash card
59. Example- Money Withdraw (cont.)
• Alternative flow of events:
• Step 3: Customer authorization failed. Display an error message, cancel the
transaction and eject the card.
• Step 8: Customer has insufficient funds in its account. Display an error
message, and go to step 6.
• Step 8: Customer exceeds its legal amount. Display an error message, and go
to step 6.
• Exceptional flow of events:
• Power failure in the process of the transaction before step 9, cancel the
transaction and eject the card
60. Example- Money Withdraw (cont.)
One method to identify use cases is actor-based:
- Identify the actors related to a system or organization.
- For each actor, identify the processes they initiate or participate in.
A second method to identify use cases is event-based:
- Identify the external events that a system must respond to.
- Relate the events to actors and use cases.
The following questions may be used to help identify the use cases for a system:
- What are tasks of each actor ?
- Will any actor create, store, change, remove, or read information in the system ?
- What use cases will create, store, change, remove, or read this information ?
- Will any actor need to inform the system about sudden, external changes ?
- Does any actor need to be informed about certain occurrences in the system ?
- Can all functional requirements be performed by the use cases ?
61. Financial Trading System Example
Salesperson
Trader
Accounting System
Trading Manager
Set Limits
Update Accounts
Analyze Risk
Price Deal
Capture Deal
Limit Exceeded
Valuation
«includes»
«includes»
«extends»