IN THIS CHAPTER
Choosing the right UML diagram
Working with the Model Explorer and other UML windows
Organizing models with packages
Working with shapes and model elements
Creating UML models
Creating different types of diagrams in UML models
Reverse-engineering source code into UML models
Developing a software architecture and design before you start writing code is an important step toward meeting the software system's requirements and making customers and end users happy. With upfront planning, software is much easier to develop and maintain in the long run. In modeling a software system, you progressively construct the details of that system, alternately decomposing high-level objectives and broad requirements into manageable pieces, and then assembling software components into packages and eventually a complete run-time system. Models and diagrams help you visualize both high-level architecture and low-level components, so you can make the most of design opportunities or spot potential problems early on.
The Unified Modeling Language (UML) is a popular and comprehensive approach to modeling software systems through each phase of the software development life cycle. The Object Management Group (
www.omg.org), which is a not-for-profit consortium, produces and maintains specifications for interoperable enterprise applications including UML. If you discover that the Visio UML tools fall short of your expectations, OMG publishes a list of available UML tools ...