Within the space of just a few years, the Unified Modeling Language (UML) has emerged as the design medium of choice for developing large-scale distributed object applications. The UML's standard semantics and notation for describing object structure and behavior make it particularly well suited to this function. Augmented by the Rational Unified Process, an extensive set of software development guidelines, and the Rational Rose visual modeling tool, the UML greatly facilitates the process of developing quality object-oriented applications that meet both deadlines and requirements.
Fully updated and revised, Visual Modeling with Rational Rose 2002 and UML is a comprehensive introduction and tutorial that shows how to use a tool (Rational Rose 2002), a process (the Rational Unified Process), and a language (the UML) to successfully visualize, specify, document, and construct a software system. This timely new edition, written by the UML Evangelist at Rational Software Corporation, breaks the technology down to its essentials and provides clear explanations of each element. The book follows a simplified version of the Rational Unified Process from project inception through system analysis and design. The popular sample case study from the previous editions (a registration system for a fictional university) has been retained and updated, now better illustrating the iterative development process in practice, the UML in action, and the proper application of Rational Rose 2002. Newly updated appendixes demonstrate code generation and reverse engineering using Rational Rose 2002 with the C++, Visual C++, and Visual Basic programming languages. In addition, a handy glossary defines key object technology and software modeling terms.
Topics covered include:
Creating use cases
Finding objects and classes
UML stereotypes and packages
Scenarios, sequence diagrams, and collaboration diagrams
Discovering object interaction
Specifying relationships, association, and aggregation
Adding behavior and structure
Superclass/subclass relationships and inheritance
Object behavior and Harel state transition diagrams
Checking for model consistency
Specifying, visualizing, and documenting system architecture
The iteration planning process