40
1 LSI ES:E Departament de Llenguatges i Sistemes Informàtics Laboratori 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 Tobalina Rubén González Blanco

LESE-3 - Tutorial Con Rational Rose

Embed Size (px)

Citation preview

Page 1: 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

Page 2: LESE-3 - Tutorial Con Rational Rose

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

Page 3: LESE-3 - Tutorial Con Rational Rose

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

Page 4: LESE-3 - Tutorial Con Rational Rose

4

LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E

Graphic Objects

SelectionGraphic

Circle

Panel

Page 5: LESE-3 - Tutorial Con Rational Rose

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

Page 6: LESE-3 - Tutorial Con Rational Rose

6

LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E

Iniciar Rose

Iniciar Rose Start Programs Rational Rose

Rational Rose

Page 7: LESE-3 - Tutorial Con 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

Page 8: LESE-3 - Tutorial Con Rational Rose

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

Page 9: LESE-3 - Tutorial Con Rational Rose

9

LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E

Guardar Modelo

File Save o Save As

Page 10: LESE-3 - Tutorial Con Rational Rose

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

Page 11: LESE-3 - Tutorial Con Rational Rose

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>

Page 12: LESE-3 - Tutorial Con Rational Rose

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

Page 13: LESE-3 - Tutorial Con Rational Rose

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)

Page 14: LESE-3 - Tutorial Con Rational Rose

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

Page 15: LESE-3 - Tutorial Con Rational Rose

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”

Page 16: LESE-3 - Tutorial Con Rational Rose

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

Page 17: LESE-3 - Tutorial Con Rational Rose

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>

Page 18: LESE-3 - Tutorial Con Rational Rose

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

Page 19: LESE-3 - Tutorial Con Rational Rose

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)

Page 20: LESE-3 - Tutorial Con Rational Rose

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

Page 21: LESE-3 - Tutorial Con Rational Rose

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)

Page 22: LESE-3 - Tutorial Con Rational Rose

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()

Page 23: LESE-3 - Tutorial Con Rational Rose

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

Page 24: LESE-3 - Tutorial Con Rational Rose

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

Page 25: LESE-3 - Tutorial Con Rational Rose

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

Page 26: LESE-3 - Tutorial Con Rational Rose

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

Page 27: LESE-3 - Tutorial Con Rational Rose

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

Page 28: LESE-3 - Tutorial Con Rational Rose

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

Page 29: LESE-3 - Tutorial Con Rational Rose

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

Page 30: LESE-3 - Tutorial Con Rational Rose

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)

Page 31: LESE-3 - Tutorial Con Rational Rose

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

Page 32: LESE-3 - Tutorial Con Rational Rose

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

Page 33: LESE-3 - Tutorial Con Rational Rose

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

Page 34: LESE-3 - Tutorial Con Rational Rose

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)

Page 35: LESE-3 - Tutorial Con Rational Rose

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

Page 36: LESE-3 - Tutorial Con Rational Rose

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)

Page 37: LESE-3 - Tutorial Con Rational Rose

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

Page 38: LESE-3 - Tutorial Con Rational Rose

38

LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E

Ejercicio 1

Finalizar Diagrama de Graphics Model

Page 39: LESE-3 - Tutorial Con Rational Rose

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

Page 40: LESE-3 - Tutorial Con Rational Rose

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