Warning: foreach() argument must be of type array|object, bool given in /var/www/html/web/app/themes/studypress-core-theme/template-parts/header/mobile-offcanvas.php on line 20

Using your knowledge of how an ATM is used, develop a set of use cases that could serve as a basis for understanding the requirements for an ATM system.

Short Answer

Expert verified
Develop use cases like withdrawing cash, checking balance, describing steps and conditions for each.

Step by step solution

01

Define the Actors

Identify who will interact with the ATM system. The primary actors are the bank customer and the bank itself. The customer uses the ATM to perform financial transactions, while the bank provides the necessary infrastructure and services.
02

Identify Use Cases

List the main use cases for the ATM, which can include: withdrawing cash, depositing cash, checking account balance, transferring funds, and printing receipts. Each of these represents a key function the ATM must support.
03

Describe Each Use Case

Give a detailed description of each use case by explaining what happens when the use case is executed. For example, for cash withdrawal: 1. The customer inserts a bank card. 2. The system prompts for a PIN. 3. The customer enters the PIN. 4. The system verifies the account. 5. The customer selects cash withdrawal and enters an amount. 6. The system checks available balance. 7. If approved, the system dispenses cash. 8. The system updates the account balance. 9. A receipt is printed, if requested by the customer.
04

Define the Preconditions and Postconditions

For each use case, determine what must be true before the use case begins (preconditions) and what will be true after it completes (postconditions). For instance, before cash withdrawal, the customer must have a valid card, and a PIN must be entered. After completion, the ATM dispenses cash, and the account balance reflects the withdrawal.
05

Consider Alternative Flows

Consider what alternative paths each use case might take based on different conditions or errors. For instance, if a wrong PIN is entered, the system prompts again or eventually retains the card if the maximum attempt limit is reached.

Unlock Step-by-Step Solutions & Ace Your Exams!

  • Full Textbook Solutions

    Get detailed explanations and key concepts

  • Unlimited Al creation

    Al flashcards, explanations, exams and more...

  • Ads-free access

    To over 500 millions flashcards

  • Money-back guarantee

    We refund you if you fail your exam.

Over 30 million students worldwide already upgrade their learning with Vaia!

Key Concepts

These are the key concepts you need to understand to accurately answer the question.

ATM Use Cases
Use cases are pivotal in understanding how an ATM system should function. They detail the specific interactions a user has with the system to accomplish a task. For an ATM, some core use cases include:
  • Withdrawing Cash: How a user accesses their funds from their account.
  • Depositing Cash: How a user adds funds to their account.
  • Checking Account Balance: How a user verifies their current balance.
  • Transferring Funds: How a user moves money between accounts.
  • Printing Receipts: How a user gets a physical record of their transaction.
Each use case represents a key function and provides a blueprint for designing the required features. By detailing these interactions, developers can ensure the ATM meets user needs effectively.
Actors in ATM Systems
Actors in a system are entities that interact with the system to perform a use case. In the context of an ATM, the primary actors are:
  • Bank Customer: The individual using the ATM to manage their finances.
  • Bank Entity: The institution that owns the ATM, providing the necessary services and infrastructure for transactions.
Each actor has specific roles and responsibilities. Understanding these roles is crucial for system design because it defines how the system should respond to any interaction. The customer, for example, interacts directly with the ATM by inputting commands and receiving outputs, while the bank ensures the safe and efficient execution of these commands within their network.
Preconditions and Postconditions
Preconditions and postconditions are essential for defining system requirements. **Preconditions** specify what must be true before a use case starts. For an ATM, before a cash withdrawal, the following might be preconditions:
  • A valid bank card is inserted.
  • A correct PIN is input.
**Postconditions** define what the state of the system is after the use case completes. Following a cash withdrawal, postconditions could include:
  • The customer's account balance reflects the withdrawn amount.
  • Cash is dispensed to the customer.
  • A receipt is printed if requested.
These conditions help ensure that all necessary steps are followed, and the desired outcome is achieved, maintaining system integrity and user satisfaction.
Alternative Flows
Alternative flows in use cases describe different paths the process might take, often due to conditions or errors. For example, during a cash withdrawal:
  • If a wrong PIN is entered, the system can prompt the user to retry, or after several failed attempts, the ATM might retain the card for security reasons.
  • If the requested withdrawal amount exceeds the available balance, the system informs the user and allows them to enter a different amount.
By identifying these alternative flows, developers can anticipate potential issues and create solutions to handle them, ensuring the ATM system is robust and offers a smooth user experience. Handling these variations promptly avoids user frustration and potential security risks.

One App. One Place for Learning.

All the tools & learning materials you need for study success - in one app.

Get started for free

Most popular questions from this chapter

You have taken a job with a software user who has contracted your previous employer to develop a system for them. You discover that your company's interpretation of the requirements is different from the interpretation taken by your previous employer. Discuss what you should do in such a situation. You know that the costs to your current employer will increase if the ambiguities are not resolved. However, you have also a responsibility of confidentiality to your previous employer.

Identify and briefly describe four types of requirement that may be defined for a computerbased system.

Suggest how an engineer responsible for drawing up a system requirements specification might keep track of the relationships between functional and non-functional requirements.

Discover ambiguities or omissions in the following statement of requirements for part of a ticket-issuing system: An automated ticket-issuing system sells rail tickets. Users select their destination and input a credit card and a personal identification number. The rail ticket is issued and their credit card account charged. When the user presses the start button, a menu display of potential destinations is activated, along with a message to the user to select a destination. Once a destination has been selected, users are requested to input their credit card. Its validity is checked and the user is then requested to input a personal identifier. When the credit transaction has been validated, the ticket is issued.

When emergency changes have to be made to systems, the system software may have to be modified before changes to the requirements have been approved. Suggest a model of a process for making these modifications that will ensure that the requirements document and the system implementation do not become inconsistent.

See all solutions

Recommended explanations on Computer Science Textbooks

View all explanations

What do you think about this solution?

We value your feedback to improve our textbook solutions.

Study anywhere. Anytime. Across all devices.

Sign-up for free