Вы находитесь на странице: 1из 40

LSI ES:E

Departament de Llenguatges i Sistemes Informtics


Laboratori Enginyeria del Software : Especificaci

LESE-3 Tutorial con Rational Rose

Elaboracin de un Diagrama de Clases


Sergio Prez Tobalina
Rubn Gonzlez Blanco

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

Toma de contacto con Rational Rose


Conocer funciones generales de
sealadas
Rational Rose para modelar con icono
Realizar un Diagrama de Clases con
Rational Rose
1 parte: guiada
2 parte: alumno

2
Objetivo del Laboratorio: Graphic Model
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
Especificar el Diagrama de Clases de Graphics:

Panel
Graphic
#graphics -selection
DrawPoint(p : Point)
DrawLine(p1 : Point, p2 : Point) 0..n Draw(aPanel : Panel) : void
1..n
DrawCircle(c : Point, r : Float) Move(to : Point) : void
OnPaint(e : PaintEvent)

Line Rectangle Circle


start : Point anchor : Point origin : Point
end : Point size : Point radius : Float

Draw(aPanel : Panel) : void Draw(aPanel : Panel) : void Draw(aPanel : Panel) : void


Move(to : Point) : void Move(to : Point) : void Move(to : Point) : void GraphicSelection

Draw(aPanel : Panel) : void


Move(to : Point) : void
Add(g : Graphics) : void
Remove(g : Graphics) : Graphic

3
GetChildren(name : String) : Graphic
Graphic Objects
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

Circle

SelectionGraphic
Panel

4
Graphic Model: Elementos UML
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
Clase Abstracta
Asociacin
Asociacin Agregacin
navegabilidad rol
Panel
Graphic
#graphics -selection
DrawPoint(p : Point)
DrawLine(p1 : Point, p2 : Point) 0..n Draw(aPanel : Panel) : void
1..n
DrawCircle(c : Point, r : Float) Move(to : Point) : void
OnPaint(e : PaintEvent) multiplicidad

Dependencia operacin abstracta


Generalizacin
atributo
Clase Concreta

Line Rectangle Circle


start : Point anchor : Point origin : Point
end : Point size : Point radius : Float

Draw(aPanel : Panel) : void Draw(aPanel : Panel) : void Draw(aPanel : Panel) : void


Move(to : Point) : void Move(to : Point) : void Move(to : Point) : void GraphicSelection

Draw(aPanel : Panel) : void


Move(to : Point) : void
operacin concreta Add(g : Graphics) : void
Remove(g : Graphics) : Graphic
GetChildren(name : String) : Graphic

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

Iniciar Rose
Start Programs Rational Rose
Rational Rose

6
Crear un Nuevo Modelo
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

Al iniciar Rose
Una vez en Rose: File New

7
Crear un Nuevo Modelo
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

De la nada (from scratch)


Cancel
Utilizando uno Plantilla o Framework
Select <modelo>
OK
Desde sistema ficheros
Existing
OR
Recent

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

File Save o Save As

9
Crear un Diagrama de Clases
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
Browser: Logical View Men Botn Derecho New Class
Diagram
Men : Browse Class Diagram

10
Creacin de Diagramas
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

Seleccionar <View> en Browser


Men Botn Derecho New <diagrama>

Men Browse <diagrama>

11
Toolbar Diagrama de Clases
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

Cualquier elemento del diagrama se puede crear


cargando el puntero del ratn con una Tool de la Toolbar
Drag&Drop sobre el diagrama

texto

Nota interfaz
clase generalizacin
asociacin
Ancla Nota paquete
Puntero
dependencia o instanciacin
clase asociacin
realizacin
12
Crear una Clase
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
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)

13
Creacin Elementos Diagrama
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

Cargar Puntero Ratn


Click en botn Toolbar
Sel. Diagrama en Browser botn derecho
New <elemento>
Men Tools Create
Click en diagrama

14
Especificar nombre de la clase
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
Directamente en el diagrama
Doble click en la clase Class Specification for
NewClass

15
Especificar Elementos Diagrama
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

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

16
Especificar Elementos Diagrama
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

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>

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

