68
U M L Unified Modeling Language(UML) Hace posible describir sistemas con palabras y gráficos. Puede ser usado para modelar una gran variedad de sistemas: sistemas software, sistemas de negocios, o cualquier otro sistema. Object Management Group (OMG) promueve estándares abiertos para aplicaciones orientadas a objetos. http://www.omg.org.

Información General UML

Embed Size (px)

Citation preview

Page 1: Información General UML

UML� Unified Modeling Language(UML)� Hace posible describir sistemas con palabras y

gráficos. Puede ser usado para modelar una granvariedad de sistemas: sistemas software, sistemas denegocios, o cualquier otro sistema.

� Object Management Group (OMG) promueveestándares abiertos para aplicaciones orientadas aobjetos.

� http://www.omg.org.

Page 2: Información General UML

Razones para utilizar UML

� Facilidad de comunicación, lo cual facilitaintercambios de modelos entre diferentesdepartamentos o compañías.

� Transferencia de proyectos entremiembros de equipos o equipos deproyectos.

� Permite modelar sistemas sencillos ocomplejos

Page 3: Información General UML

� Puede ser usado en una amplia variedad de enfoques y metodologías.

� Ampliamente soportado

� Las Cotizaciones basadas en UML para sistemas software pueden ser comparadas más fácilmente

Razones para utilizar UML

Page 4: Información General UML

MODELO�Los modelos son construidos en el contexto

de sistemas de negocios y de software, paramejorar la comprensión de sistemasexistentes o futuros.

Page 5: Información General UML

Por qué se necesitan Modelos�Comunicación entre las partes involucradas

�Visualización de todos los hechos para losclientes, expertos y usuarios

�Verificación de hechos en términos decompletitud, consistencia y correctitud.

Page 6: Información General UML

Diagramas�Cada diagrama corresponde a una vista de

un modelo del sistema.

�Todos las diferentes vistas combinadasresultan en un buen modelo del sistema.

Page 7: Información General UML

Ventajas de Utilizar UML� Un modelo descrito con UML refleja el sistema

real.

� Es posible corregir errores en el modelo desde suinicio.

� Es posible ejecutar el mismo modelo endiferentes plataformas

Page 8: Información General UML

Desventajas

�Es necesario adquirir una profunda y precisa comprensión del UML

�Un considerable esfuerzo debe ser invertido en el desarrollo de los modelos.

Page 9: Información General UML

Comprendiendo ambiente del sistema

� Integración al nivel del proceso del negocio--Cada sistema debe tener asignadas unas actividades del proceso de negocio.

� Integración al nivel del sistema---Comunicación con otros sistemas involucrados en el proceso del negocio.

Page 10: Información General UML

Proceso del Negocio� Procedimiento o evento con el propósito de

alcanzar un objetivo.

� Un proceso de negocio es a menudo completadoen varios pasos.

� Los pasos son llamados actividades y tienen queser completadas en un orden predeterminado.

� Las actividades se ejecutan en paralelo osecuencia.

Page 11: Información General UML

Procesos de negocios� Las actividades de un proceso de negocios son

interdependientes.

� La interdependencia es creada por la interacciónde todas las actividades pertenecientes a unproceso de negocio con un objetivo común.

Page 12: Información General UML

Sistemas de Negocio� Se refiere a la cadena de valor agregado, la cual

describe los procesos, impulsando elabastecimiento de bienes y servicios.

� Cada sistema de negocios genera beneficioseconómicos.

� Un sistema de negocios que es modelado puedeabarcar una organización completa.

� Por lo tanto se habla de Un modeloorganizacional.

Page 13: Información General UML

Descripción del Sistema del Negocio desde la perspectiva de los Clientes, socios y proveedores

Page 14: Información General UML

Ejemplo:

Page 15: Información General UML
Page 16: Información General UML

UML - Vista Externa� Casos de uso del negocio

Muestra actores, casos de uso del negocio y susrelaciones. No describen procedimientos. Los escenariosalternativos también se tienen en cuenta.

� Diagramas de actividades

Describen procedimientos en nuestro caso los procesosde negocios del sistema de negocios. Describeninteracciones entre actores y el sistema del negocio.

Page 17: Información General UML

Vista Externa� Diagramas de secuencias

muestran la cadena cronológica de interacciones.

� No todos los diagramas deben ser usados, depende del sistema. Se recomienda usar el diagrama de casos de uso.

Page 18: Información General UML

Caso de Uso Definición Gral.

� Es la especificación de un conjunto de accionesejecutadas por un sistema, las cuales producen unresultado observable que tiene valor para uno o másactores o Stakeholders del sistema.

