Sie sind auf Seite 1von 12

U10: HERRAMIENTAS CASE

Introduccin
CASE: ingeniera de software asistida por computadoras o ingeniera de
sistemas asistida por computadoras.
Surgieron para dar solucin a problemas relacionados a proyectos de
generacin de software:

Plazos incumplidos
Presupuestos incumplidos
Insatisfaccin del usuario
Escasa productividad
Baja calidad de los desarrollos

Historia
Desde que a finales de los 60 sucedi la crisis del software, los expertos se
pusieron a buscar soluciones creando tcnicas, metodologas y herramientas
para revertir la situacin.
Entre todas ellas surgi la tecnologa CASE.
Esta tecnologa surge en los 70 cuando empezaron a aparecer las primeras
metodologas estructuradas que introdujeron tcnicas graficas y diagramas de
flujos de datos que hacerlos a mano eran muy complejos y si haba que hacer
algn cambio consuma mucho tiempo y se inician las investigaciones de
entornos de desarrollo.
A mediados de los 80 se populariza y surgen las primeras herramientas de
documentacin y diagramacin automtica.
En los ochenta tambin surgen los conceptos de repositorio como ncleo de un
entorno case, generadores de programas y aplicaciones que automatizan las
ltimas fases del ciclo de vida y tambin gestores de proyecto.
La primera generacin de estas herramientas fracas debido a:

Limitaciones de los productos


Falsas expectativas sobre sus posibilidades
Incorrecta implantacin

Adems de la resistencia al cambio que casi siempre sucede cuando aparece


un nuevo paradigma de hacer las cosas.(ejemplo pasar de tcnicas
estructuradas a orientadas a objetos)

En los 90 surgi la segunda generacin que superan gran parte de las


limitaciones de las anteriores, adems los usuario ya conocen mejor sus
posibilidades poniendo las expectativas ms justas sobre estas.
La tecnologa case supone la automatizacin del desarrollo de software
contribuyen a aumentar la productividad y la calidad en el desarrollo del SI.

Definicin
Son un conjunto de herramientas y tecnologas que soportan un enfoque de
ingeniera para las distintas fases del desarrollo de software
Son un conjunto de herramientas y mtodos asociados que proporcionan
asistencia automatizada en el proceso de desarrollo del software a lo largo del
ciclo de vida.
Son un conjunto de mtodos, utilidades y tcnicas que facilitan la
automatizacin de ciclo de vida del desarrollo de SI, completamente o en
alguna de sus fases.
Importancia de las herramientas en el desarrollo de sistemas
Mejora la productividad del analista
o En relacin a que se pueden hacer las mismas actividades
(analizar, desarrollar y documentar) en un tiempo mejor que si no
se las usaran y con menos intensidad del trabajo requerido.
o Ej: carpintero con piedra en lugar de un martillo.
Mejora la eficiencia
o Las herramientas ayudan a mejorar la forma en que se va a hacer
una tarea.
o Ej: carpintero si tiene que poner un tornillo va a buscar una
herramienta que le permita hacer esa tarea ms eficientemente,
un destornillador.
Mejora la calidad del SI
o Cuando las herramientas mejoran los procesos, esto tambin
ocurre con los resultados.
o Ej: si carpintero uso las herramientas adecuadas va a tener mesa
bien terminada.

Objetivos

Permitir la aplicacin prctica de metodologas estructuradas, lo que


resulta muy difcil sin usar herramientas.
Facilitar la realizacin de prototipos y el desarrollo conjunto de
aplicaciones
Simplificar el mantenimiento de los programas

Estandarizar la documentacin
Aumentar la portabilidad de las aplicaciones
Facilitar la reutilizacin de componentes software
Permitir un desarrollo visual de las aplicaciones, mediante el uso de
graficos.
Automatizar:
o El desarrollo de software
o La documentacin
o La generacin del cdigo
o El chequeo de errores
o La gestin del proyecto

Componentes o elementos

