Post on 22-Jan-2016
UML
Lenguaje de Modelado Unificado
Unified Modeling Languaje
Historia: ¿Quien y cuándo?
Booch, Rumbaugh y Jacobson se unieron enRational Software Corporation para elaborar el estándar.
La idea fue rescatar las características más convenientes de cada una de las corrientes
disponibles, unificarlas y extenderlas bajo el nombre de UML (Unified Modeling Language).
La versión 1.0 de UML fue liberada al mercado y aprobada por el OMG (Object Management Group) en 1997.
¿Qué es UML?
• UML herramienta gráfica que permite modelar los sistemas desarrollados usando OO
• La clave es identificar los elem del problema que producen o consumen info y describir la relación entre los elem.
• Los ing en Sist usan varios tipos de modelos durante el análisis y diseño
¿Qué es UML? cont
• Es un lenguaje para la visualización, especificación y documentación de sist,
• Es independiente del modelo de proceso que se utilice para el desarrollo
• Es una notación y no un mét pues no especifica un proceso, describe el resultado de alguna etapa de desarrollo mediante una serie de diagramas
• Se centra en los objetos más que en los procesos
Diagramas de Estructura
• Enfatizan en los elementos que deben existir en el sistema modelado indep del tiempo. Diagramas de:Clases
Componentes, representan componentes de software
Objetos: conj de obj en un t con sus estados y relaciones Estructura CompuestaDespliegue, componentes de hardware procesadores y dispositivos
Paquetes
Diagramas de comportamiento
• Enfatizan en lo que debe suceder en el sistema modelado. Diagrama de:
Actividades: flujo de control entre los obj, centrado en las actividades y no en los objetos
Casos de Uso: fc del sist desde el pto de vista del usuario
Estados: representan el comportam. dinámico de un obj, estados, transiciones y eventos
Diagramas de Interacción
Subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado. Diagrama de:
Secuencia: representación temporal de los obj y sus interacciones
Comunicación /Colaboración: privilegia las relaciónes entre los objetos
Tiempos: mostrar cambios de estado de un obj en el t (UML 2.0)
Diagramas Organización Jerárquica
http://es.wikipedia.org/wiki/Imagen:Uml_hierarchie_des_diagrammes.png
Modelos
• De Datos: describen obj atributos y relaciones• Funcionales: muestran como los datos se
transforman a medida que fluyen en el sist• Comportamiento: muestran las acciones tomadas
por el sist en respuesta a los eventos • Arquitectura: muestra la rel entre las
componenetes de hard y de software necesarias para implementar el sist completo
Caso
• Máquina expendedora de un producto:• La máquina acepta una sola moneda y
entrega un producto• No da vuelto• Si la moneda está mal o si no hay producto
la máquina devuelve la moneda al cliente• El propietario de la máquina retira las
monedas y abastece el producto
Diagrama de Casos de Usousuario o actor
usuario
tarea
caso opcional o excepcional
<<uses>> casos de uso usados por subsistemas
Diagrama de Casos de Uso
• Modela los requerimientos funcionales• Muestran como el usuario interactúa con el
sistema (cliente, comerciante)• Un diagrama puede incluir varios escenarios• Escenario: es una instancia de caso de uso para un
actor en particular en un momento determinado, con datos específicos
• Ayudan a realizar las pruebas del sistema• Son independientes de la interfase que se empleará
Diagrama de Secuencia
línea de vida
actorobjetos
activación
mensaje
retorno diferido en el tiempo
Diagrama de Secuencia
• Modela el comportamiento del sist para los casos de uso mostrando la interelación entre las clases
• Muestran la secuencia temporal de los mensajes que se intercambian a medida que los objetos se comunican para realizar una tarea específica
• Permite visualizar los mét, las clases y los actores• No se incluyen bifurcaciones se hace un diagrama
para cada caso
Diagrama de Colaboración
nro representa la secuencia temporal
mensaje
Rechazo del pedido
Diagrama de Colaboraciónpedido exitoso
Diagrama de Colaboración
• Muestran los mensajes que pasan a través del sist
• Se focalizan en los roles que cumplen los obj para realizar la función del sist
• Se usan para representar partes del diseño y son útiles para verificar los diagramas de clase
Diagrama de Estados
Nombre del estado
transición, evento
comienzo
fin
Diagrama de Estados• Modelo dinámico que muestra los cambios de
estado a través del tiempo• El estado se determina evaluando los valores
asignados a los atributos de los objetos• El sistema permanece en un estado hasta que se
produce un nuevo evento • Muestran los cambios en el estado del sist o de los
atributos del objeto en respuesta a algún evento externo asociado a un mensaje recibido
• Por lo tanto, a que eventos responde • Pueden mostrar las secuencias de estado que un
objeto toma
Diagrama de Actividades
decisión
actividad
condiciones resultado de completar la actividad
fin
comienzo
Diagrama de Actividades• Muestran el flujo de trabajo entre los objetos o
componentes del sistema• Pueden mostrar flujo de datos (intercambio de infomación)
y flujo de control (orden de operación)• Las actividades representan la ejecución de un conj de
tareas necesarias para realizar una función• La transición a una nueva actividad se dispara cuando se
completa la función.• Similares a los de estado, excepto que las transiciones se
disparan por eventos internos• Permiten visualizar las interelaciones e interacciones entre
diferentes casos de uso
Diagrama de Componentes
componente
dirección del flujo de info
dependencia entre componentes
interfase:
Diagrama de Componentes
• Muestra las relaciones entre los componentes de software o del sistema
• Relaciones: dependencias, comunicaciones, ubicación e interfase.
• Análogo físico al diagrama de clases
• Interfase: describe un grupo de operaciones usadas o creadas por el componente
Diagrama de Despliegue
conexión física
Diagrama de Despliegue
• Describen las fuentes físicas del sistema incluyendo nodos, componentes y conecciones
• Muestran la relación entres las componentes de software y hardware
• Gralmente se combinan con los de componentes en un sólo diagrama de despliegue
Diagrama de Clasesel cliente compra un produto
HerenciaAsociación
Composición
Ej. Diag. de clases con interfase
Diagrama de Clases• Se usa para para crear modelos lógicos del sistema• Muestra la estructura de la clase, contenido y la
relación entre las clases.• Relaciones: línea conectando los nodos
relacionados• Clases: nodos. • Tipo de relación: nombre y multiplicidad (* 1 o
más)• Relación de parte: agregación en UML rombo• Relación de herencia: generalización en UML,
triángulo señalando a la superclase
Pedido de saldo en un Cajero: diag de Secuencia
Extracción en cajero: Actividades
Tareas en paralelo
Ramificaciones basadas en una Condición
Ajedrez: Diag de estado
Enunciado 1
• Hacer un diagrama de estado que muestre los estados civiles de una persona a lo largo de su ciclo de vida, desde antes de su concepción hasta el fallecimiento.
Estados civiles: Estados
No nacido
Menor Soltero
Union de hecho
Viudo
Casado
Divorciado
Fallecido
Enunciado 2
• Hacer los diagramas de casos de uso, actividades, de clases y de secuencia del proceso de anotación de un alumno en las materias de un postgrado.
• Hipotesis: cada alumno podrá anotarse en varios cursos, para los cuales habrá que verificar que tenga aprobadas las correlativas.
• En una segunda etapa, el profesor del curso y el coordinador del postgrado evaluarán la situación del alumno y aprobarán o no la solicitud