Maintenance
This page lists various changes that might be made to the system.  Modifying the
various documents to incorporate one or more of these changes would make an
interesting exercise for the reader.
Corrective Maintenance
	- The careful reader will note that the
	requirement that "Entries will be made in the log when the ATM
	is started up and shut down" has not been reflected in any of the
	diagrams or the code.  What changes would be needed to implement this 
	requirement?
 
- When the system asks the customer a question, it waits as long as
        necessary for the customer to answer.  This could cause a severe security
 	problem if the customer were to leave at this point without answering
	the question, since the ATM card would still be in the machine,
	generally with the customer's  PIN having already been entered, thus
	allowing another user to "hijack" the session and perform operations
	like cash withdrawal from the customer's account.
 
 While this seems unlikely, it is conceivalbe in some cases
	that a distracted customer might make this mistake.  For example,
	after performing a transaction, the system asks the user "Would you
	like to do another transaction?".  If the customer has just withdrawn 
	cash, it is conceivable that the customer might place the cash 
	in his/her wallet and accidentally forget about answering the
	the question and retrieving the card.
 
 A real ATM typically has a timeout mechanism that begins beeping and
	ultimately ejects the card and ends the session if the user fails to
	respond within a certain amount of time.  While a customer who
	leaves before this happens might inadvertently leave a card
	behind, at least the customer would not be "logged in" with 
	his/her PIN.  (Thus, the security risk is comparable to that
	resulting from a lost card, with the customer's account still
	PIN protected.) What changes would be needed to the system requirements, design,
	and code to improve security this way?
 
Adaptive Maintenance
	- Many ATM's have cash dispensers that can handle two different
	denominations of bills - often $20 and $5 - which allows a user to request 
	cash in any amount that is a multiple of $5.  Suppose the cash dispenser in
	the example (which only handles $20 bills) were replaced with such a dispenser.  
	What changes would be needed to take advantage of the enhanced capabilities of 
	such a dispenser?
Perfective Maintenance
	- When the customer's card is retained, an entry should be made in the log 
	to this effect.
 
- Many ATM's offer the customer additional options beyond the basic four
	listed here - e.g. making a payment on a loan the customer has from one of the
	accounts linked to his/her card.  What changes would be needed to make it
	possible for a customer to make a loan payment at the ATM?
 
Page of links for non frames-enabled browsers.
 
  
Copyright © 2000, 2001, 2007 - Russell C. Bjork.  Permission for non-commercial 
reproduction for educational use is hereby granted; all other rights are reserved.