LESE-3 - Tutorial Con Rational Rose

Preview:

Citation preview

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