Friday, November 21, 2008

Interview Questions for Business Analysts and Systems Analysts

Careers


Interview Questions


Recent Questions | Categories | Search | Subscribe (RSS)

What is use case generalization?
Question: What is use case generalization?

Statistics:Article Rating (5450 Views) (2 Additional Answers/Comments)
Posted by: sekharny on Tuesday, May 27, 2008
Categories: Unified Modeling Language (UML), Use Cases


Answer:
 

In the context of use case modeling the use case generalization refers to the relationship which can exist between two use cases and which shows that one use case (child) inherits the structure, behavior,  and relationships of another actor (parent).  The child use case is also referred to the more specialized use case while the parent is also referred to as the more abstract use case of the relationship.

For those of you familiar with object oriented concepts: use cases in UML are classes and the generalization is simply the inheritance relationship between two use cases by which one use case inherits all the properties and relationships of another use case.

You can use the generalization relationship when you find two or more use cases which have common behavior/logic.  In this instance, you can describe the common parts in a separate use case (the parent) which then is specialized into two or more specialized child use cases.

Example:

If you are creating a payment system which allows students of a training provider to pay for courses both on-line and by phone, there will many things in common between the two scenarios: specifying personal info, specifying payment info, etc.  However, there would also be differences between the two.  So, the best way to accomplish this is to create one use case (the parent) which contains the common behavior and then create two specialized child use cases which inherit from the parent and which contain the differences specific to registering on-line vs. by phone.

 

Additional Answers/Comments
Posted by evaneekelen on Thursday, July 24, 2008 7:49 AM
Although the article is theoretically correct and answers the question I must remark that I have never needed the generalize-relation while making Use Case Models. Many of my senior colleagues have neither.

The generalize relation is often misused by junior Analysts with an object oriented development background and who see reusable objects everywhere.

A Use Case is not a reusable object though, it is first and foremost a functional description of the interaction between actor and system for to get to a specific goal for an actor.

In the example of the article above, to me it would make much more sense to forget the generilization. Instead make the two different payment use cases have an include relationship with a UC that describes the common actions (such as debitting the credit card of the actor for example).

Posted by dbaltha on Tuesday, July 29, 2008 6:34 PM
Hi sekharny
I wanted to refer you to a couple of electronic books for business analysis. They are e-Analyst Redbooks and are posted on lulu. The Introduction to Business Analysis and UML covers UML diagrams . The links are below

Introduction to Business Analysis - http://www.lulu.com/content/2684973

Business Analysis Templates - http://www.lulu.com/content/2664674

You must be logged in to post a comment. You can login here
Syndicate  
Templates & Aides: find/share business analysis templates as well as other useful aides in our new Templates & Aides repository, such as:
ModernAnalyst.com LinkedIn Group
* Requirements Template

* Use Case Template

* BPMN Cheat Sheet

Registered users can...

 - post new questions,
- add answers & comments,
- rate questions & answers.

Login - Register



 

Privacy Statement  |  Terms Of Use
Copyright 2006-2008 by Modern Analyst Media LLC