uml diagram for banking system

download uml diagram for banking system

of 63

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