Herramientas CASE: Principales usos
Las herramientas CASE son aplicadas en las diferentes etapas del desarrollo de software para mejorar la calidad del software producido, reducir su costo, aumentar en su eficiencia y la efectividad, entre otros beneficios, según afirma María Mercedes Marqués Andrés“El uso de las herramientas CASE puede mejorar la productividad en el desarrollo de una aplicación de bases de datos. Y por productividad se entiende tanto la eficiencia en el desarrollo, como la efectividad del sistema desarrollado. La eficiencia se refiere al coste, tanto en tiempo como en dinero, de desarrollar la aplicación. La efectividad se refiere al grado en que el sistema satisface las necesidades de los usuarios. Para obtener una buena productividad, subir el nivel de efectividad puede ser más importante que aumentar la eficiencia.” (Marqués Andrés, 2001)
Las herramientas CASE se pueden clasificar según el uso que tengan, existe gran variedad de ellas, a continuación algunas de ellas:
HERRAMIENTAS DE LA INGENIERÍA DE LA INFORMACIÓN.
Su objetivo es representar los objetos de datos de negocios, sus relaciones, y ayuda a comprender mejor la forma en que fluyen estos objetos de datos entre distintas zonas de negocio en el seno de la compañía. (Menéndez, R. & Barzanallana, A., 2016)
MODELADO DE PROCESOS Y HERRAMIENTAS DE ADMINISTRACIÓN.
Son usadas para representar los elementos clave del proceso. También pueden proporcionar vínculos con descripciones de procesos que ayuden a quienes estén implicados en el proceso de comprender las tareas que se requieren para llevar a cabo ese proceso. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE PLANIFICACIÓN DE PROYECTOS.
Estimación de esfuerzos de proyecto y de costes de software. Calculan el esfuerzo estimado, la duración del proyecto y el número recomendado de personas. Planificación de proyectos. Capacitan al administrador para definir todas las áreas del proyecto (la estructura de desglose de tareas), para crear una red de tareas (normalmente empleando una entrada gráfica), para representar las interdependencias entre tareas y para modelar la cantidad de paralelismo que sea posible para ese proyecto. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE ANÁLISIS DE RIESGOS
Buscan capacitar al administrador el proyecto para construir una tabla de riesgos proporcionando una guía detallada en la identificación y análisis de riesgos. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE ADMINISTRACIÓN DE PROYECTOS.
La planificación del proyecto y el plan del proyecto deben seguirse y de monitorizarse de forma continúa. El gerente debe utilizar las herramientas que recojan métricas que en la última instancia proporcionen una indicación de la calidad el producto del software. Estas herramientas suelen ser extensiones de herramientas de planificación de proyectos. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE SEGUIMIENTO DE REQUISISTOS
Su objetivo es proporcionar un enfoque sistemático para el aislamiento de requisitos, comenzando por las especificaciones del cliente. Las herramientas de trazado de requisitos típicos combinan una evaluación de textos por interacción humana, con un sistema de gestión de bases de datos que almacena y categoría todos y cada uno de los requisitos del sistema que se "analizan" a partir de las especificaciones originales. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE MÉTRICAS Y GESTIÓN.
Las métricas del software mejoran la capacidad del administrador para controlar y coordinar el proceso del software y la capacidad del ingeniero para mejorar la calidad del software que se produce. Estas herramientas utilizan un sistema experto para sugerir el orden en el que se debe llevar a cabo un proyecto. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE DOCUMENTACIÓN
Las herramientas de producción de documentos y autoedición prestan su apoyo a casi todos los aspectos de la ingeniería del software, y representan una importante oportunidad de aprovechamiento para todos los desarrolladores del software, las herramientas de documentación suponen una oportunidad importante para mejorar la productividad. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE SOFTWARE DE SISTEMA.
CASE es una tecnología de estaciones de trabajo. Por tanto, el entorno CASE debe adaptase a un software de sistema en redes de alta calidad, al correo electrónico, a los boletines electrónicos y a otras capacidades de comunicaciones. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE CONTROL DE CALIDAD.
La mayor parte de las herramientas CASE que afirman que tiene como principal interés el control de calidad son en realidad herramientas métricas que hace una auditoria del código fuente para determinar si es justa o no a ciertos estándares del lenguaje. Otras herramientas extraen métricas técnicas como base para medir la calidad del software que se está construyendo. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE GESTIÓN COMO BASE DE DATOS.
El software de gestión de bases de datos sirve como fundamentos para establecer una base de datos CASE. Dado el énfasis acerca de los objetos de configuración, las herramientas de gestión de bases de datos para CASE pueden evolucionar a partir de los sistemas de gestión de bases de datos relacionales (SGBDR) para transformarse en sistemas de gestión de bases de datos orientadas a objetos (SGBDOO). (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE CODIFICACIÓN DE CUARTA GENERACIÓN.
Los sistemas de consulta de bases de datos, los generadores de código y los lenguajes de cuarta generación han cambiado la forma en que se desarrollan los sistemas. Idealmente, estas herramientas de generación de código no solo traducen la descripción de un sistema operativo, sino que también ayudan a verificar la corrección de la especificación del sistema de tal forma que la salida resultante satisfaga los requisitos del usuario. Los lenguajes de cuarta generación se usan ampliamente en aplicaciones de sistemas de información. Aunque los lenguajes de cuarta generación, los generadores de código y los generadores de aplicaciones, permiten que un ingeniero de software especifique un sistema a un nivel muy alto de abstracción; cada una de estas herramientas difiere en aspectos importantes. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE MANTENIMIENTO
Las herramientas CASE para el mantenimiento de software abarcan una actividad que actualmente ocupa, aproximadamente, el 70% del esfuerzo total dedicado al software. Las herramientas de mantenimiento puede subdividirse de la siguiente forma:
- Herramientas de ingeniería inversa a especificaciones.
- Herramientas de reestructuración y análisis de código.
- Herramientas interactivas de reingeniería de sistema.
Estas herramientas están limitadas a lenguajes de programación específicos y requieren cierto grado de interacción con el ingeniero de software. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE GESTIÓN DE CONFIGURACIÓN DE SOFTWARE.
Estas herramientas pueden ofrecer su asistencia en las cinco tareas principales de GCS: identificación, control de versiones control de cambios, auditorias y contabilidad de estados. La base de datos CASE proporciona un mecanismo para identificar todos los elementos de configuración y relacionarlo con otros elementos; un acceso sencillo a los elementos de configuración individuales facilita el proceso de auditoria; las herramientas de comunicación CASE pueden mejorar enormemente la contabilidad de estados (ofreciendo información acerca de los cambios a todos aquellos que necesiten conocerlos). (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE ANÁLISIS Y DISEÑO.
Capacitan al ingeniero del software para crear modelos del sistema que haya que construir. Los modelos contienen una representación de los datos, de la función y del comportamiento (en el nivel de análisis), así como caracterizaciones del diseño de datos, arquitectura, procedimientos e interfaz. Al efectuar una comprobación de la consistencia y validez del modelo, las herramientas de análisis y diseño proporcionan al ingeniero del software un cierto grado de visión en lo tocante a la representación del análisis, y le ayudan a eliminar errores antes de que se propaguen al diseño, o lo que es peor, a la propia implementación. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE DESARROLLO Y DISEÑO DE INTERFAZ.
Son un conjunto de primitivas de componente de programas tales como menús, botones, estructuras de ventanas, iconos, mecanismos de desplazamiento, controladores de dispositivos, etc… (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE GENERACIÓN DE PROTOTIPOS.
Se puede utilizar toda una gama de herramientas de generación de prototipos. Los generadores de pantallas permiten al ingeniero de software definir rápidamente la disposición de pantalla para aplicaciones interactivas. Otras herramientas de prototipos CASE más sofisticadas permiten la creación de un diseño de datos, acoplado con las disposiciones de la pantalla y de los informes simultáneamente. Muchas herramientas de análisis y diseño proporcionan extensiones que ofrecen alguna opción de generación de prototipos. Por último, una gama de herramientas de cuarta generación poseen también características de generación de prototipos. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE PROGRAMACIÓN.
Herramientas de programación que abarcan los compiladores, editores y depuradores que están disponibles para prestar su apoyo en la mayoría de los lenguajes de programación convencionales. Además, los entornos de programación orientados a objetos (OO), los lenguajes de cuarta generación, los entornos de programación gráfica, los generadores de aplicaciones y los lenguajes de consulta de bases de datos residen también en esta categoría.
HERRAMIENTAS DE INTEGRACIÓN Y COMPROBACIÓN.
En su directorio de herramientas de comprobación de software, software Quality Engineering define las siguientes categorías de herramientas de comprobación:
- Adquisición de datos
- Medida estática
- Medida dinámica
- Simulación
- Administración de comprobaciones
- Herramientas de funcionalidad cruzada
Debería tenerse en cuenta que muchas de las herramientas de comprobación poseen características que abarcan dos o más de las categorías anteriores. (Menéndez, R. & Barzanallana, A., 2016)
HERRAMIENTAS DE REINGENIERÍA.
La categoría de herramientas de reingeniería se pueden subdividir en las funciones siguientes:
- Herramientas de ingeniería inversa para producir especificaciones
- Herramientas de reestructuración y análisis de código
- Herramientas de reingeniería para sistemas en línea
Las herramientas de ingeniería inversa y progresiva de la próxima generación harán un uso mucho mayor de técnicas de inteligencia artificial, aplicando una base de conocimientos que se a especifica del dominio de la aplicación (esto es, un conjunto de reglas de descomposición que se aplicarían a todos los programas de una cierta zona de aplicación tal como el control de fabricación o la aviónica). El componente de inteligencia artificial asistirá en la descomposición y reconstrucción del sistema, pero seguirá requiriendo una interacción con un ingeniero de software a lo largo del ciclo de la reingeniería. (Menéndez, R. & Barzanallana, A., 2016) Todas estas herramientas facilitan la elaboración o desarrollo de software de mejor calidad, pues están diseñadas para que los diseñadores, desarrolladores, jefes de proyectos, etc… cuenten con una estructura ordenada para cada etapa del desarrollo.
EJEMPLOS DE HERRAMIENTAS CASE
ERwin:ERwin Es una herramienta de diseño de base de datos. Brinda productividad en diseño, generación, y mantenimiento de aplicaciones. Más que una herramienta de dibujo, ERwin automatiza el proceso de diseño de una manera inteligente. Por ejemplo, ERwin habilita la creación de un diccionario de atributos reusables, asegurando la consistencia de nombres y definiciones para su base de datos. Oracle SQL Sybase DB2 Informix
EasyCASE:EasyCASE El centro de productos para procesos, modelamiento de datos y eventos, e Ingeniería de Base de Datos. Permite capturar los detalles de diseño de un sistema y comunicar las ideas gráficamente. Oracle Paradox Progress SOLBase SQL server Sybase Watcom
Oracle Designer:Oracle Designer Es un juego de herramientas para guardar las definiciones que necesita el usuario y automatizar la construcción rápida de aplicaciones cliente/servidor flexibles y gráficas . En el lado del Servidor, Oracle Designer soporta la definición, generación y captura de diseño de los siguientes tipos de bases de datos, por conexión nativa de Oracle y por conectividad ODBC : Oracle7 y más, Personal Oracle Lite, Rdb , ANSI 92, DB and MVS, Microsoft SQL Server, Sybase . Oracle Designer soporta las siguientes metodologías: Desarrollo Rápido de Aplicaciones ( RAD) Ingeniería de la Información ( IE) Modelado Asistido de Procesos Captura de Diseño Asistido.
Power Designer:Power Designer es una suite de aplicaciones de Powersoft para la construcción, diseño y modelado de datos a través de diversas aplicaciones. Es la herramienta para el análisis, diseño inteligente y construcción sólida de una base de datos y un desarrollo orientado a modelos de datos a nivel físico y conceptual, que dan a los desarrolladores de aplicaciones Cliente/Servidor la más firme base para aplicaciones de alto rendimiento . Esta suite cuenta con los siguientes productos: PowerDesigner ProcessAnalyst PowerDesigner DataArchitect PowerDesigner AppModeler PowerDesigner WarehouseArchitect PowerDesigner MetaWorks PowerDesigner Viewer.
System Architect:System Architect Posee un repositorio único que integra todas las herramientas, y metodologías usadas. En la elaboración de los diagramas, el System Architect conecta directamente al diccionario de datos, los elementos asociados, comentarios, reglas de validaciones, normalización, etc . Posee control automático de diagramas y datos, normalizaciones y balanceo entre diagramas "Padre e Hijo“. Es una herramienta creada específicamente para la arquitectura "Cliente/Servidor", por eso posee control total de versiones, y de acceso, así como la administración completa de múltiples equipos de desarrollo.
Microsoft Project:Microsoft Project Es un software de administración de proyectos diseñado, desarrollado y comercializado por Microsoft para asistir a administradores de proyectos en el desarrollo de planes, asignación de recursos a tareas, dar seguimiento al progreso, administrar presupuesto y analizar cargas de trabajo . Permite el aprendizaje rápido con el planeamiento y la administración guiados.
JDeveloper:JDeveloper Entorno integrado desarrollado por Oracle trabaja con la ingeniería inversa, es decir primero se crea él código y después el diagrama . Es un software propietario pero gratuito desde 2005 . Sus características principales: Netamente desarrollado para Java., posee diagrama de clases (UML), funciona en los siguientes sistemas operativos: Windows, Linux, Mac OSX.
REFERENCIAS:
- Menéndez, R. & Barzanallana, A. (2016). Principales herramientas CASE del mercado y su uso. Universidad de Murcia - Departamento Informática y Sistemas. Recuperado 16 Octubre de 2016, a partir dehttp://www.um.es/docencia/barzana/IAGP/Enlaces/CASE_principales.html
- Menéndez, R. & Barzanallana, A. (2016). Principales herramientas CASE del mercado y su uso. Universidad de Murcia - Departamento Informática y Sistemas. Recuperado 16 Octubre de 2016, a partir dehttp://www.um.es/docencia/barzana/IAGP/Enlaces/CASE_principales.html
- Jinchuña, L, Herramientas CASE para el proceso de desarrollo de Software. Recuperado 16 Octubre de 2016, a partir dehttp://solucionextrema.info/attachments/article/18/herramientas-case-proceso-desarrollo-software.pdf
Comentarios
Publicar un comentario