Page 19: Información General UML

Caso de uso del negocio

� La funcionalidad que existe en un sistema de negocio, representa una actividad interna, es decir un proceso interno del negocio.

� El caso de uso del negocio es únicamente utilizado para el modelo de negocio del sistema.

Page 20: Información General UML

Actores

� Fuera del sistema del negocio son por ejemplo pasajeros, clientes, socios del negocio quienes tienen una salida del sistema en consideración.

� Un caso del negocio es siempre iniciado por un actor.

� Los actores de un sistema de negocios pueden ser humanos, organizaciones o Sistemas computacionales.

Page 21: Información General UML

Actores� Los actores no son solamente roles que juegan personas, sino

también agregaciones, organizaciones, software y máquinas.Hay 3 tipos de actores:� Actor principal tiene objetivos de usuario que se satisfacen

mediante el uso de los servicios del subsistema bajo discusión –SUD

� Actor de apoyo Proporciona un servicio al SUD. Ej el servicio de autorización de un pago.

� Actor Pasivo Interesado en el comportamiento del CU, por ejemplo: Agencia tributaria del gobierno,. Se identifica para asegurar que todos los intereses necesarios se han identificado y satisfecho.

Page 22: Información General UML

Diagrama de Casos de Uso

� Muestra diagramas de caso de uso del negocio, actores y las relaciones entre ellos.

Elementos:

� Actor un actor representa un rol que externo toma cuando interactúa con el sistema del negocio. Por ejemplo, cliente, usuario, socio, proveedor u otros sistema de negocio.

Page 23: Información General UML

Diagrama de Casos de Uso

Elementos:

� Actor

Cada actor tiene un nombre y se identifica por una figura.

� Asociación

Es la relación entre un actor y un caso de uso del negocio.

Page 24: Información General UML

Diagrama de Casos de UsoElementos

� Caso de uso del negocio

describe la interacción entre actor y un sistema del negocio,es decir, describe la funcionalidad de los sistemas de negociosque el actor utiliza.

Page 25: Información General UML

Caso de Uso� Caso de Uso –CU

� Es una colección de escenarios con éxito y fallos relacionados, que describen a los actores utilizando el sistema para satisfacer un objetivo.

� Son un “fragmento” de funcionalidad que el sistema ofrece para aportar un resultado de valor para sus actores.

� Específica una secuencia de acciones que el sistema puede llevar a cabo interactuando con sus actores incluyendo alternativas dentro de la secuencia.

Page 26: Información General UML

Diagrama de Casos de UsoElementos

� Relación Include o inclusion

Es una relación entre dos casos de uso que significa que el caso de uso del negocio del lado al que apunta la flecha esta incluido en el CU del otro lado de la flecha.

Page 27: Información General UML

Diagrama de Casos de UsoRelación de inclusión

� Relación más común e importante.

� Es una relación de dependencia donde un CU utiliza otro CU

� Cuando un número de CU comparten un comportamiento , éste comportamiento puede ser descrito por un CU que es utilizado por otros CU

� Cuando un CU incluye otro, el CU completo debe ser usado. Si el CU nunca se utiliza por sí mismo se denomina abstracto.

� Reemplaza el uso común de la anterior relación uses

Page 28: Información General UML

Diagrama de Casos de UsoRelación de extensión� Esta relación modela la adición de una secuencia de acciones a un caso de uso.� Una extensión se comporta como si fuera algo que se añade a la descripción

original del CU� Incluye tanto la condición para la extensión como una referencia a un punto de

extensión en el CU destino.� Requiere que el CU extendido tenga previstos unos puntos de extensión. Si hay

más de uno, hay que identificar exactamente cuál es el punto extendido� Un CU extendido puede manejar excepciones, alternativas, etc. Convirtiéndose

en CU específicos de CU generales en los que no es fácil describir dichas situaciones.

� Es una alternativa a CU complejos con múltiples alternativas, posibilidades de error, etc.

� Ofrece una forma de extensión más controlada que la generalización. El CU especializado sólo puede alterar el comportamiento de los puntos de extensión marcados.

Extend

Page 29: Información General UML

Diagrama de Casos de Uso� Explica gráficamente un conjunto de CU de un sistema, los

actores y la relación entre éstos y el sistema.

Formatos:

� Formato de alto nivel

describe un proceso muy brevemente, casi siempre en dos o tres enunciados son vagos.

� Formato extendido

