Use Case Spezifikation Beispiel Essay

Here’s an example of a use case that has some system complexity. The user interacts with the main system that we are describing. The system also interacts with two external systems. This use case example shows how to describe the steps that demonstrate all interactions with the system.

Sample Use Case Example

The first step in defining a use case is to define the name, using the verb-noun naming convention.

Use Case Name: Place Order

The next step is to define the use case at a low level of detail. This quick use case definition allows for agile development of use cases. This is also known as a use case brief.

Sample Use Case Brief

Use Case Name: Place Order

Actors:

  • Shopper
  • Fulfillment System
  • Billing System

Use Case Description: After the user has selected items to purchase and then order the items. The user will provide payment and shipping information. The system will respond with confirmation of the order and a tracking number that the user can use to check on order status in the future. The system will also provide the user with an estimated delivery date for the order, which will include all selected items. The user may already have an account with the company with billing and shipping information.

Formal Use Case Example

You can clarify the use case further by refining the use case into a formal use case or informal use case format (free template). Here is how the use case would look when using a formal use case format.

Note that there are additional elements to a formal use case that may be included, but are not part of this example. You can read more about how to read a formal use case. You can also read about how to define actors, and how to define use case triggers and preconditions.

Use Case Name: Place Order

Actors:

  • Registered Shopper (Has an existing account, possibly with billing and shipping information)
  • Non-registered Shopper (Does not have an existing account)
  • Fulfillment System (processes orders for delivery to customers)
  • Billing System (bills customers for orders that have been placed)

Triggers:

  • The user indicates that she wants to purchase items that she has selected.

Preconditions:

  • User has selected the items to be purchased.

Post-conditions:

  • The order will be placed in the system.
  • The user will have a tracking ID for the order.
  • The user will know the estimated delivery date for the order.

Normal Flow:

  1. The user will indicate that she wants to order the items that have already been selected.
  2. The system will present the billing and shipping information that the user previously stored.
  3. The user will confirm that the existing billing and shipping information should be used for this order.
  4. The system will present the amount that the order will cost, including applicable taxes and shipping charges.
  5. The user will confirm that the order information is accurate.
  6. The system will provide the user with a tracking ID for the order.
  7. The system will submit the order to the fulfillment system for evaluation.
  8. The fulfillment system will provide the system with an estimated delivery date.
  9. The system will present the estimated delivery date to the user.
  10. The user will indicate that the order should be placed.
  11. The system will request that the billing system should charge the user for the order.
  12. The billing system will confirm that the charge has been placed for the order.
  13. The system will submit the order to the fulfillment system for processing.
  14. The fulfillment system will confirm that the order is being processed.
  15. The system will indicate to the user that the user has been charged for the order.
  16. The system will indicate to the user that the order has been placed.
  17. The user will exit the system.

Alternate Flows:

3A1: The user enters billing and shipping information for the order. The user desires to use shipping and billing information that differs from the information stored in her account. This alternate flow also applies if the user does not maintain billing and / or shipping information in their account, or if the user does not have an account.

  1. The user will indicate that this order should use alternate billing or shipping information.
  2. The user will enter billing and shipping information for this order.
  3. The system will validate the billing and shipping information.
  4. The use case continues

5A1: The user will discover an error in the billing or shipping information associated with their account, and will change it.

  1. The user will indicate that the billing and shipping information is incorrect.
  2. The user will edit the billing and shipping information associated with their account.
  3. The system will validate the billing and shipping information.
  4. The use case returns to step 2 and continues.

5A2: The user will discover an error in the billing or shipping information that is uniquely being used for this order, and will change it.

  1. The user will indicate that the billing and shipping information is incorrect.
  2. The user will edit the billing and shipping information for this order.
  3. The use case returns to step 3A1 step 3.

10A1: The user will determine that the order is not acceptable (perhaps due to disatisfaction with the estimated delivery date) and will cancel the order.

  1. The user will request that the order be cancelled.
  2. The system will confirm that the order has been cancelled.
  3. The use case ends.

Summary

This example use case shows how a use case can be developed with incrementally increasing detail. First, the name of the use case is identified, then a simple version of the use case is defined. Finally, a formal use case is defined.

