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
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)
HERRAMIENTAS CASE
4
Fundamentos de Ing. de Sofwtware
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:
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).”
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”
C ComputerA Aided
AssistedAutomated
S SoftwareSystems
E Engineering
5
Fundamentos de Ing. de Sofwtware
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.
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
6
Fundamentos de Ing. de Sofwtware
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 desdeespecificaciones de diseño.
A inicios de los 90’s : Metodología Inteligente.Interface de Usuario reusable como unametodología de desarrollo.
(Informatica, 2000)
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.
7
Fundamentos de Ing. de Sofwtware
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/)
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
8
Fundamentos de Ing. de Sofwtware
Figura 5.2 Modelo Relacional de Datos
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
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
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
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/proyectoinformatico/
libro/c5/c5.htm)
CLASIFICACIÓN DE LAS HERRAMIENTAS
CASE
12
Fundamentos de Ing. de Sofwtware
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.
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.
13
Fundamentos de Ing. de Sofwtware
Tipo deCase
VentajasDesventajas
I – Case
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.
No es tan eficiente para soluciones simples, sino para soluciones complejas.
Depende del Hardware y del Software.
Es costoso.
Upper Case
Se utiliza en plataforma PC, es aplicable a diferentes entornos,
Menor costo
Permite mejorar la calidad de los sistemas, pero no mejora la productividad.
No permite la integración del ciclo de vida.
Lower Case
Permite lograr importantes mejoras de productividad a corto plazo.
Permite un eficiente soporte al mantenimiento de sistemas.
No garantiza laconsistencia de losresultados a nivelcorporativo. 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)
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.
14
Fundamentos de Ing. de Sofwtware
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.
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/libro/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/libro/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
15
Fundamentos de Ing. de Sofwtware
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