describe un proceso más a fondo que el de alto nivel. La diferencia es que tiene una sección de curso normal de eventos donde describe paso por paso. Conviene escribir en formato expandido los CU + importantes y de mayor influencia.

Page 30: Información General UML

Diagrama de Casos de Uso� CU primarios

Representan los procesos comunes más importantes. Ejemplo: Comprar productos

� CU secundarios Representan los procesos menores o raros. Ejemplo: Solicitud de subir el nuevo producto

� CU Opcionales Representan procesos que pueden no abordarse.

� CU esenciales Son CU expandidos que se expresan en forma teórica que contiene poca tecnología y pocos detalles de implementación.

� CU reales Describe concretamente el proceso a partir de su diseño concreto actual, sujeto a las tecnologías específicas de entrada y salida. Se presentan en diseño.

Page 31: Información General UML

Métodos para Identificar CUActores

� Se identifican los actores relacionados con un sistema o empresa

� En cada actor, se identifican los procesos que inician o en que participan

Eventos

� Se identifican los eventos externos a los que un sistema ha de responder.

� Se relacionan los eventos con los actores y los CU.

Ejemplo:

� Cajero àregistra, entrega efectivo

� Cliente àcompra productos, paga los productos

Page 32: Información General UML

Que Incluir en una descripción de CU� Estado inicial como precondición

� Cuándo y cómo comienza el CU

� El orden requerido en que las acciones se deben ejecutar

� Cómo y cuándo terminan los CU

� Definir los estados finales.

� Caminos de ejecución que no están permitidos

� Descripciones de caminos alternativos

� Interacciones del sistema con los actores y qué cambios se producen

� Utilización de objetos, valores y recursos del sistema

� Descripción explicita de lo qué hace el sistema.

Page 33: Información General UML

Diagramas Casos de Uso

Page 34: Información General UML

Diagramas de Caso de Uso

Page 35: Información General UML

Diagrama de Caso de Uso

� � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � �� � � � � � � � � �� � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � �

� � � � � � � � � �� � � � � � � � � � � � � �� � � � � � � � � �

� � � � � � � � �� � � � � �� � � � � � � � � � �� � � � � �

� � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � �� � � � � � � � � � �

� � � � � � � � � �

Page 36: Información General UML

Encontrar Actores y CUCon el fin de:� Delimitar el sistema de su entorno� Esbozar quién y qué actores interactuarán con el sistema y qué

funcionalidad se espera del sistema.� Capturar y definir un glosario de términos comunes esenciales

para la creación de descripciones detalladas de las funcionalidades del sistema.

Pasos:� Encontrar los actores� Encontrar los CU� Describir brevemente cada CU� Describir el Modelo de CU completo (preparar glosario)

Page 37: Información General UML

Encontrar Actores� Con el modelo del negocio resulta sencillo

� Identificar un usuario (al menos) que pueda representar al actor candidato.

� Debería existir coincidencia mínima entre roles, que desempeñan las instancias de los diferentes actores en relación con el sistema.

� El analista da nombres a los actores y describe brevemente los papeles de cada actor y para qué utiliza el actor el sistema.

Page 38: Información General UML

Encontrar CU� Se propone un CU para cada rol de cada trabajador que participa

en la realización del CU.� El actor necesitará normalmente CU para soportar su trabajo de

creación, cambio, rastreo, eliminación o estudio de los objetos del negocio.

� Algunos candidatos no llegarán a ser CU por sí mismos, podrán ser parte de otros.

� Resultado de valor y Actor en concreto para identificar CU.� Resultado de valor ---cada ejecución satisfactoria de un CU debe

proporcionar algún valor al actor para alcanzar su objetivo.� Un actor en concreto ---identificado el CU que proporcione

valores a los usuarios individuales reales, nos aseguramos de que los CU no se harán demasiado grandes.

Page 39: Información General UML

Descripción CU� Ejemplo: el comprador utiliza el CU Pagar Factura para planificar

los pagos de la factura. El CU pagar factura efectúa el pago el día del vencimiento de la factura.

Precondiciones :

� Establecen lo que siempre debe cumplirse antes de comenzar un escenario en el CU.

� Las precondiciones no se prueban en el CU sino son condiciones que se asumen son verdad.

� Normalmente, las precondiciones implican un escenario de otro CU que se ha completado con éxito como inicio de sesión.

� Comunican suposiciones importantes que el escritor del CU piensa que los lectores deberían conocer.

Page 40: Información General UML

Descripción de CUGarantías de éxito o postcondiciones:� Establecen qué debe cumplirse cuando el CU se completa con

