Técnicas de Modelamiento

Slides:



Advertisements
Presentaciones similares
UML.
Advertisements

U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
INSTITUTO TECNOLÓGICO DE MORELIA JOSÉ MARIA MORELOS Y PAVÓN
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Lenguaje Unificado de Modelado
SISTEMAS II UNIDAD Nº 1 INTRODUCCION A UML T.U.I.
Introduccion a UML Wilson Peláez Hernández
INTRODUCCIÓN Alfredo Rodríguez Rojas
Presentación 20 de Mayo 2009.
MOVIMIENTO JOVENES DE LA CALLE CIUDAD DE GUATEMALA chi siamo quienes-somos qui sommes-nous who we are attività actividades activités activities alimentazione.
Ingeniería de Software
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
ANALISIS ESTRUCTURADO Ing. Sonia Godoy Hortua 1. E SPECIFICACIÓN DE REQUERIMIENTOS 1. Requerimientos funcionales y no funcionales 2. Especificación de.
INGENIERIA DE SOFTWARE II Clase Nº 7
Introducción a la Orientación a Objetos
Parte 1: Modelo de Casos de Uso del Negocio
UML.
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Ingeniería del Software
Ingeniería del Software
Business Proccess Management (BPM)
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.
Desarrollo Orientado a Objetos con UML
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Análisis y Diseño orientado a objetos con UML.
Profesor: Miguel Angel Vidal
Manual de Procedimientos Procedimiento de ejecución del programa de
Análisis y Diseño de Sistemas
DISEÑO DE LA PROPUESTA DEL PROCESO DE RENDICION DE CUENTAS 2014 Coordinación General de Planificación Ministerio de Agricultura, Ganadería, Acuacultura.
El Proceso Software Ingeniería en Informática
Modelado Arquitectónico
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.
Introducción al Proceso de Desarrollo de Software Patricio Letelier Departamento de Sistemas Informáticos y Computación Universidad.
Orientado a Objetos usando UML
ING. PERCY OQUENDO CARREÑO PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE.
Ingeniería de Software
Fundamentos de programación
POR MARCO LEANDRO RUIZ ZAPATA. Start UML Unified Modeling Language lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad;
Introducción al modelado Unificado
Construcción de una casa para “fido”
Algunas Herramientas de Apoyo al Diseño de Software Agustín J. González ELO329: Diseño y programación orientados a objetos.
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
Introducción a UML Departamento de Informática Universidad de Rancagua
Conceptos Fundamentales
Ingeniería de Requisitos
Taller de Sistemas de Programas Clase 6 Dpto. de Computación y T.I.
UML.
Relación con otras asignaturas del plan de estudio
(Lenguaje Unificado de Modelado)
Curso de UML JEML.
Prof. Joel Moreno Molina
Unified Modeling Language (Lenguaje de Modelamiento unificado)
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
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.
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Entregables del Proyecto
Universidad Nacional de Ingeniería Comprendiendo los Fundamentos de
ANÁLISIS Y DISEÑO DE SISTEMAS II
INGENIERIA DE SOFTWARE
Transcripción de la presentación:

Técnicas de Modelamiento Introducción: UML

¿Qué es UML? UML = Unified Modeling Language I. Introducción: UML ¿Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado a objetos Documento “OMG Unified Modeling Language Specification” UML combina notaciones provenientes desde: Modelado Orientado a Objetos Modelado de Datos Modelado de Componentes Modelado de Flujos de Trabajo (Workflows) Documento “OMG Unified Language Specification”, (versión 1.3, 808 páginas, 8 de Julio de 1999 y versión 1.4, 582 páginas, 1 de Noviembre de 2000) Resumen Semántica (185 páginas) Guía de Notación (173 páginas) Profiles Estándares Definición de Interfaz CORBAfacility Especificación DTD de XMI Especificación del Object Constraint Language Elementos Estándar de UML Glosario de Modelado del OMG 9

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

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

Historia de UML UML 2.0 2001 2000 UML 1.4 1999 UML 1.3 1998 UML 1.2 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

Participantes en UML 1.0 MCI Systemhouse Rational Software Microsoft 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

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, message numbering

Aspectos Novedosos Definición semi-formal del Metamodelo de UML 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

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”

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 Evidencias: Herramientas que proveen la notación UML “Edición” de libros Congresos, cursos, “camisetas”, etc.

Breve Tour por UML

II. Breve Tour por UML Modelos y Diagramas Un modelo captura una vista de un sistema del mundo real. Es una abstracción de dicho sistema, considerando un cierto propósito. Así, el modelo describe completamente aquellos aspectos del sistema que son relevantes al propósito del modelo, y a un apropiado nivel de detalle. Diagrama: una representación gráfica de una colección de elementos de modelado, a menudo dibujada como un grafo con vértices conectados por arcos OMG UML 1.4 Specification

II. Breve Tour por UML ... Modelos y Diagramas Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de interés El código fuente del sistema es el modelo más detallado del sistema (y además es ejecutable). Sin embargo, se requieren otros modelos ... Cada modelo es completo desde su punto de vista del sistema, sin embargo, existen relaciones de trazabilidad entre los diferentes modelos

