Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the difference between a UseCase and a Workflow?

Tags:

architecture

I've always wondered what the difference between a Use Case and a work flow is, and how they relate to each other...

I ask, because I clearly see the way to develop a repository layer, and a Service layer above that, but the logic right above that layer quickly turns into, in my case, a set of webpages that seem to do a little of this and that...and I'm not sure how to describe them (what's a webpage that lists invoices as well as offers one click deleting of one or more of them? Is that a webpage that contains two use cases? or two workflows? Or the webpage is a workflow that contains two use cases? etc...)

As you can see, I'm pretty hazy on it all and would like to sort it out for once.

Thanks for your advice.

like image 343
Ciel Avatar asked Apr 08 '10 09:04

Ciel


People also ask

What are the four types of use cases?

There are four different types of use cases: includes, extents, communicates and generalizes.

What is the purpose of a use case?

A use case is a written description of how users will perform tasks on your website. It outlines, from a user's point of view, a system's behavior as it responds to a request. Each use case is represented as a sequence of simple steps, beginning with a user's goal and ending when that goal is fulfilled.

What is an example of a use case?

Use cases often include an index, with several individual use cases for each step of a software or platform's process. For example, use cases about an online e-commerce purchase might include separate reports for adding an item to the cart, selecting a payment type and choosing a shipping and delivery option.

What are the two main types of use cases?

There are two different types of use cases: business use cases and system use cases. A business use case is a more abstract description that's written in a technology-agnostic way, referring only to the business process being described and the actors that are involved in the activity.


1 Answers

I'd say that both word try to define similar entities, but with different perspectives and precision.

use case is a word that comes from the UML world (Unified modeling language). It corresponds to the specification of a scenario that users of your system should be able to follow.

The fact that a user could come to your website and choose to delete an invoice, along with the result page showing the success of this operation, could be described in a use case.

Defining use cases at the beginning of a project helps to understand how the system should be modeled, what are the important scenarios of interactions between the components.

workflow is a word that comes form the world of process automation, and process reverse-engeneering. What are the actors, their roles, and the sequence of actions that they need to perform in order to accomplish a given task.

If you can describe your workflow (there actually exist so-called workflow languages), you will be able to use a workflow engine to distribute the tasks among the actors and follow the status of each task.

Insurance companies typically use workflows to monitor the insurance claims they receive. It is important for them to have such a monitoring because they have an obligation to answer to all claims.

In your case, you could say for instance

  • That 2 use cases have that webpage as a starting point
  • That 2 workflows may be accomplished via this webpage

I hope this will be of some help to you Jerome WAGNER

like image 71
Jerome WAGNER Avatar answered Sep 27 '22 19:09

Jerome WAGNER