UML 2.0 Patricia Parra Guzmán Daniel Duarte Delgado

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
INSTITUTO TECNOLÓGICO DE MORELIA JOSÉ MARIA MORELOS Y PAVÓN
Plan de Implantación Sistemas de Información III
Lenguaje Unificado de Modelado
Unidad 3 Por Nelson Rojas Núñez
TECNICATURA UNIVERSITARIA EN INFORMATICA
Ingeniería de Software I
Tomado de:
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Ing. Pablo Mayorga. UML = Unified Markup Language Estándar de lenguaje de modelamiento de Object Management Group Varias versión 1.0, 1.1,1.2, 1.3, 1.4,
Metodologías OMT Republica bolivariana de Venezuela
Introducción a la Orientación a Objetos
Introducción a la programación orientada a aspectos.
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Modelos de Proceso del Software
UNIVERSIDAD LATINA (UNILA) ENCAPSULACION Y HERENCIA
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Sistemas Distribuidos “Técnicas de Especificación Formal”
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Profesor: Miguel Angel Vidal
Material Original de Microsoft para desarrolladores adaptado por Jorge Miguel PERALTA para clases de Informática Aplicada (Haga clic para adelantar/atrasar.
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Modelado Arquitectónico
Lenguaje de Modelado Unificado Unified Modeling Languaje
STARUML.
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
ING. PERCY OQUENDO CARREÑO PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE.
Ingeniería de Software
Ingeniería de Software Orientado a Objetos
Bases de Datos Orientadas a Objetos (BDOO)
Fundamentos de programación
Poder Expresivo de UML 2.0 para especificar arquitecturas de Software
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Introducción al modelado Unificado
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Ingeniería de software
UML Carlos Becerra C. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,
Diagrama de CLASES Alfredo Rodríguez Rojas
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Facultad de Ingeniería
ANÁLISIS Y DISEÑO DE SISTEMAS II
La Universidad de Guayaquil Carrera de Ingeniería en Sistemas.
Clasificación de Diagramas
Introducción a UML Departamento de Informática Universidad de Rancagua
Conceptos Fundamentales
Ingeniería de Requisitos
DIAGRAMA DE SECUENCIA Y ACTIVIDADES.
Taller de Sistemas de Programas Clase 6 Dpto. de Computación y T.I.
UML.
(Lenguaje Unificado de Modelado)
Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.
Prof. Joel Moreno Molina
Unified Modeling Language (Lenguaje de Modelamiento unificado)
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
La Programación Orientado a Objetos
MODELAMIENTO VISUAL Y UML
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Fundamentos de Ingeniería de Software
Modelado Orientado a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
CURSO:PRACTICA INTEGRAL III ALUMNO: RARÁZ TINOCO, JORGE LUIS PROFESOR:DAVILA, JUAN CICLO:II CICLO.
Entregables del Proyecto
Universidad Nacional de Ingeniería Comprendiendo los Fundamentos de
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Transcripción de la presentación:

UML 2.0 Patricia Parra Guzmán Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Contenido Introducción Historia UML MDD – Model Driven Development Arquitectura de Metamodelos definida por OMG Perfiles UML Superestructura UML 2.0 Defectos de UML 1.x Diagramas en UML Diagrama de estructura compuesta Diagrama de máquinas de estado Conclusiones Bibliografía Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Introducción El UML se ha vuelto el estándar (impuesto por la industria y los usuarios) para el modelado de aplicaciones de software. En los últimos años, su popularidad trascendió al desarrollo de software y, en la actualidad, el UML es utilizado para modelar muchos otros dominios, como por ejemplo el modelado de procesos de negocios. Al momento de desarrollar el nuevo estándar 2.0 del UML, la OMG se propuso, entre otros, dos objetivos que se pueden considerar principales debido a la influencia de éstos en la versión final del estándar. Estos objetivos son: Hacer el lenguaje de modelado mucho más extensible de lo que era. Permitir la validación y ejecución de modelos creados mediante el UML. Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Historia UML Las raíces del UML provienen de tres métodos distintos. El método de Grady Booch, la Técnica de Modelado de Objetos de James Rumbaugh y “Objetory”, de Ivar Jacobson. Conocidas estas tres personalidades como “los tres amigos”. En 1994 Booch, Rumbaugh y Jacobson dieron forma a la primera versión del UML y en 1997 fue aceptado por la OMG, fecha en la que fue lanzada la versión v1.1 del UML. Desde entonces, UML atravesó varias revisiones y refinamientos hasta llegar a la versión actual: UML 2.0. Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

MDD – Model Driven Development UML busca ser un lenguaje legible, y permitir la generación automática de código. Esta legibilidad se obtiene mediante diagramas visuales que representan los modelos y para la generación de código por parte de herramientas, requiere de una definición formal de UML, lo cual se consigue mediante un metamodelo expresado en el metalenguaje MOF, el cual es precisamente un lenguaje para definir lenguajes de modelado. Para entender la estructura de lo que es MOF y su relación con UML, se define que es el desarrollo guiado por modelos. El desarrollo guiado por modelos es una aproximación al desarrollo de software en el que el enfoque y los artefactos fundamentales son los modelos y no los programas, implica la generación automática de programas a partir de modelos, por lo que se utilizan lenguajes de modelado como herramienta de implementación. El modelo por su naturaleza está más ligado al dominio del problema que a la tecnología, además son más fáciles de especificar, comprender y mantener. Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Arquitectura de Metamodelos Para lenguajes que requieren sintaxis gráfica se necesita el concepto de metamodelado. OMG define una arquitectura basada en 4 niveles de abstracción que permiten distinguir entre los diferentes niveles conceptuales que intervienen en el modelado de un sistema. Estos niveles son M0, M1, M2 y M3. M0 – Las instancias: Modela el sistema real, sus elementos son las instancias que componen dicho sistema. Ejemplo: “Juan” presta el ejemplar “123” de “Caballo de Troya” M1 – El modelo del sistema. Los modelos de los sistemas concretos. Ejemplo: “Cliente”, “Presta”, “Libro” M2 - El modelo del modelo (Metamodelo). Los elementos de M2 son los lenguajes de modelado. Define los elementos que intervienen a la hora de definir un modelo del nivel M1. En el caso de un modelo UML de un sistema, los conceptos propios del nivel M2 son “Clase”, “Atributo” o “Asociación”. M3 - El modelo de M2 (el meta-metamodelo). Finalmente el nivel M3 define los elementos que constituyen los distintos lenguajes de modelado. De esta forma el concepto de “Clase” definido en UML (nivel M2), puede verse como una instancia de un elemento del nivel M3, lo que se conoce como Clasificadores. Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Arquitectura de Metamodelos OMG ha definido un lenguaje para describir los elementos de nivel M3, el cual se denomina MOF (Meta-Object Facility). MOF puede considerarse como un lenguaje para describir lenguajes de modelado, como pueden ser UML, CWM (Common Warehouse Metamodel), o incluso el propio MOF. Tales lenguajes pueden ser considerados como instancias del MOF, puesto que lo que proporciona el MOF es un lenguaje con los constructores y mecanismos mínimos necesarios para describir meta-modelos de lenguajes de modelado (es decir, los elementos que van a constituir un lenguaje dado, y las relaciones entre tales elementos). Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Perfiles UML (UML Profiles) UML incluye un mecanismo de extensión en el propio lenguaje que permite definir lenguajes de modelado que son derivados de UML. Un Perfil se define en un paquete UML, estereotipado «profile», que extiende a un metamodelo o a otro Perfil. Tres son los mecanismos que se utilizan para definir Perfiles: estereotipos (stereotypes), restricciones (constraints), y valores etiquetados (tagged values). Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Defectos de UML 1.x A continuación se muestran algunas desventajas de UML 1.x las cuales evidenciaron la necesidad de una nueva versión que intentara cubrir estas limitantes: No explota la potencia de los modelos orientados a MDD Inadecuada capacidad de Modelado Sistemas a gran escala Aspectos no funcionales Modelado de procesos de negocio Definición semántica inadecuada Definición informal (No adecuada o no posible para generación de código o modelos ejecutables) Falta de soporte para intercambio de diagramas No cumplimiento de MOF Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Superestructura UML 2.0 Es la definición formal de los elementos que componen el UML 2.0. Provee el soporte para desarrollo de software basado en componentes, modelado de procesos de negocio, entro otros. Ésta se encuentra organizada en paquetes, que definen los elementos internos del UML y la manera en que se relacionan. Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Diagramas en UML En UML 2.0 hay 13 tipos diferentes de diagramas. Para comprenderlos de manera concreta, a veces es útil categorizarlos jerárquicamente. Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Diagramas en UML Diagrama de Clases Diagrama de Componentes Diagramas de estructura enfatizan en los elementos que deben existir en el sistema modelado: Diagrama de Clases Diagrama de Componentes Diagrama de Objetos Diagrama de estructura Compuesta (UML 2.0) Diagrama de Despliegue Diagrama de Paquetes Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Diagramas en UML Diagrama de Actividades Diagrama de Casos de Uso Diagramas comportamiento enfatizan en lo que debe suceder en el sistema modelado: Diagrama de Actividades Diagrama de Casos de Uso Diagrama de estados Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Diagramas en UML Diagrama de Secuencia Diagrama de Comunicación Diagramas Interacción, un subtipo de diagramas de comportamiento, que enfatiza sobre el flujo de control y de datos entre los elementos del sistema modelado: Diagrama de Secuencia Diagrama de Comunicación Diagrama de Tiempos (UML 2.0) Diagrama de Vista de Interacción (UML 2.0) Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Diagrama de Estructura Compuesta Uno de los nuevos y más útiles diagramas incorporados en UML 2.0, fue específicamente diseñado para la representación de patrones de diseño, y es una de las modificaciones de mayor impacto dentro de UML 2.0. Esta modificación de UML permite que todos los clasificadores puedan tener una estructura compuesta. Mediante una composición de estructuras, el comportamiento de las instancias de otros Clasificadores contenidos (estructura interna) en un Clasificador determinado, puede especificarse como Colaboraciones. Los conceptos principales para describir la estructura interna son: Partes Puertos Conectores Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Partes Una parte es una propiedad de la clase que la contiene, lo que significa que la parte vive y muere dentro del ciclo de vida del objeto de la clase que la contiene. Puertos Un puerto describe un punto de interacción de una clase. Es direccionable, lo que significa que las entradas pueden ser direccionadas a él. Conectores Un conector especifica un enlace (una instancia de una asociación) que habilita la comunicación ente dos o más partes. Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Diagrama de Máquinas de Estado Tuvieron ciertas mejoras con respecto a UML 1.4, entre otras tenemos: Estado compuesto con puntos de entrada y de salida incrementando la escalabilidad y el comportamiento a modelar. Generalización de estados de máquina, que habilita la herencia y la especialización de comportamiento. Estado Compuesto. UML 2.0 habilita puntos de entada y de salida que controlan el acceso a estados compuestos. Esto permite la reutilización en otras máquinas de estado. UML 1.4 no tenía cómo entrar y salir de estados compuestos Patricia Parra Guzmán – Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Conclusiones UML 2.0 ha sido mejorado con respecto de UML 1.x, en lo referente a modelado de comportamiento y composición. El comportamiento ahora puede ser extendido, lo cual es importante cuando comportamiento complejo es modelado. Es posible encapsular totalmente componentes de comportamiento, máquinas de estado Tiene conceptos de extensibilidad llamados perfiles <<profiles>>, los cuales son usados para definir metaclases en UML , para adaptar un modelo UML a una plataforma específica como EJB. Patricia Parra Guzmán- Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Conclusiones Nuevos conceptos para describir la estructura arquitectural interna de las Clases, Componentes y Colaboraciones por medio de Partes, Conectores y Puertos. Una mejora en el encapsulamiento de componentes a través de puertos complejos con protocolos de máquinas de estado que pueden “controlar” la interacción con el ambiente Mejoras en la especificación en lo referente a manejo de componentes Integración de acciones y actividades, y el uso de flujos semánticos en lugar de máquinas de estado Interacciones mejoradas con conceptos de arquitectura y control tales como composición, referencias, excepciones, ciclos y una mejora sobre los diagramas de vista de Interacción. Patricia Parra Guzmán- Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Bibliografía Lista de URL: Bibliografía [url2]: OMG – Object Management group; http://www.omg.org/ [url3]: JSR 26 UML/EJB Mapping Specification; http://salmosa.kaist.ac.kr/~course/DrBae/cs650_2001/LectureNotes/UMLProfileForEJB.pdf Bibliografía UML, Distilled. Second Edition. Martin Fowler, Kendall Scout. Addison Wesley Unified Modelling Language, User Guide. Grady Booch, James Rumbaugh, Ivar Jacobson. Addison Wesley. UML and Patterns. Larman Craig. Adisson Wesley. Una Introducción a los Perfiles UML, Lidia Fuentes y Antonio Vallecillo Patricia Parra Guzmán- Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación

Fin de la presentación… Patricia Parra Guzmán - Daniel Duarte Delgado Escuela de Ingeniería de Sistemas y Computación