You are on page 1of 79

INTRODUCCION AL UML

(Lenguaje Unificado de Construccin de


Modelos)
UML
Es una herramienta que nos permitir
expresarnos en un lenguaje comn
Permite facilitar la comunicacin entre las
distintas reas de una organizacin
UML: la Orientacin a Objetos
Un objeto es un concepto (personas, cosas, hechos,
ideas, etc)

Nombre

Atributos

Comportamientos
Atributo y comportamiento
Atributo: son las caractersticas o
cualidades del objeto (tambin se
denominan propiedades)

Comportamiento: son las acciones,


aquello que el objeto sabe o puede hacer
Ejemplo de Objeto

Persona

nombre
edad
empresa
Objeto persona

CambiarEdad
CambiarEmpresa
Nocin de Clase e Instancia
Todos los objetos naturalmente se
agrupan en categoras (clases)
Los objetos que estn comprendidos
dentro de las clases se denominan
instancias
Clase

Instancia Instancia Instancia


Actividades:
1. Identifique una clase que agrupe todos estos objetos
2. Agrupe diversos objetos en distintas clases.
Instancias
Persona
Instancia persona n 1
-nombre = SALAS
nombre -edad=35
edad -empresa=IPV
empresa
Instanciacin

CambiarEdad Instancia persona n 2


-nombre = FUNES
-edad=55
CambiarEmpresa -empresa=VPI
Jerarqua de Clases y herencia
El mecanismo de la herencia permite definir
nuevas clases a partir de clases existentes
Persona

Nombre
edad
empresa
CambiarEdad
CambiarEmpresa
Instancia de persona n 1
-nombre = RODRIGUEZ
Asalariado Instancia -edad=36
-empresa=MUNI
jefe -jefe=SANENZ
funcin -funcin=encargado seccin
CambiarJefe
CambiarFuncin
Polimorfismo
El polimorfismo es una caracterstica de la
OO (orientacin a objetos) que permite
redefinir un comportamiento (mtodo)
heredado por una superclase
Polimorfismo
El polimorfismo permite usar los mismos trminos
del cliente.

Abrir ...
Encapsulamiento e Interfaces

Pantalla
- Cmo funciona?

- A quin le
importa!

Teclado
Modelo Conceptual
Identifica los objetos.
Representa cosas del mundo real.
Es un diagrama esttico donde no se define
ninguna operacin (proceso).
Ayuda a esclarecer la terminologa.

Es el artefacto ms importante en
la etapa del anlisis del problema.
Modelo Conceptual
Nos muestra:
Clases
Asociaciones entre esas Clases
Atributos de dichas Clases
Ejemplo

Lnea Area

Emplea

Persona Asignada-a Asignado-a


Vuelo Avin
nombre
edad
empresa
Maneras de definir Clases
Venta
Por el Smbolo
Fecha
hora

Una venta representa


el evento de una Definicin intensiva
transaccin de compra.
Tiene fecha y hora

Venta-1
Venta-2 Definicin extensiva
Venta-3
Venta-4
La asignacin de nombres

Se puede aplicar la metodologa del


cartgrafo:
Utilizar los nombres existentes en el
territorio.
Excluir las caractersticas irrelevantes.
No agregar cosas que no existan.
Descomposicin del problema

Ante los problemas complejos


divide y vencers
Dividimos el problema en partes
comprensibles
Conviene llevarla a cabo a partir de las
clases
Descomposicin del problema (cont.)

Una gua para esta fase:

Identificar varias clases

Documentar los resultados en un modelo

conceptual
Clases del Caso de la Caja

Local Caja Venta

Agreguemos otras clases que puedan


identificar:
Estrategias para identificar las clases

A partir de una lista de categoras de

clases

Identificacin de frases nominales


Identificacin de frases nominales

Accin del actor Respuesta del sistema


