Free Research Paper About Use Cases
As an intern software developer for a retail bank, I am tasked with developing use case to support ATM activities. This paper describes the use cases illustrating a customer of the bank withdrawing money, making an account deposit, making account transfers, and ethical implications associated with them in an ATM system.
A use case is defined as a methodology used in system analysis to describe how users perform their tasks in a website. From a user’s point of view, it outlines how the system behaves as it responds. Each use case is given as a sequence of steps starting with the user’s steps and ending with the user’s goal fulfilled. Basically, it is defined as a method of identifying, clarifying and organizing system requirements. Use cases consist of classes and interfaces whose use together have significant effect than the sum of the separate elements combined together. The use case illustrates all the activities that are performed and significant to the user. Thus, it is taken as a collection of all possible scenarios that are required to achieve a particular goal or aim.
An Automated Teller Machine is a banking system that give access to customers finances in public locations without the intervention of the cashier or teller. There are a number of services offered by the ATM system including balance inquiry, cash withdrawal, cash deposit and funds transfer. Behind the scenes, the ATM technician provides maintenance and repair services to the ATM system. Thus a number of use cases exist that relate to the bank whether it is related to customer transactions or ATM servicing.
A use case for making an ATM transaction starts with a startup use case and ends with a system shutdown use case. The system is started up when the operator turns on the switch and enters the amount of money in the cash dispenser. A connection to the bank is established. The system is shut down when the operator has sufficient knowledge that no customer is using the system.
Use case for making an account deposit
Before a transaction is implemented a session is established. When the customer inserts an ATM card into the card reader, the machine reads it and if the card is not readable, the operation is aborted. The customer is prompted to enter PIN and upon confirmation, a number of operations are given to be chosen from that leads to a transaction. Making a deposit is one of the transactions to be chosen from.
The customer has to decide the account to make a deposit. A menu of possible options emerges such as cash and checks and the customer is prompted to enter the amount to be deposited from the customer to the account. If the transaction is accepted, the machine accepts the envelope and checks it before issuing a receipt. Once an envelope is sent, the bank is notified to credit the customer’s account with the amount stated. Manual verification of the deposit envelop is conducted by the operator at a later time and the receipt of envelop documented in the ATM’s log.
In the process of the transaction, the customer may decide to terminate it by pressing Cancel before envelop is inserted. The transaction will be automatically terminated if the customer does not insert develop with the cash within a reasonable time.
Use case for making and account withdrawal
A withdrawal transaction commences by asking the customer the account type to withdraw from. The customer checks from a menu of possible accounts and indicate the amount to withdraw. The system then verifies if the account has sufficient money to satisfy the request of the customer. In the case where the account has insufficient funds, the customer is requested to specify another account or terminate the transaction. Where the is sufficient funds, the transaction is approved and the appropriate amount of cash is dispensed. A receipt is then issued and a record in the ATM log is entered.
A withdrawal may be cancelled by the customer any time by pressing the Cancel key in the keyboard section of the ATM. This is possible only before choosing the amount to withdraw.
The basic part for withdrawal is as follows:
The customer puts the card into the ATM slot
The ATM verifies the card for validity
The ATM request PIN
The customer input the PIN
The ATM validates the band card versus the PIN
The ATM present service options that include Withdraw
The customer chooses Withdraw option
The ATM gives the option for amount
The customer enters the amount
The ATM verifies that enough cash is available
The ATM verifies that the customer is not above withdraw limit
The ATM verifies the customer has sufficient funds in the account
The ATM debits the customer account
The ATM issue the ATM card
The ATM issues the cash
The customer takes the card and the money
Use case for making an account transfer
A transfer transaction starts by asking the customer to choose the type of account to transfer funds from. There may be an option to check from possible accounts. The customer is then prompted to choose a different account to transfer to. The next stage is to type the amount to transfer on the keyboard. The bank approves the transaction by checking the amount to be transferred and finally issues a receipt.
A transfer account can be cancelled by the customer by using the Cancel key just before entering the amount to transfer.
For all the transactions stated, there is an invalid PIN extension. An invalid PIN occurs when the customer enters wrong PIN. The transaction starts when the bank disapproves customer transaction due to PIN. The customer is requested to re-enter the PIN so that the original request sent back. Once the PIN is successfully entered and accepted, it is used for the current transactions and subsequent ones. If the customer fails to enter the right PIN for three consecutive times, the card is retained by the machine and a screen informing the customer to contact the bank is displayed. The entire operation is aborted. If the customer cancels the transaction instead of re-entering the PIN, the original transaction is cancelled.
Ethical considerations exposed by the use cases in using ATM system
Customers naturally don’t understand use case and in scenarios where they are supplied with use case-based requirements document for them to review or approve. It is usually recommended that customer engage in the process of use case development because they may need to approve the requirements documents in future and if they don’t understand use cases, a problem ensues. Usually approving what they don’t understand is an ethical issue that needs to be resolved.
In order to eliminate this problem an explanation in the form of a preface or appendix should be given to allow bank owners to understand before signing it. A training session may be provided when the use case is issued for review. Also using relationships such as <<uses>> or <<extends>> should be done with caution because they are not intuitive to the inexperienced user.
Second, use cases do not tell a story and in that sense lacks context. A use case specification document describes a set of features in which the use case is irrelevant. The normal flow looks like a computer program. It is recommended that the steps be rewritten to focus on a essential interactions emanating between the actor and the system. For instance, it is important to break out the conditional behavior into separate described flows so as to get a normal flow that is shorter and easy to understand.
Finally, there is the issue of abuse case. Abuse case is specification of a interaction between the actors and the system which results in harmful results to the system. Instead of defining completeness as a factor of coherent transaction between actors and the system, it is important to define abuses in terms of interactions that result in actual harm to the victim. Given that the actors in an abuse case are the ones who engage in use cases, security issues emerge with the use of use cases. A malicious user described in the use case may act in a manner to abuse the case and cause damages to the users and the system.
Brookshear, J. G. (2012). Computer Science: An overview. Addison-Wesley.
Kenneth E. Himma, . T. (2008). The Handbook of Information and Computer Ethics. Springer.
Series, S. C. (2013). System Design and Analysis 10th edition. Rosenblat.