CASE

CASE
CASE
Nombre:
Ingeniería de Software Asistida por Computadora.
Descripción:
diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo los costes de las misma



CASE(Cumputer Aided Software Engineering).Conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de Software y desarrolladores, durante todos los pasos del ciclo de vida de desarrollo de un software. Este puede ser generalmente aplicado a cualquier sistema o colección de herramientas que ayudan a automatizar el proceso de diseño y desarrollo de software.

Historia

En la década del 70 un proyecto nombrado ISDOS diseñó un lenguaje denominado PSL que analizaba la relación existente entre los requisitos de un problema y las necesidades que éstos generaban. La aplicación que ayudaba a buscar las necesidades de los diseñadores se denominaba PSA. Este lenguaje y esta herramienta son consideradas como los inicios de las herramientas informáticas que ayudan a crear nuevos proyectos informáticos.

La primera herramienta CASE sale oficialmente a en el año 1984 nombrada Excelerator y trabajaba bajo una plataforma PC.

El máximo desarrollo de las herramientas CASE se alcanza a principios de los años 90. La IBM y la empresa de software AD/Cycle habían conseguido una alianza para trabajabar con herramientas CASE que abarcaban todo el ciclo de vida del software utilizando mainframes.

Los mainframes han ido siendo menos utilizados y 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.

Objetivos

  • Mejorar la productividad en el desarrollo y mantenimiento del software.
  • Aumentar la calidad del software.
  • Reducir el tiempo y coste 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.
  • 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.

Clasificación

Las herramientas CASE se pueden clasificar teniendo en cuenta los siguientes parámetros:

  • 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.

También se pueden clasificar basándose en las fases del ciclo de desarrollo que cubren:

  • Upper CASE (U-CASE), herramientas que ayudan en las fases de planificación, análisis de requisitos y estrategia del desarrollo..
  • Middle CASE (M-CASE), herramientas para automatizar tareas en el análisis y diseño de la aplicación.
  • Lower CASE (L-CASE), herramientas que semi-automatizan la generación de código, crean programas de detección de errores, soportan la depuración de programas y pruebas, además de automatizar la documentación completa de la aplicación.

Tomando en consideración su funcionalidad se podrían identificar como:

  • Herramientas de generación semiautomática de código.
  • Editores UML.
  • Herramientas de Refactorización de código.
  • Herramientas de mantenimiento como los sistemas de control de versiones.

Algunas herramientas

Visual Paradigm

Visual Paradigmas una de las herramientas UML CASE del mercado, considerada como muy completa y fácil de usar, con soporte multiplataforma y que proporciona excelente facilidades de interoperabilidad con otras aplicaciones.

Fue creada para el ciclo vital completo del desarrollo de software que lo automatiza y acelera, permitiendo la captura de requisitos, análisis, diseño e implementación. Tiene la capacidad de crear el esquema de clases a partir de una base de datos y crear la definición de base de datos a partir del esquema de las clases.

Permite invertir código fuente de programas, archivos ejecutables y binarios en modelos UML al instante, creando de manera simple toda la documentación. Está diseñada para usuarios interesados en sistemas de software de gran escala con el uso del acercamiento orientado a objeto, además apoya los estándares más recientes de las notaciones de Java y de UML. Incorpora el soporte para trabajo en equipo, que permite que varios desarrolladores trabajen a la vez en el mismo diagrama y vean en tiempo real los cambios hechos por sus compañeros.

Características

  • Producto de calidad
  • Soporta aplicaciones Web.
  • Varios idiomas.
  • Generación de código para Java y exportación como HTML.
  • Fácil de instalar y actualizar.
  • Compatibilidad entre ediciones.
  • Se integra con las siguientes herramientas Java:
    • Eclipse/IBM WebSphere.
    • Jbuilder.
    • NetBeans IDE.
    • Oracle Jdeveloper.
    • BEA Weblogic.

