You are on page 1of 38

Lenguaje Unificado de Modelado UML

Metodologas de Desarrollo Software

Jose Luis Esquivel Garnier

Diagramas
Modelo: abstraccin semnticamente cerrada de un sistema. Vista: proyeccin de la organizacin y estructura de un modelo del sistema, centrada en un aspecto del sistema. Diagrama: representacin grfica de un conjunto de elementos, normalmente mostrado como un grafo conexo de nodos y arcos.

Diagramas
Diagramas estructurales: representan partes estticas de un sistema, tales como clases, objetos, componentes, etc. Diagramas de comportamiento: especifican las partes dinmicas de un sistema tales como estados del sistema, flujo de control de actividades, secuencia de mensajes, etc.

Diagramas estructurales
Diagramas de clases: conjunto de clases, interfaces y colaboraciones, y las relaciones entre ellas. Diagramas de objetos: instantneas de las instancias de los elementos encontrados en los diagramas de clases. Diagramas de componentes: conjunto de componentes y sus relaciones. Diagramas de despliegue: conjunto de nodos y sus relaciones.

Diagramas de comportamiento
Diagramas de casos de uso: conjunto de casos de uso y actores y sus relaciones. Son importantes para organizar y modelar el sistema. Diagramas de interaccin:
Diagramas de secuencia: conjunto de objetos y los mensajes enviados y recibidos por ellos. Resalta ordenacin temporal de los mensajes. Diagramas de colaboracin: Resalta organizacin estructural de objetos que envan y reciben mensajes.

Diagramas de comportamiento
Diagramas de estados: representan mquinas de estados, construida por estados, transiciones, eventos y actividades.tiles para modelar sistemas reactivos. Diagramas de actividades: muestran el flujo de actividades de un sistema. Importantes para modelar la funcin de un sistema, as como para resaltar el flujo de control entre objetos.

Vistas
Vista de diseo Vista de casos de uso
Vista de procesos Vista de despliegue Vista de implementacin

Vistas
Vista de casos de uso: comportamiento del sistema tal y como es percibido por usuarios, analistas y encargados de pruebas. Vista de diseo: comprende el vocabulario del problema y su solucin, y soporta los requisitos funcionales del sistema (servicios que el sistema debera proporcionar a los usuarios finales).

Vistas
Vista de procesos: hilos y procesos que forman mecanismos de sincronizacin y concurrencia del sistema. Se hace mayor nfasis en las clases activas. Vista de implementacin: componentes y archivos que se utilizan para ensamblar y hacer disponible el sistema fsico. Vista de despliegue: nodos que forman la topologa hardware sobre la que se ejecuta el sistema. Distribucin, entrega e instalacin de las partes.

Relacin Vistas - Diagramas


Vista de casos de uso Vista de diseo Diagramas de casos de uso Diagramas de actividades Diagramas de clases Diagramas de interaccin Diagramas de estados Diagramas de clase Diagramas de interaccin

Vista de procesos

Vista de implementacin Diagramas de componentes Vista de despliegue Diagrama de despliegue

Diagrama de clases - Clase


Visibilidad
+ pblico - privado # protegido NombreClase [visibilidad] atributo1: tipo [=valordefecto] [visibilidad] atributo2: tipo [=valordefecto] [visibilidad] operacin1(argumentos): retorno [visibilidad] operacin2(argumentos): retorno Responsabilidades -- responsabilidad1 -- responsabilidad2

Responsabilidades
Descripcin de lo que tiene que realizar la clase

Diagrama de clases - Relaciones


Notacin general
Clase

Clase1

Rol 1 [0..*]

Relacin 1-2 {Restriccin}

Plantilla
Rol 2 [0..*]

Diagrama de clases - Relaciones


Relacin de dependencia
Clase1 Clase2

Relacin de agregacin
Clase1 Clase2

Relacin de asociacin
Clase1 Clase2

Relacin de composicin
Clase1 Clase2

Diagrama de clases - Relaciones


Relacin de generalizacin Relacin de navegabilidad
Clase1 Clase2

Clase1

Clases asociacin
Clase2

Clase3

Clase1 Clase3

Clase2

Diagrama de clases - Ejemplo


Empresa
1
1 ..* 1 ..*

Departamento nombre: Nombre


Ubicacin
* *

Oficina

direccin: String telfono: Number

{subconjunto}

miembro

1 ..*

director

Persona nombre: Nombre obtenerFoto(p:Foto) Foto

OficinaPrincipal

foto: Imagen

Mecanismos comunes
Nota: comentarios asociados a uno o varios elementos
Estereotipo: extensin del vocabulario que permite crear nuevos tipos de elementos
Nota
clase

interfaz Ipedidos

create

Mecanismos comunes
Valor etiquetado: extensin Clase {Versin = 1.1} de las propiedades de un elemento. Permite aadir nueva informacin. Restriccin: extensin de la {atrib1 != NULL} Clase1 semntica de un elemento que permite aadir nuevas {xor} reglas. Clase2 Clase3

