Preface

Learning UML is the quintessential tutorial for the Unified Modeling Language (UML). The Unified Modeling Language is a language for communicating about systems: an evolutionary, general-purpose, broadly applicable, tool-supported, and industry-standardized modeling language for specifying, visualizing, constructing, and documenting the artifacts of a system-intensive process.

The UML was originally conceived by, and evolved primarily from, Rational Software Corporation and three of its most prominent methodologists, the Three Amigos: Grady Booch, James Rumbaugh, and Ivar Jacobson. The UML emerged as a standard from the Object Management Group (OMG) and Rational Software Corporation to unify the information systems and technology industry’s best engineering practices as a collection of modeling techniques.

The UML may be applied to different types of systems (software and non-software), domains (business versus software), and methods or processes. The UML enables and promotes (but does not require nor mandate) a use-case-driven, architecture-centric, iterative and incremental, and risk-confronting process that is object-oriented and component-based. However, the UML does not prescribe any particular system development approach. Rather, it is flexible and can be customized to fit any method.

The UML is significantly more than a standard or another modeling language. It is a “paradigm,” “philosophy,” “revolution,” and “evolution” of how we approach problem solving and systems. It is often said that the English language is the world’s “universal language”; now it is virtually certain that the UML will be the information systems and technology world’s “universal language.”

Audience

This book is for anyone interested in learning and effectively and successfully applying the UML, including analysts and end users who specify requirements, architects who broadly design systems that satisfy requirements, designers who detail designs, developers who implement designs, testers who verify and validate systems against requirements, managers (portfolio, product, program, and project) who orchestrate system development efforts, and others involved in system development. No specific prior knowledge or skills are assumed; however, familiarity with object-oriented concepts may be of benefit.

Get Learning UML 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.