[Uml-devel] Interfaces not properly implemented

Luis De la Parra Blum lparrab at gmx.net
Wed Mar 12 15:13:01 UTC 2003


On Wednesday 12 March 2003 22:56, Jonathan Riddell wrote:
>
> That's not entirely different from
> http://uml.sourceforge.net/developers/umbrello-umlobject-design.png
>
> My idea there was that Classes have lists (attributes and operations), so
> do Interfaces

hmm... as far as I know Interfaces have only operations (no attributes and no 
methods (the implementation of operations)... but yes, they should have a 
base class in common lower (closer) on the hierarchy than UMLObject

>          UMLCanvasObject
>
>          UMLClassifier---------------
>
>            UMLConcept         UMLInterface

hmm............
ok, I know with the current code base it is really difficult to try to 
straight things up at once, but at least new code / code modifications should 
try to clean the design a bit (unless we think it's just not worth it to 
spend so much time in it and we want to "just get it working for now" and 
wait for Umbrello2, where the UML implementation will more or less force it)

About the hierarchy proposed above, I dont understand what a UMLCanvasObject 
has to do with UML Classes, Interfaces, and friends.
Looking at the current code, I think UMLObject should be the root of all the 
hierarchy of UML-related objects (class, interface, package, association, 
actor, activity, etc)

classes *not* derived from UMLObject include diagrams, and *all widgets*

Widgets form a separate, parallel hierarchy, the root of which should be 
"DiagramElement" or (more officially) "PresentationElement".
I'd say DiagramElement has at least two derived classes, UMLWidget and 
"OtherWidgets" 
--> note that UMLWidget is *not* an UMLObject. it is just named that because 
it displays and UMLObject... to make it clearer, if we used namesapces 
(packages) it would be like this:

namespace UML
{
class UMLObject; // if we did use namespaces it would be just
class UMLClass; //  "Object" and "Class"
...
}

namespace Diagram
{
class DiagramElement;
class UMLWidget;
class "OtherWidgets";
...
}

ClassWidget and friends are derived from UMLWidget.
Boxes and Notes are derived from "OtherWidgets"

This is more or less what I am trying to do now, (till now  only focusing on 
the graphic representation-> Umbrello::Diagram, Umbrello::DiagramElement) but 
I'm finding only very little time to do it.  

so, coming back to the point. I also think having UMLClass and UMLInterface 
inheriting from UMLClassifier is a very good idea, and UMLClassifier would be 
a UMLObject, but I dont understand the UMLCanvasObject there.

luis





More information about the umbrello-devel mailing list