Repositorio
o Es un deposito centralizado de informacin.
o Amplia el concepto de diccionario de dato para incluir toda la
informacin (elementos definidos o creados por la propia
herramienta) que se va generado a lo largo del ciclo de vida del
sistema.
o Gracias a este se hacen comprobaciones de integridad y
consistencia:
Que no existan datos no definidos
Que no existan datos autodefinidos (datos que se usan en
una definicin pero no se los defini antes)
Que todos los alias sean correctos y estn actualizados.
o Tambin comprobaciones de seguridad, versionado, acceso por
clave etc.

Generador de documentacin
o Permite obtener toda la documentacin que describe el SI
desarrollado.
o Caractersticas:
Generacin automtica a partir de los datos del repositorio.
Combinacin de informacin textual y grafica para facilitar
la comprensin.

Meta modelo
o Define las tcnicas y metodologas soportadas por la herramienta

Herramienta de carga/Descarga de datos


o Permite cargar el repositorio con datos de otros sistemas o los
generados por la propia herramienta, esquema de BD ,
programas.

Interfaz de usuario
o Cuenta con editores de texto, herramientas de diseo grafico.

Comprobacin de errores

Clasificacin
Segn el ciclo de vida:
Herramientas integradas- Integrated CASE:
Abarcan todas las fases del ciclo de vida del desarrollo de
sistemas.
Son llamadas CASE Workbench
Se basan en una metodologa
Tienen un repositorio
Aportan tcnicas estructuradas para todas las fases del ciclo de
vida.
Herramientas que abarcas alguna(s) fases del ciclo de vida:
Upper CASE:
Abarcan las primeras fases de anlisis de requerimientos y
diseo lgico
Lower CASE:
Abarca el diseo detallado y la generacin de cdigo
(construccin e implantacion)
Juego de herramientas o toolkits
Son el tipo ms simple de herramientas CASE.
Automatizan una fase dentro del ciclo de vida
Dentro de estas tenemos:
Herramientas de reingeniera
Herramientas orientadas a la fase de mantenimiento.

*Si se tiene presin por resultados a corto plazo es til usar una
lower.
*Proyectos de gran envergadura recomendable usar uperr y lower.

Segn su integracin:
Toolkits (Juego de herramientas)
o Automatizan alguna fase del ciclo de vida.
o Integracion baja.
Workbench (Banco de trabajo)
o Automatizan el ciclo de vida en mas de una fase generalmente
anlisis, diseo, implementacin y documentacin.
o Nos generan un producto documentado y operativo.
o Integracion media.
IPSE
o Cubren todo el ciclo de vida y adems cubren la gestin de
proyectos y de la configuracin.
o Integracion alta.

Por su funcionalidad:
Herramientas de planificacin de sistemas de gestin

o
o

Sirven para modelizar los requisitos de informacin estratgica de


una organizacin.
Su objetivo principal es ayudar a comprender mejor como se
mueve la informacin entre las distintas unidades de la
organizacin.
Proporcionan una ayuda importante cuando se disean nuevas
estrategias para los SI y cuando los mtodos y sistemas actuales
no satisfacen las necesidades de la organizacin.

Heramientas de anlisis y diseo:


o Permiten al desarrollador crear un modelo del sistema y tambin
la evaluzacion y validez de este modelo.
o Se tienen:
Herramientas de anlisis y diseo (Modelamiento)
Herramientas de creacin de prototipos y simulacin
Herramientas para el diseo y desarrollo de interfaces
Herramientas de programacin
o Se engloba aqu los compiladores, los editores y los depuradores
de los LP.
o Se tienen:
Herramientas de codificacin convencionales
Herramientas de codificacin de cuarta generacin
Herramientas de programacin orientadas a objetos
Herramientas de integracin y prueba
o Sirven de ayuda a la adquisicin, medicin, y prueba de los
equipos lgicos desarrollados.
o Se tienen:
Herramientas de anlisis esttico.
Herramientas de gestin de prototipos
Herramientas de mantenimiento
o Dentro se pueden subdividir en:
Herramientas de ingeniera inversa
Herramientas de reestructuracin y anlisis de cdigo
Herramientas de reingeniera
Herramientas de gestin de proyecto.
o Con ellas se pueden hacer estimaciones de esfuerzo, coste,
duracin y hacer un seguimiento continuo del proyecto, estimar la
productividad y la calidad
o Se tienen:
Herramientas de planificacin de proyectos
Herramientas de seguimientos de requisitos
Herramientas de gestin y medida

