Está en la página 1de 54

UML

Lenguaje de Modelamiento
Unificado
Silvia Aramndiz
Prof. de Laboratorio
de Ing. de SW

Modelamiento
Construir SW de calidad que satisfaga las
necesidades de los usuarios.
Porque quien logra un SW de calidad tiene
un negocio sostenible.
El SW debe satisfacer las necesidades
cambiantes de sus usuarios y la empresa
Conocer e involucrar a los usuarios para
extraer requisitos reales del sistema.

EL MODELAMIENTO ES UNA
PARTE CENTRAL DE TODAS LAS
ACTIVIDADES QUE CONDUCEN A
LA PRODUCCIN DE BUEN SW

Se construyen modelos
para:
Comunicar la estructura deseada y el
comportamiento del sistema
Visualizar y controlar la arquitectura
del sistema
Comprender mejor el sistema que
estamos construyendo
Controlar el riesgo

LA IMPORTANCIA DE
MODELAR
Ejemplo de la casa del perro
Con madera, serrucho y clavos construimos
una casa de perro ms o menos, mientras
no se llueva estar bien, si no, hacemos una
nueva
Para construir una casa para nosotros
necesitamos mayor planificacin. Como
mnimo se harn algunos bocetos del
aspecto, planos de la distribucin,
electricidad, calefaccin y fontanera.

LA IMPORTANCIA DE
MODELAR
Si se construyera un edificio de
oficinas, indudablemente que se
requerirn muchos planos de forma
extensiva, porque el costo de fallar
es alto.
Muchas empresas de desarrollo de
SW comienzan queriendo construir
rascacielos, pero enfocan el problema
como si estuvieran construyendo la
casa del perro

LA IMPORTANCIA DE
MODELAR
Para conseguir el xito el truco est
en crear el SW apropiado y en
imaginar cmo escribir menos SW.
Los proyectos de SW que fracasan lo
hacen por mrito propio, pero los
proyectos con xito tienen en comn
el uso del modelado

QU ES UN MODELO
El modelado es una tcnica de
ingeniera probada y bien aceptada.
El modelado no es slo parte de la
construccin, tambin forma parte de
la sociologa, economa y la gestin
empresarial.
Un modelo es una simplificacin de la
realidad.

QU ES UN MODELO
Un modelo proporciona los planos de un
sistema. Los modelos proporcionan planos
detallados o planos generales que ofrecen
una visin global del sistema.
Incluyen elementos de gran influencia
Omite elementos menores de menos relevancia

Un modelo puede ser estructural,


destacando la organizacin del sistema, o
puede ser de comportamiento, resaltando
su dinmica.

A travs del modelado,


conseguimos 4 objetivos:
1. Visualizar cmo es o queremos que
sea el sistema.
2. Especificar la estructura o el
comportamiento de un sistema.
3. Proporcionar plantillas que nos guen
en la construccin de un sistema.
4. Documentar las decisiones que
hemos adoptado.

CONSTRUIMOS MODELOS DE
SISTEMAS COMPLEJOS PORQUE
NO PODEMOS COMPRENDER EL
SISTEMA EN SU TOTALIDAD

PRINCIPIOS DEL
MODELADO
1. La eleccin de qu modelos crear
tiene una profunda influencia sobre
cmo se acomete un problema y
cmo se da forma a una solucin.
2. Todo modelo puede ser expresado a
diferentes niveles de precisin

PRINCIPIOS DEL
MODELADO
3. Los mejores modelos estn ligados a
la realidad.
4. Un nico modelo no es suficiente.
Cualquier sistema no trivial se
aborda mejor a travs de un
pequeo conjunto de modelos casi
independientes.

PRESENTACIN DE
UML
UNIFIED MODELING LANGUAGE,
UML; es un lenguaje estndar para
escribir planos de SW.
UML es slo un lenguaje, por lo tanto
es slo parte de un todo del
desarrollo de SW.

PRESENTACIN DE
UML
UML se debera usar en un proceso
que fuese:

dirigido por los casos de uso, que


estos se utilizan como un artefacto
bsico para establecer el
comportamiento deseado del sistema,
para verificar y validar la arquitectura
del sistema, para las pruebas y para la
comunicacin entre las personas
involucradas en el proyecto.

PRESENTACIN DE
UML
centrado en la arquitectura es decir
que la arquitectura del sistema se utiliza
como un artefacto bsico para
conceptualizar, construir, gestionar y
hacer evolucionar el sistema en
desarrollo.

PRESENTACIN DE
UML
iterativo e incremental Un proceso
iterativo es aqul que involucra la
gestin de un flujo de ejecutables del
sistema. Un proceso incremental es
aqul que involucra la continua
integracin de la arquitectura del
sistema para producir esos ejecutables,
donde cada nuevo ejecutable incorpora
mejoras incrementales sobre los otros.

PRESENTACIN DE
UML
UML puede utilizarse para visualizar,
especificar, construir y documentar
los artefactos de un sistema:
VISUALIZAR: comprender lo que se
representa y cmo se llevar a cabo.

