SlideShare ist ein Scribd-Unternehmen logo
1 von 41
1
Object-Oriented Static Modeling of
the Banking System - III
Lecture # 33
2
Problem Description
• 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.
3
Problem Description
• 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.
4
Problem Description
• 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.
• ‘Designing Concurrent, Distributed, and Real-Time Applications with
UML’ by H. Gomaa, Addison-Wesley, 2000
5
Putting the Classes Together
6
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
7
Conceptual Static Model for Problem
Domain: Physical Classes
• A bank has several ATMs.
• Each ATM is a composite class
consisting of a Card Reader, a Cash
Dispenser, a Receipt Printer, and a
user, the ATM Customer, who interacts
with the system by using a
keyboard/display
8
Conceptual Static Model for Problem
Domain: Physical Classes
• The Card Reader reads an ATM Card,
which is a plastic card and hence a
physical entity
• The Cash Dispenser dispenses ATM
Cash, which is also a physical entity in
terms of paper money of given
denominations
9
Conceptual Static Model for Problem
Domain: Physical Classes
• The Receipt Printer prints a Receipt, which
is a paper physical entity
• The physical entities represent classes in the
problem domain and are usually modeled
by software entity classes
• In addition, the Operator is also a an
external user, whose job is to maintain the
ATM – who interacts with the system via a
keyboard/displaytemuuteat
10
Conceptual Static Model for
Problem Domain: Entity Classes
Bank ATMInfo
Maintains
1 1
ATMTransaction
Account
Customer
DebitCard
CardAccount
Has
Owns
Modifies
1,2 *
*
1
Identifies
1
1
1..*
1..*
1..*
1..*
1..*
Manages
0..1
Owns
Provides
access to
11
Conceptual Static Model for
Problem Domain: Entity Classes
• The Bank entity class has a one-to-many
relationship with the Customer class and the
Debit Card class
• The Bank class has only one instance
• The Customer has many to many
relationship with Account class, which has
its subclasses (Checking Account, Savings
Account)
12
Conceptual Static Model for
Problem Domain: Entity Classes
• An Account is modified by an ATM
Transaction, which is also specialized
to depict different types of transactions
(Withdrawal Transaction, Query
Transaction, Transfer Transaction, or
PIN Validation Transaction)
13
Conceptual Static Model for
Problem Domain: Entity Classes
• There is also a Card Account association
class. Association classes are needed in
cases where the attributes are of the
association, rather than of the classes
connected by the association. Thus, in
many-to-many association between Debit
Card and Account, the individual accounts
that can be accessed by a given debit card
are attributes of the Card Account class and
not of either Debit Card or Account
14
Conceptual Static Model for
Problem Domain: Entity Classes
• Entity classes are also required to
model the physical classes in the
problem domain
• These include ATM Card, representing
the information read off the magnetic
strip on the plastic card
15
Conceptual Static Model for
Problem Domain: Entity Classes
• ATM Cash holds the amount of cash
maintained at an ATM, in five-hundred and
one-thousand rupee notes
• The Receipt holds information about a
transaction, and because is holds similar
information to the Transaction class
described earlier, a separate entity class is
unnecessary
16
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
17
Banking System Context Class
Diagram
• The system context diagram is
developed to show the external classes
to which the Banking system has to
interface
• We develop the context class diagram
by considering the physical classes
18
Banking System Context Class
Diagram
• The external classes correspond to the users
and I/O devices depicted to the classes in
the application domain
• They are the Card Reader, the Cash
Dispenser, the Receipt Printer, the ATM
Customer who interacts with the system via
a keyboard/display, and the Operator who
also interacts with the system via a
keyboard/display
19
Banking System Context Class
Diagram
• There is one instance of each of these
external classes for each ATM
• The system context class diagram for
the Banking system depicts the system
as one aggregate class that receives
input from and provides output to the
external classes
20
Client/Server Subsystem Structuring
• The Banking system is a client/server
application, some of the objects reside
at the ATM client and some reside at
the bank server
• The ATM Client Subsystem
• The Bank Server Subsystem
21
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
22
Banking System: Major Subsystems
• The ATM Client Subsystem is a
composite class, and one instance of
this class is located at each ATM
machine
• All the external classes interface to this
aggregate class
23
Banking System: Major Subsystems
• The Bank Server Subsystem has one
instance
• This aggregate class has a one-to-many
association with the ATM Client
Subsystem
• This is an example of geographically
distributed system
24
ATM Client Object Structuring
• Consider the interface classes for the
ATM Client Subsystem. These classes
are determined from the system
context diagram
• We design one interface class for each
external class, which can be a device
interface class or user interface class
25
Banking System External Classes
and Interfaces Classes
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
CardReader
Interface
ATMCustomer
Interface
CashDispenser
Interface
Operator
Interface
Receipt
Printer
Interface
26
Banking System External Classes
and Interfaces Classes
• The device interface classes are the
Card Reader Interface, through which
ATM cards are read, the Cash
Dispenser Interface, which dispenses
cash, and the Receipt Printer Interface,
which prints receipts
27
Banking System External Classes
and Interfaces Classes
• There is also the Customer Interface, which is the
user interface class that interacts with the customer
via the keyboard/display, displaying textual
messages, prompting the customer, and receiving
the customer’s inputs
• The Operator Interface class provides the user
interface to the ATM operator, who replenishes the
ATM machine with cash
• There is one instance of each of these interface
classes for each ATM
28
ATM Client Subsystem Classes
ReceiptPrinter
CardReader
Interface
CashDispenser
Interface
ATMControl
ATMTransaction
ATMCard
ATMCash
Customer
Interface
ATMClientSubsystem
Operator
Interface
29
The ATM Control Class
• To control the sequence in which
actions take place, we identify the need
for a control object/class
• This is a state-dependent object
30
ATM Client Structuring: Objects
in Use Cases
31
Validate PIN Abstract Use Case
• Card Reader Interface
• ATM Card
• Customer Interface
• ATM Transaction (PIN Validation
Transaction)
• ATM Control controls the sequence
32
Withdraw Funds Concrete Use Case
• ATM Transaction (Withdrawal
Transaction)
• Cash Dispenser Interface
• ATM Cash
• Receipt Printer Interface
• ATM Control controls the sequence
33
Use Cases and Classes
• Query Account and Transfer Funds use
cases are associated with the same set
of classes/objects
34
Operator-Specific Use Cases
• Operator Interface
• ATM Control
35
Object Structuring in Bank Server
Subsystem
• Several entity objects are bank-wide
and need to be stored to be accessible
from any ATM. Therefore, these
objects must be stored at the server
• These objects include: Account objects
and Debit Card objects
36
Object Structuring in Bank Server
Subsystem
• In the Bank Server Subsystem, the
entity classes are Customer, the
Account super-class, Checking
Account and Savings Account
subclasses, and Debit Card
37
Object Structuring in Bank Server
Subsystem
• There is also the ATM Transaction object,
which migrates from the client to the server.
The client sends the transaction request to
the server, which sends a response to the
client. The transaction is also stored at the
server as an entity in the form of a
Transaction Log, so that a transaction
history is maintained
38
Object Structuring in Bank Server
Subsystem
• The transient data sent as part of the
ATM Transaction message might differ
from the persistent transaction data; for
example transaction status is known at
the end of the transaction but not
during it
39
Object Structuring in Bank Server
Subsystem
• Business logic objects are also needed
at the server to define the business-
specific application logic for
processing client requests. Each ATM
transaction type needs a transaction
manager to specify the business rules
for handling the transaction
40
Summary
• Continued the discussion of Banking
System Case Study.
• Performed the static modeling of
different classes and objects which
exists in the case study domain
41
References
• ‘The Unified Modeling Language User Guide’ by
G. Booch, J. Rambaugh, & I. Jacobson, Addison-
Wesley, 1998
• ‘The Unified Modeling Language Reference
Guide’ by J. Rambaugh, I. Jacobson, & G. Booch,
Addison-Wesley, 1998
• ‘Designing Concurrent, Distributed, and Real-
Time Applications with UML’ by H. Gomaa,
Addison-Wesley, 2000

