[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