Difference: 'uses', 'extends', 'includes'

Answers were Sorted based on User's Feedback



Difference: 'uses', 'extends', 'includes'..

Answer / prasad

"X uses Y" indicates that the task "X" has a subtask "Y";
that is, in the process of completing task "X", task "Y"
will be completed at least once.

"X extends Y" indecates that "X" is a task of the same type
as "Y", but "X" is a special, more specific case of
doing "Y". That is, doing X is a lot like doing Y, but X
has a few extra processes to it that go above and beyond
the things that must be done in order to complete Y.

Is This Answer Correct ?    41 Yes 7 No

Difference: 'uses', 'extends', 'includes'..

Answer / prakatheesh

The <<include>> relationship means that the flow of that
use case is always included.
But a <<extend>> relationship means that the flow of the
extending use case is only
included under specific conditions, which must be specified
as the extension point of the
use case being extended.

Is This Answer Correct ?    32 Yes 6 No

Difference: 'uses', 'extends', 'includes'..

Answer / clark

Includes:

if(TRUE)

include the use case

Extends:

if(condition)

extend the use case

It's a matter of unconditional VS. conditional insertion

(Source : Uml 2002--The Unified Modeling Language
By Jean-Marc Jézéquel, Heinrich Hussmann, Stephen Cook)

Uses:

Defined in UML 1.1

Is This Answer Correct ?    22 Yes 13 No

Difference: 'uses', 'extends', 'includes'..

Answer / naveen sisupalan

If one usecase must use another usecase, then use include
relationship. If one use case may use another usecase, then
use extends relationship. uses relationship is defined in
UML 1.1.

Is This Answer Correct ?    34 Yes 26 No

Difference: 'uses', 'extends', 'includes'..

Answer / julian c

Include vs extends is nothing to do with 'always' or 'sometimes'. In UML 2.x these are dependency arrow stereotypes.

If the base use case is incomplete... i.e. we can not write, build, test and use it without the linked use case then it is MANDATORY that the other use case exists; this requires and <<include>>. Getting hung up on the always/sometimes issue is counter-productive.

If we can write, build, test and use the base use case without the linked use case existing at all then it is NOT dependent on it; the linked use case however describes how it may add functionality to the base use case - THAT'S WHY THE ARROW IS THE OTHER WAY and is stereotyped <<extend>>. The extending use case is OPTIONAL in that we may or may not provide that functionality at all.

The included use case is like a sub function that is called.
An extend use case can change any aspect of the base use case and in several places. Look at it this way; if I use MSWord to open the base use case, turn on track-changes and then edit it to represent changes I want to make (usually but not limited to additional functionality) the extending use case represents those tracked changes.

<<uses>> is UML 1.x and although still prominent in Visio Use Case stencils (finally fixed in Visio 2013) is deprecated.

Is This Answer Correct ?    2 Yes 0 No

Difference: 'uses', 'extends', 'includes'..

Answer / sajad ali

Include usecase is shared can be resuse but extend class
relationship can't shared or reuse

Is This Answer Correct ?    9 Yes 8 No

Difference: 'uses', 'extends', 'includes'..

Answer / hell boy

includes is mandatory
extends is optional
uses is for help

Is This Answer Correct ?    17 Yes 17 No

Post New Answer

More OOAD Interview Questions

What do you mean by data hiding?

0 Answers   Tavant Technologies, Virtusa,


Explian following terms: Constraint Rules, Design by contract.

1 Answers   Protech,


What are manipulators?

0 Answers  


What are different types of arguments?

0 Answers  


What does it mean that a method or class is abstract?

0 Answers  






State two differences between an object and a class.

0 Answers   DELL,


Explain method overriding.

0 Answers  


Explain about inheritance in oops?

0 Answers  


Explain what is an object?

0 Answers  


How to make a class accessible as a web service?

0 Answers   BirlaSoft,


Differentiate between data abstraction and encapsulation.

0 Answers  


Explain the rationale behind object oriented concepts?

0 Answers  


Categories