Escolar Documentos
Profissional Documentos
Cultura Documentos
Unificado de
Modelado
El Tringulo de Desarrollo de
Software
Proces
o
Notaci
n
Herramient
a Visual
Rational
software
Language
= Unified Modeling
Booch
Jacobson
Odell
Meyer
Clasificacin
Shlaer-Mellor
Ciclo de vida de objetos
Harel
Mquinas de estado
Embly
Singleton clases
Wirfs-Brock
Fusion
Responsabilidades
Descripcin de operaciones,
numeracin de mensajes
UML 2.0
Sep 97
UML 1.1
Ene 97
UML 1.0
Microsoft
Oracle
IBM, HP
Etc.
Jun 96
UML 0.9
Oct 95
Use Case
(OOSE)
OMT
Booch
Otros mtodos
1998
(revisin editorial sin
cambios significativos)
1999
(revisin menor
pblicamente disponible)
2000
(planificada una revisin
menor)
2001
(planificada una revisin
menor)
2002
(planificada una revisin
mayor)
<<document>>
UML 1.1
<<document>>
<<document>>
UML 1.2
ISO Publica
especificacin
<<document>>
UML 1.3
<<document>>
UML 1.4
<<document>>
UML 1.5
<<document>>
UML 2.0
Vistas de un modelo
Un modelo es una descripcin completa de un sistema desde una perspectiva concreta
Vista
lgica
Vista de
requerimientos
Vista de
implementacin
Vista de
despliegue
Vista de
procesos
Diagrama de Estado
Diagrama de Actividad
Diagrama de Componentes
Diagrama de Despliegue
Component
Component
Diagrams
Diagramas
Diagrams de
Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Casos de Uso
State
State
Diagramas de
Diagrams
Diagrams
Clases
Despliegue
State
State
Diagramas de
Diagrams
Diagrams
Componentes
Diagramas de
Actividad
Modelo
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Estados
State
State
Diagramas de
Diagrams
Diagrams
Objetos
Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Secuencia
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Colaboracin
1. Diagramas de Casos de
Uso
Definicin
Un Diagrama de Casos de Uso representa lo
que hace el sistema y como se relaciona con
su entorno.
Representa los distintos requerimientos que
hacen los usuarios de un sistema.
Un diagrama de casos de uso esta compuesto
por
- Casos de uso
- Actores
- Relaciones entre ellos
Elementos
Caso de Uso (Use Case)
Es una secuencia de acciones
realizadas por el sistema que
producen un resultado
observable y valioso para
alguien en particular.
Actor
Un actor es un conjunto
externo uniforme de
personas, sistemas, o cosas
que solicita un servicio al
sistema que estamos
modelando.
Nombre
Director de
Escuela
Secretaria
Usuario
<<comunicates>>
Secretaria
Registra
Matrcula
Cobranza
con
tarjeta
Cobranza
con
cheque
Realizar
cobranza
Ejemplo:
Registrar matrcula
<<include>>
A
<<include>>
Validar usuario
Aperturar cursos
<<include>>
<<extend>>
Registrar matrcula
extempornea
<<extend>>
A
Registrar matrcula
Registrar matrcula
extempornea
<<extend>>
Usuario
Registrar matrcula
<<include>>
<<comunicates>>
Secretaria
Validar usuario
<<include>>
Aperturar cursos
Director de
<<comunicates>>
Escuela
2. Diagramas de Clases
Definicin
Un Diagrama de Clases muestra Clases
(grupos de objetos que tienen las mismas
caractersticas y comportamiento) y sus
relaciones.
Estos diagramas son los ms comunes en el
modelado de sistemas orientados a objetos.
Un diagrama de clases esta compuesto por
- Clases
- Relaciones entre clases
Clases
Definicin:
Es un conjunto de objetos que tienen los mismos
atributos y comportamiento.
Representacin:
Se representa mediante un rectngulo con tres
partes:
NombreClase
Automovil
Ejemplo:
Atributo1
La Clase Automvil Matricula
Atributo2
...
Color
Velocidad
Operacion1
operacion2
Arrancar( )
Acelerar( )
Frenar( )
...
Canal
Clase independiente
Clase dependiente
Televisin
...
...
cambiar(c : canal)
camin
auto
Clase Padre
Clase hija
Red
Areo
avin
helicptero
WAN
LAN
0..*
1..*
Alumno
Computadora
WAN
Monitor
Mouse
LAN
HUB
Hard
Disk
Hombre
Cabeza
Tronco
Extremidades
Motor
Marca
Ao
Cliente
Nombre
Nacionalidad
1..4
1
1
1
Boleto
Nro
*
*
Avin
NroPlaca
Modelo
Vuelo
IdVuelo
FechaSal
Destino
AvionCarga
CapCarga
AvinPasajeros
NroAsientos
3. Diagramas de Objetos
Definicin
Un Diagrama de Objetos muestra una
instancia prototpica de un Diagrama de Clases
con el fin de ilustrar los objetos reales
participantes en un determinado momento.
Un Diagrama de Objetos tiene los mismos
elementos que un Diagrama de Clase pero los
objetos y sus atributos tienen valores
conocidos.
:Motor
Marca: General Motors
Ao: 1996
1..4
1
:AvinPasajeros
1
:Boleto
Nro: 102030
*
*
:Vuelo
IdVuelo: 666
FechaSal: 01/01/2001
Destino: Lima
1
NroPlaca: XXX123
Modelo: Boeing 777
Nro: 555
Capacidad: 100
4. Diagramas de Secuencia
Definicin
Un Diagrama de Secuencia muestra la
interaccin de un conjunto de objetos,
poniendo nfasis en el orden cronolgico del
envo de mensajes entre objetos.
Un diagrama de secuencia esta compuesto
por:
-
Objetos (o actores)
Lnea de vida de un objeto
Activacin o foco de Control
Mensajes
Elementos de un Diagrama de
Secuencia
Objetos o
actores
objeto:Clase
Lnea de vida de un
objeto
objeto:Clase
Elementos de un Diagrama de
Secuencia
Activacin o foco de
Control
objeto:Clase
Mensaje
s objeto:Clase
Muestra el periodo de
tiempo en el cual el objeto
se encuentra desarrollando
una operacin.
objeto:Clase
Tipos de mensajes
Mensaje Simple:
Se usa cuando no se conocen
detalles del tipo de comunicacin
o cuando no resulta relevante en
el diagrama.
Mensaje
Sncrono:
El objeto que envia el mensaje
espera a que el objeto que lo recibe
le termine la operacion. El mensaje
sncrono ms comun es la llamada a
procedimientos.
Mensaje
Asncrono:
Cuando el objeto que envia el
:ServidorImpresion
:impresora
Imprimir(arch)
[ impresora OK]
Imprimir(arch)
[impresora !OK]
Imprimir(arch)
:cola
Ejercicio de Diagrama de
Secuencia
Se
desea trasladar una cabra, una col y un lobo, a
travs de un ro empleando una barca. Solo se
puede llevar uno de ellos en cada viaje. Si
dejamos a la cabra con el lobo, el lobo se comera
a la cabra. Si dejamos la col con la cabra, la cabra
se come a la col. Muestre un diagrama de
secuencia en el cual se pueda trasladar a los tres
por el rio.
5. Diagramas de Colaboracin
Definicin: Un Diagrama de Colaboracin
muestra la interaccin de un conjunto de objetos,
poniendo nfasis en la estructura organizacional
de los objetos que envan y reciben mensajes.
Un diagrama de colaboracin esta compuesto por:
- Objetos
- Enlaces
- Flujo de Mensajes
Ejemplo de Diagrama de
Colaboracin
Una nota de pedido contiene un rengln por cada artculo,
que se est despachando. Si la cantidad del artculo que an
queda en almacn es menor que el punto de reorden, est
lanza una orden de compra del artculo, si hay existencias el
pedido se atiende.
Prepara( )
:Pedido
1.3
1.1 Existe:=RevisaExistencia( )
:Artculo
:OrdenCompra
Diagramas de Secuencia y
Colaboracin
Ambos diagramas muestran la interaccin entre objetos,
pero el Diagrama de Secuencia reserva una dimension
para el tiempo haciendo ms fcil observar el orden de
ejecucin de los mensajes, mientras que el Diagrama de
Colaboracin los enumera. Ambos diagramas representan
lo mismo y puede transformarse de uno a otro sin perdida de
informacin.
Imprimir
(arch)
:computadora
1: Imprimir(arch)
:impresora
:ServidorImpresion
:cola
Ejercicio de Diagrama de
Colaboracin
En
una biblioteca un lector (socio) escoge un libro
si desea prestarlo se lo solicita al encargado, el
encargado verifica la situacion del libro (algunos
solo salen para sala o tal vez esten prestados) y
luego verifica la situacion del socio, si estas
verificaciones son conformes entonces se realiza
el prestamo del libro.
Solucin en las
hojas de Word y en
Rose
6. Diagramas de Estados
Definicin: Describe el comportamiento de un
elemento del modelo, mostrando la posible
secuencia de estados en los que puede entrar
el objeto y como cambia al reaccionar ante un
evento durante su ciclo de vida.
Un Diagrama de Estados esta compuesto por:
- Estados
- Eventos
- Transiciones
evento
Elementos de un Diagrama de
Estados
Estado
Estado:
Identifica un periodo de tiempo
del objeto (no instantneo) en el cual el
objeto esta esperando alguna condicin,
operacin u evento, tiene cierto estado
caracterstico o puede recibir cierto tipo
de estmulos.
Evento: Es una ocurrencia que puede
causar la transicin del objeto de un
estado a otro.
Transicin: Una transicin es una
relacin entre dos estados que indica que
un objeto en un primer estado puede
entrar a un segundo estado y ejecutar
ciertas operaciones, cuando un evento
ocurre. Se representa como una lnea
slida entre dos estados
inicial
Estado1
Evento( )
Transicin
Estado2
Estado
final
en rojo
suspender
cuenta
activar cuenta
Cerrada
cerrar cuenta
Suspendida
7. Diagramas de Actividad
Definicin: Muestra las operaciones que se
realizan para conseguir un objetivo. Es un caso
especial de un diagrama de estados donde todos
los estados ejecutan una tarea. Se utilizan para dar
detalle a un caso de uso, modelando los flujos de
trabajo u operaciones.
Un Diagrama de Actividad esta compuesto por:
- Estados de actividad o simplemente
Actividad
- Estados de accin o simplemente Accin
- Transiciones
Elementos de un Diagrama de
Actividad
Estados
de actividad (Actividad).- Son estados que llevan
a cabo alguna actividad. No son atmicos es decir pueden
descomponerse. Pueden ser interrumpidos y se consideran
que toman algn tiempo en completarse.
Cliente
Sol. de servicio
Vendedor
Jefe Ventas
Decide costo
Consulta tarifa
[Tarifa no OK]
[Tarifa OK]
Consulta disponib.
Ingresa orden
Negoc. condiciones
8. Diagramas de Componentes
Definicin: Un diagrama de componentes
muestra las dependencias lgicas entre
componentes software, tales como archivos de
cdigo fuente, binarios, ejecutables, tablas, etc.
Un Diagrama de Componentes esta compuesto
por:
- Componentes
- Interfaces
- Relaciones de realizacin y dependencia
Elementos de un Diagrama de
Componentes
. . . Elementos de un Diag. de
Componentes
Interfaces.- Es una coleccin de operaciones que
son usadas para especificar un servicio provisto
por una clase o un componente. Esto permite
utilizar los servicios sin abrumarnos con sus
detalles de implementacin asimismo se puede
cambiar los componentes pero si sus interfaces
son las mismas entonces este cambio es inmediato
y no afecta al resto del sistema.
Interface
<<interface>>
<<interface>>
Estereotipos de Componentes
executable.- son componentes que
pueden ejecutarse en un nodo.
library.- son las libreras estticas o
dinmicas.
table.- un componente que es una
tabla de una base de datos.
file.- un componente que es un
archivo de cdigo fuente o datos.
document.- un componente que es
un documento.
Ejemplo de un Diagrama de
Se Componentes
tiene un robot que es manejado mediante la librera manejo.dll, la cual
implementa dos grupos de interfaces Imanejo e Iautoprueba. La interfaz Imanejo
es utilizada por camino.dll, la cual proporciona el comportamiento a seguir
cuando el robot se desplaza sin contratiempos. Si el robot encuentra algn
obstculo, camino.dll utiliza a colision.dll. Peridicamente, el robot se
autocomprueba, para ello manejo.dll, cuenta con la interfaz Iautoprueba la cual
es utilizada por test.dll que le ordena las pruebas que debe realizar. Muestre los
componentes y sus interfaces mediante un Diagrama de Componentes
Manejo.dll
Imanejo
Camino.dll
Iautoprueba
Test.dll
Colisin.dll
9. Diagramas de Despliegue
Definicin: Muestra el hardware en donde ser
desplegado los componentes de nuestro sistema.
Esto significa que muestra las relaciones fisicas
entre el software y el hardware.
Un Diagrama de Despliegue esta compuesto por:
- Nodos
- Conexiones entre nodos
Elementos de un Diagrama de
Despliegue
Nodos:
Representacin de cualquier tipo de
hardware sobre el cual correr o del que se servir
nuestro sistema.
Ser un Dispositivo si no tiene
Ser un Procesador,
si tiene capacidad de
proceso como una PC.
<<procesador>>
Ejemplo de un Diagrama de
Despliegue
Un
usuario que se conecta va Internet a un Servidor de
Aplicaciones de una empresa. En este instante el componente
CLIENTE viaja desde el Servidor de Aplicaciones hacia la
PC del usuario, luego el componente CLIENTE puede
solicitar algn servicio al componente APLICACION el cual
buscar los datos necesarios en el componente BD ubicado
en el Servidor de Base de Datos.
<<procesador>>
PC usuario
<<HTTP>>
<<procesador>>
Servidor de Aplicaciones
<<Becomes>>
<<procesador>>
<<TCP/IP>>Servidor de BD
Cliente
BD
Cliente
Aplicacin
Conclusiones:
1. El UML es el lenguaje estndar a
nivel mundial para representar
modelos orientados a objetos de
sistemas intensivos en software.
2. Debemos utilizarlo en todos nuestros
modelos para poder comunicarnos
con otros desarrolladores.
Recomendaciones:
Apostar por enfoque Orientado a Objetos
-Primero aprenda la notacin
-Segundo aprenda la
herramienta
Rational
software