views:

37

answers:

1

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 logif right above that layer quickly turns into, in my case, a set of webpages that seem 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, pretty hazy on it all, and would like to sort it out for once.

Thanks for your advice.

+1  A: 

Hello, 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 worflow (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 worflows may be accomplished via this webpage

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

Jerome WAGNER
Hi Jerome, thanks very much for that detailed answer.I think what I understood from it was that, when developing webpages, I generally am providing solutions to match use cases... but as I would probably have to change programming style before it could be called accomplishing workflows...I'll have to do a little more research. Thanks again!
Ciel