GENERACIÓN DE SOLUCIONES MULTICAPA - Gerra, Francisco (2011)
La meta principal que tienen los desarrolladores de sistemas es: “Elaborar software de calidad; a precios cómodos y en tiempos mínimos” siempre enfocándose a que sus aplicaciones sean adaptables en la mayoría de: arquitecturas, bases de datos y frontales existentes en el mercado; para de esta manera poder cubrir gran parte de las necesidades de los clientes. Para alcanzar este objetivo el desarrollador debe contar con herramientas que le ayuden a automatizar las parte automatizables de los procesos de desarrollo como:  Generación y normalización de las bases de datos.  Generación de código.  Generación de diagramas.  Generación de documentación.  Corrección automática de errores.  Migración hacia otras arquitecturas.  Generación automática de paneles de trabajo.  Control de integridad referencial, entre otras. De esta forma se deja al desarrollador que se ocupe netamente de las etapas que no puede hacer la computadora, como son: el análisis y el diseño. Ahora el desarrollador ya no tiene que sentarse a probar y estudiar diferentes maneras de estructuración para dar como resultado de las primeras etapas de desarrollo un modelo de datos; específicamente un modelo entidad – relación. El desarrollador actual se sienta conjuntamente con el usuario de la aplicación, para: discutir, probar, analizar, cambiar y ejecutar todas los requerimientos que tiene. Haciéndole ver cómo se plasmarán sus inquietudes en la vida real, por medio de programas prototipos; estos procesos se los ha dejado al hombre, ya que solo él puede entender y comprender las necesidades del usuario. Las herramientas a las cuales se hace referencia son conocidas como: ”Herramientas CASE”. Que son el objeto de investigación de esta tesis. Herramientas CASE: “Son un conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información, completamente o en alguna de sus fases.” (Calderi Irivict) Son una combinación de aplicaciones y de metodologías de desarrollo, Las aplicaciones permiten automatizar el proceso de desarrollo del software y las metodologías definen los procesos a automatizar. La razón de estudio de esta tesis no está enfocada a la forma cómo utilizar una Herramienta CASE determinada; sino a la utilización de Herramientas CASE como una mejor metodología de desarrollo de aplicaciones. En esta tesis se demuestra, mediante ejemplos reales las facilidades de desarrollo como: las interfases netamente a nivel gráfico, la simplicidad con que se define el comportamiento de datos y objetos, la facilidad y la calidad en procesos de mantenimiento y reingeniería, la reducción de tiempos y costos, la utilización de una nueva cultura sistemática y ordenada de programación, etc. Para que el analista pueda establecer una comparación entre la programación convencional y la metodología CASE; con estas demostraciones seguro que usted se inclinaría por la utilización de Herramientas CASE. CAPÍTULO I INTRODUCCIÓN A LAS HERRAMIENTAS CASE En el Capítulo I se estudian todos los conceptos básicos que se manejan en las Herramientas CASE. Está direccionado a la investigación de sus: conceptos, clasificación, estructura, ventajas, desventajas, características, modos de integración, condiciones, estrategias de implantación, etc. Este capítulo es básico y ayuda a tener una concepción adecuada y global de todos los aspectos que se puede tomar en cuenta para la utilización de Herramientas CASE. Esta realizado para que lo puedan leer y comprender diferentes tipos de lectores: Los técnicos o expertos en sistemas y los directivos de las organizaciones; ya que el enfoque que se les da a las Herramientas CASE como mejor metodología de desarrollo crea una alternativa de solución a los problemas de software en los ambientes corporativos y en las empresas desarrolladoras de aplicaciones. Los temas principales de este capítulo son:  Generalidades  Definiciones de Herramientas CASE  Clasificación de las Herramientas CASE  Objetivos de las Herramientas CASE  Estructura de las Herramientas CASE  Proceso de Desarrollo de Software con Herramientas CASE  Ponderaciones para la Utilización de Herramientas CASE  Requerimientos para Adquirir Herramientas CASE  Estrategias para la Correcta Implantación de Herramientas CASE  Recuperación de Costos de las Herramientas CASE CAPÍTULO II SOLUCIONES CLIENTE / SERVIDOR GENERADAS POR HERRAMIENTAS CASE Para poder realizar aplicaciones de software de buena calidad con Herramientas CASE; es necesario investigar las mejores formas de distribuir las partes principales que tiene una solución informática; es por eso que se estudiará al modelo cliente servidor orientándolo hacia las aplicaciones generadas con Herramientas CASE. Las primeras partes de este capítulo se centran al estudio conceptual de lo que es cliente servidor; partiendo desde una arquitectura centralizada hasta llegar a aplicaciones cliente servidor multicapa. Un sistema Cliente / Servidor es aquel que coloca la maquinaria de acceso a la base de datos a través de la red en un equipo poderoso central o servidor, y la presentación en un equipo menos poderoso (PC ) denominado cliente. La tecnología Cliente / Servidor. Es el procesamiento cooperativo de la información por medio de un conjunto de procesadores, en el cual múltiples clientes distribuidos geográficamente, solicitan requerimientos a uno o más servidores centrales. Desde el punto de vista funcional, se puede definir el modelo cliente servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la información en forma transparente aún en entornos multiplataforma Una vez estudiada la parte medular de cliente servidor; se introduce a la tecnología CASE y a su comportamiento con relación a esta arquitectura. En esta parte se investigó aspectos como: Herramientas Case en cliente servidor, estructura de un CASE en cliente servidor, formas de enlace de las Herramientas CASE, reingeniería con CASE en cliente servidor, características de un CASE cliente servidor, términos técnicos más utilizados por las Herramientas CASE en cliente servidor, etc. El Capítulo II contiene los siguientes temas principales.  Generalidades de Cliente / Servidor  Arquitectura Centralizada  Definición de Cliente / Servidor  Estructura de Cliente / Servidor  Clasificación de Cliente / Servidor  Herramientas CASE en Cliente / Servidor  Formas de Enlace con Herramientas CASE en C/S  Reingeniería con Herramientas CASE en C/S  Tácticas para Soluciones C/S Generadas por Herramientas CASE  Características de una Herramienta CASE C/S  Ventajas y Desventajas de Herramientas CASE C/S CAPÍTULO III SOLUCIONES INTERNET GENERADAS POR HERRAMIENTAS CASE En las primeras partes de este capítulo se hace una introducción a Internet y los componentes básicos que maneja; como por ejemplo sus arquitecturas, sus estructuras, se presenta también estadísticas sobre los usuarios conectados desde los inicios de Internet hasta la fecha. Una vez estudiados estos conceptos, nos introducimos a investigar la forma cómo generar aplicaciones Internet por medio de Herramientas CASE, en esta parte de la investigación se encontrará temas como: CASE en soluciones web, programación de soluciones web con Herramientas CASE, estructura de los CASE para el web; objetos web generados con Herramientas CASE, Utilización de componentes en aplicaciones web, etc. Se incorporó a este tema como uno de los grandes grupos de estudio de esta tesis ya que la mayoría de aplicaciones de software de hoy en día, generadas para organizaciones exitosas por lo menos tienen un módulo para Internet; en algunas empresas todo el software esta programado para el web, de tal forma que todas sus transacciones se las realiza en línea; con esto se concluye que la tecnología de hoy, es la tecnología para Internet. El aporte que brindan las Herramientas CASE generadoras de aplicaciones web es abismal ya que con estas el programador no tiene que programar el tedioso código html; sino que se centra netamente al diseño de las transacciones web; y la herramienta se encarga de generar todos los componentes de la aplicación, incluido el modelo de datos. Los temas de este capítulo son:  Generalidades de Internet.  Tres Capas y Aplicaciones Web.  Programación de Aplicaciones Web con Herramientas CASE.  Herramientas CASE en Soluciones Web.  Estructura de las Herramientas CASE para el Web.  Utilización de Componentes con Herramientas CASE.  Objetos Web generados con Herramientas CASE. CAPÍTULO IV GENEXUS DESARROLLO DE APLICACIONES Genexus es una Herramienta CASE tipo Worbench o sea que automatiza todo el ciclo de desarrollo de una aplicación. En este capítulo se estudiarán y se representarán por medio de una mini aplicación real todas las facilidades que brinda esta herramienta para desarrollar aplicaciones. La mini aplicación (Pedidos) de carácter demostrativo se la puede obtener del CD de la tesis; está realizada por partes, cada parte está almacenada en una carpeta diferente desde Pedidos 01 hasta Pedidos 05, el objetivo de grabar cada parte de la aplicación en una carpeta diferente es para que el lector de la tesis pueda ver todos los cambios realizados en el aplicativo realizados paso a paso; hasta llegar al producto final que se lo encuentra en el directorio Pedidos 05. La herramienta también la puede adquirir de este CD o caso contrario la puede bajar de Internet, ya que es un demo de la versión comercial de Genexus y se denomina: Genexus 7.5 Trial Versión. Los temas de este capítulo son:  Introducción a Genexus.  Definición de Requerimientos para Soluciones Genexus.  Diseño de Transacciones.  Diseño de Reportes.  Diseño de Procedimientos.  Diseño de Paneles de Trabajo.  Graficación de Datos.  Diseño de Menús.  Diseño y Publicación de Objetos Web. CAPITULO V APLICATIVO El aplicativo es el siguiente: “Desarrollo de un Sistema de Control de Inventarios y Bodegas para la Empresa Petrolera Dygoil. Cia. Ltda. Utilizando el CASE Genexus7.0” Para comprobar todo los estudiado en los capítulos anteriores, el aplicativo se lo desarrollo de la siguiente manera: Se elaboró una solo aplicación en una arquitectura determinada, la cual se la generó en tres arquitecturas distintas. Al migrar la aplicación a las tres arquitecturas distintas, esta no sufrió ninguna alteración o daño en su programación. También se comprobó el tiempo y los costos de generación en diferentes arquitecturas a la aplicación realizada previamente; dando como resultado una diferencia de tiempos y costos desorbitante entre la generación de aplicaciones utilizando programación común y herramientas CASE. El cuadro (Soluciones a Generarse en el Aplicativo) muestra las diferentes arquitecturas en que se generó este sistema. Se hace una diferencia entre las herramientas; ya que Genexus 7.0 es una versión comercial y Genexus 7.5 TV es una versión trial o de libre acceso; como tal esta tiene sus restricciones que impedían el óptimo desenvolvimiento de la aplicación. Es por eso que con la versión 7.5 se presento un demo de la aplicación generada completamente en el web; la versión 7.0 no genera aplicaciones web en su totalidad. Este capítulo se lo documento enfocado a cómo se realiza aplicaciones con Herramientas CASE, más no está diseñado como un manual técnico o de usuario ya que ese no fue el objetivo de estudio. CAPÍTULO VI EVALUACIÓN DE UNA HERRAMIENTA CASE En este capítulo se presenta una metodología de cómo evaluar Herramientas CASE. Para esto se buscó los criterios más importantes que debían tener los directivos, los técnicos y los usuarios que quieren implantar Herramientas CASE en sus organizaciones. Para la evaluación se tomo como referencia a Genexus. Los criterios son concebidos como métricas de evaluación, las cuales tienen su importancia y su peso respectivo, para luego ser evaluados y tabulados en alguna de las partes de esta evaluación. Para comprender mejor esta técnica se muestra una de las tablas de evaluación. HARDWARE DISPONIBLE Criterio Subcriterio Peso Selec Total Software adicional para el funcionamiento de la herramienta. Mucho 0 1 Poco 1 X Nada 2 Software disponible en la organización. No compatible 0 1 Intermedio 1 X Compatible 2 Factibilidades de adquisición Malas 0 2 Buenas 1 Excelentes 2 X Calificación Ideal 6 Total 4 Para la evaluación general se tomo tres grandes grupos que son:  Criterios Preliminares.  Criterios Internos.  Criterios Externos. En los criterios preliminares se evaluó todos aquellos que están relacionados con las partes directivas, enfocados a la predisposición o no de adquirir una Herramienta CASE. Los criterios internos son aspectos netamente técnicos de la herramienta. Y los criterios externos son aspectos que están fuera del alcance de la herramienta como: seriedad de proveedores, ayudas existentes, formas de contrato y licenciamiento, responsabilidad por incumplimiento de contrato, etc. CAPÍTULO VII CONCLUSIONES Y RECOMENDACIONES La primera parte de este capítulo está relacionada con la verificación de la hipótesis: “Las Herramientas CASE sí son Capaces de Generar Soluciones Multicapa y Multiplataforma de gran Complejidad en Tiempos Mínimos y a Costos Bajos ” hipótesis que ha sido comprobada positivamente. La parte de soluciones multicapa se la comprobó generando el aplicativo en arquitecturas: centralizada, cliente servidor e Internet. La parte de multiplataforma se comprobó generando el aplicativo en plataformas: Novell y Windows. Quedando netamente convencidos de la calidad del software obtenido en todas las permutaciones efectuadas. La parte de costos y tiempos se la demostró tomando en cuenta los requerimientos que se necesitaría si se quisiera hacer todo lo que se ha hecho con programación convencional y herramientas CASE. Las diferencias son inconcebibles tanto en tiempos como en costos. Esto se lo demuestra en la tabla tiempos y costos. Tiempos y costos de generación de una aplicación ya diseñada, en diferentes arquitecturas. Metodología Utilizada Arquitecturas a Generarse Tiempo de Generación Recursos Humanos Costos de Generación Programación Común Novell – Oracle Windos 98 Visual Foxpro 8 Meses 2 Meces por cada arquitectura generada 4 Expertos Un experto para cada arquitectura 8000 USD Mil dólares mensuales por cada experto. Windos 2000 Serv SQL Server Windows 98 Visual Foxpro Windows Acces Visual Basic Windows Visual Foxpro HERRAMIENTAS CASE (GENEXUS) Novell – Oracle Windos 98 Visual Foxpro 80 Segundos 20 Segundos por cada arquitectura generada. 1 Experto 1 Experto en la herramienta 15 USD Un minuto veinte segundos. Windos 2000 Serv SQL Server Windows 98 Visual Foxpro Windows Acces Visual Basic Windows Visual Foxpro Las conclusiones y recomendaciones están enfocadas tanto a las Herramientas CASE en general y a Genexus en particular. “Con toda la investigación realizada, con los ejemplos y aplicaciones reales presentados y con la verificación positiva de la hipótesis; creo que la utilización de la metodología CASE es una de las mejores alternativas para el desarrollo de aplicaciones”. El Autor.