1. Este caso comienza cuando
un Cliente llega a una caja
con productos que desea
comprar
3. Determina el precio del
2. El Cajero registra el producto e incorpora a la
identificador de cada transaccin actual la
producto. informacin
Si hay varios productos de correspondiente.
una misma categora, el Se presenta la descripcin
Cajero tambin puede y el precio del producto
introducir la cantidad actual.
Aplicacin

Usando la lista de categoras de clases y


anlisis de frases nominales,
construyamos una lista de clases de una
aplicacin del Video Club o la Biblioteca.
Identificando las clases
A veces confundimos clases y atributos.
Si consideramos algo como atributo (que no es un
nmero o texto en el mundo real), probablemente ste
sea un objeto y no un atributo.

Vuelo Vuelo Aeropuerto


o...?

Destino nombre

En caso de duda, convertir el atributo en clase.


Resumiendo

Clase es una descripcin de un conjunto de


objetos que comparten los mismos
atributos, relaciones y comportamientos
En UML las asociaciones son
relaciones entre las clases

Almacenado en
Producto 1 1
Local
Asociaciones
La asociacin es una relacin entre dos
clases que indica alguna conexin
significativa e interesante entre ellas

asociacin
Registra
Caja Venta actual
Notacin de las asociaciones en UML

navegabilidad nombre

Asignado-a
Vuelo Avin
* 1

multiplicidad
Notacin de las asociaciones en UML
(Ejemplo)
navegabilidad nombre

Asignado-a
? Adjudicatario
* 1

multiplicidad
Asociaciones prioritarias
1. A es una parte lgica de B (artculo-ley)
2. A es una parte fsica de B (habitacin-casa)
3. A est fsicamente contenido en B (producto-
estante)
4. A est lgicamente contenido en B (captulo-ley)
5. A est registrado en B (ladrn-crcel)
Multiplicidad
Define cuantas instancias de una clase pueden asociarse
a tantas instancias de otra clase

* cero o ms; muchos

1...*
uno o ms
1...40 de uno a cuarenta
5 exactamente 5
2, 5, 7 exactamente dos, cinco o siete
Atributos

Es una caracterstica importante de un


objeto.
Por ejemplo, un ticket de venta requiere
la fecha y la hora.
En consecuencia la clase Venta requiere
los atributos fecha y hora
Atributos comunes
fecha
nmero
texto
hora
booleano
direccin
color
geometra
nmero de telfono
cdigo de producto
cdigo postal
tipos enumerados
Notacin de los atributos en UML

Venta
Aeropuerto

fecha
nombre
hora

atributos
Aplicacin

Armemos un Modelo Conceptual


Tomemos como ejemplo el Video Club
o la Biblioteca
Modelo conceptual
Ventas Producto
Registra_venta_de
LineadeProductos
0..1 1
*
cantidad Almacenado_en
1..* 1
Contenida en 1 Local
Venta

Direccin
Fecha nombre
hora 1 1
1 Aloja
Pagada-por 1 1..*
Pago Caja
Capturada-en

monto 1
Comportamiento de los sistemas -
Diagramas de secuencia
Muestran grficamente los eventos que los
actores solicitan al sistema.

Sistema
Se refiere a la secuencia normal de
Ejemplo los eventos en el caso tpico comprar
productos
sistema como
caja negra
actor

Cajero Sistema

Repetir hasta que no


haya mas productos
introducirProducto(CUP, cantidad)

terminarVenta()
Texto que
aclara: control,
efecturaPago(monto)
lgica,
Evento del sistema
iteracin,etc
Inicia una operacin del sistema
Diagrama de Secuencia Inicial
Durante la interaccin un actor genera eventos
dirigidos a un sistema, solicitando alguna operacin
a cambio
Su creacin depende de la formulacin previa de los
casos tpicos.
Es una descripcin de lo que hace, sin explicar cmo
lo hace.
Consideramos al sistema como una caja negra.
Diagrama de Secuencia Inicial
Los eventos del sistema pueden incluir
parmetros.
Los parmetros son los datos que acompaan la
solicitud del actor.
En la aplicacin de la caja del supermercado el
actor Cajero inicia los siguientes eventos:
introducirProducto
terminarVenta
efectuarPago
Diagrama de Secuencia Inicial

