UML El Lenguaje de Modelado Unificado. Maestría en Ingeniería de Software



Documentos relacionados
Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

"Módulo OOWS para StarUML" INTRODUCCIÓN

Una Introducción a los Perfiles UML

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

Enterprise Architect

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

El Proceso Unificado de Desarrollo de Software

DIAGRAMA DE CLASES EN UML


CAPÍTULO 5. DESARROLLO Y PRUEBAS

Interacción Persona - Ordenador

Programación orientada a

Diseño lógico de sistemas aplicando el lenguaje de modelado unificado

UML 2 Iniciación, ejemplos y ejercicios corregidos

Enterprise Analyst: Taller de Bautizo

El Proceso Unificado Rational para el Desarrollo de Software.

TEMA 1.-Programación orientada a objetos (POO) Objetivo

MDA: Arquitectura Dirigida por Modelos

Enterprise Architect y UML Basic

Objetivo Las personas que realicen el curso aprenderán a:

INTRODUCCION AL LENGUAJE UNIFICADO MODELADO

Notación UML para modelado Orientado a Objetos

UML. Lenguaje de Modelado Unificado

Perfil UML para el desarrollo de aplicaciones WAP

Curso de UML 2.0: Patrones de Diseño de Software

Modelado de objetos con UML

Una Introducción al UML. El Modelo Físico

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Diagrama de Clases. Diagrama de Clases

Índice.

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

BASES DE DATOS. Ivon Tarazona Oriana Gomez

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

DISEÑO DE COMPONENTES DE SOFTWARE *

Tema 5. Diseño detallado.

Modelado arquitectónico con UML

Capitulo III. Diseño del Sistema.

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

Presentación. Cómo Aprender UML? Grupo de Ingeniería de Software Centro de Investigación en Matemáticas Guanajuato, México 2007

Tema 5: El Lenguaje Unificado de Modelado. Departamento de Lenguajes y Sistemas Informáticos II

El proceso de armonización n de los datos

Curso de UML 2.0: Patrones de Diseño de Software

Casos de uso UML. Miguel Vega Granada, octubre de 2010 LSI - UGR

Trabajo de Grado Análisis comparativo de Lenguajes Notacionales para Modelado de Procesos

PROCESOS SOFTWARE. Según esta estrategia, todo proceso debe planificarse, implantarse y evaluarse, para luego actuar sobre él.

Definición de Lenguajes de Modelos MDA vs DSL

Generación de código para Hibernate desde modelos UML

CARRERA TITULO DEL TRABAJO CURSO

Ing. Norman Vargas Chévez Facultad de Electrotecnia y Computación Universidad Nacional de Ingeniería norman.vargas@uni.edu.

SOFTWARE & SYSTEMS PROCESS ENGINEERING METAMODEL SPECIFICATION V.20 SPEM 2.0

Departamento de Lenguajes y Sistemas Informáticos

Temario máster Java. Módulo 1 Fundamentals of the Java Programming Language. Duración: 40 horas

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Introducción al UML. Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación

Analista Programador Javascript

Patrones de software y refactorización de código

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Asignatura: Ingeniería del Software II Profesor: José Merseguer. Departamento de Informática e Ingeniería de Sistemas

Curso: El Proceso de Desarrollo de Software

Analista Programador en Visual Basic 2012 (VB.NET 2012)

Ingeniería de Software. UML.

Diseño y Modelación de un Proyecto de Software Utilizando el lenguaje UML

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

BOA, un framework MDA de alta productividad

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

Diagramas de Clase en UML 1.1

Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, Introducción al Diseño de Software

Modelado Software: Visión Global

Integración de UML y Lenguajes de Modelado Específicos de Dominio Mediante la Generación Automática de Perfiles UML

Diagrama de casos de uso

Algunas Herramientas de Apoyo al Análisis y Diseño de Software. Agustín J. González ELO329: Diseño y programación orientados a objetos

Curso Taller de Arquitectura de Software usando UML

QUÉ ES Y PARA QUÉ SIRVE UML? VERSIONES DEL LENGUAJE UNIFICADO DE MODELADO. TIPOS DE DIAGRAMAS. INGENIERÍA DEL SOFTWARE (DV00205D)

Cómo usar MDE para obtener Modelos de Simulación a partir de Modelos de Negocio

Una Introducción al UML. El Modelo de Proceso de Negocio