Weitere ähnliche Inhalte

Ähnlich wie vu-re-lecture-33 requirement engineering.ppt

Presentation1
Presentation1Presentation1
Presentation1asnetaa
 
ATM BLock Diagram and its design uses development.pptx
ATM BLock Diagram and its design uses development.pptxATM BLock Diagram and its design uses development.pptx
ATM BLock Diagram and its design uses development.pptxkeerthi975
 
Out sources of atm
Out sources of atmOut sources of atm
Out sources of atmDharmik
 
Document Atm machine using c language mini project.pdf
Document  Atm machine using c language mini project.pdfDocument  Atm machine using c language mini project.pdf
Document Atm machine using c language mini project.pdfNEERAJRAJPUT81
 
SRSTemplate (1).docx thi si for the studenst appearing for software engineering
SRSTemplate (1).docx thi si for the studenst appearing for software engineeringSRSTemplate (1).docx thi si for the studenst appearing for software engineering
SRSTemplate (1).docx thi si for the studenst appearing for software engineeringrajvirsinghkanwar200
 
ATM System Description and functional and non- functional Requirements
ATM System Description and functional and non- functional RequirementsATM System Description and functional and non- functional Requirements
ATM System Description and functional and non- functional Requirementswajahat Gul
 
ATM TRASACTION SYSTEM.pptx
ATM TRASACTION SYSTEM.pptxATM TRASACTION SYSTEM.pptx
ATM TRASACTION SYSTEM.pptxRastogiAman
 
