2. Fundamentos de Ing. de Sofwtware
MATERIA:
FUNDAMENTOS DE ING. DE SOFTWARE
UNIDAD Y TEMA:
UNIDAD I “CONCEPTOS BASICOS”
ACTIVIDAD:
INVESTIGACION DE HERRAMIENTAS CASE
ALUMNOS
ZULEIMA PEREZ IBAÑEZ
MONICA MORENO ORTIZ
ARLETHE TENORIO MARTINEZ
JULIO FRANCO ELIAS CELIS
ARACELI HERNANDEZ CASTRO
ALBA NIDYA SOTO DOMINGUEZ
PROFESOR:
MSC. MARIA DE LOS ANGELES MARTINEZ MORALES
2
3. Fundamentos de Ing. de Sofwtware
INTRODUCCION
En la actualidad a veces consiente e
inconsciente mente utilizamos las
computadoras, estas aplicaciones
domesticas lo pueden ser un microondas,
televisión, video caseteras o en ocasiones
también fuera de nuestras casas en
maquinas para tarjetas de créditos. Este
crecimiento de tecnología a generado una
larga variedad de aplicaciones.
(Informatica, 2000)
En el trabajo presentado a continuación se analizara un nuevo modo
de desarrollo del software basado en su automatización, las
herramientas CASE. Este tipo de herramientas tiene como principal
objetivo facilitar lo obtención de software de mayor calidad, aun
menor coste. (Pascual Gonzalez Lopez)
3
4. Fundamentos de Ing. de Sofwtware
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 Computer
A Aided
Assisted
Automated
S Software
Systems
E Engineering
Variaciones del acrónimo CASE
Esencialmente, un CASE es una herramienta que ayuda al ingeniero
de software a desarrollar y mantener software. A continuación se
presentan algunas definiciones dadas para el término CASE.
En Terminology for Software Engineering and Computer-aided
Software Engineering by B.Terry & D.Logee, Software Engineering
Notes, Abril 1990, CASE es definido como:
“Herramientas individuales para ayudar al desarrollador de
software o administrador de proyecto durante una o más fases del
desarrollo de software (o mantenimiento).”
4
5. Fundamentos de Ing. de Sofwtware
En The CASE Experience, Carma McClure, BYTE Abril 1989 p.235 se
ofrece la siguiente definición:
“Una combinación de herramientas de software y metodologías de
desarrollo”
El termino CASE se estableció durante los años 80 en los Estados
Unidos como abreviatura de << Computer Aided Software
Engineering>>. Este término se hizo popular, al asociarse con
potentes herramientas para el desarrollo de sistemas, con las cuales
se abría en un principio una puerta de esperanza a multitud de
organizaciones donde el desarrollo y mantenimiento del software se
había convertido, como decía Brooks, en un “hombre lobo”, y se veía
a estas herramientas como la “bala de plata” que terminase con él.
(Pascual Gonzalez Lopez)
La pieza fundamental, y más importante avance tecnológico
asociado a una herramienta CASE, es su repositorio integrado. En el
repositorio se almacena toda la información de uno o varios sistemas
de información, por ejemplo, datos acerca de:
El dominio (problema) de los sistemas desarrollados o en
desarrollo
Modelos de solución e implementación
Información de la metodología que está siendo usada
Historia de los proyectos, recursos, presupuestos, etc.
5
6. Fundamentos de Ing. de Sofwtware
Contexto organizacional: organigramas, planes estratégicos,
factores críticos de éxito, etc.
Cada ítem en el repositorio es descrito en detalle. Atributos típicos
podrían ser: identificación, definición (significado), tipo, alias, ítems
componentes, ítems padres, reglas de uso, quién y cuándo lo creó,
quién y cuándo lo actualizó por última vez, quiénes pueden
actualizarlo y/o consultarlo, cuál es su estado (por ejemplo:
incompleto, completo etc.), número de versión, dónde está
almacenado físicamente. (Valencia.)
Evolucion de las herramientas CASE
A inicios de los 80’s : Ayuda en la documentación por
computadora.
Diagramación asistida por computadora.
Herramientas de análisis y diseño.
A mediados de los 80’s : Diseño automático de análisis y pruebas.
Repositorios automáticos de información
desistemas.
Al final de los 80’s : Generación automática de código desde
especificaciones de diseño.
A inicios de los 90’s : Metodología Inteligente.
Interface de Usuario reusable como una
metodología de desarrollo.
(Informatica, 2000)
6
7. Fundamentos de Ing. de Sofwtware
COMPONENTES DE UNA
HERRAMIENTA CASE
Una herramienta case podemos decir que se compone de:
Un diccionario donde se almacenan los elementos creados por
la herramienta, cuya gestión se realiza mediante el apoyo de
un sistema de Gestión de base de datos (SGBD).
El meta modelo, que constituye el marco para la definición de
técnicas y metodologías soportadas por la herramienta. No
siempre es visible.
La carga o descarga de datos, permiten cargar el repertorio de
la herramienta CASE con datos provenientes de otros sistemas,
o generan a partir de la propia herramienta esquemas de base
de datos, programas, pueden alimentar otros sistemas. Este
elemento proporciona un medio de comunicación con otras
herramientas.
Una comprobación de errores que permiten llevar a cabo un
análisis de la exactitud, integridad y consistencia de los
esquemas generados por la herramienta.
Una interfaz de usuario, que constará de editores de texto y
herramientas de diseño grafico que permitan la utilización de
un sistema de ventanas, iconos y menús, con la ayuda del
ratón, definir los diagramas, matrices.
(http://paulchasiluisa.galeon.com/)
7
8. Fundamentos de Ing. de Sofwtware
Figura 5.1 Modelo del Proceso de Negocio
En la Figura 2 se muestra la metodología de J.Martin del Diagrama
de Entidad Relación, para realizar el Modelo de Datos
Figura 5.2 Modelo Relacional de Datos
8
9. Fundamentos de Ing. de Sofwtware
Algunos de los componentes de las herramientas CASE permiten:
Confeccionar la definición de requerimientos de los usuarios,
Mejorar el diseño de los sistemas,
Mejorar la eficiencia en la programación (por su generación
automática de códigos),
Otorgar a la administración un mejor soporte en la
documentación.
Para ello, y sin importar la arquitectura de la herramienta CASE,
en general tales herramientas deben abarcar las siguientes
propiedades:
Tener una interfaz gráfica y textual, que le permita al usuario
manejar los objetos de diseño (Ver Figura 3).
Figura 5.3 Herramientas de edición
9
10. Fundamentos de Ing. de Sofwtware
Contar con un Diccionario de Datos, a fin de rastrear y
controlar los objetos diseñados (Ver figura 4 y 5).
Figura 5.4 Diccionario de Datos Editor
Figura 5.5 Diccionario de Datos Estructura
10
11. Fundamentos de Ing. de Sofwtware
Disponer de un conjunto de herramientas que permitan:
chequear las reglas del diseño y analizar la lógica del diseño
( Ver figuras 6, 7 y 8).
Figura 5.6 Chequeo de Reglas
Figura 5.7 Informe del Chequeo de Reglas
11
12. Fundamentos de Ing. de Sofwtware
Figura 5.8 Informe del Chequeo del Balanceo entre los Niveles del
DFD
(http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/proyectoinform
atico/libro/c5/c5.htm)
12
13. Fundamentos de Ing. de Sofwtware
CLASIFICACIÓN DE LAS
HERRAMIENTAS
CASE
No existe una única clasificación de herramientas CASE y,
enocasiones, 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.
Las herramientas CASE, en función de las fases del ciclo de vida
abarcadas, se pueden agrupar de la forma siguiente:
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.
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.
13
14. Fundamentos de Ing. de Sofwtware
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.
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.
Tipo de Ventajas Desventajas
Case
Integra el ciclo de vida. No es tan eficiente para
Permite lograr importantes mejoras soluciones simples, sino
de productividad a mediano plazo. para soluciones complejas.
I – Case Permite un eficiente soporte al Depende del Hardware y
mantenimiento de sistemas. del Software.
Mantiene la consistencia de los Es costoso.
sistemas a nivel corporativo.
Se utiliza en plataforma PC, es Permite mejorar la
aplicable a diferentes entornos, calidad de los sistemas,
Upper Case Menor costo pero no mejora la
productividad.
No permite la integración
del ciclo de vida.
Permite lograr importantes mejoras No garantiza la
de productividad a corto plazo. consistencia de los
Permite un eficiente soporte al resultados a nivel
Lower Case mantenimiento de sistemas. corporativo.
No garantiza la eficiencia
del Análisis y Diseño.
No permite la integración
del ciclo de vida.
(http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/proyectoinformatico/libro/c5/c5.htm)
14
15. Fundamentos de Ing. de Sofwtware
CONCLUSION
Como se ha visto, las herramientas CASE como toda nueva
tecnología crea ciertas actitudes que pueden dificultar su correcta
difusión, aunque la madurez de esta tecnología es suficiente para
pensar en su introducción dentro del proceso de desarrollo, no
debemos olvidar que para garantizar su éxito no podemos
introducirla de un modo desordenado, sino que su incorporación
debe ir acompañada de una estrategia de selección e implantación
correcta.
Este estudio del proceso de desarrollo sirve realmente para conseguir
una estandarización del mismo y la eliminación de algunos de los
problemas que más frecuentemente aparecen en la mayoría de los
desarrollos.
15
16. Fundamentos de Ing. de Sofwtware
REFERENCIAS
http://paulchasiluisa.galeon.com/. (s.f.). http://paulchasiluisa.galeon.com/.
Recuperado el 4 de Septiembre de 2012, de
http://paulchasiluisa.galeon.com/: http://paulchasiluisa.galeon.com/
http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/proyectoinformatico/lib
ro/c5/c5.htm. (s.f.). http://www.cyta.com.ar. Recuperado el 4 de Septiembre
de 2012, de http://www.cyta.com.ar:
http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/proyectoinformatico/lib
ro/c5/c5.htm
Informatica, S.-J. d. (Noviembre de 2000). http://www.inei.gob.pe.
Recuperado el 4 de Septiembre de 2012, de http://www.inei.gob.pe:
http://www.inei.gob.pe/biblioineipub/bancopub/Inf/Lib5103/Libro.pdf
Pascual Gonzalez Lopez, A. A. (s.f.). http://www.uclm.es. Recuperado el 4 de
Septiembre de 2012, de http://www.uclm.es:
http://www.uclm.es/ab/educacion/ensayos/pdf/revista10/10_17.pdf
Valencia., U. P. (s.f.). http://users.dsic.upv.es. Recuperado el 4 de septiembre
de 2012, de http://users.dsic.upv.es:
http://users.dsic.upv.es/asignaturas/eui/mtp/doc-
practicas/intro_case_SA.pdf
16