Rational Rose

UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS HERRAMIENTA CASE RATIONAL ROSE CURSO

Views 286 Downloads 8 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA INDUSTRIAL Y DE SISTEMAS

HERRAMIENTA CASE RATIONAL ROSE CURSO: ADMINISTRACIÓN DE BASE DE DATOS PROFESOR: ING. MANUEL VELARDE CARPIO INTEGRANTES: GOYCOCHEA SANTISTEBAN, JARED HUISA PALACIOS, CARLOS ZUTTA TUESTA, JHEYMY

2015

HERRAMIENTA CASE

RATIONAL ROSE

ÍNDICE 1.

OBJETIVOS............................................................................................4

2.

DEFINICIÓN DEL PROBLEMA...................................................................4

3.

MARCO TEORICO...................................................................................5 3.1. 3.2. 3.3.

4.

HERRAMIENTAS CASE........................................................................................5 UML................................................................................................................... 6 RUP................................................................................................................... 6

RATIONAL ROSE...................................................................................10 4.1. ¿QUÉ ES RATIONAL ROSE?...............................................................................10 4.2. ¿QUIÉNES SON SUS CREADORES?...................................................................10 4.3. ¿PARA QUÉ SIRVE?........................................................................................... 10 4.4. CARACTERÍSTICAS........................................................................................... 10 4.5. FAMILIA DE RATIONAL ROSE............................................................................10 4.5.1. Rational Rose Developer for Java.............................................................10 4.5.2. Rational Rose Developer for UNIX............................................................11 4.5.3. Rational Rose Developer for Visual Studio...............................................12 4.5.4. Rational Rose Enterprise..........................................................................13 4.5.5. Rational Rose Modeler.............................................................................14 4.5.6. Rational Rose Technical Developer...........................................................14

5.

VENTAJAS............................................................................................ 15 5.1. MODELADO CON EL LÍDER DEL MERCADO.......................................................16 5.2. TOMA VENTAJA DEL MODELADO EN UML.........................................................16 5.3. IBM RATIONAL ROSE ENTERPRISE SOFTWARE.................................................17 5.3.1. Patrones de soporte.................................................................................18 5.3.2. Soporte en la Implementación de Tecnologías.........................................18 5.3.3. Diseño de Base de Datos.........................................................................18 5.3.4. Desarrollo en un equipo más fácil............................................................19

6.

DIFERENCIAS CON OTRAS HERRAMIENTAS CASES..................................22 6.1. ENFOQUE PROCEDIMENTAL....................................................................................22 6.1.1. Apoyo Metodológico.................................................................................22 6.1.2. Soporte completo UML.............................................................................22 6.1.3. Facilidad de extensión del lenguaje.........................................................23 6.1.4. Modelado de datos...................................................................................23 6.1.5. Autogeneración........................................................................................23 6.1.6. Ingeniería inversa....................................................................................24 6.1.7. Métricas................................................................................................... 24 6.1.8. Apoyo a lenguajes formales.....................................................................25 6.1.9. Actualización............................................................................................25 6.2. SOPORTE AL MODELADO ARQUITECTÓNICO................................................................25 6.2.1. Soporte a ADL..........................................................................................25 6.2.2. Apoyo al modelado por capas..................................................................26 6.3. APOYO AL REPOSITORIO......................................................................................... 27

ADMINISTRACIÓN DE BASE DE DATOS

Página 2 de 63

HERRAMIENTA CASE

RATIONAL ROSE

6.3.1. Robustez..................................................................................................27 6.3.2. Herramientas de administración..............................................................28 6.3.3. Colaboración entre usuarios.....................................................................28 6.3.4. Intercambio..............................................................................................29 6.4. ENFOQUE FUNCIONAL............................................................................................ 29 6.4.1. Versionamiento........................................................................................29 6.4.2. Navegación..............................................................................................30 6.4.3. Manejo de diagramas...............................................................................30 6.4.4. Edición de código.....................................................................................30 7.

COSTOS.............................................................................................. 36 7.1. 7.2. 7.3. 7.4. 7.5. 7.6.

8.

RATIONAL RATIONAL RATIONAL RATIONAL RATIONAL RATIONAL

ROSE ROSE ROSE ROSE ROSE ROSE

DEVELOPER FOR JAVA.....................................................................36 DEVELOPER FOR UNIX...................................................................37 DEVELOPER FOR VISUAL STUDIO.......................................................37 ENTERPRISE..................................................................................37 MODELER.....................................................................................38 TECHNICAL DEVELOPER...................................................................38

ANÁLISIS DE COSTO VS BENEFICIO.......................................................38 8.1. 8.2. 8.3.

9.

CUADRO CUADRO CUADRO

DE DE DE

COSTO INICIAL POR LA COMPRA DEL SW Y OTROS.....................................38 BENEFICIOS POR ETAPAS DE DESARROLLO DEL SOFTWARE...........................39 COSTO - BENEFICIO.............................................................................40

BENEFICIOS INTANGIBLES....................................................................40

10.

USO DEL SOFTWARE EN LAS EMPRESAS.............................................41

11.

APLICACIÓN.....................................................................................41

11.1. BANKAPP USANDO RATIONAL ROSE.......................................................................42 11.1.1. Preliminar – Modelo de Negocio Empresarial............................................43 11.1.2. Modelos de Requerimientos.....................................................................44 11.1.3. Modelo de Análisis...................................................................................47 11.1.4. Modelos de Diseño...................................................................................48 11.1.5. Modelos de Implementación....................................................................51 CONCLUSIONES.........................................................................................54 BIBLIOGRAFÍA........................................................................................... 55

ADMINISTRACIÓN DE BASE DE DATOS

Página 3 de 63

HERRAMIENTA CASE

RATIONAL ROSE

1. OBJETIVOS  Conocer las bondades de la herramienta case Rational Rose.  Identificar las empresas que lo utilizan.  Hacer una evaluación costo-beneficio del uso de Rational Rose en una empresa.  Realizar una aplicación pequeña utilizando Rational Rose.

2. DEFINICIÓN DEL PROBLEMA  Se evalúa las características técnicas para la adquisición de la licencia de Uso del Software Rational Rose Developer for Java, el mismo que forma parte de la familia de productos de Rational Rose.  La adquisición de la última versión del software, agilizará y mejorará la realización del control y seguimiento de los requerimientos, análisis, diseño y generación previa del código de programación en lenguaje orientado a Objetos (Java/J2EE) de los proyectos informáticos desarrollados según la programación del Plan Operativo Informático del Área de Sistemas, para las soluciones de aplicaciones en Servicios Web (Web Services) y Arquitecturales (SOA – Service Oriented Architecture). En adición se basa en la metodología RUP (Rational Unified Process), UML (Unified Modeling Language) y OO (Object Oriented), compatible con la metodología Métrica V3.  Actualmente, la empresa dedicada a la consultoría de sistemas, no cuenta aún con una herramienta case que ayude al proceso de desarrollo de software.  Dado que la necesidad de desarrollo e implementación de las soluciones informáticas se basan en el lenguaje de programación Java/J2EE para los diversos sistemas que se desarrollan, en su mayoría en entornos Web, y además que la Sociedad Peruana en su conjunto demandan soluciones informáticas oportunas acorde a las nuevas tendencias tecnológicas, se requiere la adquisición del producto denominado Rational Rose Developer.  Así mismo, considerando adquirir la cantidad de licencias necesarias de acuerdo a las características especificadas.

ADMINISTRACIÓN DE BASE DE DATOS

Página 4 de 63

HERRAMIENTA CASE

RATIONAL ROSE

3. MARCO TEORICO 3.1. HERRAMIENTAS CASE Las herramientas CASE (computer aided software engineering, ingeniería de software asistida por computadora) son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el costo de las mismas en términos de tiempo y de dinero. Estas herramientas pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseño del proyecto, cálculo de costos, implementación de parte del código automáticamente con el diseño dado, compilación automática, documentación o detección de errores entre otras. Ya en los años 70 un proyecto llamado ISDOS diseñó un lenguaje y por lo tanto un producto que analizaba la relación existente entre los requisitos de un problema y las necesidades que éstos generaban, el lenguaje en cuestión se denominaba PSL (Problem Statement Language) y la aplicación que ayudaba a buscar las necesidades de los diseñadores PSA (Problem Statement Analyzer). Aunque ésos son los inicios de las herramientas informáticas que ayudan a crear nuevos proyectos informáticos, la primera herramienta CASE fue Excelerator que salió a la luz en el año 1984 y trabajaba bajo una plataforma PC. Las herramientas CASE alcanzaron su techo a principios de los años 90. En la época en la que IBM había conseguido una alianza con la empresa de software AD/Cycle para trabajar con sus mainframes, estos dos gigantes trabajaban con herramientas CASE que abarcaban todo el ciclo de vida del software. Pero poco a poco los mainframes han ido siendo menos utilizados y actualmente el mercado de las Big CASE ha muerto completamente abriendo el mercado de diversas herramientas más específicas para cada fase del ciclo de vida del software. El objetivo de las herramientas CASE son las siguientes:  Mejorar la productividad del software  Aumentar la calidad del software  Reducir el tiempo y costo de desarrollo y mantenimiento de los sistemas informáticos.  Mejorar la planificación de un proyecto  Aumentar la biblioteca de conocimiento informático de una empresa ayudando a la búsqueda de soluciones para los requisitos.  Automatizar el desarrollo del software, la documentación, la generación de código, las pruebas de errores y la gestión del proyecto.

ADMINISTRACIÓN DE BASE DE DATOS

Página 5 de 63

HERRAMIENTA CASE

RATIONAL ROSE

 Ayuda a la reutilización del software, portabilidad y estandarización de la documentación  Gestión global en todas las fases de desarrollo de software con una misma herramienta.  Facilitar el uso de las distintas metodologías propias de la ingeniería del software.

