LSI ES:E
Departament de Llenguatges i Sistemes Informtics
Laboratori Enginyeria del Software : Especificaci Laboratori Enginyeria del Software : Especificaci
1
LESE-3 Tutorial con Rational Rose
Elaboracin de un Diagrama de Clases
Sergio Prez Tobalina
Rubn Gonzlez Blanco
LSI Laboratori ES:E
2
LESE-3 Tutorial con Rational Rose
Objetivos
Toma de contacto con Rational Rose
Conocer funciones generales de
Rational Rose para modelar
Realizar un Diagrama de Clases con
Rational Rose
1 parte: guiada
2 parte: alumno
sealadas
con icono
LSI Laboratori ES:E
3
LESE-3 Tutorial con Rational Rose
Objetivo del Laboratorio: Graphic Model
Especificar el Diagrama de Clases de Graphics:
LSI Laboratori ES:E
4
LESE-3 Tutorial con Rational Rose
Graphic Objects
SelectionGraphic
Circle
Panel
LSI Laboratori ES:E
5
LESE-3 Tutorial con Rational Rose
Graphic Model: Elementos UML
Generalizacin
Asociacin Agregacin
Asociacin
Clase Abstracta
Clase Concreta
operacin concreta
atributo
operacin abstracta
Dependencia
rol
multiplicidad
navegabilidad
LSI Laboratori ES:E
6
LESE-3 Tutorial con Rational Rose
Iniciar Rose
Iniciar Rose
Start Programs Rational Rose
Rational Rose
LSI Laboratori ES:E
7
LESE-3 Tutorial con Rational Rose
Crear un Nuevo Modelo
Al iniciar Rose
Una vez en Rose: File New
LSI Laboratori ES:E
8
LESE-3 Tutorial con Rational Rose
Crear un Nuevo Modelo
De la nada (from scratch)
Cancel
Utilizando uno Plantilla o Framework
Select <modelo>
OK
Desde sistema ficheros
Existing
OR
Recent
LSI Laboratori ES:E
9
LESE-3 Tutorial con Rational Rose
Guardar Modelo
File Save o Save As
LSI Laboratori ES:E
10
LESE-3 Tutorial con Rational Rose
Crear un Diagrama de Clases
Browser: Logical View Men Botn Derecho New Class
Diagram
Men : Browse Class Diagram
LSI Laboratori ES:E
11
LESE-3 Tutorial con Rational Rose
Creacin de Diagramas
Seleccionar <View> en Browser
Men Botn Derecho New <diagrama>
Men Browse <diagrama>
LSI Laboratori ES:E
12
LESE-3 Tutorial con Rational Rose
Toolbar Diagrama de Clases
Cualquier elemento del diagrama se puede crear
cargando el puntero del ratn con una Tool de la Toolbar
Drag&Drop sobre el diagrama
texto
clase
interfaz
asociacin
clase asociacin
paquete
Ancla Nota
dependencia o instanciacin
Nota
generalizacin
realizacin
Puntero
LSI Laboratori ES:E
13
LESE-3 Tutorial con Rational Rose
Crear una Clase
Carga Puntero de Ratn con Class Tool
Toolbar : Click Class button Icon
Men: Tools Create Class
Click en Diagram Window
OR
Browser : Sel. Logic View men botn derecho New Class
(Sel. Clase Drag &Drop en Diagram Window)
LSI Laboratori ES:E
14
LESE-3 Tutorial con Rational Rose
Creacin Elementos Diagrama
Cargar Puntero Ratn
Click en botn Toolbar
Sel. Diagrama en Browser botn derecho
New <elemento>
Men Tools Create
Click en diagrama
LSI Laboratori ES:E
15
LESE-3 Tutorial con Rational Rose
Especificar nombre de la clase
Directamente en el diagrama
Doble click en la clase Class Specification for
NewClass
LSI Laboratori ES:E
16
LESE-3 Tutorial con Rational Rose
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
LSI Laboratori ES:E
17
LESE-3 Tutorial con Rational Rose
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, Mens de Specification
Window
Sel. Elemento (Browser,Diagram Window) menu boton derecho
new <subelement> (atributo, operacin...) OR <Propiedad> OR
<TabWindow>
LSI Laboratori ES:E
18
LESE-3 Tutorial con Rational Rose
Clase Graphic
Sincronizados
Un elemento
Puede estar en mltiples diagramas
Solo una instancia en el Browser
LSI Laboratori ES:E
19
LESE-3 Tutorial con Rational Rose
Borrar un elemento
Shallow Delete
Edit Delete
Seleccionar elemento en diagrama tecla DEL
Deep Delete
Seleccionar elemento en Browser click boton
derecho Delete
Seleccionar elemento en diagrama Click
CTRL+D
NO SE BORRA DEL MODELO!! (solo del diagrama,no del Browser)
SE BORRA DEL MODELO!! (desaparece del diagrama y del Browser)
LSI Laboratori ES:E
20
LESE-3 Tutorial con Rational Rose
Crear una Operacin
Diagrama: Selecc clase Men botn derecho ratn
New Operation
Browser: Selecc clase Men botn derecho ratn
New Operation
LSI Laboratori ES:E
21
LESE-3 Tutorial con Rational Rose
Especificar Operacin
Directamente: escribir la signatura del mtodo
<< estereotipo>> nombreOperacion( param: Tipo,...) : Tipo Retorno
Indirectamente: Class Specifcation tab Operations men botn
derecho Insert (operation)
Doble click sobre mtodo Operation Specification Name Details men
botn derecho Insert (parametro)
LSI Laboratori ES:E
22
LESE-3 Tutorial con Rational Rose
Especificar Operacin
Nombre
Parmetros
Nombre,Tipo
Tipo de retorno
Accesibilidad
Public, Protected, Private
Abstracta o Concreta
(checkbox Abstract in Details TabWindow)
LSI Laboratori ES:E
23
LESE-3 Tutorial con Rational Rose
Crear un Atributo
Diagrama: Selecc clase Men botn derecho ratn
New Attribute
Browser: Selecc clase Men botn derecho ratn
New Attribute
Browser: se actualiza con los cambios en Diagram Window
LSI Laboratori ES:E
24
LESE-3 Tutorial con Rational Rose
Especificar Atributo
Directamente: escribir la signatura del attributo
<< estereotipo>> nombreAtributo : Tipo
Indirectamente: Class Specifcation tab Attributes men botn
derecho Insert ( attributo)
Doble click sobre atributo Attribute Specification Name Type
LSI Laboratori ES:E
25
LESE-3 Tutorial con Rational Rose
Especificar un Atributo
Nombre
Tipo
Accesibilidad
Public, Protected,Private
Clase Abstracta o Concreta
(checkbox Abstract in Details TabWindow)
LSI Laboratori ES:E
26
LESE-3 Tutorial con Rational Rose
Relacionar Clases
Relaciones UML en Rose
Generalizacin
Asociacin
Agregacin
Composicin
Dependencia
LSI Laboratori ES:E
27
LESE-3 Tutorial con Rational Rose
Relaciones UML en Rose
A B
Asociacin
Generalizacin (herencia)
A B
A B
1..n
roleA roleB
multiplicidad
Navegabilidad de B a A
LSI Laboratori ES:E
28
LESE-3 Tutorial con Rational Rose
Relaciones UML en Rose
Asociacin de Agregacin
Dependencia o Instanciacin
A B
A B
A B
Asociacin de Composicin
LSI Laboratori ES:E
29
LESE-3 Tutorial con Rational Rose
Crear una Generalizacin
Cargar Puntero de Ratn con Tool
Click en boton Toolbar
Men Tools Create Generalization
Click en Diagram Window Unir elemento B con A
LSI Laboratori ES:E
30
LESE-3 Tutorial con Rational Rose
Especificar Generalizacin
Como el resto de elementos:
Doble click en elemento
Sel. elemento Men botn derecho Open
Specification o Shortcut a TabWindow/Propiedad
Sel. Sel elemento Men Browse
Specification
(nota: no aparece en Browser)
LSI Laboratori ES:E
31
LESE-3 Tutorial con Rational Rose
Crear una Asociacin
Cargar Puntero de Ratn con Tool
Click en botn Toolbar
Men Tools Create Generalization
Click en Diagram Window Unir elemento B con A
LSI Laboratori ES:E
32
LESE-3 Tutorial con Rational Rose
Especificar Asociacin
Como el resto de elementos:
Doble click, Sel (Browser Diagram Window) + Men botn
derecho, Men Browse)
Aparece como un elemento
ms en el Browser
LSI Laboratori ES:E
33
LESE-3 Tutorial con Rational Rose
Especificar Asociacin
Especificar
Navegabilidad
Accesibilidad
public (+), protected (#), private (-)
Multiplicidad (1..n, 0..n, etc...)
Agregacin
Nombre de roles
Nombre asociacin
Tipo de Contenido:
Referencia, Valor, no especificado
B A
0..n 1
-roleA
agregationName
0..n 1
-roleB
LSI Laboratori ES:E
34
LESE-3 Tutorial con Rational Rose
Organizacin del Modelo
Se puede organizar el modelo mediante
Paquetes
Graphic Model
Estructura de Carpetas
(agrupa, contiene elementos del modelo)
LSI Laboratori ES:E
35
LESE-3 Tutorial con Rational Rose
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 2000>)
Son elementos con entidad
LSI Laboratori ES:E
36
LESE-3 Tutorial con Rational Rose
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 mltiples
diagramas
Si es distinto paquete, indica de donde proviene
from <Paquete>
LSI Laboratori ES:E
37
LESE-3 Tutorial con Rational Rose
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
LSI Laboratori ES:E
38
LESE-3 Tutorial con Rational Rose
Ejercicio 1
Finalizar Diagrama de Graphics Model
LSI Laboratori ES:E
39
LESE-3 Tutorial con Rational Rose
Ejercicio 2
Modelado de un Plan de Trabajo (Proyecto):
Task
Milestone
Dependency
Resource
TaskGroup
Project
GanttView
LSI Laboratori ES:E
40
LESE-3 Tutorial con Rational Rose
Ejercicio 1.2
Pensar en el modelo de clases que
describe/representa un plan de trabajo
de un proyecto
Dibujarlo con Rational Rose