[Uml-devel] changes and questions

Gustavo Madrigal linux_news at nextphere.com
Mon May 6 18:39:04 UTC 2002


On Monday 06 May 2002 18:35, Jonathan Riddell wrote:
> Made various small changes the most eye-candy of which is making use cases
> appear with the text inside the circles rather than underneith (which is
> how I've always seen them).
Good, I think its better to have the names inside the use cases. But what 
would happen with very long names?

>
> Does anyone know the logic behind a watning saying Possible Incompatible
> Association when making an association between an actor and a use case?
> (Done by paza in version 1.4, widgetassociationcontainer.cpp)
>
In uml v1.0.3 this error didn't exist. When I 
started working on the cvs version I noticed this error message, then I asked 
to the list about it (Jan 27th 2002: Subject:Association between ACTOR & USE 
CASE Error Message), Pascal Fleury replied with the code that produces this 
error, but no one gave me an explanation about this error. I asked a friend 
of mine about this a long time ago and he said that in a use diagram the only 
valid association type between actors and use cases is bidirectional. So, my 
guess is this an error, it should accept bidirectional associations without 
complaining.

> uml/Makefile.am talks about a file called uml_meta_unload.cpp, does anyone
> know why?

I have no idea, but a long time ago I took out some other references to 
deployment_diagram.cpp because no one could gave me any clue on that.

>
> Finally, I'm a little confused about the refactoring separating the data
> and display.  As wall as (say) usecase.cpp and usecasewidget.cpp there is
> now usecasewidgetdata.cpp as well.  But surely the data was previously i
> usecase.cpp and display was in usecasewidget.cpp so what is the extra
> class for?

At the beginning the UseCase class contained nondisplay information (all use 
case info from a theorical point of view, the only relation with QT is that 
UseCase inherates from UMLObject which inherates from QObject, but this is 
only for practical reasons to be able to use some QT's container classes).
UseCaseWidget contains displaying information about a UseCase instance, this 
class represents the use case in a diagram, it holds position, if it uses the 
fill color, etc.
But then, when you save a uml document into a file, these position and other 
attributes are treated as data. Lets say there is no CUseCaseWidgetData, when 
the document is loaded from a file then you have to create a UseCaseWidget 
which means you are creating a QWidget and you have to give it a parent or 
change it later when assigned to a specific diagram, each QWidget when 
created requires some setup time, until here everything looks fine; but when 
you load a file with 100 or more use cases this loading scheme is 
unacceptable. I have seen documents that take 10 minutes to load up. So I 
added a CUseCaseWidgetData which holds UseCaseWidget data (position, use fill 
color flag, etc), with this class I can load a lot of use cases from a file 
without requiring to create a QWidget for each one of them thus minimizing 
the loading time. Then when a specific use case diagram is selected in the 
listview I will create the UseCaseWidgets using the CUseCaseWidgetDatas for 
the specific diagram. 
The same reason applies to all the other *Data classes.

Also, the use of this Data classes simplifies the way the clipboard works.

Regards,

-- 
---------------------------------------------------------------------
P. Eng. Gustavo Madrigal
Technology Research Department Manager
Nextphere Corp.
	Are you ready for the Next Business Sphere?
http://www.nextphere.com
Cel: (506) 397-7640
---------------------------------------------------------------------




More information about the umbrello-devel mailing list