ATM Adv. SW Engineering

Preview:

Citation preview

ATM

Adv. SW Engineering

http://www.math-cs.gordon.edu/courses/cps211/ATMExample/

Requirement Phase

Textual Requirement Documentation

Use Case Diagram

Use Case Diagram

Use Case Description

System Startup Use Case

The system is started up when the operator turns the operator switch to the "on" position. The operator will be asked to enter the amount of money currently in the cash dispenser, and a connection to the bank will be established. Then the servicing of customers can begin. <see Interaction Diagram>

System Shutdown Use Case

The system is shut down when the operator makes sure that no customer is using the machine, and then turns the operator switch to the "off" position. The connection to the bank will be shut down. Then the operator is free to remove deposited envelopes, replenish cash and paper, etc. <see Interaction Diagram>

Analysis Phase

Detailed Use Case Diagram

Initial Function Tests

Analysis Classes

Initial Functional Test Cases(Examples)

Use Case Function Being Tested Initial System State Input Expected Output

System StartupSystem is started when the

switch is turned "on"System is off Activate the "on" switch

System requests initial cash amount

System StartupSystem accepts initial cash

amountSystem is requesting cash

amountEnter a legitimate

amountSystem is on

System StartupConnection to the bank is

establishedSystem has just been

turned onPerform a legitimate

inquiry transaction

System output should demonstrate that a connection has been established to the Bank

System ShutdownSystem is shut down when the

switch is turned "off"System is on and not

servicing a customerActivate the "off" switch System is off

System ShutdownConnection to the Bank is

terminated when the system is shut down

System has just been shut down

 Verify from the bank side that a

connection to the ATM no longer exists

SessionSystem reads a customer's ATM

cardSystem is on and not

servicing a customerInsert a readable card

Card is accepted;System asks for entry of PIN

SessionSystem rejects an unreadable

cardSystem is on and not

servicing a customerInsert an unreadable

card

Card is ejected;System displays an error screen;System is ready to start a new session

Session System accepts customer's PINSystem is asking for entry

of PINEnter a PIN

System displays a menu of transaction types

SessionSystem allows customer to

perform a transactionSystem is displaying menu

of transaction typesPerform a transaction

System asks whether customer wants another transaction

Analysis Class

Design Phase

CRC CardsClass DiagramState Charts

Interaction Diagrams

Class Diagram

State Chart for One Session

State Chart for One Session (cont.)

Italicized operations are Unique to each particular type of transaction

System Startup Sequence Diagram

System Shutdown Sequence Diagram

Session Sequence Diagram

Transaction Sequence Diagram

Withdrawal Transaction Collaboration

Deposit Transaction Collaboration

Transfer Transaction Collaboration

Inquiry Transaction Collaboration

Invalid PIN Extension Collaboration

Detailed Design & Implementation

Detailed Class Diagram

Package Diagram

Code

All other classes from class diagram must be done in the same way.

Package Diagram

Recommended