Está en la página 1de 61

UML

Lenguaje Unificado de Modelado (Unified Modeling Language)

Definicin
UML es un lenguaje de modelado que sirve para visualizar, especificar , construir y documentar un sistema software.
Lenguaje de modelado:
Lenguaje cuya vocabulario y reglas se centran en la representacin conceptual y fsica de un sistema (Booch, Jacobson y Rumbaugh).
2

UML para visualizar (I)


Generalmente modelamos de manera fugaz o se pasa directamente a la implementacin: Problemas: a) Dificultad para la comprensin de un lenguaje de modelado especfico. b) Existen cuestiones difciles de entender si no es modelando. c) Prdida de los modelos mentales
3

UML para visualizar (II)


UML resuelve estos tres problemas:
a) Smbolos con semntica bien definida. b) UML transciende al lenguaje de programacin. c) Un modelo explcito facilita la comunicacin

UML para especificar


Especificar es equivalente a construir modelos que cumplan las condiciones de no ambigedad y completitud.
UML cubre la especificacin del anlisis, diseo e implementacin de un sistema software.
5

UML para construir


Es posible hacer corresponder con los lenguajes de programacin (Java, C++, B.Datos, etc.).
Ingeniera Directa

Modelo UML

CDIGO

Ingeniera Inversa
6

UML para documentar


UML cubre la documentacin de un sistema:
Requisitos Diseo Planificacin Prototipos Arquitectura Cdigo fuente Pruebas Versiones

Parcelas para UML


Empresas Bancos Telecomunicaciones Transporte Defensa Comercio Electrnica Web, y tambin, sistemas que no son software
8

UML Modelo Conceptual

Bloques Bsicos de Construccin Elementos Relaciones

Reglas para relacionarlos Dependencia Asociacin

Mecanismos comunes

Especificaciones

Adornos

Diagramas

Generalizacin

Realizacin

Divisiones Comunes

Mecanismos Externos

Bloques Bsicos de Construccin

Elementos

Elem. Estructurales

Elem. de comportamiento
Elem. de agrupacin

Elem. de anotacin Relaciones


Diagramas
10

Elementos Estructurales

Clases Interfaces Colaboraciones Casos de uso Clases activas Componentes Nodos


11

Son los nombres de los modelos de UML. Generalmente corresponden a la parte esttica del modelo.

Clases
Agrupacin de atributos, operaciones relaciones, y semntica. Puede implementar una o varias interfaces.
Nombre de Clase Variables Operaciones

12

Interfaces
Conjunto de servicios para las clases o componentes que las implementan.
Son, por tanto, el comportamiento visible externo.
Nombre de Interfaz

13

Colaboraciones
Grupo de clases que interactuan para colaborar an ms que la suma de sus comportamientos. Tiene dimensin estructural y de comportamiento. Una clase puede participar en varias colaboraciones. Son la implementacin de los patrones de un sistema.

Nombre de Colaboracin

14

Casos de uso.
Secuencia de acciones que un sistema ejecuta. Se utiliza para estructurar el comportamiento de un modelo. Se realiza por una colaboracin.

Nombre de Caso de Uso

15

Clase activa
Tipo de clase en la que existen uno o varios hilos de ejecucin.
Existe, por tanto, comportamiento concurrente.
Nombre de Clase Activa

Nombres de Operaciones

16

Componente
Es un empaquetamiento de elementos lgicos tales como clases, interfaces (con su implementacin).
Ejemplo JavaBeans.
Nombre de Componente

17

Nodos
Es un recurso computacional que dispone de memoria y capacidad de procesamiento.
En un nodo puede residir un conjunto de componentes.
Nombre de Nodo

18

Otros elementos estructurales


Estos siete elementos estructurales son los bsicos, pero tambin existen variaciones:
Actores Seales Utilidades (Tipos de clases) Procesos e hilos (Tipos de clases activas) Aplicaciones Documetos y Archivos Bibliotecas y pginas Tablas (tipos de componentes)

19

