CoffeeBoy Structure: Use Cases

Use Case

In this post we’ll derive use cases from the major requirement groups created in the recent structuring step. While the use cases will only be briefly described here, subsequent posts will cover them with worthy details by means of interaction flow chart diagrams. This post will also introduce the diagram elements of these interaction flow charts.

CoffeeBoy Series Schedule

First of all let’s clarify what we all mean by a use case. Wikipedia says:

In software and systems engineering, a use case is a list of actions or event steps, typically defining the interactions between a role […] and a system, to achieve a goal. Wikipedia – Use Case, January 2016

So if we map this definition to CoffeeBoy, then a use case describes a series of actions performed by Amy or Boy in order to achieve a certain goal. Such a goal may be a new coffee recipe or a cup of coffee.

In order to identify use cases for CoffeeBoy let’s recall the four major requirement groups revealed in the recent structuring step:

  • Cup(s) of Coffee Order and Brewing Process
  • Coffee Recipes
  • Inventory
  • Maintenance

The above requirement groups contain multiple functions, which we might also call actions when adopting the above definition’s terminology. Each requirement group describes an entry point of a use case. That is: there won’t be use cases spanning over multiple of the above requirement groups because each group has a unique focus. For example, a use case starting within the Coffee Recipes group and going over to the Cup(s) of Coffee Order and Brewing Process group would describe more than one goal.

In the upcoming sections we’ll shortly describe the use cases we’ve identified in the requirement groups.

Cup(s) of Coffee Order and Brewing Process

#01: Order a single cup of coffee

Choosing an existing coffee recipe, on demand reviewing its details and then starting the brewing process.

#02: Order a single cup of coffee with on-the-fly recipe creation

Specifying a coffee recipe’s properties on-the-fly (the coffee recipe does not get saved) and then starting the brewing process.

#03: Order a single cup of coffee with on-the-fly recipe modification

Choosing an existing coffee recipe, modifying it’s properties on-the-fly (the coffee recipe does not get saved) and then starting the brewing process.

#04: Order multiple cups of coffee

Choosing several existing coffee recipes, on demand reviewing their details and then starting the brewing process.

#05: Order multiple cups of coffee with on-the-fly recipe creation

Choosing several existing coffee recipes, thereby specifying one coffee recipe’s properties on-the-fly (the coffee recipe does not get saved) and then starting the brewing process.

#06: Order multiple cups of coffee with on-the-fly recipe modification

Choosing several existing coffee recipes, thereby modifying one coffee recipe’s properties on-the-fly (the coffee recipe does not get saved) and then starting the brewing process.

#071: View the recently made and favorite orders

Viewing the recently made and favorite orders.

#082: Order coffee based on a recently made or favorite order

Choosing a recently made or favorite order and then starting the brewing process.

#093: Tag an existing order as favorite

Choosing a recently made order and tagging it as favorite.

#104: Untag a favorite order

Choosing a favorite order and untagging it.

Coffee Recipes

#11: Create a coffee recipe

Creating a new coffee recipe.

#12: Create a coffee recipe from copy

Creating a new coffee recipe by choosing an existing one and using it as template for the new one.

#13: Delete a coffee recipe

Choosing an existing coffee recipe and deleting it.

#14: Modify a coffee recipe

Choosing an existing coffee recipe and modifying it.

#15: Modify a coffee recipe position

Choosing an existing coffee recipe and modifying its position in the list.

Inventory

#16: View inventory status

Viewing the inventory status.

Maintenance

V#17: View maintenance status

Viewing the maintenance status.

#18: Start maintenance process

Starting the maintenance process.

Interaction flow chart diagram caption

Before we’ll start to describe and illustrate the previous use cases in the next posts, let’s look at the caption for the interaction flow chart diagrams below:

Interaction Flow Chart Diagram Caption

Up next

The next posts will describe each of the above use case in depth. Stay tuned!

Footnotes

  1. See 4.
  2. See 4.
  3. See 4.
  4. The recently made and favorite orders list is actually a new requirement defined during the derivation of use cases.