Question

I am currently refreshing/altering my knowledge in software development because I will work in this area soon. We have learned a lot about UML diagrams and coding at University, but I have never brought it all together in a real Project. Therefore, I started to create a test web-app in Grails, and I wanted to begin with a requirements analysis and use cases too keep it close to reality.

My web-app should allow users to share recipes, find recipes and review recipes by other users. Every recipe has many ingredients, which are not just strings but rather entities so that calories, fat, protein and carbs can be used to automatically calculate nutrition facts of a certain recipe.

An ingredient can be added to the database by either a consumer or nutrition expert. If it is created by a consumer, it is only a "prospective" ingredient, meaning that it has to be verified by an administrator to become a "proper" ingredient -- otherwise it is marked, e.g. red text color.

This is my current use case diagram:

http://ubuntuone.com/0zDw9kEbj1BwtXjnCtxdwC

My question here is:

  • As far as I'm concerned, included use cases can be reused, meaning included by other use cases or associated with other actors as well. But is that also possible with extending use cases? Can 'AddProspectiveIngredient' extend 'VerifyIngredient' as well (although it would not make any sense for this system)?
Was it helpful?

Solution

You could have many use cases, extending each other. For extending is a variation. Only that would be excessive. You don't need draw extend connection between A and C, if A-B and B-C are already so connected.

But you can have problems with the tool limitations. VP-UML works with "extend" not so well. Even the usual delete won't work correctly on "extension points"

OTHER TIPS

Yes, you can reference a use case by one or more other use cases (using either one of the include and extend relations) and you can also associate included or extended use cases with your actors.

This discussion is helpful for distinguishing the include and extend relations in a use case diagram.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top