Vous êtes sur la page 1sur 44

Rational ROSE

An introduction
Why modeling ?
The advantages of visual modeling

Modeling is a way of thinking about the problems using models organized around the
real world ideas.

understanding of various interrelationships of a system

fastest way to delineate the complex relationships

easier for developers, software architects and customers


to communicate on a common platform
UML
Unified Modeling Language
Why UML ?

Large enterprise applications

a way that enables


Scalability
security
robust execution under stressful conditions

code reuse
RATIONAL ROSE
WHAT WHY AND HOW !!!
History

ROSE = Rational Object Oriented Software Engineering

Rational Rose is a set of visual modeling tools for development of


object oriented software.

Rose uses the UML to provide graphical methods for non-


programmers wanting to model business processes as well as
programmers modeling application logic.

facilitates use of the Unified Modeling Language (UML), Component


Object Modeling (COM), Object Modeling Technique (OMT), and
Booch 93 method for visual modeling.
When to use Rational ROSE

Modeling can be useful at any point in the application development


process.

Initial Design Work (Requirement Analysis and Definition)


Use Cases
Class Diagrams
Sequence Diagram

Generality is Good in early design.


When to use Rational ROSE
Refinement of Early Models (System & Software Design)

Introduced in Middle of Project

Rational Rose includes tools for reverse engineering as well as


forward engineering of classes and component architectures.

You can gain valuable insights to your actual constructed


architecture and pinpoint deviations from the original design.

Rose offers a fast way for clients and new employees to become
familiar with system internals
Rational ROSE INTERFACE

Browser

Diagram
window

Diagram
toolbar

Documentation
Window
docked/floating
* Locked and unlocked modes of icons
** Customizing the tool bar Overview
Views and Diagrams ???

Views

Diagrams
The different Views
Rational Rose Interface

Specification
window

Log window
Options window

Options window

Stereotype display
Saving in various format
If you want to save a Rational Rose model as a different
format, you may select any of the following options from
the Save As Type list in the
Save Model To dialog box:
Models *.mdl (the current version of Rose)
Petal *.ptl
Rose 6.1/6.5 Model
Rose 4.5/6.5 Model
Rose 4.0 Model
Rose 3.0 Model
If you prefer, you can modify the rose.ini file to always save in a specified format, eliminating
the need to select Save As.

Difference between the saved model and workspace.


Add IN Manager
Extending Rational Rose
allows you to quickly and accurately customize Rational Rose
environment depending on development needs.
can install language (for example, Visual Basic, Visual Java, etc.) and
non- language (for example Microsoft Project) tools while in Rational
Rose.
Add-Ins can install:
Menus (.mnu file)
Help files (.hlp file)
Contents tab file (.cnt file)
Properties (.pty file)
Executables (.exe)
Script files (.ebs script source file and .ebx compiled script file)
OLE servers (.dll file)
Using the browser
Hiding and Displaying the Browser

Positioning the Browser


Docked and floating

Expanding and Collapsing the Browser Tree

Selecting Multiple Elements in the Browser

Navigating a Model

Creating and Editing Model Elements

Naming an Element in the Browser


Rational ROSE DIAGRAMS
Use Case

Collaboration

Sequence

Class

Statechart

Activity

Component

Deployment
Rational ROSE DIAGRAMS
Creating a diagram

Linking a diagram
1. Create a note on any diagram.
2. Display the browser if not already visible.
3. In the browser, locate the diagram that you want to link.
4. Drag the diagram icon from the browser onto the note icon on the diagram.
As you position the cursor onto the note, you will see the shortcut symbol (a
dotted square and a curved arrow inside a solid square).
5. The fully qualified name is displayed in an underline font.
Note: You may need to resize the note to see the entire name.
6. Change the text in the note (if desired) to something more meaningful to
your project.
7. Double-click on the note to view the linked diagram.
Displaying a diagram

Rename a Diagram

Deleting a diagram

Deleting in Rational ROSE

Shallow Delete
Click Edit > Delete
Press CTRL + X
Press the DELETE key

Note: If you perform a shallow delete on an element without a name,


Rational Rose will delete the model element completely out of the
model.

Deep Delete
Click Edit > Delete from Model
Press CTRL + D
Right-click on an element in the browser and then select Delete
from the shortcut menu
How to use Rational ROSE modeling in real life

Capture a Business Process Model.

Map a Use Case Model to the Business Process Model to define exact
functionality.

Refine the Use Cases - include requirements, constraints, complexity


rating, notes and scenarios.

From the inputs and outputs of the Business Process Model and the
details of the use cases, begin to construct a domain model (high level
business objects), sequence diagrams, collaboration diagrams and
user interface models.

From the domain model, the user interface model and the scenario
diagrams create the Class Model. This is a precise specification of the
objects in the system, their data or attributes and their behaviour or
operations.
How to use Rational ROSE modeling in real life

As the Class Model develops it may be broken into discrete packages and
components. So from the Class Model a Component Model is built to define
the logical packaging of classes.

Concurrent with the work you have already done, additional requirements
should have been captured and documented.

The Deployment model defines the physical architecture of the system.

Build the system: Take discrete pieces of the model and assign to one or more
developers. In a Use Case driven build this will mean assigning a Use Case to
the development team, having them build the screens, business objects,
database tables, and related components necessary to execute that Use
Case.

Track defects that emerge in the testing phases against the related model
elements - e.g.. System test defects against Use Cases, Unit Test defects
against classes & etc. Track any changes against the related model elements
to manage 'scope creep'.

Update and refine the model as work proceeds


RATIONAL ROSE
Diagrams in detail
How to use Rational ROSE
Selecting a diagram

Right-clicking as short cut

Adding diagram elements from toolbar and


browser

Setting up default stereotypes

Idea about the Reverse engineering

Deleting from a diagram and the browser


Use Case Diagram

Use Case Diagrams describe the functionality of a


system and users of the system. These diagrams
contain the following elements:

Actors, which represent users of a system,


including human users and other systems.

Use Cases, which represent functionality or


services provided by a system to users.
Class diagrams

Class Diagrams describe the static structure of a


system, or how it is structured rather than how it
behaves. These diagrams contain the following
elements.
Classes, which represent entities with common
characteristics or features. These features include
attributes, operations and associations.
Associations, which represent relationships that
relate two or more other classes where the
relationships have common characteristics or
features. These attributes and operations.
Class Specification
Export Control field.
Public, private, protected,
implementation

The Cardinality Concurrency


A class concurrency defines its semantics
in the presence of multiple threads of
control.
Object Diagram

Object Diagrams describe the static structure of a


system at a particular time. Whereas a class model
describes all possible situations, an object model
describes a particular situation. Object diagrams
contain the following elements:
Objects, which represent particular entities. These
are instances of classes.
Links, which represent particular relationships
between objects. These are instances of
associations.
Sequence Diagram

Sequence Diagrams describe interactions among classes. These


interactions are modeled as exchange of messages. These
diagrams focus on classes and the messages they exchange
to accomplish some desired behavior. Sequence diagrams are
a type of interaction diagrams. Sequence diagrams contain
the following elements:
Class roles, which represent roles that objects may play
within the interaction.
Lifelines, which represent the existence of an object over a
period of time.
Activations, which represent the time during which an object
is performing an operation.
Messages, which represent communication between objects.
Collaboration Diagrams

Collaboration Diagrams describe interactions among classes and


associations. These interactions are modeled as exchanges of
messages between classes through their associations.
Collaboration diagrams are a type of interaction diagram.
Collaboration diagrams contain the following elements.
Class roles, which represent roles that objects may play
within the interaction.
Association roles, which represent roles that links may play
within the interaction.
Message flows, which represent messages sent between
objects via links. Links transport or implement the delivery of
the message.
StateChart Diagrams

Statechart (or state) diagrams describe the states


and responses of a class. Statechart diagrams
describe the behavior of a class in response to
external stimuli. These diagrams contain the
following elements:
States, which represent the situations during the
life of an object in which it satisfies some
condition, performs some activity, or waits for
some occurrence.
Transitions, which represent relationships between
the different states of an object.
Activity Diagrams
Activity diagrams describe the activities of a class. These
diagrams are similar to statechart diagrams and use similar
conventions, but activity diagrams describe the behavior of a
class in response to internal processing rather than external
events as in statechart diagram.
Swimlanes, which represent responsibilities of one or more
objects for actions within an overall activity; that is, they
divide the activity states into groups and assign these groups
to objects that must perform the activities.
Action States, which represent atomic, or noninterruptible,
actions of entities or steps in the execution of an algorithm.
Action flows, which represent relationships between the
different action states of an entity
Object flows, which represent the utilization of objects by
action states and the influence of action states on objects.
Component Diagrams

Component diagrams describe the organization of


and dependencies among software implementation
components.

These diagrams contain components, which


represent distributable physical units, including
source code, object code, and executable code.
Deployment Diagram
Deployment Diagram
RATIONAL ROSE
A DEMO
When in doubt contact :-

Contact the tech support at the help desk in the labs.


Or else
Contact rational ROSE at
18880 Homestead Road
Cupertino, CA 95014
Telephone: 800-433-5444 or 408-863-4000
E-mail: support@rational.com

Or else
Mail me at asharm4@ilstu.edu
More References

UML Home Page - http://www.platinum.com/corp/uml/uml.htm

Online Tutorials for Rational Rose -


http://www.rational.com/products/rose/gstart/online.jtmpl

Rose Whitepapers
http://www.rational.com/products/rose/prodinfo/whitepapers/index.jtmpl

Rose Architect E-Magazine http://www.rosearchitect.com/mag/index.shtml

Visual modeling with Rational Rose and UML


Source Addison Wesley Object Technology Series Year of Publication: 1998 ISBN:0-201-31016-3
Author Terry Quatrani
Publisher Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA