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

El Lenguaje

Unificado de
Modelado
Ing. Romero Huayta,Alejandro

El Tringulo de Desarrollo de Software

Proceso

Notacin

Herramienta
Visual

El Lenguaje Unificado de Modelado


Definicin:
El UML es un lenguaje grfico para la especificacin,
visualizacin, construccin y documentacin de modelos
orientados a objetos que representan sistemas intensivos
en software.
= Unified Modeling Language

UML no es un mtodo sino un lenguaje de


modelamiento

Objetivo del UML


Describir cualquier tipo de sistema en
trminos de diagramas orientados a objetos
Algunas categoras de Sistemas
Sistemas de Informacin
Sistemas de Tiempo Real
Sistemas Embebidos
Sistemas Distribuidos
Software de Sistemas
Sistemas de Negocios

UML toma lo mejor de varios mtodos


Rumbaugh
Jacobson

Booch
Odell

Meyer

Clasificacin

Pre y Post condiciones

Shlaer-Mellor
Ciclo de vida de objetos

Harel

Mquinas de estado

Gamma et. al.


Marcos de trabajo,
patrones, notas

Embly
Singleton clases

Wirfs-Brock
Fusion

Responsabilidades

Descripcin de operaciones,
numeracin de mensajes

Caractersticas del UML


- Proporciona a los desarrolladores un lenguaje de
modelamiento ampliamente aceptado y listo para usar.
- Integra las mejores prcticas del desarrollo de software.
- Permite el intercambio de modelos entre las diferentes
herramientas de software.
- Es independiente del lenguaje de programacin y de
mtodos y procesos particulares de desarrollo de software.
- Proporciona sus propios mecanismos de extensin
- Agrupa los conceptos de orientacin a objetos definiendo
su significado.

Por qu aprender UML


Porque UML es el lenguaje de modelado de objetos
estndar dominante.
-Porque es apoyado por metodlogos y empresas
importantes en Tecnologas de Informacin.
-Porque cuenta con la aprobacin de la OMG como
notacin estndar.
-Porque todas las herramientas modernas proporcionan
soporte para UML.
-Porque nos facilita el aprendizaje del enfoque orientado
a objetos pues basta con aprender este estndar y no
perdernos en toda la jungla de mtodos y notaciones
existentes.
-

Breve historia del UML


- Los lenguajes de modelado
orientados
al
objeto
comenzaron a aparecer a
mediados de la dcada de '70.
- El nmero de lenguajes que
modelaban objetos aument
de menos de 10 a ms de 50
durante el perodo entre 19891994.
- Muchos de los que utilizaban estos lenguajes no
encontraban satisfaccin completa en ninguno de ellos,
esto motiv la llamada "Guerra de los Mtodos".

. . . Breve historia del UML


. . . La Guerra de los Mtodos
Existan muchos mtodos y cada uno tena
un lenguaje de modelado propio.
Esto dificult el aprendizaje, aplicacin,
construccin, uso de herramientas, etc.
Pugna entre los distintos gurs que
defendan sus propios mtodos y
simbologas.
Se observa la necesidad de una notacin
estndar.

. . . Breve historia del UML


El desarrollo del UML comenz en finales de
1994 en que Grady Booch y Jim Rumbaugh
de Rational Software Corporation,
comenzaron su trabajo sobre la unificacin de
los mtodos de Booch y de OMT (Object
Modeling Technique).
A finales de 1995, Ivar Jacobson y su
compaa de Objectory se unieron a
Rational y combinaron sus mtodos.
Booch, Rumbaugh, y Jacobson, definieron el

UML 0,9 y 0,91 en junio y octubre de 1996.

10

. . . Breve historia del UML

UML 1.1

Sep 97
Ene 97

UML 1.0
Microsoft
Oracle
IBM, HP
Etc.

Jun 96

UML 0.9

Oct 95

Mtodo Unificado 0.8

Ivar Jacobson se une a


Rational en otoo 95
James Rumbaugh se une
a Rational en Oct 94

Use Case
(OOSE)
OMT

Booch

Otros mtodos

11

Versiones del UML


1997
(Adoptada por OMG)

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

12

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

Diagrama de Casos de Uso


Diagrama de Clases
Diagrama de Objetos
Diagrama de Secuencia
Diagrama de Colaboracin

Vista de
despliegue

Vista de
procesos

Diagrama de Estado
Diagrama de Actividad
Diagrama de Componentes
Diagrama de Despliegue

13

Modelando con UML

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

14

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

15

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.

Nombre del Caso de Uso

Actor
Un actor es un conjunto externo
uniforme de personas, sistemas,
o cosas que solicita un servicio al
sistema que estamos modelando.
Nombre

16

Relaciones entre los elementos


Relaciones entre actores
La nica relacin permitida
entre los actores es la
Relacin de Generalizacin.

Director de
Escuela

Usuario
(Sist. Matrcula)

17

. . . Relaciones entre los elementos


Relaciones entre un actor y un caso de uso
La nica relacin permitida es una Asociacin y se le
conoce como Relacin de Comunicacin o
<<comunicates>>.

