The Unified Modeling Language (UML) is a language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems.
Rational Software, Microsoft, Hewlett-Packard, Oracle, Sterling, Software, MCI Systemhouse, Unisys, ICON Computing, IntelliCorp, i-Logix, IBM, ObjecTime, Platinum Technology, Ptech, Taskon, Reich Technologies and Softeam.
Developing a model for an industrial-strength software system prior to its construction or renovation is as essential as having a blueprint for large building. Good models are essential for communication among project teams and to assure architectural soundness. As the complexity of systems increase, so does the importance of good modeling techniques. There are many additional factors of a project's success, but having a rigorous modeling language standard is one essential factor.
Prior to the UML, there was no clearly leading modeling language. Users had to choose from among many similar modeling languages with minor difference in overall expressive power. Most of the modeling languages shared a set of commonly accepted concepts that were expressed slightly differently in the different notations. These differences did not greatly expand the power of modeling, but instead helped to fragment the OO industry, and unfortunately sometimes discourage new users from learning visual modeling. Users longed for the industry to adopt one, broadly supported modeling language suitable for general-purpose usage. They wanted a lingua franca for modeling.
Why did OMG choose to standardize this technology and how does it fit into the Object Management Architecture?
For years the object-oriented analysis and design market had languished, despite the perfect fit between object technology and systems analysis and design problems. Major battles raged between methodologists and vendors on methods, processes, and even specific graphical notations. In 1995, consolidation in the analysis & design tools market and key support from leading methodologists worldwide spurred the OMG into action. In a landmark meeting in Silicon Valley, OMG gathered in one room most of the world's leading methodologists or their representatives. At that point, methodologists and methods tools producers agreed that users needed a worldwide standard for metamodelling and notation. They agreed that the fast, consensus-based, open OMG process would be a perfect setting to accomplish those objectives. The result has already been hailed as the first major international standard for object-oriented modelling.
The OMG has traditionally focussed on infrastructure and layered vertical application domain standardized interfaces. UML represents a broadening of that focus into system design. While the UML is indeed a new direction for the OMG, it supports the primary goal of interoperability and portability through standardized design technologies. Standardized requirements capture, systems analysis and software design fit quite naturally into a standardized implementation architecture such as the Object Management Architecture.
UML is based on OMT, Booch, OOSE and other important modeling languages available. Those who have been trained on these three languages will have little trouble getting to work with UML. While software professionals trained in these languages may need some training to become fully productive with the UML, the benefit of working with an industry standard language will more than compensate for the time spent learning it.
UML does not guarantee project success but it does improve many things. For example, it significantly lowers the perpetual cost of training and retooling when changing between projects or organizations. It provides the opportunity for new integration between tools, processes, and domains. But most importantly, it enables developers to focus on delivering business value and provides them a paradigm to accomplish this.
Rational will continue to provide leadership in the definition of the UML. The OMG established a Revision Task Force to address any necessary minor revisions to the UML, upon which Rational is well represented. Any major revisions to the UML would likely occur via the OMG's open Request for Proposal process.