2.2.- Paradigmas de la POO

Desarrollo de Software con enfoque en el Negocio

Una Introducción al UML. El Modelo de Componentes

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

Ejercicio Guiado de Análisis y Diseño Orientado a Objetos. Ejemplo: CAJERO AUTOMÁTICO

Primer avance de proyecto de software para la gestión de inscripciones en cursos

Analista Programador MySQL

Iván Ruiz Rube Departamento de Ingeniería Informática Escuela Superior de Ingeniería Universidad de Cádiz

M III ABSTRACCIÓN Y CLASIFICACIÓN

Tecnología de Programación

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Tratamiento de modelos UML mediante Enterprise Architecture

Service Oriented Architecture

Ingeniería del Software I

Curso de Java POO: Programación orientada a objetos

EXTENSIÓN DE UML PARA APLICACIONES WEB

Desarrollo de un Modelo Computacional basado en Arquitectura Orientada a Modelos para la Transformación de un Diagrama de Clases en Código Fuente Java

Bases de Datos Especializadas

ISO Lenguaje de Esquema Conceptual

Diagramas de clases de UML

Transformación de modelos en el proceso de obtención de Modelos Conceptuales partiendo de BPMN

Transcripción:

UML El Lenguaje de Modelado Unificado Maestría en Ingeniería de Software

Agenda Model Driven Architecture (MDA) Unified Model Language (UML) Object Constraint Language (OCL) Patrones Conclusiones

Contenido Unified Modeling Language (UML) Introducción a UML Definición Origen y evolución Bloques de construcción Diagramas UML Diagramas estructurales Diagramas de comportamiento Diagramas de interacción

Contenido Unified Modeling Language (UML) Diagramas de clases Metamodelado Clases Relaciones Jerarquía de modelos MOF Metamodelo UML Perfiles UML Definición Aplicación Perfiles en MDA

Introducción a UML El diseño y modelado de sistemas ocupan un importante lugar entre los ingenieros de software. Para la descripción de un modelo, es necesario tener un lenguaje con una sintaxis y semántica precisa. UML permite fácilmente especificar, construir, visualizar y documentar artefactos de sistemas de software

Introducción a UML Objetivos de UML Unificar lenguajes y técnicas OO existentes Incorporar buenas prácticas de la industria Fácil de aprender y rico visualmente Que sea de propósito general

Introducción a UML Origen y evolución Grady Booch Jim Rumbaugh Ivar Jacobson

UML Bloques de construcción Elementos (estructurales, de comportamiento, de agrupamiento y anotacionales) Relaciones (dependencia, asociación, generalización, realización y agregación) Diagramas (casos de uso, de clase, de comportamiento, de estado, de actividad, de interaccion, de implementación, de componentes, de despliegue)

UML Diagramas UML 2.0 define 13 tipos de diagramas: Diagramas Estructurales: diagrama de clases, diagrama de objetos, diagrama de componentes, diagrama de estructura compuesta, diagrama de paquetes, diagrama de despliegue Diagramas de comportamiento: diagrama de casos de uso, diagrama de actividades diagrama de máquina de estados Diagramas de interacción: diagrama de colaboración, diagrama de secuencia, diagrama de tiempo, diagrama general de interacciones

Diagramas Estructurales Diagrama de clases Diagrama de objetos

Diagramas Estructurales Diagrama de componentes Diag. estructura compuesta

Diagramas Estructurales Diagrama de paquetes Diag. de despliegue te r m in a l s e r v id o r c o n s o la u n id a d R A ID

Diagramas de Comportamiento Diagrama de casos de uso Diag. de actividades S o lic it a r p r o d u c t o P r o c e s a r p e d id o E x tr a e r a r tíc u lo s E n v ia r P e d id o R e c ib ir p e d id o F a c t u r a r a l c lie n t e P a g a r fa c tu ra C e r r a r p e d id o

Diagramas de Comportamiento Diagrama maquina de estados

Diagramas de Interacción Diagrama de colaboración Diagrama de secuencia c:cliente p:proxyodbc <<create>>() c : C lie n te :Transaccion estableceracciones(a, d, o) 1 : < < c r e a te > > 2 : e s t a b le c e r A c c io n e s ( a, d, o ) 3 : < < d e s tro y > > establecevalores(d, 3.4) establecevalores(a, "CO") éxito() : T r a n s a c c io n destroy() p :P ro x y O D B C 2. 1 : e s t a b le c e r V a lo r e s ( d, 3. 4 ) 2. 2 : e s t a b le c e r V a lo r e s ( a, " C O " )

