Contents

Preface

Audience
Other Resources
Contacting Rational Technical Publications
Contacting Rational Technical Support

Introduction to Visual Modeling Using Rational Rose

Visual Modeling
Modeling with Rational Rose
Notations
Features
Extending Rational Rose

Getting Started with Rational Rose

Application Window
Title Bar
Control-Menu Box
Minimize, Restore, and Close Buttons
Menu Bar
Toolbar
Toolbox
Customizing the Toolbox
Browser
Documentation Window
Diagram Window
Overview Window
Specification Window
Printing Diagrams and Specifications
Print Preview
Apply Filter Dialog Box
Saving in Various Formats
Modifying the Rose.ini File

The Browser

Overview
Viewing the Browser
Hiding and Displaying the Browser
Positioning the Browser
Docking and Undocking the Browser
Navigating a Model
Expanding and Collapsing the Browser Tree
Creating and Editing Model Elements
Naming an Element in the Browser
Selecting Multiple Elements in the Browser
Sorting Packages in the Browser
Using Drag-and-Drop in the Browser
Browser to Browser Capabilities
Browser to Diagram Capabilities
Browser to Specification Capabilities

Introduction to Diagrams

Overview
Diagram Windows
Viewing Diagrams
Displaying Multiple Diagrams
Creating, Linking, Displaying, Renaming, and Deleting Diagrams
Creating a New Diagram
Linking a Diagram
Displaying a Diagram
Renaming a Diagram
Deleting a Diagram
Creating and Naming Model Elements
Creating an Element on the Diagram
Creating an Element in the Browser
Naming Model Elements
Reassigning Model Elements
Manipulating Icons
Selecting Icons
Deselecting Icons
Resizing an Icon
Moving One or More Icons
Changing from One Kind of Element or Relationship to Another
Cutting, Copying, and Pasting Icons
Deleting Model Elements
Shallow Delete
Deep Delete
Correlations
Creating Correlations Between Elements
Bending a Correlation Icon
Reconnecting a Correlation Icon from One Icon to Another
Naming a Correlation
Laying Out a Diagram
Laying Out All Shapes in a Diagram
Laying Out Selected Shapes in a Diagram
Adorning the Diagrams
Placing Text in a Diagram
Manipulating Text
Understanding Model Workspaces
Differences Between a Saved Model and a Model Workspace
Model Workspace Scenario
Saving a Model Workspace
Loading a Model Workspace

Introduction to Specifications

Displaying Specifications
Custom Specifications
Editing Specifications
Common Specification Elements
Dialog Boxes
General Tab
Detail Tab
Files Tab
Tab Buttons
Navigating the Tabs
Adding and Deleting Entries
Editing Entries

Class Diagrams and Specifications

Class Diagram Overview
Class Diagram Toolbox
Creating and Displaying a Class Diagram
Assigning a Class to Another Logical Package
Adding and Hiding Classes and Filtering Class Relationships
Class Specification
Class Specification--General Tab
Type
Parent
Stereotype
Export Control
Class Specification--Detail Tab
Cardinality
Space
Persistence
Concurrency
Abstract
Formal Arguments
Class Specification--Operations Tab
Show Inherited
Class Specification--Attributes Tab
Class Specification--Relations Tab
Class Specification--Component Tab
Class Specification--Nested Tab
Class Specification--Files Tab
Class Attribute Specification
Class Attribute--General Tab
Class
Show Classes
Type
Initial Value
Class Attribute--Detail Tab
Containment
Static
Derived
Operation Specification
Operation Specification--General Tab
Return Type
Operation Specification--Detail Tab
Arguments
Protocol
Qualifications
Exceptions
Size
Time
Concurrency
Operation Specification--Preconditions Tab
Preconditions
Interaction Diagram
Operation Specification--Semantics Tab
Semantics
Interaction Diagram
Operation Specification--Postconditions Tab
Postconditions
Interaction Diagram
Operation Specification--Files Tab
Parameter Specification
Defining a New Parameter
Parameter Specification--General Tab
Default
Owner
Type
Association Specification
Association Specification--General Tab
Parent
Stereotype
Role
Element
Association Specification--Detail Tab
Derived
Link Element
Name Direction
Constraints
Association Specification--Role B General Tab
Association Specification--Role A and B Detail Tab
Navigable
Aggregate
Static
Friend
Containment of
Keys/Qualifiers
Generalize Specification
Generalize Specification--General Tab
Friendship Required
Virtual Inheritance
Realize Specification
Realize Specification--General Tab
Dependency Specification
Dependency Specification--General Tab
Has Relationship (Booch Only)
Has Specification--General Tab
Has Specification--Detail Tab
Key/Qualifier Specification
Defining a New Key/Qualifier
Key/Qualifier Specification--General Tab
Owner

Use-Case Diagrams and Specifications

Use-Case Diagram Overview
Actors
Use Case
Flow of Events
Relationships
Association
Dependency
Extend Stereotype
Include Stereotype
Refine Stereotype
Generalization
Use-Case Diagram Toolbox
Use-Case Specification
Use-Case Specification--General Tab
Name
Package
Rank
Abstract
Use-Case Specification--Diagram Tab
Diagram List
Use-Case Specification--Relations Tab
Relations
Generalize Specification
Generalize Specification--General Tab
Stereotype
Friendship Required
Virtual Inheritance
Actor Specification

State Machine Diagrams and Specifications