PRESENTACIN DE
UML
ESPECIFICAR: construir modelos
precisos, no ambiguos y completos.
CONSTRUIR:
Generar cdigo a partir de un modelo de
UML en un Lenguaje de Programacin
(Ingeniera directa).
Se puede construir un modelo en UML a
partir de una implementacin (Ingeniera
inversa).

PRESENTACIN DE
UML

DOCUMENTAR: Una organizacin de SW


produce toda clase de artefactos adems
de cdigo ejecutable (requisitos,
arquitectura, diseo, cdigo fuente,
planificacin de proyectos, pruebas
prototipos, versiones).
UML cubre la documentacin de la arquitectura
de un sistema y todos su detalles,
Tambin proporciona un lenguaje para expresar
requisitos y pruebas.

PRESENTACIN DE
UML
Finalmente UML proporciona un lenguaje
para modelar las actividades de planificacin
de proyectos y gestin de versiones

MODELO CONCEPTUAL
Para comprender UML se necesita
adquirir un modelo conceptual del
lenguaje, y esto requiere de tres
elementos principales:
BLOQUES BSICOS DE
CONSTRUCCIN
REGLAS DE UML
MECANISMOS COMUNES EN UML

BLOQUES BASICOS DE
CONSTRUCCIN
El vocabulario de UML incluye tres
clases de bloques de construccin:
ELEMENTOS (ABSTRACCIONES)
RELACIONES (LIGAR LOS
ELEMENTOS)
DIAGRAMAS (AGRUPAR ELEMENTOS)

ELEMENTOS EN UML
A)

ELEMENTOS ESTRUCTURALES:
nombres de los modelos UML
1. CLASE: agrupa objetos que
comparten atributos, operaciones,
relaciones y semnticas.
2.

INTERFAZ: coleccin de
operaciones que especifican un
servicio de una clase o componente.

ELEMENTOS EN UML
3. COLABORACIN: define una interaccin y
es una sociedad de roles y otros elementos
que colaboran para proporcionar un
comportamiento cooperativo mayor que la
suma de los comportamientos de sus
elementos.
4. CASO DE USO: descripcin de un conjunto
de secuencias de acciones que un sistema
ejecuta y que produce un resultado
observable de inters para un actor
particular.

ELEMENTOS EN UML
5. CLASE ACTIVA: clase cuyos
objetos tienen uno o ms procesos
o hilos de ejecucin y por lo tanto
pueden dar origen a actividades de
control.
6. COMPONENTE: parte fsica y
reemplazable de un sistema que
conforma con una conjunto de
interfaces y proporciona la
implementacin de dicho conjunto.
7. NODO: elemento fsico que existe
en tiempo de ejecucin y
representa un recurso
computacional.

ELEMENTOS EN UML
B) ELEMENTOS DE
COMPORTAMIENTO
1. INTERACCIN: mensajes entre objetos
2. MQUINA DE ESTADOS: especifica
secuencia de estados por los que pasa
un objeto

ELEMENTOS EN UML
C) ELEMENTOS DE AGRUPACIN
1.

PAQUETE: mecanismo de propsito


general para organizar elementos en
grupos.

ELEMENTOS EN UML
D) ELEMENTOS DE ANOTACIN
1. NOTAS: son las partes explicativas

RELACIONES
1.

DEPENDENCIA: relacin
semntica entre dos elementos.
2. ASOCIACIN: relacin
estructural que describe un
conjunto de enlaces entre o
objetos.
3. GENERALIZACIN: relacin de
especializacin/generalizacin en
la cual el hijo puede sustituir al
padre.

RELACIONES
4. REALIZACIN: relacin semntica entre
clasificadores, en donde un claisificador
garantiza que cumplir.

DIAGRAMAS EN UML

Representacin grfica de un conjunto de


elementos, visualizado la mayora de las
veces como un grafo conexo de nodos
(elementos) y arcos (relaciones).

1.
2.
3.
4.
5.
6.
7.
8.
9.

Diagrama de clases.
Diagrama de objetos.
Diagrama de casos de uso.
Diagrama de secuencia.
Diagrama de colaboracin.
Diagrama de estados (state char).
Diagrama de actividades.
Diagrama de componentes.
Diagrama de despliegue.

Diagrama de Clases
Muestra un conjunto de clases,
interfaces y colaboraciones.
Cubren la vista de diseo esttica de
un sistema.

Diagrama de Objetos
Muestra un conjunto de objetos y
relaciones.
Representan instantneas de instancias de
los elementos encontrados en el diagrama
de clases.
Cubren la vista de diseo esttica o la vista
de procesos esttica de un sistema, pero
desde la perspectiva de caso reales de uso.

Diagrama de Casos de
Uso
Muestra un conjunto de casos de uso
y actores y sus relaciones.
Cubren la vista de casos de uso
esttica de un sistema.
Son especialmente importantes en el
modelado y organizacin del
comportamiento de un sistema.

Diagramas de Interaccin
Muestra una interaccin que consta de
objetos y relaciones y los mensajes que
pueden ser enviados entre ellos.
Un diag. de secuencia y un diag. de
colaboracin son un tipo de diag. de
interaccin.
Cubren la vista dinmica de un sistema.

