I. Introducción
A lo largo de la historia se han desarrollado diferentes herramientas informáticas para mejorar el desarrollo de software.
Algunas de estas herramientas son denominadas “CASE” (Ingeniería de software asistida por computador), y sirven de apoyo para los desarrolladores, desde el principio hasta el final del proceso.
CASE proporciona un variedad de herramientas semi-automatizadas y automatizadas que están desarrollando una cultura de ingeniería nueva para muchas empresas.
Uno de los objetivos más importante del CASE (a largo plazo) es conseguir la generación automática de programas desde una especificación a nivel de diseño.
¿A qué se le llama Herramienta case?
De acuerdo a Roger S. Pressman
La ingeniería de software era fundamental en una actividad manual, en la cual las herramientas se utilizaban solamente en las últimas fases del proceso.
De acuerdo con Efraim Turban, Mc Clean y Ephraim.
CASE es a aplicación de la tecnología informática a las actividades, las técnicas y las metodologías propias de desarrollo de sistemas y al igual que las herramientas CAD (diseño asistido por computadora) o CAM (manufactura asistida por computadora) su objetivo es, acelerar el proceso para el que han sido diseñadas, en este caso CASE automatiza o apoya una o más faces del ciclo de vida del desarrollo de sistemas.
En términos generales una Herramienta CASE es 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, ya sea parcial o completamente, se puede ver al CASE como el agrupamiento de las herramientas de software y las metodologías de desarrollo de software formales.
1. Martes 21 de junio de 2016
Resumen Abstract
En este artículo se muestran los conocimientos obtenidos
en las investigaciones realizadas sobre el término
“Herramientas CASE” las cuales apoyan las tareas de la
Ingeniería de Requisitos (IR).
Además se pretende analizar y comprender los resultados
de la investigación con el fin de determinar las principales
características, su clasificación, definiciones básicas,
ventajas y desventajas de las herramientas CASE para la
Ingeniería de Requisitos.
Se mostrara una breve introducción a las definiciones de
diversos autores a lo que son las herramientas CASE, los
objetivos que tienen en general y los beneficios que se
obtienen al emplearlas.
Gracias a las herramientas case las organizaciones
pueden desarrollar ágilmente sistemas de mejor calidad
para soportar procesos del negocio.
La principal ventaja del uso de estas herramientas es la
mejora de la calidad de los desarrollos realizados y su
aumento de productividad. Para ello es necesario contar
con una organización y una metodología de trabajo.
In this article it will show the knowledge obtained in the
investigations realized about “CASE” that are going to
support the activities of Requirement Engineer.
Also, it pretends to analyze y understand the results of
the investigation to determinate the principals
characteristics, the classification, basics definitions,
advantages and disadvantages of CASE for Requirement
Engineer.
It will show a little introduction to the definitions of
various authors about what are CASE, the objectives
that they have in general and the benefits that came
with the use of this tools.
Thanks to the tools CASE, the organizations can develop
quickly systems of best quality to support process of
business.
The principal advantage of the use of this tools is the
upgrade of the quality in the development realized and
the upgrade of productivity. For that is necessary count
with an organization and a methodology of work.
Palabras Claves:
Herramienta CASE, Desarrollar, Investigación, Analizar,
Calidad.
Keywords:
CASE, development, investigation, analyze, quality.
Herramientas CASE:
Conocimientos
Básicos
Guardado Osuna Jesús Octavio 2014030393@upsin.edu.mx
Moreno Imperial Aarón Enrique 2014030391@upsin.edu.mx
Osuna Ramírez Leyda Guivenni 2014030450@upsin.edu.mx
Pérez Garate Juan Manuel 2014030470@upsin.edu.mx
Sánchez Alvarado Cesar Iván 2014030436@upsin.edu.mx
Universidad politécnica de Sinaloa
Ingeniería en Informática 6-1
2. Martes 21 de junio de 2016
I. Introducción
A lo largo de la historia se han desarrollado
diferentes herramientas informáticas para mejorar
el desarrollo de software.
Algunas de estas herramientas son denominadas
“CASE” (Ingeniería de software asistida por
computador), y sirven de apoyo para los
desarrolladores, desde el principio hasta el final del
proceso.
CASE proporciona un variedad de herramientas
semi-automatizadas y automatizadas que están
desarrollando una cultura de ingeniería nueva para
muchas empresas.
Uno de los objetivos más importante del CASE (a
largo plazo) es conseguir la generación automática
de programas desde una especificación a nivel de
diseño.
¿A qué se le llama Herramienta case?
De acuerdo a Roger S. Pressman
La ingeniería de software era fundamental en una
actividad manual, en la cual las herramientas se
utilizaban solamente en las últimas fases del
proceso.
De acuerdo con Efraim Turban, Mc Clean y Ephraim.
CASE es a aplicación de la tecnología informática a
las actividades, las técnicas y las metodologías
propias de desarrollo de sistemas y al igual que las
herramientas CAD (diseño asistido por
computadora) o CAM (manufactura asistida por
computadora) su objetivo es, acelerar el proceso
para el que han sido diseñadas, en este caso CASE
automatiza o apoya una o más faces del ciclo de
vida del desarrollo de sistemas.
En términos generales una Herramienta CASE es 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, ya sea
parcial o completamente, se puede ver al CASE
como el agrupamiento de las herramientas de
software y las metodologías de desarrollo de
software formales.
II. Desarrollo
Desde a finales de los años sesentas se vivió la
llamada “Crisis del software”, situación en la cual el
software que se construye no satisface los
requerimientos, ni las necesidades pedidos por
cliente, sino que además excede los presupuestos y
horarios de tiempos establecidos.
Ante esta situación catastrófica, en la década de los
ochentas el mundo de la informática reacciono para
tratar de solucionar el problema dando origen a las
primeras herramientas de desarrollo de software,
basadas en computadoras personales y los primeros
intentos para automatizar e análisis y el diseño de
tareas.
Las primeras CASE eran dirigida a la automatización
de la documentación y la comunicación como una
mejora, no fue hasta 1985 en que estas
herramientas se volvieron realmente importantes
en el proceso de desarrollo de software.
Esto llevaría a la generación automática de código
para desarrollo de software vía una especificación
formalmente diseñada. Esto traería como beneficio:
Una mejora en la calidad, fiabilidad, utilidad y
rendimiento.
Reducción de costos de producción de
software.
Entorno de producción de documentación
para software, mejorando la comunicación,
mantenimiento y las actualizaciones.
3. Martes 21 de junio de 2016
Elementos de una Herramienta CASE
Figura 1. Elementos de una herramienta CASE
Repositorio o Depósito centralizado de información
(diccionario): Es un punto clave para una alta
productividad. Diccionario donde
Almacenan los elementos definidos o creados por
la herramienta, y cuya gestión se realiza mediante
el apoyo de un Sistema de Gestión de Base de
Datos (SGBD) o de un sistema de gestión de
ficheros.
Contiene detalles de los componentes del
sistema, tales como datos, flujo de datos y
procesos.
Meta modelo o Herramientas de Administración (no
siempre visible): Define las técnicas y metodologías
soportadas por la herramienta CASE.
Herramienta de Carga o descarga de datos: Permiten
cargar el repositorio de la herramienta CASE con
datos 3provenientes de otros sistemas.
Comprobación de errores: Facilidades que permiten
llevar a cabo un análisis de la exactitud, integridad y
consistencia de los esquemas generados por la
herramienta.
Interfaz de usuario: Consta de editores de texto y
herramientas de diseño gráfico que permitan,
mediante la utilización de un sistema de ventanas,
iconos y menús, con la ayuda del ratón, definir los
diagramas, matrices, etc. que incluyen las distintas
metodologías.
Características comunes de una herramienta
CASE
Los sistemas case almacenan información por
proyecto, cada aplicación es considerada como
un proyecto. La información que se escribe en
cada uno se mantiene separado de la de otros, a
esto se le llama Operaciones iniciales.
Muchas herramientas Case permiten que es
usuario selecciones una acción señalando su
nombre o numero en la pantalla.
Los diagramas de flujo de datos son uno de
muchos tipos de diagramas y cartas disponibles
en estas herramientas.
Toda la información con respecto al proyecto se
acumula en el diccionario de datos. Parte de esta
es grabada por la persona que aneja la
herramienta, otra parte es grabada
automáticamente.
Una vez dentro del diccionario, las entradas
pueden ser añadidas, modificadas, listadas,
borradas y cambiadas de nombre.
4. Martes 21 de junio de 2016
Estructura general de una herramienta case.
La estructura CASE se basa en la siguiente
terminología:
Herramientas integradas, I-CASE (Integrated CASE,
CASE integrado): abarcan todas las fases del ciclo de
vida del desarrollo de sistemas. También llamadas
también CASE workbench.
Ventajas:
Integra el ciclo de vida.
Permite lograr importantes mejoras de
productividad a mediano plazo.
Permite un eficiente soporte al
mantenimiento de sistemas.
Mantiene la consistencia de los sistemas a
nivel corporativo.
Desventajas
No es tan eficiente para soluciones simples,
sino para soluciones complejas.
Depende del Hardware y del Software.
Es costoso.
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.
Ventajas:
Se utiliza en plataforma PC, es aplicable a
diferentes entornos.
Menor costo
Desventajas
Permite mejorar la calidad de los sistemas,
pero no mejora la productividad.
No permite la integración del ciclo de vida.
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.
Ventajas:
Permite lograr importantes mejoras de
productividad a corto plazo.
Permite un eficiente soporte al
mantenimiento de sistemas.
Desventajas
No garantiza la consistencia de los
resultados a nivel corporativo.
No garantiza la eficiencia del Análisis y
Diseño.
No permite la integración del ciclo de vida.
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.
Están formadas por un conjunto de herramientas
orientadas cada una de ellas a resolver una
determinada fase del desarrollo.
El ensamblaje de las mismas se efectúa por medio
de una serie de interfaces que adaptan las salidas
producidas por cada una de ellas de forma que sirva
como entrada en la siguiente.
5. Martes 21 de junio de 2016
¿Cómo elegir la Herramienta CASE correcta?
Es importante saber que las CASE son solo
herramientas, las cuales solo nos serán útiles
dependiendo de los factores y del entorno en el que
es desarrollado el proyecto. Estas pueden ser
utilizadas como:
Herramientas aisladas donde selo se aborde la
compatibilidad de los elementos del entorno.
O en grupos pequeños para una mejor
comunicación directa.
Algunas Herramientas CASE son sólo para la fase
de Diseño.
Figura 2. Fase Diseño
Otras, son sólo generadoras de Código
Figura 3. Fase Código
Algunas Herramientas de Análisis y Diseño tienen
una visión de Desarrollo orientada a procesos sin la
capacidad de modelamiento.
Figura 4. Procesos
Algunas proveen Herramientas para el
modelamiento sin incluir los procesos de Análisis o
Diseño.
Figura 5. Procesos
Las causas del fracaso en la adopción de CASE, son
generadas por la diferencia de la propia tecnología.
Tales como:
Soporte parcial del ciclo de vida, lo que genera
que solo unas actividades de desarrollo sean
automatizadas mientas que el resto se siguen
realizado de forma tradicional.
Incompatibilidad entre las herramientas.
La poca confianza entre el distribuidor.
Documentación inadecuada generada por la
herramienta.
Una gran abundancia de herramientas,
produciendo “bloqueo” al momento de elegir
la herramienta adecuada.
Apenas unos cuantos años atrás las herramientas
CASE se limitaban aeditores de texto, los cuales solo
hacían que las actividades fueran aburridas y
laboriosas.
Afortunadamente en la actualidad se cuentan con
múltiples opciones como los siguientes:
Erwin
EasyCASE
Oracle
SNAP
Visual Basic
PowerDesigner
Opal
6. Martes 21 de junio de 2016
III. Caso Practico
Un ejemplo sencillo de CASE es el software Rational
Rose ya que es un instrumento operativo conjunto
que utiliza el Lenguaje Unificado (UML) como medio
para facilitar la captura de dominio de la semántica,
la arquitectura y el diseño.
Este Rose permite:
Figura 6. Ventana del software Racional Rose
Figura 7. Racional Rose Diagrama UML
IV. Conclusión
Estas herramientas fueron creadas para agilizar el
entorno de trabajo, teniendo como principal
objetivo automatizar la producción de software.
De acuerdo con diferentes autores los objetivos las
herramientas CASE proporcionan entornos de
desarrollo interactivo con un tiempo de respuesta
rápido, proporcionan calidad a los proyectos,
recuden el costo del software, y administran el
proyecto.
En el mercado existen diversos ejemplares de
herramientas CASE, los cuales nos apoyan en
diversas fases del proceso de desarrollo de
software, pero al ser tan diverso el mundo de las
CASE podemos recurrir a la herramienta que no sea
compatible con nuestro proyecto, lo cual generaría
un error significante en el proyecto.
V. Referencias
Adrea, A., & Sandoval, E. (2008). Herramientas
CASE para Ingeniería de Requisitos.
Cultura Científica, 3.
Sub-Jefatura de Informática, & Dirección Técnica
de Desarrollo Informático. (s.f.).
Herramientas Case. INSTITUTO NACIONAL
DE ESTADISTICA E INFORMATICA.
VargasMartínez, P. B. (2007). Panorama General de
las "Herramientas CASE". Pachuca de
Soto, Hgo.
o Crear
o Ver
o Modificar
o Manipular
Los componentes de un
modelo.