6.2. The Unified Modeling Language (UML)

Describing a software system at a higher abstract level than the programming language code is a critical approach to understanding any non-trivial system. As a result, wide ranges of notations and languages to be used during analysis and design have been developed during the past 20 years. Unfortunately, while there may be many agreements across these languages on basic modeling concepts, the details of the languages are often substantially different.

Consequently, by the mid-1990s the software industry was faced with a wide variety of modeling notations and languages, each with its supporters and critics. Software development organizations faced a number of inefficiencies in translating designs from ...

Get Large-Scale, Component-Based Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.