Elementos de comportamiento
Elementos de Comportamiento

Interaccin

Mquina de Estados

Corresponden a las partes dinmicas de los modelos de UML. Son los verbos y representan el comportamiento. Estos elementos estn conectados a los elementos estructurales: clases, colaboraciones y objetos
20

Interacciones
Conjunto de mensajes entre objetos. Involucra a los siguientes elementos: Mensajes Secuencias de accin Enlaces

Nombre del mensaje

21

Mquina de estados
Especifica la secuencia de estados por la que pasa un objeto en su vida en respuesta a eventos. Involucra a: Estados Transiciones Eventos Actividades

Nombre de la Mquina de Estados

22

Elementos de agrupacin
Son los organizadores de los modelos UML Estn conectados semnticamente a los elementos estructurales y generalmente a las clases, colaboraciones y objetos. Bsicamente hay un solo elemento de agrupacin que son los paquetes aunque tambin existen los frameworks, modelos y subsistemas.
23

Paquetes
Agrupan tanto elementos estructutrales como de comportamiento. Es conceptual y existen en tiempo de desarrollo (contrariamente a los componentes que existen en tiempo de ejecucin).

Nombre de Paquete

24

Elementos de Anotacin
Son las explicaciones sobre los modelos UML. Comentarios para describir o aclarar cualquier modelo. El elemento principal de anotacin es la nota, aunque existen variaciones tales como requisitos.
25

Las Notas
Smbolo que muestra comentarios o restricciones de un elemento o conjunto de elementos.

Texto de la Nota

26

Relaciones
Bloques Bsicos de Construccin

Elementos Relaciones

Dependencia
Asociacin Generalizacin Realizacin

Segundo bloque de los tres que conforman UML y que se dedica a ligar los elementos estudiados antes y obtener modelos bien formados. Existen variaciones como el refinamiento, la traza, la inclusin y la extensin.
27

Diagramas

Dependencias
Relacin semntica entre dos elementos, uno independiente y el otro dependiente. Un cambio en el elemento independiente afecta al dependiente

(A veces incluye una etiqueta)

28

Asociaciones
Se utilizan para multiplicidad describir enlaces entre objetos. 0..1 La agregacin (asociacin entre un profesor todo y sus partes) es un tipo especial de asociacin.

*
estudiante

(Puede incluir etiqueta o adornos)


29

Generalizacin
Relacin entre objetos especializados (hijos) de objetos generales (padres). El objeto hijo comparte la estructura y comportamiento del objeto padre.

(Apunta al padre)

30

Realizacin
Relacin semntica entre clasificadores indicando que se cumplir la regla de clasificacin. Existen clasificaciones: Entre interfaces y clases. Entre casos de uso y colaboraciones.
31

Diagramas
Representacin grfica de un conjunto de elementos formadas por nodos (elementos) y arcos (relaciones). Permiten ver el sistema desde diferentes perspectivas (proyecciones). Puede tener cualquier combinacin de elementos y relaciones (un elemento puede estar en uno o varios diagramas).
32

Diagramas (Clasificacin)
Bloques Bsicos de Construccin

Elementos

Relaciones
Diagramas

Clases Colaboracin

Objetos Estados

Casos de uso Actividades

Secuencia Componentes

Despliegue

33

Diagramas de Clases
Son los ms comunes y muestran las clases, interfaces y colaboraciones, as como sus relaciones. Son los diagramas del diseo esttico de un sistema. Si existen clases activas entonces tamben son los diagramas de diseo de proceso esttico del sistema.
34

Diagramas de Objetos
Representa un conjunto de objetos y sus relaciones. Representan instancias los elementos de los diagramas de clases. Igual que los diagramas de clases representan la parte esttica del sistema aunque desde el punto de vista de casos reales o prototpicos.
35

Diagramas de Casos de Uso


Muestran los casos de usos, los actores (tipo especial de clases) y sus relaciones. Son muy importantes en los modelado y organizacin de un sistema. Muestran la parte esttica de casos de uso.