<<comunicates>>

Registra
Matrcula

Secretaria

18

. . . Relaciones entre los elementos


Relaciones entre casos de uso
Pueden ser de tres tipos:
1. Relacin de generalizacin
El Caso de Uso de A hereda la
especificacin del Caso de Uso B.

Cobranza
en efectivo
Realizar
cobranza

Cobranza
con tarjeta
Cobranza
con cheque

19

. . . Relaciones entre los elementos


2. Relacin <<include>>
El caso de uso A siempre
incluye (o usa) el
comportamiento de B.

<<include>>
A

Ejemplo:
Registrar matrcula

<<include>>
Validar usuario

Aperturar cursos

<<include>>

20

. . . Relaciones entre los elementos


3. Relacin <<extend>>
El caso de uso A, extiende al
caso de uso B. A ocurre en

casos especiales para


extender B.

Ejemplo:
<<extend>>

<<extend>>
A

Registrar matrcula

Registrar matrcula
extempornea

21

Ejemplo de Diagrama de Casos de Uso


Caso de uso Registrar Matrcula

Registrar matrcula
extempornea

<<extend>>
Usuario

Registrar matrcula

<<include>>
<<comunicates>>

Secretaria

Validar usuario

<<include>>

Aperturar cursos
Director de
<<comunicates>>
Escuela

22

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

23

Clases
Definicin:
Es un conjunto de objetos que tienen los mismos
atributos y comportamiento.
Representacin:
Se representa mediante un rectngulo con tres partes:
NombreClase
Atributo1
Atributo2
...
Operacion1
operacion2

...

Automovil

Ejemplo:
La Clase Automvil Matricula

Color
Velocidad
Arrancar( )
Acelerar( )
Frenar( )

24

Relaciones entre Clases


1.- Relacin de Dependencia
2.- Relacin de Generalizacin
3.- Relacin de Asociacin
3.1.- Asociacin de Agregacin
3.2.- Asociacin de Composicin

25

. . . Relaciones entre Clases


1.- Relacin de dependencia
Es una relacin semntica entre dos
elementos en la cual un cambio en un
elemento (el elemento independiente)
puede afectar a la semntica del otro
elemento (elemento dependiente).
Video
...
...
Grabar(c : canal)

Clase independiente

Clase dependiente

Televisin
Canal

...
...
cambiar(c : canal)

26

. . . Relaciones entre Clases


2.- Relacin de generalizacin
Es una relacin entre dos clases en donde
una de ellas, llamada subclase o clase hija
(subclass o child), hereda los atributos y el
comportamiento de otra, llamada superclase
o clase padre (superclass o parent).

Clase Padre

Clase hija

Vehculo

Terrestre

camin

auto

Red

Areo

avin

helicptero

WAN

LAN

27

. . . Relaciones entre Clases


3.- Relacin de asociacin
Es una relacin estructural que describe un conjunto de
enlaces o conexiones entre dos o ms objetos. Esta
relacin entre clases permite asociar objetos que
colaboran entre si.
Acta

0..*

1..*

Alumno

28

. . . Relaciones entre Clases


3.1.- Asociacin de Agregacin
Es un tipo especial de asociacin e indica que el objeto
base utiliza al objeto incluido para poder funcionar. Si el
objeto base desaparece no desaparecen los objetos
incluidos. Muestra una relacin todo - parte.
Teclado
Red

CPU
Computadora

WAN

Monitor
Mouse

LAN
HUB

Hard
Disk

29

. . . Relaciones entre Clases


3.2.- Asociacin de Composicin
Es un tipo de asociacin, en donde el tiempo de vida del
objeto incluido est condicionado por el tiempo de vida
del que lo incluye. El objeto incluido slo existe mientras
exista el objeto base. El objeto se construye a partir de
los objetos incluidos pero no podra existir si ellos.
Ejemplo: El Hombre esta formado por
cabeza, tronco y extremidades
Hombre

Cabeza

Tronco

Extremidades

30

Ejemplo de diagrama de clases:


Vuelo de un avion comercial

Motor
Marca
Ao

Cliente
Nombre
Nacionalidad

1..4
1

1
1
Boleto
Nro

*
*

Avin
NroPlaca
Modelo

Vuelo
IdVuelo
FechaSal
Destino

AvionCarga
CapCarga

AvinPasajeros
NroAsientos

31

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.

32

Ejemplo de diagrama de objetos:


Vuelo de un avion comercial
:Cliente

:Motor
Marca: General Motors
Ao: 1996

Nombre: Juan Prez


Nacionalidad: peruana

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

33

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

34

Elementos de un Diagrama de Secuencia


Objetos o actores
objeto:Clase

Son las entidades que participan


en la interaccin para lograr una
funcionalidad, stas envan y o
reciben mensajes.

Lnea de vida de un objeto


objeto:Clase

Indica la vida de un objeto


durante la interaccin y se
representa mediante una lnea
vertical discontnua.

35