3.2. UML El Lenguaje Unificado de Modelado (Unified Modeling Language, UML) es un lenguaje estándar para escribir planos de software. UML puede utilizarse para visualizar, especificar, construir y documentar los artefactos de un sistema que involucre una gran cantidad de software. UML es apropiado para modelar desde sistemas de información empresariales hasta aplicaciones distribuidas basadas en la Web, e incluso para sistemas embebidos de tiempo real muy exigentes. Es un lenguaje muy expresivo, que cubre todas las vistas necesarias para desarrollar y luego desplegar tales sistemas. Aunque sea expresivo, UML no es difícil de aprender ni de utilizar. Aprender a aplicar UML de modo eficaz comienza por crearse un modelo conceptual del lenguaje, lo cual requiere aprender tres elementos principales: los bloques básicos de construcción de UML, las reglas que dictan cómo pueden combinarse esos bloques y algunos mecanismos comunes que se aplican a lo largo de todo el lenguaje. UML es sólo un lenguaje y, por tanto, es tan sólo una parte de un método de desarrollo de software. UML es independiente del proceso, aunque para utilizarlo óptimamente se debería usar en un proceso que fuese dirigido por los casos de uso, centrado en la arquitectura, iterativo e incremental. UML es un lenguaje para:  Visualizar,  Especificar,  Construir y,  Documentar los artefactos de un sistema con gran cantidad de software.

3.3. RUP El Proceso Racional Unificado (Rational Unified Process en inglés, habitualmente resumido como RUP) es un proceso de desarrollo de software desarrollado por la empresa Rational Software, actualmente propiedad de IBM. Junto con el Lenguaje Unificado de Modelado UML, constituye la metodología

ADMINISTRACIÓN DE BASE DE DATOS

Página 6 de 63

HERRAMIENTA CASE estándar más utilizada para el análisis, diseño, documentación de sistemas orientados a objetos.

RATIONAL ROSE implementación

y

El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización. También se conoce por este nombre al software, también desarrollado por Rational, que incluye información entrelazada de diversos artefactos y descripciones de las diversas actividades. Está incluido en el Rational Method Composer (RMC), que permite la personalización de acuerdo con las necesidades. Originalmente se diseñó un proceso genérico y de dominio público, el Proceso Unificado, y una especificación más detallada, el Rational Unified Process, que se vendiera como producto independiente. La Filosofia del RUP está basada en 6 principios clave que son los siguientes: A. Adaptar el proceso El proceso deberá adaptarse a las necesidades del cliente ya que es muy importante interactuar con él. Las características propias del proyecto. El tamaño del mismo, así como su tipo o las regulaciones que lo condicionen, influirán en su diseño específico. También se deberá tener en cuenta el alcance del proyecto. B. Equilibrar prioridades Los requisitos de los diversos participantes pueden ser diferentes, contradictorios o disputarse recursos limitados. Debe encontrarse un equilibrio que satisfaga los deseos de todos. Gracias a este equilibrio se podrán corregir desacuerdos que surjan en el futuro. C. Demostrar valor iterativamente Los proyectos se entregan, aunque sea de un modo interno, en etapas iteradas. En cada iteración se analiza la opinión de los inversores, la estabilidad y calidad del producto, y se refina la dirección del proyecto así como también los riesgos involucrados. D. Colaboración entre equipos El desarrollo de software no lo hace una única persona sino múltiples equipos. Debe haber una comunicación fluida para coordinar requisitos, desarrollo, evaluaciones, planes, resultados, etc. E. Enfocarse en la calidad

ADMINISTRACIÓN DE BASE DE DATOS

Página 7 de 63

HERRAMIENTA CASE

RATIONAL ROSE

El control de calidad no debe realizarse al final de cada iteración, sino en todos los aspectos de la producción. El aseguramiento de la calidad forma parte del proceso de desarrollo y no de un grupo independiente. F. Elevar el Nivel de Abstracción Este principio dominante motiva el uso de conceptos reutilizables tales como patrón del software, lenguajes 4GL o esquemas (frameworks) por nombrar algunos. Estos se pueden acompañar por las representaciones visuales de la arquitectura, por ejemplo con UML. Entre sus características esenciales tenemos: A. Dirigido por Casos de Uso En RUP los Casos de Uso no son sólo una herramienta para especificar los requisitos del sistema. También guían su diseño, implementación y prueba. Los Casos de Uso constituyen un elemento integrador y una guía del trabajo

B. Proceso centrado en la arquitectura En el caso de RUP además de utilizar los Casos de Uso para guiar el proceso se presta especial atención al establecimiento temprano de una buena arquitectura que no se vea fuertemente impactada ante cambios posteriores durante la construcción y el mantenimiento.

C. Proceso iterativo e incremental

ADMINISTRACIÓN DE BASE DE DATOS

Página 8 de 63

HERRAMIENTA CASE

RATIONAL ROSE

El equilibrio correcto entre los Casos de Uso y la arquitectura es algo muy parecido al equilibrio de la forma y la función en el desarrollo del producto, lo cual se consigue con el tiempo. Para esto, la estrategia que se propone en RUP es tener un proceso iterativo e incremental en donde el trabajo se divide en partes más pequeñas o mini proyectos. Permitiendo que el equilibrio entre Casos de Uso y arquitectura se vaya logrando durante cada mini proyecto, así durante todo el proceso de desarrollo. Cada mini proyecto se puede ver como una iteración (un recorrido más o menos completo a lo largo de todos los flujos de trabajo fundamentales) del cual se obtiene un incremento que produce un crecimiento en el producto.

Además, la Estructura del Proceso puede ser descrita en dos dimensiones o ejes: A. Eje horizontal: Representa el tiempo y es considerado el eje de los aspectos dinámicos del proceso. Indica las características del ciclo de vida del proceso expresado en términos de fases, iteraciones e hitos. Se puede observar en la Figura 6 que RUP consta de cuatro fases: Inicio, Elaboración, Construcción y Transición. Como se mencionó anteriormente cada fase se subdivide a la vez en iteraciones. B. Eje vertical: Representa los aspectos estáticos del proceso. Describe el proceso en términos de componentes de proceso, disciplinas, flujos de trabajo, actividades, artefactos y roles.

ADMINISTRACIÓN DE BASE DE DATOS

Página 9 de 63

HERRAMIENTA CASE

RATIONAL ROSE

4. RATIONAL ROSE 4.1. ¿QUÉ ES RATIONAL ROSE? Es una herramienta CASE (Computer – Aided Software Engineering), traducido al español como Ingeniería Asistida por Computadora, desarrollada por Rational Corporation basada en el Lenguaje Unificado de Modelación (UML), que permite crear los diagramas que se van generando durante el proceso de Ingeniería en el Desarrollo del Software.

4.2. ¿QUIÉNES SON SUS CREADORES? Las personas que desarrollaron el Proceso Unificado del Rational (RUP) son miembros de Rational Corporation y brinda muchas facilidades en la generación de la documentación del software que se esté desarrollando, además de que posee un gran número de estereotipos predefinidos que facilitan el proceso de modelación del software.

4.3. ¿PARA QUÉ SIRVE? En la definición de sistemas, esta herramienta permite que el equipo de desarrollo entienda mejor el problema, que identifique las necesidades del cliente en forma más efectiva y comunique la solución propuesta de forma más clara. Rational permite completar una gran parte de las disciplinas (flujos fundamentales) de RUP tales como:  Captura de requisitos (parcialmente).  Análisis y diseño (completamente). ADMINISTRACIÓN DE BASE DE DATOS

Página 10 de 63

HERRAMIENTA CASE

RATIONAL ROSE

 Implementación (como ayuda).  Control de cambios y gestión de configuración (parcialmente).

4.4. CARACTERÍSTICAS Entre las características principales de Rational se pueden destacar:    

Admite como notaciones: UML, OMT y Booch. Permite desarrollo multiusuario. Genera documentación del sistema. Disponible en múltiples plataformas.

4.5. FAMILIA DE RATIONAL ROSE 4.5.1.

Rational Rose Developer for Java

IBM Rational Rose Developer for Java ofrece un conjunto de prestaciones controladas por modelos para desarrollar aplicaciones de software de Java Platform, Enterprise Edition (Java EE). La solución le permite agilizar el desarrollo de aplicaciones Java y Java EE con código generado a partir de modelos visuales, utilizando el lenguaje de modelado unificado (UML). Rational Rose Developer for Java ofrece un lenguaje y una herramienta de modelado común para simplificar el entorno de trabajo y permitir la creación más rápida de software basado en Java. A. Desarrollo más rápido de aplicaciones Presenta un entorno de modelado visual que le permite racionalizar el desarrollo de aplicaciones.  Ofrece soporte a análisis y patrones Rose J basados en el diseño de software orientado a objetos reutilizables.  Automatiza el proceso de generar scripts de prueba, controladores de prueba y código de prueba.  Incluye generación de código Java y CORBA, ingeniería inversa y sincronización configurable de modelo a código.  Habilita la gestión detallada y el uso de modelos mediante una característica de componentes de modelo que se puede controlar de manera independiente.  Ofrece soporte a ingeniería inversa y directa para enumeraciones, bucles for-each, autoboxing y unboxing, además de soporte a ingeniería inversa para importaciones estáticas, genéricas y varargs. B. Integración del diseño de aplicaciones con el desarrollo

ADMINISTRACIÓN DE BASE DE DATOS

Página 11 de 63

HERRAMIENTA CASE

RATIONAL ROSE

Unifica al equipo del proyecto proporcionando notación y ejecución de modelos de UML comunes.  Permite que se utilice un lenguaje para el ciclo de vida de análisis y desarrollo.  Se integra con otras herramientas de ciclo de vida de IBM Rational y con los entornos de desarrollo integrado de Java.  Ofrece modelos e informes de publicación web para mejorar la comunicación en el equipo ampliado.

