Logo Studenta

1 4_Herramientas_CASE - Mauricio axel 20

¡Este material tiene más páginas!

Vista previa del material en texto

Lenguajes y autómatas 1 
P á g i n a 1 | 15 
Acapulco Gro. 30 de octubre de 2020 
 
 
 
 
 
 
 
 Lenguajes y autómatas 1 
P á g i n a 2 | 15 
Acapulco Gro. 30 de octubre de 2020 
1.4 Importancia de las herramientas CASE 
en la ingeniería de software. 
HERRAMIENTA CASE 
Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de 
Software Asistida por Computadora) son diversas aplicaciones informáticas 
o programas informáticos destinadas a aumentar el balance en el desarrollo de 
software reduciendo el costo de las mismas en términos de tiempo y de dinero. 
Estas herramientas 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 costos, implementación de parte del código automáticamente 
con el diseño dado, compilación automática, documentación o detección de 
errores. 
En los años 70 un proyecto llamado ISDOS diseñó un lenguaje y por lo tanto un 
producto que analizaba la relación existente entre los requisitos de un problema y 
las necesidades que estos generaban, el lenguaje en cuestión se denominaba 
PSL (Problem Statement Language) y la aplicación que ayudaba a buscar las 
necesidades de los diseñadores PSA (Problem Statement Analyzer). 
Aunque esos son los inicios de las herramientas informáticas que ayudan a crear 
nuevos proyectos informáticos, la primera herramienta CASE fue Excelerator que 
salió a la luz en el año 1984 y trabajaba bajo una plataforma PC. 
En la época de los noventa algunas empresas trabajaban con sus mainframes o 
computadoras centrales, Pero poco a poco los mainframes han ido siendo menos 
utilizados y actualmente el mercado de las CASE ha ido disminuyendo, abriendo el 
mercado de diversas herramientas más específicas para cada fase del ciclo de 
vida del software. 
 
 
 
 
 
 
 
 
 Lenguajes y autómatas 1 
P á g i n a 3 | 15 
Acapulco Gro. 30 de octubre de 2020 
Objetivos de las herramientas CASE. 
1. Mejorar la productividad del software. 
 
2. Aumentar la calidad del software. 
 
 
3. Reducir el tiempo y costo de desarrollo y mantenimiento de los sistemas 
 
4. informáticos. 
 
5. Mejorar la planificación de un proyecto. 
 
 
6. Aumentar la biblioteca de conocimiento informático de una empresa 
 
7. ayudando a la búsqueda de soluciones para los requisitos. 
 
 
8. Automatizar el desarrollo del software, la documentación, la generación de 
código, las pruebas de errores y la gestión del proyecto. 
 
9. Ayuda a la reutilización del software, portabilidad y estandarización de la 
documentación. 
 
10. Gestión global en todas las fases de desarrollo de software con una misma 
herramienta. 
 
11. Facilitar el uso de las distintas metodologías propias de la ingeniería del 
software. 
 
 
 
 
 
 Lenguajes y autómatas 1 
P á g i n a 4 | 15 
Acapulco Gro. 30 de octubre de 2020 
Clasificación. 
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 aplicaciones que producen. 
• Su funcionalidad. 
 
Según fases del ciclo de vida del desarrollo 
La siguiente clasificación es la más habitual basada en las fases del ciclo de 
desarrollo que cubren: 
• Upper CASE (U-CASE) 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 
• Middle CASE (M-CASE) Middle CASE (M-CASE), herramientas para 
automatizar tareas en el análisis y diseño de la aplicación. 
• Lower CASE (L-CASE) 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. 
Estas herramientas son las 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, automatizan la documentación completa de 
la aplicación. 
• Tools-Case. 
 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 
 
 
 Lenguajes y autómatas 1 
P á g i n a 5 | 15 
Acapulco Gro. 30 de octubre de 2020 
Según funcionalidad. 
Por funcionalidad se pueden diferenciar algunas como: 
• Editores UML. 
los diagramas UML describen los límites, la estructura y el comportamiento 
del sistema y los objetos que contiene. 
UML no es un lenguaje de programación, pero existen herramientas que se 
pueden usar para generar código en diversos lenguajes usando los 
diagramas UML. UML guarda una relación directa con el análisis y el diseño 
orientados a objetos. 
• Herramientas de mantenimiento como los sistemas de control de 
versiones. 
Se llama control de versiones a la gestión de los diversos cambios que se 
realizan sobre los elementos de algún producto o una configuración de 
este. Una versión, revisión o edición de un producto, es el estado en el que 
se encuentra el mismo en un momento dado de su desarrollo o 
modificación. 
 
