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



Documentos relacionados
OMG UML 2.0 Marcando un hito en el desarrollo de software

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


Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

El Proceso Unificado de Desarrollo de Software

Entidad Formadora: Plan Local De Formación Convocatoria 2010

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

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

Elementos requeridos para crearlos (ejemplo: el compilador)

Interacción Persona - Ordenador

Empresa Financiera Herramientas de SW Servicios

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

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

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

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Patrones de software y refactorización de código

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

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

<Generador de exámenes> Visión preliminar

MARCO DE REFERENCIA SISTEMAS DE INFORMACIÓN PARA LA GESTIÓN DE TI EN EL ESTADO COLOMBIANO

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

DIAGRAMA DE CLASES EN UML

El proceso unificado en pocas palabras

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Gestión de Configuración del Software

CAPÍTULO 5. DESARROLLO Y PRUEBAS

Enterprise Analyst: Taller de Bautizo

CAPÍTULO 3 VISUAL BASIC

Business Process Management(BPM)

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

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

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

RBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC

PLANIFICACIÓN ESTRATÉGICA: CONCEPTO Y ASPECTOS BÁSICOS.

Metodología básica de gestión de proyectos. Octubre de 2003

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN

SIGPRE Sistema de Gestión Presupuestaria

RECOMENDACIONES DE INVESTIGACIÓN FUTURA.

6.4 ESTRATEGIAS DE PRUEBA

Service Oriented Architecture: Con Biztalk?

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

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

Fundamentos del diseño 3ª edición (2002)

3. ESTADOS FINANCIEROS PROFORMA

Diseño orientado al flujo de datos

Antecedentes de GT Consultores

Gestión y Desarrollo de Requisitos en Proyectos Software

Ejemplo de desarrollo software empleando UML

SISTEMAS DE INFORMACIÓN I TEORÍA

Diagrama de Clases. Diagrama de Clases

MACROPROCESO GESTIÓN TECNOLÓGICA

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

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

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

Unidad 9. Implementación. M.C. Martín Olguín

MAIDEN, Neil; ROBERTSON, Suzanne; Developing Use Cases and Scenarios in the Requirements Process, 12p

rg.o cm a Espec e i c fica c ci c ó i n ó n d e e r e r q e uer e i r mi m en e tos o l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

Plan de estudios ISTQB: Nivel Fundamentos

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE SOFTWARE DE GESTIÓN DE INFORMACIÓN GEOGRÁFICA MARCA ARCGIS

Ingeniería de Software: Parte 2

FUNCIÓN FINANCIERA DE LA EMPRESA

Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software

1. Descripción y objetivos

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3.

Plan de Gestión de Configuración. Universidad Nacional de la Patagonia Austral

Sistemas de información


Programación orientada a

TEMA 8: DIAGRAMA DE CLASE EN UML

Guía metodologíca para la gestión de proyectos de software basada en metodologías agiles, que integre las herramientas de seguimiento de actividades,

Marco Normativo de IT

Adelacu Ltda. Fono Graballo+ Agosto de Graballo+ - Descripción funcional - 1 -

Diplomado en Aseguramiento de la Calidad De los Procesos y Productos de Software

Consideraciones para implementaciones BPM y EDA

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

Interoperabilidad de Fieldbus

Dirección General de Educación Superior Tecnológica

Propuesta de Proyecto Final Para optar al grado de Magíster en Tecnologías de la Información

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

Ingeniería de Software. Pruebas

Programación generativa

6.8 La Arquitectura del Sistema. [Proceso]

UML, ejemplo sencillo sobre Modelado de un Proyecto

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

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

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

XBRL extensible Business Reporting Language. Noviembre / 2014

ACTIVIDAD TRABAJO COLABORATIVO I CURSO DE ESPECIALIZACION SEGURIDAD EN APLICACIONES MOVILES

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

INFORME Nº1 PROPUESTA METODOLÓGICA Y PLAN DE TRABAJO DESARROLLO DE UN SISTEMA INTEGRADO DE GESTIÓN PARA EL GOBIERNO REGIONAL DE ATACAMA

EL CUADRO DE MANDO INTEGRAL

Enterprise Architect

Figure 9-1: Phase C: Information Systems Architectures

El Proceso Unificado Rational para el Desarrollo de Software.