36

Diagramas de secuencia, colaboracin e interaccin


Los diagramas de secuencia y colaboracin son un caso particular de diagrama de interaccin. Un diagrama de interaccin muestran la interaccin entre un conjunto de objetos y sus relaciones incluyendo mensajes enviados. Un diagrama de secuencia resalta la ordenacin de los mensajes. Un diagrama de colaboracin resalta la organizacin estructural de los objetos que envan y reciben mensajes. Los diagramas de secuencia y colaboracin son isomorfos (uno se puede transformar en el otro).
37

Diagramas de Estados
Muestra una mquina de estados con:
Transiciones Eventos Actividades.

Parte dinmica de un sistema. Son importante en el modelado de interfaces, clases y objetos. Modelan el comportamiento dirigido por eventos (Sistemas reactivos).
38

Diagramas de actividades
Es un tipo especial de diagrama de estados y muestra el flujo de actividades de un sistema. Son la parte dinmica del sistema. Modelan el funcionamiento del sistema y resaltan el flujo de control entre objetos.

39

Diagramas de componentes
Muestran la organizacin y dependencias entre elementos. Son la vista de implementacin esttica del sistema. Se corresponden generalmente con clases, interfaces y colaboraciones.

40

Diagramas de Despliegue
Muestran la configuracin de nodos de procesamiento en tiempo de ejecucin y los componentes que residen en ellos. Cubren la vista de despliegue esttica de una arquitectura. Se relacionan con los diagramas de componentes ya que un nodo incluye uno o varios componentes.
41

Reglas de UML (I)


Como en cualquier lenguaje, en UML existen una serie de reglas a cumplir para lograr que los modelos sean estn bien formados (autoconsistencia y armona). Adems deben ser: Abreviados.- Ocultar para simplificar. Incompletos.- Ausencia de elementos. Inconsistentes.- No se garanta de la integridad del modelo.
UML Modelo Conceptual

Bloques Bsicos de Construccin

Reglas para relacionarlos Dependencia


Generalizacin

Mecanismos comunes

Asociacin
Realizacin
42

Reglas de UML (II)


Nombres.- Para elementos, relaciones y diagramas. Alcance.- Contexto que da significado a un nombre Visibilidad.- Como se ven y utilizan esos nombres por otros. Integridad.- Relacin apropiada y consistente entre elementos. Ejecucin.- Qu significa ejecutar un modelo dinmico. 43

Mecanismos comunes de UML


Es conveniente utilizar patrones para conseguir modelos consistentes. Existen cuatro mecanismos comunes: Especificaciones Adornos Divisiones comunes Mecanismos de extensibilidad
UML Modelo Conceptual

Bloques Bsicos de Construccin

Reglas para relacionarlos

Mecanismos comunes

Especificaciones

Adornos

Divisiones Comunes

Mecanismos de Extensibilidad

44

Especificaciones
Detrs de cada elemento grfico existe una especificacin que en modo texto especifica la sintaxis y la semntica. La notacin grfica visualiza un sistema, la especificacin refleja los detalles del mismo Un modelo se crea graficando y posteriormente especificando (tambin existe la Ingeniera Inversa).
45

Adornos
Sirven para incluir detalles tanto textuales como grficos.
Ejemplo en una clase se pueden incluir smbolos que indiquen si la clase es abstracta, tipo de visibilidad de los atributos, etc.
46

Divisiones Comunes
Hay al menos dos formas de divisin:
1) Clase y Objeto.- Siendo la clase la abstraccin y un objeto la manifestacin de esa abstraccin. 2) Interfaz e Implementacin.- La interfaz declara un contrato y la Implementacin es responsable de hacer efectivo ese contrato
47

Mecanismos de extensibilidad
Mecanismos comunes

Especificaciones

Adornos

Divisiones Comunes

Mecanismos de Extensibilidad

Estereotipos

Valor etiquetado Restriccin

UML no es un lenguaje cerrado y permite extenderse de manera controlada para poder expresar todos los matices necesarios.
48