éxito o bien el escenario principal de éxito o algún camino alternativo.

� Las garantías deberían satisfacer las necesidades de todo el personal involucrado.

� Ejemplo: se registra la venta. El importe se calcula de manera correcta. Se registran las comisiones. Se genera el recibo.

Escenario principal de éxito� Flujo básico� Describe el camino de éxito típico que satisface los intereses del

personal involucrado.� A menudo no incluye bifurcación.

Page 41: Información General UML

Descripción de CUEscenario principal de éxito

El escenario recoge los pasos que pueden ser de 3 tipos:

� Una interacción entre actores

� Una validación (normalmente a cargo del sistema)

� Un cambio de estado realizado por el sistema

Ejemplo:

� ◦1 el cliente llega al terminal de punto de venta con artículos.

� ◦II el cajero comienza una nueva venta

� ◦III el cajero introduce el identificador del artículo

� ◦IV el cajero repite los pasos 3 a 4 hasta que se indique

� ◦V …..

Page 42: Información General UML

Ejemplo� Tabla 1.

� Tabla 2.

Nombre de Caso de Uso

Actores

Descripción

Código Caso de Uso

Nombre Caso de Uso

Descripción

Secuencia Normal

Excepciones

Page 43: Información General UML

Modelo Del DominioSe debe evitar:

� Artefactos de software como una base de datos. BDVentas

� Responsabilidades o métodos. Imprimir()

Page 44: Información General UML

Clases Conceptuales� Clases conceptuales o vocabulario del dominio son:

� ◦Cosas, ideas u objetos

� ◦Se refiere en términos de:� Símbolo ---palabras o imágenes que representan una clase conceptual

� Intensión---la definición de una clase conceptual

� Extensión ----el conjunto de ejemplos a los que se aplica la clase conceptual

Ejemplo: Venta

� Símbolo ---Venta

� Intensión ---Representa una transacción de una compra y tiene fecha y hora.

� Extensión ---el conjunto de todas las ventas.

Page 45: Información General UML

Clases ConceptualesIdentificación de clases conceptuales

� ◦El modelo conceptual se elabora luego de varias iteracionesen la fase de elaboración.

� ◦En cada iteración el modelo de dominio se limita a losescenarios anteriores y actual de estudio.

Guía para identificar clases conceptuales

� ◦Noexcluyaunaclaseconceptualsimplementeporquelosrequisitosnoindicanningunanecesidadobviaparaadministrarinformaciónoporquelaclaseonceptualnotieneatributos.

� ◦Esválidotenerclaseconceptualessinatributosoclasesconceptualesconunrolpuramentedecomportamientoeneldominio.

Page 46: Información General UML

Clases Conceptuales

Estrategias para identificar Clases Conceptuales:

1. Utilización de una lista de categorías de clases conceptuales.

2. Identificación de frases nominales.

Page 47: Información General UML

Categoría de Clase conceptual Ejemplos

Objetos tangibles o físicos RegistroAvión

Especificaciones, diseños o descripciones de las cosas

EspecificacionDelProductoDescripcionDelVuelo

Lugares Tienda

Transacciones Venta, PagoReserva

Línea de transacción LineaDeVenta

Roles de la gente CajeroPiloto

Contenedores de otras cosas Tienda, LataAvión

Cosas en un contenedor ArticuloPasajero

Otros sistemas informáticos o electromecánicos externos al sistema

SistemaAutorizacionPagoCreditoControlDeTraficoAereo

Page 48: Información General UML

Categoría de Clase conceptual Ejemplos

Conceptos abstractos AnsiaAcrofobia

Organizaciones DepartamentoDeVentasCompañiaAerea

Hechos Venta, Pago, ReuniónVuelo, Colisión, Aterrizaje

Procesos (normalmente no se representan como conceptos, pero podría ocurrir)

VentaDeUnProductoReservaUnAsiento

Reglas y políticas PoliticaDeReintegroPoliticaDeCancelacion

Catálogos CatalogoDeProductosCatalogoDePiezas

Registros de finanzas, trabajo, contratos, cuestiones legales

Recibo, LibroMayor, ContratoEmpleoRegistroMantenimiento

Instrumentos y servicios financieros LineaDeCreditoStock

Manuales, documentos, artículos de referencia, libros

ListaDeCambiosDePreciosDiariosManualReparaciones

Page 49: Información General UML

Clases Conceptuales� Identificar los nombres y frases nominales en las descripciones textuales

de un dominio y considerar los como clases conceptuales o atributos candidatos.

� Una fuente puede ser el formato de CU extendido.� Tener cuidado porque frases diferentes pueden significar diferente o el