4.5.2.

Rational Rose Developer for UNIX

IBM Rational Rose Developer for UNIX proporciona un conjunto de prestaciones controladas por modelo para el desarrollo de aplicaciones en plataformas UNIX y Linux. La solución se basa en el lenguaje UML (Unified Modeling Language) e incluye soporte de generación de código para modelos implementados en Java, C++ y CORBA. Rational Rose Developer for UNIX ofrece prestaciones de modelado visual para arquitectos que tienen que crear diseños independientes de la plataforma. A. Desarrollo más rápido de las aplicaciones Contiene un entorno de modelado visual que permite agilizar el desarrollo de aplicaciones.  Proporciona un lenguaje de modelado visual para habilitar una creación más rápida de aplicaciones de software.  Incluye generación de código Java, C++ y CORBA, ingeniería inversa y sincronización configurable del modelo con el código.  Admite las actividades de ingeniería de ida y vuelta.  Automatiza el proceso de generación de scripts de prueba, controladores de prueba y código de prueba. B. Integración del diseño de aplicaciones con el desarrollo Unifica el equipo del proyecto proporcionando una ejecución y una notación de modelos UML comunes.  Permite utilizar un lenguaje para todo el ciclo de vida de análisis y desarrollo.  Proporciona modelos e informes de publicación web para mejorar la comunicación en el equipo ampliado.

4.5.3.

Rational Rose Developer for Visual Studio

IBM Rational Rose Developer for Visual Studio proporciona un conjunto de prestaciones controladas por modelo para desarrollar aplicaciones de software basadas en Microsoft Visual Studio. La solución permite acelerar el desarrollo

ADMINISTRACIÓN DE BASE DE DATOS

Página 12 de 63

HERRAMIENTA CASE

RATIONAL ROSE

de aplicaciones con código generado a partir de modelos visuales mediante el lenguaje UML (Unified Modeling Language). Rational Rose Developer for Visual Studio está diseñado para arquitectos y desarrolladores de software que necesitan un entorno de modelado visual para Visual C++ y Visual Basic. A. Desarrollo más rápido de las aplicaciones Contiene un entorno de modelado visual que permite agilizar el desarrollo de aplicaciones.  Admite los patrones de análisis, ANSI C++ y Visual C++ basados en diseño de software reutilizable orientado a objetos.  Permite la gestión granular y el uso de modelos con una característica de componentes de modelo que se puede controlar por separado.  Admite ingeniería directa e inversa para C++, ANSI C++, CORBA, Visual C++ y Visual Basic y sincronización configurable entre el modelo y el código.  Proporciona modelado UML para diseños de base de datos a través de Rational Rose C++.  Permite integrar requisitos de datos y aplicación a través de diseños lógicos y físicos. B. Integración del diseño de aplicaciones con el desarrollo Unifica el equipo del proyecto proporcionando una ejecución y una notación de modelos UML comunes.  Permite utilizar un lenguaje para el ciclo de vida de análisis y desarrollo.  Se integra con Visual Studio 6 (para Visual Basic 6), sistemas de control de versiones compatibles con SCC, como IBM Rational ClearCase y otras herramientas de desarrollo de ciclo de vida de Rational.  Ofrece una integración limitada con Visual Studio 2003 y Visual Studio 2005.  Proporciona modelos e informes de publicación web para mejorar la comunicación en el equipo ampliado.

4.5.4.

Rational Rose Enterprise

IBM Rational Rose Enterprise proporciona un conjunto de prestaciones controladas por modelo para desarrollar muchas aplicaciones de software, incluidas aplicaciones Ada, ANSI C++, C++, CORBA, Java, Java EE, Visual C++ y Visual Basic. El software permite acelerar el desarrollo de estas aplicaciones con código generado a partir de modelos visuales mediante el lenguaje UML (Unified Modeling Language).

ADMINISTRACIÓN DE BASE DE DATOS

Página 13 de 63

HERRAMIENTA CASE

RATIONAL ROSE

Rational Rose Enterprise ofrece una herramienta y un lenguaje de modelado común para simplificar el entorno de trabajo y permitir una creación más rápida de software de calidad. A. Modelado de las aplicaciones más habituales Proporciona prestaciones de modelado visual para desarrollar muchos tipos de aplicaciones de software.  Admite patrones de análisis, ANSI C++, Rose J y Visual C++, Enterprise JavaBean 2.0 e ingeniería directa e inversa para algunas de las construcciones más comunes de Java 1.5  Es capaz de analizar la calidad del código y de generar código gracias a las prestaciones de sincronización configurable entre el modelo y el código.  Permite la gestión granular y el uso de modelos con una característica de componentes de modelo que se puede controlar por separado.  Proporciona el modelado UML para diseños de bases de datos.  Permite integrar requisitos de datos y aplicación a través de diseños lógicos y físicos. B. Desarrollo de aplicaciones para la web Contiene herramientas web y XML para el modelado de aplicaciones web.  Incluye un complemento de modelado web, que proporciona visualización, modelado y herramientas para desarrollar aplicaciones web.  Crea definiciones de tipos de documentos (DTD) XML para utilizarlas en las aplicaciones C. Integración del diseño de aplicaciones con el desarrollo Unifica el equipo del proyecto proporcionando una ejecución y una notación de modelos UML comunes.  Permite utilizar un lenguaje para el ciclo de vida de análisis y desarrollo.  Se integra con otras herramientas de desarrollo de ciclo de vida de IBM Rational y con cualquier sistema de control de versiones compatible con SCC, incluido IBM Rational ClearCase  Proporciona modelos e informes de publicación web para mejorar la comunicación en el equipo ampliado.

4.5.5.

Rational Rose Modeler

IBM Rational Rose Modeler proporciona un conjunto de prestaciones controladas por modelo para el desarrollo de aplicaciones de software. Permite a los clientes y a los diseñadores generar modelos UML (Unified Modeling Language) de arquitecturas de software, necesidades empresariales, activos reutilizables y comunicación de nivel de gestión.

ADMINISTRACIÓN DE BASE DE DATOS

Página 14 de 63

HERRAMIENTA CASE

RATIONAL ROSE

Rational Rose Modeler ofrece una herramienta y un lenguaje de modelado común para simplificar el entorno de trabajo y permitir una creación más rápida de software de calidad. A. Desarrollo más rápido de las aplicaciones Contiene un entorno de modelado visual que permite agilizar el desarrollo de aplicaciones.  Proporciona un lenguaje y un entorno de modelado visual común para una creación más rápida de software.  Admite patrones de análisis basados en software reutilizable orientado a objetos.  Permite la gestión granular y el uso de modelos a través de una característica de componentes de modelo que se puede controlar por separado. B. Integración del diseño de aplicaciones con el desarrollo Unifica el equipo del proyecto proporcionando una ejecución y una notación de modelos UML comunes.  Permite utilizar un lenguaje para el ciclo de vida de análisis y desarrollo.  Se integra con otras herramientas de desarrollo de ciclo de vida de IBM Rational y con cualquier sistema de control de versiones compatible con SCC, incluido IBM Rational ClearCase  Proporciona modelos e informes de publicación web para mejorar la comunicación en el equipo ampliado.

4.5.6.

Rational Rose Technical Developer

IBM Rational Rose Technical Developer es una solución de desarrollo controlado por modelo (MDD) para desarrollar sistemas complejos. Admite, de acuerdo con el lenguaje UML (Unified Modeling Language), construcciones basadas en modelo para la automatización del desarrollo, incluida la ejecución de modelos y la generación de código totalmente ejecutable. Los componentes de Rational Rose Technical Developer ayudan a los equipos de sistemas incluidos a colaborar y a alcanzar altos niveles de productividad. A. Admite el desarrollo integrado controlado por modelo Un completo conjunto de herramientas basadas en modelo ayudan a superar los retos que supone el desarrollo de sistemas complejos.  Ofrece ejecución de modelos de tiempo de ejecución, depuración de modelos visuales, realización de pruebas basadas en modelo y construcciones avanzadas de modelado.

ADMINISTRACIÓN DE BASE DE DATOS

Página 15 de 63

HERRAMIENTA CASE

RATIONAL ROSE

 Permite llevar a cabo ingeniería directa e inversa de algunas de las construcciones más comunes de Java 1.5 mediante Rational Rose Enterprise  Proporciona middleware para simplificar la distribución de aplicaciones generadas por modelo.  Contiene un amplio conjunto de funciones de integración con las herramientas, desde la captura de requisitos, la rastreabilidad y la generación de código hasta la realización de pruebas de destino y la depuración del sistema. B. Proporciona soporte de generación de código La generación automática de código agiliza el proceso de desarrollo.  Genera código que gestiona relaciones entre clases.  Genera código de aplicación con soporte para C, C++ y Java ME, así como código compatible con MISRA C para componentes de lenguaje C.  Permite generar, ejecutar y crear informes automáticamente de los resultados de las pruebas a partir de diagramas de secuencia UML.  Proporciona generación de código de clases parametrizado e instanciado, así como una interfaz de programación de aplicaciones (API) para la integración con aplicaciones que no sean de Rational Rose, destinos adicionales, etc.

5. VENTAJAS El Rational Rose destaca en:  Ayuda a los equipos a crear grandes aplicaciones basadas en robustas arquitecturas.  Permite a los usuarios crear arquitecturas independientes de plataformas con soporte total para UML 2.x.  Proporciona una cómoda herramienta de modelado y lenguaje para todo el equipo de desarrollo.  Ofrece ingeniería de ida-vuelta para lenguajes Ada, ANSI C++, C, C++, CORBA, Java, Microsoft Visual Basic y Microsoft lenguajes Visual C++, así como diseños de base de datos.  Soporte en tiempo real y desarrollo de sistemas embebidos.  Se adapta a patrones bien conocidos para código ANSI C++, Java y Visual C++.  Soporta Enterprise Java Beans y Modelamiento Web.  Permite publicaciones y reportes Web.  Se integra con otras herramientas Rational IBM para el desarrollo de ciclo de vida de software.

