Unified Modeling Language (UML) has taken the software development industry by storm. Widely supported by development and documentation tools, UML can be used on the one hand by programmers to record such things as the detailed design of classes in an object-oriented system, and on the other hand by business analysts to give the broad-brush picture of how a system interacts with users and other system.
UML has become the lingua franca of software development, and no one in the software industry can afford to be without knowledge of this powerfully expressive visual language. In Learning UML, Sinan Si Alhir introduces UML, places it in perspective, and then leads you through an orderly progress toward mastery of the language. You'll begin by learning how UML is used to model the structure of a system.
Many key UML concepts, especially that of the general (classes) versus the specific (objects), are illustrated in the chapter on clans and object diagrams. Next, you'll learn how to use use-case diagrams to model the functionality of a system. Finally, you'll see how component and deployment diagrams are used to model the way in which a system is deployed in a physical environment. Structural modeling answers the "who" and "what" questions of systems development.
Behavioral modeling addresses the questions of "when," "how," and "why." You'll learn how to use sequence and collaboration diagrams, how to model the interaction over time between system components, how to use state diagrams to describe the lifecycle of system components, and how to use activity diagrams to document control-flow and responsibility. Throughout this book, Sinan Si Alhir maintains a clear focus on UML the language and avoids getting caught up in the cobwebs of methodology.
His presentation is clear and concise. Each chapter ends with a set of exercises that you can use to test your growing knowledge of UML and its concepts. By the end of this book, and even before the end, you'll find yourself warming up to the simple yet expressive language that is UML, and using it to communicate effectively and professionally about all aspects of system design.