SlideShare a Scribd company logo
1 of 58
Software Design
Example:
Software Design Specifications
Auto teller machine
3
1. Introduction
1.1 A bank has several automated teller machines (ATMs), which
are geographically distributed and connected via a wide area
network to a central server. Each ATM machine has a card
reader, a cash dispenser, a keyboard/display, and a receipt
printer. By using the ATM machine, a customer can withdraw
cash from either checking or savings account, query the balance
of an account, or transfer funds from one account to another. A
transaction is initiated when a customer inserts an ATM card into
the card reader. Encoded on the magnetic strip on the back of
the ATM card are the card number, the start date, and the
expiration date. Assuming the card is recognized, the system
validates the ATM card to determine that the expiration date has
not passed, that the user-entered PIN (personal identification
number) matches the PIN maintained by the system, and that
the card is not lost or stolen. The customer is allowed three
attempts to enter the correct PIN; the card is confiscated if the
third attempt fails. Cards that have been reported lost or stolen
are also confiscated.
4
Introduction
1.2 If the PIN is validated satisfactorily, the customer is
prompted for a withdrawal, query, or transfer transaction.
Before withdrawal transaction can be approved, the system
determines that sufficient funds exist in the requested
account, that the maximum daily limit will not be exceeded,
and that there are sufficient funds available at the local
cash dispenser. If the transaction is approved, the
requested amount of cash is dispensed, a receipt is printed
containing information about the transaction, and the card
is ejected. Before a transfer transaction can be approved,
the system determines that the customer has at least two
accounts and that there are sufficient funds in the account
to be debited. For approved query and transfer requests, a
receipt is printed and card ejected. A customer may cancel
a transaction at any time; the transaction is terminated and
the card is ejected. Customer records, account records,
and debit card records are all maintained at the server.
5
Introduction
1.3 An ATM operator may start up and close down
the ATM to replenish the ATM cash dispenser and
for routine maintenance. It is assumed that
functionality to open and close accounts and to
create, update, and delete customer and debit
card records is provided by an existing system
and is not part of this problem.
6
2. Specific Requirements
2.1 The XYZ Bank Inc. can have many automated
teller machines (ATMs), and the new software
system shall provide functionality on all ATMs.
2.2 The system shall enable the customers of XYZ
Bank Inc., who have valid ATM cards, to perform
three types of transactions;
2.2.1 Withdrawal of funds,
2.2.2 Query of account balance, and
2.2.3 Transfer of funds from one bank account to another
account in the same bank.
7
2. Specific Requirements
2.3 An ATM card usage shall be considered valid if it
meets the following conditions:
a) The card was issued by an authorized bank.
b) The card is used after the start date, i.e., the date
when the card was issued.
c) The card is used before the expiration date, i.e., the
date when the card expires.
d) The card has not been reported lost or stolen by the
customer, who had been issued that card.
e) The customer provides correct personal identification
number (PIN), which matches the PIN maintained by
the system.
8
2. Specific Requirements
2.4 The system shall confiscate the ATM card
if it detects that a lost or stolen card has
been inserted by a customer. (The system
shall also display an apology to the
customer).
2.5 The system shall allow the customer to
enter the correct PIN in no more three
attempts.
2.6 The failure to provide correct PIN in three
attempts shall result in the confiscation of
the ATM card.
9
2. Specific Requirements
2.7 The system shall ask for the transaction
type after satisfactory validation of the
customer PIN.
2.8 The customer shall be given three options,
as type of transaction: withdrawal
transaction, or query transaction, or
transfer transaction.
2.9 If a customer selects withdrawal
transaction, the system shall prompt the
customer to enter account number and
amount to be dispensed.
10
2. Specific Requirements
2.10 For a withdrawal transaction, the system
shall determine:
a). that sufficient funds exist in the requested
account,
b).that the maximum daily limit has not be
exceeded, and
c). that there are sufficient funds available at
the local cash dispenser.
11
2. Specific Requirements
2.11 If a withdrawal transaction is approved, the
requested amount of cash shall be dispensed.
2.11.1. A receipt shall be printed containing
information about the transaction, and
the card shall be ejected.
2.11.2 The information printed on the receipt
includes:
a). transaction number,
b). transaction type,
c).amount withdrawn, and
d).account balance.
12
2. Specific Requirements
2.12 If a customer selects query transaction, the
system shall prompt the customer to enter
account number.
2.13. If a query transaction is approved, the system
shall print a receipt and eject the card.
4.13.1The information contained on the
receipt includes:
a). Transaction number,
b). Transaction type, and
c). Account balance.
13
2. Specific Requirements
2.14. If a customer selects transfer transaction,
the system shall prompt the customer to
enter “From Account” number, “To
Account” number, and amount to be
transferred.
2.15. The system shall check if there are
enough funds available in the “From
Account”, which are being requested for
transfer to the “To Account”.
14
2. Specific Requirements
2.16. If the transfer transaction is approved, a receipt
shall be printed and card shall be ejected.
4.16.1. The information printed on the
receipt includes:
a). Transaction number,
b). Transaction type,
c). Amount transferred, and
d). Account balance.
2.17. The system shall cancel any transaction:
4.17.1 if it has not been completed
4.17.2 if the customer presses the Cancel button
15
2. Specific Requirements
2.18. The customer records, account records,
and debit card records will all be
maintained at the server and shall not be
the responsibility of the system.
2.19. The system shall enable an ATM
operator to shutdown or start up an ATM
for routine maintenance.
16
2. Specific Requirements
2.20. The system shall enable an ATM
operator to add cash to the cash
dispenser.
2.21.The system shall not be responsible for
opening or closing of accounts, and to
create, update, and delete customer and
debit card records. These tasks are
performed elsewhere by a bank.
17
2. Specific Requirements
2.22. The system shall be linked with the bank
server through communication systems,
which are beyond the scope of the current
system. It is assumed that this facility is
always available.
2.23.The system shall not be responsible for
the maintenance of the hardware devices
of the ATM or network facilities.
18
3. UML Model
• 3.1 Use-case model
• 3.2 Object model
• 3.3 Functional model
– 3.3.1 Data-flow model
– 3.3.2 SADT model
• 3.4 Dynamic model
– 3.4.1 State charts
– 3.4.2 sequence Diagram
19
Use Case Model
Use-case model
• Customers and end users have goals/needs, and
want computer systems to help meet them,
– There are several ways to capture these goals and
system requirements;
• the better ones are simple and familiar because this makes it
easier—especially for customers and end users—to contribute to
their definition or evaluation.
• Use cases are a mechanism to help keep it simple
and understandable for all stakeholders.
– Informally, they are stories of using a system to meet
goals.
• use case is a list of steps, defining interactions
between a role an "actor" and a system, to achieve
a goal.
20
Use-case model
• Use cases are text documents, not diagrams, and
use case modeling is primarily an act of writing, not
drawing.
– The UML defines a use case diagram to illustrate the
names of use cases and actors, and their relationships.
• The beauty of use case:
– it aims at describing a system from external usage
viewpoint, rather than from developer's perspective.
– writing use case can be the deciding factor for building a
system that meets users' needs.
21
Use case modeling for ATM
• Use case modeling identifies the use cases
of the system, each representing a different
capability that the system provides to its
clients.
– “View Account Balance”
– “Withdraw Cash”
– “Deposit Funds”
• Each use case describes a typical scenario
for which the user uses the system.
22
Example
Use Case 1. Withdraw Money
– The system displays the account types available to be
withdrawn from and the user indicates the desired type.
– The system asks for the amount to be withdrawn and the
user specifies it.
– Next, the system debits the user’s account and
dispenses the money.
– The user removes the money, the system prints a
receipt, and the user removes the receipt.
– Then the system displays a closing message and
dispenses the user’s ATM card.
– After the user removes his card, the system displays the
welcome message.
23
24
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action
Extensions Step Branching Action
Open Issues
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
25
Number Unique use case number
Name Brief verb-noun phrase
Summary Brief summary of use case major actions
Priority 1-5 (1 = lowest priority, 5 = highest priority)
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action
Extensions Step Branching Action
Open Issues
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
26
Number
Name
Summary
Priority
Preconditions What needs to be true before the use case “executes”
Postconditions What will be true after the use case successfully “executes”
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action
Extensions Step Branching Action
Open Issues
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
27
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s) Primary actor name(s)
Secondary Actor(s) Secondary actor name(s)
Trigger
Main Scenario Step Action
Extensions Step Branching Action
Open Issues
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
Actor
• Anyone or anything with
behavior
• May be a person or system
• Primary: The stakeholder
who or which initiates an
interaction with the system to
achieve a goal. Is generally a
category of individuals (a
role).
• Secondary: Provides a
service to the system. Is
almost never a person.
28
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger The action that caused the use case to be invoked
Main Scenario Step Action
Step # This is the “main success scenario” or “happy path”
Step # Description of steps in successful use case “execution”
Step # This should be in a “system-user-system, etc.” format
Extensions Step Branching Action
Open Issues
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
29
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action
Extensions Step Branching Action
Step # Alternative paths that the use case may take
Open Issues
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
Extension
• Could be an optional path(s)
• Could be an error path(s)
• Denoted in use case
diagrams (UML) by
<<extend>>
30
Number
Name
Summary
Priority
Preconditions
Postconditions
Primary Actor(s)
Secondary Actor(s)
Trigger
Main Scenario Step Action
Extensions Step Branching Action
Open Issues Issue # Issues regarding the use case that need resolution
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
31
Number Unique use case number
Name Brief noun-verb phrase
Summary Brief summary of use case major actions
Priority 1-5 (1 = lowest priority, 5 = highest priority)
Preconditions What needs to be true before use case “executes”
Postconditions What will be true after the use case successfully “executes”
Primary Actor(s) Primary actor name(s)
Secondary Actor(s) Secondary actor name(s)
Trigger The action that causes this use case to begin
Main Scenario Step Action
Step # This is the “main success scenario” or “happy path.”
… Description of steps in successful use case “execution”
… This should be in a “system-user-system, etc.” format.
Extensions Step Branching Action
Step # Alternative paths that the use case may take
Open Issues Issue # Issues regarding the use case that need resolution
Use Case Specification Template*
*Adapted from A. Cockburn, “Basic Use Case Template”
32
Number 1
Name Withdraw Money
Summary User withdraws money from one of his/her accounts
Priority 5
Preconditions User has logged into ATM
Postconditions User has withdrawn money and received a receipt
Primary Actor(s) Bank Customer
Secondary Actor(s) Customer Accounts Database
Use Case Specification Template Example
Continued
…
33
Trigger User has chosen to withdraw money
Main Scenario Step Action
1 System displays account types
2 User chooses account type
3 System asks for amount to withdraw
4 User enters amount
5 System debits user’s account and dispenses money
6 User removes money
7 System prints and dispenses receipt
8 User removes receipt
9 System displays closing message and dispenses user’s ATM card
11 User removes card
10 System displays welcome message
Extensions Step Branching Action
5a System notifies user that account funds are insufficient
5b System gives current account balance
5c System exits option
Open Issues 1 Should the system ask if the user wants to see the balance?
34
Uses Case Diagram for ATM Customer
ATM
Customer
Withdraw
funds
Query
account
Transfer
funds
Validate
PIN
«include»
«include»
«include»
35
Use Case Diagram for ATM Operator
Startup
Shutdown
Operator
Add
cash
36
Use Case Diagram for ATM
ATM
Customer
Withdraw
funds
Query
account
Transfer
funds
Startup
Shutdown
Validate
PIN
Operator
Add
cash
«include»
«include»
«include»
Adv
37
Object Model
Object modeling
• Object models defines concepts such as:
– class, generic function, message, inheritance,
polymorphism, and encapsulation.
• The purpose of the requirements analysis:
– To establish an understanding of the application domain
and to capture, formalize, analyze and validate the user
requirements on the system to be built.
• For this purpose the system is viewed as a black-box and only
the objects and concepts visible on the system boundary and
outside the system are modeled.
38
Object modeling
• A class diagram help to understand the
requirements of the problem domain and to identify
its components
– a class represents an object or a set of objects that share
a common structure and behavior
– a relationship is a connection between model elements
• Class diagrams model the classes, or “building
blocks,” used in a system.
– We create classes only for the nouns and noun phrases
that have significance in the ATM system.
– Classes:
• ATM, screen, keypad, cash dispenser, deposit slot, account,
bank database, balance inquiry, withdrawal and deposit
39
40
Conceptual Static Model for Problem
Domain: Physical Classes
ATM
ATMCustomer
1
CardReader CashDispenser ReceiptPrinter
Operator
Maintains
1 1
1 1 1
ATMCard
1
1
Reads
ATMCash
1
Dispenses
1
Receipt
1
Prints
1
41
Banking System Context Class
Diagram
ATMCustomer
CardReader
CashDispenser
ReceiptPrinter
Banking
System
Operator
Operator
ATM
Customer
1
1
1
1
1
1..*
1..*
1..*
1..*
1
1
1
1
1 1..*
1
1
Interacts
with
42
Banking System: Major
Subsystems
CashDispenser
CardReader
ReceiptPrinter Operator
ATMCustomer
ATMClient
Subsystem
BankServer
Subsystem
Banking
System
1..* 1
1
1
1
1
1
1
1
1
1
1
43
Data Flow Diagrams
Data Flow Diagram
• A data flow diagram (DFD) is a graphical
representation of the "flow" of data
– A DFD shows what kinds of information will be input to and
output from the system, where the data will come from and go
to, and where the data will be stored.
– A Level 1 DFD shows some of the detail of the system being
modeled.
– The Level 1 DFD shows how the system is divided into sub-
systems (processes),
• each of which deals with one or more of the data flows to or from an
external agent, and provide all of the functionality of the system as a
whole.
44
45
System Context Diagram
0
ATM
System
ATM
Customer
Bank
ATM
Operator
Operator
Instructions
Inputs
from
Customer
Cash
Receipt
Outputs
to
Customer
Bank
Requests
Bank
Responses
Operator
Responses
46
Data Flow Diagram – Level 1
2
Interface
with
Customer
4
Interface
with
Bank
3
Interface
with
Operator
Operator
Instructions
Operator
Responses
Bank
Requests
Bank
Responses
1
Control
ATM
Inputs
from
Customer
Cash
Receipt
Outputs
to
Customer
ATM Card
and
Transactions
Messages
from
Customer
Interface
Messages to
Customer Interface Messages from
Operator Interface
Messages to
Operator Interface
Messages
to Bank
Interface
Messages
from Bank
Interface
ATM
Cash
47
Level 2 DFD: Interface with Customer
1
Control
ATM
ATM Card
and
Transactions
2.1
Read and
Validate
Card
2.2
Process
User Inputs
and Display
2.3
Dispense
Cash
2.4
Print
Receipt
Cash
Receipt
Card
Info
Transaction
Info
PIN
Cancel Display
Messages
Card
Inserted
Eject
Card
Print
Receipt
ATM
Cash
Dispense
Cash
User Input
Read
Cancelled
Display
Message
Confiscate
Card
48
Statecharts
State Chart Model
• It describes different states of a component in a
system.
– The states are specific to a component/object of a
system.
• used to model dynamic nature of a system
• A State-chart diagram describes a state machine
– To clarify it state machine can be defined as a machine
which defines different states of an object and these
states are controlled by external or internal events.
49
50
Statechart for ATM Control: Validate
PIN Use Case
Idle
Entry / Display
Welcome
Waiting
for PIN
Validating PIN
Waiting for
Customer Choice
1.2: Card Inserted /
1.3: Get PIN
2.4: PIN Entered /
2.5: Validate PIN
2.6: Valid PIN /
2.7: Display Menu,
2.7a: Update Status
51
Statechart for ATM Control:
Withdraw Funds Use Case
Idle
Entry / Display
Welcome
Terminating
Waiting for
Customer Choice
Processing
Withdrawal
Ejecting
Dispensing
Printing
3.3: Withdrawal Selected /
3.4: Request Withdrawal,
3.4a: Display Wait
3.5: Withdrawal OK /
3.6: Dispense Cash,
3.6a: Update Status
3.10: Cash Dispensed /
3.11: Print Receipt,
3.11a: Display Cash Dispensed,
3.11b: ACK Cash Dispensed
3.15: Receipt Printed
3.16: Eject
3.18: Card Ejected /
3.19: Display Ejected
52
Top-Level ATM Control Statechart
Idle
Entry / Display
Welcome
Closed Down
Entry / Display
System Down
Processing
Customer
Input
Terminating
Transaction
Processing
Transaction
Startup Closedown
Insufficient Cash / Eject
After (Elapsed Time)
[Closedown Was Requested]
After (Elapsed Time)
[Closedown Not Requested]
Third Invalid, Stolen / Confiscate, Update Status
Cancel / Eject, Display Cancel
1.2: Card Inserted /
1.3: Get PIN
Transfer Selected /
Request Transfer,
Display Wait
Query Selected /
Request Query,
Display Wait
3.3: Withdrawal Selected /
3.4: Request Withdrawal,
3.4a: Display Wait
Rejected /
Eject, Display Apology
Transfer OK / Print Receipt,
Update Status
Query OK / Print Receipt,
Update Status
3.5: Withdrawal OK /
3.6: Dispense Cash, 3.6a: Update Stat
53
Sequence Diagram
54
Sequence Diagram: ATM Client
Validate PIN Use Case - 1
:ATM
Customer
:CardReader
Interface
:ATMCard :ATMControl
:Customer
Interface
:ATM
Transaction
:BankServer
1: Card
Reader Input
1.2: Card Inserted
1.1: Card Input Data
1.3: Get PIN
1.4: PIN Prompt
55
Sequence Diagram: ATM Client
Validate PIN Use Case - 2
:ATM
Customer
:CardReader
Interface
:ATMCard :ATMControl
:Customer
Interface
:ATM
Transaction
:BankServer
2: PIN Input
2.2: Card Data
2.1: Card Request
2.3: Customer Info
2.4: PIN Entered
2.5: Validate PIN
2.6: [Valid]: Valid PIN
56
Sequence Diagram: ATM Client
Validate PIN Use Case - 3
:ATM
Customer
:CardReader
Interface
:ATMCard :ATMControl
:Customer
Interface
:ATM
Transaction
:BankServer
2.7: Display Menu
2.7a: Update Status
2.8: Selection Menu
57
Sequence Diagram: ATM Client
Withdraw Funds Use Case
Acknowledgment
• Chapter 3 - SWEBOK 4th edition
• UML Distilled: A Brief Guide to the Standard Object Modeling Language
by Martin Fowler
• UML 2.0 in a Nutshell by Dan Pilone Design Patterns: Elements of Reusable
Object-Oriented Software By Richard Helm, Ralph Johnson, and John Vlissides
•
58

