| By Duncan Jack | Article Rating: |
|
| August 9, 2005 05:00 PM EDT | Reads: |
17,082 |
Over the past 12 months, I have observed significant benefits using the Unified Modeling Language (UML) when developing Rich Internet Applications using Macromedia technology.
This article first discusses what the UML is, then lists some of the main diagram types. It highlights how these diagrams can be used and draws attention to some of the benefits I've observed when using them. It concludes with a list of resources.
What Is the Unified Modeling Language
To understand the essence of the UML, consider the elements of its name:
- Unified: The result of unifying three leading approaches to system modeling in the 1990s
- Modeling: Concerned with the simplified representation of system structure and behavior
- Language: A language, not a methodology
At the time of writing this article, the UML 2.0 Specification was going through final editing, although you'll find that many books and tools support at least a subset of this specification. A draft version of the specification is available on the Object Management Group's UML Web site. Helpful note - don't try and learn the UML from this document, but it can make interesting reading!
The UML is not a methodology. This point is important. Some people think that you have to use every diagram type to model every aspect of system behavior all the time as part of a complex, cumbersome approach. Not at all. Simply make intelligent choices about what works for you. The UML is designed to serve you, not the other way around.
To illustrate this point, consider the ColdFusion Markup Language (CFML). CFML is a language, not a methodology. To derive full benefit from your use of CFML, adopt an effective methodology. You may adapt your approach on different projects. Use a subset of the CFML to build an application. Don't try and use every tag and every function in every application you build.
In the same way, blend the UML into the successful methodology you already use.
Main Diagram Types
Essentially, when you use the UML, draw diagrams and add notation to them. You may draw a UML diagram by hand on the back of a menu over lunch with a client or on a whiteboard. Equally, you may use a tool such as MagicDraw UML.
There are two main categories of UML diagrams defined by the UML 2.0 Specification:
- Structure Diagrams (six): Concerned with modeling static structure (architecture)
- Behavior Diagrams (seven): Concerned with modeling dynamic behavior
- Use Case Diagram (behavior)
- Activity Diagram (behavior)
- Class Diagram (structure)
- Sequence Diagram (behavior)
Use Case Diagram
Use Case Diagrams help to define the requirements of a system from the users' perspective - what they want to achieve when using the system.
It's deceptively simple yet incredibly powerful. Notes are added to the diagram, and may, of course, be supplemented by other documents where appropriate. This is exactly what architects and engineers in other disciplines do too, of course - use blueprints and drawings.
The user may be a human object or software object (if you are exposing a ColdFusion Component as a Web service for example). The basic syntax is very simple.
As you can see from Figure 1, the system is required to let a user check availability and book a ticket. Notice that the diagram doesn't go into the detail of how this will be accomplished. It helps them focus on desired outcomes and not the process. For me, that's the power of Use Case Diagrams - focusing minds and drawing out detail. Of course, it's important to remember that clients may:
- Not know exactly what they want or need
- Be reporting to a boss who has given them unclear, incorrect, and incomplete requirements
- Be part of a wider team amongst which requirements are fragmented
- Forget or contradict their own requirements
Published August 9, 2005 Reads 17,082
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 Reader Sued
- 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 Cans Another 9% of its Workforce
- Adobe Betas Target RIAs and Cloud Computing
- Adobe MAX 2009 Online
- Thinking of Flex in London
- Moyea DVD4Web Converter V2.0 Converts DVD to FLV Fast and Synchronously with Watermarks
- Adobe & Salesforce Cut Cloud Deal
- Adobe’s Aiming ColdFusion at Multiple Clouds
- Eval JavaScript in a Global Context
- Fig Leaf Software to Exhibit at Government IT Conference & Expo
- Is Microsoft as Free as Open Source?
- Cloud Computing Journal: Adobe to Deliver ColdFusion in the Cloud
- 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
- Bruce Chizen Joins Voyager Capital as Venture Partner
- My Top Seven Wishes From Adobe MAX 2009
- Adobe Flex Developer Earns $100K in New York City
- 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



