El tiempo avanza hacia abajo


El ordenamiento de los eventos debera
seguir el orden indicado en el caso tpico.
De no ser as deber reverse el caso tpico.
Eventos y operaciones
El evento de un sistema:
Es un hecho externo de entrada que un actor produce en un
sistema.
Como respuesta se originar una operacin del sistema
La operacin de un sistema
Es una accin que este ejecuta en respuesta a un evento del
sistema
El nombre del evento y la operacin del sistema son
idnticos
La diferencia es que uno es el estmulo y el otro la respuesta
Cmo elaborar un diagrama de
secuencia
Para describir la secuencia de eventos de un caso tpico:
Trace una lnea que represente al sistema como una caja
negra
Identifique a los actores que operan directamente sobre el
sistema. Trace una lnea para cada uno de ellos
A partir del caso tpico identifique los eventos externos al
sistema que son generados por los actores. Mustrelos
grficamente en le diagrama.
A la izquierda del diagrama puede incluir o no el texto del
caso tpico
Asignacin de nombres a los eventos

Deberan reflejar el propsito


Mejora la claridad si comienza con un
verbo (agregar..., introducir...,
terminar..., efectuar...)
Diagrama de secuencia del caso tpico
comprar productos

Cajero Sistema

Repetir hasta que no introducirProducto(CUP, cantidad)


haya mas productos
terminarVenta()
efecturaPago(monto)
Actividad

Confeccionar los diagramas de secuencia


para los casos tpicos primarios del Video
Club o la Biblioteca.
Contratos
Es un documento que describe lo que una
operacin de sistema se propone hacer.

Se escribe en forma declarativa, qu


suceder y no cmo se conseguir.
Contratos
Caso Tpico: Comprar Productos - Curso Normal de los Eventos
1 Este caso tpico comienza...

Cajero Sistema
IntroducirProducto (cup, cantidad)

terminarVenta ( )

efectuarPago (monto)

Sistema
terminarVenta()
introducirProducto()
efectuarPago()

Operacin: IntroducirProducto. Se trata de una nueva venta, por lo tanto despus


de esta operacin fue creada una Venta...
Secciones del Contrato
Nombre: Nombre de la operacin y parmetros.
Responsabilidades: Descripcin informal de las
responsabilidades que debe cumplir la operacin.
Caso: Nombre del Caso Tpico
Referencias: N de referencia de las funciones del
sistema, casos tpicos, etc.
Notas: notas de diseo, algoritmos, e informacin
afn.
Excepciones: Casos excepcionales.
Secciones del Contrato (cont.)

Salida: Aquello que se espera recibir del sistema


(objetivo del contrato).
Precondiciones: Suposiciones acerca del estado del
sistema antes de ejecutar la operacin.
Poscondiciones: El estado del sistema despus de la
operacin.
Notas
Declaraciones de diseo referentes a la
operacin.
Ejemplo: la explicacin de un algoritmo
para manejar la operacin (frmula para
calcular la cuota de un prstamo).
Precondiciones
Definen la suposicin sobre el estado del sistema al
iniciarse la operacin.
Para describir las precondiciones tener en cuenta lo
siguiente:
Cosas que son importantes probar en el software
en algn momento de la ejecucin de la
operacin.
Cosas de las cuales depende el xito de la
operacin.
Poscondiciones
Indican cmo cambi el sistema despus de
una operacin.
Mejora la claridad si se redacta en pretrito
( fue creada....).

Describe los cambios necesarios para que el


sistema funcione sin necesidad de describir
cmo se logran.
Nos concentramos en el qu debe suceder,
no la manera de conseguirlo.
Poscondiciones
Para describir las poscondiciones utilizar las
siguientes categoras:

Creacin y eliminacin de las instancias.


