I have register profile and edit profil on my use case diagram .Register profil will be for the first time when user sign up application but edit profil will be always how I must do include or extend relationship of these user cases
-
2Possible duplicate of [What's is the difference between include and extend in use case diagram?](http://stackoverflow.com/questions/1696927/whats-is-the-difference-between-include-and-extend-in-use-case-diagram) – Geert Bellekens Mar 16 '16 at 04:13
2 Answers
Don't make any extend and include at all. Just place a constraint to the use case Register Profile
that it is done only once. Include/Extend shall not be used for functional decomposition. Their use is "highly sophisticated" (to avoid words like bloated or silly) and it is recommend to avoid them simply because of the first reason: no functional decomposition!

- 35,448
- 8
- 62
- 86
It depends on how you see the relationship between the two use cases:
are
register profile
andedit profile
independent ? Example: someone enters your website the first time, and choose to register; As soon as he saves his profile info, he comes back to the were he was.or do you you see
register profile
as the first step beforeedit profile
? Example: someone enters your website the first time, and choose to register; As soon as he has created his profile, he automatically is inedit profile
, in case he wants to do some changes. In this caseedit
extendsregister
: both are self sufficient use cases, but at the end of the registration an extension point link to the extending case.or do you see
register profile
as dependent ofedit profile
, which represents a significant part of it ? Example: someone enters your website and automatically gets an anonymous profile; when he chooses to register theedit profile
opens that allows him to put a name on his existing profile. In this caseregister
includesedit
: one can't have the first without the second.
Note that personally, I'd opt for the first approach (as suggested by Thomas), as you definitely will need both interactions. I would reserve inclusion only use cases that are not triggered directly by the user. I would not like to use the extension as it is ambiguous (here: does edit extend register due to extension point, or does register extend edit, due to added functionality). Martin Fowler in "UML distilled" strongly advises against using extensions here because of the fierce debate they usually provoke.

- 68,716
- 7
- 72
- 138