Estereotipos
Permite crear nuevos tipos de construccin derivados de los existentes pero especficos a un problema. Ejemplo en Java se modelan las excepciones que son clases pero especiales (solo se permite que se lancen y se capturen).
Nombre de clase
Nombres de procesos Estereotipo

49

Valor etiquetado
Aade informacin en la especificacin del elemento para extender las propiedades de un bloque de construccin UML. Ejemplo nmero de versin, autor que no son conceptos primitivos de UML.

50

Restricciones
Permite aadir nuevas reglas o modificar las existentes para extender Mi Clase la semntica de un bloque de construccin. Por ejemplo el orden de Insertar_elemento() insercin de elementos en una variable lista de una clase.
ordenado 51

Arquitectura (I)
Mecanismo por el cual un sistema software puede ser visto desde diferentes perspectivas y se controla el desarrollo iterativo e incremental de un sistema a lo largo de su ciclo de vida. Tiene que ver en:
Organizacin Seleccin de elementos estructurales e interfaces Comportamiento y composicin de esos elementos estructurales. Estilo arquitectnico: elementos estticos,dinmicos, interfaces, colaboraciones y composiciones. 52

Arquitectura (II)
La arquitectura no solo tiene que ver lo la estructura y comportamiento de los modelos UML sino tambin con:
Uso Funcionalidad Rendimiento Capacidad de adaptacin Reutilizacin Comprensin Restricciones econmicas y de tecnologa Compromisos entre alternativas Aspectos estticos.
53

Modelado de la Arquitectura de un sistema


Vocabulario, funcionalidad
Vista de diseo Comportamiento Vista de procesos Funcionamiento, crecimiento Vista de Casos de Uso

Ensamblado, configuraciones
Vista de implementacin

Vista de despliegue
Topologa, distribucin, entrega, instalacin

54

rendimiento

Vista de casos de uso


Describen el comportamiento del sistema tal y como lo vern los usuarios finales. Los aspectos estticos de esta vista estn en los diagramas de casos de uso. Los aspectos dinmicos en los diagramas de interaccin, de estados y de actividades.

55

Vista de diseo
Son las clases, interfaces y colaboraciones que componen el vocabulario del problema y su solucin. Representa los requisitos funcionales del sistema, es decir, los servicios que este debera proporcionar. La esttica de esta vista est en los diagramas de clases y objetos. La dinmica en los de interaccin, estados y actividades.
56

Vista de procesos
Contiene los procesos o hilos que forman los mecanismos de sincronizacin y concurrencia de un sistema. Cubre el funcionamiento, crecimiento y rendimiento del sistema. Los aspectos estticos y dinmicos de esta vista estn en los propios diagramas de diseo pero poniendo nfasis en las clases activas.
57

Vista de implementacin
Gestiona los componentes y archivos que ensamblan y hacen disponible el sistema fsico. Gestiona las configuraciones de las distintas versiones. La esttica est en los diagramas de componentes y la dinmica en los de interaccin, estados y actividades.
58

Vista de despliegue
Contiene los nodos que forman la topologa hardware del sistema. Los aspectos estticos se encuentran en los diagramas de despliegue. Los aspectos dinmicos se encuentran en los diagramas de interaccin, estados y actividades.
59

Ciclo de vida del desarrollo software


Aunque UML es independiente del ciclo de vida, para obtener el mximo rendimiento es aconsejable que sea:
Dirigido por los casos de uso Centrado en la arquitectura Iterativo e incremental
60

Fases del ciclo de vida


Las fases (tiempo transcurrido entre dos hitos importantes del proceso), de un ciclo de vida dirigido por casos de uso, centrado en la arquitectura, iterativo e incremental son: Iniciacin.- Se fundamenta la idea inicial. Elaboracin.- Se define la visin del producto y su arquitectura. Construccin .- El software se hace disponible Transiccin .- Instalacin del software que se pone a disposicin de los usuarios.
61

También podría gustarte