Herramientas de soporte
o Se tienen:
Herramientas
Herramientas
Herramientas
Herramientas

de documentacin
para software de sistemas
de control de calidad
de bases de datos

Principales usuarios
Analistas
Desarrolladores
Ingenieros de software

Debilidades de CASE (Desventajas) Las siguientes deficiencias se convierten en


desventajas.

Soporte parcial del ciclo de vida, lo que permite automatizar solo parte
de las actividades de desarrollo.
Incompatibilidad entre las herramientas.
Escasa e inadecuada documentacin generada por la herramienta
Funcionamiento definiciente en entornos multiusuarios ya que muchas
herramientas surgieron para ordenadores personales
Poca capacidad personalizacin
Costo de adquisicin alto, no solo de la herramienta sino de la
plataforma que exige.
Falsas expectativas.

Caractersticas deseables

Soporte multi-usuario
Personalizacin
Control de documentos y versiones
Gestin de proyectos
Estadsticas de productividad y mtricas del software
Pruebas
Simulacin y prototipado

Ejemplos de herramientas CASE ms usadas

Erwin: herramienta de diseo de base de datos.


EasyCase: herramienta para analiss y diseo dentro del desarrollo de sw.
Oracle designer
Power Designer
System Arhcitect

Rational ROse

Criterios de seleccin de una herramienta case

Tipo de computador (Mainfram, Ws, PC)


Lenguaje al que va orientada
Metodologa soportada
Posibilidad de integracin con toras plataformas
Formacin requerida, precio(de 400 a 4000 dlares sin contar formacin
ni mantenimiento), asistencia tcnica, mantenimiento.

Requisito de aplicacin de CASE

Conocimiento y manejo de metodologas


Capacidad de trabajo en equipo
Desarrollo conjunto con los usuarios (Prototipos)
Equipamiento apropiado.

Conceptos y funcionalidades bsicas


Los principales conceptos usados en las herramientas de ayuda al desarrollo
son:
Ayuda de la herramienta:
o Ayuda incorporada al programa, da informacin sobre el uso de
los componentes de la propia herramienta.
o Caractersticas:
Fcil acceso
Bsqueda por temas o palabras claves
Interactiva y evita el uso de manuales
Diccionario de datos:
o Descripcin lgica de los datos para el usuario. Junta la
informacin sobre los datos almacenados en una BD.
o (Descripcion, significado, estructura, consideraciones de
seguridad y uso de app)
Ingeniera de software:
o Es el tratamiento sistmico de todas las fases del ciclo de vida del
software, abordando el desarrollo de SI de forma similar a los
proyectos de ingeniera.
o Esto implica la identificacin de:
Las tareas a realizar (segn la metodologa de desarrollo)
Los productos a obtener
Las tcnicas y herramientas a usar.

Ingeniera directa:
o Es el proceso de produccin de cdigo a partir de sus
especificaciones.
Ingeniera inversa:
o Conjunto de tareas destinadas a obtener las especificaciones de
un SI, partiendo del propio sistema.
o Es una actividad tpica del mantenimiento, cuando no existen las
especificaciones de diseo de la aplicacin a mantener.
Metodologa de planificacin y desarrollo de aplicaciones:
o Es el conjunto de mtodos que basados en unos principios, se
integran en le marco del ciclo de vida de los sistemas.
o La metodologa debe incluir:
Las tareas a realizar
Los responsables de cada una de ellas
Los productos a obtener en el desarrollo de un SI
Tambin puede hacer referencia a las tcnicas a usar.
Reingeniera de sistemas:
o Es la modificacin de los componentes de una aplicacin, sin
cambiar sus funcionalidades por ejemplo: mejora de la
codificacin de un programa.
o Tambin se emplea este trmino para hacer referencia
conjuntamente a la ingeniera directa e inversa.
Sistemas de informacin
o Conjunto de elementos fsicos, lgicos, de comunicacin, datos y
personal que , interrelacionados permiten el almacenamiento,
transmisin y procesamiento de la informacin.
Workbench
o Es una interface grafica que permite modelar procesos y datos.
o Est basada en el mismo principio de la programacin visual: no
usa lenguajes procedurales sino iconos( los cuales son objetos que
se almacenan en el repositorio)
o Permite aplicar recursividad es decir ver los modelos en diferentes
niveles de detalle.
o Permite manejar diferentes metodologas de anlisis y diseo.

