[OT] UML Tools for developing Revolution projects

Igor Couto igor at pixelmedia.com.au
Sat Aug 2 20:12:00 EDT 2003


Dear Wolfgang,

Thank you for your contribution to the thread!

On Saturday, August 2, 2003, at 05:04  AM, Wolfgang M. Bereuter wrote:

> Maybe I can help if you you tell me whats UML?

UML stands for "Unified Modelling Language".

It is a standard that describes 9 types of diagrams that a variety of 
professionals can use to specify, model and manage project development. 
It is made for and particularly suited to development of large-scale 
software projects using object-oriented languages.

The UML diagrams give developers a STANDARDISED way to think through 
and describe the various stages and tasks involved in software 
development. For instance, the first type of diagram that we generally 
use is called a "Use Case" diagram, which can be used to help analysts 
think through and document the requirements of the project. Once you 
start on the design stage, it is very likely you will be using "Class 
Diagrams" - which describe all the classes in your project, their 
attributes (properties) and their operations(functions and handlers). 
There are also "Activity Diagrams" - which help you think through the 
tasks required to complete a certain action; "Sequence Diagrams" - 
which help you determine the sequence of events that tasks have to be 
completed in; "Collaboration Diagrams" - which document the messaging 
and information sharing between your classes, and a few others.

The beauty of UML is that it is a formal, STANDARDISED "language". Most 
kids doing computing at University these days learn it during their 
first year of course - at least here, in Australia.

I started using it just recently, but have found that, indeed, it does 
help in the management of larger projects, and it does make the 
documentation easier to write.

There are several (too many, actually) resources on the internet about 
UML. I recommend a book called "UML: A Beginner's Guide", by Jason T. 
Roff, published by McGraw Hill. It steps you through each diagram, 
slowly introducing each new piece of notation, and putting it into 
context. Very easy to follow, and a good reference for later use.

> What kind of lines do you need?
>

I have found the lines in OmniGraffle to be a bit limiting in 2 areas.

1) Even though you can place labels at the end of the lines, the label 
positions are calculated as "percentages of the total length of the 
line". While that's fine if you want your label to be centered, or 
lightly off-center, that is very cumbersome if you want the lines to 
remain a certain position from the endpoints. Consider, for instance, 
diagrams that show 'multiplicity' information, such as 
Entity-Relationship Diagrams. The labels at the end of the lines show 
how many of one class/object/record are used by 1 of the object at the 
other end. When diagrams start to get complex, it is very easy to get 
over 50 of these lines (each one with 2 labels or more). If you move 
the objects around in your graph, the lines resize, and your labels go 
out of place - and then you're in for a good 30-45mins of label 
repositioning...

2) In UML, in Class diagrams, a class is represented by a rectangle, 
horizontally divided in 3 sections. The top section has the class' 
name, the middle section shows the class' properties, and the bottom 
section lists the class' functions and handlers. Because a function in 
one class might refer to functions and properties in another class, you 
use lines to indicate these connections. These lines, however, must go 
from the precise line of text that contains the function, to the 
precise line of text that contains the function/property in the other 
classes. In OmniGraffle, while you can specify a line going from one 
OBJECT to another, you cannot specify a line going from a LINE OF TEXT 
within that object, to another.

It is also possible to specify custom 'magnets' in OmniGraffle, so you 
can control where the line is starting from/going to in objects. 
However, these are not associated with the lines of text, either, and 
therefore don't automatically move or delete if you alter a line of 
text here and there. And, as you can imagine, if your diagram contains 
a few dozen classes (quite easy, even for smallish projects), then 
updating the lines becomes an absolute nightmare.

> I v worked more than ten years with Inspiration and now also with 
> Omnigraffle but Im not so familar with it like with Inspiration dooing 
> Diagramms. for me it seems not a problem to connect lines...

Thank you for the tip!

I've just downloaded the Demo version of Inspiration, and will give it 
a try!

Many thanks,

--
Igor de Oliveira Couto
----------------------------------
igor at pixelmedia.com.au
----------------------------------




More information about the use-livecode mailing list