Está en la página 1de 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
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E

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

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

Circle

SelectionGraphic
Panel

4
Graphic Model: Elementos UML
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E

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

Iniciar Rose
Start Programs Rational Rose
Rational Rose

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

Al iniciar Rose
Una vez en Rose: File New

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

De la nada (from scratch)


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

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

File Save o Save As

9
Crear un Diagrama de Clases
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E

Browser: Logical View Men Botn Derecho New Class


Diagram
Men : Browse Class Diagram

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

Seleccionar <View> en Browser


Men Botn Derecho New <diagrama>

Men Browse <diagrama>

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

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

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

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

Directamente en el diagrama
Doble click en la clase Class Specification for
NewClass

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

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

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

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

Sincronizados

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

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

Diagrama: Selecc clase Men botn derecho ratn


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

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

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

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

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

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

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

Clase Abstracta o Concreta


(checkbox Abstract in Details TabWindow)

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

Relaciones UML en Rose


Generalizacin
Asociacin
Agregacin
Composicin
Dependencia

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

Generalizacin (herencia)

B A

Asociacin

roleB roleA
B A
1..n

multiplicidad

B A

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

Asociacin de Agregacin

B A

Asociacin de Composicin

B A

Dependencia o Instanciacin

B A

28
Crear una Generalizacin
LESE-3 Tutorial con Rational Rose LSI Laboratori ES:E

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

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

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

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

Se puede organizar el modelo mediante


Paquetes (agrupa, contiene elementos del modelo)
Graphic Model

Estructura de Carpetas

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

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

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

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

Finalizar Diagrama de Graphics Model

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

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

Pensar en el modelo de clases que


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

40

También podría gustarte