python pre-submission report.pdf
python pre-submission report.pdfpython pre-submission report.pdf
python pre-submission report.pdfSruthiMugle
 
Presentation1 130512130536-phpapp01
Presentation1 130512130536-phpapp01Presentation1 130512130536-phpapp01
Presentation1 130512130536-phpapp01paaaneta
 
E-commerce System Technologies, Repository and Networking Technology
E-commerce System Technologies, Repository and Networking TechnologyE-commerce System Technologies, Repository and Networking Technology
E-commerce System Technologies, Repository and Networking Technologyizan28
 

Ähnlich wie vu-re-lecture-33 requirement engineering.ppt (20)

ATM Banking
ATM BankingATM Banking
ATM Banking
 
Presentation1
Presentation1Presentation1
Presentation1
 
ATM BLock Diagram and its design uses development.pptx
ATM BLock Diagram and its design uses development.pptxATM BLock Diagram and its design uses development.pptx
ATM BLock Diagram and its design uses development.pptx
 
Out sources of atm
Out sources of atmOut sources of atm
Out sources of atm
 
Presentation On ATM Technology
Presentation On ATM TechnologyPresentation On ATM Technology
Presentation On ATM Technology
 
Assignment
AssignmentAssignment
Assignment
 
Document Atm machine using c language mini project.pdf
Document  Atm machine using c language mini project.pdfDocument  Atm machine using c language mini project.pdf
Document Atm machine using c language mini project.pdf
 
SRSTemplate (1).docx thi si for the studenst appearing for software engineering
SRSTemplate (1).docx thi si for the studenst appearing for software engineeringSRSTemplate (1).docx thi si for the studenst appearing for software engineering
SRSTemplate (1).docx thi si for the studenst appearing for software engineering
 
ATM System Description and functional and non- functional Requirements
ATM System Description and functional and non- functional RequirementsATM System Description and functional and non- functional Requirements
ATM System Description and functional and non- functional Requirements
 
Proposal
ProposalProposal
Proposal
 
ATM TRASACTION SYSTEM.pptx
ATM TRASACTION SYSTEM.pptxATM TRASACTION SYSTEM.pptx
ATM TRASACTION SYSTEM.pptx
 
What is ATM
What is ATMWhat is ATM
What is ATM
 
Atm
AtmAtm
Atm
 
Task 2
Task 2Task 2
Task 2
 