Modificacin de los atributos.
Asociaciones formadas y canceladas.
Contratos para el caso tpico comprar productos
Contrato para IntroducirProductos
Nombre: IntroducirProducto (CUP,
cantidad).
Responsabilidades: Introducir (registrar) la venta de un
producto y agregarlo a la venta. Desplegar
la descripcin del producto y su precio.
Tipo: Sistema.
Referencias cruzadas:Funciones del sistema R.1.1,R1.3, R1.9
Caso tpico Compara productos.
Notas: Utilice el acceso super rpido a la base de
datos.
Excepciones: Si el CUP no es vlido, indique que se
cometi un error.
Salida:
Precondiciones: El sistema conoce el CUP.
Contratos para el caso tpico comprar productos
Contrato para IntroducirProductos (Cont.)
Poscondiciones:
Si se trata de una nueva venta, una Venta fue creada (creacin
de instancia).
Si se trata de una nueva venta, la nueva Venta fue asociada a la
Caja (asociacin formada).
Se cre una instancia VentaLineadeProducto a la Venta
(creacin de instancia).
Se asoci VentasLineadeProducto a la Venta (asociacin
formada).
Se estableci VentasLineadeProducto.cantidad con el valor
cantidad (modificacin de atributo).
La instancia VentasLineadeProducto fue asociada a una
EspecificaciondeProducto, basado esto en la correspondencia
del CUP (asociacin formada)
Contratos para el caso tpico comprar productos
Contrato para TerminarVenta
Nombre: TerminarVenta
Responsabilidades: Registrar que es el final de la captura
de los productos de la venta y desplegar
el total de la venta.
Tipo: Sistema.
Referencias cruzadas:Funciones del sistema R.1.2
Caso tpico Compra productos.
Notas: Si no se est realizando una venta indicar
que se cometi un error.
Excepciones: Si el CUP no es vlido, indique que se
cometi un error.
Salida:
Precondiciones: El sistema conoce el CUP.
Contratos para el caso tpico comprar productos
Contrato para TerminarVenta (Cont.)
Poscondiciones:
Estableci Venta.EstaTerminada como verdadero
(modificacin de atributo)
Contratos para el caso tpico comprar productos
Contrato para EfectuarPago
Nombre: EfectuarPago (monto)
Responsabilidades: Registrar el pago, calcular el saldo e
imprimir el recibo.
Tipo: Sistema.
Referencias cruzadas:Funciones del sistema R.2.1
Caso tpico Compra productos.
Notas:
Excepciones: Si la venta no est concluida, indique que
se cometi un error.
Salida: Ticket
Precondiciones:
Contratos para el caso tpico comprar productos
Contrato para EfectuarPago (Cont.)
Poscondiciones:
Se cre un Pago (creacin de instancia).
Se asign a Pago.MontoOfrecido el valor de monto
(modificacin de atributo).
Se asoci el Pago a la Venta (asociacin formada).
Se asoci la Venta a la Caja para agregarla al registro histrico
de las ventas terminadas (asociacin formada)
Cmo preparar un contrato
Identificar las operaciones del sistema a partir de
los diagramas de secuencias.
Elaborar un contrato en cada operacin del
sistema.
Comenzar redactando la seccin
responsabilidades, describiendo el propsito de la
operacin.
Cmo preparar un contrato (cont.)
Completar la seccin poscondiciones
describiendo los cambios de estado de los
objetos en el modelo conceptual.
Para describir las poscondiciones utilizar las
siguientes categoras.
Creacin y eliminacin de las instancias.
Modificacin de los atributos.
Asociaciones formadas y canceladas.
Actividad
Confeccionar los principales items de las
operaciones del sistema referentes a los
diagramas de secuencia del video.
Conclusin de la fase de anlisis

Artefactos del anlisis Preguntas que se contestan

Casos tpicos Cules son los procesos de la aplicacin?

Modelo conceptual Cules son los conceptos los trminos?

Cules son los eventos y las operaciones del


Diagramas de secuencia
sistema?

Contratos Qu hacen las operaciones del sistema?