Creating and Displaying a State Machine Diagram
State Machine Specification
State Machine Specification--General Tab
Statechart Diagram Overview
Creating a Statechart Diagram
Automatic Transmission Example
Activity Diagram Overview
Using Activity Diagrams
Understanding Workflows
Creating an Activity Diagram
Workflow Modeling
Purposes of Workflow Modeling
Defining a Workflow
Modeling a Workflow with an Activity Diagram
Activity Diagram-Specific Model Elements
Activities
Swimlanes
Objects
Object Flow
Understanding Objects and Object Flows
Changing the State of an Object
Shared State Machine Diagram Model Elements
States
Start and End States
Transitions
Transition to Self
Decisions
Synchronizations
Swimlane Specification
Swimlane Specification--General Tab
State and Activity Specification
State and Activity Specification--General Tab
State and Activity Specification--Actions Tab
Type
Action Expression
State and Activity Specification--Transitions Tab
State and Activity Specification--Swimlanes Tab
Action Specification
State Transition Specification
State Transition Specification--General Tab
Transition Specification--Detail Tab
Guard Condition
Transition Between Substates
Decision Specification
Decision Specification--General Tab
Decision Specification--Transitions Tab
Decision Specification--Swimlanes Tab
Synchronization Specification
Synchronization Specification--General Tab
Synchronization Specification--Transitions Tab
Object Specification (Activity Diagrams)
Object Specification--General Tab
Object Specification--Incoming Object Flows Tab
Object Specification--Outgoing Object Flows Tab
Object Flow Specification
Object Flow Specification--General Tab

Interaction Diagrams and Specifications

Interaction Diagram Overview
Creating and Displaying an Interaction Diagram
Collaboration Diagrams
Sequence Diagrams
Toolboxes
Collaboration Diagram Toolbox
Sequence Diagram Toolbox
Common Collaboration and Sequence Diagram Icons
Object
Messages
Message Numbering
Assigning an Operation to a Message
Collaboration-Specific Toolbox Icons
Links
Sequence Numbering
Top-Level Numbering
Hierarchical Numbering
Scripts
Focus of Control
Displaying Focus of Control
Coloring Focus of Control
Moving the Focus of Control
Nested Focus of Control
Creating Alternative Diagrams
Toggling between Interaction Diagrams
Creating a Collaboration Diagram from a Sequence Diagram
Creating a Sequence Diagram from a Collaboration Diagram
Object Specification (Interaction Diagrams)
Object Specification--General Tab
Name
Class
Persistence Field
Multiple Instances Check Box
Class Instance Specifications
Class Instance Specification--General Tab
Class
Link Specification
Link Specification--General Tab
Assoc
Supplier and Client Visibility
Shared
Role
Link Specification--Messages Tab
Icon
Sequence
Message Name
Receiver
Message Specification
Message Specification--General Tab
Class
Message Specification--Detail Tab
Synchronization
Frequency

Component Diagrams and Specifications

Component Diagram Overview
Creating and Displaying a Component Diagram
Component Diagram Toolbox
Assigning a Component to Another Package
Component Specification
Component Specification--General Tab
Stereotype (Component)
Language
Component Specification--Detail Tab
Declarations
Component Specification--Realizes Tab
Show All Classes
Classes
Language
Component Specification--Files Tab
Package Specification
Package Specification--General Tab
Package
Package Specification--Detail Tab
Component Diagrams
Package Specification--Realizes Tab
Package Specification--Files Tab

Deployment Diagrams and Specifications

Deployment Diagram Overview
Creating and Displaying a Deployment Diagram
Deployment Diagram Toolbox
Processor Specification
Processor Specification--General Tab
Processor Specification--Detail Tab
Characteristics
Processes
Scheduling
Device Specification
Device Specification--General Tab
Device Specification--Detail Tab
Connection Specification
Process Specification
Process Specification--General Tab
Processor
Priority

Stereotypes

Overview
Benefits to Using Stereotypes
User-Defined Stereotypes
Viewing Stereotypes
Diagram Tab
Browser Tab
Creating Stereotypes
Creating a New Stereotype for the Current Model
Creating a New Stereotype Configuration File
Creating a New Stereotype for All Rose Models
Creating Stereotype Icons
Creating a Diagram Icon
Creating Diagram Toolbox and List View Icons
Adding Stereotypes to the Diagram Toolbox
Subsystem Stereotype Package
Subsystem Stereotype Sample

Framework Wizard Add-In

Activating the Framework Wizard Add-In
Creating a New Model from a Framework
Creating and Deleting Frameworks
The Framework Library
Creating a New Framework
Changing or Deleting a Framework

Type Library Importer

What Is a Type Library?
Why Would I Want to Import Type Libraries into the Model?
What COM Components Can Be Imported into the Model?
How Is a Type Library Presented?
A Type Library in Rational Rose
Type Library in the OLE Viewer in Visual Studio
Type Library in the Object Browser in Visual Basic
Importing a Type Library into the Model
Importing a New Version of an Existing Type Library
Hiding Type Library Items
Show Hidden Items Selected
Show Hidden Items Cleared
Using an Imported Type Library
Adding Class Members to a Quick Import Type Library
Customizing the Type Library Importer

Upgrading from a Previous Release

Upgrading from Rational Rose 3.0 or Later
Upgrading from Releases Prior to Rational Rose 3.0
Understanding Petal File Versions

Index