uml diagram for banking system
-
Upload
vivek-tamrakar -
Category
Documents
-
view
226 -
download
0
Transcript of uml diagram for banking system
-
7/27/2019 uml diagram for banking system
1/63
1
Requirements Document for the
Banking System
Software Engineering
UBIT
-
7/27/2019 uml diagram for banking system
2/63
2
Requirements Document
The requirements document is a formal
document used to communicate the
requirements to customers, engineers
and managers
It is also known as softwarerequirements specifications or SRS
-
7/27/2019 uml diagram for banking system
3/63
3
Requirements Document
The services and functions which thesystem should provide
The constraints under which the systemmust operate
Overall properties of the system i.e.,
constraints on the systems emergentproperties
Requirements Document
The services and functions which thesystem should provide
The constraints under which the systemmust operate
Overall properties of the system i.e.,
constraints on the systems emergentproperties
-
7/27/2019 uml diagram for banking system
4/63
4
Todays Topics
In this lecture, well discuss the
requirements document of the Banking
system that we have been talking about
in this course
Lets develop a template based on theIEEE standard
-
7/27/2019 uml diagram for banking system
5/63
5
SRS for the Banking System
Preface
Introduction
Glossary
Specific requirements
Appendices
Use-case modelObject model
Data-flow model
-
7/27/2019 uml diagram for banking system
6/63
6
SRS for the Banking System
Preface
This should define the expected readership of thedocument and describe its version history including a
rationale for creation of a new version and a summaryof the changes made in each version
Introduction
This should define the product in which the software is
embedded, its expected usage and present an overviewof the functionality of the control software
-
7/27/2019 uml diagram for banking system
7/63
7
SRS for the Banking System
Glossary This should define all technical terms and abbreviations
used in the document
Specific requirements This should define specific requirements for the system
using natural language with the help of diagrams, whereappropriate
Appendices Use-case model
Object model
Data-flow model
-
7/27/2019 uml diagram for banking system
8/63
8
Software RequirementsSpecifications for the Banking
System
-
7/27/2019 uml diagram for banking system
9/63
9
1. Preface
This document, Software
Requirements Specification (SRS), is
created to document the software
requirements for the Banking System,
as described in section 2, Introduction,
of this document
-
7/27/2019 uml diagram for banking system
10/63
10
1. Preface
This document was created on the request
of the XYZ Bank Inc. the Client. The
creator of this document is A SoftwareHouse Inc. Vendor. The Client has
asked the Vendor to develop an SRS for
the Banking System. The Vendor willalso be responsible for the development of
the software based on this SRS
-
7/27/2019 uml diagram for banking system
11/63
11
1. Preface
This is the first version of the SRS.
-
7/27/2019 uml diagram for banking system
12/63
12
2. Introduction
This section documents an overview of
the functionality expected from the
software for the Banking System
Well review the functionality of the
software to be developed
-
7/27/2019 uml diagram for banking system
13/63
13
2. Introduction
A bank has several automated teller machines (ATMs), which aregeographically distributed and connected via a wide area network to acentral 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 savingsaccount, query the balance of an account, or transfer funds from oneaccount to another. A transaction is initiated when a customer insertsan ATM card into the card reader. Encoded on the magnetic strip onthe back of the ATM card are the card number, the start date, and theexpiration date. Assuming the card is recognized, the system validatesthe ATM card to determine that the expiration date has not passed, that
the user-entered PIN (personal identification number) matches the PINmaintained by the system, and that the card is not lost or stolen. Thecustomer is allowed three attempts to enter the correct PIN; the card isconfiscated if the third attempt fails. Cards that have been reported lostor stolen are also confiscated.
-
7/27/2019 uml diagram for banking system
14/63
14
2. Introduction
If the PIN is validated satisfactorily, the customer is prompted for awithdrawal, query, or transfer transaction. Before withdrawaltransaction can be approved, the system determines that sufficientfunds exist in the requested account, that the maximum daily limit will
not be exceeded, and that there are sufficient funds available at thelocal cash dispenser. If the transaction is approved, the requestedamount of cash is dispensed, a receipt is printed containing informationabout the transaction, and the card is ejected. Before a transfertransaction can be approved, the system determines that the customerhas at least two accounts and that there are sufficient funds in theaccount to be debited. For approved query and transfer requests, a
receipt is printed and card ejected. A customer may cancel atransaction at any time; the transaction is terminated and the card isejected. Customer records, account records, and debit card records areall maintained at the server.
-
7/27/2019 uml diagram for banking system
15/63
15
2. Introduction
An ATM operator may start up and close
down the ATM to replenish the ATM cash
dispenser and for routine maintenance. It isassumed that functionality to open and close
accounts and to create, update, and delete
customer and debit card records is providedby an existing system and is not part of this
problem.
-
7/27/2019 uml diagram for banking system
16/63
16
3. Glossary
ATM: Automated Teller Machine
PIN: Personal Identification Number
-
7/27/2019 uml diagram for banking system
17/63
17
4. Specific Requirements
1. The XYZ Bank Inc. can have many automatedteller machines (ATMs), and the new softwaresystem shall provide functionality on all ATMs.
2. The system shall enable the customers of XYZBank Inc., who have valid ATM cards, to
perform three types of transactions; 1)withdrawal of funds, 2) Query of accountbalance, and 3) transfer of funds from one bankaccount to another account in the same bank.
-
7/27/2019 uml diagram for banking system
18/63
-
7/27/2019 uml diagram for banking system
19/63
19
4. Specific Requirements
4. The system shall confiscate the ATM cardif it detects that a lost or stolen card hasbeen inserted by a customer. The systemshall also display an apology to thecustomer.
5. The system shall allow the customer toenter the correct PIN in no more threeattempts. The failure to provide correctPIN in three attempts shall result in theconfiscation of the ATM card.
-
7/27/2019 uml diagram for banking system
20/63
20
4. Specific Requirements
6. The system shall ask for the transactiontype after satisfactory validation of thecustomer PIN. The customer shall begiven three options: withdrawaltransaction, or query transaction, ortransfer transaction.
7. If a customer selects withdrawaltransaction, the system shall prompt thecustomer to enter account number andamount to be dispensed.
-
7/27/2019 uml diagram for banking system
21/63
21
4. Specific Requirements
8. For a withdrawal transaction, the
system shall determine that sufficient
funds exist in the requested account,
that the maximum daily limit has not
be exceeded, and that there are
sufficient funds available at the local
cash dispenser.
-
7/27/2019 uml diagram for banking system
22/63
22
4. Specific Requirements
9. If a withdrawal transaction is approved,the requested amount of cash shall be
dispensed, a receipt shall be printedcontaining information about thetransaction, and the card shall be ejected.The information printed on the receipt
includes transaction number, transactiontype, amount withdrawn, and accountbalance.
-
7/27/2019 uml diagram for banking system
23/63
23
4. Specific Requirements
10. If a customer selects query transaction,
the system shall prompt the customer to
enter account number.11. If a query transaction is approved, the
system shall print a receipt and eject the
card. The information contained on thereceipt includes transaction number,
transaction type, and account balance.
-
7/27/2019 uml diagram for banking system
24/63
24
4. Specific Requirements
12. If a customer selects transfer transaction,
the system shall prompt the customer to
enter from account number, to accountnumber, and amount to be transferred.
13. The system shall check if there are
enough funds available in the fromaccount, which are being requested for
transfer to the to account.
-
7/27/2019 uml diagram for banking system
25/63
25
4. Specific Requirements
14. If the transfer transaction is approved, areceipt shall be printed and card shall beejected. The information printed on thereceipt includes transaction number,transaction type, amount transferred, andaccount balance.
15. The system shall cancel any transaction ifit has not been completed if the customerpresses the Cancel button
-
7/27/2019 uml diagram for banking system
26/63
26
4. Specific Requirements
16. The customer records, account records,
and debit card records will all be
maintained at the server and shall not bethe responsibility of the system.
17. The system shall enable an ATM operator
to shutdown or start up an ATM forroutine maintenance.
-
7/27/2019 uml diagram for banking system
27/63
27
4. Specific Requirements
18. The system shall enable an ATM operator
to add cash to the cash dispenser.
19. The system shall not be responsible foropening or closing of accounts, and to
create, update, and delete customer and
debit card records. These tasks areperformed elsewhere by a bank.
-
7/27/2019 uml diagram for banking system
28/63
28
4. Specific Requirements
20. The system shall be linked with the bank
server through communication systems,
which are beyond the scope of the currentsystem. It is assumed that this facility is
always available.
21. The system shall not be responsible forthe maintenance of the hardware devices
of the ATM or network facilities.
-
7/27/2019 uml diagram for banking system
29/63
29
5. Appendices
5.1 Use-case model
5.2 Object model
5.3 Functional model5.3.1 Data-flow model
5.3.2 SADT model
5.4 Dynamic model5.4.1 Statecharts
5.4.2 Interaction diagrams
-
7/27/2019 uml diagram for banking system
30/63
30
Use Case Model
-
7/27/2019 uml diagram for banking system
31/63
31
Uses Case Diagram for ATM
Customer
ATM
Customer
Withdraw
funds
Query
account
Transfer
funds
Validate
PIN
include
include
include
-
7/27/2019 uml diagram for banking system
32/63
32
Use Case Diagram for ATM
Operator
Startup
Shutdown
Operator
Add
cash
-
7/27/2019 uml diagram for banking system
33/63
33
Use Case Diagram for ATM
Operator
ATM
Customer
Withdrawfunds
Query
account
Transfer
funds
Startup
Shutdown
Validate
PIN
Add
cash
include
include
include
-
7/27/2019 uml diagram for banking system
34/63
34
Object Model
-
7/27/2019 uml diagram for banking system
35/63
35
Conceptual Static Model for
Problem Domain: Physical ClassesATM
ATMCustomer
1
CardReader
1
1 1
ATMCard
11
Reads11
CashDispenser ReceiptPrinter
OperatorMaintains
1
1
ATMCash
Dispenses
Receipt
1Prints1
-
7/27/2019 uml diagram for banking system
36/63
36
Conceptual Static Model for
Problem Domain: Entity Classes
ATMInfo
1
ATMTransactionModifies
1,2 *
*
1
Identifies
CardAccount
Bank
Maintains1
Account
Customer
DebitCard
Has
Owns
1
11..*
1..*
1..*1..*
1..*
Manages
0..1
Owns
Provides
access to
-
7/27/2019 uml diagram for banking system
37/63
37
Banking System Context Class
Diagram
ATM
Customer
1
ATMCustomer
CardReader
CashDispenser
ReceiptPrinter
Banking
System
1
1
1
1
1..*
1..*
1..*
1..*
1
1
1
1Operator
Operator
1 1..*
1
1Interacts
with
-
7/27/2019 uml diagram for banking system
38/63
38
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
B ki S E l Cl
-
7/27/2019 uml diagram for banking system
39/63
39
Banking System External Classes
and Interfaces Classes
ATM
Customer
1
ATMCustomer
CardReader
CashDispenser
ReceiptPrinter
BankingSystem
Operator
Operator
1
1
1
1
1
1
1
1
1
1
1
1
1 1
1
1
CardReader
Interface
ATMCustomerInterface
CashDispenser
Interface
Operator
Interface
Receipt
Printer
Interface
-
7/27/2019 uml diagram for banking system
40/63
40
ATM Client Subsystem Classes
ReceiptPrinter
CardReader
Interface
CashDispenser
Interface
ATMControl
ATMTransaction
ATMCard
ATMCash
Customer
Interface
ATMClientSubsystem
Operator
Interface
-
7/27/2019 uml diagram for banking system
41/63
41
Data Flow Diagrams
-
7/27/2019 uml diagram for banking system
42/63
42
System Context Diagram
0ATM
System
ATM
Customer
Bank
ATM
Operator
Operator
Instructions
Inputsfrom
Customer
Cash
ReceiptOutputs
to
Customer
Bank
Requests
Bank
ResponsesOperator
Responses
-
7/27/2019 uml diagram for banking system
43/63
43
Data Flow DiagramLevel 1
Operator
Instructions
Bank
Requests
Inputs
from
Customer
Cash
Receipt
2Interface
with
Customer
4Interface
with
Bank
3Interface
with
OperatorOperator
Responses
Bank
Responses
1
ControlATM
Outputs
to
Customer
ATM Card
andTransactions
Messages
from
CustomerInterface
Messages to
Customer Interface Messages from
Operator Interface
Messages toOperator Interface
Messages
to Bank
Interface
Messages
from Bank
Interface
ATM
Cash
-
7/27/2019 uml diagram for banking system
44/63
44
Level 2 DFD: Interface with Customer
Transaction
Info
Display
Messages
1
Control
ATM
ATM Card
andTransactions
2.1Read and
Validate
Card
2.2Process
User Inputs
and Display
2.3Dispense
Cash
2.4Print
Receipt
Cash
Receipt
Card
Info
PIN
Cancel
Card
Inserted
Eject
Card
Print
Receipt
ATM
Cash
Dispense
Cash
User Input
Read
Cancelled
Display
Message
Confiscate
Card
-
7/27/2019 uml diagram for banking system
45/63
45
Level 2 DFD: Interface with Operator
3.3Update
ATM Cash
DB
1
Control
ATM
3.1Process
Operator
Inputs
ATM
Cash
Shutdown
ATM
RestartATM
3.2Display
Messages
Operator
Responses
Display
Messages
Cash Amount
Shutdown/Startup
Started
Cash to be
ReplenishedReplenish
Cash
Cash Details
-
7/27/2019 uml diagram for banking system
46/63
46
Level 2 DFD: Interface with Bank
Card
Validation
Request4.1Validate
Card
Card
Validation
Response
1
Control
ATM
ATM Card
andTransactions
4.2
ProcessTransaction Card
Inserted
Validate
Card
Card
Valid
Invalid
Card
Transaction
RequestTransaction
Response
Lost/Stolen
Card
Eject
Card
Confiscate
Card
TransactionApproved
Transaction
Rejected
Dispense
Cash
-
7/27/2019 uml diagram for banking system
47/63
47
Statecharts
-
7/27/2019 uml diagram for banking system
48/63
48
Statechart for ATM Control:
Validate PIN Use CaseIdle
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
St t h t f ATM C t l
-
7/27/2019 uml diagram for banking system
49/63
49
Statechart for ATM Control:
Withdraw Funds Use Case
Idle
Entry / Display
Welcome
Terminating
Waiting for
Customer Choice
Processing
Withdrawal
Ejecting
Dispensing
Printing3.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
ATM Control Statechart: Processing
-
7/27/2019 uml diagram for banking system
50/63
50
ATM Control Statechart: Processing
Customer Input SuperstateIdle
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
Invalid PIN /Invalid PIN Prompt,
Update Status
Query Selected /
Request Query, Display Wait
Cancel /
Eject,
Display Cancel
Third Invalid, Stolen /
Confiscate,
Update Status
Transfer Selected /
Request Transfer, Display Wait
3.3: Withdrawal Selected /
3.4: Request Withdrawal,
3.4a: Display Wait
Processing
CustomerInput
-
7/27/2019 uml diagram for banking system
51/63
51
ATM Control Statechart: Processing
Transaction Superstate
Processing
Transfer
Processing
Query
Processing
Withdrawal
Processing Transaction
Query Selected /
Request Query,
Display Wait
Transfer Selected /
Request Transfer,Display Wait
3.3: Withdrawal Selected /
3.4: Request Withdrawal,
3.4a: Display Wait
Transfer OK /
Print Receipt,Update Status
Query OK /
Print Receipt,
Update Status
3.5: Withdrawal OK /
3.6: Dispense Cash,
3.6a: Update Status
Rejected / Eject,
Display Apology
ATM Control Statechart: Terminating
-
7/27/2019 uml diagram for banking system
52/63
52
ATM Control Statechart: Terminating
Transaction Superstate
Terminating
Ejecting
Dispensing
Printing
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
Closed Down
Entry / DisplaySystem Down
Confiscating
Idle
After (Elapsed Time) [Closedown Was Requested] After (Elapsed Time)
[Closedown Not Requested]
Card Confiscated /
Display Confiscate
Transfer OK /
Print Receipt,
Update Status
Query OK /
Print Receipt,
Update Status
Rejected / Eject,
Display Apology
Cancel / Eject,
Display Cancel
Third Invalid, Stolen /
Confiscate, Update Status
Terminating
Transaction
Insufficient Cash / Eject
-
7/27/2019 uml diagram for banking system
53/63
53
Collaboration Diagrams
Collaboration Diagram: ATM Client
-
7/27/2019 uml diagram for banking system
54/63
54
Collaboration Diagram: ATM Client
Validate PIN Use Case:BankServer
:CardReader:CardReader
Interface
:ATM
Control
:ATMCard
:Customer
Interface
:ATM
Transaction
1: CardReader
Input1.2: Card
Inserted
1.1: CardInput Data
1.3: Get
PIN
2.4: PIN Entered
(Customer Info)
2.6: [Valid]
Valid PIN
2.5: Validate PIN
(Customer Info)
2.7a: Update
Status
2.7: Display
Menu
2.3: Customer Info
2.2: CardData
2.1: CardRequest
2: PIN Input
1.4: PIN Prompt
2.8: Selection Menu
-
7/27/2019 uml diagram for banking system
55/63
55
Collaboration Diagram: ATM Client
Withdraw Funds Use Case
-
7/27/2019 uml diagram for banking system
56/63
56
Consolidated Collaboration Diagram
for ATM Client Subsystem
-
7/27/2019 uml diagram for banking system
57/63
57
Sequence Diagram
Sequence Diagram: ATM Client
-
7/27/2019 uml diagram for banking system
58/63
58
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
Sequence Diagram: ATM Client
-
7/27/2019 uml diagram for banking system
59/63
59
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
Sequence Diagram: ATM Client
-
7/27/2019 uml diagram for banking system
60/63
60
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
-
7/27/2019 uml diagram for banking system
61/63
61
Sequence Diagram: ATM Client
Withdraw Funds Use Case
-
7/27/2019 uml diagram for banking system
62/63
62
Summary
Up till now we have completed theanalysis, requirements modeling, and
specification of requirements for thebanking system case study
We have formally completed the
requirements document for the casestudy
-
7/27/2019 uml diagram for banking system
63/63
References
Requirements Engineering: Processes and
Techniques by G. Kotonya and I.
Sommerville, John Wiley & Sons, 1998 Designing Concurrent, Distributed, and
Real-Time Applications with UML by H.
Gomaa, Addison-Wesley, 2000