[Uml-devel] Suggestions
Jörg Walter
ehrlich at ich.bin.kein.hoschi.de
Mon Oct 28 13:53:06 UTC 2002
Hi!
First of all, let me thank you for this great program. I am using it to do my
homework for the software engineering course at university.
The purpose of this mail is to give you a list of ideas and suggestions that
came into my mind while using umbrella for the first time. I am using
1.1beta2 (compiled using gcc 3.2). I hope an untainted "newbie" review will
be valuable to you in order to increase usability of Umbrello.
This (first) review is all about class diagrams. If you like, I will provide
reviews about other diagram types when I first use them.
The literature I use is the course itself, which refers to the official OMG
specification. It teaches a "reasonable" subset of UML.
I have added a personal rating as well: Issues marked with (*) are the ones I
would welcome most when they are addressed. Issues marked with (+) are issues
I would welcome but can live with. All other issues are things I will easily
adapt to, but would consider problematic for new users in general.
1.) Things not working as expected (but basically working)
- when snap-to-grid is enabled, moving corner points of association lines
does not snap; but even when snapping users should be able to create
exactly horizontal/vertical lines (*)
Suggestions: snap-to-grid as usual, but add virtual snap points aligned to
the start and end points of an association (different for each assoc)
- often, association lines between two classes can't be made exactly
horizontal/vertical with snap-to-grid on (*)
Suggestions: snap "concept" boxes to the grid at all 4 sides so that
start/end points always lie on grid lines; or make start/end points manually
movable (with snap-to-grid, of course); there are many other solutions
- selecting control points of associations is sometimes difficult (my screen
has ~ 96dpi, so it's nothing fancy) (+)
Suggestions: the "grab-rectangles" should have a bigger clickable area
(bigger display is not neccessary, IMHO)
- same for selecting association lines themselves (+)
- double-clicking an association line adds a control point instead of
bringing up the object properties - the latter was expected because
"concept" objects behave this way and even doubleclicking the text
of an association behaves this way.
Suggestion: doubleclick -> properties, Control-doubleclick -> add control
point
- double-clicking "line of text" objects does nothing (expected properties)
- creating an association is a bit poor in visual feedback - my first assoc
happened to be a self-referential assoc, so I never saw the line being
drawn; I didn't know if I was expected to drag or what else
Suggestion: on click, mark the selected box in some way; make dragging
instead of clicking not so surprising (set start point on mousedown
instead of clicked?)
- the "operations" page in the "concept" properties is very confusing -
there should be "add", "edit" and "remove" buttons as is usual for a
well-behaved editable list; this applies to other locations as well;
the context menu is too obscure for new users
- abstract class names should use italic font
2.) Things expected, but missing (or not found)
- can't delete control points for association lines (+)
- no bidirectional associations available (*)
associations without arrows count as unspecified, while
assocs with arrows at each end are explicitly bidirectional
- assocs can only incompletely be labeled: Properties allow only one
"Role" name, each end should be able to have a "Role" label; a
"Name" label is missing (*)
- stereotype names for dependencies («use», «import») (*)
- alternate form of «realizes»-dependency (dashed line with hollow
triangle at end)
- package boxes are missing (+)
- Object diagrams are not possible with the current "concept" and
"association" tools; object and assoc names are underlined, and
the class name may optionally be specified for objects
- "concept" boxes should have separation lines optional if the
operations or attributes sections are empty (+)
- static attributes/operations in classes (underlined)
- classes and associations can have constraints (written inside {},
usually below the association line or above the class) (*)
- derived attibutes and associations (name preceded by a "/")
- Undo! (*)
- in-place editing of labels would be cool - doubleclick and edit in-place
3.) Bugs
- loading a diagram may mess up start/end points of associations (see
attached screenshot - the lines didn't cross each other at save time)
(*)
- crash: load the attached .xmi file, grab the class, drag it around a
while, be sure to move the mouse outside of the umbrello window;
sometimes "only" the associations are messed up, sometimes it crashes
with a SIGFPE; the backtrace doesn't show anything useful
4.) Wild ideas
- how about a text field for the implementation of a given method?
- how about autogenerating get/set accessor pairs and other standardized
methods? (selectable per attrib, and customizable in order to accomodate
different languages&styles)
- kdevelop integration? (no idea how this could look, though)
- OCL parser (with conversion into target language using some kind of
assertion mechanism for constraints)?
- textual specification (perhaps implemented as language module, but cooler
when interchangable, updating the class view automatically)
I hope these remarks are useful to you. This is it for now. Overall I must say
this is a very promising program and it is well suited for my purposes and
work is easy most of the time.
Btw, I am pondering a python code generator module. Looks easy enough to write
one, so I think I will write it when I first use it for programming (as
opposed to learning/homework). How reusable is the class parser code? Is it
possible to plug in other languages for import?
Please CC me, I am not on the list.
--
CU
Joerg
PGP Public Key at http://ich.bin.kein.hoschi.de/~trouble/public_key.asc
PGP Key fingerprint = D34F 57C4 99D8 8F16 E16E 7779 CDDC 41A4 4C48 6F94
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mixed_up_startpoints.png
Type: image/png
Size: 3550 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/umbrello-devel/attachments/20021028/1145cafc/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Aufgabe1.xmi
Type: application/x-uml
Size: 4156 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/umbrello-devel/attachments/20021028/1145cafc/attachment.bin>
More information about the umbrello-devel
mailing list