0

I have read Use case generalization versus extension question, and i have got a question. it seems that when generalizing a use case you have some different approaches for one functionality, but when you are extending a use case you have single functionality, but there are subtle differences in parts of it depending on the situation.
Also you can use generalization and extension interchangeably when there is only one extension point, but if there are two or more extension points you shall use extension.
So what i have said is true??

Community
  • 1
  • 1
mehdi.loa
  • 579
  • 1
  • 5
  • 23

2 Answers2

2

For me, generalization and extension are not interchangeable. Their meanning are different and do not depend of the number of extension point. When generalizing a usecase U1 by an usecase U2, U2 is a specific U1 i.e. all things true for U1 are also true for U2. So an actor associated to U1 is able to use U1 and U2 independently. When extending a usecase U1 by an usecase U2, U2 is a different from U1. So an actor associated to U1 is able (if he wants) to use U2 but in U1 usage context, he can not use U2 with out U1 context.

Hoping it helps,

Regards,

BR

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

No, that isn't quite accurate. Here is a related discussion. Specialization (the opposite of generalization) and extension are actually entirely different. Extension has to do with the idea of potentially doing more in a use case than the minimum necessary. Specialization has to do with the idea of accomplishing a use case in more than one way.

Let's look at a "Pay Bill" use case in a grocery store as an example. You can pay by cash or credit card, and you can (don't have to) also use a discount card. Paying by cash and paying by credit card are different ways of paying a bill, so they are specializations. Signing up for the discount card is an activity that you can do when paying the bill that is additional to paying the bill, so that's an extension of the use case.

Community
  • 1
  • 1
BobRodes
  • 5,990
  • 2
  • 24
  • 26