mismo significado.Lista: Procesar VentaØ Registro EspecificacionProductoØ Articulo LineadeVentaØ Tienda CajeroØ Venta ClienteØ Pago EncargadoØ Catalogo de Productos

Page 50: Información General UML

Modelo del Dominio

Cómo hacer un modelado del dominio:

� Liste las clases conceptuales candidatas

� Represéntelos en un modelo de dominio

� Añada asociaciones necesarias para registrar las relaciones

� Añada los atributos necesarios para satisfacer los requisitos de información.

Page 51: Información General UML

Modelo del Dominio� Un modelo conceptual no es absolutamente correcto o

equivocado, sino algo útil y que nos sirve como unaherramienta de comunicación.

Error Típico:

� Representar algo como atributo cuando debería ser concepto

ó

Tienda es una entidad legal, una organización y algo que ocupa espacio es un concepto.

Page 52: Información General UML

Notación Uml

Modelo del Dominio:

� Sirve como abstracción del modo en que los trabajadores ylas entidades del negocio necesitan relacionarse y cómonecesitan colaborar para llevar a cabo el negocio.

Page 53: Información General UML

Asociaciones: � Una asociación es una relación entre tipos que indica alguna

conexión significativa e interesante.

� Asociaciones de las que es necesario conservar elconocimiento de la relación durante algún tiempo(asociaciones “necesito -conocer”)

Page 54: Información General UML

Asociaciones� Representación de las asociaciones UML� Se representan como una línea entre clases con un nombre de

asociación.� La asociación es bidireccional� Este recorrido es abstracto� Los extremos de la asociación podrían contener una

expresión de multiplicidad.� Lo normal es que se lea de izquierda a derecha o de arriba

abajo pero no es una regla del UML.

Page 55: Información General UML

Asociaciones Prioridad Alta� A es una parte lógica o física de B

� A está contenida física o lógicamente en B

� A se registra en B

� Demasiadas asociaciones tienden a confundir un modelo de dominio

� Evite mostrar asociaciones redundantes o derivadas.

Page 56: Información General UML

AsociacionesRoles

� Cada extremo de la asociación se denomina rol. Los roles pueden tener opcionalmente:

� Nombre

� Expresión de multiplicidad

� Navegabilidad

Page 57: Información General UML

Asociaciones� Multiplicidad

� Define cuantas instancias de una clase A pueden asociarse con una instancia de una clase B

� El valor de la multiplicidad depende de nuestros intereses como modeladores y desarrolladores de sw, porque pone de manifiesto una restricción de diseño que será reflejada en el sw

� * cero o más

� 1…* uno o mas

� 1…40 de uno a 40

� 5 cinco exactamente

� 3,5, 8 tres, cinco u ocho exactamente

Page 58: Información General UML

Asociaciones

� Múltiples asociaciones entre dos tipos

Page 59: Información General UML
Page 60: Información General UML

DIAGRAMAS DE INTERACCIÓN

� Son los diagramas de colaboración y secuencia

� Se utilizan para modelar los aspectos dinámicosde un sistema, mostrando el conjunto de objetosque participan y sus relaciones incluyendo losmensajes que intercambian entre ellos.

Page 61: Información General UML

DIAGRAMAS DE INTERACCIÓN� Muestran las

interacciones a través del tiempo.

� Permiten mostrar los objetos que participan en una interacción a través de sus líneas de vida y los mensajes que intercambian a través del tiempo

§Muestran las relaciones entre los objetos y lo mensajes que intercambian§Permiten mostrar cómo interactúan los objetos para producir un resultado

Diagrama de secuencia Diagramas de colaboración

Page 62: Información General UML

Diagrama de secuencia

DIAGRAMAS DE INTERACCIÓN

Page 63: Información General UML

Diagramas de colaboración

DIAGRAMAS DE INTERACCIÓN

Page 64: Información General UML

DIAGRAMA DE SECUENCIA� Línea de vida

Representa la evolución de un objeto a lo largo de un determinado tiempo y recibe el nombre de línea de vida del objeto.

� Activación del objeto

Muestra el periodo de tiempo durante el cual un objeto realiza una acción y se representa como un rectángulo vertical.

Page 65: Información General UML

DIAGRAMA DE SECUENCIA� Mensajes

Es una comunicación entre dos objetos que contiene información y desencadena la ejecución de una acción.

Tarea: Investigar los tipos de Mensajes en el diagrama.

Page 66: Información General UML
Page 67: Información General UML
Page 68: Información General UML