Transcripción:

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen A través de este artículo se ofrece un panorama amplio y de alto nivel sobre la especificación y los diferentes diagramas del Lenguaje de Modelado Unificado (OMG UML) 2.0. Se realiza un análisis de las principales diferencias que existen entre OMG UML 1.x y 2.0 y se exponen algunos de los diagramas de OMG UML 2.0 a través de un caso ejemplo relacionado con los servicios de una biblioteca. Keywords: Modelado, Software, Diseño, UML Historia del Surgimiento Impulsados por la necesidad de métodos más ágiles de desarrollo de software, UML 1.x evoluciona en UML 2.0, siendo dicha evolución influenciada por el Desarrollo Conducido por Modelo (MDD Model Driven Development) y el Modelamiento Conducido por Arquitectura (MDA Model Driven Architecture). OMG UML 2.0, a diferencia de su antecesor, ofrece a los proveedores de herramientas CASE (Computer-Aided Software Engineering) las características necesarias que permitirán cumplir la promesa histórica que le dio vida a este tipo de herramientas: la producción automática de programas basado en especificaciones del software. Actualmente, dicha promesa se encuentra mucho más cerca de ser cumplida con la propuesta de OMG UML 2.0. OMG UML 1.x está constituido por siete (07) diagramas básicos y dos (02) diagramas [3] que constituyen variaciones de dos de los anteriores Casos de Uso Secuencias Colaboraciones Componentes Despliegue Estados

Actividad Objetos Clases En OMG UML 2.0 se definen una serie de diagramas adicionales a los establecidos en OMG UML 1.x. El conjunto de diagramas se encuentra organizado en torno a dos categorías: diagramas estructurales (representados en verdes) y diagramas dinámicos o de comportamiento (representados en celeste). Los diferentes diagramas son indicados en la figura siguiente: colaboración de OMG UML 1.x se ha transformado en el Diagrama de Comunicación en OMG UML 2.0. Adicionalmente se incorporan los diagramas Estructura Compuesta. Se emplea para visualizar de manera gráfica las partes que definen la estructura interna de un clasificador. Cuando se utiliza en el marco de una clase, este diagrama permite elaborar un diagrama de clases donde se muestran los diferentes atributos (partes) y las clases, a partir de las cuales se definen los atributos, indicando principalmente las asociaciones de agregación o de composición de la clase a la que se le elabora el diagrama.? Diagrama General de Interacción. Se emplea fundamentalmente para representar las interacciones, a través de diagramas o fragmentos de diagramas de secuencias, entre los actores y el sistema como una gran caja negra, y de diagramas de actividades en los que aparecen dichos fragmentos. Casos de Uso Componentes Despliegue Máquina de Estados Actividad

Objetos Clases UML 2.0 Estructura Compuesta Estructura Paquete Secuencias Comunicación Diagrama General de Interacción Tiempos Diagramas de Tiempos. Empleados para mostrar las interacciones donde el propósito fundamental consiste en razonar sobre la ocurrencia de eventos en el tiempo que provocan el cambio de estados de un elemento estructural (clase, componente, etc.). Comunicación. Equivalente al diagrama de colaboración del OMG UML 1.x. Permite especificar interacciones entre objetos que conforman la estructura interna de un clasificador. En OMG UML 2.0 los diagramas aparecen dentro de un marco (frame) que posee una etiqueta para indicar el tipo de diagrama. Las etiquetas establecidas por la especificación para identificar los diferentes tipos de diagramas Estructural Dinámica o Comportamiento pkg Paquete uc Casos de Uso cmp Diagrama Componentes act Actividad stm Máquina de Estados sd Secuencia El Casos de Uso El Casos de Uso permite realizar la especificación del alcance funcional del producto software que se construye y de los actores, entes que

interactúan con el producto software, que requieren los diferentes casos de usos. OMG UML 2.0 mantiene los conceptos fundamentales de OMG UML 1.x. Los casos de usos pueden relacionarse entre sí a través de asociaciones que permiten, entre otras cosas, refinar el Modelo de Casos de Usos a través de las asociaciones de: (1) Inclusión (asociación estereotipada como <<incluye>>). Permite incorporar el flujo de eventos de un caso de uso pequeño dentro de un caso de uso base de la aplicación. (2) Extensión (asociación estereotipada como <<extend>>). Permite incorporar el flujo de eventos de un caso de uso pequeño dentro de un caso de uso base de la aplicación bajo la ocurrencia de una determinada condición, cuando la misma evalúa verdadero. (3) Generalización (asociación estereotipada como <<generalization>>). Permite establecer una jerarquía de herencia al nivel de los casos de uso, donde el caso de uso derivado adquiere toda la especificación del caso de uso base e incorporar nuevos requerimientos a la especificación. Casos de Uso Muchos autores recomiendan no emplear estos tres tipos de asociaciones entre los casos de usos, excepto en aquellos casos que producto del refinamiento del modelo se justifique su uso. El Clases El diagrama de clases propuesto desde la OMG UML 1.x no ha sufrido cambios radicales en OMG UML 2.0. Quizás para aquellos especialistas que cuentan con una experiencia en el modelado de datos, encontrarán en las asociaciones de orden superior un buen mecanismo para capturar asociaciones diferentes a las asociaciones binarias. El Secuencia

