Martin Fowler
is a pioneer in the application of object technology to business information systems. For the past twelve
Kendall Scott
is a technical writer who specializes in writing about financial and accounting applications. He is the principal of Software Documentation Wizards. He is also the
What Is the UML?
How We Got Here
Notations and Meta-Models
Why Do Analysis and Design?
Looking for More Information
The
Unified Modeling Language (UML)
is the successor to the wave of object-oriented analysis and design (OOA&D) methods that appeared in the late '80s and early '90s. It most directly unifies the
The UML is called a modeling language, not a method. Most methods consist, at least in principle, of both a modeling language and a process. The modeling language is the (
The process
The three amigos have also developed a unified process, which they call the Rational Unified Process (RUP). You don't have to use the Rational Unified Process in order to use the UML ”they are distinctly separate. In this book, however, I talk a little bit about process in order to put the techniques of the modeling language in context. Within this discussion, I use the basic steps and terms of the Rational Unified Process, but the text is
not
a description of the the Rational Unified Process. I find that I use many different processes, depending on my client and on the kind of software I am building. Although I think that a standard modeling language is
In the 1980s, objects
Like many developments in software, objects were driven by programming languages. Many people wondered how design methods would fit into an object-oriented world. Design
The key books about object-oriented analysis and design methods appeared between 1988 and 1992:
Sally Shlaer and Steve Mellor wrote a pair of books (1989 and 1991) on analysis and design; the material in these books has evolved into their Recursive Design approach (1997).
Peter Coad and Ed Yourdon also wrote books that developed Coad's lightweight and prototype-oriented approach to methods. See Coad and Yourdon (1991a and 1991b), Coad and Nicola (1993), and Coad et al. (1995).
The Smalltalk community in Portland, Oregon, came up with Responsibility-Driven Design (Wirfs-Brock et al. 1990) and Class-Responsibility-Collaboration (CRC) cards (Beck and Cunningham 1989).
Grady Booch had done a lot of work with Rational Software in developing Ada systems. His books featured several examples (and the best cartoons in the world of methods books). See Booch (1994 and 1996).
Jim Rumbaugh led a team at the research labs at General Electric, which came out with a very popular book about a method called Object Modeling Technique (OMT). See Rumbaugh et al. (1991) and Rumbaugh (1996).
Jim Odell based his books (written with James Martin) on his long experience with business information systems and Information Engineering. The result was the most conceptual of these books. See Martin and Odell (1994).
Ivar Jacobson built his books on his experience with telephone switches for Ericsson and introduced the concept of use cases in the first one. See Jacobson (1992 and 1995).
As I prepared to travel to Portland for the OOPSLA conference in 1994, the methods scene was pretty split and competitive. Each of the aforementioned authors was now informally leading a
Talk of standardization had surfaced, but nobody seemed willing to do anything about it. Some were opposed to the very idea of standards for methods. Others liked the idea but were not willing to put in any effort. A team from the OMG tried to look at standardization but got only an
For the OO methods community, the big news at OOPSLA '94 was that Jim Rumbaugh had left General Electric to join Grady Booch at Rational Software, with the
The
Grady and Jim proclaimed that "the methods war is over ”we won," basically declaring that they were going to achieve standardization the Microsoft way. A number of other methodologists suggested forming an Anti-Booch Coalition.
By OOPSLA '95, Grady and Jim had prepared their first public description of their merged method: version 0.8 of the
Unified Method
documentation. Even more significantly, they announced that Rational Software had bought Objectory, and that Ivar Jacobson would be joining the Unified team. Rational held a party to celebrate the release of the 0.8 draft that was very well attended. It was also quite a lot of fun, despite Jim Rumbaugh's
During 1996, Grady, Jim, and Ivar, now widely referred to as the three amigos, worked on their method, under its new
An OMG task force was
In January 1997, various organizations submitted proposals for a methods standard to facilitate the interchange of models. These proposals focus on a
There then followed a short period of arm-twisting while the various proposals were merged. The OMG adopted the resulting 1.1 as an official OMG standard. Since then, a Revision Task Force (RTF), led by Cris Kobryn, made some incremental revisions. Version 1.2 was cosmetic, but version 1.3, made public in early 1999, had more significance. The RTF expects to complete its work in the spring of 1999, releasing version 1.3 as the next official version of the UML.