Task 2
Task 2Task 2
Task 2
 
Atm
AtmAtm
Atm
 
Atm project
Atm projectAtm project
Atm project
 
python pre-submission report.pdf
python pre-submission report.pdfpython pre-submission report.pdf
python pre-submission report.pdf
 
Presentation1 130512130536-phpapp01
Presentation1 130512130536-phpapp01Presentation1 130512130536-phpapp01
Presentation1 130512130536-phpapp01
 
E-commerce System Technologies, Repository and Networking Technology
E-commerce System Technologies, Repository and Networking TechnologyE-commerce System Technologies, Repository and Networking Technology
E-commerce System Technologies, Repository and Networking Technology
 

Mehr von ubaidullah75790

Requirement management traceability.ppt
Requirement management  traceability.pptRequirement management  traceability.ppt
Requirement management traceability.pptubaidullah75790
 
Agile Method requirement engineering.ppt
Agile Method requirement engineering.pptAgile Method requirement engineering.ppt
Agile Method requirement engineering.pptubaidullah75790
 
traceabilty transport layer is liye .ppt
traceabilty transport layer is liye .ppttraceabilty transport layer is liye .ppt
traceabilty transport layer is liye .pptubaidullah75790
 
vu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-45 requirement engineering.pptvu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-45 requirement engineering.pptubaidullah75790
 
SRS 2 requiremenr engineering in computer.ppt
SRS 2 requiremenr engineering in computer.pptSRS 2 requiremenr engineering in computer.ppt
SRS 2 requiremenr engineering in computer.pptubaidullah75790
 
Requirments management traceability.ppt
Requirments  management traceability.pptRequirments  management traceability.ppt
Requirments management traceability.pptubaidullah75790
 
SRS 1 software requirement specificatio.ppt
SRS 1 software requirement specificatio.pptSRS 1 software requirement specificatio.ppt
SRS 1 software requirement specificatio.pptubaidullah75790
 
vu-re-lecture-10 requirement engineering.ppt
vu-re-lecture-10 requirement engineering.pptvu-re-lecture-10 requirement engineering.ppt
vu-re-lecture-10 requirement engineering.pptubaidullah75790
 
vu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.pptvu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.pptubaidullah75790
 
vu-re-lecture-08 requirement engineer.ppt
vu-re-lecture-08 requirement engineer.pptvu-re-lecture-08 requirement engineer.ppt
vu-re-lecture-08 requirement engineer.pptubaidullah75790
 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptubaidullah75790
 
vu-re-lecture-05 requirement engineering.ppt
vu-re-lecture-05 requirement engineering.pptvu-re-lecture-05 requirement engineering.ppt
vu-re-lecture-05 requirement engineering.pptubaidullah75790
 
vu-re-lecture-04 software engineering.ppt
vu-re-lecture-04 software engineering.pptvu-re-lecture-04 software engineering.ppt
vu-re-lecture-04 software engineering.pptubaidullah75790
 
vu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.pptvu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.pptubaidullah75790
 
vu-re-lecture-02 requirements engineering.ppt
vu-re-lecture-02 requirements engineering.pptvu-re-lecture-02 requirements engineering.ppt
vu-re-lecture-02 requirements engineering.pptubaidullah75790
 
vu-re-lecture-01 software engineering.ppt
vu-re-lecture-01 software engineering.pptvu-re-lecture-01 software engineering.ppt
vu-re-lecture-01 software engineering.pptubaidullah75790
 
vu-re-lecture software requirement-25.ppt
vu-re-lecture software requirement-25.pptvu-re-lecture software requirement-25.ppt
vu-re-lecture software requirement-25.pptubaidullah75790
 
vu-re-lecture-01 requirements engineering.ppt
vu-re-lecture-01 requirements engineering.pptvu-re-lecture-01 requirements engineering.ppt
vu-re-lecture-01 requirements engineering.pptubaidullah75790
 
vu-re-lecture-08 requirements engineering.ppt
vu-re-lecture-08 requirements engineering.pptvu-re-lecture-08 requirements engineering.ppt
vu-re-lecture-08 requirements engineering.pptubaidullah75790
 
