1.3 Learning the UML
Learning the UML can be quite overwhelming given the breadth and depth of the language and its lack of a process if you don't know on what parts of the UML to focus. But by understanding how the UML is related to process, you know to focus on:
In addition, when learning the UML, it is important to focus on the essentials and understand how to effectively and successfully apply the UML to model systems rather than bog yourself down in trying to learn every comprehensive aspect of the language.
For the remainder of the book, I will use a project management system case study to help you learn how to read, understand, write, and effectively and successfully apply the UML. The objective is not to create a complete or comprehensive model from which to implement the system, but to explore the case study and learn how to effectively and successfully apply the UML to communicate in real-world system development. I've included exercises, so you can practice and improve your skills.
Generally, the project management system in the case study provides functionality to manage projects and resources and to administer the system. It defines the following roles:
More detail about the case study is provided where appropriate throughout the remainder of the book. I purposely don't offer all the detail at once, so that you will see how different information is used with the various UML modeling techniques. That, in turn, will help you know when you should seek such detail, and it's a good illustration of how an iterative approach allows you to steadily gain more detail as a project develops.
Rather than introduce some contrived pseudomethodology or process, I will focus on how to use the various UML diagrams and their elements based upon what each diagram communicates and emphasizes. This will allow us to focus on how the different pieces of the language fit together rather than treat the UML as a hodgepodge of different types of diagrams without any underlying scheme, and you'll be able to more effectively and successfully apply the UML. Chapter 2 focuses on the object-oriented paradigm and how the different pieces of the language fit together. Part II focuses on functional requirements and modeling the structure of the project management system using the UML's structural modeling techniques. Part III focuses on modeling the behavior of the project management system using the UML's behavioral modeling techniques. Part IV introduces some of the other capabilities of the UML, including the OCL and facilities for extending the language.