Diagramas de Interacción Diagrama de tiempo Diagrama grl. de interacciones

Unified Modeling Language (UML) Introducción a UML Diagramas UML Diagramas de clases Metamodelado Perfiles UML Perfiles en MDA

Diagramas de clases Clases nombre atributos métodos Relaciones nombre rol multiplicidad navegabilidad

Diagramas de clases Clases Clase abstracta Interface Clase parametrizada

Diagramas de clases Relaciones Tipo de relación Relación bidireccional Asociación (unidirecc.) Agregación Generalización Dependencia de las APIs Representación

Unified Modeling Language (UML) Introducción a UML Diagramas UML Diagramas de clases Metamodelado Perfiles UML Perfiles en MDA

Metamodelado

Metamodelado MOF MOF es un metamodelo que se define a sí mismo Lenguaje estándar de la OMG para definir la estructura de metamodelos Definir estándar para mapeo entre metamodelos No solo el metamodelo UML puede ser definido con MOF

Metamodelado Definición de un metamodelo para RDBMS

Metamodelo UML

Metamodelo UML Posibilidades para definir un lenguaje: Crear un metamodelo con MOF Crear un perfil UML

Perfiles UML Jerarquía de metamodelos UML Perfiles extendien M2

Perfiles UML UML no es lo suficientemente expresivo para representar conceptos específicos de dominios particulares. Por esta razón, UML incluye un mecanismo para extender y adaptar UML a diferentes dominios y plataformas: el Perfil UML Java and EJB UML Profile Testing UML Profile Real Time UML Profile Incluye tres mecanismos de extensión Estereotipos Extienden el vocabulario UML Valores etiquetados Especifican propiedades Restricciones Lenguaje Natural OCL (Object Constraint Language)

Perfiles UML Ventajas Definir nuevo vocabulario para un dominio o plataforma especifica. Dar sintaxis para constructores que no tienen notación. Definir notación particular para elementos ya existentes. Agregar semántica a elementos con semántica imprecisa. Agregar nueva semántica. Agregar información en modelos para su transformación.

Perfiles UML

Perfiles UML Elementos Incluye tres mecanismos de extensión Estereotipos Valores etiquetados Restricciones

Perfiles UML Estereotipos Permiten añadir semántica a un elemento tipos especiales de elementos del mismo tipo Basados en cualquier tipo de elemento (clases, nodos, componentes, paquetes, relaciones, asociaciones, generalizaciones, dependencias) Se pueden utilizar en las mismas situaciones que el elemento original <<metaclass>> Nombre Metaclase <<stereotype>> Nombre Estereotipo

Perfiles UML Estereotipos Definición Uso

Perfiles UML Estereotipos Estándar Nombre <<auxiliary>> <<call>> <<create>> <<derive>> <<destroy>> <<document>> <<entity>> <<executable>> <<file>> <<focus>> <<framework>> <<instantiate>> <<library>> <<metaclass>> <<modellibrary>> Apliacado a Class Usage BehavioralFeature Abstraction BehavioralFeature Artifact Component Aritifact Artifact Class Package Usage Artifact Class Package Nombre <<realization>> <<refine>> <<responsability>> <<script>> <<send>> <<service>> <<source>> <<specification>> <<subsystem>> <<trace>> <<type>> <<utility>> <<process>> <<implement>> <<implementationclass>> Apliacado a Classifier Abstraction Usage Artifact Usage Component Artifact Classifier Component Abstraction Class Class Component Component Class

Perfiles UML Estereotipos Nombre <<auxiliary>> <<call>> <<create>> <<derive>> <<destroy>> <<document>> <<entity>> <<executable>> <<file>> <<focus>> <<framework>> <<instantiate>> <<library>> <<metaclass>> <<modellibrary>> Apliacado a Class Usage BehavioralFeature Abstraction BehavioralFeature Artifact Component Aritifact Artifact Class Package Usage Artifact Class Package Nombre <<realization>> <<refine>> <<responsability>> <<script>> <<send>> <<service>> <<source>> <<specification>> <<subsystem>> <<trace>> <<type>> <<utility>> <<process>> <<implement>> <<implementationclass>> Apliacado a Classifier Abstraction Usage Artifact Usage Component Artifact Classifier Component Abstraction Class Class Component Component Class