Modelo Conceptual
Diagramas de
Casos Tpicos casos tpicos

Diagramas
Modelo
de clase
Conceptual
Glosario
Diagramas Diagramas
de estado de interaccin
Mensajes y mtodos
Los objetos no son conjuntos de datos pasivos
Pueden interactuar entre s
Se comunican a travs de mensajes
Cada objeto que recibe un mensaje lo atiende con un
mtodo (comportamiento)
El conjunto de mensajes que cada objeto puede
atender se denomina interface.
Actividades del Sistema

Diagramas de Actividad:

- Diagrama de secuencia:
basado en el tiempo
formato en progresin vertical
- Diagrama de colaboracin:
basado en el espacio
formato en red
Diagrama de colaboracin
1. Hacer un diagrama por cada operacin
2. Si es muy complejo, subdividir en ms simples
3. Empezar desde las responsabilidades
4. Tener en cuenta las postcondiciones
5. Considerar la descripcin del caso tpico
Diagrama de colaboracin

teclea

1:notificar(teclea)
GUI

6:respuesta
S. Operativo
3:actualizar(teclea)

Monitor
2:actualizar(teclea)

5:mostrar(teclea) CPU

4:notificar(teclea)
Tarjeta Video
Diagrama de colaboracin
Sintaxis de los mensajes:
Retorno : mensaje(parmetro : tipoParmetro) : tipoRetorno

Mensajes a s mismo ( o a esto):


Mens1()

Objeto

1:actualizar()

Iteracin:

Se agrega un asterisco (*) al nmero de secuencia


Diagrama de colaboracin
Mensajes condicionales:
mens1() 1a: [prueba mens2()
Objeto1 Objeto2

1b: [no prueba mens4() 1a.1: mens3()

1b.1: mens5()
Objeto4 Objeto3
Diagrama de colaboracin

Multiobjetos (conjunto de instancias):


mens1() 1a: mens2()
Objeto1 Objeto2

El mensaje dirigido a un multiobjeto no se


transmite a todos los elementos
Diagrama de colaboracin
IntroducirProducto
1:[nueva venta] crear()
introducirProducto(cup, cant) 3:hacerLineadeProducto(especif,cant) :Venta
:Caja
1:1 crear()

2:especif:=especificacion(cup) 3:1 crear(especif,cant)

Vli:Ventas-
:CatalogodeProductos LineadeProducto

2:1especif:=encontrar(cup) 3.2 agregar(vli)

:Especificacin- :VentasLinea-
deProducto deProducto
Venta Caja
fecha
hora
terminarVenta()
estaTerminada
seTermina() introducirProduc
to()
hacerLineadeProduc
to() efectuarPago()
efectuarPago()
Total()
Diagrama de secuencia
Objeto 1 Objeto 2 Objeto 3
Mensaje asincrnico

Activacin
Mensaje sincrnico

Mensaje sin respuesta

crear temporario
Objeto 4
Mensaje simple

destruir

X
Diagrama de Estado
El diagrama de estado del UML describe los eventos y
estados ms relevantes de un objeto, as como su
comportamiento ante cada evento.

Evento: es un acontecimiento u ocurrencia notable,


que desencadena un cambio de estado.
Estado: es la condicin de un objeto en un momento
determinado, o el tiempo que transcurre entre dos
eventos.
Transicin: es una relacin entre dos estados. Cuando
ocurre un evento, el objeto pasa de un estado al
siguiente.
Diagrama de Estado

Nombre
Iniciar Terminar
Variables de estado

Actividades

* Casos tpicos (procesos)


* Sistemas
* Ventanas
Posibles diagramas * Coordinadores de aplicaciones
* Controladores
* Transacciones
* Dispositivos
* Mutadores
Diagramas de Clases (I)

Cliente Mozo Mesa

Cocinero Adicio- Cocina


nista

Men Vajilla Saln


Diagramas de Clases (II)

Cliente Mozo Mesa Vajilla

Cocina
Cocinero

Men Adicionista

Saln

You might also like