ADMINISTRACIÓN DE BASE DE DATOS

Página 16 de 63

HERRAMIENTA CASE

RATIONAL ROSE

El Rational Rose permite diseñar soluciones de software mediante el Lenguaje de Modelo Unificado (UML). Los arquitectos, analistas, diseñadores de software y base de datos, y desarrolladores de sistemas embebidos en tiempo real, todos pueden usar el Rational Rose para producir modelos visuales de arquitecturas de software, base de datos, requerimientos de aplicación y activos reutilizables, así como también formular las comunicaciones a nivel de gestión. Al utilizar el estándar de la industria UML, los usuarios son capaces de crear semánticamente ricas arquitecturas de aplicaciones que ayudan al equipo extendido (incluyendo los stakeholders) a desarrollar una comprensión clara del proyecto. Una común herramienta y lenguaje para modelar ayuda a simplificar el trabajo de desarrollo y acelera el desarrollo de la calidad de las aplicaciones de software.

5.1. MODELADO CON EL LÍDER DEL MERCADO El UML es la industria estándar de notación para arquitectura y diseño de software. El IBM Rational dirigió el código UML para que los profesionales de software puedan modelar sus actividades de análisis y diseño en un uniforme, de manera consistente. Para hacer que el UML sea más práctico para trabajar, Rational creo el líder y reconocido Rational Rose para el modelado visual y herramientas de desarrollo.

5.2. TOMA VENTAJA DEL MODELADO EN UML Teniendo a un lenguaje de modelado común, el Rational Rose permite documentar y perfeccionar esas ideas en artefactos que se puede comunicar, compartir y reutilizada. Igualmente para los stakeholders y equipos de desarrollo, el Rational Rose ayuda a explicar con detalle lo que el sistema hace en un apropiado nivel de abstracción.

ADMINISTRACIÓN DE BASE DE DATOS

Página 17 de 63

HERRAMIENTA CASE

RATIONAL ROSE

Los productos del Rational Rose permiten la creación de los siguientes tipos de diagramas basados en UML: diagrama de actividades, de clases, de componentes, de despliegue, de secuencia, de estado, de casos de uso, de colaboración, de desarrollo y almacenamiento físico, y de datos y tablas físicas. El software Rational Rose incluye una característica que ayuda a controlar estos modelos de gran tamaño de forma modular por deconstrucción de ellos en partes más pequeñas, y en componentes más manejables.

5.3. IBM RATIONAL ROSE ENTERPRISE SOFTWARE El software Rational Rose Enterprise de IBM proporciona soporte para el modelado de desarrollo de aplicaciones y trabajos con una serie de tecnologías

ADMINISTRACIÓN DE BASE DE DATOS

Página 18 de 63

HERRAMIENTA CASE

RATIONAL ROSE

de implementación (lenguajes tales como: Ada, ANSI C++, C++, CORBA, Java/Java2EE, Microsoft Visual Basic y Visual C++). Todos los productos del Rational Rose incluyen soporte completo a UML; sin embargo varían respecto a las tecnologías de implementación que ellos soportan.

5.3.1.

Patrones de soporte

Estos patrones son mecanismos que crean soluciones a problemas recurrentes en el modelado visual y otros problemas de software. Rational Rose Enterprise, y muchos otros productos de diseño de Rational, permiten un modelado basado en patrones con un apoyo en el diseño de patrones: elementos reusables de softwares orientado a objetos para análisis y lenguajes ANSI C++, Rose J y Visual C++. Este apoyo en patrones ayuda a acelerar el proceso de desarrollo y maximiza las técnicas avanzadas de modelado en el equipo.

5.3.2.

Soporte en la Implementación de Tecnologías

En adición a proporcionar un entorno de ingeniería directa-inversa que mantiene modelos y código en sincronización, Rational Rose Enterprise aprovecha los diagramas de clase de la arquitectura de software para generar código en los lenguajes Ada, ANSI C++, C++, CORBA, Java, Microsoft Visual Basic 6 o Microsoft Visual C++. El usuario puede controlar varios aspectos de la generación de código y la sincronización de modelo a código, proporcionando así más flexibilidad y capacidad de gestión a través de un específico proceso de desarrollo. Existen una serie de entornos de desarrollo (IDE) para los que el Rational Rose ofrece específicas capacidades de integración, por lo que el código generado desde el modelado puede ser ejecutado en el IDE favorito del usuario.

5.3.3.

Diseño de Base de Datos

El sofisticado entorno de modelado visual del Rational Rose también ayuda a acelerar los procesos de la conexión de los diseñadores de la base de datos con el resto del equipo de desarrollo con una herramienta común y un solo lenguaje. Especialmente para los diseñadores de base de datos, el Rational Rose permite la creación de modelos de objeto, modelos de datos y modelos de almacenamiento de datos. Esto proporciona la habilidad de mapear modelos lógicos y físicos, permitiendo al usuario transformar flexiblemente diseños de base de datos en la lógica de la aplicación mediante el apoyo de la ingeniería directa-inversa entre el modelo de datos, modelo de objetos y un lenguaje de datos definido (DDL) en un sistema manejador de base de datos (DBMS). ADMINISTRACIÓN DE BASE DE DATOS

Página 19 de 63

HERRAMIENTA CASE

RATIONAL ROSE

Usando el software de Rational Rose, diseñadores de base de datos pueden visualizar como la aplicación puede acceder a la base de datos de manera en que se identifiquen los problemas y se resuelvan antes de la implementación. En adición, el Rational Rose soporta la ingeniería directa de un modelo de base de datos al código en SQL.

5.3.4.

Desarrollo en un equipo más fácil

EL desarrollo de software es un deporte de equipo. Como miembro de un equipo de software, tener que lidiar con la documentación, comunicación, requerimientos, control de versión, seguimiento de defectos, presentación de informes y la gestión de procesos. El software de Rational libera al usuario de todos esos desafíos. Todos los miembros de la familia del Rational Rose se integran se integran con IBM Rational Software RequisitePro® para que se pueda observar y manejar los continuos cambios en los requerimientos en relación con sus diseños. Rational Rose proporciona publicación Web y otras características de informes que le permite al usuario comunicar su diseño con la gente que trabaja dentro o fuera de su equipo de proyecto.

ADMINISTRACIÓN DE BASE DE DATOS

Página 20 de 63

HERRAMIENTA CASE

RATIONAL ROSE

ADMINISTRACIÓN DE BASE DE DATOS

Página 21 de 63

HERRAMIENTA CASE

RATIONAL ROSE

ADMINISTRACIÓN DE BASE DE DATOS

Página 22 de 63

HERRAMIENTA CASE

RATIONAL ROSE

6. DIFERENCIAS CON OTRAS HERRAMIENTAS CASES Para facilitar el entendimiento de los criterios a tener en cuenta al momento de evaluar una herramienta de modelado con UML, se han analizado cuatro aspectos en los que estas herramientas deben satisfacer resultados.

6.1. Enfoque Procedimental El enfoque procedimental se refiere a la forma como las herramientas hacen uso de las metodologías para guiar al usuario a través de un proceso de Ingeniería de Software.

6.1.1.

Apoyo Metodológico

Una herramienta de modelado con UML debe apoyar el uso de una o varias de las metodologías orientadas a objetos para el desarrollo de sistemas de información como RUP , Métrica (Hilera, 2003), OMT (Rumbaugh, 1997) entre otras; es importante que dicha herramienta garantice la unicidad y coherencia ya sea entre los diferentes modelos del sistema que representan vistas complementarias del sistema (estructurales, dinámicos, funcionales, etc.) o entre modelos que representan diferentes niveles de abstracción (de negocio, de análisis, de diseño, etc.). Esto permite guiar al usuario a través de etapas o fases permitiendo una trazabilidad entre diagramas de alto nivel que representan aspectos del dominio del problema y diagramas detallados que representan detalles de implementación (Shaw, 2003). Para conseguir tal propósito, es importante que el navegador de la herramienta, muestre las etapas de la metodología o los modelos que propone la misma para cada etapa, fase o arquitectura, y de ser necesario, que le ayude al usuario a evolucionar o refinar un modelo al momento de pasar de una etapa a otra o de un aspecto o contexto arquitectónico a otro (Shaw, 2003) (Dewayne, 2003) (Garlan, 2003).

6.1.2.

Soporte completo UML

Esta característica se refiere a la capacidad de las herramientas de construir todos los diagramas que propone UML, o por lo menos los más relevantes: el diagrama de casos de uso, que representa la funcionalidad o alcance del sistema; el diagrama de clases, que describe la estructura de objetos y sus relaciones; el diagrama de interacción (secuencia o colaboración) y, en algunos casos, el diagrama de estados, que visualiza el ciclo de vida de un objeto (OBD, 2003).

ADMINISTRACIÓN DE BASE DE DATOS

Página 23 de 63

HERRAMIENTA CASE

RATIONAL ROSE

También es importante la versión que se soporta de UML y la manera como la herramienta cubre los conceptos tratados en ella.

ADMINISTRACIÓN DE BASE DE DATOS

Página 24 de 63

HERRAMIENTA CASE

6.1.3.

RATIONAL ROSE

Facilidad de extensión del lenguaje

A pesar de que UML proporciona riqueza sintáctica y semántica para la especificación de modelos, se presentan condiciones particulares de los ámbitos de desarrollo que no logran ser satisfechas. Para tal efecto, UML ofrece mecanismos de extensibilidad tales como restricciones, estereotipos y valores etiquetados (OMG, 2003), que deben ser contemplados e implementados por las herramientas CASE. Además, es deseable que dichas herramientas contemplen la posibilidad de edición de símbolos gráficos que permitan representar aspectos particulares de un dominio no contemplados por UML (OBD, 2003).

