use-case-modeling

Use Case Modeling In A Nutshell

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

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

As a minimum, the use case model contains the following basic elements that are graphically depicted to show the relationship between each element:

Actor

Who is using the system? Actors encompass both human users and other computer systems.

They use a use case to perform some piece of work that is of value to the business.

The overall role and scope of each actor in the system are defined by the set of use cases they have access to.

Use case

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.

Associations

Or the relationship between actors and the particular use cases they interact with. 

System boundary

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.

Ultimately, the account should clearly show how the actor must initiate an action to derive value and achieve a goal.

To that end, it should contain the following:

Title

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”.

Description

Or a summary of what the use case does.

Actors

Again, these are the people or systems who interact with the use case.

Preconditions

What needs to be in place before the use case can commence?

Postconditions

What conditions must be met for the scenario to end, either successfully or unsuccessfully?

Path

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.

Online shopping

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.
  • Checkout.

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.
  • Afterpay.

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.

Key takeaways:

  • 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 Agile Frameworks

AIOps

aiops
AIOps is the application of artificial intelligence to IT operations. It has become particularly useful for modern IT management in hybridized, distributed, and dynamic environments. AIOps has become a key operational component of modern digital-based organizations, built around software and algorithms.

Agile Methodology

agile-methodology
Agile started as a lightweight development method compared to heavyweight software development, which is the core paradigm of the previous decades of software development. By 2001 the Manifesto for Agile Software Development was born as a set of principles that defined the new paradigm for software development as a continuous iteration. This would also influence the way of doing business.

Agile Project Management

agile-project-management
Agile project management (APM) is a strategy that breaks large projects into smaller, more manageable tasks. In the APM methodology, each project is completed in small sections – often referred to as iterations. Each iteration is completed according to its project life cycle, beginning with the initial design and progressing to testing and then quality assurance.

Agile Modeling

agile-modeling
Agile Modeling (AM) is a methodology for modeling and documenting software-based systems. Agile Modeling is critical to the rapid and continuous delivery of software. It is a collection of values, principles, and practices that guide effective, lightweight software modeling.

Agile Business Analysis

agile-business-analysis
Agile Business Analysis (AgileBA) is certification in the form of guidance and training for business analysts seeking to work in agile environments. To support this shift, AgileBA also helps the business analyst relate Agile projects to a wider organizational mission or strategy. To ensure that analysts have the necessary skills and expertise, AgileBA certification was developed.

Business Model Innovation

business-model-innovation
Business model innovation is about increasing the success of an organization with existing products and technologies by crafting a compelling value proposition able to propel a new business model to scale up customers and create a lasting competitive advantage. And it all starts by mastering the key customers.

Continuous Innovation

continuous-innovation
That is a process that requires a continuous feedback loop to develop a valuable product and build a viable business model. Continuous innovation is a mindset where products and services are designed and delivered to tune them around the customers’ problem and not the technical solution of its founders.

Design Sprint

design-sprint
A design sprint is a proven five-day process where critical business questions are answered through speedy design and prototyping, focusing on the end-user. A design sprint starts with a weekly challenge that should finish with a prototype, test at the end, and therefore a lesson learned to be iterated.

Design Thinking

design-thinking
Tim Brown, Executive Chair of IDEO, defined design thinking as “a human-centered approach to innovation that draws from the designer’s toolkit to integrate the needs of people, the possibilities of technology, and the requirements for business success.” Therefore, desirability, feasibility, and viability are balanced to solve critical problems.

DevOps

devops-engineering
DevOps refers to a series of practices performed to perform automated software development processes. It is a conjugation of the term “development” and “operations” to emphasize how functions integrate across IT teams. DevOps strategies promote seamless building, testing, and deployment of products. It aims to bridge a gap between development and operations teams to streamline the development altogether.

Dual Track Agile

dual-track-agile
Product discovery is a critical part of agile methodologies, as its aim is to ensure that products customers love are built. Product discovery involves learning through a raft of methods, including design thinking, lean start-up, and A/B testing to name a few. Dual Track Agile is an agile methodology containing two separate tracks: the “discovery” track and the “delivery” track.

Feature-Driven Development

feature-driven-development
Feature-Driven Development is a pragmatic software process that is client and architecture-centric. Feature-Driven Development (FDD) is an agile software development model that organizes workflow according to which features need to be developed next.

