1 / 208

Unified Modeling Language UML

Unified Modeling Language UML. Fernando Pinciroli Solus S.A. - fpinciroli@solus.com.ar. Introducción. Red eléctrica inteligente. Sin lugar a dudas, una red eléctrica inteligente que permita integrarse con los datos debe ser algo muy diferente a esto…. Red eléctrica inteligente.

didier
Télécharger la présentation

Unified Modeling Language UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unified Modeling LanguageUML Fernando Pinciroli Solus S.A. - fpinciroli@solus.com.ar

  2. Introducción

  3. Red eléctrica inteligente • Sin lugar a dudas, una red eléctrica inteligente que permita integrarse con los datos debe ser algo muy diferente a esto…

  4. Red eléctrica inteligente • Sistema constituido por un conjunto de subsistemas de diversa naturaleza interconectados con el fin de mejorar la producción, la transmisión y la distribución de la energía eléctrica en cuanto a: • la eficiencia • la confiabilidad • la posibilidad de renovación • la seguridad • la economía y la reducción de costos • el control por parte del consumidor • la interdependencia entre tipos de energía • el cambio climático

  5. Marco conceptual de smart grids

  6. Un escenario posible • La empresa de distribución mide el consumo particular y global instantáneo • Se establece el precio de la energía según la oferta y la demanda y los usuarios lo ven en los contadores • En los hogares se configura la conexión de artefactos a la red en horas de menor consumo • Los artefactos se adecuan a las variaciones en los precios y calidad de la energía • Existen incentivos al ahorro de energía y retribución a los usuarios

  7. Distancia en la integración Parte A Parte B No hay estándares; la integración es propia Hay interfaces para transformar Existe un modelo común Existe un modelo definido “plug & play”

  8. Integración sin un modelo común

  9. Integración con un modelo común

  10. La necesidad de un lenguaje común

  11. Contenido de la presentación 1. Introducción al UML 2. Diagramas del UML 3. Recomendaciones para el modelado 4. Extensiones del UML: SysML 5. Modelos eléctricos con UML 6. Modelado con Enterprise Architect 7. Conclusiones

  12. Introducción al UML

  13. Evolución del modelado ‘50 ‘60 ‘70 ‘80 ‘90 Orientación a procesos Orientación a objetos Orient. a datos

  14. 1980 1985 1990 1995 2000 Características Comportamientos UML Evolución de la orientación a objetos

  15. El camino hacia la unificación • En 1994 Grady Booch manifiesta la necesidad • de unificar criterios • James Rumbaugh se une a Booch en octubre • de ese año • Ambos elaboran la versión 0.8 del Unified • Method • En 1995 Ivar Jacobson completa el • trío de “amigos” y cambia el enfoque: • nace el UML

  16. El camino hacia la estandarización • Se elabora la versión 0.9 del • Unified Modeling Language • Durante 1996 se realizan • sucesivas modificaciones en base • a aportes de muchas otras • personas (v. 0.91 y 1.0) • Se realiza la versión 1.1 en • conjunto con otras importantes • empresas, que es presentada al • OMG • El OMG adopta al UML versión 1.1 • como estándar a fines de 1997

  17. Método vs. lenguaje de modelado • Un método es… • Una descripción de los pasos que se deben seguir indicando el orden y las técnicas y herramientas que se deben emplear en cada paso, para lograr un objetivo. • Un conjunto de técnicas, herramientas y tareas que, de acuerdo a un enfoque metodológico, se aplican para la resolución de un problema.

  18. Método vs. lenguaje de modelado • Un lenguaje es un conjunto de señales que dan a • entender una cosa • Un lenguaje posee: • elementos • reglas sintácticas para combinar los elementos • semántica dependiente del contexto • Un lenguaje de modelado se emplea para expresar • ideas por medio de modelos

  19. Modelo • Un modelo es el cuerpo de información recabado • acerca de un sistema con el fin de estudiarlo • Se requiere un modelo cuando no se puede estudiar • el sistema en sí mismo por alguna razón • (complejidad, tamaño, costo, inexistencia, etc.) • El modelo no es el sistema por lo que tiene, • necesariamente, diferencias con él • Muchas veces es necesario contar con un conjunto de • modelos para poder enfocar el sistema desde • diferentes perspectivas y así disminuir la brecha • entre el modelo y el sistema

  20. Objetivos del UML • Establecer un lenguaje visual de modelado, expresivo • y sencillo en su uso • Mantener una independencia de los procesos de • modelado y de los lenguajes de programación • Establecer bases formales • Integrar las mejores prácticas • Imponer un estándar mundial

  21. Metalenguajes • Porción de la notación (diagramas de clases) empleada en el metamodelo • ObjectConstraintLanguage (OCL) • Lenguaje natural

  22. Reglas semánticas • Nombres: cómo nombrar los elementos en los modelos • Alcance: ámbito que da un significado al nombre • Especificaciones: cómo definir los elementos • Adornos: agregados a la notación básica • Divisiones comunes: niveles de abstracción entre un bloque de construcción y su implementación • Mecanismos de extensibilidad: para modelar cuestiones no contempladas inicialmente en el UML

  23. Modelos y diagramas del UML • Diagrama de casos de uso • Diagrama de clases • Diagrama de objetos • Diag. de estructura compuesta • Diagrama de secuencias • Diagrama de comunicaciones • Diagrama de tiempos • Diag. visión global de interacciones • Diagrama de estados • Diagrama de actividades • Diagrama de componentes • Diagrama de despliegue • Diagrama de paquetes • Modelado de requisitos • Modelado de la estructura • Modelado de la interacción • Modelado del comportamiento • Herramientas de diseño • Organización del modelo

  24. Del UML 1.5 al UML 2.0 Diagramas del UML 1.5 Diagramas del UML 2.0 • Casos de uso • Clases • Objetos • Estructura compuesta • Comunicaciones • Tiempos • Visión global de interacciones • Secuencias • Estados • Actividades • Componentes • Despliegue • Paquetes • Casos de uso • Clases • Objetos • Secuencias • Colaboraciones • Estados • Actividades • Componentes • Despliegue • Paquetes

  25. Arquitectura de los modelos Vista de diseño Vista de implementación Vista de casos de uso Vista de procesos Vista de despliegue

  26. Palabras clave • Modelo • Orientación a procesos • Orientación a datos • Orientación a objetos • UML • Proceso de desarrollo • Lenguaje de modelado • Método • Metodología • Arquitectura 4+1 • Modelado de requisitos • Modelado de la estructura • Modelado de la interacción • Modelado del comportamiento • Diagrama de casos de uso • Diagrama de clases • Diagrama de actividades • Diagrama de secuencias • Diagrama de tiempos • Diagrama de comunicaciones • Diagrama de revisión de las • interacciones • Diagrama de estados • Diagrama de componentes • Diagrama de despliegue • Diagrama de paquetes

  27. Diagramas del UML

  28. Modelado de requisitos • En los primeros estadios de la programación, las • aplicaciones se construían a partir de los requisitos • prácticamente en lenguaje natural • Con el advenimiento de los métodos de análisis, se • suponía que los requisitos estaban completamente • definidos antes del modelado • Con los métodos orientados a objetos comienzan a • aparecer técnicas de modelado de requisitos, basados • en el empleo de “escenarios” • Durante la década de los ’90 comienza a cobrar • protagonismo la disciplina de ingeniería de requisitos

  29. Diagrama de casos de uso • Introducido formalmente por Ivar Jacobson • Aceptado por la comunidad usuaria de tecnología de • orientación a objetos y por muchos metodologistas • De empleo en la etapa de relevamiento para captar los • requerimientos de los usuarios • De fácil comprensión por parte de los usuarios de los • sistemas • Herramienta que precisa otras complementarias para • ser utilizada en procesos de modelado OO

  30. Empleo de los casos de uso • Instrumentos para la captura de los requisitos • Proveen la descripción funcional del sistema • Facilitan la recolección de los requisitos no funcionales • Establecen el límite y el alcance del sistema • Son un medio para la comunicación con interlocutores diferentes • Permiten expresar tanto la vista de negocios como la de software

  31. Empleo de los casos de uso • Proveen mecanismos de modelado de sistema heredados o para procesos de reingeniería • Son la principal fuente de detección de objetos • Facilitan el diseño y la organización de las interfaces • Son la base para la detección de la interacción entre los objetos y de sus responsabilidades • Son el medio para la estimación y el dimensionamiento de un proyecto

  32. Empleo de los casos de uso • Son la base para las pruebas de aceptación y de integración • Definen los casos de prueba • Son un medio para la verificación y validación de requisitos • Son la base para el desarrollo incremental • Facilitan los mecanismos de trazabilidad pre y post especificación de requisitos • Son la base para la administración de requisitos

  33. Empleo de los casos de uso • Proveen los principales elementos para la documentación del sistema • Constituyen una de las principales herramientas para el control de los proyectos • Facilitan la asignación de recursos y la organización del equipo de desarrollo • Permiten organizar el proceso de ingeniería de requisitos • Proveen mecanismos para trabajar en el nivel de abstracción que sea necesario

  34. Diagrama de casos de uso

  35. Modelo de casos de uso • Funcionalidad completa del sistema desde la perspectiva de los actores que interactúan con él • Funcionalidad completa: si hay alguna funcionalidad en • el sistema, debe estar incluida en este modelo • Desde la perspectiva de los actores: se apunta a la • descripción centrada en la vista de los actores más que • en los procesos en sí • Actores que interactúan con el sistema: los casos de • uso describen principalmente la interacción de los • actores con el sistema, pero también de lo que se • realiza dentro del sistema para responder a los actores

  36. Caso de uso • Un caso de uso es una porción de la funcionalidad de un sistema descripta en términos de las interacciones de un actor con el sistema, con la finalidad de obtener un resultado de valor • La funcionalidad se divide en función de los resultados • de valor esperados desde la perspectiva del usuario que • interactúa con el sistema • Los casos de uso se distribuyen con un criterio adecuado • en diagrama de casos de uso • El conjunto de diagramas constituye el modelo de casos • de uso

  37. Actor • Toda persona, dispositivo, sistema organización o cosa que interactúa con el sistema con el fin de obtener un resultado de valor • Persona, dispositivo, sistema, organización o cosa: en • definitiva, todo lo que interactúe con el sistema • Interactúa con el sistema: por lo tanto, no es parte del • sistema; está fuera de él y permite demarcar la frontera • del sistema • Para obtener un resultado de valor: la interacción no es • para realizar un proceso cualquiera, sino uno que permita • alcanzar un objetivo o resultado de valor

  38. Rol • Un rol es el papel que juega un actor en el • momento de interactuar con el sistema • Una persona, dispositivo, sistema, organización o cosa: • puede jugar diferentes roles, por lo tanto, ser • representado con diferentes actores • Los roles (actores) tienen la particularidad de que • pueden representar tanto conjuntos de objetos como • objetos únicos

  39. Modelado de asociaciones • Entre actores y casos de uso: asociación común con • semántica de comunicación • Entre actores: generalización • Entre casos de uso: dependencias (con semánticas de • extensión e inclusión) y generalización

  40. Extensión e inclusión

  41. Extensión e inclusión • «extiende» (extend) se emplea para describir una • funcionalidad que se agrega al caso de uso base en • forma excepcional y que sin su existencia el caso de • uso base igualmente alcanza su resultado de valor • «incluye» (include) se utiliza para extraer las parte • comunes de los casos de uso; son casos de uso • abstractos • Los casos de uso abstractos son ejecutados por • actores abstractos obtenidos de una estructura de • generalización entre actores

  42. Extensión de casos de uso • Caso de Uso base • Paso del curso normal • Paso del curso normal • Paso del curso normal - punto de extensión • si se cumple la [condición] • Paso del curso normal • Paso del curso normal • Paso del curso normal • Paso del curso normal • Paso del curso normal • Caso de uso de extensión • Paso del curso normal • Paso del curso normal • Paso del curso normal • Paso del curso normal • Paso del curso normal • Paso del curso normal • Paso del curso normal • Paso del curso normal

  43. Inclusión de casos de uso • Caso de Uso común • Paso común • Paso común • Caso de Uso base 1 • Paso del curso normal • Paso del curso normal • Paso del curso normal • Paso común • Paso común • Paso del curso normal • Paso del curso normal • Paso del curso normal • Paso del curso normal • Caso de Uso base 2 • Paso del curso normal • Paso del curso normal • Paso del curso normal • Paso del curso normal • Paso del curso normal • Paso común • Paso común • Paso del curso normal

  44. Extensión e inclusión Extensión Inclusión

  45. Caso de uso utilitario • Se trata de casos de uso que nunca se instancian, pudiendo ser casos de uso extensores o incluidos • Son casos de uso cuya funcionalidad se lleva a cabo en el contexto de otro caso de uso concreto que se haya instanciado previamente • Al no instanciarse, no requieren un camino normal • Se recomienda crear un caso de uso genérico denominado <Ejecutar transacción> con un actor denominado <Actor>, que tenga un curso normal genérico y diversos subflujos para modelar en ellos los diferentes requisitos no funcionales • Los requisitos no funcionales también se podrían modelar como extensiones de <Ejecutar transacción>

  46. Descripción de los casos de uso • Empleo de texto: se realizan descripciones en lenguaje • natural explicando la funcionalidad externa empleando • el lenguaje del usuario • Escenarios:casos particulares de los casos de uso con • actores, datos y situaciones reales • Diagramas de actividades: aunque hay que tratar de no • realizar descripciones demasiado formales • Scripting:oraciones estructuradas que destacan objetos • y sus responsabilidades y colaboraciones

  47. Estrategia de modelado Errores Funcionalidad deseada Excepciones Camino base Funcionalidad no deseada

  48. Construcción de los diagramas • Pasos recomendados: • elaborar una lista de actores y definir sus roles • elegir el actor más representativo del sistema para comenzar el • diagrama • agotar todas las necesidades funcionales del actor incorporando • los casos de uso de la funcionalidad base • para cada caso de uso, buscar los actores que deban colaborar con él • repetir los dos pasos anteriores para cada actor • incorporar la funcionalidad necesaria para excepciones y errores • factorizar los casos de uso • obtener los actores abstractos mediante generalización • describir cada casos de uso a medida que se incluye en el modelo • validar y verificar el modelo junto con los usuarios

  49. Elaboración de los Casos de Uso • Encontrar los casos de uso • Su objetivo es establecer el alcance del sistema • Se deben encontrar los casos de uso fundamentales • Se deben describir los casos de uso en lenguaje natural • Se debe realizar la verificación de los casos de uso • Detallar los casos de uso • Su objetivo es lograr una especificación de requisitos completa • Se deben completar los pasos de los casos de uso en forma • detallada • Se deben extender los casos de uso • Se debe realizar la validación de los casos de uso • Refinar los casos de uso • Su objetivo es documentar en detalle los • casos de uso • Se debe refinar la documentación textual • Se deben revisar en detalle los requisitos no funcionales • Se debe incorporar la documentación anexa, diagramas, etc.

  50. Colaboración • Es una sociedad de clases, interfaces y otros elementos que colaboran entre sí de forma sinérgica, proporcionando un comportamiento cooperativo mayor que el de la simple suma de los comportamientos de sus elementos • Proporciona un nombre a los bloques de construcción de interacciones del sistema, incluyendo elementos estructurales y de comportamiento • Adicionalmente, sirve principalmente para la realización de los casos de uso y las operaciones, aunque puede realizar cualquier clasificador

More Related