6.1.4.

Modelado de datos

El modelado de la información persistente constituye uno de los factores importantes cuando se está construyendo un sistema de información. En términos prácticos dicha persistencia, estará soportada en bases de datos relacionales (Arce, 2003). Es por esto, que las herramientas de modelado con UML le deben permitir al usuario facilidades para definir el esquema relacional, bien sea a través de una interfaz para la construcción de diagramas entidad relación o modelos de datos, o a través de la extensión de UML, modelando clases persistentes que se puedan implementar en motores relacionales (Dorsey, 1999). Los modelos que se construyan utilizando la herramienta deben proveer la facilidad de generar scripts SQL, con las instrucciones DDL para la creación de los objetos de la base de datos.

6.1.5.

Autogeneración

Es una característica que podría mirarse desde dos sentidos, generar código a partir de modelos y generar modelos a partir de código. Varias de las herramientas disponen de la generación de la definición estática (propiedades y signatura de los métodos) de las clases en diferentes lenguajes (como Java, C++) y para diferentes arquitecturas (como CORBA y J2EE). También es recomendable que la herramienta genere el código que implementa la funcionalidad de mapeo (materialización y desmaterialización) entre el modelo de objetos y el modelo relacional, generalmente conocido como esquema de persistencia (Larman, 2003).

ADMINISTRACIÓN DE BASE DE DATOS

Página 25 de 63

HERRAMIENTA CASE

RATIONAL ROSE

