Home > SOA Tips > > UML Basics
SOA Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 


UML Basics


Mike Pontacoloni
11.06.2009
Rating: --- (out of 5)


News on SOA, EAI, Web services
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


Unified Modeling Language (UML) is a standardized visual notation that can be used to represent all stages of a software engineering project. The standardized language allows for greater communication and cooperation between groups and companies that use it. The UML standard is managed by the Object Management Group (OMG).

UML began as a collaborative effort between software engineers at Rational Software during the mid-nineties. Grady Booch, James Rumbaugh, and Ivar Jacobson, known as the three amigos, had each independently created methods for diagramming object-oriented software and sought to combine their efforts into a unified approach. The three were tasked by Rational to create a non-proprietary modeling language, and with the help of a consortium of engineers from other companies, they completed UML 1.0 in 1997. UML 2.0 was adopted by OMG in 2005.

UML diagrams are divided into two broad categories: structure diagrams and behavior diagrams. Structure diagrams are used to map the relationships and dependencies between physical components, code, and data. Behavior diagrams model the actions that must occur within a system. These two categories are further broken down into 13 diagram types. SmartDraw provides explanations of each diagram type on its website.

A company that uses UML will not likely use every diagram type. Some are more popular than others. According to OMG Technical Director Andrew Watson, Use-case diagrams and Class diagrams are some of the most frequently used diagram types. Use-case diagrams, as well as activity diagrams, are often used to map different levels of business interaction between human actors and systems. Class diagrams are used to represent the static structure of programming objects in a system.

Profiles and tools allow for sp...


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
Modeling
BPMN 2.0 adds notation to handle BPM choreography
Enterprise modeling and IT planning in one application
No Magic and Blu Age partner to marry UML modeling and code generation
APM suite from Oracle updated with Composite Application Monitor and Modeler
Call for UML roadmap!
Will UML make way for AML?
EA modeling tools communicate across disciplines
Special Report: Microsoft's Oslo SOA modeling initiative

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


ecialization

While UML is a general language designed for use in a variety of settings, specialized UML profiles have been created to model specific types of software engineering projects. UML profiles contain unique elements not found in standard UML that make modeling specific tasks easier. UML MARTE, for example, is designed to model real-time and embedded systems. Others include UML Profile for Enterprise Application Integration and UML Profile for System on a Chip.

Given a mutual commitment to compatibility and flexibility, it's no surprise that a UML profile exists for modeling SOA. SoaML was adopted by OMG earlier this year and is already included in several SOA tool sets. SoaML lets the user create models that identify service requirements, specify service functions, and define service consumers and providers, among other SOA-specific tasks. Standard UML can also be used for modeling SOA, but the SoaML profile is designed to make it much easier.

According to Watson, the OMG is not expected to adopt any new UML profiles in the near future, but the open access to the UML specification means that firms can create specialized tools guided by the UML spec. Several recent products, for example, include unique features built around the SoaML cartridge found in ModelPro, an open source product from ModelDriven.org.

The popularity of Use-case and Activity diagrams suggests that UML lends itself to Business Process Management (BPM). But according to Watson, UML is not widely used for BPM. Business Process Management Notation (BPMN), also administered by OMG, is more often used. The difference lies in the complexity of each language: "BPMN has been carefully designed for use by stakeholders. You could learn it [relatively easily]" Watson said. "UML is designed for technical experts."

Criticisms and Future
UML has received many criticisms since its inception. Some viewers have argued that UML suffers from a language bloat, as many of the diagrams are hardly used and some serve overlapping purposes. Others have suggested that, while UML is too difficult for business users to learn, it is too simple for programmers to create meaningful models. The scope of UML has also been criticized, as it can only be used to model individual software projects but not higher-level enterprise integration.

Despite these criticisms, UML remains the most popular modeling language for software engineering. In a recent paper published by the OMG, Watson cites a Gartner survey that reported UML was used in 70 percent of software development organizations world-wide. UML continues to be integrated into many tools and UML training courses are offered by many consultancies.

While UML remains popular, however, Watson pointed out that many companies who use UML do so in a limited way, and so are not receiving the potential business value UML can provide. In response, OMG created Model Driven Architecture (MDA). MDA is a software design approach done with UML that advocates using a platform independent model to fully design an application that is not governed by the technological resources around it. Because software modeled with the MDA is technology independent, it is often more flexible and reusable throughout the enterprise.

Profiles such as SoaML and initiatives such as MDA seem to mark the future direction of UML. Major revisions to the language itself are not expected. "You won't see a UML 3.0 anytime soon," said Watson. "There will be a series of minor revisions to UML. We'll add features, clean up bugs." Currently, OMG is working toward UML 2.3, which will enhance the underlying structure of UML. End-users of UML will not likely notice difference, said Watson, but the changes will help UML toolmakers design better software.


Rate this Tip
To rate tips, you must be a member of SearchSOA.com.
Register now to start rating these tips. Log in if you are already a member.




DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



SOA Trends and Strategy - SOA Education, SOA Development, SOA Implementations
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2001 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts