LESE-3 - Tutorial Con Rational Rose
-
Upload
edson-quispe-hancco -
Category
Documents
-
view
17 -
download
2
Transcript of LESE-3 - Tutorial Con Rational Rose
1
LSI ES:E
Departament de Llenguatges i Sistemes InformàticsLaboratori Enginyeria del Software : EspecificacióLaboratori Enginyeria del Software : Especificació
LESE-3 Tutorial con Rational Rose
Elaboración de un Diagrama de Clases
Sergio Pérez TobalinaRubén González Blanco
2
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
3
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
4
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Graphic Objects
SelectionGraphic
Circle
Panel
5
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
6
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Iniciar Rose
Iniciar Rose Start Programs Rational Rose
Rational Rose
7
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Crear un Nuevo Modelo
Al iniciar Rose Una vez en Rose: File New
8
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Crear un Nuevo Modelo
De la nada (from scratch) Cancel
Utilizando uno Plantilla o Framework Select <modelo> OK
Desde sistema ficheros Existing
OR Recent
9
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Guardar Modelo
File Save o Save As
10
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Crear un Diagrama de Clases
Browser: Logical View Menú Botón Derecho New Class Diagram
Menú : Browse Class Diagram
11
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Creación de Diagramas
Seleccionar <View> en Browser Menú Botón Derecho New <diagrama>
Menú Browse <diagrama>
12
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
13
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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)
14
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
15
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Especificar nombre de la clase
Directamente en el diagrama
Doble click en la clase “Class Specification for NewClass”
16
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
17
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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>
18
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Clase Graphic
Sincronizados
Un elemento•Puede estar en múltiples diagramas•Solo una instancia en el Browser
19
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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)
20
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
21
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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)
22
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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()
23
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
24
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
25
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Especificar un Atributo
Nombre
Tipo
Accesibilidad Public, Protected,Private
Clase Abstracta o Concreta (checkbox Abstract in Details TabWindow)
MyClass
isPublicisProtectedisPrivate
26
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Relacionar Clases
Relaciones UML en Rose Generalización Asociación
Agregación Composición
Dependencia
27
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Relaciones UML en Rose
AB
Asociación
Generalización (herencia)
AB
AB
1..n
roleAroleB
multiplicidad
Navegabilidad de B a A
28
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Relaciones UML en Rose
Asociación de Agregación
Dependencia o Instanciación
AB
AB
AB
Asociación de Composición
29
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
30
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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)
31
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
32
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
33
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
34
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Organización del Modelo
Se puede organizar el modelo mediante Paquetes
Graphic Model
Estructura de “Carpetas”
(agrupa, contiene elementos del modelo)
35
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
36
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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)
37
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
38
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Ejercicio 1
Finalizar Diagrama de Graphics Model
39
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
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
40
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E
Ejercicio 1.2
Pensar en el modelo de clases que describe/representa un plan de trabajo de un proyecto
Dibujarlo con Rational Rose