La generación de código puede presentar dos tipos de inconvenientes (Gomez, 2003):  Cuando el código ya se ha generado y se desean realizar cambios sobre éste, la herramienta suele sobrescribir el código que el desarrollador ha introducido directamente.  Al momento de generar el código, la herramienta CASE pone un gran número de líneas de comentario llamadas polución. Para solucionar esto en la actualidad, los poderosos editores de los lenguajes de programación (p.ej. El editor de WithClass y los recientes editores de C#) pueden colapsar y expandir las líneas de comentarios, mostrándole al usuario sólo lo que él quiere ver.

6.1.6.

Ingeniería inversa

Mientras que un proceso clásico de Ingeniería de Software, conduce al usuario desarrollador a través de unas etapas para que, a partir de unos modelos, llegue a un producto de software construido, la Ingeniería Inversa parte del producto y lo transforma en modelos (Sánchez, 2003). La generación de diagramas a partir de código puede tener dos vertientes: La generación a partir de lenguajes OO, o a partir de lenguajes estructurados. La transformación a partir de programas OO se realiza con el propósito de documentar, o bien, reconstruir modelos con base en la versión en producción de un sistema. En este caso es ideal, que además de la generación del diagrama de clases, se puedan también generar diagramas de interacción (colaboración y secuencias) y diagramas de estados (OBD, 2003). Esto puede ser posible a partir de archivos de rastreo durante la ejecución de la aplicación, extrayendo los mensajes enviados entre clases para los diagramas de interacción y los cambios en los estados de una clase para los diagramas de estado. Los modelos así obtenidos son fuente valiosa para la revisión, transformación y generación de la versión en una nueva iteración del proceso del software (Mejía, 2003). Para aplicaciones construidas en lenguajes no objetuales (C, VB, COBOL, PASCAL y SQL), se hace interesante la posibilidad de realizar ingeniería inversa, facilitando ya sea la migración de sistemas con fines de actualización o la identificación de aspectos estructurales y relacionales de los sistemas difíciles de leer desde el código.

6.1.7.

Métricas

ADMINISTRACIÓN DE BASE DE DATOS

Página 26 de 63

HERRAMIENTA CASE

RATIONAL ROSE

Medir la bondad de un conjunto de modelos que representan un sistema suele ser una tarea de mucha utilidad para construir sistemas viables, de fácil mantenimiento y de buen rendimiento (McConnell, 1997). Las métricas son generalmente presentadas en reportes con información como: el número de atributos y métodos por clases, el índice de métodos públicos, privados y protegidos, el número de líneas de código por método, el grado de acoplamiento y el grado de cohesión (OBD, 2003).

6.1.8.

Apoyo a lenguajes formales

Un lenguaje formal es una técnica de base matemática para describir las propiedades de un sistema, con el propósito de evitar la ambigüedad y minimizar la interpretación subjetiva de la especificación de un sistema. OCL es el lenguaje formal adoptado alrededor de UML; es utilizado para especificar las invariantes, precondiciones y postcondiciones y otras restricciones de modelos orientados a objetos con el fin de otorgar mayor formalidad a las especificaciones y aspectos visuales de UML (Moreno, 2003). Integrar un lenguaje formal en una herramienta CASE, es una de las características sobresalientes que distinguen una herramienta CASE robusta. El lenguaje formal dota los diagramas con una semántica precisa y consistente, lo cual permite que la generación de código se pueda hacer de manera completa.

6.1.9.

Actualización

El mejoramiento continuo es una práctica de la mayoría de herramientas de modelado con UML. Tanto las herramientas comerciales como las libres, frecuentemente liberan versiones de actualización que proveen nuevas funcionalidades, mejor rendimiento y soporte a nuevas tendencias metodológicas o a nuevas versiones de UML.

6.2. Soporte al modelado Arquitectónico Con la revisión de este aspecto se pretende evaluar la capacidad que tienen las herramientas de modelado UML para apoyar la definición de la arquitectura de un sistema. La arquitectura es el elemento clave de diseño que permite establecer acuerdos de alto nivel referentes a la forma del sistema (módulos y subsistemas) y sus relaciones (Garlan, 2003). El énfasis en componentes y arquitecturas es una de las aproximaciones para desarrollo de software más prometedoras (Anaya, 2000), es por lo tanto

ADMINISTRACIÓN DE BASE DE DATOS

Página 27 de 63

HERRAMIENTA CASE

RATIONAL ROSE

importante analizar el soporte que una herramienta CASE provee para la definición de arquitecturas.

6.2.1.

Soporte a ADL

Un Lenguaje de Definición de Arquitecturas (ADL) proporciona notaciones para descomponer un sistema en componentes y conectores y especificar cómo se combinan estos elementos para formar cierta configuración, teniendo la ventaja de ofrecer una notación descriptiva directa para las principales abstracciones arquitectónicas. De este modo, los arquitectos pueden definir la estructura de sus sistemas evaluando posibles cambios, y guiar su implementación evitando la ambigüedad. Entre algunos de los ADL’s más conocidos están: WRIGHT, Aesop, Darwin, Rapide y UniCon (Georgas, 2003). Una de las características sobresalientes de la versión de UML 2.0 es su extensión como lenguaje ADL. Es importante que las herramientas CASE den un soporte adecuado a la definición de arquitecturas, de manera básica, facilitando la descripción y consistencia de vistas de acuerdo al modelo de 4+1 vistas (Kruchtem, 1995) de UML o, de forma avanzada, proveyendo soporte para conceptos propios de un ADL (OOPSLA 99, 2003) (Egyed, 2000).

6.2.2.

Apoyo al modelado por capas

El estilo o patrón de arquitectura más utilizado es el que especifica un sistema estableciendo una clara separación de la funcionalidad de éste a través de capas o niveles. El patrón de arquitectura por capas establece como mínimo la definición de tres capas: la capa de presentación, que es la parte del sistema que ofrece interface al entorno; la capa de lógica del negocio que determina el comportamiento de la aplicación; y la capa de datos, que administra la información persistente que maneja el sistema (Clements, 2003). El nivel de aceptación de esta arquitectura se debe a los beneficios que proporciona como: escalabilidad del sistema a través de la fácil distribución de componentes del sistema, confiabilidad por medio de implementación de múltiples niveles de redundancia, flexibilidad ante cambios debido al bajo acoplamiento entre la lógica de presentación y la lógica del negocio, y soporte a la reusabilidad por la identificación de elementos con una clara funcionalidad (LS, 2003). Es importante que la herramienta CASE permita la visualización de la arquitectura de alto nivel del sistema por medio de paquetes y sus relaciones de dependencia y que además, provea soporte especializado en cada una de las capas de la arquitectura como se describe a continuación: ADMINISTRACIÓN DE BASE DE DATOS

Página 28 de 63

HERRAMIENTA CASE

RATIONAL ROSE

 Servicios de presentación. Tal como se mencionó, la capa de presentación contempla los componentes que especifican la interacción del sistema con el entorno (usuario, sistemas externos, dispositivos, etc.), los elementos propios de esta capa deben poderse representar haciendo uso del estereotipo, con su respectivo ícono asociado, establecido por UML para especificar objetos de tipo frontera (). Es posible que algunas herramientas provean el soporte a las extensiones de UML para manejar los componentes de la capa de presentación; por ejemplo, para el modelado de aplicaciones web (Conallenn, 1999).  Servicios de lógica del negocio. Las reglas del negocio pueden normalizarse de la misma manera como se hace con los datos, para disminuir costos y mantenimientos, incrementar productividad y reducir esfuerzos. Por esto, el proceso de administración de las reglas del negocio, por parte de las herramientas CASE, debería caracterizarse por facilitar la unicidad, consistencia e independencia en la implementación de las reglas, con el fin de apoyar el sostenimiento de la integridad del sistema (CLARION, 2003). Es en este punto en el que lenguajes como el OCL contribuyen enormemente a describir reglas, restricciones y particularidades de los algoritmos que reflejan la lógica del negocio (GENTLEWARE, 2003).  Servicios de persistencia. La capa de persistencia administra la información que debe perdurar en el sistema, y para este conjunto de componentes, los servicios prestados por las herramientas de modelado le deben permitir al usuario construir diagramas de bases de datos o extender el UML, de tal manera que pueda representar las clases persistentes, haciendo uso de estereotipos.

6.3. Apoyo al repositorio Los repositorios son herramientas que permiten centralizar, administrar y gestionar las versiones o estados de un proyecto en el que se requieren revisiones frecuentes. En el desarrollo de sistemas usando herramientas CASE, se hace relevante la presencia de un repositorio, no sólo si la herramienta es multiusuario, sino en general para la organización de los cambios reflejados en el refinamiento de los modelos, en el avance de las etapas o en la colaboración entre usuarios (MACPRO, 2003). Para resaltar la relevancia del apoyo al repositorio por parte de una herramienta CASE, abordamos cuatro aspectos: (a) la robustez de la ADMINISTRACIÓN DE BASE DE DATOS

Página 29 de 63

HERRAMIENTA CASE

RATIONAL ROSE

herramienta a partir del uso de un repositorio, (b) las herramientas de administración, (c) la colaboración entre usuarios y (d) el intercambio.

6.3.1.

Robustez

La robustez se refiere a la capacidad de los sistemas de reaccionar apropiadamente ante condiciones excepcionales (Meyer1999), como casos no previstos en la especificación del sistema (por ejemplo, fallas eléctricas, entrada errónea de datos, incluso la corrupción por virus); y la capacidad de recuperarse ante tales situaciones, protegiendo de forma segura la información almacenada en un repositorio. La información que se almacena en el repositorio suele ser de mucha importancia, por corresponder a los modelos que representan los sistemas de información. La confiabilidad de la plataforma se constituye entonces en un elemento relevante, puesto que no se pueden arriesgar valiosas horas de trabajo por la pérdida de información o la corrupción de un modelo, producto de la caída del sistema.

ADMINISTRACIÓN DE BASE DE DATOS

Página 30 de 63

HERRAMIENTA CASE

6.3.2.

RATIONAL ROSE

Herramientas de administración

La administración en una herramienta CASE, podría clasificarse en cuatros categorías:

 De repositorio (Dorsey, 1997). El administrador de la plataforma CASE, necesita realizar tareas como, creación, actualización y borrado del repositorio, mantenimiento de usuarios, copias de seguridad (export e import del repositorio), recolección de estadísticas y manejo de las extensiones que usan los usuarios en los archivos, al momento de la autogeneración.  De ejecución de proyectos. El administrador del proyecto, necesita realizar tareas como: identificación de riesgos, planeación del proyecto, asignación de tareas a personas, asignación de fechas y recursos a tareas, seguimiento de las tareas o fases de un proyecto.  De áreas de trabajo (ORACLE, 2002). Las áreas o espacios de trabajo (workarea o workspace) son la manera en que la herramienta facilita la administración de todos los objetos sobre los que puede trabajar un usuario, tanto los objetos de su propiedad, como los que otros usuarios le compartieron. La administración de las áreas de trabajo las realiza cada usuario a través de un navegador de objetos del repositorio. Con frecuencia existe un área de trabajo global compartida, en la que se ubican los objetos a los que todos los usuarios tienen acceso.  De aplicaciones. En esta categoría se ubican tareas como la administración de versiones, el manejo de dependencias y la comparación entre modelos. La comparación entre los modelos y la implementación, presenta dos variantes: o

o

Reconciliación. Consiste en que los modelos se actualicen con base en los cambios realizados en la versión implementada (forma de la ingeniería inversa, cuando ya existe el modelo que se va a reconstruir). Sincronización. Consiste en pasar los cambios realizados en un modelo, a la implementación.

6.3.3.

Colaboración entre usuarios

ADMINISTRACIÓN DE BASE DE DATOS

Página 31 de 63

HERRAMIENTA CASE

RATIONAL ROSE

En la ejecución de un proyecto de Ingeniería de Software participan muchos roles (analistas, arquitectos, diseñadores, revisores, administradores, etc.). Cada uno puede necesitar al mismo tiempo, información del mismo artefacto, por tanto es imprescindible compartir información. Esto significa que las herramientas CASE que soportan el acceso multiusuario deben poseer estrategias de control de concurrencia, ya sea soportados por una base de datos, o esquemas de concurrencia más sofisticados como los propuestos para el desarrollo de sistemas distribuidos. Una colaboración representa la relación de interacción entre usuarios para la realización de las tareas de cada uno con el sistema. Las herramientas de modelado con repositorio multiusuario pueden asistir en el establecimiento de dichas relaciones entre usuarios, a partir del apoyo metodológico y de la especificación de las responsabilidades de los usuarios (Holmer, 2003) (Villanova, 2003). Para facilitar dicha colaboración entre usuarios, las herramientas proporcionan funcionalidades para: definir roles, otorgar y revocar privilegios para cada rol establecido, de tal manera que se puedan compartir objetos del repositorio.

6.3.4.

Intercambio

Es la posibilidad de que la información de los proyectos, guardada por una herramienta en cierto formato, pueda ser leída por otras herramientas CASE, que acepten dicho formato, para luego ser usada en otros desarrollos. Si la herramienta CASE soporta UML, la funcionalidad de intercambio de modelos con otras herramientas CASE se convierte en una meta alcanzable, teniendo en cuenta la estandarización sintáctica y semántica que persigue dicho lenguaje. En esta línea de estandarización alrededor de UML, la OMG definió un estándar de intercambio llamado XMI, que basado en el metamodelo de UML, sirve para el intercambio de metadatos utilizando XML.

6.4. Enfoque funcional El tercer y último enfoque, estudia las utilidades adicionales que le ayudan al usuario a desarrollar un sistema de información con mayor o menor facilidad.

6.4.1.

Versionamiento

Las iteraciones en el proceso de Ingeniería de Software, proponen que se construyan versiones de los artefactos y que, de forma incremental, se llegue a ADMINISTRACIÓN DE BASE DE DATOS

Página 32 de 63

HERRAMIENTA CASE

RATIONAL ROSE

un producto maduro. Por tal motivo, es importantísimo que la herramienta de modelado, le permita al usuario guardar versiones del sistema o de sus artefactos, de tal manera que cuando comience otra iteración, la versión previa esté disponible.

ADMINISTRACIÓN DE BASE DE DATOS

Página 33 de 63

HERRAMIENTA CASE

6.4.2.

RATIONAL ROSE

Navegación

Con frecuencia los usuarios de las herramientas de modelado con UML, necesitan acceder directamente a la información de una clase o método, o también revisar los diagramas que han construido. Para facilitar éstas y otras labores, las herramientas deben estar dotadas de un navegador de objetos del repositorio, que presente toda la información de los modelos en una forma organizada, garantizando el rápido acceso a cualquier información.

6.4.3.

Manejo de diagramas

Para la manipulación de diagramas existen tres labores fundamentales que se deben tener en cuenta:  Visualización (ORACLE, 2002). Al momento de visualizar un diagrama, hay varias funciones que resultan de mucha utilidad para el usuario, como: o o o o

o

Zoom in y Zoom out: Para acercar o alejar el diagrama. Refrescar: Para que las clases o componentes del diagrama se actualicen con base en el repositorio. Ajustar: Para que el área de visualización, sea ocupada totalmente por el diagrama o parte de éste. Autolayout: Para arreglar la presentación de los objetos dentro del diagrama, de tal manera que estos queden lo mejor dispuestos posible. Show y Hide: Para mostrar u ocultar información y adornos de los diagramas, y de esta forma no saturarlos, dependiendo del nivel de detalle deseado.

 Impresión. La herramienta debe tener características wysiwyg , que le permiten el usuario ver el documento al momento del procesamiento como saldrá impreso, es decir la Vista Previa. También suelen necesitarse funcionalidades como la impresión en múltiples páginas o a escala, para ajustar el diagrama al número de páginas deseadas.  Exportación. Poder manipular los diagramas construidos con la herramienta de modelado, se convierte en una posibilidad que resulta bastante útil. Por esto, la exportación de los diagramas a los formatos gráficos más populares como GIF, JPEG o BMP, se presenta como una característica deseable para las herramientas de modelado.

6.4.4.

Edición de código

ADMINISTRACIÓN DE BASE DE DATOS

Página 34 de 63

HERRAMIENTA CASE

RATIONAL ROSE

Para que la integración entre los modelos y su representación en un lenguaje de programación sea mayor, la herramienta de modelado debe disponer de editores de código integrados, que le faciliten al usuario la edición del código fuente de las clases, los métodos y todos los artefactos que involucre la solución ya implementada. Es conveniente que las herramientas de modelado tengan integración directa con entornos avanzados de desarrollo, conocidos como IDE. La inclusión de un editor de XML en la herramienta, se presenta como una utilidad muy atractiva para manipular la información de los modelos construidos con la herramienta de modelado con UML. “Además, como XMI utiliza XML para representar la información del modelo, un grupo de soluciones basadas en XML estarán inmediatamente disponibles, tales como las hojas de estilo (stylesheets) XSL para la presentación basada en navegadores y las herramientas de interrogación (query tools) XQL para funciones de búsqueda.”.

ADMINISTRACIÓN DE BASE DE DATOS

Página 35 de 63

HERRAMIENTA CASE

RATIONAL ROSE

Cuadro comparativo sobre aspectos generales

ADMINISTRACIÓN DE BASE DE DATOS

Página 36 de 63

HERRAMIENTA CASE

RATIONAL ROSE

Cuadro Comparativo sobre Enfoque Procedimental y Soporte al Modelo Arquitectónico

UML 1.4

UML 1.3 o superior

ADMINISTRACIÓN DE BASE DE DATOS

UML 2.0

Página 37 de 63

UML 2.0

UML 2.0

HERRAMIENTA CASE

RATIONAL ROSE

Cuadro Comparativo sobre Apoyo al Repositorio

ADMINISTRACIÓN DE BASE DE DATOS

Página 38 de 63

HERRAMIENTA CASE

RATIONAL ROSE

ADMINISTRACIÓN DE BASE DE DATOS

Página 39 de 63

HERRAMIENTA CASE

RATIONAL ROSE

Cuadro Comparativo sobre el Enfoque Funcional

Discriminación de colores en diagramas. Zoom in/out. Ajuste a ventana. Refresh.

Funcionalidad WYSIWYG. Vista previa. Configuración de página.

GIF, PNG, JPEG, BMP, HTML, WMF. EMF, TIFF.

ADMINISTRACIÓN DE BASE DE DATOS

Página 40 de 63

HERRAMIENTA CASE

RATIONAL ROSE

7. COSTOS Authorized User: Authorized User es una unidad de medida por la cual el programa puede obtener licencia. Un Usuario Autorizado es una persona única que se le da acceso al Programa. El programa puede ser instalado en cualquier número de ordenadores o servidores y cada Usuario Autorizado puede tener acceso simultáneo a cualquier número de instancias del Programa a la vez. El licenciatario debe disponer de autorizaciones separadas para cada usuario dando acceso autorizado para el Programa de cualquier forma, directa o indirectamente (por ejemplo: a través de un programa multiplexor, dispositivo o servidor de aplicaciones) mediante cualquier medio. Una autorización para un Usuario Autorizado es única para dicho Usuario Autorizado y no se puede compartir, ni podrá ser reasignado que no sea para la transferencia permanente de la autorización del Usuario Autorizado a otra persona. Floating User: Floating User es una unidad de medida por la cual el programa puede obtener licencia. Un Usuario Flotante es una persona que accede al Programa en cualquier momento en particular. Una Instalación es una copia instalada del Programa en un disco físico o virtual disponible para ser ejecutado en un ordenador. El Programa se puede instalar en cualquier número de ordenadores o servidores, pero si el Usuario Flotante accede simultáneamente más de una instalación del Programa, el Usuario Flotante necesita una autorización separada para cada una de esas Instalar. El licenciatario debe obtener derechos por separado para cada Usuario Flotante accediendo simultáneamente al Programa en cada Instalación de cualquier forma, directa o indirectamente (por ejemplo: a través de un programa multiplexor, dispositivo o servidor de aplicaciones) mediante cualquier medio.

7.1. Rational Rose Developer for Java *

Descripción de la referencia IBM Rational Rose Developer for Java Authorized User License + SW Subscription & Support 12 Months (D56YXLL) IBM Rational Rose Developer for Java Floating User License + SW Subscription & Support 12 Months (D56YZLL) ADMINISTRACIÓN DE BASE DE DATOS

Precio de IBM, impuestos no incluidos (US$) 4,364.18

7,655.21

Página 41 de 63

HERRAMIENTA CASE

RATIONAL ROSE

IBM Rational Rose for Java Floating User Initial Fixed Term License + SW Subscription & Support 12 Months (D0BI9LL) IBM Rational Rose for Java Authorized User Initial Fixed Term License + SW Subscription & Support 12 Months (D0BIALL)

3,612.97

2,050.93

7.2. Rational Rose Developer for UNIX *

Descripción de la referencia

Precio de IBM, impuestos no incluidos (US$)

IBM Rational Rose Developer for UNIX Floating User License + SW Subscription & Support 12 Months (D5330LL) IBM Rational Rose Developer for UNIX Floating User Initial Fixed Term License + SW Subscription & Support 12 Months (D0BHQLL)

14,666.52

6,892.07

7.3. Rational Rose Developer for Visual Studio *

Descripción de la referencia

Precio de IBM, impuestos no incluidos (US$)

IBM Rational Rose for Visual Studio Authorized User License + SW Subscription & Support 12 Months (D56Z1LL) IBM Rational Rose for Visual Studio Floating User License + SW Subscription & Support 12 Months (D56Z3LL) IBM Rational Rose for VisualStudio Floating User Initial Fixed Term License + SW Subscription & Support 12 Months (D0BIBLL) IBM Rational Rose for VisualStudio Authorized User Initial Fixed Term License + SW Subscription & Support 12 Months (D0BICLL)

4,364.18

7,655.21

3,612.97

2,050.93

7.4. Rational Rose Enterprise Descripción de la referencia

ADMINISTRACIÓN DE BASE DE DATOS

*

Precio de IBM, impuestos no incluidos

Página 42 de 63

HERRAMIENTA CASE

RATIONAL ROSE

(US$) IBM Rational Rose Enterprise Authorized User License + SW Subscription & Support 12 Months (D56Z7LL) IBM Rational Rose Enterprise Floating User License + SW Subscription & Support 12 Months (D56Z5LL) IBM Rational Rose Enterprise Authorized User Initial Fixed Term License + SW Subscription & Support 12 Months (D0BIDLL) IBM Rational Rose Enterprise Floating User Initial Fixed Term License + SW Subscription & Support 12 Months (D0BIELL)

7,655.21 14,666.52 3,612.97

6,892.07

7.5. Rational Rose Modeler *

Descripción de la referencia

Precio de IBM, impuestos no incluidos (US$)

IBM Rational Rose Modeler Authorized User License + SW Subscription & Support 12 Months (D56ZBLL) IBM Rational Rose Modeler Floating User License + SW Subscription & Support 12 Months (D56Z9LL) IBM Rational Rose Modeler Authorized User Initial Fixed Term License + SW Subscription & Support 12 Months (D0BIFLL) IBM Rational Rose Modeler Floating User Initial Fixed Term License + SW Subscription & Support 12 Months (D0BIGLL)

3,147.94 5,449.27 1,490.50

2,563.66

7.6. Rational Rose Technical Developer *

Descripción de la referencia IBM Rational Rose Technical Developer Authorized User License + SW Subscription & Support 12 Months (D53PDLL) IBM Rational Rose Technical Developer Floating User License + SW Subscription & Support 12 Months (D533CLL) IBM Rational Rose Technical Developer Floating User Initial Fixed Term License + SW Subscription & Support 12 Months (D0BHRLL) ADMINISTRACIÓN DE BASE DE DATOS

Precio de IBM, impuestos no incluidos (US$) 9,801.53

17,289.80

8,144.09

Página 43 de 63

HERRAMIENTA CASE

RATIONAL ROSE

IBM Rational Rose Technical Developer Authorized User Initial Fixed Term License + SW Subscription & Support 12 Months (D0BHSLL)

4,602.66

8. ANÁLISIS DE COSTO VS BENEFICIO 8.1. Cuadro de Costo Inicial por la compra del SW y Otros Descripción referencia

de

la

Cantidad (1)

IBM Rational Rose Developer for Java Authorized User License + SW Subscription & Support 12 Months (D56YXLL) Servicio de Soporte de Entrenamiento (40 horas) e instalación (10 horas)

*Precio de IBM, impuestos no incluidos (US$)

TOTAL

5

4364.18

21820.9

1

8400

8400

TOTAL

30220.9

8.2. Cuadro de Beneficios por etapas de desarrollo del Software

Actividades Modelo del Negocio Modelo de Requerimient os Modelo de Análisis Modelo de Diseño Modelo de Implementaci ón

(dias) Sin el Softwa re

(dias) Con el Softwa re

Frecue ncia anual

15

4

12

12

5

12

20

15

12

25

8

12

18

8

12

ADMINISTRACIÓN DE BASE DE DATOS

US$ Sin el Softwar e 15,000.0 0

US$ Con el Softwa re 4,000.0 0

12,000.0 0

5,000.0 0

20,000.0 0 25,000.0 0

15,000. 00 8,000.0 0

18,000.0 0

8,000.0 0

BENEFI CIO ANUAL

Página 44 de 63

HERRAMIENTA CASE Modelo de Prueba

RATIONAL ROSE

15

5

12

TOTAL Sueldo mensual Personal (US$)

2,500.00

Sueldo por dia (US$)

83.33

ADMINISTRACIÓN DE BASE DE DATOS

15,000.0 0 105,000 .00

5,000.0 0 45,000. 00

60,000. 00

Página 45 de 63

HERRAMIENTA CASE

RATIONAL ROSE

8.3. Cuadro de Costo - Beneficio AÑO 0 COSTO INICIAL

COSTO DE OPERACIÓN MANTENIMIENTO

Y

FACTOR DE DESCUENTO (11%) COSTO DE TIEMPO AJUSTADO

1.00 30,220. 90 30,220. 90

COSTOS ACUMULADOS

BENEFICIOS ESTIMADOS

0.00

FACTORES DE DESCUENTO (11%) BENEFICIOS EN TIEMPO AJUSTADO BENEFICIOS ACUMULADOS

COSTOS + ACUMULADOS

AÑO 1

AÑO 2

AÑO 3

21,820. 90 0.90 19,658. 47 49,879. 37

21,820.9 0 0.81 17,710.3 3 67,589.7 0

21,820.9 0 0.73 15,955.2 5 83,544.9 5

60,000. 00

60,000.0 0

60,000.0 0

30,220. 90

BENEFICIOS

1.00 0.00 0.00 30,220. 90

0.90

0.81

0.73

54,054. 05 54,054. 05

48,697.3 5 102,751. 40

43,871.4 8 146,622. 88

4,174.6 9

35,161. 70

63,077. 93

*De acuerdo al análisis costo – beneficio, y desarrollando al año 12 proyectos, se obtiene beneficio al primer año de la compra de la herramienta case

9. BENEFICIOS INTANGIBLES  Se reduciría los costos de capacitación del personal del área de sistemas, debido a que en el mercado actual la oferta del personal está familiarizado con el manejo del software.  La empresa, al adquirir dicho producto software, automáticamente recibiría los beneficios de suscripción y soporte por 12 meses.  Dicha herramienta case, reduciría el tiempo de trabajo en el desarrollo de software de la empresa. Además, daría soporte en las etapa de implementación en el desarrollo de software debido a que permite la generación de código. ADMINISTRACIÓN DE BASE DE DATOS

Página 46 de 63

HERRAMIENTA CASE

RATIONAL ROSE

 Facilitaría en el mantenimiento del software implementado, ya que debido a su ingeniería inversa se puede realizar la documentación, si es que no tuviera, de dicho software.  Facilitará la documentación de los proyectos informáticos que se basan en lenguajes de programación Java / J2EE, según la adaptación de la metodología Métrica V3 .  Contribuirá a mejorar las actividades de control y seguimiento de los requerimientos que se realizan sobre el desarrollo, mantenimiento e implementación de nuevos módulos / aplicaciones informáticas de los proyectos existentes o nuevos, desde la etapa de la formulación.  Dada las actuales tendencias tecnológicas en cuanto a Web Services y el SOA – Service Oriented Architecture, el personal de la empresa podrá expandir sus actividades de investigación tecnológica orientado a la propuesta y desarrollo de nuevos sistemas informáticos.  El re-uso de los patrones, plantillas, códigos generados de las soluciones informáticas desarrolladas con el producto, así como el establecimiento y transmisión de los estándares técnicos entre el personal técnico.  Reduciría el número de errores en el proceso de desarrollo de software, ya que permite un desarrollo guiado por etapas según la metodología RUP, y que gracias a ello se obtendría una mejor generación, reportes y una buena documentación, haciendo el producto más consistente y que cumpla con los requerimientos del cliente.

10. USO DEL SOFTWARE EN LAS EMPRESAS

ADMINISTRACIÓN DE BASE DE DATOS

Página 47 de 63

HERRAMIENTA CASE

RATIONAL ROSE

11. APLICACIÓN Utilización del Rational Rose en las etapas del Proceso Unificado de Desarrollo de Software, según los modelos que se utilizan:

11.1.

BANKAPP usando Rational Rose

A continuación, se presentará una aplicación, en donde se desarrollará un caso. Esta aplicación se denomina BankApp, en donde se mostrará el uso de Rational Rose, y los diversos diagramas que puede realizar, ayudando así al proceso de desarrollo de software.

ADMINISTRACIÓN DE BASE DE DATOS

Página 48 de 63

HERRAMIENTA CASE

11.1.1.

RATIONAL ROSE

Preliminar – Modelo de Negocio Empresarial

11.1.1.1.

Eventos de Negocio y Procesos

11.1.1.2. Actores del negocio, Workers del Negocio y Entidades del Negocio (Entidades del dominio del problema)

11.1.1.3. Interfaces de Negocio – Provisto por el Arquitecto

ADMINISTRACIÓN DE BASE DE DATOS

Página 49 de 63

HERRAMIENTA CASE

RATIONAL ROSE

11.1.1.4. Arquitectura de Sistema de Negocio – Provisto por el Arquitecto

11.1.2.

Modelos de Requerimientos

11.1.2.1. Diagrama de Caso de Uso – Todos los casos de uso

11.1.2.2. Diagrama de Colaboración de Alto Nivel (Diagrama de Contexto)

ADMINISTRACIÓN DE BASE DE DATOS

Página 50 de 63

HERRAMIENTA CASE

RATIONAL ROSE

11.1.2.3. Diagrama de Secuencia WithdrawFromCheckingAccount – Escenario Óptimo

ADMINISTRACIÓN DE BASE DE DATOS

Página 51 de 63

HERRAMIENTA CASE

RATIONAL ROSE

11.1.2.4. Diagrama de Actividad de Requerimientos para el caso de uso WithdrawFromCheckingAccount – Todos los Escenarios

11.1.2.5.

Modelo Conceptual de Alto Nivel

ADMINISTRACIÓN DE BASE DE DATOS

Página 52 de 63

HERRAMIENTA CASE

11.1.3.

RATIONAL ROSE

Modelo de Análisis

11.1.3.1. Diagrama de Clases de Análisis – Estructura Muy Simple

11.1.3.2.

Diagrama de Paquete de Análisis

11.1.3.3. Diagrama de Secuencia de Análisis para WithdrawFromCheckingAccount – Escenario Óptimo

ADMINISTRACIÓN DE BASE DE DATOS

Página 53 de 63

HERRAMIENTA CASE

RATIONAL ROSE

11.1.3.4. Diagrama de Estado de Análisis para la clase Account

11.1.4.

Modelos de Diseño

11.1.4.1.

Patrones Potenciales de Diseño:

ADMINISTRACIÓN DE BASE DE DATOS

Página 54 de 63

HERRAMIENTA CASE

RATIONAL ROSE

Componente: Aplicación – Documento, Controller – Entity – Boundary, Facade Diseño de Clase: UML, Factory, Transaction Lenguaje Java: Java Beans, EJB, Servlet, RMI

11.1.4.2.

Diagrama de Paquete de Diseño

ADMINISTRACIÓN DE BASE DE DATOS

Página 55 de 63

HERRAMIENTA CASE

RATIONAL ROSE

11.1.4.3. Diagrama de Clases de Diseño mostrando tipos y parámetros

11.1.4.4. Diagrama de Secuencia de Diseño para WithFromCheckingAccount – Escenario Óptimo

ADMINISTRACIÓN DE BASE DE DATOS

Página 56 de 63

HERRAMIENTA CASE

RATIONAL ROSE

11.1.4.5. Diagrama de Colaboración de Diseño WithdrawFromCheckingAccount – Escenario Óptimo

11.1.4.6. Diagrama de Estado de Diseño para la clase CheckingAccount

ADMINISTRACIÓN DE BASE DE DATOS

Página 57 de 63

HERRAMIENTA CASE

11.1.5.

RATIONAL ROSE

Modelos de Implementación

Entorno de Procesamiento de Diseño: UNIX, C++, CORBA

11.1.5.1. Diagrama de Componente de Implementación

11.1.5.2.

Diagrama de Despliegue de Implementación

ADMINISTRACIÓN DE BASE DE DATOS

Página 58 de 63

HERRAMIENTA CASE

RATIONAL ROSE

11.1.5.3. Generación de Código para la interface IBankApp

//Sample IDL Interface Code module BankApp { interface IBankApp { exception exInsuffientFunds; IBankApp getApp(); boolean depositToCheckingAccount (in string sAcctNum, in int nDeposit) ; boolean depositToSavingAccount (in string sAcctNum, in int nDeposit) ; boolean withdrawFromCheckingAccount (in string sAcctNum, in int nWithdraw)raises (exInsuffientFunds); boolean withdrawFromSavingAccount (in string sAcctNum, in int nWithdraw) raises (exInsuffientFunds); };}; //Sample Java Interface Code Using Remote Method Invocation import java.rmi.*; package BankApp; public interface IBankApp extends java.rmi.Remote { boolean depositToCheckingAccount (String sAcctNum, int nDeposit) throws java.rmi.RemoteException ; boolean depositToSavingAccount (String sAcctNum, int nDeposit) throws java.rmi.RemoteException ; boolean withdrawFromCheckingAccount (String sAcctNum, int nWithdraw) throws java.rmi.RemoteException;

ADMINISTRACIÓN DE BASE DE DATOS

Página 59 de 63

HERRAMIENTA CASE

RATIONAL ROSE

boolean withdrawFromSavingAccount (String sAcctNum, int nWithdraw) throws java.rmi.RemoteException; } //Sample Microsoft IDL Interface Code for COM - Simplified library BankAppLib { dispinterface IBankApp { IBankApp getApp(); boolean depositToCheckingAccount (BSTR sAcctNum, int nDeposit) ; boolean depositToSavingAccount (BSTR sAcctNum, int nDeposit) ; boolean withdrawFromCheckingAccount (BSTR sAcctNum, int nWithdraw); boolean withdrawFromSavingAccount (BSTR sAcctNum, int nWithdraw); }; coclass BankApp { dispinterface IBankApp; }; }; //Sample SOAP (Simple Object Access Protocol) SDL (Service Description Language) with XML Incomplete

