Ventajas

  • Apoya todo lo básico en cuanto a artefactos generados en las etapas de definición de requerimientos y de especificación de componentes.
  • Tiene apoyo adicional en cuanto a generación de artefactos automáticamente.
  • Genera modelos VP-UML instantáneamente a partir de código binario .Net.
  • Generación de documentación en formatos HTML y PDF.
  • Disponibilidad en múltiples plataformas: Microsoft Windows (98, 2000, XP, o Vista), Linux, Mac OS X, Solaris o Java.
  • Brinda la posibilidad de intercambiar información mediante la importación y exportación de ficheros con aplicaciones como por ejemplo Visio y Rational Rose.
  • Generación de código e ingeniería inversa: brinda la posibilidad de generar código a partir de los diagramas, para las plataformas como .Net, Java y PHP, así como obtener los diagramas a partir del código.
  • Generación de documentación: brinda la posibilidad de documentar todo el trabajo sin necesidad de utilizar herramientas externas.

Desventajas

  • Las imágenes y reportes generados, no son de muy buena calidad.

POSEIDON para UML

Es una herramienta para modelar cualquier clase de sistema que esté o no relacionada con programación. Poseidon para UML puede simplificar la compleja tarea de desarrollo de software ayudando a estructurar pensamientos, a clarificar la comunicación, y a encontrar la correcta abstracción. La incorrecta implantación de la herramienta UML, le sumergirá en detalles llenos de funciones extrañas y excesivamente complicadas, lo que le evitará el ahorro de tiempo y esfuerzo.

La intuitiva interfaz hace de Poseidon una de las herramientas más rápidas de UML para dominar el análisis orientado a objetos, liberando al diseñador para centrase solamente en su modelo.

Características

  • Soporta diagramas UML.
  • Opciones avanzadas de impresión.
  • Soporta gráficos en la mayoría de los formatos.
  • Varios idiomas.
  • Generación de código para Java y exportación como HTML.
  • Fácil de instalar y actualizar.
  • Compatibilidad entre ediciones.
  • Capacidades ampliables a través de plug-ins, es posible cargarlos en tiempo de ejecución
  • Generación de documentación en HTML y formato Word 2003.
  • Soporta los formatos gráficos gif, ps, eps, wmf, jpg y png.

Ventajas

  • Herramienta hecha completamente en Java, por lo que es independiente de la plataforma.
  • Interfaz de usuario muy bien diseñada, fácil de aprender a usar e intuitiva.

Desventajas

  • En la versión Trial la grabación de proyectos está limitada a ocho diagramas.

ArgoUML

Es una aplicación de diagramado de UML escrita en Java y publicada bajo la Licencia BSD ( Bekerley Software Distribution) open source. Dado que es una aplicación Java, está disponible en cualquier plataforma soportada por Java.

Sin embargo, desde la versión 0.20, ArgoUML está incompleto. No es conforme completamente a los estándares UML y carece de soporte completo para algunos tipos de diagramas de secuencia y los de colaboración.

Características

Nuevas características en V0.20:

  • Características de extensibilidad mejoradas de UML 1.4.
  • Diagramas de secuencia.
  • Compatibilidad AndroMDA.
  • Cientos de bugs han sido arreglados.
  • La mayoría de las funciones ahora soportan la selección múltiple de los elementos del modelo.
  • Se puede arrastrar y soltar desde el árbol de exploración al diagrama y dentro del árbol de exploración.
  • Construido en diseños críticos, suministra una revisión no obstructiva del diseño y sugerencias para mejoras.
  • Interfaz de módulos extensible.
  • Soporte de internacionalización para inglés, alemán, francés, español y ruso.
  • Restricciones OCL para clases.
  • Soporte para el lenguaje de generación de código: Java, PHP, Python, C++ y C Sharp.
  • Ingeniería inversa.
  • Disposición (layout) automática del diagrama de clases.
  • Generación de ficheros png, gif, jpg, svg, eps desde diagramas.
  • Soporte para comentarios para múltiples elementos.
  • Todos los diagramas 1.4 están soportados.

Ventajas

  • Genera código automáticamente.
  • Propone soluciones a algunos errores.
  • Panel de propiedades y de tareas pendientes bastante útil.

Desventajas

  • Instalación costosa.
  • Poco amigable.
  • Difícil de empezar.
  • No tiene botón ¨deshacer¨.
  • Los modelos a veces no pueden ser re-abiertos.
  • No hay llamadas reflexivas en los diagramas de secuencia.
  • Se debe seleccionar una clase para crear un diagrama de secuencia.

Fuentes