Al diagrama de secuencia se le ha incorporado un mecanismo a través del cual se puede realizar la especificación de bloques repetitivos, opcionales, alternativos, entre otros. En el siguiente diagrama se puede observar que el registro del préstamo solo se efectúa si el usuario satisface la regla de negocio que establece que el libro se encuentre disponible y que además no se ha alcanzado el número máximo de libros que se le puede prestar a un usuario dependiendo de su tipo. Algunas de las principales alternativas de los fragmentos que se pueden definir en un diagrama de secuencia son las indicadas a continuación opt : Indica que el fragmento de diagrama es opcional. alt : Indica que el fragmento de diagrama es una alternativa. loop : Indica que el fragmento de diagrama se ejecuta repetidas veces. par : Indica que el fragmento de diagrama incluye hilos de ejecución paralelos La definición de los fragmentos anteriores permiten que las diferentes herramientas CASE puedan llevar a cabo la generación de código soportando el Model Driven Development. Secuencia con fragmento opcional El Clases de Diseño Clases de Diseño Durante el diseño de un producto se emplea el diagrama de clases para representar su estructura estática. De igual forma a como se explicó anteriormente, el diagrama de clases en OMG UML 2.0 no introduce aspectos radicales en comparación a OMG UML 1.x. Excepto quizás la incorporación de un conjunto de estereotipos y de las asociaciones de orden superior al binario establecidas en las especificaciones de OMG UML 1.x. El Componentes Uno de los principales elementos incorporados al diagrama de componentes

consiste en la definición de puertos a través de los cuales cada componente software entrega un conjunto de servicios a través de interfaces proveídas y de manera declarativa se definen los servicios requeridos por el componente software. Este mecanismo permite, a diferencia de OMG UML 1.x, que un componente software de manera aislada cuente con toda la especificación no solo interna sino además de la especificación de los requerimientos para la integración del componente software con otros componentes software. El Componentes El Despliegue de la Solución sobre la Infraestructura TI A través del diagrama de despliegue se combina la Arquitectura de TI con la Arquitectura de Aplicación o Software. El diagrama de despliegue propuesto por OMG UML 2.0 introduce una serie de elementos significativamente diferentes y mejorados en relación a OMG UML Sobre los diferentes nodos de la infraestructura de red se colocan, a modo de artefactos, los elementos componentes del software. Un artefacto puede ser elemento físico simple (por ejemplo, un archivo de configuración del despliegue) o estar constituido por otros artefactos (por ejemplo, un archivo WAR, un JAR o EAR). El Despliegue A través de un artefacto se pueden agregar una serie de componentes software para su despliegue sobre un nodo específico sobre la infraestructura de la red. Rational Software Modeler (RSM) Con la adquisición de Rational por IBM en 2003, se ha producido una renovación del portafolio de productos Rational, siendo el IBM Rational Rose uno de los productos sobre los que se ha realizado un excelente trabajo de mejora. IBM

Rational Rose ha evolucionado en XDE y este último en Rational Software Modeler Rational Software Modeler Rational Software Modeler soporta los diagramas fundamentales de UML 2.0 y está construido sobre la plataforma abierta y extensible Eclipse, lo que le proporciona una capacidad de extensión sin precedentes. Además, por ser parte de la plataforma de desarrollo de software IBM se integra con el resto de las herramientas como por ejemplo IBM Rational Requisite Pro e IBM Rational ClearCase. Rational Software Modeler es distribuido en el Perú por AVATAR SRL, empresa líder en la comercialización de herramientas de IBM Rational, ofreciendo además servicios de consultoría, mentoría y capacitación para el uso eficiente de éstas Su misión es, al igual que la de Rational, asegurar el éxito de los clientes que dependen del desarrollo o despliegue de Software. Conclusiones UML 2.0 es la mayor revisión que se le ha hecho a UML desde la versión 1.0. El modelo conceptual ha sido reestructurado completamente y nuevos diagramas han sido incorporados. Los diagramas tradicionales también han sido mejorados. La nueva versión permitirá a los fabricantes de herramientas CASE proporcionar a los analistas, arquitectos y desarrolladores; herramientas cada vez más potentes que les permitan aprovechar mejor los modelos y como consecuencia generar una mayor cantidad código reduciendo significativamente el ciclo de desarrollo de sus aplicaciones.