What is it?
Unified Modelling Language is used to analyse requirements and design applications. It has been almost universally adopted in application development suites such as IBM Rational Rose, Borland Delphi Studio Architect, Microsoft Visual Studio .net and Oracle JDeveloper.
Because of its origins in object-oriented development, UML is an obvious choice for Java, C++ and C# , but it is also used for modelling non-object-oriented languages such as Cobol and Visual Basic.
Supporters claim that UML can model most types of application, running on virtually any combination of hardware, operating system, programming language, middleware and network. It can also be used for business modelling, and almost any other kind of information modelling.
Where did it originate?
By the early 1990s there were dozens of competing modelling methodologies. Then three giants of modelling, Rumbaugh, Jacobson and Booch, got together with the Object Management Group (OMG) to provide an open, standard language that could be used to develop and communicate application designs. UML was released in 1997.
The OMG defines and maintains the UML specification, which is available to any provider of software tools.
What is it for?
Modelling improves the design, reusability and maintainability of code, increasing the likelihood that large projects will succeed, and making it easier to see why they fail. UML is also used in small and medium-sized projects.
Models can be checked against end-user needs, business processes can be verified in advance, and first steps towards security and scalability can be taken before coding begins.
Some tools can execute models interpretatively to make sure they work: others generate code from UML. Some can analyse existing code and reverse-engineer it into a set of UML diagrams for documentation and maintenance.
What makes it special?
UML is language-independent and is used by both J2EE and .net developers, among others. UML models can be platform-independent or platform-specific. Being universally understood, it supports communication between developers, and between different application development toolsets. A developer with UML skills is equipped to work with any UML-compliant tool.
How difficult is it to master?
It depends whether you need just enough UML to get by with a particular tool, or want to make use of its full potential.
Recruiters complain that many people who claim to know UML fit the first category. The OMG recommends training that combines a particular tool with a particular methodology, but a generic approach would give you a better foundation for working with a range of UML tools. The Institution of Electrical Engineers offers a two-day introduction.
Where is it used?
In tools from Borland, Computer Associates, Honeywell, IBM-Rational, Microsoft, Oracle, Sybase and a host of smaller specialist companies. For a list, see www.objectsbydesign. com/tools/umltools_byplatform.html.
What systems does it run on?
UML is platform- and language-independent.
What is coming up?
The current standard is UML 2.0. However, the OMG is still finalising and rolling out parts of the specification, and UML 1.5 is still widely used.
Rates of pay
UML is used with a range of languages and development environments, including .net, J2EE and C++, and in a variety of roles from junior developer to software architect and business analyst. Salaries vary accordingly.
Courses are available from suppliers of UML tools, training organisations and independent UML specialists. See the OMG's site for a full list.
Links to free tutorials and downloadable material