Welcome!

ColdFusion Authors: Maureen O'Gara, Hovhannes Avoyan, Yakov Fain, Pat Romanski, Liz McMillan

Related Topics: ColdFusion

ColdFusion: Article

Observed Benefits of the Unified Modeling Language

Using the UML with your current methodology

If you build a system that can be evolved elegantly and cost effectively, you are more likely to keep the relationship with the client, give them a better service, and make more money. Class Diagrams are great for organizing where functionality will go, and for helping to select consistent and meaningful property and method names.

Sequence Diagram
Have you ever developed an application and then had to come back and modify it six months later and tried to work out how on earth you did it? Well, the UML Sequence Diagram may be able to help you.

A Sequence Diagram models the sequence of interactions between objects. In some ways, it's a close cousin of an Activity Diagram, yet more focused on the behavior of software objects on a timeline (see Figure 4).

Sequence Diagrams are great for thinking through a design, illustrating an idea, and also getting back up to speed when changes need to be made six months or so after the system has gone into production. The design stands out so clearly.

Prior to finding out about the UML, I used my own non-standard diagrams. For me, the biggest single benefit of the UML has been the Sequence Diagram.

In the UML modeling tool I use, MagicDraw UML, I typically have a Class Diagram open at the same time as a Sequence Diagram. As I work on the design and identify additional methods, I add these to the appropriate class. These methods are then immediately available for me in the Sequence Diagram. As a result, it's much easier to create an elegant design and enhance productivity.

It also ensures that the design is the documentation, which ensures that the documentation is done as the design evolves, changing with it. The appropriate use of annotated UML diagrams can save time, which is a significant business benefit.

In addition, it becomes a pleasure to come back and add additional functionality at a later date.

Getting Started with the UML
Here's what worked for me and what I generally suggest to anyone interested in getting started:

  • Get a tool such as MagicDraw UML (free community edition and trial available). Tools have a lot of intelligence built in, which helps you get up to speed quickly on a couple of diagram types. The tool knows the specification. Have a look at the various symbols available in one or two of the main diagram types described above. Start using some of the symbols; you don't have to use them all. Grow into the tool over time. Learn the structure of the documentation and start reading it.
  • Get Martin Fowler's book, UML Distilled. Read it a couple of times. Great book, aptly titled. I found Martin's real-world experience and balanced view of using the UML very helpful.
Remember that the UML is a language, not a methodology, so don't think you have to change everything you already do successfully in order to get started with the UML. Take it one diagram at a time. Used effectively, the UML offers significant benefits.

Resources

More Stories By Duncan Jack

Duncan Jack started the Scottish CFUG (www.scottishcfug.com), which is now ably run by Andy Allan. Duncan recently founded Scottish Java (www.scottishjava.com), a brand new Java community. A Macromedia Certified Flash MX 2004 Developer, his main interests are in building innovative Rich Internet Applications using Flash, Flex, ColdFusion and JRun. An accomplished mountaineer, he holds a first-class honours degree in Civil Engineering and is currently studying for an M.Sc. in Advanced Computer Science.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.