Sample Use Case Example

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:
- The user will indicate that she wants to order the items that have already been selected.
- The system will present the billing and shipping information that the user previously stored.
- The user will confirm that the existing billing and shipping information should be used for this order.
- The system will present the amount that the order will cost, including applicable taxes and shipping charges.
- The user will confirm that the order information is accurate.
- The system will provide the user with a tracking ID for the order.
- The system will submit the order to the fulfillment system for evaluation.
- The fulfillment system will provide the system with an estimated delivery date.
- The system will present the estimated delivery date to the user.
- The user will indicate that the order should be placed.
- The system will request that the billing system should charge the user for the order.
- The billing system will confirm that the charge has been placed for the order.
- The system will submit the order to the fulfillment system for processing.
- The fulfillment system will confirm that the order is being processed.
- The system will indicate to the user that the user has been charged for the order.
- The system will indicate to the user that the order has been placed.
- 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.
- The user will indicate that this order should use alternate billing or shipping information.
- The user will enter billing and shipping information for this order.
- The system will validate the billing and shipping information.
- 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.
- The user will indicate that the billing and shipping information is incorrect.
- The user will edit the billing and shipping information associated with their account.
- The system will validate the billing and shipping information.
- 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.
- The user will indicate that the billing and shipping information is incorrect.
- The user will edit the billing and shipping information for this order.
- 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.
- The user will request that the order be cancelled.
- The system will confirm that the order has been cancelled.
- 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.


April 11th, 2007 at 9:25 am
[...] Sample Use Case Example | Tyner Blain 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 (tags: uml) [...]
May 9th, 2007 at 4:59 pm
Thank you for the great example, and the definitions of what you’re referring to. I have NO experience with use cases or scenarios, no experience with flow charting or anything like that. I’m a secretary, tasked to help out with developing a new system, and was tasked with providing use cases for three variations in the new system. I had no idea where to start but I think now I can at least get something down on paper that makes sense. I had visions of trying to make boxes and arrows and somehow knew that wouldn’t work. Thanks again.
May 9th, 2007 at 9:00 pm
Anita, or Anita Jay (I hope I guessed right), thanks very much for the kind comments, and I’m thrilled that the stuff we’ve got here is helping you! You made my day by letting me know.
Thanks for stopping by, hope you stick around, and if any of the articles don’t provide enough context or use too much jargon, just comment and let us know – we’ll make em better.
March 27th, 2008 at 10:16 pm
Hi!
I just want to know that do you use any template for writing the use cases?..if so what and how?The above test case looks so readable and simple.. Thanks alot for sharing this with people like us..
March 29th, 2008 at 7:38 am
Thanks, Rajashree, and welcome to Tyner Blain! We have a template for informal use cases: Informal Use Case Template.
My clients usually already have templates of their own that they have developed (with boilerplate text and signoffs, etc), so I usually use those. When they don’t, I will use this one, or I will propose that they update theirs to be more like this one. There is not a universal standard that everyone acknowledges as “the template.”
September 14th, 2008 at 3:43 am
hi scott , I am student in software enjneering (master) , I need your help , can you give me more examples in usecase daigrame and class daigram .
October 2nd, 2008 at 6:57 am
Yamen, thanks for your question, and welcome to Tyner Blain. Generally, I don’t draw use case diagrams – I find they provide almost no extra insight in exchange for extra effort. Class diagrams, I find, are incredibly valuable. I wrote a series of articles recently on how to use class diagrams for business analysis which should help you get started. As a software engineering student, you’ll also want to go into more detail on the techniques for representing systems. There are links to Scott Ambler’s resources for that purpose. The series here is focused on domain analysis, not solution analysis.
Good luck!
July 22nd, 2010 at 3:39 am
I need to know how to write use cases for online purchasing
July 22nd, 2010 at 8:56 am
For online purchasing, you’ll have multiple use cases. Start with defining who the customer is, and why they are purchasing online (specific or non-specific buying, etc). Then look at how they get to the site (direct, SEO/SEM, from email, referral, etc). There will be a lot of variations (do they want to compare products, or do they know what they want, or are they window shopping, are they shopping for themselves or someone else, etc). Think about the checkout process – payment options, shipping options, coupons, etc. Also the notification, returns, and customer service use cases.
TONS of stuff to consider.
July 28th, 2010 at 9:50 pm
Found a good article on sample use cases: http://tynerblain.com/blog/2007/04/09/sample-use-case-example/ check it out!