Bug 322019

Summary: umbrello lacks of generalization in class diagram
Product: [Applications] umbrello Reporter: Bruce Ouyang <bruce.oy>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED FIXED    
Severity: normal CC: emma.atkinson2, ralf.habacker, register
Priority: NOR    
Version: 2.10.5   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=372181
Latest Commit: Version Fixed In:
Attachments: Screenshot showing a realization

Description Bruce Ouyang 2013-07-06 06:47:25 UTC
there are 7 class relationships in umbrello's class diagram:
1, association
2, directional association
3, dependency
4, implements
5, composition
6, aggregation
7, containment
generalization is absent.
i tried let A class implements B class and then generate codes,  then i found in fact A class extends B class in generated codes. it seems implements includes generalization and implements. 
i suggest divide them to 2 different independent relationship.

another related bug about A class implements B class:
generated codes:
public class Employee extends Person, Person {...}

here appears 2 Person parent class, this is wrong!

Reproducible: Always
Comment 1 Oliver Kellogg 2013-07-08 05:43:58 UTC
*** Bug 145131 has been marked as a duplicate of this bug. ***
Comment 2 Emma Atkinson 2015-03-27 21:01:47 UTC
I would like to register my support for this improvement.  

Interface Inheritance (Realization) needs a variation of the symbol for Implementation Inheritance ("Implements" in Umbrello) that has a dotted line.  This is not the same as the Dependency relationship which is a weaker form.  

In Java, a class **realizes** an <<interface>> class by implementing the functions specified by the interface signature. 

In my opinion, the Umbrello user documentation needs to be changed too.
Comment 3 Emma Atkinson 2015-03-27 21:05:51 UTC
My comments refer to the description at http://en.wikipedia.org/wiki/Class_diagram
Comment 4 Ralf Habacker 2015-03-28 15:36:38 UTC
Created attachment 91795 [details]
Screenshot showing a realization
Comment 5 Ralf Habacker 2016-11-07 13:27:30 UTC
Retested with 2.16.0 which is the oldest version I have 
> another related bug about A class implements B class:
> generated codes:
> public class Employee extends Person, Person {...}
> here appears 2 Person parent class, this is wrong
can not reproduce with default c++ codegenerator, seems to be fixed

> Interface Inheritance (Realization) needs a variation of the symbol for
> Implementation Inheritance ("Implements" in Umbrello) that has a dotted line. 
fixed too, see screenshot 

>In Java, a class **realizes** an <<interface>> class by implementing the >functions specified by the interface signature. 
also implemented in 2.16.0

>In my opinion, the Umbrello user documentation needs to be changed too.
split out to bug 372181.