Sirve de ayuda metodolgica para quienes no estn habituados a


usarlas.

Bloques consecutivos del CASE


La arquitectura de entorno, compuesta por la plataforma hardware, y el
soporte del sistema operativo (incluida la red y la gestin de la BD) forman la
base del CASE.
Adems el entorno CASE necesita:
Un conjunto de servicios de portabilidad que forman un puente entre:
Las herramientas case y su marco de integracin y la arquitectura de
entorno.
El marco de integracin es un conjunto de programas especializados que
permiten a cada herramienta CASE comunicarse con las dems, para crear una
base de datos de proyecto y mostrar una apariencia homognea al ingeniero
de software.
Los servicios de portabilidad permiten que las herramientas case y su
marco de integracin puedan migrar a travs de diferentes plataformas
hardware y SO, sin grandes esfuerzos de adaptacin.

No toda las herramientas case se construyeron usando todos los bloques


componentes, porque algunas de ellas dan soluciones puntuales o sea ayudan
es una actividad concreta de la ingeniera de software pero no se comunican

directamente con otras herramientas, porque no est unida a una BD de


proyectos.
En relacin a los niveles de integracin:
Las herramientas individuales (solucin puntual) estn en el nivel
ms bajo del espectro de integracin.
Las herramientas que proporcionan facilidades para el intercambio de
datos, el nivel de integracin aumenta. Estas herramientas generan una
salida en un formato estndar compatible con otras herramientas que
pueden leer este formato. Los fabricantes de herramientas case
complementarias trabajan juntos para establecer un puente entre ellas.
La integracin por fuente nica se da cuando un fabricante de
herramientas case integra diferentes herramientas y las vende como un
nico paquete. Aunque es bastante efectivo la mayora de estos tienen
una arquitectura cerrada que hace difcil aadir nuevas herramientas de
otros vendedores.
El entorno de soporte de proyectos integrados (IPSE) tiene
estndares para cada bloque componentes. Los vendedores de
herramientas case usan estos estndares IPSE para construir
herramientas entre s.

Opciones de integracion

Nota: pocas herramientas case se usan de manera aislada por eso surge la
integracion entre ellas
a) Intercambio de datos (punto a punto)
Exportar datos de herramienta A a herramienta B, pasando por un
traductor
Desventaja
Solo parte de los datos exportados es utilizable porla herramienta
receptora, ya que no fue diseada para ser totalmente compatible
b) Acceso comun a herramientas
Permite al usuario utilizar distintas herramientas, de forma similar a la
anterior (osea con intercambio de datos)
Nota: es ponerle, a las 2 herramientas que intercambian datos, una
interfaz grafica comn.
c) Integracion de datos
Gestion comn de datos
o Contiene una nica BD logica.
Datos compartidos
o Las herramientas del nivel de datos compartidos tienen
estructuras de datos y semntica compatible
o Entonces da la ventaja de poder compartir datos sin necesidad de
la etapa de traduccin
Interoperabilidad
o Las herramientas que combinan las caractersticas de acceso
comn y la capacidad de compartir datos, tienen la capacidad de
interoperacion.
d) Integracin total
Para lograr la integracin total el entorno case debe aadir estas 2
caractersticas:
o Gestin de metadatos
o Capacidad de control

Los metadatos
Representan informacin sobre los datos generados por las distintas
herramientas case

Das könnte Ihnen auch gefallen