McBriggid's Bank case study


McBriggid's Bank plc has the smallest number of cashpoint machines of any bank in the UK, but the bank hopes that its recent purchase of a new computer system gives them the equipment with which they can mount a major expansion of their cashpoint network. The requirement is to produce the necessary software to support that network.

The cashpoint network is based on a database that contains information about all customer accounts. For each account, the following information is kept:

  1. account number (an 8-digit number)
  2. customer name and address
  3. customer's personal identification number (PIN) code
  4. balance of the account at close of business on the previous day
  5. all transactions on the account since close of business on the previous day (including time, amount, credit/debit, and whether by customer or by bank staff)
  6. maximum overdraft authorised


The system must provide three kinds of access: by customer, by general bank staff, and by senior bank staff (e.g. managers, assistant managers and auditors).

Customers must be able to:

  1. query their current balance
  2. deposit money
  3. withdraw money in multiples of 5 (subject to not exceeding authorised overdraft and a limit of 100 per day)

None of these operations may be performed unless the customer correctly identifies themselves using their account number and PIN.

General bank staff must be able to:

  1. create new accounts (ensuring that no account number is re-used)
  2. change the address associated with a customer's account
  3. list today's transactions on a particular account
  4. query a customer's balance (both current and at close of business on the previous day)

Senior bank staff must be able to:

  1. perform all the operations that general bank staff can
  2. delete accounts (providing the balance is zero)
  3. change the name associated with a customer's account
  4. credit or debit an amount to the account (this is a transaction)
  5. change the PIN number of an account
  6. change the overdraft authorisation of an account
  7. direct the system to close business for the day (i.e. update all accounts with today's transactions)

Authorisation to perform these functions must be obtained by identifying the user via name and password.


In the absence of specialised cashpoint terminals, the customer functions are to be simulated using normal PCs.

Data shared between processes should be stored on disk except when it is being updated.

The recording of information to be used in the preparation of customer statements is not part of this project.

24-hour customer access to the system is not mandatory.