More Related Content

Similar to Design.pptx

IRJET- Secured Merchant Payment using Biometric Transaction
IRJET-  	  Secured Merchant Payment using Biometric TransactionIRJET-  	  Secured Merchant Payment using Biometric Transaction
IRJET- Secured Merchant Payment using Biometric TransactionIRJET Journal
 
python pre-submission report.pdf
python pre-submission report.pdfpython pre-submission report.pdf
python pre-submission report.pdfSruthiMugle
 
Card payment evolution v1.0
Card payment evolution v1.0Card payment evolution v1.0
Card payment evolution v1.0Nugroho Gito
 
Guide to Understanding Credit Card Processing for Merchants
Guide to Understanding Credit Card Processing for MerchantsGuide to Understanding Credit Card Processing for Merchants
Guide to Understanding Credit Card Processing for MerchantsChloeBeckham
 
Electronic Payment Protocol
Electronic Payment ProtocolElectronic Payment Protocol
Electronic Payment ProtocolAju Thomas
 
Out sources of atm
Out sources of atmOut sources of atm
Out sources of atmDharmik
 
srs_ATM_example_for_reference.pdf
srs_ATM_example_for_reference.pdfsrs_ATM_example_for_reference.pdf
srs_ATM_example_for_reference.pdfRohitKumar259878
 