ch_4x organization and information m.ppt
ch_4x organization and information m.pptch_4x organization and information m.ppt
ch_4x organization and information m.pptubaidullah75790
 

Mehr von ubaidullah75790 (20)

Requirement management traceability.ppt
Requirement management  traceability.pptRequirement management  traceability.ppt
Requirement management traceability.ppt
 
Agile Method requirement engineering.ppt
Agile Method requirement engineering.pptAgile Method requirement engineering.ppt
Agile Method requirement engineering.ppt
 
traceabilty transport layer is liye .ppt
traceabilty transport layer is liye .ppttraceabilty transport layer is liye .ppt
traceabilty transport layer is liye .ppt
 
vu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-45 requirement engineering.pptvu-re-lecture-45 requirement engineering.ppt
vu-re-lecture-45 requirement engineering.ppt
 
SRS 2 requiremenr engineering in computer.ppt
SRS 2 requiremenr engineering in computer.pptSRS 2 requiremenr engineering in computer.ppt
SRS 2 requiremenr engineering in computer.ppt
 
Requirments management traceability.ppt
Requirments  management traceability.pptRequirments  management traceability.ppt
Requirments management traceability.ppt
 
SRS 1 software requirement specificatio.ppt
SRS 1 software requirement specificatio.pptSRS 1 software requirement specificatio.ppt
SRS 1 software requirement specificatio.ppt
 
vu-re-lecture-10 requirement engineering.ppt
vu-re-lecture-10 requirement engineering.pptvu-re-lecture-10 requirement engineering.ppt
vu-re-lecture-10 requirement engineering.ppt
 
vu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.pptvu-re-lecture-09 engineering requiremen.ppt
vu-re-lecture-09 engineering requiremen.ppt
 
vu-re-lecture-08 requirement engineer.ppt
vu-re-lecture-08 requirement engineer.pptvu-re-lecture-08 requirement engineer.ppt
vu-re-lecture-08 requirement engineer.ppt
 
vu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.pptvu-re-lecture-06 requirement engineer.ppt
vu-re-lecture-06 requirement engineer.ppt
 
vu-re-lecture-05 requirement engineering.ppt
vu-re-lecture-05 requirement engineering.pptvu-re-lecture-05 requirement engineering.ppt
vu-re-lecture-05 requirement engineering.ppt
 
vu-re-lecture-04 software engineering.ppt
vu-re-lecture-04 software engineering.pptvu-re-lecture-04 software engineering.ppt
vu-re-lecture-04 software engineering.ppt
 
vu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.pptvu-re-lecture-03 requirement engineering.ppt
vu-re-lecture-03 requirement engineering.ppt
 
vu-re-lecture-02 requirements engineering.ppt
vu-re-lecture-02 requirements engineering.pptvu-re-lecture-02 requirements engineering.ppt
vu-re-lecture-02 requirements engineering.ppt
 
vu-re-lecture-01 software engineering.ppt
vu-re-lecture-01 software engineering.pptvu-re-lecture-01 software engineering.ppt
vu-re-lecture-01 software engineering.ppt
 
vu-re-lecture software requirement-25.ppt
vu-re-lecture software requirement-25.pptvu-re-lecture software requirement-25.ppt
vu-re-lecture software requirement-25.ppt
 
vu-re-lecture-01 requirements engineering.ppt
vu-re-lecture-01 requirements engineering.pptvu-re-lecture-01 requirements engineering.ppt
vu-re-lecture-01 requirements engineering.ppt
 
vu-re-lecture-08 requirements engineering.ppt
vu-re-lecture-08 requirements engineering.pptvu-re-lecture-08 requirements engineering.ppt
vu-re-lecture-08 requirements engineering.ppt
 
ch_4x organization and information m.ppt
ch_4x organization and information m.pptch_4x organization and information m.ppt
ch_4x organization and information m.ppt
 

Kürzlich hochgeladen

OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 

Kürzlich hochgeladen (20)

OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 

