In the early 1990s, there were 3 competing methods proposed to support object-oriented development - these were based on work by Booch (Booch, 1994), Rumbaugh (Rumbaugh, 1991) and Jacobsen (Jacobsen,1993). These approaches had much in comment and they were unified in the 1990s to create the Unified Modeling Language (UML) and the associated unified design process (Rumbaugh, Blaha, Premerlani, Eddy and Lorensen, 1991)(Booch, Rumbaugh and Jacobson, 1999, Rumbaugh, Jacobson and Booch, 1999a, Rumbaugh, Jacobson and Booch, 1999b).
Since then, the UML has emerged as the standard notation for object-oriented modelling and design. UML 2 - an extension of the original UML - includes 13 different diagram types which allow the static and dynamic modelling of software. Essentially, there are three perspectives that can be represented in the UML
For a more detailed overview, including a discussion of UML deficiencies, see the Wikipedia article on the Unified Modelling Language.
Booch, G. (1994). Object-oriented Analysis and Design with Applications. Redwood City, Ca.: Benjamin Cummings.
Booch, G., Rumbaugh, J. and Jacobsen, I. (1999). The Unified Modeling Language User Guide. Reading, Mass.: Addison-Wesley.
Jacobsen, I., Christerson, M., Jonsson, P. and Overgaard, G. (1993). Object-Oriented Software Engineering. Wokingham.: Addison-Wesley.
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W. (1991). Object-oriented Modeling and Design. Englewood Cliffs, N.J.: Prentice-Hall.
Rumbaugh, J., Jacobsen, I. and Booch, G. (1999a). The Unified Modelling Language Reference Manual. Reading, Mass.: Addison-Wesley.
Rumbaugh, J., Jacobsen, I. and Booch, G. (1999b). The Unified Software Development Process. Reading, Mass.: Addison-Wesley.