Diagrama de Secuencia
Es un diagrama que resalta la
ordenacin temporal de los mensajes.

Diagrama de Colaboracin
ES una diagrama que resalta la
organizacin estructural de los
objetos que envan y reciben
mensajes.

Diagrama de Estados
Muestra una mquina de estados, que
consta de estados, transiciones, eventos y
actividades. Destaca el flujo de control
entre estados.
Cubren la vista dinmica de un sistema.
Ej. La deteccin de la rotura de una
ventana slo disparar una alarma si el
sistema antes est activado.

Diagrama de Actividades
Es un tipo especial de diagrama de
estados que muestra el flujo de
actividades dentro de un sistema.
Cubren la vista dinmica de un
sistema.

Diagrama de Componentes
Muestra la organizacin y las
dependencias entre un conjunto de
componentes (Cdigo fuente,
versiones ejecutables, base de datos
fsicas, sistemas adaptables).
Cubren la vista de implementacin
esttica de un sistema.

Diagrama de Despliegue
Muestra la configuracin de nodos de
procesamiento en tiempo de ejecucin.
Cubren la vista de despliegue esttica
de una arquitectura.
Estos diagramas se utilizan para
razonar sobre la topologa de
procesadores y dispositivos sobre los
que se ejecuta el SW.

REGLAS DE UML
Un modelo bien formado es aquel que
es semnticamente autoconsistente y
est en armona con todos sus
modelos relacionados.

MECANISMOS COMUNES
EN UML
UML se simplifica mediante la
presencia de cuatro mecanismos
comunes que se aplican de forma
consistente a travs de todo el
lenguaje:
1. ESPECIFICACIONES: las
especificaciones de UML proporcionan
una base semntica que incluye a todos
los elementos de un sistema, y cada
elemento est relacionado con otros de
manera consistente.

MECANISMOS COMUNES
EN UML
2. ADORNOS: Todos los elementos en la
notacin UML comienzan con un smbolo
bsico, al cual pueden aadirse una
variedad de adornos especficos de ese
smbolo.
3. DIVISIONES COMUNES:
a) DIVISIONES ENTRE CLASE Y
OBJETO:
UML distingue un objeto
utilizando el mismo
smbolo de la
clase y subrayando el nombre del
objeto.

MECANISMOS COMUNES
EN UML
b) SEPARACIN entre interfaz e
implementacin.

c) MECANISMOS DE
EXTENSIBILIDAD:
- Estereotipos (nuevo
vocabulario).
- Valores etiquetados. { }
- Restricciones -----{ }

ARQUITECTURA
La arquitectura es el conjunto de
decisiones significativas sobre:
La organizacin de un SW.
La seleccin de elementos estructurales
y sus interfaces a travs de los cuales
se constituye el sistema.
Su comportamiento, como se especifica
en las colaboraciones entre esos
elementos.

La composicin de esos elementos


estructurales y de comportamiento
en subsistemas progresivamente ms
grandes.
El estilo arquitectnico que gua esta
organizacin: los elementos estticos
y dinmicos y sus interfaces, sus
colaboraciones y su composicin.

MODELADO DE LA
ARQUITECTURA DE UN
SISTEMA
La arquitectura de un sistema puede describirse mejor a
travs de cinco vistas interrelacionadas:

VISTAS
La VISTA DE CASOS DE USO de un
sistema comprende los casos de uso
que describen el comportamiento del
sistema tal y como es percibido por
los usuarios finales, analistas y
encargados de las pruebas.

Aspectos estticos: diagramas de casos


de uso.
Aspectos dinmicos: diagramas de
interaccin, de estados y de actividades

VISTAS
La VISTA DE DISEO de un sistema
comprende las clases, interfaces y
colaboraciones que forman el
vocabulario del problema y su
solucin. Da a conocer los servicios
que el sistema debera proporcionar a
sus usuarios finales.

Aspectos estticos: diagramas de clase


y objetos.
Aspectos dinmicos: diagramas de
interaccin, de estados y de actividades.

VISTAS
La VISTA DE PROCESOS de un
sistema comprende los hilos y
procesos que forman los mecanismos
de sincronizacin y concurrencia del
sistema. Cubre el funcionamiento,
capacidad de crecimiento y
rendimiento del sistema.

Aspectos estticos: diagramas de casos


de uso.
Aspectos dinmicos: diagramas de
interaccin, de estados y de actividades.

VISTAS
La VISTA DE IMPLEMENTACIN de
un sistema comprende los
componentes y archivos que se
utilizan para ensamblar y hacer
disponible el sistema fsico. Se
preocupa de la gestin de
configuraciones de las distintas
versiones de un sistema.
Aspectos estticos: diagramas de
componentes.
Aspectos dinmicos: diagramas de
interaccin, estados y actividades.

VISTAS
La VISTA DE DESPLIEGUE de un sistema
contiene los nodos que forman la topologa
HW sobre la que se ejecuta el sistema. Se
ocupa de la distribucin e instalacin de
partes.
Aspectos estticos: diagramas de despliegue.
Aspectos dinmicos: diagramas de interaccin,
de estados y actividades.

También podría gustarte