Otras clasificaciones. 
Existen otros nombres que se le dan a este tipo de herramientas, y que no es una 
clasificación excluyente entre sí, ni con las fases del ciclo de vida del desarrollo: 
• Integrated CASE (I-CASE) herramientas que engloban todo el proceso de 
desarrollo software, desde el análisis hasta la implementación. 
• MetaCASE. herramientas que permiten la definición de nuestra propia 
técnica de modelado, los elementos permitidos del metamodelo generado 
se guardan en un repositorio y pueden ser usados por otros analistas, es 
decir, es como si definiéramos nuestro propio UML, con nuestros 
elementos, restricciones y relaciones posibles. 
• CAST. herramientas de soporte a la prueba de software. 
• IPSE. herramientas que soportan todo el ciclo de vida, incluyen 
componentes para la gestión de proyectos y gestión de la configuración 
activa. 
 
 Lenguajes y autómatas 1 
P á g i n a 6 | 15 
Acapulco Gro. 30 de octubre de 2020 
 
 
 
 
 
 
 
 
 
 
 Lenguajes y autómatas 1 
P á g i n a 7 | 15 
Acapulco Gro. 30 de octubre de 2020 
Componentes y funcionalidades de una 
Herramienta CASE. 
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. 
 
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 decó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 generado. (Suele ser necesario 
acceder directamente al código generado para optimizarlo o completarlo.) 
 
 
 
 
 
 Lenguajes y autómatas 1 
P á g i n a 8 | 15 
Acapulco Gro. 30 de octubre de 2020 
Ventajas y desventajas. 
Ventajas. 
Entre los beneficios ofrecidos por la tecnología CASE se encuentran los 
siguientes: 
• Facilidad para la revisión de aplicaciones 
La experiencia muestra que una vez que las aplicaciones se implementan, 
se emplean por mucho tiempo. Las herramientas CASE proporcionan un 
beneficio substancial para las organizaciones al facilitar la revisión de las 
aplicaciones. Contar con un depósito central agiliza el proceso de revisión 
ya que éste proporciona bases para las definiciones y estándares para los 
datos. Las capacidades de generación interna, si se encuentran presentes, 
contribuyen a modificar el sistema por medio de las especificaciones más 
que por los ajustes al código fuente. 
• Soporte para el desarrollo de prototipos de sistemas 
En general, el desarrollo de prototipos de aplicaciones toma varias formas. 
En ocasiones se desarrollan diseños para pantallas y reportes con la 
finalidad de mostrar la organización y composición de los datos, 
encabezados y mensajes. Los ajustes necesarios al diseño se hacen con 
rapidez para alterar la presentación y las características de la interface. Sin 
embargo, no se prepara el código fuente, de naturaleza orientada hacia 
procedimientos, como una parte del prototipo. 
Como disyuntiva, el desarrollo de prototipos puede producir un sistema que 
funcione. Las características de entrada y salida son desarrolladas junto 
con el código orientado hacia los procedimientos y archivos de datos. 
Muchas herramientas CASE soportan las primeras etapas del desarrollo del 
prototipo. 
 
• Generación de código 
Como ya se mencionó, algunas herramientas CASE tienen la capacidad de 
producir el código fuente. La ventaja más visible de esta característica es la 
disminución del tiempo necesario para preparar un programa. Sin embargo, 
la generación del código también asegura una estructura estándar y 
consistente para el programa (lo que tiene gran influencia en el 
mantenimiento) y disminuye la ocurrencia de varios tipos de errores, 
mejorando de esta manera la calidad. Las características de la generación 
del código permiten volver a utilizar el software y las estructuras estándares 
 Lenguajes y autómatas 1 
P á g i n a 9 | 15 
Acapulco Gro. 30 de octubre de 2020 
para generar dicho código, así como el cambio de una especificación 
modular, lo que significa volver a generar el código y los enlaces con otros 
módulos. Ninguna de las herramientas que existen en el presente es capaz 
de generar un código completo en los dominios. 
 
