| By Duncan Jack | Article Rating: |
|
| August 9, 2005 05:00 PM EDT | Reads: |
17,097 |
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.
Resources
- MagicDraw UML (includes comprehensive documentation and examples): www.magicdraw.com
- Fowler, M. (1999). UML Distilled. Addison-Wesley: www.pearsoned.co.uk/Bookshop/
- Sommerville, I. (2004). Software Engineering 7. Addison Wesley: www.pearsoned.co.uk/Bookshop/
- UML 2.0 Specification and useful links: www.uml.org.
Published August 9, 2005 Reads 17,097
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
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.
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Cloud Computing Journal: Adobe to Deliver ColdFusion in the Cloud
- Adobe May Cooperate with Apple to Transplant Flash Player to iPhone
- Adobe Flex Developer Earns $100K in New York City
- Adobe LiveCycle Enterprise Suite 2 for Cloud Computing
- Adobe Betas Target RIAs and Cloud Computing
- Adobe Cans Another 9% of its Workforce
- Moyea DVD4Web Converter V2.0 Converts DVD to FLV Fast and Synchronously with Watermarks
- Adobe Fiddles with its Web Apps
- Adobe & Salesforce Cut Cloud Deal
- Hosting.com Launches ColdFusion 9 in the Cloud
- The Real Time Infrastructure Ultimatum
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Eval JavaScript in a Global Context
- Fig Leaf Software to Exhibit at Government IT Conference & Expo
- Cloud Computing Journal: Adobe to Deliver ColdFusion in the Cloud
- Is Microsoft as Free as Open Source?
- Adobe Reader Sued
- The Planet Named “Bronze Sponsor” of Cloud Computing Expo
- Microsoft Expression Web Has Got Game
- Adobe May Cooperate with Apple to Transplant Flash Player to iPhone
- Adobe Flex Developer Earns $100K in New York City
- Bruce Chizen Joins Voyager Capital as Venture Partner
- My Top Seven Wishes From Adobe MAX 2009
- The Next Programming Models, RIAs and Composite Applications
- Where Are RIA Technologies Headed in 2008?
- Constructing an Application with Flash Forms from the Ground Up
- AJAX World RIA Conference & Expo Kicks Off in New York City
- CFEclipse: The Developer's IDE, Eclipse For ColdFusion
- Personal Branding Checklist
- Adobe Flex 2: Advanced DataGrid
- Has the Technology Bounceback Begun?
- Building a Zip Code Proximity Search with ColdFusion
- i-Technology Viewpoint: We Need Not More Frameworks, But Better Programmers
- The Asynchronous CFML Gateway
- Web Services Using ColdFusion and Apache CXF


