Interfaces y tipos
Interfaz: coleccin de operaciones que se usa para especificar un servicio de una clase o componente. Tipo: estereotipo de una clase utilizado para especificar un dominio de objetos, junto a las operaciones aplicables al objeto.

Interfaces
Objetivo Observador RastreadorDeObjetivo

Objetivo
id posicinActual establecerPos() establecerVel()

interfaz Observador

RastreadorDeObjetivo actualizar()

Paquetes y subsistemas
Mecanismo de propsito general para organizar elementos en grupos Contiene elementos por composicin
Paquete1 + Clase1 - Clase2 import

Paquete2 + Clase3 - Clase4

Diagrama de casos de uso


Cubre principalmente el comportamiento del sistema(servicios visibles externamente) Se utiliza para:
Modelar el contexto de un sistema. Se especifican los actores y se delimita el sistema. Modelar los requisitos de un sistema. Qu debera hacer el sistema desde un punto de vista externo, independientemente de cmo lo haga.

Diagrama de casos de uso


Realizar llamada telefnica
extend

Realizar llamada de conferencia

Red telefnica

Recibir llamada telefnica

extend

Recibir llamada adicional

Usuario

Usar Agenda Telfono mvil

Diagramas de interaccin
Diagrama de secuencia: destaca la ordenacin temporal de los mensajes. Diagrama de colaboracin: destaca la organizacin estructural de los objetos que envan y reciben mensajes.

Diagrama de secuencia
c:Cliente
create

p:ProxyODBC
:Transaccin
establecerValores(d,3,4)

establecerAcciones(a,d,o)

establecerValores(a,c)

resultado
destroy

Diagrama de colaboracin
c:Cliente

1 : create 2 : establecerAcciones(a,d,o) 3 : destroy

local

global

:Transaccin
2.1 : establecerValores(d,3,4) 2.2 : establecerValores(a,c)

p:ProxyODBC

Diagrama de estados
Los diagramas de estados pueden asociarse a las clases, los casos de uso o sistemas completos. Objeto reactivo es aqul para el que la mejor forma de caracterizar su comportamiento es sealar cul es su respuesta a los eventos lanzados desde fuera de su contexto. Tiene un ciclo de vida bien definido.

Diagrama de estados
Recibiendo Inactivo
sonando

Conectado
enviarFax colgar cabeceraOk

Limpiando
verificacinOk

error / imprimirError

Transmisin

Procesando

Diagrama de actividades
Cliente Ventas Almacn Solicitar producto

Procesar pedido Extraer artculos

Enviar pedido

Recibir pedido

Facturar al cliente

Pagar factura Cerrar pedido

Diagrama de actividades
Cliente Ventas Almacn Solicitar devoluc Obtener n devoluc Enviar artculo Recibir artculo i:Artculo [devuelto] Recolocar artculo

Actualizar factura

i:Artculo [disponib]

Diagrama de componentes
Se utiliza para modelar aspectos fsicos. Vista de implementacin esttica. Cosas fsicas: ejecutables, bibliotecas, tablas, archivos y documentos. Sirve para:
Modelar cdigo fuente. Modelar versiones ejecutables. Modelar bases de datos fsicas. Modelar sistemas adaptables.

Diagrama de componentes
Modelado de cdigo fuente
signal.h
{version = 4.5}

signal.h
{version = 4.0}

signal.h
{version = 3.5}

<<parent>>

<<parent>>

signal.cpp
irq.h interp.cpp

Diagrama de componentes
Modelado de una versin ejecutable
trayectoria.dll colision.dll

motor.dll
IMotor

IAutoTest

Diagrama de componentes
Modelado de una base de datos fsica
Universidad.db

curso

departamento

profesor

clase

estudiante

Diagrama de componentes
Modelado de sistemas adaptables

:Universidad.db
{location = Server A}

:Universidad.db
{location = Server B}

<<copy>>

Diagrama de componentes
find.html

Index.html
<<hyperlink>>

Find.exe

dbacs.dll

nateng.dll

Diagrama de despliegue
Muestra la configuracin de nodos que participan en la ejecucin y de los componentes que residen en ellos. Vista de despliegue esttica (topologa del hardware). Se utilizan para:
Modelar sistemas empotrados. Modelar sistemas cliente/servidor. Modelar sistemas completamente distribuidos.

Diagrama de despliegue
Internet

clientes

servidores Consola A 2..* <<procesador>> servidor cache 4..* <<procesador>> servidor Despliega admin.exe logexc.exe

Consola B

Despliega http.exe rting.exe

Referencias
Grady Booch, James Rumbaugh, Ivar Jacobson, El Lenguaje Unificado de Modelado, Addison-Wesley 1999

You might also like