Tutorial con Rational Rose
Elaboración de un Diagrama de Clases
1
Objetivos
Toma de contacto con Rational Rose
Conocer funciones generales de Rational Rose para señaladas
modelar con icono
Realizar un Diagrama de Clases con Rational Rose
1ª parte: guiada
2ª parte: alumno
2
Objetivo del Laboratorio:
Graphic Model
Especificar el Diagrama de Clases de Graphics:
Panel
Graphic
#graphics -selection
DrawPoint(p : Point)
DrawLine(p1 : Point, p2 : Point) 0..n Draw(aPanel : Panel) : void
1..n
DrawCircle(c : Point, r : Float) Move(to : Point) : void
OnPaint(e : PaintEvent)
Line Rectangle Circle
start : Point anchor : Point origin : Point
end : Point size : Point radius : Float
Draw(aPanel : Panel) : void Draw(aPanel : Panel) : void Draw(aPanel : Panel) : void
Move(to : Point) : void Move(to : Point) : void Move(to : Point) : void GraphicSelection
Draw(aPanel : Panel) : void
Move(to : Point) : void
3
Add(g : Graphics) : void
Remove(g : Graphics) : Graphic
GetChildren(name : String) : Graphic
Graphic Objects
Circle
SelectionGraphic
Panel
LESE-3 Tutorial con Rational Rose 4
Graphic Model: Elementos UML
Clase Abstracta
Asociación
Asociación Agregación
navegabilidad rol
Panel
Graphic
#graphics -selection
DrawPoint(p : Point)
DrawLine(p1 : Point, p2 : Point) 0..n Draw(aPanel : Panel) : void
1..n
DrawCircle(c : Point, r : Float) Move(to : Point) : void
OnPaint(e : PaintEvent) multiplicidad
Dependencia operación abstracta
Generalización
atributo
Clase Concreta
Line Rectangle Circle
start : Point anchor : Point origin : Point
end : Point size : Point radius : Float
Draw(aPanel : Panel) : void Draw(aPanel : Panel) : void Draw(aPanel : Panel) : void
Move(to : Point) : void Move(to : Point) : void Move(to : Point) : void GraphicSelection
Draw(aPanel : Panel) : void
Move(to : Point) : void
operación concreta Add(g : Graphics) : void
Remove(g : Graphics) : Graphic
LESE-3 Tutorial con Rational Rose 5
GetChildren(name : String) : Graphic
Iniciar Rose
Iniciar Rose
Start Programs Rational Rose
Rational Rose
6
Crear un Nuevo Modelo
Al iniciar Rose
Una vez en Rose: File New
7
Crear un Nuevo Modelo
De la nada (from scratch)
Cancel
Utilizando uno Plantilla o Framework
Select <modelo>
OK
Desde sistema ficheros
Existing
OR
Recent
8
Guardar Modelo
File Save o Save As
LESE-3 Tutorial con Rational Rose 9
Crear un Diagrama de Clases
Browser: Logical View Menú Botón Derecho New Class
Diagram
Menú : Browse Class Diagram
10
Creación de Diagramas
Seleccionar <View> en Browser
Menú Botón Derecho New
<diagrama>
Menú Browse <diagrama>
11
Toolbar Diagrama de Clases
Cualquier elemento del diagrama se puede crear
cargando el puntero del ratón con una Tool de la Toolbar
Drag&Drop sobre el diagrama
texto
Nota interfaz
clase generalización
asociación
Ancla Nota paquete
Puntero
dependencia o instanciación
LESE-3 Tutorial con Rational Rose clase asociación 12
realización
Crear una Clase
Carga Puntero de Ratón con Class Tool
Toolbar : Click Class button Icon
Menú: Tools Create Class
Click en Diagram Window
OR
Browser : Sel. Logic View menú botón derecho New Class
(Sel. Clase Drag &Drop en Diagram Window)
LESE-3 Tutorial con Rational Rose 13
Creación Elementos Diagrama
Cargar Puntero Ratón
Click en botón Toolbar
Sel. Diagrama en Browser botón
derecho New <elemento>
Menú Tools Create
Click en diagrama
LESE-3 Tutorial con Rational Rose 14
Especificar nombre de la
clase
Directamente en el diagrama
Doble click en la clase “Class Specification for
NewClass”
LESE-3 Tutorial con Rational Rose 15
Especificar Elementos
Diagrama
Specification Window
Permite especificar un
elemento del modelo
(diagramas, classes,
paquetes, relaciones...)
Los atributos o sub-
elementos a especificar
dependen del propio
elemento seleccionado
En cada TabWindow se especifican atributos o subelementos
16
Especificar Elementos
Diagrama
Open Specification Window
Doble Click en elemento a traves del Browser o
Diagram Window
Sel. elemento (Browser,Diagram Window) Menú
Boton derecho raton Open Sepecification
Sel. elemento Menú Browse Open Specfication
Shorcuts a TabWindows, Propiedades, Menús de
Specification Window
Sel. Elemento (Browser,Diagram Window) menu
boton derecho new <subelement> (atributo, operación...)
OR <Propiedad> OR <TabWindow>
LESE-3 Tutorial con Rational Rose 17
Clase Graphic
Un elemento
•Puede estar en múltiples diagramas
•Solo una instancia en el Browser
Sincronizados
LESE-3 Tutorial con Rational Rose 18
Borrar un elemento
Shallow Delete
Edit Delete
Seleccionar elemento en diagrama tecla DEL
NO SE BORRA DEL MODELO!! (solo del diagrama,no del Browser)
Deep Delete
Seleccionar elemento en Browser click
boton derecho Delete
Seleccionar elemento en diagrama Click
CTRL+D
SE BORRA DEL MODELO!! (desaparece del diagrama19 y del Browser)
Crear una Operación
Diagrama: Selecc clase Menú botón derecho ratón
New Operation
Browser: Selecc clase Menú botón derecho ratón
New Operation
LESE-3 Tutorial con Rational Rose 20
Especificar Operación
Directamente: escribir la signatura del método
<< estereotipo>> nombreOperacion( param: Tipo,...) : Tipo Retorno
Indirectamente: Class Specifcation tab Operations menú botón
derecho Insert (operation)
Doble click sobre método Operation Specification Name Details menú
botón derecho Insert (parametro)
LESE-3 Tutorial con Rational Rose 21
Especificar Operación
Nombre
Parámetros
Nombre,Tipo
Tipo de retorno
Accesibilidad MyClassObject
Public, Protected, Private GetIsPublic()
GetIsProtected()
GetIsPrivate()
Abstracta o Concreta
(checkbox Abstract in Details TabWindow)
22
Crear un Atributo
Diagrama: Selecc clase Menú botón derecho ratón
New Attribute
Browser: Selecc clase Menú botón derecho ratón
New Attribute
23
Browser: se actualiza con los cambios en Diagram Window
Especificar Atributo
Directamente: escribir la signatura del attributo
<< estereotipo>> nombreAtributo : Tipo
Indirectamente: Class Specifcation tab Attributes
menú botón derecho Insert ( attributo)
Doble click sobre atributo Attribute Specification Name
Type
LESE-3 Tutorial con Rational Rose 24
Especificar un Atributo
Nombre
Tipo
Accesibilidad MyClass
isPublic
Public, Protected,Private isProtected
isPrivate
Clase Abstracta o Concreta
(checkbox Abstract in Details TabWindow)
25
Relacionar Clases
Relaciones UML en Rose
Generalización
Asociación
Agregación
Composición
Dependencia
26
Relaciones UML en Rose
Generalización (herencia)
B A
Asociación
roleB roleA
B A
1..n
multiplicidad
B A
27
Navegabilidad de B a A
Relaciones UML en Rose
Asociación de Agregación
B A
Asociación de Composición
B A
Dependencia o Instanciación
B A
28
Crear una Generalización
Cargar Puntero de Ratón con Tool
Click en boton Toolbar
Menú Tools Create Generalization
Click en Diagram Window Unir elemento B con A
29
Especificar Generalización
Como el resto de elementos:
Doble click en elemento
Sel.
elemento Menú botón derecho
Open Specification o Shortcut a
TabWindow/Propiedad
[Link] elemento Menú Browse
Specification
(nota: no aparece en Browser)
30
Crear una Asociación
Cargar Puntero de Ratón con Tool
Click en botón Toolbar
Menú Tools Create Generalization
Click en Diagram Window Unir elemento B
con A
31
Especificar Asociación
Como el resto de elementos:
Doble click, Sel (Browser Diagram Window) + Menú botón derecho, Menú Browse)
Aparece como un elemento
más en el Browser
32
Especificar Asociación
Especificar
Navegabilidad
Accesibilidad
public (+), protected (#), private (-)
Multiplicidad (1..n, 0..n, etc...)
-roleB agregationName -roleA
Agregación B A
1 0..n
Nombre de roles
Nombre asociación
Tipo de Contenido:
Referencia, Valor, no especificado
LESE-3 Tutorial con Rational Rose 33
Organización del Modelo
Se puede organizar el modelo mediante Paquetes
Graphic Model (agrupa, contiene elementos del modelo)
Estructura de “Carpetas”
LESE-3 Tutorial con Rational Rose 34
Mover Elementos entre
Paquetes
Drag&Drop en el Browser de un paquete a otro
Uno a Uno
Ojo: moviendo las clases no se mueven las asociaciones!!
(Rational Rose 2007>)
Son elementos con entidad
LESE-3 Tutorial con Rational Rose 35
Copy Cut Paste de elementos entre
diagramas
Dentro de un mismo modelo Rational Rose se refiere a
las figuras de los diagramas
Los elementos que aparecen en el Browser son únicos en
todo el modelo.
Un elemento puede aparecer en múltiples diagramas
Si es distinto paquete, indica de donde proviene “from
<Paquete>”
Graphic
(from Graphic Model)
Draw(aPanel : Panel) : void
LESE-3 Tutorial con Rational Rose 36
Copy Cut Paste de elementos entre diagramas
Entre dos instancias de Rational Rose Copy, Paste
crea los nuevos elementos
si no existen en el modelo destino
Si existen en el modelo destino pero el paste es en distinto
paquete.
Mantiene los existentes si existen en el modelo destino y
el paste es en el mismo paquete
LESE-3 Tutorial con Rational Rose 37
Ejercicio 1
Finalizar Diagrama de Graphics Model
LESE-3 Tutorial con Rational Rose 38
Ejercicio 2
Modelado de un Plan de Trabajo (Proyecto):
Project
GanttView Resource
ID Task Name Duration Start Finish
Sep 21, '03 Sep 28, '03 Oct 5, '03
F S S M T W T F S S M T W T F
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 RG
6
7
Amigos Invitados
Comprar
0 days
3 days
Wed 10/1/03
Wed 10/1/03
Wed 10/1/03
Fri 10/3/03
10/1
Dependency
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 10/6
TaskGroup Task
LESE-3 Tutorial con Rational Rose 39
Milestone
Ejercicio 1.2
Pensar en el modelo de clases que describe/representa
un plan de trabajo de un proyecto
Dibujarlo con Rational Rose
LESE-3 Tutorial con Rational Rose 40