eXtreme Programming

extreme-programming
eXtreme Programming was developed in the late 1990s by Ken Beck, Ron Jeffries, and Ward Cunningham. During this time, the trio was working on the Chrysler Comprehensive Compensation System (C3) to help manage the company payroll system. eXtreme Programming (XP) is a software development methodology. It is designed to improve software quality and the ability of software to adapt to changing customer needs.

Lean vs. Agile

lean-methodology-vs-agile
The Agile methodology has been primarily thought of for software development (and other business disciplines have also adopted it). Lean thinking is a process improvement technique where teams prioritize the value streams to improve it continuously. Both methodologies look at the customer as the key driver to improvement and waste reduction. Both methodologies look at improvement as something continuous.

Lean Startup

startup-company
A startup company is a high-tech business that tries to build a scalable business model in tech-driven industries. A startup company usually follows a lean methodology, where continuous innovation, driven by built-in viral loops is the rule. Thus, driving growth and building network effects as a consequence of this strategy.

Kanban

kanban
Kanban is a lean manufacturing framework first developed by Toyota in the late 1940s. The Kanban framework is a means of visualizing work as it moves through identifying potential bottlenecks. It does that through a process called just-in-time (JIT) manufacturing to optimize engineering processes, speed up manufacturing products, and improve the go-to-market strategy.

Rapid Application Development

rapid-application-development
RAD was first introduced by author and consultant James Martin in 1991. Martin recognized and then took advantage of the endless malleability of software in designing development models. Rapid Application Development (RAD) is a methodology focusing on delivering rapidly through continuous feedback and frequent iterations.

Scaled Agile

scaled-agile-lean-development
Scaled Agile Lean Development (ScALeD) helps businesses discover a balanced approach to agile transition and scaling questions. The ScALed approach helps businesses successfully respond to change. Inspired by a combination of lean and agile values, ScALed is practitioner-based and can be completed through various agile frameworks and practices.

Spotify Model

spotify-model
The Spotify Model is an autonomous approach to scaling agile, focusing on culture communication, accountability, and quality. The Spotify model was first recognized in 2012 after Henrik Kniberg, and Anders Ivarsson released a white paper detailing how streaming company Spotify approached agility. Therefore, the Spotify model represents an evolution of agile.

Test-Driven Development

test-driven-development
As the name suggests, TDD is a test-driven technique for delivering high-quality software rapidly and sustainably. It is an iterative approach based on the idea that a failing test should be written before any code for a feature or function is written. Test-Driven Development (TDD) is an approach to software development that relies on very short development cycles.

Timeboxing

timeboxing
Timeboxing is a simple yet powerful time-management technique for improving productivity. Timeboxing describes the process of proactively scheduling a block of time to spend on a task in the future. It was first described by author James Martin in a book about agile software development.

Scrum

what-is-scrum
Scrum is a methodology co-created by Ken Schwaber and Jeff Sutherland for effective team collaboration on complex products. Scrum was primarily thought for software development projects to deliver new software capability every 2-4 weeks. It is a sub-group of agile also used in project management to improve startups’ productivity.

Scrum Anti-Patterns

scrum-anti-patterns
Scrum anti-patterns describe any attractive, easy-to-implement solution that ultimately makes a problem worse. Therefore, these are the practice not to follow to prevent issues from emerging. Some classic examples of scrum anti-patterns comprise absent product owners, pre-assigned tickets (making individuals work in isolation), and discounting retrospectives (where review meetings are not useful to really make improvements).

Scrum At Scale

scrum-at-scale
Scrum at Scale (Scrum@Scale) is a framework that Scrum teams use to address complex problems and deliver high-value products. Scrum at Scale was created through a joint venture between the Scrum Alliance and Scrum Inc. The joint venture was overseen by Jeff Sutherland, a co-creator of Scrum and one of the principal authors of the Agile Manifesto.

Read Also: Business Models Guide, Sumo Logic Business Model, Snowflake

InnovationAgile MethodologyLean StartupBusiness Model InnovationProject Management.

Read Next: SWOT AnalysisPersonal SWOT AnalysisTOWS MatrixPESTEL AnalysisPorter’s Five ForcesTOWS MatrixSOAR Analysis.

Main Free Guides:

Scroll to Top
FourWeekMBA