1 Brief Description

This use case describes how the Bank Customer uses the ATM to withdraw money to his/her bank account.

2 Actors

2.1 Bank Customer

2.2 Bank

3 Preconditions

There is an active network connection to the Bank.

The ATM has cash available.

4 Basic Flow of Events

1. The use case begins when Bank Customer inserts their Bank Card.

2. Use Case: Validate User is performed.

3. The ATM displays the different alternatives that are available on this unit. [See Supporting Requirement SR-xxx for list of alternatives]. In this case the Bank Customer always selects "Withdraw Cash".

4. The ATM prompts for an account. See Supporting Requirement SR-yyy for account types that shall be supported.

5. The Bank Customer selects an account.

6. The ATM prompts for an amount.

7. The Bank Customer enters an amount.

8. Card ID, PIN, amount and account is sent to Bank as a transaction. The Bank Consortium replies with a go/no go reply telling if the transaction is ok.

9. Then money is dispensed.

10. The Bank Card is returned.

11. The receipt is printed.

12. The use case ends successfully.

5 Alternative Flows

5.1 Invalid User

If in step 2 of the basic flow Bank Customer the use case: Validate User does not complete this successfully, then

1. The use case ends with a failure condition.

5.2 Wrong account

If in step 8 of the basic flow the account selected by the Bank Customer is not associated with this bank card, then

1. The ATM shall display the message "Invalid Account – please try again".

2. The use case resumes at step 4.

5.3 Wrong amount

If in step 7 in the basic flow, the Bank Customer enters an amount that can't be 'created' with the kind of in the ATM (See Special Requirement WC-1 for valid amounts), then

1. The ATM shall display a the message indicating that the amount must be a multiple of the bills on hand, and ask the Bank Customer to reenter the amount.

2. The use case resumes at step 7.

5.4 Amount Exceeds Withdrawal Limit

If in step 7 in the basic flow, the Bank Customer enters an amount that exceeds the withdrawal limit (See Special Requirement WC-2 for maximum amount), then

1. the ATM shall display a warning message, and ask the Bank Customer to reenter the amount

2. The use case resumes at step 7

5.5 Amount Exceeds Daily Withdrawal Limit

If in step 8 in the basic flow, the Bank response indicates the daily withdrawal limit has been exceeded (this is determined by the Bank and depends upon the specific account), then

1. The ATM shall display a warning message, and ask the Bank Customer to reenter the amount.

2. The use case resumes at step 7.

5.6 Insufficient Cash

If in step 7 in the basic flow, the Bank Customer enters an amount that exceeds the amount of cash available in the ATM, then

1. The ATM will display a warning message, and ask the Bank Customer to reenter the amount.

2. The use case resumes at step 7.

5.7 No Response from Bank

If in step 8 of the basic there is no response from the Bank within 3 seconds, then

1. The ATM will re-try, up to three times.

2. If there is still no response from the Bank, the ATM shall display the message "Network unavailable – try again later".

3. The ATM shall return the card.

4. The ATM shall indicate that it is "Closed".

5. The use case ends with a failure condition.

5.8 Money Not Removed

If in step 9 of the basic flow the money is not removed from the machine within 15 seconds, then

1. the ATM shall issue a warning sound and display the message "Please remove cash".

2. If there is still no response from the Bank Customer within 15 seconds the ATM will re-tract the money and note the failure in the log.

3. the use case end with a failure condition.

5.9 Quit

If at point prior to step 8 in the basic flow the Bank Customer selects Quit, then

1. The ATM shall print a receipt indicating the transaction was cancelled.

2. The ATM shall return the card.

3. The use case ends.

6 Key Scenarios

6.1 No Response from Bank

7 Post-conditions

7.1 Successful Completion

The user has received their cash and the internal logs have been updated.

7.2 Failure Condition

The logs have been updated accordingly.

8 Special Requirements

[SpReq:WC-1] The ATM shall dispense cash in multiples of $20.

[SpReq2:WC-2] The maximum individual withdrawal is $500.

[SpReq:WC-1] The ATM shall keep a log, including date and time, of all complete and incomplete transactions with the Bank.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *