HERRAMIENTAS CASE Son un conjunto de métodos, utilidades y técnicas que facilitan la automatización del diseño y documentación del desarrollo de los sistemas de información, bien a lo largo de todo su ciclo de vida, o de alguna de sus fases. Las principales ventajas que proporcionan las herramientas CASE consisten en el aumento de la productividad y de la calidad de las aplicaciones desarrolladas. Las herramientas CASE ayudan a los desarrolladores a expresar gráficamente los procesos de negocio y sus correspondientes modelos de datos, validando la integridad y consistencia de los mismos y generando en muchos casos el código necesario para convertir dichos modelos en nuevas aplicaciones. Asimismo, las herramientas CASE pueden producir rápidamente prototipos de las aplicaciones a desarrollar, los cuales se pueden probar, corregir e incorporar a la aplicación final. La tecnología CASE también permite partir los proyectos en múltiples piezas que se pueden trabajar individualmente y que luego pueden ser reensambladas en una única aplicación que funciona perfectamente. Por otro lado, estas herramientas suponen una gran ayuda a la hora de gestionar la documentación asociada al desarrollo de los sistemas de información, ya que proporcionan un entorno donde centralizar dicha documentación, además de generar buena parte de la misma. Los principales inconvenientes que se achacan a este tipo de herramientas tienen que ver, sobre todo, con la dificultad de su aprendizaje y con la laboriosidad y minuciosidad del desarrollo a seguir, si se quieren obtener las máximas prestaciones de la herramienta, tales como la generación de código o de estructuras de datos. Tipos de CASE No existe una única clasificación de herramientas CASE y, en ocasiones, es difícil incluirlas en una clase determinada. Podrían clasificarse atendiendo a: • • • • Las plataformas que soportan. Las fases del ciclo de vida del desarrollo de sistemas que cubren. La arquitectura de las aplicaciones que producen. Su funcionalidad. Las herramientas CASE, en función de las fases del ciclo de vida abarcadas, se pueden agrupar de la forma siguiente: • Herramientas integradas, I-CASE (Integrated CASE, CASE integrado): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas también CASE workbench. • Herramientas que comprenden alguna/s fase/s del ciclo de vida de desarrollo de software: • Herramientas de alto nivel, U-CASE (Upper CASE, CASE superior) o front-end, orientadas a la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: análisis y diseño. • Herramientas de bajo nivel, L-CASE (Lower CASE, CASE inferior) o back-end, dirigidas a las últimas fases del desarrollo: construcción e implantación. • Juegos de herramientas o toolkits, son el tipo más simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontrarían las herramientas de reingeniería orientadas a la fase de mantenimiento. Las herramientas I-CASE se basan en una metodología, tienen un repositorio y aportan técnicas estructuradas para todas las fases del ciclo de vida. Estas son las características que las confieren su mayor ventaja: una mejora de la calidad de los desarrollos. Sin embargo, no todas ellas son modernas en el sentido de aprovechar la potencia de las estaciones de trabajo o la utilización de lenguajes de alto nivel o técnicas de prototipado. Una estrategia posible es utilizar una U-CASE para análisis y diseño, combinada con otras herramientas más modernas para las fases de construcción y pruebas. En este caso habría que vigilar cuidadosamente la integración entre las distintas herramientas. Otra posible clasificación, utilizando la funcionalidad como criterio principal, es la siguiente: • Herramientas de planificación de sistemas de gestión: sirven para modelizar los requisitos de información estratégica de una organización. Proporcionan un "metamodelo" del cual se pueden obtener sistemas de información específicos. Su objetivo principal es ayudar a comprender mejor cómo se mueve la información entre las distintas unidades organizativas. • Herramientas de análisis y diseño: permiten al desarrollador crear un modelo del sistema que se va a construir y también la evaluación de la validez y consistencia de este modelo. Proporcionan un grado de confianza en la representación del análisis y ayudan a eliminar errores con anticipación. Se tienen: o Herramientas de análisis y diseño estructurado. o o o Herramientas de creación de prototipos y de simulación. Herramientas para el diseño y desarrollo de interfaces. Máquinas de análisis y diseño. • Herramientas de programación: se engloban aquí los compiladores, los editores y los depuradores de los lenguajes de programación convencionales. Ejemplos de estas herramientas son: o Herramientas de codificación convencionales. o Herramientas de codificación de cuarta generación. o Herramientas de programación orientadas a los objetos. • Herramientas de integración y prueba: sirven de ayuda a la adquisición, medición, simulación y prueba de los equipos lógicos desarrollados. Entre las más utilizadas están: o Herramientas de análisis estático. o Herramientas de codificación de cuarta generación. o Herramientas de programación orientadas a los objetos. • Herramientas de gestión de prototipos: los prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para la evaluación de especificaciones de un sistema de información, o para un mejor entendimiento de cómo los requisitos de un sistema de información se ajustan a los objetivos perseguidos. • Herramientas de mantenimiento: la categoría de herramientas de mantenimiento se puede subdividir en: o Herramientas de ingeniería inversa. o Herramientas de reestructuración y análisis de código. o Herramientas de reingeniería. • Herramientas de gestión de proyectos: la mayoría de las herramientas CASE de gestión de proyectos se centran en un elemento específico de la gestión del proyecto, en lugar de proporcionar un soporte global para la actividad de gestión. Utilizando un conjunto seleccionado de las mismas se puede: realizar estimaciones de esfuerzo, coste y duración, hacer un seguimiento continuo del proyecto, estimar la productividad y la calidad, etc. Existen también herramientas que permite al comprador del desarrollo de un sistema hacer un seguimiento que va desde los requisitos del pliego de prescripciones técnicas inicial hasta el trabajo de desarrollo que convierte estos requisitos en un producto final. Se incluyen dentro de las herramientas de control de proyectos las siguientes: o o o Herramientas de planificación de proyectos. Herramientas de seguimiento de requisitos. Herramientas de gestión y medida. • Herramientas de soporte: se engloban en esta categoría las herramientas que recogen las actividades aplicables en todo el proceso de desarrollo, como las que se relacionan a continuación: o o o o Herramientas de documentación. Herramientas para software de sistemas. Herramientas de control de calidad. Herramientas de bases de datos. ORACLE DESIGNER-2000: Herramienta CASE para aplicaciones Cliente-Servidor. INTRODUCCIÓN Oracle Designer 2000 forman parte de una familia de productos orientados a la creación de aplicaciones Cliente/Servidor escalables, portables y fáciles de desarrollar tanto a nivel de grupos de trabajo, departamental como corporativo; de la forma más productiva posible. Designer 2000 es una herramienta CASE (Computer-Aided Software Engineering)que le permite MODELAR procesos complejos y a partir de esto y de otros generados en procesos de INGENIERÍA EN REVERSO - realizados por el mismo Designer 2000-, generar sis temas orientados al manejo de información almacenado en Bases de datos de cualquier proporción. Cuenta con un repositorio de información común, soporte a cualquier metodología de desarrollo, un ambiente de desarrollo cli ente-servidor unificado y una gran cantidad de herramientas gráficas para el modelamiento y generación de grandes aplicaciones. AMBIENTE ORACLE CLIENTE/SERVIDOR Oracle cuenta no solo con productos para el almacenamiento y administración de grandes volúmenes de información en su base de datos Oracle7 y con herramientas que nos permitan crear aplicaciones complejas para accesar esta informaci&o acute;n de diferentes formas, sino que nos ofrece un conjunto de productos que me dan la posibilidad de tener aplicaciones cliente/servidor funcionando optimamente bajo diferentes tipos de configuraciones de red, diferentes protocolos de comunicació ;n y corriendo en una gran gama de sistemas operativos. El esquema Cliente/Servidor se compone del elemento servidor quien se encarga de mantener almacenada la información en la base de datos, ya sea para consultas y modificaciones por parte del elemento cliente o para almacenar aquella nueva información enviada por este. Además se encarga de atender todos los requerimientos de información o procesamiento de esta información solicitada por cada uno de los clientes mientras estos lo requieran, manejar los esquemas de seguridad, mantener la integridad de la información y administrar la concurrencia sobre la información almacenada en el servidor. Cuenta además con el elemento cliente quien toma los requerimientos entregados por el usuario por medio de la aplicaciones y los envía al servidor. Una vez el cliente ha recibido una respuesta del servidor, ya sean los datos solicitados o la negación de estos, le entrega el resultado al usuario final. Con una característica adicional, y es que el procesamiento de esta información puede ser ejecutado ya sea del lado del servidor o ya sea del lado del cliente, lo cual nos permite particionar las aplicaciones. Típicamente en el esquema Cliente/Servidor el elemento cliente se encuentra remoto o como parte de una red de área local. Y finalmente debe existir el medio de comunicación entre los dos elementos anteriormente descritos, el cual esta dirigido por el protocolo de comunicación quien se encarga de tomar la información solicitada por el cliente y empaquetarla para ser transmitida por el medio de comunicación hacia el servidor y viceversa, el cual puede ser cable coaxial, línea satelital, línea telefónica, etc. Dentro de los protocolos de comunicación más conocidos tenemos: TCP/IP, IP/SPX, DECNET, NAMEDPIPES, etc. La Figura 1 Detalla cada uno de los componentes de un ambiente Cliente-Servidor Vemos que encontramos al elemento elemento servidor el cual es el Servidor de Base de Datos Oracle7, dentro de los elementos clientes encontramos: Herramientas de desarrollo Developer 2000, Herramientas CASE Designer 2000, Oracle Power Objects, Herramientas de usuario final como: Discoverer 2000, Oracle Office, etc. Y encontramos el elemento que se encarga de tomar los requerimientos de información y/o procesamiento de esta solicitados por el Cliente (Developer 2000, Designer 2000, etc) y convertirlos a un formato entendible por parte del protocolo de comunicación, con el fin de que este lo lleve hacia el servidor y el mismo elemento, pero en el lado del servidor, lo convierta a un formato que pueda interpretar el servidor Oracle7, y viceversa. Este producto se llama SQL*NET y puede trabajar con protocolos tales como TCP/IP, IPX/SPX, NAMED PIPES, DECNET, y otros. Oracle Designer 2000 es una herramienta CASE cliente/servidor compuesta por Diagramadores en el lado del cliente y un repositorio multiusuario en el lado del servidor. Esta arquitectura me permite modelar aplicaciones en equipos de trabajo dado que la seguridad, integridad, consistencia y concurrencia de la información almacenada en este esta completamente controlada por el manejador de base de datos Oracle7 y administrada por el usuario desde el Cliente. La figura 2 muestra como trabaja Designer 2 000 y cuales son cada uno de sus componentes. ORACLE DESIGNER 2000 - HERRAMIENTA CASE Designer 2000 es una herramienta CASE que abarca todo el ciclo de vida de la creación de cualquier sistema de información, incluyendo la generación del código necesario para la puesta en producción. Además soporta cualquier metodología de desarrollo que quiera utilizarse para el desarrollo del mismo incluyendo: ORACLE CASE METHOD, Buisness Process Reengineering (BPR), Ingeniería en Reverso, Bases de datos distribuidas, etc. Cuenta con Diagramadores y Herramientas para cada etapa del desarrollo completamente integradas entre ellas, las cuales obtienen la información de un repositorio de información común, que permite acceso a múltiples usuarios en forma simultánea sobre la misma aplicación; esto facilita la creación de aplicaciones corporativas trabajando en equipos de trabajo. Además da facilidades tales como: • • • • • • Manejar múltiples versiones de una aplicación Mantener copias "congeladas" de estas Crear perfiles de usuario dentro del repositorio separados de los esquemas de seguridad de la base de datos Generación de reportes sobre el estado actual de cualquier elemento de la aplicación Ingeniería en reverso de aplicaciones existentes Extraer información de otras herramientas CASE e incluirlas dentro de la definición de las aplicaciones, etc Modelamiento de Procesos El primer paso en el buen diseño de aplicaciones es lograr entender de una manera clara el objetivo del negocio y como se comportan cada uno de los procesos que pertenecen a ellos, sin lo cual es imposible crear aplicaciones que satisfagan las necesidades que intentamos solucionar. Process Modeler(PM) Designer 2000 cuanta con el 'Modelador de Procesos', el cual le permite crear diagramas que plasmen detalladamente aspectos de cada proceso del negocio tales como: • • • • • Métricas de los procesos incluyendo: tiempo, costo, etc. Requerimientos de respuesta del proceso Unidades de negocio con las que cuenta Procesos que intervienen cada unidad de negocio Flujos existentes entre estos procesos Para ayudarle a entender mejor el modelamiento de los procesos de su compañía, el modelador le permite crear iconos para cada elemento dentro del diagrama, utilizar animaciones que permiten mostrar como es el flujo entre los diferentes procesos e incluir multimedia en los diagramas; con lo cual podrá entender profundamente como esta organizado su negocio, además que le permite utilizar técnicas de BPR (Business Processes Reengineering) para el modelamiento del mismo. Modelamiento del Sistema Una vez se ha entendido cada uno de los procesos involucrados en su negocio, se inicia el diseño del sistema de información que satisfaga las necesidades del negocio, previamente modelado. Esta etapa del modelamiento incluye detallar con pre cisión que funciones intervienen y como dependen unas de otras, así como toda la información que el sistema debe manejar. Entity-Relationship Diagrammer(ERD) Designer 2000 cuenta con el 'Diagramador de Entidad/Relación', el cual por medio de una interface gráfica, permite diseñar los datos que van a ser utilizados por el sistema de información. Por medio del diagramador puede incluir información acerca de: • • • • Las entidades de información requiere su sistema Los atributos e identificadores únicos de cada entidad Las relaciones existentes entre las entidades Los supertipos que tiene el modelo Funtion Hierarchy Diagrammer(FHD) Por medio del 'Diagramador de Jerarquía de Funciones', se pueden crear todas las funciones que requiere el sistema para satisfacer las necesidades del negocio o reutilizar las funciones detalladas en el modelamiento de procesos y crear la dependencia funcional entre ellas. Además permite determinar: • • • Las entidades va a utilizar cada función Las atributos de las entidades va a utilizar cada función Los privilegios van a tener las funciones sobre las entidades y los atributos Dada la interface gráfica, usted va a poder ver todo el árbol de jerarquía de las funciones, expandir o contraer ramas, imprimir la totalidad o parte del árbol, etc. Diseño del Sistema Una vez el proceso de refinamiento del modelamiento ha culminado (Utilizando el ERD y el FHD de designer 2000), la fase siguiente es pasar todo este esquema a sus respectivas componentes de la fase de diseño. Específicamente para el dise&nti lde;o de Aplicaciones orientadas a bases de datos, consiste en convertir la definición de las Funciones a Módulos y del modelo Entidad-Relación a sus elementos correspondientes en la base de datos, así: • • • • Entidades a Tablas Relaciones a Condiciones de integridad Identificadores únicos a Llaves primarias Atributos a Columnas, etc. Una vez superado este paso, refinar el diseño del sistema con el fin de iniciar el proceso de Generación de las aplicaciones. Oracle Designer 2000 cuenta con varias herramientas tanto para el paso de la etapa de análisis a la etapa de diseño, como para el refinamiento de este, tanto para el diseño de las aplicaciones como para el diseño de la base de datos. Diseño de la base de datos Database Design Wizard(DDW) Esta herramienta de Designer 2000 ejecuta en forma automática el paso del modelo entidad/relación a sus respectivas componentes en la etapa de diseño. El database design wizard se encarga, además del paso de entidades a tablas, de relaciones a condiciones de integridad, de identificadores únicos a llaves primarias y de atributos a columnas, de resolver ciertas características del modelo entidad/relación tales como: • • • Relaciones Muchos a Muchos Subtipos y Supertipos Arcos Data Diagrammer(DD) Por medio de este diagramador puede plasmar la definición de los componentes generados por el database design wizard en forma gráfica. Aquí puede ver e incluir nueva información sobre: tablas, vistas, snapshots, condiciones de integridad, secuencias, índices, etc, lo cual le permitirá refinar el modelo de datos que va a manejar su aplicación. Diseño de los módulos de la aplicación Application Design Wizard(ADW) El applicaction design wizard genera la definición automática de los módulos del sistema a partir de la definición de las funciones creadas en la etapa anterior por medio del FHD. De acuerdo a la definición creada en el modelamiento del sistema, crea módulos tipo Forma, Reporte, Menú, etc. El cual puede ser refinado previo a la generación. Module Data Diagrammer(MDD) A partir de la definición creada por el ADW de los módulos que intervienen en el sistema, es posible definir a un mayor en que forma cada módulo va a utilizar cada uno los objetos de la base de datos. utilizando el Module Data Diagrammer. Además permite influenciar la forma como va a ser generada la aplicación en detalles tales como: • • • • • Número de paginas que va a tener la Forma o el Reporte Número de ventanas que va a tener la Forma Sincronización en bloques maestro-detalle Creación de campos derivados de los existentes en la base de datos Definir el particionamiento de la aplicación y sus validaciones entre el cliente y el servidor Module Structure Diagrammer(MSD) Esta herramienta de designer 2000 me permite definir la dependencia funcional de los módulos de la aplicación. La interface gráfica del diagramador maneja: • • La creación de nuevos módulos de tipo: Forma, Menú, Reporte, Procedimiento Crear o Modificar la dependencia y la secuencia de ejecución de los módulos Claro esta, que esta definición puede ser simplemente modificada de la generada por el ADW y refinada para el proceso de generación de la aplicación. Module Logic Navigator(MLN) Con el fin de crear módulos de tipo procedimental para la base de datos Oracle7, Designer 200 cuenta con el Module Logic Navigator, que permite por medio de 'Drag and Drop' crear fácilmente módulos pl/sql sin necesidad de conocer el l enguaje procedimental de Oracle7 en detalle. Esta interface permite: • • • • Crear procedimientos, paquetesy funciones Compilarlos Modificarlos Generar el código necesario para su ejecución Además por medio del Module Structure Diagramer creo la dependencia del módulo respecto al resto de la aplicación. Preference Navigator(PN) Previo a la generación de mis aplicaciones, Designer 2000 me da la oportunidad de modificar detalles de los módulos que van a conformar la aplicación final. Por medio de este navegador, el cual muestra en forma jerárquica cada nivel de preferencias, es posible: • • • • Modificar las preferencias tanto para las formas como para los reportes Modificar el aspecto final de los objetos gráficos en ambientes GUI Modificar la posición y sincronización de los bloques e ítems Crear preferencias a nivel de toda la aplicación, de un módulo o crear conjuntos de preferencias que puedo aplicar a un módulo especifico. Designer 2000 hace posible la definición de preferencias que influencien tanto la creación de Formas como la creación de Reportes. Generación de aplicaciones Una vez terminada la fase de diseño la metodología CASE finaliza con la generación de aplicaciones. Esta fase debe cumplir con la generación tanto de los componentes a nivel de la base de datos tales como: tablas, condiciones d e integridad, vistas, etc; como la generación de las formas, reportes, menús, procedimientos, etc. Lo gran ventaja de Designer 2000 es que cuenta con generadores para cada uno de estos propósitos, los cuales funcionan simplemente con seleccionar el módulo y ejecutar el proceso de generación. Además que permite procesos de re generación por pequeños cambios realizados en los módulos. Para este fin cuenta con los generadores descritos a continuación: Oracle Server Generator El Oracle Server Generator se encarga de crear automáticamente TODO el esquema de la base de datos almacenado en el repositorio de Designer 2000. • • • • Crea la definición de: Bases de datos, Tablas, Columnas, Índices, Condiciones de integridad, vistas, sinónimos, snapshots. Soporta standard ANSI SQL y ORACLE SQL Creación de los procedimientos almacenados Oracle7 Creación de los esquemas de seguridad Oracle7 • Creación de todo el esquema y objetos necesarios para bases de datos distribuidas Oracle Forms Generator El Oracle Forms Generator convierte los módulos definidos como pantallas de entradas o consulta de información en Formas generadas para ser modificados o ejecutados desde 'Oracle Forms 4.5'. Genera formas portables, escalables y con todas la s características de un ambiente GUI tales como: Toolbar para el control de la aplicación, Menús colgantes, sincronización de bloques maestro-detalle e interacción directa con la base de datos. Oracle Reports Generator El Oracle Reports Generator crea reportes a partir de la definición de los módulos que no requieren interacción directa con el usuario. Estos reportes, tal como las formas generadas, son portables y escalables y son creados para ser m odificados o ejecutados desde 'Oracle Reports 2.5'. Designer 2000 de acuerdo a la definición del módulo y de acuerdo a las preferencias con que halla sido generado puede crear reportes de tipo: Mestro-Detalle, Matriciales, y de muchos otros tipos. Web Server Generator Dada la expansión de aplicaciones Cliente/Servidor con acceso a Internet y el lanzamiento del producto WebServer de Oracle, el cual permite crear páginas dinámicas de Web para realizar consultas sobre servidores de Web tomando datos d e una base de datos Oracle, Designer 2000 cuenta con el generador de páginas de Web, el cual produce todo el código en lenguaje HTML requerido para que por medio de este tipo de páginas se consulte directamente información alma cenada en una base de datos Oracle. Este generador unido a la técnologia de Oracle WebServer y a los diferentes elementos que permite manejar Designer 2000 tales como: BPR, Procesos de Ingenieria en Reverso, Manejo de bases de datos distribuidas, etc; abre las puertas a generaci&oac ute;n de aplicaciones tipo Internet y la creación de aplicaciónes orientadas al manejo de aplicaciones de Data Warehousing. Visual Basic Generator Desde la versión 1.2 de Designer 2000 se encuentra disponible el generador de aplicaciones en Lenguaje Visual Basic de Microsoft. Este permite a partir de la definición conceptual de los módulos en el repositorio de Designer 2000 se c reen aplicaciones en Visual Basic, lo cual hace más amplio el campo de acción del grupo que este desarrollando el Sistema de Información y más abierta la herramienta CASE. Además de generar todo el código requerid o, optimisa e integra la herramienta con el Servidor de bases de datos Oracle7. Manejo del repositorio Dado que Oracle Designer 2000 es un repositorio de información, sobre el cual puede coexistir más de un proyecto, más de un grupo de trabajo y más de una aplicación, este cuenta con herramientas tanto de administracion como de trabajo que facilitan la labor de administración y definición de la información allí almacenada. Repository Object Navigator(RON) El Repository Object navigator me muestra en forma Jerárquica cada uno de los elementos de cualquier etapa de la creación del sistema de información que conforman mi o mis aplicaciones dentro del repositorio. Desde este puedo crear nuevos objetos, así como puedo hacerlo desde los Diagramadores, puede llamar todas las otras herramientas, puedo copiar propiedades de un elemento a otro, tengo la posibilidad por medio de 'Drag and Drop' cambiar de lugar o copiar elementos entre aplicaciones, etc. Además desde esta herramienta realizo todas las tareas de administración de aplicaciones tales como los procesos de: Creación, Borrado, Creación de nuevas versiones, generación de Backups, Cambio de Dueño, etc. Matrix Diagrammer Es una herramienta que me da la posibilidad de cruzar información de los diferentes elementos de las aplicaciones que estoy construyendo. Por ejemplo me permite cruzar información de QUE ENTIDADES están siendo utilizadas por CUALES FU NCIONES, o QUE PRIVILEGIOS tiene un MODULO sobre CUALES TABLAS de mi módelo de datos. Con la ventaja que cualquier cambio que se realice sobre la matriz quedara automáticamente reflejado en los datos del repositorio de Designer 2000. Repository Reports Esta utilidad genera reportes en 'Oracle Reports 2.5' sobre cualquier información que se requiera de las aplicaciones que existan el repositorio. Lo cual es muy útil para afinar y tener por escrito detalles sobre cada una de las etapas del d esarrollo del proyecto y cada elemento de mis aplicaciones. Repository Administration Utility Dado que Designer 2000 es una herramienta CASE que permite el acceso de múltiples usuarios simultáneamente y la creación de más de una aplicación a la vez, esta cuenta con una herramienta de administración del rep ositorio la cual tiene las siguientes ventajas: • • Interfase gráfica Fácil de utilizar Permite la creación de usuarios para trabajo dentro del repositorio • • Define los esquemas de seguridad para cada uno de los usuario que van a trabajar en este Maneja la definición de objetos internos repositorio dentro de la base de datos tales como: Vistas, Índices, Procedimientos, etc. CONCLUSION Involucrar herramientas CASE en el desarrollo de los sistemas de información que requieren las empresas de hoy, ya sea partiendo de la definición del problema o de aplicaciones existentes, le dan la oportunidad a los equipos de desarrollo de dedicar mayor tiempo a una detallada y bien estructurada definición y modelamiento de los sistemas de información, lo cual se refleja en puntos críticos dentro del desarrollo de software tales como: Reducción de costos, productividad y lo que es más importante calidad del software. Pero para conseguirlo requerimos también de productos que cumplan con todo el ciclo de vida de los proyectos y que no permitan definir y modelar el sistema de una manera fácil, amigable y confiable. Esto y muchos más le permite Oracle Designer 2000. SYBASE POWERDESIGNER 7.0 Es una gran solución empresarial para análisis y diseño objeto/relacional. Esta herramienta de modelamiento de siguiente generación combina la funcionalidad del producto líder de diseño de base de datos con un potente modelamiento de objetos basado en UML, brindando el primer entorno integrado de análisis y diseño objeto/relacional. PowerDesigner 7 soluciona la falta de correspondencia existente en aplicaciones persistentes orientadas a objetos en una base de datos relacional. PowerDesigner 7 también ayuda a tomar los primeros pasos en el desarrollo de aplicaciones distribuidas usando diagramas basados en UML para modelar los objetos de la aplicación y luego generar objetos no visuales PowerBuilder y Java. INTERFAZ DE USUARIO Características Arquitectura basada en objetos Descripción / Beneficios • • Interfaz común • • Personalización del entorno • Cada pieza de información se manipulada como un "objeto" identificado y visualizado en el navegador de objetos de PowerDesiger. Fácil reutilización de objetos a través de aplicaciones. Toda la funcionalidad de PowerDesigner es accequible desde una interfaz común, alojada en un ventana MDI primaria. Información fácilmente compartida y sincronizada entre los distintos tipos de modelos de PowerDesigner. Las barras de herramientas pueden ser • • Navegador de objetos • • Ventanas personalizables • • • • Modos Estándar / AutoGuardado • • individualmente ubicadas. Preferencias de visualización de objetos. Opciones de modelamiento (convención de nombres para cada objeto, usando plantillas). Estructura de árbol que incluye todos los objetos que son parte de su área de trabajo. Es posible "tomar y arrastrar" documentos externos a PowerDesginer, como hojas de cálculo y documentos de texto, desde el Explorador de Windows hacia el Navegador de Objetos. Es posible abrir varias ventanas para un mismo objeto, simultaneamente. Es posible cortar y pegar información entre ventanas. Es posible filtrar la información que se desea visualizar en una ventana. Es posible guardar las opciones de personalización para cada ventana. El modo de validación Estándar permite crear y modificar objetos y validar la información al cerrar la hoja de propiedades. El modo de validación Auto-Guardado permite guardar cualquier modificación hecha a una hoja de propiedades, tan pronto como se entra. CARACTERÍSTICAS DE MODELAMIENTO Características Descripción / Beneficios Paquetes UML (Unified Modeling Languaje) En adición a los modelos de objetos, el concepto de paquete UML es aplicado a los modelos de datos físicos y conceptuales para ayudar a manejar la complejidad más fácilmente a través de niveles más altos de abstracción. Reglas de negocio Es posible definir reglas de negocio y asociarlas a cualquier objeto definido en PowerDesigner. Reutilización de objetos Es posible reutilizar objetos a través de aplicaciones construyendo librerías de objetos reutilizables, usando la tecnología nativa de Windows y la herencia UML. Formatos de archivo XML y Los modelos de PowerDesigner pueden binario opcionalmente ser guardados en formato XML (para mayor facilidad en el intercambio de datos) o formato binario (para mejor rendimiento y uso de memoria). Funcionalidad de edición • • • • • • • • Opciones de símbolos Múltiple diagramación que permite representar gráficamente la información de un modelo en cualquier número de diagramas para crear diferentes vistas de un mismo objeto. El soporte de Grid permite asociar elementos de diseño a un grillado de diagramación predefinido. El soporte de curvas Bézier permite dibujar vínculos entre objetos. Operaciones Deshacer / Rehacer ilimitadas. Move - cualquier texto asociado a un vínculo, tal como una relación, referencia o asociación puede ser movido a cualquier lugar del diagrama, independientemente del vínculo. Select -- algunos o todos los objetos de un modelo. Image Import / Export Insert Object -- sonido, vínculos HTML, etc. PowerDesigner permite llevar a cabo las siguientes operaciones sobre objetos y símbolos de diseño. • • • • • • • Format -- permite modificar las características de formateo del objeto seleccionado. Shadow -- dibuja una sombra al rededor de un objeto bidimensional, tal como una clase. Adjust-To-Text -- ajusta el tamaño de un objeto bidimensional a la longitud de su texto. Autolayout -- reorganiza los objetos de un modelo grande. Organización espacial de los objetos. Símbolos de mostrar / esconder. Símbolos de proteger / desproteger. Herramientas de manejo de modelos • • • • • Check Model -- permite verificar le sintaxis de objetos seleccionados o de todo un diagrama. Compare Model -- permite comparar modelos fuente y destino del mismo tipo. Merge Models -- permite mezclar dos modelos o sincronizar objetos individuales manualmente. Resources -- permite personalizar el idioma final (Java y PowerBuilder), UML y archivos de definición de base de datos. Generation -- pemite generar un tipo de modelo en un tipo distinto. MODELAMIENTO DE OBJETOS Características Descripción / Beneficios Diagramas de clase UML Se acogen en su totalidad al estándar Unified Modeling Language (UML), tal como se define por el Object Management Group (OMG). Identificadores de clase Es posible definir un atributo de una clase como identificador persistente de un objeto. Vista previa de código Es posible realizar una vista previa de códiog Java o PowerBuilder directamente desde un diagrama de una clase, sin generar un archivo. Implementación de métodos Es posible codificar la lógica de sus métodos directamente en el editor de métodos de PowerDesigner. Generación de Java Es posible generar código fuente Java (clases estándar o "Java beans") a partir de un diagrama de clase. Recuperación de Java Es posible realizar ingeniería reversa de código fuente Java (archivos ".java"), código binario Java (archivos ".class"), archivos ".jar" y archivos ".zip", en un diagrama de clase de PowerDesigner. Java Development Kit (JDK) PowerDesigner proporciona código fuente JDK 1.0.2, 1.1 y 1.2 en diagramas de clase, permitiendo seguir la herencia entre sus clases y el API de Java. Entorno de lenguaje personalizable Es posible personalizar el entorno de generación Java y PowerBuilder usando el Editor de Recursos de PowerDesigner. Generación de PowerBuilder Es posible generar código no visual PowerBuilder (PowerScript) que automáticamente se integra con una librería PowerBuilder a través del API de PowerBuilder. Recuperación de PowerBuilder Es posible realizar ingeniería reversa de código PowerBuilder en un diagrama de clase PowerBuilder. Definición de lenguaje de salida Es posible cambiar el lenguaje final de un diagrama de clase, simplificando así la migración entre PowerBuilder y Java. Generación de modelo A partir de un diagrama de clase, es posible generar un modelo físico de datos (relación entre jerarquías y tablas relacionales), o un modelo conceptual de datos (asociación entre jerarquías y entidades y relaciones). Recuperación de modelos Es posible realizar ingeniería reversa de modelos físicos y conceptuales de datos en diagramas de clase. Sincronización de modelos Es posible mantener modelos orientados a objetos sincronizados con modelos físicos y conceptuales de datos en la misma aplicación, usando la funcionalidad de comparación / mezclado de modelos de PowerDesigner. Importación de Rational Rose Es posible importar transparentemente diagramas de clase de Rational Rose hacia PowerDesigner. MODELAMIENTO CONCEPTUAL DE DATOS Características Soporte a múltiples notaciones Descripción / Beneficios PowerDesigner soporta las notaciones James Martin y Merise, y mezclarlas si se desea. Por ejemplo, es posible usar asociaciones Merise en la notación de James Martin. Elementos conceptuales de PowerDesigner permite abstraer sus estructuras de diseño datos usando técnicas entidad-relación basadas en Chen. • • • • • • • • Generaión de modelos Herencia (entidades padre e hijo) Subtipos (items de datos) y supertipos (dominios) Atributos sobre relaciones (asociaciones) Identificadores Llaves candidatas Nombres de roles Dependencia etc. PowerDesigner permite generar un modelo conceptual a manera de: • • Un modelo física de tercera forma normal, específico para un RDBMS. Un modelo orientado a objetos (diagrama de clase UML). Recuperacion de modelos Es posible realizar ingeniería reversa de modelos físicos y conceptuales de datos en modelos conceptuales. Sincronización de modelos Es posible mantener modelos orientados a objetos sincronizados con modelos físicos y conceptuales de datos en la misma aplicación, usando la funcionalidad de comparación / mezclado de modelos de PowerDesigner. Es posible tener varias versiones de un modelo físico de datos para el mismo modelos conceptual de datos (por ejemplo, si se quiere correr la misma aplicación sobre distintos RDBMS). Soporte a PowerDesigner 6 Se pueden abrir modelos conceptuales de datos hechos con PowerDesigner 6 usando PowerDesigner 7. Importación de ERwin de CA Es posible importar un archivo ERX de ERwin hacia un modelo concpetual de PowerDesigner. MODELAMIENTO FISICO DE DATOS Características Notación de referencias Descripción / Beneficios Se pueden visualizar referencias entre tablas usando uno de los siguientes: • • • Notación relacional Representación de Crow Representación de CODASYL Personalización del RDBMS destino Es posible personalizar el entorno de generación de base de datos usando el Editor de Recursos de PowerDesigner para modificar los archivos de definición de base de datos (archivo .XDB). Es posible asociar un archivo XDB personalizado a un modelo particular. Optimización del diseño Es posible optimizar el modelo físico de datos para rendimiento de las consultas (índices) o acceso (desnormalización). Integridad referencial PowerDesigner permite definir políticas de integridad referencial de dos maneras: • • Procedimientos almacenados Implementación declarativa Implementación vía triggers Es posible crear, generar y realizar ingeniería reversa de procedimientos almacenados basados en SQL. Soporte para tipos de datos Es posible definir tipos de datos complejos de definidos por usuario en usuario basados en Java en un diagrama de clase y Java asociarlos a columnas de tablas. Vistas Es posible crear vistas a partir de tablas de un modelo físico de datos. Diseño multi-dimensional Es posible diseñar esquemas estrella, o reconstruir un modelo transaccional en un esquema estrella que se puede desnormalizar y optimizar para acceso a datos. Vista previa de código SQL Es posible visualizar el código SQL de cada objeto de su modelo físico de datos. Generación de base de datos PowerDesigner permite generar la base de datos de dos maneras: • • Basado en archivos: es posible generar código SQL para su modelo físico de datos en un script que se puede ejecutar en el RDBMS. ODBC: es posible crear la base de datos directamente a partir de un modelo físico de datos a través de una conexión. Recuperación de base de datos Es posible realizar ingeniería reversa de una base de datos (incluyendo triggers, procedimientos almacenados, etc.) hacia un modelo físico de datos y regenerar ese modelo en una base de datos distinta. Recuperación de modelos Es posible realizar ingeniería reversa de modelos físicos de datos hacia modelos conceptuales de datos y/o modelos de objetos (diagramas de clase). Sincronización de múltiples modelos Es posible mantener modelos orientados a objetos sincronizados con modelos físicos y conceptuales de datos en la misma aplicación, usando la funcionalidad de comparación / mezclado de modelos de PowerDesigner. Sincronización bidireccional PowerDesigner permite sincronizar el modelo física de bases de datos de datos y la base de datos en ambos sentidos. Soporte a PowerDesigner 6 Se pueden abrir modelos conceptuales de datos hechos con PowerDesigner 6 usando PowerDesigner 7. Importación de ERwin de CA Es posible importar un archivo ERX de ERwin hacia un modelo concpetual de PowerDesigner. GENERADOR / EDITOR DE REPORTES Características Descripción / Beneficios Editor de plantillas Módulo independiente que permite crear y almacenar plantillas usadas para generar reportes de modelos (PowerDesigner incluye plantillas predefinidas). Editor de reportes multimodelo Permite crear, dar formato y generar estructuras de reporte incluyendo múltiples tipos de modelos. Inserción de objetos Es posible insertar cualquier tipo de objeto en un reporte. Vista previa de reportes Es posible realizar una vista previa del reporte antes de imprimirlo. Generación de reportes Es posible generar los reportes en formatos RTF o HTML (incluyendo texto, diagramas, íconos, imágenes, etc.)