Question: Assume you are hired as a software engineer by a financial service provider company and your first assignment is the following: Design the software to

Assume you are hired as a software engineer by a financial service provider company and your first assignment is the
following:
Design the software to support a computerized banking network including both human cashiers and automatic teller
machines (ATMs) to be shared by a consortium of banks. Each bank provides its own computer to maintain its own
accounts and process transactions against them. Cashier stations are owned by individual banks and communicate
directly with their own banks computers. Human cashiers enter account and transaction data. Automatic teller machines
communicate with a central computer which clears transactions with the appropriate banks. An ATM accepts a cash
card, interacts with the user, communicates with the central system to carry out the transaction, dispenses cash, and prints
receipts. The system requires appropriate recordkeeping and security provisions. The system must handle concurrent
accesses to the same account correctly. The banks will provide their own software for their own computers; you are to
design the software for the ATMs and the network. The cost of the shared system will be apportioned to the banks
according to the number of customers with cash cards. After some requirement elicitation and initial analysis of the above problem, you came up with a data dictionary
consisting of the following:
Account a single account in a bank against which transactions can be applied. Accounts may be of various
types, at least checking or savings. A customer can hold more than one account.
ATM a station that allows customer to enter their own transactions using cash cards as identification. The
ATM interacts with the customer to gather transaction information, sends the transaction information to the
central computer for validation and processing, and dispenses cash to the user. We assume that an ATM need
not operate independently of the network.
Bank a financial institution that holds accounts for customers and that issues cash cards authorizing access to
accounts over the ATM network.
Bank computer the computer owned by a bank that interfaces with the ATM network and the banks own
cashier stations. A bank may actually have its own internal network of computers to process accounts, but we
are only concerned with one that talks to the network.
Cash card a card assigned to a bank customer that authorizes access of accounts using an ATM machine.
Each card contains a bank code and a card number, most likely coded in accordance with national standards on
credit cards and cash cards. The bank code uniquely identifies the bank within the consortium. The card number
determines the accounts that the card can access. A card does not necessarily access all of a customers accounts.
Each cash card is owned by a single customer, but multiple copies of it may exist, so the possibility of
simultaneous use of the same card from different machines must be considered.
Cashier an employee of a bank who is authorized to enter transactions into cashier stations and accept and
dispense cash and checks to customers. Transactions, cash, and checks handled by each cashier must be logged
and properly accounted for.
Cashier station a station on which cashiers enter transactions for customers. Cashiers dispense and accept
cash and checks; the station prints receipts. The cashier station communicates with the bank computer to validate
and process the transactions.
Carleton University
Department of Systems and Computer Engineering
SYSC-4120 Software Architecture and Design Winter 2024
Laboratory 1 A review of SYSC 3120
Page 3 of 3
Central computer a computer operated by the consortium which dispatches transactions between the ATMs
and the bank computers. The central computer validates bank codes but does not process transactions directly.
Consortium an organization of banks that commissions and operates the ATM network. The network only
handles transactions for banks in the consortium.
Customer the holder of one or more accounts in a bank. A customer can consist of one or more persons or
corporations; the correspondence is not relevant to this problem. The same person holding an account at a
different bank is considered a different customer.
Transaction a single integral request for operations on the accounts of a single customer. We only specified
that ATMs must dispense cash, but we should not preclude the possibility of printing checks or accepting cash
or checks. We may also want to provide the flexibility to operate on accounts of different customers, although
it is not required yet. The different operations must balance properly.
What to do
Using the requirement definition for the ATM network and the data dictionary above, develop a complete UML class
diagram of the ATM system. Make sure you clearly identify the different classes (use the data dictionary names),
attributes, operations (if any), and associatiAfter some requirement elicitation and initi

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!