Diagramas de UML Diagrama de Casos de Uso Diagrama de Clases II. Breve Tour por UML Diagramas de UML Diagrama de Casos de Uso Diagrama de Clases Diagrama de Objetos Diagramas de Comportamiento Diagrama de Estados Diagrama de Actividad Diagramas de Interacción Diagrama de Secuencia Diagrama de Colaboración Diagramas de implementación Diagrama de Componentes Diagrama de Despliegue El Diagrama de Objetos en realidad no se provee como un tipo de diagrama separado. En Diagramas de Secuencia, Diagramas de Colaboración y en Diagramas de Actividad se modelan objetos. He visto en algunos libros referirse a Diagramas de Paquetes, Diagramas de Subsistemas y Diagramas de Modelos. Sin embargo, éstos corresponden a casos particulares de los diagramas arriba mencionados, cuando en éstos sólo se incluye paquetes (o subsistemas, o modelos, respectivamente).

II. Breve Tour por UML ... Diagramas de UML Los diagramas expresan gráficamente partes de un modelo Use Case Diagrams Diagramas de Casos de Uso Scenario Colaboración State Componentes Component Distribución Objetos Estados Secuencia Clases Actividad Modelo

Organización de Modelos II. Breve Tour por UML Organización de Modelos 4+1 vistas de Kruchten (1995) Vista Lógica Vista de Realización Vista de los Casos de Uso Vista de Procesos Vista de Distribución Este enfoque sigue el browser de Rational Rose

... Organización de Modelos II. Breve Tour por UML Propuesta de Rational Unified Process (RUP) M. de Casos de Uso del Negocio (Business Use-Case Model) M. de Objetos del Negocio (Business Object Model) M. de Casos de Uso (Use-Case Model) M. de Análisis (Analysis Model) M. de Diseño (Design Model) M. de Despliegue (Deployment Model) M. de Datos (Data Model) M. de Implementación (Implementation Model) M. de Pruebas (Test Model)

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:

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

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

II. Breve Tour por UML … Paquetes en UML Práctica 1

Diagrama de Casos de Uso II. Breve Tour por UML Diagrama de Casos de Uso Casos de Uso es una técnica para capturar información de cómo un sistema o negocio trabaja, o de cómo se desea que trabaje No pertenece estrictamente al enfoque orientado a objeto, es una técnica para captura de requisitos Cada Caso de Uso puede estar definido por: secuencia de pasos (flujo de eventos) ejecutados dentro del caso de uso texto que lo describe precondiciones y postcondiciones para que el caso de uso comience o termine mezclando las anteriores

Ejemplos II. Breve Tour por UML En los D. de Casos de Uso no existe el concepto de “explosión” tal como se tiene en los DFDs (Diagramas de Flujo de Datos). La funcionalidad representada por un caso de uso es “atómica” (aunque en Rational Rose 98 a un caso de uso se le puede asociar un nuevo D. de Casos de Uso!!). En UML el concepto de paquete permite organizar de manera jerárquica un modelo, y en este caso, un paquete puede tener asociado un nuevo diagrama.

En el paquete tipos de venta: II. Breve Tour por UML … Ejemplos En el paquete tipos de venta:

… Ejemplos II. Breve Tour por UML En UML 1.3 se disponen de tres tipos de relaciones entre casos de uso, representadas por un símbolo de generalización desde un caso de uso a otro. Los tipos de relación son: Inclusión (con el estereotipo <<include>>), Extensión (con el estereotipo <<extend>>) y Generalización (sin estereotipo). En UML 1.3 se utiliza el estereotipo <<include>> en lugar de <<uses>>. Más adelante, cuando se entre en detalles de los D. de Casos de Uso se abordarán con más detalle las relaciones entre casos de uso.

II. Breve Tour por UML … Ejemplos Práctica 2

II. Breve Tour por UML Diagrama de Clases El Diagrama de Clases es el diagrama principal para el análisis y diseño Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia La definición de clase incluye definiciones para atributos y operaciones El modelo de casos de uso aporta información para establecer las clases, objetos, atributos y operaciones

Ejemplos (Clase y Visibilidad) II. Breve Tour por UML Ejemplos (Clase y Visibilidad)

… Ejemplos (Asociación) II. Breve Tour por UML … Ejemplos (Asociación)

… Ejemplos (Clase Asociación) II. Breve Tour por UML … Ejemplos (Clase Asociación)

… Ejemplos (Generalización) II. Breve Tour por UML … Ejemplos (Generalización)

II. Breve Tour por UML … Ejemplos Prácticas 4-8

Diagrama de Secuencia II. Breve Tour por UML 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.

Diagrama de Colaboración II. Breve Tour por UML Diagrama de Colaboración 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 Práctica 3

Diagrama de Estados II. Breve Tour por UML 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

Diagrama de Actividad Buscar Bebida Poner café en filtro II. Breve Tour por UML Diagrama de Actividad Buscar Bebida Poner café en filtro Añadir agua al depósito Coger taza Poner filtro en máquina Encender máquina Café en preparación Servir café Coger zumo Beber [no hay café] [hay café [no zumo] [hay zumo] / cafetera.On indicador de fin 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

… 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 Práctica 9

Diagrama Componentes II. Breve Tour por UML 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

Diagrama de Despliegue II. Breve Tour por UML Diagrama de Despliegue 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 Práctica 10

II. Breve Tour por UML Resumen UML define una notación que se expresa como diagramas sirven para representar modelos/subsistemas o partes de ellos El 80 por ciento de la mayoría de los problemas pueden modelarse usando alrededor del 20 por ciento de UML-- Grady Booch

Referencias  www.dsic.upv.es/~uml