• Mejora en la habilidad para satisfacer los requerimientos del usuario 
Es bien conocida la importancia de satisfacer los requerimientos del 
usuario, ya que esto guarda relación con el éxito del sistema. De manera 
similar, tener los requerimientos correctos mejora la calidad de las prácticas 
de desarrollo. Parece ser que las herramientas CASE disminuyen el tiempo 
de desarrollo, una característica que es importante para los usuarios. Las 
herramientas afectan la naturaleza y cantidad de interacción entre los 
encargados del desarrollo y el usuario. Las descripciones gráficas y los 
diagramas, así como los prototipos de reportes y la composición de las 
pantallas, contribuyen a un intercambio de ideas más efectivo. 
 
Desventajas. 
Las herramientas CASE tienen puntos débiles significativos, que van desde 
la confiabilidad en los métodos estructurados hasta su alcance limitado, los 
cuales amenazan con minar los beneficios potenciales descritos con 
anterioridad. 
• Confiabilidad en los métodos estructurados 
Muchas herramientas CASE están construidas teniendo como base las 
metodologías del análisis estructurado y del ciclo de vida de desarrollo de 
sistemas. Por si sola, esta característica puede convertirse en la principal 
limitante ya que no todas las organizaciones emplean métodos de análisis 
estructurado. 
Los métodos estructurados, introducidos en la década de los setenta, 
fueron muy elogiados por su habilidad para mejorar la exactitud de los 
requerimientos específicos de las aplicaciones. El nivel de conocimiento de 
los métodos estructurados es lato entre los profesionales de sistemas de 
información – de acuerdo con algunas estimaciones (Yourdon), casi el 90% 
de todos los analistas está familiarizado con estos métodos -. 
Aproximadamente la mitad de todas las organizaciones en Estados Unidos 
han utilizado alguna vez estos métodos. 
 
 Lenguajes y autómatas 1 
P á g i n a 10 | 15 
Acapulco Gro. 30 de octubre de 2020 
• Falta de niveles estándar para el soporte de la metodología 
Aún no aparece un conjunto “estándar” de herramientas CASE. Por tanto, 
debe tener precaución al seleccionar una herramienta de este tipo. 
Existen dos significados para las palabras “soporte de la metodología”. Una 
herramienta puede: 
1) dar soporte a los diagramas que emplea una metodología o 
2) soportarlos e imponer la metodología, sus reglas y procesos. 
Las herramientas CASE que existen en el presente, tienen una de las 
siguientes características: 
* Son independientes de la metodología. 
* Permiten que los usuarios definan sus propias metodologías. 
* Soportan una metodología. 
* Soportan las metodologías más diseminadas. 
En todas ellas existen ciertos compromisos. Las herramientas que son 
independientes de la metodología no pueden fomentar el uso de las reglas 
y estándares de esta. Estas herramientas quizá proporcionen los 
componentes de una metodología (por ejemplo: diagramas de flujos de 
datos, un diccionario de datos y facilidades para la descripción de 
procesos), pero no el marco de referencia, reglas y procedimientos que en 
realidad constituyen el núcleo de la metodología. 
• Conflictos en el uso de los diagramas 
Las herramientas difieren en el uso que hacen los diagramas. Algunas son 
herramientas exclusivamente para gráficas, que se abocan al dibujo de 
diagramas para el análisis de entrada y salida de datos. Este tipo de 
herramientas puede restringir ya sea el proceso de desarrollo normal 
seguido por una organización o el estilo particular de trabajo de los 
analistas. 
 
• Diagramas no utilizados 
En general, los productos CASE emplean gráficas para modelar y generar 
informes sobre el análisis y desarrollo de sistemas. Una de las afirmaciones de los 
vendedores de herramientas es que las presentaciones gráficas y la 
documentación mejoran la comunicación entre los miembros del equipo de 
desarrollo, propician una calidad mayor de la entrada proporcionada por el cliente 
y mejoran la productividad de desarrollo de software. Sin embargo, los 
investigadores han encontrado que, en algunos casos, las herramientas gráficas, 
automatizadas o manuales, no se emplean del todo. O tal vez no se utilicen en la 
forma que deberían emplearse. Por otra parte, algunos analistas prefieren para 
algunas tareas un lenguaje estructurado o descriptivo.Lenguajes y autómatas 1 
P á g i n a 11 | 15 
Acapulco Gro. 30 de octubre de 2020 
VENTAJAS Y DESVENTAJAS DEPENDIENDO DEL TIPO DE 
HERRAMIENTA CASE UTILIZADA 
 
 
 
 
 
 
 Lenguajes y autómatas 1 