Presentation1
Presentation1Presentation1
Presentation1asnetaa
 
Payment gateway/payment service providers and future trends in mobile payment...
Payment gateway/payment service providers and future trends in mobile payment...Payment gateway/payment service providers and future trends in mobile payment...
Payment gateway/payment service providers and future trends in mobile payment...Danail Yotov
 
Presentation1 130512130536-phpapp01
Presentation1 130512130536-phpapp01Presentation1 130512130536-phpapp01
Presentation1 130512130536-phpapp01paaaneta
 
Transactions Using Bio-Metric Authentication
Transactions Using Bio-Metric AuthenticationTransactions Using Bio-Metric Authentication
Transactions Using Bio-Metric AuthenticationIRJET Journal
 

Similar to Design.pptx (20)

ATM Banking
ATM BankingATM Banking
ATM Banking
 
IRJET- Secured Merchant Payment using Biometric Transaction
IRJET-  	  Secured Merchant Payment using Biometric TransactionIRJET-  	  Secured Merchant Payment using Biometric Transaction
IRJET- Secured Merchant Payment using Biometric Transaction
 
python pre-submission report.pdf
python pre-submission report.pdfpython pre-submission report.pdf
python pre-submission report.pdf
 
Card payment evolution v1.0
Card payment evolution v1.0Card payment evolution v1.0
Card payment evolution v1.0
 