Perfiles UML Estereotipos <<interface>> especifica una colección de operaciónes <<type>> especifica estructura y comportamiento sin considerar implementación <<enumeration>> especifica valores discretos UML Class Diagram Syntax36

Perfiles UML Valores etiquetados Al igual que las clases, los estereotipos pueden tener propiedades Cuando un estereotipo es aplicado a un elemento de modelo, los valores que pueden tomar los estereotipos son marcados como valores etiquetados. <<stereotype>> Nombre Estereotipo NombreValorEtiquetado

Perfiles UML Restricciones Restricciones semánticas asociadas al perfil Lenguaje natural OCL

Definición de Perfiles UML Notación gráfica (elementos estructurales)

Definición de Perfiles UML Definición Uso

Definición de Perfiles UML Ejemplo PIM

Definición de Perfiles UML Dependencias

Definición de Perfiles

Definición de Perfiles UML

Construcción de Perfiles UML (1) Definir el metamodelo del dominio de aplicación a modelar con un Perfil. Si no existiese, entonces definiríamos dicho metamodelo utilizando los mecanismos del propio UML (clases, relaciones de herencia, asociaciones, etc.). (2) Definir el perfil usando un paquete «profile». Incluir un estereotipo por cada uno de los elementos del metamodelo que deseamos incluir en el Perfil. Estos estereotipos tendrán el mismo nombre que los elementos del metamodelo. (3) Definir cuáles son los elementos del metamodelo de UML que estamos extendiendo sobre los que es posible aplicar un estereotipo (clases, sus asociaciones, sus atributos, las operaciones, las transiciones, los paquetes, etc.) (4) Asociar metaclases con estereotipos. [ Fuente: Lidia Fuentes y Antonio Vallecillo en Una Introducción a los Perfiles UML

Construcción de Perfiles UML (5) Definir como valores etiquetados de los elementos del Perfil los atributos que aparezcan en el metamodelo. Incluir la definición de sus tipos, y sus posibles valores iniciales. (6) Definir las restricciones que forman parte del Perfil, a partir de las restricciones del dominio. Por ejemplo, las multiplicidades de las asociaciones que aparecen en el metamodelo del dominio, o las propias reglas de negocio de la aplicación deben traducirse en la definición las correspondientes restricciones. [ Fuente: Lidia Fuentes y Antonio Vallecillo en Una Introducción a los Perfiles UML

Definición de Perfiles Perfiles UML publicados por OMG UML Profile for CORBA UML Profile for CORBA Component Model (CCM) UML Profile for Data Distribution UML Profile for Enterprise Application Integration (EAI) UML Profile for Enterprise Distributed Object Computing (EDOC) UML Profile for Modeling and Analysis of Real-time and Embedded Systems (MARTE) UML Profile for Modeling QoS and Fault Tolerance Characteristics and Mechanisms UML Profile for Schedulability, Performance and Time UML Profile for Software Radio UML Profile for System on a Chip (SoC) UML Profile for Voice UML Testing Profile

Definición de Perfiles Otros Perfiles UML Enterprise Java Beans (by Java Community Process) Software Services (by IBM, supported by Rational Software Architect UML CASE tool) Knowledge-Based Systems (University of York) Data Modeling (by agiledata.org) Framework Architectures (UML-F) Requirement Engineering with KAOS Formal Methods in B (UML-B) Embedded System Design

Unified Modeling Language (UML) Introducción a UML Diagramas UML Diagramas de clases Metamodelado Perfiles UML Perfiles en MDA

Perfiles UML en MDA Perfiles UML QVT

Perfiles UML en MDA PIM Modelo UML Modelo UML EJB SOAP Código Código EJB WSDL... PSM... [Fuente: Makoto Oya en MDA and Sistem Design

Aplicación de Perfiles UML Ejemplo PIM [Fuente: Makoto Oya en MDA and System Design ]

Aplicación de Perfiles UML PSM [Fuente: Makoto Oya en MDA and System Design ]

Aplicación de Perfiles UML PSM PIM [Fuente: Makoto Oya en MDA and System Design ]

Perfiles UML y Herramientas MDA Existen herramientas MDA que contemplan la definición de Perfiles Sin embargo, no existe portabilidad entre perfiles definidos con distinas herramientas