Julio alonso may noh
Herramientas CASE CASE es un acrónimo para Computer-Aided Software Engineering, aunque existen Algunas variaciones para lo que actualmente se entiende por CASE, tal como se ilustra a continuación:
C A S E
Computer Aided Assisted Automated Software Systems Engineering
Variaciones del acrónimo CASE Esencialmente, un CASE es una herramienta que ayuda al ingeniero de software a desarrollar y mantener software.
Qué es una herramienta 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 coste de las mismas en términos de tiempo y de dinero. Estas herramientas nos 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 costes, implementación de parte del código automáticamente con el diseño d iseño dado, compilación automática, documentación o detección de errores entre otras. También se puede definir como: Conjunto de métodos, utilidades y técnicas que facilitan la au tomatización del ciclo de vida del desarrollo de sistemas de información, completamente o en alguna de sus fases. ! La sigla genérica para una serie de programas y una filosofía de desarrollo de software que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas. !
Julio alonso may noh
Una innovación en la organización, un concepto avanzado en la evolución de tecnología con un potencial efecto profundo en la organización. Se puede ver al CASE como la unión de las herramientas automáticas de software y las metodologías de desarrollo de software formales.
Clasificación de las Herramientas 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 aplic aciones que producen. • Su funcionalidad.
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. 2. 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. 3. 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. 4. Juegos de herramientas o Tools-Case, 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
Componentes y funcionalidades de una Herramienta CASE Módulos de diagramación y modelización Algunos de los diagramas y modelos utilizados con mayor frecuencia son: • Diagrama de flujo de dato s. • Modelo entidad - interrelación. • Historia de la vida de las entidades. • Diagrama Estructura de datos. • Diagrama Estructura de cuadros. • Técnicas matriciales.
Julio alonso may noh
Algunas características referentes a los diagramas son: • Número máximo de niveles para poder soportar diseños complejos. • Número máximo de objetos que se pueden inclu ir para no encontrarse limitado
en el diseño de grandes aplicaciones. • Número de diagramas distintos en pantalla o al mismo tiempo en diferen tes
ventanas. • Dibujos en formato libre con la finalidad de añadir comentarios, dibujos,
información adicional para aclarar algún punto concreto del diseño. • Actualización del repositorio por cambios en los diagramas. Siempre resulta más
fácil modificar de forma gráfica un diseño y que los cambios queden reflejados en el repositorio. HERRAMIENTAS CASE • Control sobre el tamaño, fuente y emplazamiento de los textos en el diagrama. • Comparaciones entre gráficos de distintas versiones. De esta forma será más
fácil identificar qué diferencias existen entre las versiones. Inclusión de pseudocódigo, que servirá de base a los programadores para completar el desarrollo de la aplicación. • Posibilidad de deshacer el último cambio, facilitando que un error no con lleve
perder el trabajo realizado.
Herramienta de prototipado El objetivo principal de esta herramienta es poder mostrar al usuario, desde los momentos iniciales del diseño, el aspecto que tendrá la aplicación una vez desarrollada. Ello facilitará la aplicación de los cambios que se consideren necesarios, todavía en la fase de diseño. La herramienta será tanto más útil, cuanto más rápidamente permita la construcción del prototipo y por tanto antes, se consiga la implicación del usuario final en el diseño de la aplicación. Asimismo, es importante poder aprovechar como base el prototipo para la construcción del resto de la aplicación. Actualmente, es imprescindible utilizar productos que incorporen esta funcionalidad por la cambiante tecnología y necesidades de los usuarios. Los prototipos han sido utilizados ampliamente en el desarrollo de sistemas tradicionales, ya que proporcionan una realimentación inmediata, que ayudan a determinar los requisitos del sistema. Las herramientas CASE están bien dotadas, en general, para crear prototipos con rapidez y seguridad.
Julio alonso may noh
Generador de código Normalmente se suele utilizar sobre ordenadores personales o estaciones de trabajo, por lo que el paso posterior del código al host puede traer problemas, al tener que compilar en ambos entornos. Las características más importantes de los generadores de código son: • Lenguaje generado. Si se trata de un lenguaje estándar o un lenguaje
propietario. • Portabilidad del código generado. Capacidad para poder ejecutarlo en diferentes
plataformas físicas y/o lógicas. • Generación del esqueleto del programa o del programa completo. Si únicamente
genera el esqueleto será necesario completar el resto mediante programación. • Posibilidad de modificación del código generad o. Suele ser necesario acceder
directamente al código generado para optimizarlo o completarlo. Generación del código asociado a las pantallas e informes de la aplicación. Mediante esta característica se obtendrá la interface de usuario de la aplicación.
Módulo generador de documentación El módulo generador de la documentación se alimenta del repositorio para transcribir las especificaciones allí contenidas. Algunas características de los generadores de documentación son: • Generación automática a partir de los datos del r epositorio, sin necesidad de un
esfuerzo adicional. • Combinación de información textual y gráfica, lo que hace más fácil su
comprensión. • Generación de referencias cruzadas . Con ello se podrá localizar fácilmente en
qué partes de la aplicación se encuentra un determinado objeto o elemento, con el fin de analizar el impacto de un cambio o identificar los módulos afectados por un determinado error. • Ayuda de tratamiento de textos. Facilidad para la introducción de textos
complementarios a la documentación que se genera de forma automática. • Interface con otras herramientas: procesadores de textos, editores gráficos, etc.
Estructura general de una herramienta case La estructura CASE se basa en la siguiente terminología:
Julio alonso may noh
• CASE de alto nivel son aquellas herramientas que automatizan o apoyan las
fases finales o superiores del ciclo de vida del desarrollo de sistemas como la planificación de sistemas, el análisis de sistemas y el diseño de sistemas. • CASE de bajo nivel son aquellas herramientas que automatizan o apoyan las
fases finales o inferiores del ciclo de vida como el diseño detallado de sistemas, la implantación de sistemas y el soporte de sistemas. • CASE cruzado de ciclo de vida se aplica a aquellas herramientas que apoyan
actividades que tienen lugar a lo largo de todo el ciclo de vida, se incluyen actividades como la gestión de proyectos y la estimación.
ETAPAS EN EL METODO CASE La metodología CASE se basa en un analizas y desarrollo del tipo descendiente en el que el ciclo de vida se comprende en las siguientes etapas:
ESTRATEGIA
ANALISIS
DISEÑO
CONSTRUCCION
DOCUMENTACION
TRANSICION
PRODUCCION. ESTRATEGIA
ANALISIS
DISEÑO
CONSTRUCCION
DOCUMENTACION
TRANSICION
PRODUCCION
Julio alonso may noh
ESTRATEGIA. Tiene por objetivo lograr un entendimiento claro de las necesidades de la organización y del ambiente en que opera el sistema o sistemas de implementación con el fin de tener una visión desde los puntos de vista de la dirección corporativa, se analizan las diferentes funciones que realiza la organización y sus necesidades de información a todos los niveles. En esta etapa se realizan una serie de entrevistas con la dirección y los responsables de los departamentos, así a partir de esta información se realiza así un primer modelado de los requerimientos del sistema de información adecuado a las necesidades de la organización, además de los requerimientos antes obtenidos, se toman en cuenta las tecnologías en este momento disponibles y los sistemas de información ya existentes en operación. Los resultados de esta etapa son, un conjunto de modelos de la empresa, un conjunto de recomendaciones, y un plan acordado de desarrollo de los sistemas de información, la elaboración de este ultimo se hará de acuerdo a las necesidades actuales y futuras de la organización, tomando en cuenta restricciones operativas, financieras y técnicas.
Julio alonso may noh
ANALISIS La etapa de análisis toma y verifica los descubrimientos de la etapa de estrategia y expande estos en suficiente detalle para asegurar la precisión de los modelos de la empresa posibilitando un fundamento sólido para el diseño, dentro del alcance de la organización y tomando en cuenta sistemas existentes. Durante esta etapa se realiza una serie de entrevistas a nivel operativo y técnico. Con la participación los responsables la operación de las funciones que serán automatizadas se realiza un análisis detallado de sus requerimientos específicos en cuanto a objetivos, subfusiones, información, datos, etc. En esta etapa a partir de los modelos de la organización obtenidos en la anterior y del producto del análisis de esta, se genera el modelado del sistema. Los modelos básicos de esta etapa son: -El de entidad relación, que modela mediante relaciones lógicas todos los datos involucrados en el sistema, de tal manera que cualquier tipo de explotación (consulta o modificación) sean posibles. -El funcional que modela los diferentes servicios que ofrecerá el sistema mediante una organización y clasificación de las diversas funciones y subfusiones que fueron identificadas en el análisis.
Como resultados de esta etapa se definen las restricciones que tendrá el sistema y la estrategia que se seguirá en la etapa transición.
Julio alonso may noh
DISEÑO. Esta toma los requerimientos y el modelado de la etapa de análisis y determina la mejor manera de satisfacerlos, logrando niveles de servicios acordados, dados al ambiente técnico y las decisiones previas en los niveles requeridos de automatización. Es decir que del diseño conceptual se pasa al diseño final que será utilizado para la implementación, por ejemplo en esta etapa, el modelo entidad-relación será transformado en un diseño de base de datos, y en especificaciones de almacenamiento y el modelo funcional, en módulos y manuales de procedimientos. El diseño final del sistema integra tres diseños, el de la base de datos, el de la aplicación y el de la red además se elaboran; los planes de prueba y de transición y se realizan los diseños de los sistemas de auditoria y control, y el de respaldos y recuperación. Los resultados de esta etapa lo constituyen, la arquitectura del sistema, el diseño de la base de datos, la especificación de los programas, la especificación de los manuales de procedimientos.
Julio alonso may noh
CONSTRUCCION.
En esta etapa de construcción se codificarán y probarán los nuevos programas, usando herramientas apropiadas. Esta etapa involucra planeación, diseño de la estructura del sistema, codificación de abajo hacia arriba (pruebas de unidades y enlaces), pruebas de arriba hacia abajo (prueba del sistema) y un enfoque disciplinado en la realización del trabajo y en el control de versiones del sistema y pruebas. Los resultados de esta etapa son los programas probados y la base de datos afinada. Los resultados de esta etapa lo constituyen los programas probados y las bases de datos afinadas.
Julio alonso may noh
DOCUMENTACION. Uno de los productos fundamentales para un uso y mantenimiento efectivo de los sistemas programados son los manuales. Esta metodología incluye una etapa dedicada a esta actividad tan importante y hace hincapié para que en su elaboración se consideren el estilo de trabajo y las necesidades propias de los usuarios que utilizarán y mantendrán el sistema. Esta etapa se realiza al mismo tiempo que la de construcción. Los manuales, resultados de esta etapa, se elaboran a partir de las especificaciones de diseño, de los programas realizados y del análisis del estilo de trabajo y nivel de competencia de los usuarios y operadores de los sistemas.
TRANSICION. La implantación de sistemas no necesariamente implica la sustitución total de los antiguos subsistemas y de sus bases de datos correspondientes. En ciertos casos, por razones operativas y/o económicas, los nuevos sistemas integran algunos de los antiguos., pero como quiera que sea la introducción ya sea de un sistema completamente nuevo o un sistema que integra ya existentes implica un nuevo tipo de uso y de operación que deberá ser asimilado y aprendido por los usuarios y operadores. Por esta razón, el desarrollo de un sistema no se termina con su programación., antes de su liberación para su uso, se debe preveer un periodo de transición que deberá incluir la alimentación de la nuevas bases de datos, la capacitación de los usuarios y el desarrollo de pruebas. En esta metodología la transición conforma una de sus etapas y en ella se realizan todas las tareas necesarias para la implementación y proporciona un
Julio alonso may noh
periodo inicial de soporte al sistema. La transición debe llevarse a cabo con una interrupción mínima de la organización, y debe dejar a los usuarios confiados y listos para explotar el nuevo sistema. El resultado final de esta etapa es un reporte que muestra que las pruebas fueron satisfactorias.
PRODUCCION. En esta etapa se asegura que el sistema funcione correctamente en la mayoría de los casos, y con intervención mínima de los administradores del sistema. Para esto se realizan nuevas pruebas, se reevalúan los resultados y se hacen refinamientos del sistema, los cambios necesarios deberán ser introducidos sin afectar a los usuarios, y deberá conseguirse la máxima confianza de los usuarios. El resultado de esta etapa es un sistema listo para su operación.
Julio alonso may noh