lese-3 - tutorial con rational rose
TRANSCRIPT
LSI ES:E
Departament de Llenguatges i Sistemes InformàticsLaboratori Enginyeria del Software : EspecificacióLaboratori Enginyeria del Software : Especificació
1
LESE-3 Tutorial con Rational Rose
Elaboración de un Diagrama de Clases
Sergio Pérez TobalinaRubén González 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
señaladas 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:
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
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
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
Generalización
Asociación AgregaciónAsociación
Clase Abstracta
Clase Concreta
operación concreta
atributo
operación abstractaDependencia
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ú Botón Derecho New Class Diagram
Menú : Browse Class Diagram
LSI Laboratori ES:E
11
LESE-3 Tutorial con Rational Rose
Creación de Diagramas
Seleccionar <View> en Browser Menú Botón 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 ratón con una Tool de la Toolbar Drag&Drop sobre el diagrama
texto
clase
interfaz
asociación
clase asociación
paqueteAncla Nota
dependencia o instanciación
Notageneralización
realización
Puntero
LSI Laboratori ES:E
13
LESE-3 Tutorial con Rational Rose
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)
LSI Laboratori ES:E
14
LESE-3 Tutorial con Rational Rose
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
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, Menús de Specification Window
Sel. Elemento (Browser,Diagram Window) menu boton derecho new <subelement> (atributo, operación...) OR <Propiedad> OR
<TabWindow>
LSI Laboratori ES:E
18
LESE-3 Tutorial con Rational Rose
Clase Graphic
Sincronizados
Un elemento•Puede estar en múltiples 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 Operación
Diagrama: Selecc clase Menú botón derecho ratón New Operation
Browser: Selecc clase Menú botón derecho ratón
New Operation
LSI Laboratori ES:E
21
LESE-3 Tutorial con Rational Rose
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)
LSI Laboratori ES:E
22
LESE-3 Tutorial con Rational Rose
Especificar Operación
Nombre
Parámetros Nombre,Tipo
Tipo de retorno
Accesibilidad Public, Protected, Private
Abstracta o Concreta (checkbox Abstract in Details TabWindow)
MyClassObject
GetIsPublic()GetIsProtected()GetIsPrivate()
LSI Laboratori ES:E
23
LESE-3 Tutorial con Rational Rose
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
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ú botón 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)
MyClass
isPublicisProtectedisPrivate
LSI Laboratori ES:E
26
LESE-3 Tutorial con Rational Rose
Relacionar Clases
Relaciones UML en Rose Generalización Asociación
Agregación Composición
Dependencia
LSI Laboratori ES:E
27
LESE-3 Tutorial con Rational Rose
Relaciones UML en Rose
AB
Asociación
Generalización (herencia)
AB
AB
1..n
roleAroleB
multiplicidad
Navegabilidad de B a A
LSI Laboratori ES:E
28
LESE-3 Tutorial con Rational Rose
Relaciones UML en Rose
Asociación de Agregación
Dependencia o Instanciación
AB
AB
AB
Asociación de Composición
LSI Laboratori ES:E
29
LESE-3 Tutorial con Rational Rose
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
LSI Laboratori ES:E
30
LESE-3 Tutorial con Rational Rose
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 Sel. Sel elemento Menú Browse
Specification (nota: no aparece en Browser)
LSI Laboratori ES:E
31
LESE-3 Tutorial con Rational Rose
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
LSI Laboratori ES:E
32
LESE-3 Tutorial con Rational Rose
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
LSI Laboratori ES:E
33
LESE-3 Tutorial con Rational Rose
Especificar Asociación
Especificar Navegabilidad Accesibilidad
public (+), protected (#), private (-) Multiplicidad (1..n, 0..n, etc...) Agregación Nombre de roles Nombre asociación Tipo de Contenido:
Referencia, Valor, no especificado
B A
0..n1
-roleAagregationName
0..n1
-roleB
LSI Laboratori ES:E
34
LESE-3 Tutorial con Rational Rose
Organización 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 múltiples
diagramas Si es distinto paquete, indica de donde proviene
“from <Paquete>” Graphic
Draw(aPanel : Panel) : void
(from Graphic Model)
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):
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
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