Curso de UML JEML.

Slides:



Advertisements
Presentaciones similares
UML.
Advertisements

MODELOS ORIENTADOS A OBJETOS
U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
Plan de Implantación Sistemas de Información III
Lenguaje Unificado de Modelado
SISTEMA DE INFORMACION
Programación Orientada a Objetos y Lenguaje de Modelado Unificado
Tomado de:
Ingeniería de Software
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Técnicas de Modelamiento
Prof. César Luza Montero
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
LENGUAJE UNIFICADO DE MODELADO UML
Ingeniería del Software
Ingeniería del Software
UNIDAD 1: “ Introducción al Lenguaje Unificado de Modelado ”
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
Aspectos Avanzados de la Tecnología de Objetos
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”
Una Introducción a UML El Modelo de Proceso de Negocio
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Análisis y Diseño orientado a objetos con UML.
Profesor: Miguel Angel Vidal
Modelado Arquitectónico
Lenguaje de Modelado Unificado Unified Modeling Languaje
(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.
Orientado a Objetos usando UML
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
ING. PERCY OQUENDO CARREÑO PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE.
Ingeniería de Software
Ingeniería de Software Orientado a Objetos
UNIDAD 3: “Desarrollo Orientado a Objetos con UML”
Fundamentos de programación
1 Diseño Orientado a Objetos Agustín J. González ELO-329: Diseño y Programación Orientados a Objetos 1er. Sem
Introducción al modelado Unificado
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Ingeniería de software
1 Diseño Orientado al Objeto Agustín J. González ELO-326: Seminario de Computadores II 2do. Sem
TEMA 10: DIAGRAMA DE: OBJETOS, SECUENCIA Y DESPLIEGUE EN UML
UML Carlos Becerra C. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,
UML Necesidad modelado Diagramas de clase Diagramas de secuencia
ANÁLISIS Y DISEÑO DE SISTEMAS II
UML 2.0 Diagramas de Comportamiento
Clasificación de Diagramas
Introducción a UML Departamento de Informática Universidad de Rancagua
Conceptos Fundamentales
Ingeniería de Requisitos
MODELAMIENTO VISUAL Y UML
UML.
Relación con otras asignaturas del plan de estudio
(Lenguaje Unificado de Modelado)
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.
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
MODELAMIENTO VISUAL Y UML
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
“ Un Modelo UML indica que es lo que supuestamente hará el sistema, más no cómo lo hará.” INTRODUCCIÓN UML OMAR HERNÁNDEZ OLIVARES.
Modelado Orientado a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
1 Tema 2: Introducción al proceso unificado de desarrollo de software.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
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
Diseño Orientación a Objetos Lenin Herrera Sesión 3.
ANÁLISIS Y DISEÑO DE SISTEMAS II
Transcripción de la presentación:

Curso de UML JEML

M.C. Jorge Eduardo Macias Luevano Definición de UML Es un conjunto de notaciones para la creación de modelos de objetos. Es un lenguaje para la especificación, visua-lización, construcción y documentación de los artefactos de sistemas de software, así como para modelar negocios o cualquier sistema que no sea software. M.C. Jorge Eduardo Macias Luevano

Razones de aparición de UML Necesidad de estandarizar los lenguajes de modelación para la industria de software orientado a objetos. Necesidad del desarrollo de un buen modelo del sistema de software a desarrollar. Crear un conjunto de notaciones y semántica que abarque adecuadamente todas las escalas de arquitecturas complejas, de software, a través de todos los dominios M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Metas del UML Definir un lenguaje de modelación visual fácil de usar y semánticamente rico. Estandarizar los lenguajes de modelación orientados a objetos (Booch, OMT, OOSE) Suministrar mecanismos de especificación extendibles. Integrar las mejores prácticas de la industria Fortalecer el crecimiento del mercado de herramientas orientadas a objetos. M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Metas del UML Soportar conceptos contemporáneos de desarrollo de software: Componentes, colaboración, estructuras, patrones, escalable, concurrencia, distribución, etc. Proveer flexibilidad para su aplicación en diferentes procesos. Habilitar el intercambio de modelos y definir un depósito de interfaces. M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Alcance del UML Es un lenguaje para especificación, visualización y documentación de los artefactos de un sistema de software. Fusiona los conceptos de Booch, OMT (Técnica de Modelado de Objetos) y OOSE (Ing. de Software OO); resultando un lenguaje de modelación sencillo, común y ampliamente usado. Aumenta la cobertura de lo que se puede hacer con los métodos existentes. M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Alcance del UML Es un lenguaje de modelación estándar no es un proceso estándar. Especifica un lenguaje de modelación que incorpora el consenso de la comunidad OO. Permite desviaciones que estén expresadas en sus mecanismos de extensión. M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Alcance del UML UML provee: Una semántica y notación con una amplia variedad de factores de modelación. Una semántica que contenga ciertos factores de de modelación esperados en el futuro; relacionados con componentes tecnológicos, sist. distribuidos, estructuras. Mecanismos de extensión. M.C. Jorge Eduardo Macias Luevano

Elementos fuera del UML Lenguaje de programación: UML es un lenguaje de modelación visual. Herramientas: las herramientas se pueden basar en UML. Procesos: UML es intencionalmente independiente del proceso. M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano I. Introducción: UML Situación de Partida Diversos métodos y técnicas OO, con muchos aspectos en común pero utilizando distintas notaciones Inconvenientes para el aprendizaje, aplicación, construcción y uso de herramientas, etc. Pugna entre distintos enfoques (y correspondientes gurús) Establecer una notación estándar M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

M.C. Jorge Eduardo Macias Luevano I. Introducción: UML Historia de UML Comenzó como el “Método Unificado”, con la participación de Grady Booch y Jim Rumbaugh. Se presentó en el OOPSLA’95 El mismo año se unió Ivar Jacobson. Los “Tres Amigos” son socios en la compañía Rational Software. Herramienta CASE Rational Rose M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

M.C. Jorge Eduardo Macias Luevano I. Introducción: UML Historia de UML UML 2.0 2001 2000 UML 1.4 1999 UML 1.3 Revisiones menores 1998 UML 1.2 Nov ‘97 UML aprobado por el OMG M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

M.C. Jorge Eduardo Macias Luevano I. Introducción: UML Participantes en UML 1.0 Rational Software (Grady Booch, Jim Rumbaugh y Ivar Jacobson) Digital Equipment Hewlett-Packard i-Logix (David Harel) IBM ICON Computing (Desmond D’Souza) Intellicorp and James Martin & co. (James Odell) MCI Systemhouse Microsoft ObjecTime Oracle Corp. Platinium Technology Sterling Software Taskon Texas Instruments Unisys M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

UML “aglutina” enfoques OO I. Introducción: UML UML “aglutina” enfoques OO Rumbaugh Booch Jacobson Odell Meyer Pre- and Post-conditions Shlaer-Mellor UML Object life cycles Harel State Charts Gamma et. al. Frameworks, patterns, notes Embly Wirfs-Brock Singleton classes Fusion Responsabilities Operation descriptions, M.C. Jorge Eduardo Macias Luevano message numbering www.dsic.upv.es/~uml

M.C. Jorge Eduardo Macias Luevano I. Introducción: UML Aspectos Novedosos Definición semi-formal del Metamodelo de UML Mecanismos de Extensión en UML: Stereotypes Constraints Tagged Values Permiten adaptar los elementos de modelado, asignándoles una semántica particular Stereotype = Estereotipo Constraint = Restricción de Integridad Tagged Values = Valores Etiquetados, es un par (nombre propiedad, valor) Los mecanismos de extensión pueden usarse para: Añadir nuevos elementos de modelado sin crear nuevos símbolos. En este caso el símbolo existente estará etiquetado con el correspondiente estereotipo. Esto permite que el metamodelo de UML no se vea alterado. Definir extensiones necesarias en un proceso de desarrollo o lenguaje de implementación específico. Asignar una semántica particular o información no semántica a elementos de modelado. Las restricciones de integridad pueden escribirse usando un lenguaje específico para representar restricciones (tal como OCL, Object Constraint Language, que expresa restricciones mediante fórmulas bien formadas, desarrollado por IBM) u otros lenguajes (por ejemplo, un determinado lenguaje de programación) o incluso en lenguaje natural. Tipos de enfoques: no-formales, semi-formales y formales Las principales mejoras al utilizar métodos formales son: Mayor rigor en la especificación Mejores condiciones para realizar la verificación y validación Mejores condiciones para automatización de procesos para la generación automática de prototipos y/o código final M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

M.C. Jorge Eduardo Macias Luevano I. Introducción: UML Inconvenientes en UML Definición del proceso de desarrollo usando UML. UML no es una metodología Falta integración con respecto de otras técnicas tales como patrones de diseño, interfaces de usuario, documentación, etc. Ejemplos aislados “Monopolio de conceptos, técnicas y métodos en torno a UML” M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

M.C. Jorge Eduardo Macias Luevano I. Introducción: UML Perspectivas de UML UML será el lenguaje de modelado orientado a objetos estándar predominante los próximos años Razones: Participación de metodólogos influyentes Participación de importantes empresas Aceptación del OMG como notación estándar M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

M.C. Jorge Eduardo Macias Luevano Perspectivas de UML Evidencias: Herramientas que proveen la notación UML “Edición” de libros Congresos, cursos, “camisetas”, etc. M.C. Jorge Eduardo Macias Luevano www.dsic.upv.es/~uml

Artefactos del UML JEML

Bloques de Construcción del UML Elementos/Objetos Relaciones Diagramas M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Elementos en UML Elementos estructurales Las partes mas estáticas del modelo clase, interface, colaboración, caso de uso, clase activa, componente, nodo Elementos de Comportamiento Partes dinámicas de los modelos de UML interacción, maquinas de estado Elementos de Agrupación Partes organizacionales de UML Paquetes y subsistemas Otros elementos Partes explicativas de UML notas M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Relaciones Dependencia Una relación semántica entre dos elementos en donde un cambio en un elemento (el independiente) puede afectar la semántica del otro elemento (dependiente) Asociación Una relación estructural que describe un conjunto de ligas M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Relaciones Generalización Una relación de especialización/generalización en la cual el hijo le comparte, la estructura y el comportamiento al padre Realización Una relación semántica entre clasificadores, donde un clasificadores especifica un contrato que otro clasificador se encarga de realizar. M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Diagramas en UML State Diagrams Class Use Case Diagrams Scenario Diagrams Statechart State Diagrams Object Scenario Diagrams Collaboration State Diagrams Component Models Component Diagrams Deployment Use Case Diagrams Sequence Activity Diagrams M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Diagramas Un diagrama es una vista dentro de un modelo Presentado desde el aspecto de un punto de vista particular Provee una representación parcial del sistema Es semánticamente consistente con otras vistas M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Diagramas UML cuenta con nueve diagramas estándar Vistas estáticas: Casos de uso Clases Objetos Componentes Despliegue Vistas dinámicas: Secuencia Colaboración De estado Actividad M.C. Jorge Eduardo Macias Luevano

Diagramas de Casos de Uso Muestra un conjunto de casos de uso, sus actores y sus relaciones. M.C. Jorge Eduardo Macias Luevano

Diagramas de Casos de Uso Captura la funcionalidad del sistema como es vista por los usuarios. Se crean en etapas tempranas del desarrollo Propósito especificar el contexto de un sistema Captura los requerimientos de sistema Validar la arquitectura del sistema Dirige la implementación y genera casos de prueba Desarrollados por analistas y expertos del dominio M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Diagrama de Clases Muestra un conjunto de clases, interfaces, y colaboraciones y sus relaciones M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Diagrama de Clases Captura el vocabulario de un sistema Conforma la vista estática del diseño de un sistema Se crea y se redefine a través de todo el desarrollo. Propósito: Nombrar y modelar conceptos en el sistema Especifica colaboraciones Especifica esquemas lógicos de bases de datos Desarrollado por analistas, diseñadores, e implementadores M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Diagramas de Objetos Muestra un conjunto de objetos y sus relaciones M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Diagramas de Objetos Representa instantáneas estáticas de instancias de las cosas que se encuentran en los diagramas de clases. Comprende la vista estática del diseño o la vista estática del proceso de un sistema. Se crea durante el análisis y el diseño. Propósito: Ilustrar la estructura de datos/objetos Especificar instantáneas Desarrollado por analistas, diseñadores e implementadores M.C. Jorge Eduardo Macias Luevano

Diagramas de Componentes Muestra la organización y dependencias entre un conjunto de componentes M.C. Jorge Eduardo Macias Luevano

Diagramas de Componentes Comprende la vista estática de la implementación de un sistema. Se construye como parte de especificación arquitectónica. Propósito: Organizar el código fuente Construir una versión ejecutable. Especificar una Base de datos física. Desarrollado por diseñadores y programadores. Un diagrama de Componentes permite modelar la estructura del software y la dependencia entre componentes Un componente es un grupo de clases que trabajan estrechamente. Los componentes pueden corresponder código fuente, binario o ejecutable Una relación de dependencia indica que un componente utiliza otro, por lo cual depende de él M.C. Jorge Eduardo Macias Luevano

Diagramas de Despliegue Muestran la configuración los nodos de procesos run-time y los componentes que viven en ellos. M.C. Jorge Eduardo Macias Luevano

Diagramas de Despliegue Captura la topología del hardware del sistema Se crea como parte de la especificación arquitectónica. Propósito: Especificar la distribución de componentes Identificar cuellos de botella del desempeño Desarrollado por arquitectos, ingenieros de redes e ingenieros de sistemas El Diagrama de Distribución modela la distribución en tiempo de ejecución de los elementos de procesamiento y componentes de software, junto a los procesos y objetos asociados En el Diagrama de Distribución se modelan los nodos y la comunicación entre ellos Cada nodo puede contener instancias de componentes M.C. Jorge Eduardo Macias Luevano

Diagramas de Actividad Muestra el flujo de actividades, dentro de un sistema. O la secuencia de actividades. M.C. Jorge Eduardo Macias Luevano

Diagramas de Actividad Captura el comportamiento dinámico (orientado a las actividades) Un tipo especial de diagrama de estado Propósito: Modela la función de un sistema Modela el flujo de control entre objetos Modela el flujo de trabajo del negocio Modela las operaciones Caso especial de Diagrama de Estados donde: Todos (o la mayoría de) los estados son estados de acción Todas (la mayoría de) las transiciones son “disparadas” como consecuencia de la finalización de la la acción. El Diagrama de Actividades puede especificar: El comportamiento de los objetos de una clase La lógica de una operación (método) Parte o toda la descripción de un Caso de uso La descripción de un Flujo de Trabajo M.C. Jorge Eduardo Macias Luevano

… Otro Ejemplo (con swim lines) II. Breve Tour por UML … Otro Ejemplo (con swim lines) Pasajero Vendedor Airline Solicitar pasaje Verificar existencia vuelo Dar detalles vuelo Informar alternativas y precios Seleccionar vuelo Solicitar pago Reservar plazas Confirmar plaza reservada Pagar pasaje Emitir billete M.C. Jorge Eduardo Macias Luevano

Diagramas de Secuencia Enfatiza el orden de los mensajes en el tiempo M.C. Jorge Eduardo Macias Luevano

Diagramas de Secuencia Captura el comportamiento dinámico (orientado al tiempo) Es un tipo de diagrama de interacción Propósito: Modelar el flujo de control Ilustra escenarios típicos Los Diagramas de Secuencia y de Colaboración son usados para describir gráficamente un caso de uso o un escenario Un Diagrama de Secuencia muestra los objetos de un escenario mediante líneas verticales y los mensajes entre objetos como flechas conectando objetos Los mensajes son dibujados cronológicamente desde arriba hacia abajo Los rectángulos en las líneas verticales representan los periodos de actividad de los objetos. M.C. Jorge Eduardo Macias Luevano

Diagramas de Colaboración Enfatiza la organización estructural de los objetos que envían y reciben mensajes. M.C. Jorge Eduardo Macias Luevano

Diagramas de Colaboración Captura el comportamiento dinámico (orientado a los mensajes) Es un tipo de diagrama de interacción Propósito: Modelar el flujo de control Ilustrar la coordinación de la estructura de objetos y el control El Diagrama de Colaboración modela la interacción entre los objetos de un Caso de Uso Los objetos están conectados por enlaces (links) en los cuales se representan los mensajes enviados acompañados de una flecha que indica su dirección El Diagrama de Colaboración ofrece una mejor visión del escenario cuando el analista está intentando comprender la participación de un objeto en el sistema M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Diagramas de Etado Muestra una maquina de estado; compuesta de estados, transiciones, eventos y actividades. M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Diagramas de Estado Captura el comportamiento dinámico (orientado a los eventos) El comportamiento es modelado en términos del estado en el cual se encuentra el objeto, qué acciones se ejecutan en cada estado y cuál es el estado al que transita después de un determinado evento Propósito: Modelar el ciclo de vida del objeto Modelar objetos reactivos (interfaces del usuario, dispositivos, etc.) El Diagrama de Estados modela el comportamiento de una parte del sistema Típicamente se elabora un diagrama de Estados para cada clase que tenga un comportamiento significativo El comportamiento es modelado en términos del estado en el cual se encuentra el objeto, qué acciones se ejecutan en cada estado y cuál es el estado al que transita después de un determinado evento M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano II. Breve Tour por UML Paquetes en UML Los paquetes ofrecen un mecanismo general para la organización de los modelos/subsistemas agrupando elementos de modelado Se representan gráficamente como: M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano II. Breve Tour por UML … Paquetes en UML Cada paquete corresponde a un submodelo (subsistema) del modelo (sistema) Un paquete puede contener otros paquetes, sin límite de anidamiento pero cada elemento pertenece a (está definido en) sólo un paquete Una clase de un paquete puede aparecer en otro paquete por la importación a través de una relación de dependencia entre paquetes M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano II. Breve Tour por UML … Paquetes en UML Todas las clases no son necesariamente visibles desde el exterior del paquete, es decir, un paquete encapsula a la vez que agrupa El operador “::” permite designar una clase definida en un contexto distinto del actual Práctica 1 M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano II. Breve Tour por UML … Paquetes en UML Práctica 1 M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Arquitectura y el UML Organization Package, subsystem Dynamics Interaction State machine Componentes Clases, interfaces, colaboraciones Vista Diseño Vista Implementación Vista Caso de Uso Use cases Clases Activas Nodos Vista Proceso Vista Despliegue M.C. Jorge Eduardo Macias Luevano

UML Ciclo de Vida del Desarrollo de Software Dirigido por Casos de Uso: Los casos de uso son usados como primer artefacto para establecer el comportamiento deseado del sistema, para verificar y validar la arquitectura del sistema, para probar y para comunicar entre si a los interesados del en el proyecto. Centrado en la Arquitectura: La arquitectura del sistema es usada como un artefacto primario para conceptualizar, construir, administrar y evolucionar el sistema en el desarrollo M.C. Jorge Eduardo Macias Luevano

UML Ciclo de Vida del Desarrollo de Software Iterativo Aquel que involucra la administración de varias versiones ejecutables Incremental Aquel que involucra la continua integración de la arquitectura del sistema para producir esas versiones. M.C. Jorge Eduardo Macias Luevano

M.C. Jorge Eduardo Macias Luevano Fases del Ciclo de Vida Inicio Elaboración Construcción Transición time Inicio Define el plan del proyecto y desarrolla los casos del negocio Elaboración Plan del proyecto, especifica características, y la línea base de la arquitectura. Construcción Construye el producto Transición Se entrega el producto a sus usarios M.C. Jorge Eduardo Macias Luevano