vu-re-lecture-33 requirement engineering.ppt

  • 1. 1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33
  • 2. 2 Problem Description • 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.
  • 3. 3 Problem Description • 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.
  • 4. 4 Problem Description • 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. • ‘Designing Concurrent, Distributed, and Real-Time Applications with UML’ by H. Gomaa, Addison-Wesley, 2000
  • 6. 6 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
  • 7. 7 Conceptual Static Model for Problem Domain: Physical Classes • A bank has several ATMs. • Each ATM is a composite class consisting of a Card Reader, a Cash Dispenser, a Receipt Printer, and a user, the ATM Customer, who interacts with the system by using a keyboard/display
  • 8. 8 Conceptual Static Model for Problem Domain: Physical Classes • The Card Reader reads an ATM Card, which is a plastic card and hence a physical entity • The Cash Dispenser dispenses ATM Cash, which is also a physical entity in terms of paper money of given denominations
  • 9. 9 Conceptual Static Model for Problem Domain: Physical Classes • The Receipt Printer prints a Receipt, which is a paper physical entity • The physical entities represent classes in the problem domain and are usually modeled by software entity classes • In addition, the Operator is also a an external user, whose job is to maintain the ATM – who interacts with the system via a keyboard/displaytemuuteat
  • 10. 10 Conceptual Static Model for Problem Domain: Entity Classes Bank ATMInfo Maintains 1 1 ATMTransaction Account Customer DebitCard CardAccount Has Owns Modifies 1,2 * * 1 Identifies 1 1 1..* 1..* 1..* 1..* 1..* Manages 0..1 Owns Provides access to
  • 11. 11 Conceptual Static Model for Problem Domain: Entity Classes • The Bank entity class has a one-to-many relationship with the Customer class and the Debit Card class • The Bank class has only one instance • The Customer has many to many relationship with Account class, which has its subclasses (Checking Account, Savings Account)
  • 12. 12 Conceptual Static Model for Problem Domain: Entity Classes • An Account is modified by an ATM Transaction, which is also specialized to depict different types of transactions (Withdrawal Transaction, Query Transaction, Transfer Transaction, or PIN Validation Transaction)
  • 13. 13 Conceptual Static Model for Problem Domain: Entity Classes • There is also a Card Account association class. Association classes are needed in cases where the attributes are of the association, rather than of the classes connected by the association. Thus, in many-to-many association between Debit Card and Account, the individual accounts that can be accessed by a given debit card are attributes of the Card Account class and not of either Debit Card or Account
  • 14. 14 Conceptual Static Model for Problem Domain: Entity Classes • Entity classes are also required to model the physical classes in the problem domain • These include ATM Card, representing the information read off the magnetic strip on the plastic card
  • 15. 15 Conceptual Static Model for Problem Domain: Entity Classes • ATM Cash holds the amount of cash maintained at an ATM, in five-hundred and one-thousand rupee notes • The Receipt holds information about a transaction, and because is holds similar information to the Transaction class described earlier, a separate entity class is unnecessary
  • 16. 16 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
  • 17. 17 Banking System Context Class Diagram • The system context diagram is developed to show the external classes to which the Banking system has to interface • We develop the context class diagram by considering the physical classes
  • 18. 18 Banking System Context Class Diagram • The external classes correspond to the users and I/O devices depicted to the classes in the application domain • They are the Card Reader, the Cash Dispenser, the Receipt Printer, the ATM Customer who interacts with the system via a keyboard/display, and the Operator who also interacts with the system via a keyboard/display
  • 19. 19 Banking System Context Class Diagram • There is one instance of each of these external classes for each ATM • The system context class diagram for the Banking system depicts the system as one aggregate class that receives input from and provides output to the external classes
  • 20. 20 Client/Server Subsystem Structuring • The Banking system is a client/server application, some of the objects reside at the ATM client and some reside at the bank server • The ATM Client Subsystem • The Bank Server Subsystem
  • 21. 21 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
  • 22. 22 Banking System: Major Subsystems • The ATM Client Subsystem is a composite class, and one instance of this class is located at each ATM machine • All the external classes interface to this aggregate class
  • 23. 23 Banking System: Major Subsystems • The Bank Server Subsystem has one instance • This aggregate class has a one-to-many association with the ATM Client Subsystem • This is an example of geographically distributed system
  • 24. 24 ATM Client Object Structuring • Consider the interface classes for the ATM Client Subsystem. These classes are determined from the system context diagram • We design one interface class for each external class, which can be a device interface class or user interface class
  • 25. 25 Banking System External Classes and Interfaces Classes 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 CardReader Interface ATMCustomer Interface CashDispenser Interface Operator Interface Receipt Printer Interface
  • 26. 26 Banking System External Classes and Interfaces Classes • The device interface classes are the Card Reader Interface, through which ATM cards are read, the Cash Dispenser Interface, which dispenses cash, and the Receipt Printer Interface, which prints receipts
  • 27. 27 Banking System External Classes and Interfaces Classes • There is also the Customer Interface, which is the user interface class that interacts with the customer via the keyboard/display, displaying textual messages, prompting the customer, and receiving the customer’s inputs • The Operator Interface class provides the user interface to the ATM operator, who replenishes the ATM machine with cash • There is one instance of each of these interface classes for each ATM
  • 28. 28 ATM Client Subsystem Classes ReceiptPrinter CardReader Interface CashDispenser Interface ATMControl ATMTransaction ATMCard ATMCash Customer Interface ATMClientSubsystem Operator Interface
  • 29. 29 The ATM Control Class • To control the sequence in which actions take place, we identify the need for a control object/class • This is a state-dependent object
  • 30. 30 ATM Client Structuring: Objects in Use Cases
  • 31. 31 Validate PIN Abstract Use Case • Card Reader Interface • ATM Card • Customer Interface • ATM Transaction (PIN Validation Transaction) • ATM Control controls the sequence
  • 32. 32 Withdraw Funds Concrete Use Case • ATM Transaction (Withdrawal Transaction) • Cash Dispenser Interface • ATM Cash • Receipt Printer Interface • ATM Control controls the sequence
  • 33. 33 Use Cases and Classes • Query Account and Transfer Funds use cases are associated with the same set of classes/objects
  • 34. 34 Operator-Specific Use Cases • Operator Interface • ATM Control
  • 35. 35 Object Structuring in Bank Server Subsystem • Several entity objects are bank-wide and need to be stored to be accessible from any ATM. Therefore, these objects must be stored at the server • These objects include: Account objects and Debit Card objects
  • 36. 36 Object Structuring in Bank Server Subsystem • In the Bank Server Subsystem, the entity classes are Customer, the Account super-class, Checking Account and Savings Account subclasses, and Debit Card
  • 37. 37 Object Structuring in Bank Server Subsystem • There is also the ATM Transaction object, which migrates from the client to the server. The client sends the transaction request to the server, which sends a response to the client. The transaction is also stored at the server as an entity in the form of a Transaction Log, so that a transaction history is maintained
  • 38. 38 Object Structuring in Bank Server Subsystem • The transient data sent as part of the ATM Transaction message might differ from the persistent transaction data; for example transaction status is known at the end of the transaction but not during it
  • 39. 39 Object Structuring in Bank Server Subsystem • Business logic objects are also needed at the server to define the business- specific application logic for processing client requests. Each ATM transaction type needs a transaction manager to specify the business rules for handling the transaction
  • 40. 40 Summary • Continued the discussion of Banking System Case Study. • Performed the static modeling of different classes and objects which exists in the case study domain
  • 41. 41 References • ‘The Unified Modeling Language User Guide’ by G. Booch, J. Rambaugh, & I. Jacobson, Addison- Wesley, 1998 • ‘The Unified Modeling Language Reference Guide’ by J. Rambaugh, I. Jacobson, & G. Booch, Addison-Wesley, 1998 • ‘Designing Concurrent, Distributed, and Real- Time Applications with UML’ by H. Gomaa, Addison-Wesley, 2000