Use case modeling describes the proposed functionality of a system from the user perspective. Use case modeling was developed in 1986 by Ivar Jacobson and then released to the mainstream in his 1992 book Object-Oriented Software Engineering – A Use Case Driven Approach.
- Understanding use case modeling
- The core elements of a use case model
- The core elements of a use case description
- Use case modeling examples
- Key takeaways:
- Other connected frameworks
Understanding use case modeling
Upon release, the book popularized use case modeling as a technique to capture functional requirements in software development.
Use case modeling can be applied in the following scenarios:
- Capturing system requirements.
- Driving the implementation and generation of test cases.
- Specifying the context of a system.
- Validation of a systems architecture.
- Developed by analysts with domain experts.
The core elements of a use case model
Who is using the system? Actors encompass both human users and other computer systems.
The overall role and scope of each actor in the system are defined by the set of use cases they have access to.
What do the actors want to achieve?
A use case describes how the system should respond under various conditions to a request from an actor to deliver a specific goal.
Think of a use case as representing a discrete unit of meaningful work, such as the fulfillment of a new order or the registering of a new account.
A discrete use case may incorporate the functionality of another use case or extend a use case with its own behavior.
Or the relationship between actors and the particular use cases they interact with.
Which defines the system of interest with respect to the world around it.
The core elements of a use case description
Using elements of the use case model, a use case description provides a detailed, step-by-step account of the interaction between the actor and the system.
This sequence of steps is called a scenario.
To that end, it should contain the following:
Which must communicate the goal of the use case. In the case of a student wanting to sign up for a volleyball class, the title may be “Register Student for Volleyball Class”.
Or a summary of what the use case does.
Again, these are the people or systems who interact with the use case.
What needs to be in place before the use case can commence?
What conditions must be met for the scenario to end, either successfully or unsuccessfully?
Or the step-by-step interaction between the actor and the system, divided into three types.
The primary path is the most commonly taken route to a successful conclusion.
The alternate path is a less commonly used route to the same conclusion.
The exception path leads to an unsuccessful conclusion and may incorporate an error message or further instruction.
Date of creation and revision history
This chronology helps determine how old the use case is when undertaking document analysis.
Priority and frequency of use
How important is the use case? How often is it executed? Both are useful in solution planning.
Use case modeling examples
In the final section, let’s conclude by outlining some basic use case modeling examples.
Airport check-in and security screening
- Business actors – passenger, tour guide, passenger with special needs, minor passenger (child). Each of these actors plays an external role with respect to the airport business.
- Business use cases – individual passenger check-in, group check-in, passenger security screening, luggage handling. These describe business process functions that occur within the airport and serve the needs of users.
As we noted earlier, a discrete use case may incorporate the functionality of another use case or extend one with its own behavior.
In this example, the discrete use cases “luggage check-in” and “luggage handling” extend the business use case “individual passenger check-in”.
Since some individuals may be traveling without luggage, these use cases become optional.
Automated teller machine
In the case of an automated teller machine (ATM), a customer of the bank (actor) uses the machine in several different use cases. These include:
- Deposit funds.
- Transfer funds.
- Withdraw money.
- Check balance.
- Pay income tax.
- Print recent transactions.
Another actor is the ATM technician with the following use cases: maintenance, repair, and security check.
The use cases of both the ATM technician and the bank customer involve the “bank” actor – irrespective of whether the use case is related to banking transactions or maintenance.
A consumer that uses a website to purchase a product or service online is the actor, or more formally, the “online customer”.
Use cases in this scenario may include:
- Make a purchase.
- View items.
- Register details.
For eCommerce companies, use case diagrams may be a little more difficult to define.
For example, the “view items” use case may only be relevant if the customer wants to look at an item without purchasing it.
This particular use case could also be incorporated into the “make purchase” use case if so desired.
It is important to note that in this example, the “checkout” use case is a component of making a purchase and is not available by itself.
Known as an included use case, “checkout” relies on the support and functionality of the base use case “make a purchase”.
The “view items” use case may also be extended by use cases such as “browse catalog”, “search for items”, “add to wedding registry”, or “add items to shopping cart”.
Again, these are all extending use cases because they add functionality to the process of a customer finding a product online.
In addition to the online customer actor, there are also several other actors. These include:
- New customer.
- Registered customer.
- Identity provider.
- Credit payment service.
- Service authentication.
If we return to the “checkout” use case, for example, we see that it includes multiple required use cases.
The online customer (actor) authentication process occurs via the use cases of “user cookie” or “single sign-on” (SSO). Note that “service authentication” is involved in both these use cases, with the SSO functionality also requiring an external identity provider.
- Use case modeling describes the proposed functionality of a system from the perspective of the user.
- At the very least, a use case model should contain four basic elements: actor, use case, associations, and system boundary.
- Use case modeling necessitates that a use case description is written. This is a series of steps that provides an account of the interaction between the actor and the system.
Connected Business Frameworks
Other connected frameworks
Main Free Guides: