View
226
Download
4
Category
Tags:
Preview:
Citation preview
Lect 1: Rational Rose Tutorial 1
Huáscar A. Sánchez
Rational Rose TutorialMaking use of UML Elements
Lect 1: Rational Rose Tutorial 2
Objectives
Get to know Rational Rose Get Familiar with general functions of
Rational Rose for Modeling Create a Class Diagram with Rational Rose
1st Part: Guided 2nd Part: Student
Pointed by an icon
Lect 1: Rational Rose Tutorial 3
Lab Objective: Graphic Model
Specify the Graphics Class Diagram:
Line
start : Pointend : Point
Draw(aPanel : Panel) : voidMove(to : Point) : void
Rectangle
anchor : Pointsize : Point
Draw(aPanel : Panel) : voidMove(to : Point) : void
Circle
origin : Pointradius : Float
Draw(aPanel : Panel) : voidMove(to : Point) : void GraphicSelection
Draw(aPanel : Panel) : voidMove(to : Point) : voidAdd(g : Graphics) : voidRemove(g : Graphics) : GraphicGetChildren(name : String) : Graphic
Graphic
Draw(aPanel : Panel) : voidMove(to : Point) : void
1..n
-selection
1..n
Panel
DrawPoint(p : Point)DrawLine(p1 : Point, p2 : Point)DrawCircle(c : Point, r : Float)OnPaint(e : PaintEvent)
0..n
#graphics
0..n
Lect 1: Rational Rose Tutorial 4
Graphic Objects
Graphic Selection
Circle
Panel
Lect 1: Rational Rose Tutorial 5
Graphic Model: UML Elements
Line
start : Pointend : Point
Draw(aPanel : Panel) : voidMove(to : Point) : void
Rectangle
anchor : Pointsize : Point
Draw(aPanel : Panel) : voidMove(to : Point) : void
Circle
origin : Pointradius : Float
Draw(aPanel : Panel) : voidMove(to : Point) : void GraphicSelection
Draw(aPanel : Panel) : voidMove(to : Point) : voidAdd(g : Graphics) : voidRemove(g : Graphics) : GraphicGetChildren(name : String) : Graphic
Graphic
Draw(aPanel : Panel) : voidMove(to : Point) : void
1..n
-selection
1..n
Panel
DrawPoint(p : Point)DrawLine(p1 : Point, p2 : Point)DrawCircle(c : Point, r : Float)OnPaint(e : PaintEvent)
0..n
#graphics
0..n
Generalization
AggregationAssociation
Abstract Class
Concrete Class
Concrete operation
attribute
Abstract operationDependency
role
multiplicity
navigability
Lect 1: Rational Rose Tutorial 6
Start Rational Rose
Start Rose Start Programs Rational Rose
Rational Rose
Lect 1: Rational Rose Tutorial 7
Create a New Model
When Rose is started When Rose has been started: File New
Lect 1: Rational Rose Tutorial 8
Create a New Model
From Scratch Cancel the loaded window
Using a Template or Frame-work Select <model> OK
From File System Existing
OR Recent
Lect 1: Rational Rose Tutorial 9
To Save a Model
File Save o Save As
Lect 1: Rational Rose Tutorial 10
Create a Class Diagram Browser: Logical View Right Button Menu New Class
Diagram
Menu : Browse Class Diagram
Lect 1: Rational Rose Tutorial 11
Creating more Diagrams
Select <View> in Browser Right Button Menu New <diagram>
Browse Menu <diagram>
Lect 1: Rational Rose Tutorial 12
Toolbar for Class Diagrams
Any element of a diagram can be created by placing the mouse pointer over a Tool in the Toolbar Drag&Drop over the diagram canvas
text
class
interface
asociation
Association class
packageNote Anchor
dependency or instantiation
Notegeneralization
realization
Pointer
Lect 1: Rational Rose Tutorial 13
Create a Class Place mouse pointer on Class Tool
Toolbar : Click Class button Icon Menu: Tools Create Class
Click on Diagram Window
OR Browser : Sel. Logic View right button menu New Class (Sel.
Clase Drag &Drop over Diagram Window)
Lect 1: Rational Rose Tutorial 14
Create Diagram Elements
Place Mouse Pointer Click on Toolbar button Sel. Diagram in Browser right button New <element> Menu Tools Create
Click on diagram
Lect 1: Rational Rose Tutorial 15
Specify Class Name
Directely in the diagram Double click on the class “Class Specification for
NewClass”
Lect 1: Rational Rose Tutorial 16
Specify Diagram Elements
Specification Window Allows you to specify a
model element (diagrams, classes, packages, relationship...) The attributes or sub-
elements to be specified depend on the selected element
In each TabWindow attributes and sub-elements would be specified
Lect 1: Rational Rose Tutorial 17
Specify Diagram Elements
Open Specification Window Double Click on element via Browser or Diagram Window Sel. element (Browser,Diagram Window) Mouse right button menu
Open Specification Sel. elemento Browse menu Open Specification
Shorcuts of TabWindows, Properties, WIndow Specification Menus Sel. Element (Browser,Diagram Window) right button Menu new
<subelement> (attribute, operation...) OR <Property> OR <TabWindow>
Lect 1: Rational Rose Tutorial 18
Class Graphic
Synchronized
An element•Can be in multiple diagrams•Only one instance in the Browser
Lect 1: Rational Rose Tutorial 19
Delete an Element
Shallow Delete Edit Delete Select element in diagram key DEL
Deep Delete Select element in Browser click right button Delete Select element in diagram Click CTRL+D
It is not deleted from the MODEL!! (only from the diagram, not from Browser)
It is deleted from the MODEL!! (It will disapear from the diagram and from the Browser)
Lect 1: Rational Rose Tutorial 20
Create an Operation
Diagram: Select class Mouse right button menu New Operation
Browser: Select class Mouse right button menu New Operation
Lect 1: Rational Rose Tutorial 21
Specify an Operation
Directly: write the signature of the method << stereotype>> nameOperation( param: Typo,...) : Return Type
Indirectly: Class Specifcation tab Operations right button menu Insert (operation) Double click on method Operation Specification Name Details right button menu
Insert (parameter)
Lect 1: Rational Rose Tutorial 22
Specify an Operation
Name Parameter
Name,Type Return Type Accesibility
Public, Protected, Private Abstract o Concrete
(checkbox Abstract in Details TabWindow)
MyClassObject
GetIsPublic()GetIsProtected()GetIsPrivate()
Lect 1: Rational Rose Tutorial 23
Create an Attribute Diagram: Select class Mouse right button menu New
Attribute Browser: Select class Mouse right button menu New
Attribute
Browser: would be updated in Diagram Window
Lect 1: Rational Rose Tutorial 24
Specify Attribute
Directly: write the signature of the attribute << stereotype>> nameAttribute : Type
Indirectly: Class Specification tab Attributes right button menu Insert ( attribute) Double click on attribute Attribute Specification Name Type
Lect 1: Rational Rose Tutorial 25
Specify Attributes
Name Type Accesibility
Public, Protected,Private Class Abstract or Concrete
(checkbox Abstract in Details TabWindow)
MyClass
isPublicisProtectedisPrivate
Lect 1: Rational Rose Tutorial 26
Class Relationships
UML Relationships in Rational Rose Generalization Association
Aggregation Composition
Dependency
Lect 1: Rational Rose Tutorial 27
UML Relationships in Rational Rose
AB
Association
Generalization (Inheritance)
AB
AB
1..n
roleAroleB
multiplicity
Navegability from B to A
Lect 1: Rational Rose Tutorial 28
Relaciones UML en Rose
Aggregation
Dependency or Instantiation
AB
AB
AB
Composition
Lect 1: Rational Rose Tutorial 29
Create Generalization
Place Mouse Pointer over Tool Click on button Toolbar Menu Tools Create Generalization
Click on Diagram Window Connect element B to A
Lect 1: Rational Rose Tutorial 30
Specify Generalization
Like the rest of the elements: Double click on element Sel. element right button menu Open Specification or
Shortcut of TabWindow/Property Sel. Sel element Browse menu Specification (note: it does appear on the Browser)
Lect 1: Rational Rose Tutorial 31
Create an Association
Place mouse pointer over Tool Click on Toolbar button Menu Tools Create Generalization
Click on Diagram Window Connect element B to A
Lect 1: Rational Rose Tutorial 32
Specify Association Like the rest of Elements:
Double click, Sel (Browser Diagram Window) + Right Button Menu, Browse menu)
It will appear as another elementelse in the Browser
Lect 1: Rational Rose Tutorial 33
Specify Association
Specify Navegability Accesibility
public (+), protected (#), private (-) Multiplicity (1..n, 0..n, etc...) Aggregation Role names Association names Content Type:
Reference, Value, no specify
B A
0..n1
-roleAagregationName
0..n1
-roleB
Lect 1: Rational Rose Tutorial 34
Model Organization
A model can be organized using packages
Graphic Model
“Folder” Structure
(group, include model elements)
Lect 1: Rational Rose Tutorial 35
Move Elements across Packages
Drag&Drop in each Package Browser from one to another One to One Pay attention: by moving the classes it does not
mean that associations will move as well!! (Rational Rose 2000>) They are elements with Identity
Lect 1: Rational Rose Tutorial 36
Copy Cut Paste Elements between diagrams
Within the same Rational Rose model we are talking about the diagrams figures The elements appearing in the Browser are the
only elements in the entire model. An element can appear in multiple diagrams
If it is a different package, indicate from where the package come from “from <Package>”
Graphic
Draw(aPanel : Panel) : void
(from Graphic Model)
Lect 1: Rational Rose Tutorial 37
Copy Cut Paste Elements between diagrams
Between two instances of Rational Rose Copy, Paste create the new elements
If they dont exist in the model destination If they dont exist in the model destination, but the paste
is in the package destination keep the existing if they exist in the model destination
and the paste is in the same package
Lect 1: Rational Rose Tutorial 38
Exercise 1
Finalize the Graphics Model
Lect 1: Rational Rose Tutorial 39
Exercise 2
Model of a Work Plan (Project) - Overview
ID Task Name Duration Start Finish
1
2
3
4 Preparación Fiesta 4 days Wed 10/1/03 Mon 10/6/03
5 Invitar Amigos 1 day Wed 10/1/03 Wed 10/1/03
6 Amigos Invitados 0 days Wed 10/1/03 Wed 10/1/03
7 Comprar 3 days Wed 10/1/03 Fri 10/3/03
8 Comprar Comida 2 days Wed 10/1/03 Thu 10/2/03
9 Comprar Bebida 3 days Wed 10/1/03 Fri 10/3/03
10 Limpiar Casa 1 day Mon 10/6/03 Mon 10/6/03
11 Todo Preparado 0 days Mon 10/6/03 Mon 10/6/03
RG
10/1
10/6
F S S M T W T F S S M T W T FSep 21, '03 Sep 28, '03 Oct 5, '03
Task
Milestone
Dependency
Resource
TaskGroup
Project
GanttView
Lect 1: Rational Rose Tutorial 40
Exercise 2
Think in a class model that describe a work-plan of a project – using Software stability concepts
Draw it with Rational Rose
Recommended