Table of Contents Previous Section Next Section

8.5 Evolution of Software Design Notations

This section conveys a basic familiarity with software notations that is essential for all architects. Understanding these notations enables the architect to understand the business implications of information technology. This section uses a subset of the UML including those features commonly used and commercially supported in computer-aided software engineering tools today. UML is necessary to facilitate communication in general computer literacy for interpreting architectural documentation.

UML was the initial result of the collaboration of three distinct modeling camps that existed in the 1980s through the mid-1990s and that were led by Grady Booch, James Rumbaugh, and Ivar Jacobson. The early goals were to agree upon a common modeling notation, even if there were some differences in methodology and the use of shared descriptions. The first product produced the Unified Method 0.8 in 1995; a year later Jacobson joined Booch and Rumbaugh's efforts, and they jointly produced Unified Method 0.9. The industry was quick to recognize the tremendous value of their efforts. As industry involvement grew, the three industry modeling gurus worked with OMG to have UML adopted as the standard industry modeling language in 1997. This spurred on still greater industry involvement, and the goals rapidly grew beyond simply developing a standard notation. The UML and OMG community realized the need to develop a standard methodology specification for managing UML repositories, interchanging UML models between repositories, and establishing extensions to address real-time and embedded systems concerns. While the basic UML specification was solid enough for general-purpose use and had become the industry standard, there were and will continue to be incremental adjustments made to the basic specification and many other complementary specifications to address changing industry needs.

Before UML, a large number of proprietary information technology diagrams and notations existed (Figure 8.1). In fact, every authoritative practitioner of object orientation and other information technologies had his or her own notation (e.g., Booch notation, Odell notation, object modeling technique [OMT] notation). It was a general consensus that approximately 70% of the concepts that were being modeled through these various notations were overlapping. It took the industry many years to discover how to unify notations in these common areas and to provide a way to extend the common notation to capture their specialized extension.

Figure 8.1. Object-Oriented Modeling Notations

graphics/08fig01.gif

The unified modeling language is a consensus standard of the Object Management Group. It captures the common concepts from the proprietary notations in a uniform manner and is designed for extensibility so that particular kinds of extensions can be defined consistent with the standard. UML contains and represents common notational conventions for information systems models. These standards include object-oriented models as well as more general business process models in other forms of information representation. Authorities such as David Harel have described the creation of UML as an industry standards achievement as significant as Algol 60. Today, most object-oriented software authorities and major vendors including IBM and Microsoft enthusiastically support UML.

    Table of Contents Previous Section Next Section