Un elemento
Puede estar en mltiples diagramas
Solo una instancia en el Browser

Sincronizados

18
Borrar un elemento
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

Shallow Delete
Edit Delete
Seleccionar elemento en diagrama tecla DEL
NO SE BORRA DEL MODELO!! (solo del diagrama,no del Browser)

Deep Delete
Seleccionar elemento en Browser click boton
derecho Delete
Seleccionar elemento en diagrama Click
CTRL+D
SE BORRA DEL MODELO!! (desaparece del diagrama y del Browser)

19
Crear una Operacin
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

Diagrama: Selecc clase Men botn derecho ratn


New Operation
Browser: Selecc clase Men botn derecho ratn
New Operation

20
Especificar Operacin
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
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)

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

Nombre
Parmetros
Nombre,Tipo
Tipo de retorno
MyClassObject

Accesibilidad GetIsPublic()
GetIsProtected()
Public, Protected, Private GetIsPrivate()

Abstracta o Concreta
(checkbox Abstract in Details TabWindow)

22
Crear un Atributo
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
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 23


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

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

24
Especificar un Atributo
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

Nombre
Tipo
Accesibilidad MyClass
isPublic
Public, Protected,Private isProtected
isPrivate

Clase Abstracta o Concreta


(checkbox Abstract in Details TabWindow)

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

Relaciones UML en Rose


Generalizacin
Asociacin
Agregacin
Composicin
Dependencia

26
Relaciones UML en Rose
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
Generalizacin (herencia)

B A

Asociacin

roleB roleA
B A
1..n

multiplicidad

B A

Navegabilidad de B a A
27
Relaciones UML en Rose
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
Asociacin de Agregacin

B A

Asociacin de Composicin

B A

Dependencia o Instanciacin

B A

28
Crear una Generalizacin
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
Cargar Puntero de Ratn con Tool
Click en boton Toolbar
Men Tools Create Generalization
Click en Diagram Window Unir elemento B con A

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

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)

30
Crear una Asociacin
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

Cargar Puntero de Ratn con Tool


Click en botn Toolbar
Men Tools Create Generalization
Click en Diagram Window Unir elemento B con A

31
Especificar Asociacin
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
Como el resto de elementos:
Doble click, Sel (Browser Diagram Window) + Men botn derecho, Men Browse)

Aparece como un elemento


ms en el Browser

32
Especificar Asociacin
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
Especificar
Navegabilidad
Accesibilidad
public (+), protected (#), private (-)
Multiplicidad (1..n, 0..n, etc...)
agregationName
Agregacin B -roleB -roleA A
1 0..n
Nombre de roles
Nombre asociacin
Tipo de Contenido:
Referencia, Valor, no especificado

33
Organizacin del Modelo
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

Se puede organizar el modelo mediante


Paquetes (agrupa, contiene elementos del modelo)
Graphic Model

Estructura de Carpetas

34
Mover Elementos entre Paquetes
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

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

35
Copy Cut Paste de elementos entre diagramas
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

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> Graphic
(from Graphic Model)

Draw(aPanel : Panel) : void

36
Copy Cut Paste de elementos entre diagramas
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

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

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

Finalizar Diagrama de Graphics Model

38
Ejercicio 2
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose
Modelado de un Plan de Trabajo (Proyecto):
Project

GanttView Resource
ID Task Name Duration Start Finish
Sep 21, '03 Sep 28, '03 Oct 5, '03
F S S M T W T F S S M T W T F
1
2
3
4 Preparacin Fiesta 4 days Wed 10/1/03 Mon 10/6/03
5 Invitar Amigos 1 day Wed 10/1/03 Wed 10/1/03 RG
6
7
Amigos Invitados
Comprar
0 days
3 days
Wed 10/1/03
Wed 10/1/03
Wed 10/1/03
Fri 10/3/03
10/1
Dependency
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 10/6

TaskGroup Task
Milestone
39
Ejercicio 1.2
LSI Laboratori ES:E
LESE-3 Tutorial con Rational Rose

Pensar en el modelo de clases que


describe/representa un plan de trabajo
de un proyecto
Dibujarlo con Rational Rose

40

Вам также может понравиться