Atm
AtmAtm
Atm
 
Atm transaction
Atm transactionAtm transaction
Atm transaction
 
Guide to Understanding Credit Card Processing for Merchants
Guide to Understanding Credit Card Processing for MerchantsGuide to Understanding Credit Card Processing for Merchants
Guide to Understanding Credit Card Processing for Merchants
 
Electronic Payment Protocol
Electronic Payment ProtocolElectronic Payment Protocol
Electronic Payment Protocol
 
Out sources of atm
Out sources of atmOut sources of atm
Out sources of atm
 
srs_ATM_example_for_reference.pdf
srs_ATM_example_for_reference.pdfsrs_ATM_example_for_reference.pdf
srs_ATM_example_for_reference.pdf
 
Presentation1
Presentation1Presentation1
Presentation1
 
Task 2
Task 2Task 2
Task 2
 
Task 2
Task 2Task 2
Task 2
 
Payment gateway/payment service providers and future trends in mobile payment...
Payment gateway/payment service providers and future trends in mobile payment...Payment gateway/payment service providers and future trends in mobile payment...
Payment gateway/payment service providers and future trends in mobile payment...
 
What is ATM
What is ATMWhat is ATM
What is ATM
 
Presentation1 130512130536-phpapp01
Presentation1 130512130536-phpapp01Presentation1 130512130536-phpapp01
Presentation1 130512130536-phpapp01
 
Transactions Using Bio-Metric Authentication
Transactions Using Bio-Metric AuthenticationTransactions Using Bio-Metric Authentication
Transactions Using Bio-Metric Authentication
 
Payments primer
Payments primerPayments primer
Payments primer
 
Atm project
Atm projectAtm project
Atm project
 
Task2 sr
Task2 srTask2 sr
Task2 sr
 

Recently uploaded

Premium Call Girls Nagpur Call Girls (Adult Only) 💯Call Us 🔝 6378878445 🔝 💃 E...
Premium Call Girls Nagpur Call Girls (Adult Only) 💯Call Us 🔝 6378878445 🔝 💃 E...Premium Call Girls Nagpur Call Girls (Adult Only) 💯Call Us 🔝 6378878445 🔝 💃 E...
Premium Call Girls Nagpur Call Girls (Adult Only) 💯Call Us 🔝 6378878445 🔝 💃 E...vershagrag
 
What Does It Mean When Mercedes Says 'ESP Inoperative See Owner's Manual'
What Does It Mean When Mercedes Says 'ESP Inoperative See Owner's Manual'What Does It Mean When Mercedes Says 'ESP Inoperative See Owner's Manual'
What Does It Mean When Mercedes Says 'ESP Inoperative See Owner's Manual'Euromotive Performance
 
Call Girl In Goa Call Girls Service Just Call 🍑👄90042XXXX7 🍑👄 Top Class Call ...
Call Girl In Goa Call Girls Service Just Call 🍑👄90042XXXX7 🍑👄 Top Class Call ...Call Girl In Goa Call Girls Service Just Call 🍑👄90042XXXX7 🍑👄 Top Class Call ...
Call Girl In Goa Call Girls Service Just Call 🍑👄90042XXXX7 🍑👄 Top Class Call ...Call Girls Mumbai
 
Shimla Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Shimla Call Gir...
Shimla Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Shimla Call Gir...Shimla Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Shimla Call Gir...
Shimla Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Shimla Call Gir...Call Girls Mumbai
 
FULL ENJOY 8377087607 Call Girls In Paharganj (DELHI NCr) Call Girl Service
FULL ENJOY 8377087607 Call Girls In Paharganj (DELHI NCr) Call Girl ServiceFULL ENJOY 8377087607 Call Girls In Paharganj (DELHI NCr) Call Girl Service
FULL ENJOY 8377087607 Call Girls In Paharganj (DELHI NCr) Call Girl Servicedollysharma2066
 
👉 Agartala Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl S...
👉 Agartala Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl S...👉 Agartala Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl S...
👉 Agartala Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl S...vershagrag
 
Stacey+= Dubai Calls Girls O525547819 Call Girls In Dubai
Stacey+= Dubai Calls Girls O525547819 Call Girls In DubaiStacey+= Dubai Calls Girls O525547819 Call Girls In Dubai
Stacey+= Dubai Calls Girls O525547819 Call Girls In Dubaikojalkojal131
 
Changodar Call Girls Book Now 7737669865 Top Class Escort Service Available
Changodar Call Girls Book Now 7737669865 Top Class Escort Service AvailableChangodar Call Girls Book Now 7737669865 Top Class Escort Service Available
Changodar Call Girls Book Now 7737669865 Top Class Escort Service Availablegargpaaro
 
一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样
一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样
一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样wsppdmt
 
Nehru Place Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Ahmedabad ...
Nehru Place Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Ahmedabad ...Nehru Place Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Ahmedabad ...
Nehru Place Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Ahmedabad ...Call Girls Mumbai
 
Vip Begusarai Escorts Service Girl ^ 9332606886, WhatsApp Anytime Begusarai
Vip Begusarai Escorts Service Girl ^ 9332606886, WhatsApp Anytime BegusaraiVip Begusarai Escorts Service Girl ^ 9332606886, WhatsApp Anytime Begusarai
Vip Begusarai Escorts Service Girl ^ 9332606886, WhatsApp Anytime Begusaraimeghakumariji156
 
Faridabad * Call Girls Badarpur | Whatsapp No 📞 8168257667 📞 VIP Escorts Serv...
Faridabad * Call Girls Badarpur | Whatsapp No 📞 8168257667 📞 VIP Escorts Serv...Faridabad * Call Girls Badarpur | Whatsapp No 📞 8168257667 📞 VIP Escorts Serv...
Faridabad * Call Girls Badarpur | Whatsapp No 📞 8168257667 📞 VIP Escorts Serv...Hyderabad Escorts Agency
 
Goa🌹Vip Call Girls Panji ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Goa ESC...
Goa🌹Vip Call Girls Panji ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Goa ESC...Goa🌹Vip Call Girls Panji ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Goa ESC...
Goa🌹Vip Call Girls Panji ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Goa ESC...Call Girls Mumbai
 
Amreli } Russian Call Girls Ahmedabad - Phone 8005736733 Escorts Service at 6...
Amreli } Russian Call Girls Ahmedabad - Phone 8005736733 Escorts Service at 6...Amreli } Russian Call Girls Ahmedabad - Phone 8005736733 Escorts Service at 6...
Amreli } Russian Call Girls Ahmedabad - Phone 8005736733 Escorts Service at 6...gragchanchal546
 