P á g i n a 12 | 15 
Acapulco Gro. 30 de octubre de 2020 
Ejemplos de herramientas CASE. 
• NetBeans 
Herramienta muy buena con características buenas como desarrollo 
intuitivo gratis y open source drag-and-drop para mayor rapidez 
Principalmente para desarrollo de escritorio Web Mobile y Enterprise con 
compatibilidad con java C/C++ Ruby PHP javascript tiene algunas mejoras 
con UML aunque no es el más optimo tiene algo muy interesante creador 
de juegos para celulares 
 
 
 
 
• Microsoft Visio 
Herramienta de diagramación avanzada con gran variedad de plantillas que 
permiten simplificar las tareas complejas con elementos visuales dinámicos 
basados en datos, UML Bases de Datos Arquitectura ect con SharePoint 
con más facilidad sin generar código, Pero bastante atractiva para hacer 
distintos diagramas 
 
 
 
 
 
• Eclipse/Omondo 
Eclipse dispone de un Editor de texto. La compilación es en tiempo real. 
Tiene pruebas unitarias con JUnit, control de versiones con CVS, Como ya 
sabemos código abierto Sobre el cual se pueden montar herramientas de 
desarrollo para cualquier lenguaje mediante la implementación de los 
plugins adecuados como omondo para la realización de diagramas UML 
generando código 
 
 
 Lenguajes y autómatas 1 
P á g i n a 13 | 15 
Acapulco Gro. 30 de octubre de 2020 
• OmniGraffle 
Es una herramienta de diagramación disponible para OS, muy práctica y 
fácil de usar, con muchos elementos que facilitan la creación de DFD. Esta 
herramienta brinda la posibilidad de exportar en varios formatos, es 
accesible y se puede adquirir directamente en el Appstore. 
 
 
 
 
 
• Serena Composer 
Esta herramienta ayuda en el diseño de la interfaz gráfica y las definiciones 
iniciales del sistema, el producto final de este software es un reporte no 
funcional que detalla el funcionamiento del sistema y una visión no 
funcional del sistema (prototipo) que no puede ser reutilizado para la etapa 
de desarrollo. 
 
• GUI Design Studio 
Es una herramienta enfocada solamente en el diseño de interfaces gráficas 
para aplicaciones, es muy sencillo de usar y contiene muchos elementos 
para modelar pantallas de aplicaciones botones, cajas de texto, 
contraseñas, tablas, iconos y es capaz de simular el paso de ventanas. 
 
 
 
 Lenguajes y autómatas 1 
P á g i n a 14 | 15 
Acapulco Gro. 30 de octubre de 2020 
• Edraw 
Es un programa muy completo para realizar diferentes tipos de diagramas 
de varias metodologías, Es muy sencillo de usar ya que tiene una interfaz 
muy parecida a la de Microsoft Visio. 
 
• Oracle SQL Developer 
Herramienta CASE especializada en Base de Datos, tiene varios módulos 
de modelado de datos entre otras y tiene compatibilidad con distintos 
manejadores de Base de Datos. 
 
 
 
 
 
 
 
 
 
 
 
 Lenguajes y autómatas 1 
P á g i n a 15 | 15 
Acapulco Gro. 30 de octubre de 2020 
Conclusión. 
La utilización de Herramientas CASE maximiza la calidad en todo el ciclo de vida 
al desarrollar aplicaciones informáticas mejorando la productividad y 
automatizando los procesos de creación, normalización y generación de la base 
de datos, generación de documentación, generación de diagramas, generación de 
código, generación de pantallas y generación de paneles de trabajo. Permite al 
programador trabajar bajo una metodología de diseño de software, dejando a un 
lado la programación de la aplicación, centrándose en el análisis y el diseño, la 
cual solo puede ser realizada por un humano. 
Las Herramientas CASE crea una cultura ordenada y sistemática de 
programación, esto permite reducir costos y tiempo al desarrollar; facilita la 
generación de software porque permite que cada aplicación generada no se tenga 
que programar nuevamente todo el software, sino solo realizar pequeñas 
modificaciones en la base de conocimiento, logrando de esta manera la 
reutilización del código ya generado, también permite migrar a diferentes 
lenguajes de programación, bases de datos y plataformas existentes en el 
mercado.

Otros materiales