ADMINISTRACIÓN DE BASE DE DATOS

Página 60 de 63

HERRAMIENTA CASE

RATIONAL ROSE



ADMINISTRACIÓN DE BASE DE DATOS

Página 61 de 63

HERRAMIENTA CASE

RATIONAL ROSE

CONCLUSIONES  Con los productos de la familia de Rational Rose se desarrollan más rápido las aplicaciones.  La familia de productos Rational unifica el equipo del proyecto proporcionando notación y ejecución de modelos en UML permitiendo que se utilice lenguaje sencillo en el ciclo de vida de análisis y desarrollo del software.  Rational Rose genera código para los principales lenguajes de programación con mayor demanda en el mercado actual (Java, J2EE, Visual C++, Visual Basic, CORBA, XML, entre otros)  Permite el modelado y desarrollo de aplicaciones web, además de contener herramientas XML.  Y por último, los desarrolladores del Rational Rose formaron parte del equipo de desarrollo de la notación de UML, por ello el Rational Rose es la mejor opción para el modelado visual y desarrollo de software utilizando la notación UML.

ADMINISTRACIÓN DE BASE DE DATOS

Página 62 de 63

HERRAMIENTA CASE

RATIONAL ROSE

BIBLIOGRAFÍA 1. Grady Booch, James Rumbaugh, Ivan Jacobson. El Lenguaje Unificado de Modelado. PEARSON EDUCACIÓN S.A., Madrid, 2005, pág. 15 – 16. 2. Grady Booch, James Rumbaugh, Ivan Jacobson. El Proceso Unificado de Desarrollo de Software. PEARSON EDUCACIÓN S.A., Madrid, 2000. 3. Quintero, J.B; Anaya de P., R; Marín, J.C.; Bilbao L., A. Un estudio comparativo de herramientas para el modelado con UML. Universidad EAFIT. Vol. 41. No 137. 2005. Páginas 60-76 4. http://www-03.ibm.com/software/products/es/ratirosefami 5. http://www.ecured.cu/index.php/Rational_Rose_Enterprise_Edition

ADMINISTRACIÓN DE BASE DE DATOS

Página 63 de 63