Você está na página 1de 19

CICLO 2012-II Mdulo: I

Unidad: 2
Semana: 3

ANALISIS Y DISEO DE
SISTEMAS DE INFORMACIN
Tema:

Lenguaje de Modelamiento Unificado


(UML)
Ing. Antonio Arqque Pantigozo

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
2

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
Booch

Jacobson

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

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

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

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

Modelando con UML

Component
Component
Diagrams
Diagramas
Diagrams de

Use Case
Use Case
Diagrams
Diagramas de
Diagrams
Casos de Uso

State
State
Diagrams
Diagramas de
Diagrams
Clases

Despliegue

State
State
Diagramas de
Diagrams
Diagrams
Componentes

Diagramas de
Actividad

State
State
Diagrams
Diagramas de
Diagrams
Objetos
Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Secuencia

Modelo

Scenario
Scenario
Diagrams
Diagramas de
Diagrams
Colaboracin

Scenario
Scenario
Diagrams
Diagramas de
Diagrams
Estados

10

Diagrama 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
11

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
12

Relaciones entre los elementos


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

Director de
Escuela
Secretaria

13

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

14

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

15

. . . Relaciones entre los elementos


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

<<include>>

Ejemplo:
Registrar matrcula

<<include>>
Validar usuario

Aperturar cursos

<<include>>
16

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

<<extend>>

Ejemplo:
<<extend>>

Registrar matrcula

Registrar matrcula
extempornea

17

Ejemplo de Diagrama de Casos de Uso


Caso de uso Registrar Matrcula
<<extend>>
Usuario

Registrar matrcula
extempornea

Registrar matrcula

<<include>>
<<comunicates>>

Secretaria

Validar usuario

<<include>>

Aperturar cursos
Director de
<<comunicates>>
Escuela
18

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 casos de uso esta compuesto por
- Clases
- Relaciones entre clases
19

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

Automovil

Ejemplo:
La Clase Automvil Matricula

Operacion1
operacion2
...

Color
Velocidad
Arrancar( )
Acelerar( )
Frenar( )
20

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

21

Relaciones entre Clases

Clase independiente

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

Clase dependiente

Televisin

...

...

Canal

...
Grabar(c : canal)

...
cambiar(c : canal)

22

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

Red
Terrestre

camin

Areo

auto

avin

WAN

helicptero

LAN

23

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

Alumno

0..*

1..*

24

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
Teclad
incluidos. Muestra una relacin todo - parte.
o
CPU

Red

Monitor

Computador
a
WAN

Mouse

LAN
HUB

Hard
Disk
25

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 del
objeto incluido pero no podra existir si ellos.
Ejemplo: El Hombre esta formado por
cabeza, tronco y extremidades
Hombre

Cabeza

Tronco

Extremidade
s
26

Ejemplo de diagrama de clases:


Motor
Marca
Ao

Vuelo
Vuelo de
de un
un avion
avioncomercial
comercial
Cliente
Nombre
Nacionalidad

1..4
1

1
Boleto
Nro

Avin
NroPlaca
Modelo

Vuelo
IdVuelo
FechaSal
Destino

AvionCarga
CapCarga

AvinPasajeros
NroAsientos
27

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.

28

Ejemplo de diagrama de objetos:


Vuelo de un avion comercial

:Motor
Marca: General Motors
Ao: 1996

:Cliente
Nombre: Juan Prez
Nacionalidad: peruana

1..4

1
:AvinPasajeros
1
:Boleto
Nro: 102030

*
*

:Vuelo
IdVuelo: 666
FechaSal: 01/01/2001
Destino: Lima

NroPlaca: XXX123
Modelo: Boeing 777
Nro: 555
Capacidad: 100

29

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
30

10

Elementos de un Diagrama de
Secuencia
Son las entidades que participan en la
interaccin para lograr una funcionalidad,
stas envan y o reciben mensajes.

Objetos o actores
objeto:Clase

Lnea de vida de un objeto


Indica la vida de un objeto durante la
interaccin y se representa mediante una
lnea vertical discontnua.

objeto:Clase

31

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.

32

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

11

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)

34

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
35

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.4 [reorden]: colocarOrdenCompra( )
1.5[Existe]:Entrega( )
:NotaSalida

:OrdenCompra

36

12

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

:impresora

1: Imprimir(arch)

1.1: [ impresora OK]


Imprimir(arch)

1.2: [impresora !OK]


Imprimir(arch)
:ServidorImpresion

:cola
37

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
38

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.

Estado inicial

Estado1
Evento( )

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

Transicin
Estado2

Estado final
39

13

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
retiro [saldo<0] / poner en rojo

en azul

en rojo

depsito [saldo>0] / poner en azul

suspender cuenta
activar cuenta

Cerrada

cerrar cuenta

Suspendid
a

40

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
41

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.
Estado de accin (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 un estado de actividad a otro, una
transicin ocurre al finalizar una actividad.
Otros elementos
Decisin
Barra de Sincronizacin

Carriles

Estados inicial y final

42

14

Ejemplo de Diagrama de Actividad


Muestre un proceso comn de una solicitud de servicio.
Cliente

Vendedor

Jefe Ventas

Pide datos cliente


Sol. de servicio
Pide datos
Servicio

Consulta tarifa

Decide costo

[Tarifa no OK]

Negoc. condiciones

[Tarifa OK]
Consulta disponib.

Ingresa orden

43

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
44

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
nombre
de interfaces bien definidas
las cuales son implementadas
por los componentes.
45

15

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

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

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

16

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
49

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

50

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

17

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>>
<<procesador>>
<<procesador>> <<HTTP>>Servidor de Aplicaciones
Servidor de BD
<<TCP/IP>>
PC usuario

Cliente

<<Becomes>>

BD

Cliente
Aplicacin

52

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

Recomendaciones:
Apostar por enfoque Orientado a Objetos
-Primero aprenda la notacin

-Segundo aprenda la herramienta

-Tercero aprenda el Proceso


54

18

Gracias por su Atencin

55

19

Você também pode gostar