0

Consider the following situation. I was unable to find a great answer.

I have a use case A. After executing it, one of two possible use cases will be followed:

  1. Execute use case B
  2. Execute use case C

What should I use? A include B and A include C? OR B extend A and C extend A?

I am not sure, because C and B are potentials here. One of them have to be done.

All help is appreciated.

Ryan Gates
  • 4,501
  • 6
  • 50
  • 90
Nadia
  • 45
  • 5
  • Can you post more details? For example, it would be very helpful to see the uml diagram that you have so far as well as more details about these objects/classes. – Ryan Gates Feb 04 '13 at 14:33
  • Ryan thank you for the answer..For exemple: user case "Compose a number" ( on the phone ) then i have 2 possibilities whether "call the number" or "delete the number" notice here after composing the number one of the use case ( delete or call ) have to be done ..what should i use extend betwen the main use case ( composite number) and the other too use cases or include? – Nadia Feb 04 '13 at 14:38
  • Your welcome, but I only commented. I did not answer your question. When you say compose a number, do you mean generate one or the user enters one? Can you add the example and any other clarifications to your question by editing it? – Ryan Gates Feb 04 '13 at 15:02
  • i mean the user enters one – Nadia Feb 04 '13 at 15:24

2 Answers2

0

I am not sure that use Use case is the right way for modelling an alternative. If you create an include between two uses cases this means that the source of the include link will always be included when do target of the include. If you create an extend between two UCs this have more or less the same meaning that a generalization between two classes i.e. the target of the extend is a generalisation of the source.

Red Beard
  • 3,436
  • 1
  • 14
  • 17
0

Based on your example use case A "Compose a number" ( on the phone ) then you have 2 possibilities whether use case B"call the number" or use case C "delete the number"

the right choice is to define use case A and B as main use cases both including use case A :

UseCase B \ --include--> UseCase A UseCase C /

Use case should be defined by actor goal, in your examples the goal of the actor are to call the number or to delete the number.