Housewife Call Girl in Faridabad ₹7.5k Pick Up & Drop With Cash Payment #8168...
Housewife Call Girl in Faridabad ₹7.5k Pick Up & Drop With Cash Payment #8168...Housewife Call Girl in Faridabad ₹7.5k Pick Up & Drop With Cash Payment #8168...
Housewife Call Girl in Faridabad ₹7.5k Pick Up & Drop With Cash Payment #8168...Hyderabad Escorts Agency
 
Washim Call Girls 📞9332606886 Call Girls in Washim Escorts service book now C...
Washim Call Girls 📞9332606886 Call Girls in Washim Escorts service book now C...Washim Call Girls 📞9332606886 Call Girls in Washim Escorts service book now C...
Washim Call Girls 📞9332606886 Call Girls in Washim Escorts service book now C...Dipal Arora
 
Kolkata🌹Vip Call Girls Bengal ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Ko...
Kolkata🌹Vip Call Girls Bengal ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Ko...Kolkata🌹Vip Call Girls Bengal ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Ko...
Kolkata🌹Vip Call Girls Bengal ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Ko...Call Girls Mumbai
 
Call Girls Kolkata +910000000000 call me Independent Escort Service Bengal
Call Girls Kolkata +910000000000 call me Independent Escort Service BengalCall Girls Kolkata +910000000000 call me Independent Escort Service Bengal
Call Girls Kolkata +910000000000 call me Independent Escort Service BengalCall Girls Mumbai
 
Bhubaneswar Call Girls 💯Call Us 🔝 9777949614 🔝 💃 Top Class Russian Bhubaneswa...
Bhubaneswar Call Girls 💯Call Us 🔝 9777949614 🔝 💃 Top Class Russian Bhubaneswa...Bhubaneswar Call Girls 💯Call Us 🔝 9777949614 🔝 💃 Top Class Russian Bhubaneswa...
Bhubaneswar Call Girls 💯Call Us 🔝 9777949614 🔝 💃 Top Class Russian Bhubaneswa...jaspritkaur4u
 

Recently uploaded (20)

Premium Call Girls Nagpur Call Girls (Adult Only) 💯Call Us 🔝 6378878445 🔝 💃 E...
Premium Call Girls Nagpur Call Girls (Adult Only) 💯Call Us 🔝 6378878445 🔝 💃 E...Premium Call Girls Nagpur Call Girls (Adult Only) 💯Call Us 🔝 6378878445 🔝 💃 E...
Premium Call Girls Nagpur Call Girls (Adult Only) 💯Call Us 🔝 6378878445 🔝 💃 E...
 
What Does It Mean When Mercedes Says 'ESP Inoperative See Owner's Manual'
What Does It Mean When Mercedes Says 'ESP Inoperative See Owner's Manual'What Does It Mean When Mercedes Says 'ESP Inoperative See Owner's Manual'
What Does It Mean When Mercedes Says 'ESP Inoperative See Owner's Manual'
 
Call Girl In Goa Call Girls Service Just Call 🍑👄90042XXXX7 🍑👄 Top Class Call ...
Call Girl In Goa Call Girls Service Just Call 🍑👄90042XXXX7 🍑👄 Top Class Call ...Call Girl In Goa Call Girls Service Just Call 🍑👄90042XXXX7 🍑👄 Top Class Call ...
Call Girl In Goa Call Girls Service Just Call 🍑👄90042XXXX7 🍑👄 Top Class Call ...
 
Shimla Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Shimla Call Gir...
Shimla Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Shimla Call Gir...Shimla Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Shimla Call Gir...
Shimla Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Shimla Call Gir...
 
FULL ENJOY 8377087607 Call Girls In Paharganj (DELHI NCr) Call Girl Service
FULL ENJOY 8377087607 Call Girls In Paharganj (DELHI NCr) Call Girl ServiceFULL ENJOY 8377087607 Call Girls In Paharganj (DELHI NCr) Call Girl Service
FULL ENJOY 8377087607 Call Girls In Paharganj (DELHI NCr) Call Girl Service
 
👉 Agartala Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl S...
👉 Agartala Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl S...👉 Agartala Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl S...
👉 Agartala Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl S...
 
Stacey+= Dubai Calls Girls O525547819 Call Girls In Dubai
Stacey+= Dubai Calls Girls O525547819 Call Girls In DubaiStacey+= Dubai Calls Girls O525547819 Call Girls In Dubai
Stacey+= Dubai Calls Girls O525547819 Call Girls In Dubai
 
Changodar Call Girls Book Now 7737669865 Top Class Escort Service Available
Changodar Call Girls Book Now 7737669865 Top Class Escort Service AvailableChangodar Call Girls Book Now 7737669865 Top Class Escort Service Available
Changodar Call Girls Book Now 7737669865 Top Class Escort Service Available
 
Obat Penggugur Kandungan Di Apotek Klinik Banyuwangi +6287776558899
Obat Penggugur Kandungan Di Apotek Klinik Banyuwangi +6287776558899Obat Penggugur Kandungan Di Apotek Klinik Banyuwangi +6287776558899
Obat Penggugur Kandungan Di Apotek Klinik Banyuwangi +6287776558899
 
一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样
一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样
一比一原版西安大略大学毕业证(UWO毕业证)成绩单原件一模一样
 
Nehru Place Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Ahmedabad ...
Nehru Place Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Ahmedabad ...Nehru Place Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Ahmedabad ...
Nehru Place Call Girls 💯Call Us 🔝 9xx000xx09 🔝 💃 Top Class Russian Ahmedabad ...
 
Vip Begusarai Escorts Service Girl ^ 9332606886, WhatsApp Anytime Begusarai
Vip Begusarai Escorts Service Girl ^ 9332606886, WhatsApp Anytime BegusaraiVip Begusarai Escorts Service Girl ^ 9332606886, WhatsApp Anytime Begusarai
Vip Begusarai Escorts Service Girl ^ 9332606886, WhatsApp Anytime Begusarai
 
Faridabad * Call Girls Badarpur | Whatsapp No 📞 8168257667 📞 VIP Escorts Serv...
Faridabad * Call Girls Badarpur | Whatsapp No 📞 8168257667 📞 VIP Escorts Serv...Faridabad * Call Girls Badarpur | Whatsapp No 📞 8168257667 📞 VIP Escorts Serv...
Faridabad * Call Girls Badarpur | Whatsapp No 📞 8168257667 📞 VIP Escorts Serv...
 
Goa🌹Vip Call Girls Panji ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Goa ESC...
Goa🌹Vip Call Girls Panji ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Goa ESC...Goa🌹Vip Call Girls Panji ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Goa ESC...
Goa🌹Vip Call Girls Panji ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Goa ESC...
 
Amreli } Russian Call Girls Ahmedabad - Phone 8005736733 Escorts Service at 6...
Amreli } Russian Call Girls Ahmedabad - Phone 8005736733 Escorts Service at 6...Amreli } Russian Call Girls Ahmedabad - Phone 8005736733 Escorts Service at 6...
Amreli } Russian Call Girls Ahmedabad - Phone 8005736733 Escorts Service at 6...
 
Housewife Call Girl in Faridabad ₹7.5k Pick Up & Drop With Cash Payment #8168...
Housewife Call Girl in Faridabad ₹7.5k Pick Up & Drop With Cash Payment #8168...Housewife Call Girl in Faridabad ₹7.5k Pick Up & Drop With Cash Payment #8168...
Housewife Call Girl in Faridabad ₹7.5k Pick Up & Drop With Cash Payment #8168...
 
Washim Call Girls 📞9332606886 Call Girls in Washim Escorts service book now C...
Washim Call Girls 📞9332606886 Call Girls in Washim Escorts service book now C...Washim Call Girls 📞9332606886 Call Girls in Washim Escorts service book now C...
Washim Call Girls 📞9332606886 Call Girls in Washim Escorts service book now C...
 
Kolkata🌹Vip Call Girls Bengal ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Ko...
Kolkata🌹Vip Call Girls Bengal ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Ko...Kolkata🌹Vip Call Girls Bengal ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Ko...
Kolkata🌹Vip Call Girls Bengal ❤Heer 0000000000💟 Full Trusted CALL GIRLS IN Ko...
 
Call Girls Kolkata +910000000000 call me Independent Escort Service Bengal
Call Girls Kolkata +910000000000 call me Independent Escort Service BengalCall Girls Kolkata +910000000000 call me Independent Escort Service Bengal
Call Girls Kolkata +910000000000 call me Independent Escort Service Bengal
 
Bhubaneswar Call Girls 💯Call Us 🔝 9777949614 🔝 💃 Top Class Russian Bhubaneswa...
Bhubaneswar Call Girls 💯Call Us 🔝 9777949614 🔝 💃 Top Class Russian Bhubaneswa...Bhubaneswar Call Girls 💯Call Us 🔝 9777949614 🔝 💃 Top Class Russian Bhubaneswa...
Bhubaneswar Call Girls 💯Call Us 🔝 9777949614 🔝 💃 Top Class Russian Bhubaneswa...
 

Design.pptx

  • 3. 3 1. Introduction 1.1 A bank has several automated teller machines (ATMs), which are geographically distributed and connected via a wide area network to a central server. Each ATM machine has a card reader, a cash dispenser, a keyboard/display, and a receipt printer. By using the ATM machine, a customer can withdraw cash from either checking or savings account, query the balance of an account, or transfer funds from one account to another. A transaction is initiated when a customer inserts an ATM card into the card reader. Encoded on the magnetic strip on the back of the ATM card are the card number, the start date, and the expiration date. Assuming the card is recognized, the system validates the ATM card to determine that the expiration date has not passed, that the user-entered PIN (personal identification number) matches the PIN maintained by the system, and that the card is not lost or stolen. The customer is allowed three attempts to enter the correct PIN; the card is confiscated if the third attempt fails. Cards that have been reported lost or stolen are also confiscated.
  • 4. 4 Introduction 1.2 If the PIN is validated satisfactorily, the customer is prompted for a withdrawal, query, or transfer transaction. Before withdrawal transaction can be approved, the system determines that sufficient funds exist in the requested account, that the maximum daily limit will not be exceeded, and that there are sufficient funds available at the local cash dispenser. If the transaction is approved, the requested amount of cash is dispensed, a receipt is printed containing information about the transaction, and the card is ejected. Before a transfer transaction can be approved, the system determines that the customer has at least two accounts and that there are sufficient funds in the account to be debited. For approved query and transfer requests, a receipt is printed and card ejected. A customer may cancel a transaction at any time; the transaction is terminated and the card is ejected. Customer records, account records, and debit card records are all maintained at the server.
  • 5. 5 Introduction 1.3 An ATM operator may start up and close down the ATM to replenish the ATM cash dispenser and for routine maintenance. It is assumed that functionality to open and close accounts and to create, update, and delete customer and debit card records is provided by an existing system and is not part of this problem.
  • 6. 6 2. Specific Requirements 2.1 The XYZ Bank Inc. can have many automated teller machines (ATMs), and the new software system shall provide functionality on all ATMs. 2.2 The system shall enable the customers of XYZ Bank Inc., who have valid ATM cards, to perform three types of transactions; 2.2.1 Withdrawal of funds, 2.2.2 Query of account balance, and 2.2.3 Transfer of funds from one bank account to another account in the same bank.
  • 7. 7 2. Specific Requirements 2.3 An ATM card usage shall be considered valid if it meets the following conditions: a) The card was issued by an authorized bank. b) The card is used after the start date, i.e., the date when the card was issued. c) The card is used before the expiration date, i.e., the date when the card expires. d) The card has not been reported lost or stolen by the customer, who had been issued that card. e) The customer provides correct personal identification number (PIN), which matches the PIN maintained by the system.
  • 8. 8 2. Specific Requirements 2.4 The system shall confiscate the ATM card if it detects that a lost or stolen card has been inserted by a customer. (The system shall also display an apology to the customer). 2.5 The system shall allow the customer to enter the correct PIN in no more three attempts. 2.6 The failure to provide correct PIN in three attempts shall result in the confiscation of the ATM card.
  • 9. 9 2. Specific Requirements 2.7 The system shall ask for the transaction type after satisfactory validation of the customer PIN. 2.8 The customer shall be given three options, as type of transaction: withdrawal transaction, or query transaction, or transfer transaction. 2.9 If a customer selects withdrawal transaction, the system shall prompt the customer to enter account number and amount to be dispensed.
  • 10. 10 2. Specific Requirements 2.10 For a withdrawal transaction, the system shall determine: a). that sufficient funds exist in the requested account, b).that the maximum daily limit has not be exceeded, and c). that there are sufficient funds available at the local cash dispenser.
  • 11. 11 2. Specific Requirements 2.11 If a withdrawal transaction is approved, the requested amount of cash shall be dispensed. 2.11.1. A receipt shall be printed containing information about the transaction, and the card shall be ejected. 2.11.2 The information printed on the receipt includes: a). transaction number, b). transaction type, c).amount withdrawn, and d).account balance.
  • 12. 12 2. Specific Requirements 2.12 If a customer selects query transaction, the system shall prompt the customer to enter account number. 2.13. If a query transaction is approved, the system shall print a receipt and eject the card. 4.13.1The information contained on the receipt includes: a). Transaction number, b). Transaction type, and c). Account balance.
  • 13. 13 2. Specific Requirements 2.14. If a customer selects transfer transaction, the system shall prompt the customer to enter “From Account” number, “To Account” number, and amount to be transferred. 2.15. The system shall check if there are enough funds available in the “From Account”, which are being requested for transfer to the “To Account”.
  • 14. 14 2. Specific Requirements 2.16. If the transfer transaction is approved, a receipt shall be printed and card shall be ejected. 4.16.1. The information printed on the receipt includes: a). Transaction number, b). Transaction type, c). Amount transferred, and d). Account balance. 2.17. The system shall cancel any transaction: 4.17.1 if it has not been completed 4.17.2 if the customer presses the Cancel button
  • 15. 15 2. Specific Requirements 2.18. The customer records, account records, and debit card records will all be maintained at the server and shall not be the responsibility of the system. 2.19. The system shall enable an ATM operator to shutdown or start up an ATM for routine maintenance.
  • 16. 16 2. Specific Requirements 2.20. The system shall enable an ATM operator to add cash to the cash dispenser. 2.21.The system shall not be responsible for opening or closing of accounts, and to create, update, and delete customer and debit card records. These tasks are performed elsewhere by a bank.
  • 17. 17 2. Specific Requirements 2.22. The system shall be linked with the bank server through communication systems, which are beyond the scope of the current system. It is assumed that this facility is always available. 2.23.The system shall not be responsible for the maintenance of the hardware devices of the ATM or network facilities.
  • 18. 18 3. UML Model • 3.1 Use-case model • 3.2 Object model • 3.3 Functional model – 3.3.1 Data-flow model – 3.3.2 SADT model • 3.4 Dynamic model – 3.4.1 State charts – 3.4.2 sequence Diagram
  • 20. Use-case model • Customers and end users have goals/needs, and want computer systems to help meet them, – There are several ways to capture these goals and system requirements; • the better ones are simple and familiar because this makes it easier—especially for customers and end users—to contribute to their definition or evaluation. • Use cases are a mechanism to help keep it simple and understandable for all stakeholders. – Informally, they are stories of using a system to meet goals. • use case is a list of steps, defining interactions between a role an "actor" and a system, to achieve a goal. 20
  • 21. Use-case model • Use cases are text documents, not diagrams, and use case modeling is primarily an act of writing, not drawing. – The UML defines a use case diagram to illustrate the names of use cases and actors, and their relationships. • The beauty of use case: – it aims at describing a system from external usage viewpoint, rather than from developer's perspective. – writing use case can be the deciding factor for building a system that meets users' needs. 21
  • 22. Use case modeling for ATM • Use case modeling identifies the use cases of the system, each representing a different capability that the system provides to its clients. – “View Account Balance” – “Withdraw Cash” – “Deposit Funds” • Each use case describes a typical scenario for which the user uses the system. 22
  • 23. Example Use Case 1. Withdraw Money – The system displays the account types available to be withdrawn from and the user indicates the desired type. – The system asks for the amount to be withdrawn and the user specifies it. – Next, the system debits the user’s account and dispenses the money. – The user removes the money, the system prints a receipt, and the user removes the receipt. – Then the system displays a closing message and dispenses the user’s ATM card. – After the user removes his card, the system displays the welcome message. 23
  • 24. 24 Number Name Summary Priority Preconditions Postconditions Primary Actor(s) Secondary Actor(s) Trigger Main Scenario Step Action Extensions Step Branching Action Open Issues Use Case Specification Template* *Adapted from A. Cockburn, “Basic Use Case Template”
  • 25. 25 Number Unique use case number Name Brief verb-noun phrase Summary Brief summary of use case major actions Priority 1-5 (1 = lowest priority, 5 = highest priority) Preconditions Postconditions Primary Actor(s) Secondary Actor(s) Trigger Main Scenario Step Action Extensions Step Branching Action Open Issues Use Case Specification Template* *Adapted from A. Cockburn, “Basic Use Case Template”
  • 26. 26 Number Name Summary Priority Preconditions What needs to be true before the use case “executes” Postconditions What will be true after the use case successfully “executes” Primary Actor(s) Secondary Actor(s) Trigger Main Scenario Step Action Extensions Step Branching Action Open Issues Use Case Specification Template* *Adapted from A. Cockburn, “Basic Use Case Template”
  • 27. 27 Number Name Summary Priority Preconditions Postconditions Primary Actor(s) Primary actor name(s) Secondary Actor(s) Secondary actor name(s) Trigger Main Scenario Step Action Extensions Step Branching Action Open Issues Use Case Specification Template* *Adapted from A. Cockburn, “Basic Use Case Template” Actor • Anyone or anything with behavior • May be a person or system • Primary: The stakeholder who or which initiates an interaction with the system to achieve a goal. Is generally a category of individuals (a role). • Secondary: Provides a service to the system. Is almost never a person.
  • 28. 28 Number Name Summary Priority Preconditions Postconditions Primary Actor(s) Secondary Actor(s) Trigger The action that caused the use case to be invoked Main Scenario Step Action Step # This is the “main success scenario” or “happy path” Step # Description of steps in successful use case “execution” Step # This should be in a “system-user-system, etc.” format Extensions Step Branching Action Open Issues Use Case Specification Template* *Adapted from A. Cockburn, “Basic Use Case Template”
  • 29. 29 Number Name Summary Priority Preconditions Postconditions Primary Actor(s) Secondary Actor(s) Trigger Main Scenario Step Action Extensions Step Branching Action Step # Alternative paths that the use case may take Open Issues Use Case Specification Template* *Adapted from A. Cockburn, “Basic Use Case Template” Extension • Could be an optional path(s) • Could be an error path(s) • Denoted in use case diagrams (UML) by <<extend>>
  • 30. 30 Number Name Summary Priority Preconditions Postconditions Primary Actor(s) Secondary Actor(s) Trigger Main Scenario Step Action Extensions Step Branching Action Open Issues Issue # Issues regarding the use case that need resolution Use Case Specification Template* *Adapted from A. Cockburn, “Basic Use Case Template”
  • 31. 31 Number Unique use case number Name Brief noun-verb phrase Summary Brief summary of use case major actions Priority 1-5 (1 = lowest priority, 5 = highest priority) Preconditions What needs to be true before use case “executes” Postconditions What will be true after the use case successfully “executes” Primary Actor(s) Primary actor name(s) Secondary Actor(s) Secondary actor name(s) Trigger The action that causes this use case to begin Main Scenario Step Action Step # This is the “main success scenario” or “happy path.” … Description of steps in successful use case “execution” … This should be in a “system-user-system, etc.” format. Extensions Step Branching Action Step # Alternative paths that the use case may take Open Issues Issue # Issues regarding the use case that need resolution Use Case Specification Template* *Adapted from A. Cockburn, “Basic Use Case Template”
  • 32. 32 Number 1 Name Withdraw Money Summary User withdraws money from one of his/her accounts Priority 5 Preconditions User has logged into ATM Postconditions User has withdrawn money and received a receipt Primary Actor(s) Bank Customer Secondary Actor(s) Customer Accounts Database Use Case Specification Template Example Continued …
  • 33. 33 Trigger User has chosen to withdraw money Main Scenario Step Action 1 System displays account types 2 User chooses account type 3 System asks for amount to withdraw 4 User enters amount 5 System debits user’s account and dispenses money 6 User removes money 7 System prints and dispenses receipt 8 User removes receipt 9 System displays closing message and dispenses user’s ATM card 11 User removes card 10 System displays welcome message Extensions Step Branching Action 5a System notifies user that account funds are insufficient 5b System gives current account balance 5c System exits option Open Issues 1 Should the system ask if the user wants to see the balance?
  • 34. 34 Uses Case Diagram for ATM Customer ATM Customer Withdraw funds Query account Transfer funds Validate PIN «include» «include» «include»
  • 35. 35 Use Case Diagram for ATM Operator Startup Shutdown Operator Add cash
  • 36. 36 Use Case Diagram for ATM ATM Customer Withdraw funds Query account Transfer funds Startup Shutdown Validate PIN Operator Add cash «include» «include» «include» Adv
  • 38. Object modeling • Object models defines concepts such as: – class, generic function, message, inheritance, polymorphism, and encapsulation. • The purpose of the requirements analysis: – To establish an understanding of the application domain and to capture, formalize, analyze and validate the user requirements on the system to be built. • For this purpose the system is viewed as a black-box and only the objects and concepts visible on the system boundary and outside the system are modeled. 38
  • 39. Object modeling • A class diagram help to understand the requirements of the problem domain and to identify its components – a class represents an object or a set of objects that share a common structure and behavior – a relationship is a connection between model elements • Class diagrams model the classes, or “building blocks,” used in a system. – We create classes only for the nouns and noun phrases that have significance in the ATM system. – Classes: • ATM, screen, keypad, cash dispenser, deposit slot, account, bank database, balance inquiry, withdrawal and deposit 39
  • 40. 40 Conceptual Static Model for Problem Domain: Physical Classes ATM ATMCustomer 1 CardReader CashDispenser ReceiptPrinter Operator Maintains 1 1 1 1 1 ATMCard 1 1 Reads ATMCash 1 Dispenses 1 Receipt 1 Prints 1
  • 41. 41 Banking System Context Class Diagram ATMCustomer CardReader CashDispenser ReceiptPrinter Banking System Operator Operator ATM Customer 1 1 1 1 1 1..* 1..* 1..* 1..* 1 1 1 1 1 1..* 1 1 Interacts with
  • 42. 42 Banking System: Major Subsystems CashDispenser CardReader ReceiptPrinter Operator ATMCustomer ATMClient Subsystem BankServer Subsystem Banking System 1..* 1 1 1 1 1 1 1 1 1 1 1
  • 44. Data Flow Diagram • A data flow diagram (DFD) is a graphical representation of the "flow" of data – A DFD shows what kinds of information will be input to and output from the system, where the data will come from and go to, and where the data will be stored. – A Level 1 DFD shows some of the detail of the system being modeled. – The Level 1 DFD shows how the system is divided into sub- systems (processes), • each of which deals with one or more of the data flows to or from an external agent, and provide all of the functionality of the system as a whole. 44
  • 46. 46 Data Flow Diagram – Level 1 2 Interface with Customer 4 Interface with Bank 3 Interface with Operator Operator Instructions Operator Responses Bank Requests Bank Responses 1 Control ATM Inputs from Customer Cash Receipt Outputs to Customer ATM Card and Transactions Messages from Customer Interface Messages to Customer Interface Messages from Operator Interface Messages to Operator Interface Messages to Bank Interface Messages from Bank Interface ATM Cash
  • 47. 47 Level 2 DFD: Interface with Customer 1 Control ATM ATM Card and Transactions 2.1 Read and Validate Card 2.2 Process User Inputs and Display 2.3 Dispense Cash 2.4 Print Receipt Cash Receipt Card Info Transaction Info PIN Cancel Display Messages Card Inserted Eject Card Print Receipt ATM Cash Dispense Cash User Input Read Cancelled Display Message Confiscate Card
  • 49. State Chart Model • It describes different states of a component in a system. – The states are specific to a component/object of a system. • used to model dynamic nature of a system • A State-chart diagram describes a state machine – To clarify it state machine can be defined as a machine which defines different states of an object and these states are controlled by external or internal events. 49
  • 50. 50 Statechart for ATM Control: Validate PIN Use Case Idle Entry / Display Welcome Waiting for PIN Validating PIN Waiting for Customer Choice 1.2: Card Inserted / 1.3: Get PIN 2.4: PIN Entered / 2.5: Validate PIN 2.6: Valid PIN / 2.7: Display Menu, 2.7a: Update Status
  • 51. 51 Statechart for ATM Control: Withdraw Funds Use Case Idle Entry / Display Welcome Terminating Waiting for Customer Choice Processing Withdrawal Ejecting Dispensing Printing 3.3: Withdrawal Selected / 3.4: Request Withdrawal, 3.4a: Display Wait 3.5: Withdrawal OK / 3.6: Dispense Cash, 3.6a: Update Status 3.10: Cash Dispensed / 3.11: Print Receipt, 3.11a: Display Cash Dispensed, 3.11b: ACK Cash Dispensed 3.15: Receipt Printed 3.16: Eject 3.18: Card Ejected / 3.19: Display Ejected
  • 52. 52 Top-Level ATM Control Statechart Idle Entry / Display Welcome Closed Down Entry / Display System Down Processing Customer Input Terminating Transaction Processing Transaction Startup Closedown Insufficient Cash / Eject After (Elapsed Time) [Closedown Was Requested] After (Elapsed Time) [Closedown Not Requested] Third Invalid, Stolen / Confiscate, Update Status Cancel / Eject, Display Cancel 1.2: Card Inserted / 1.3: Get PIN Transfer Selected / Request Transfer, Display Wait Query Selected / Request Query, Display Wait 3.3: Withdrawal Selected / 3.4: Request Withdrawal, 3.4a: Display Wait Rejected / Eject, Display Apology Transfer OK / Print Receipt, Update Status Query OK / Print Receipt, Update Status 3.5: Withdrawal OK / 3.6: Dispense Cash, 3.6a: Update Stat
  • 54. 54 Sequence Diagram: ATM Client Validate PIN Use Case - 1 :ATM Customer :CardReader Interface :ATMCard :ATMControl :Customer Interface :ATM Transaction :BankServer 1: Card Reader Input 1.2: Card Inserted 1.1: Card Input Data 1.3: Get PIN 1.4: PIN Prompt
  • 55. 55 Sequence Diagram: ATM Client Validate PIN Use Case - 2 :ATM Customer :CardReader Interface :ATMCard :ATMControl :Customer Interface :ATM Transaction :BankServer 2: PIN Input 2.2: Card Data 2.1: Card Request 2.3: Customer Info 2.4: PIN Entered 2.5: Validate PIN 2.6: [Valid]: Valid PIN
  • 56. 56 Sequence Diagram: ATM Client Validate PIN Use Case - 3 :ATM Customer :CardReader Interface :ATMCard :ATMControl :Customer Interface :ATM Transaction :BankServer 2.7: Display Menu 2.7a: Update Status 2.8: Selection Menu
  • 57. 57 Sequence Diagram: ATM Client Withdraw Funds Use Case
  • 58. Acknowledgment • Chapter 3 - SWEBOK 4th edition • UML Distilled: A Brief Guide to the Standard Object Modeling Language by Martin Fowler • UML 2.0 in a Nutshell by Dan Pilone Design Patterns: Elements of Reusable Object-Oriented Software By Richard Helm, Ralph Johnson, and John Vlissides • 58