Elementos de un Diagrama de Secuencia


Activacin o foco de Control
objeto:Clase

Muestra el periodo de tiempo en


el cual el objeto se encuentra
desarrollando una operacin.

Mensajes
objeto:Clase

objeto:Clase

Son las invocaciones que envia


un objeto a otro para que realice
una tarea.

36

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 mensaje
sigue con su trabajo sin esperar respuesta
del objeto receptor del mensaje.

37

Ejemplo de Diagrama de Secuencia


Un usuario desea imprimir un archivo para lo cual le enva la orden a
la computadora, la cual a su vez se la enva al servidor de impresin
siendo este el encargado de dirigirlo a la impresora. En caso de que
la impresora este ocupada el archivo a imprimir se dirige hacia la cola
de impresin, la cual en su momento le indicar al servidor de
impresin que tiene el archivo pendiente por imprimir.
Imprimir (arch)

:computadora

:ServidorImpresion

:impresora

:cola

Imprimir(arch)
[ impresora OK]
Imprimir(arch)
[impresora !OK]
Imprimir(arch)

38

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

39

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*[para cada rengln]: Prepara( )
:renglnPedido

1.3 reorden:=NecesitaReorden( )

1.1 Existe:=RevisaExistencia( )

:Artculo

1.2 [Existe]: descuenta( )


1.5[Existe]:Entrega( )
:NotaSalida

1.4 [reorden]: colocarOrdenCompra( )

:OrdenCompra

40

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 prdida de informacin.
Imprimir (arch)

:computadora

1: Imprimir(arch)

:impresora

1.1: [ impresora OK]


Imprimir(arch)
1.2: [impresora !OK]
Imprimir(arch)

:ServidorImpresion

:cola

41

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

evento

- Transiciones

42

Elementos de un Diagrama de Estados


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

Estado inicial

Estado1
Evento( )
Transicin

Estado2

Estado final

43

Ejemplo de Diagrama de Estados


Una cuenta bancaria puede estar activa, suspendida o cerrada.
Cuando esta en activa puede a su vez estar en azul (si el saldo es +)
o en rojo (si el saldo es -). Muestre su diagrama de estados.
Activa
en azul

retiro [saldo<0] / poner en rojo

en rojo

depsito [saldo>0] / poner en azul

suspender cuenta
activar cuenta

Cerrada

cerrar cuenta

Suspendida

44

7. Diagramas de Actividad
Definicin: Muestra las operaciones que se realizan para
conseguir un objetivo. 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

45

Elementos de un Diagrama de Actividad


Actividad.- Conjunto de acciones que buscar cumplir un objetivo. No
son atmicos es decir pueden descomponerse. Pueden ser
interrumpidos y se consideran que toman algn tiempo en
completarse.
Accin.- Es una actividad que no se puede descomponer y permiten
modelar un paso dentro de un algoritmo. Se considera que su
ejecucin toma un tiempo insignificante.
Transiciones.- Es el paso de una actividad a otra, una transicin
ocurre al finalizar una actividad.
Otros elementos
Decisin
Barra de Sincronizacin

Carriles

Estados inicial y final

46

Ejemplo de Diagrama de Actividad


Muestre un proceso comn de una solicitud de servicio.

Cliente
Sol. de servicio

Vendedor

Jefe Ventas

Pide datos cliente


Pide datos
Servicio

Decide costo

Consulta tarifa
[Tarifa no OK]
[Tarifa OK]

Negoc. condiciones

Consulta disponib.
Ingresa orden

47

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

48

Elementos de un Diagrama de Componentes


Componentes.Son cada una de las partes fsicas y reemplazable de un
sistema.
Se dice que es parte fsica en el sentido en que viven en
el mundo de bits y no son slo esquemas conceptuales.
Se dice que es reemplazable pues puede ser reemplazado
por un nuevo componente que mejore la funcionalidad o
aada alguna sin que afecte a otros componentes.
Esto se logra mediante el uso
de interfaces bien definidas
las cuales son implementadas
por los componentes.

nombre

49

. . . 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>>

50

Relaciones entre Componentes


Relacin de realizacin.- El
componente que realiza o
implementa la interfaz es
conectado mediante una lnea
discontnua terminada en una
cabeza de flecha hueca.

<<interface>>

Relacin de dependencia.Ocurre entre las componentes


que utilizan la interfaz
implementada por otra
componente y la respectiva
interfaz. Se representa con una
lnea discontnua con cabeza de
flecha abierta.

51

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.

52

Ejemplo de un Diagrama de Componentes


Se 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

53

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

54

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 Procesador, si
tiene capacidad de
proceso como una PC.
<<procesador>>

Ser un Dispositivo si no tiene capacidad


de proceso. Vienen a ser los equipos que
sirven de interfaz con el mundo real como
telfono, impresora, sensores, etc.
<<dispositivo>>

Conexiones: Los nodos se conectan


mediante asociaciones de
comunicacin fisica o no, como
conexin satelital, cable serial, seal
infraroja, etc.

55

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

56

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.

57

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