Está en la página 1de 12

I N S T I T U TO T E C N O L O G I C O S U P E R I O R

DE TA MA Z U N C HA L E
Equipo integrado por:
-Juan Antonio Pascual
-Crescencio Santiago Snchez
Herramientas CASE
Aplicada en la Etapa
Evol uci n
Responsable de la asignatura:
Ing. Gabino Mrquez Prez
Esencialmente, un CASE es una herramienta que ayuda al ingeniero de software a
desarrollar y mantener software.
Herramientas
DEFINICION:
Herramientas individuales para ayudar al desarrollador de software o administrador
de proyecto durante una o ms fases del desarrollo de software (o mantenimiento).
Definido en Terminology for Software Engineering and Computer-aided Software Engineering by B.Terry &
D.Logee, Software Engineering Notes, Abril 1990,
Una combinacin de herramientas de software y metodologas de desarrollo
Definido en The CASE Experience, Carma McClure, BYTE Abril 1989 p.235
La eleccin del CASE va a depender de las estrategias de desarrollo:

Si tiene un gran volumen de aplicaciones desarrollados, es conveniente contrastar lo realizado a las
tcnicas de Anlisis y Diseo.

Si tiene presin por resultados a corto plazo, el empleo de un Lower CASE le ser de utilidad, si se
basa en modelos de datos y procesos claros y definidos.

Si desea realizar proyectos grandes es recomendable aplicar Upper y Lower CASE.

Si trabaja con archivos de grandes dimensiones, es recomendable que el CASE soporte el Diseo
de Bases de Datos.

Si no tiene formacin y experiencia en el manejo de metodologas es recomendable contar con
asesora especializada, que capacite al personal y supervise los avances de Anlisis y Diseo.

Evale la eficiencia del producto, en las pruebas unitarias y de integracin, y fundamentalmente en
las pruebas de sistemas.

Considere los recursos apropiados para usar el CASE, de Hardware (memoria, disco, concurrencia),
de Software (versin de Sistema Operativo).
CONSIDERACIONES PARA LA ELECCIN DE LA HERRAMIENTAS CASE
EN QUE CONSISTE
En la mayora de los proyectos se considera esta etapa como Mantenimiento y
Evolucin, y se le asigna, no solo el agregado de nuevas funcionalidades(evolucin);
sino la correccin de errores que surgen(mantenimiento). En la practica esta
denominacin no es del todo errnea, ya que es posible que aun luego de una etapa
de debugging y validacin se filtren errores.
Evolucin
La categora de herramientas de mantenimiento se puede subdividir en:

Herramientas de Mantenimiento
Herramientas de reingeniera
Herramientas de Ingeniera Inversa
Herramientas de reestructuracin y
anlisis de cdigo
Herramientas de Ingeniera Inversa
La Ingeniera Inversa requiere algunas herramientas especializadas que no son normalmente
familiares para muchos usuarios (e incluso para muchos desarrolladores de software).

Desensambladores
Descompiladores
Depuradores
Ingeniera Inversa/Editores Hexadecimales
Otras Herramientas

Se le denomina Ingeniera Inversa al proceso mediante el cual se parte de un objeto, dispositivo o
sistema para descubrir el proceso tecnolgico mediante el cual se le ha confeccionado, estudiando su
estructura, su operacin y funcionamiento, analizando con especial atencin, los detalles de cada
parte que le conforma, con el objetivo de hallar el modo en que funciona y a su vez obtener la
capacidad de recrear tal sistema u objeto desde cero, de forma idntica o similar
Desensambladores
Un desensamblador es exactamente lo contrario de un ensamblador. Tal como un
ensamblador convierte cdigo escrito en ensamblador en cdigo mquina binario, un
desensamblador invierte el proceso e intenta recrear el cdigo en ensamblador
partiendo del cdigo mquina binario.
Descompiladores
La descompilacin lleva el proceso un paso mas all e intenta reproducir el cdigo a
un lenguaje de alto nivel. Frecuentemente, este lenguaje es C, porque C es simple y
lo suficientemente primitivo para facilitar el proceso de descompilacin.
La descompilacin tiene sus problemas, porque muchos datos y construcciones para
legibilidad se pierden durante el proceso original de descompilacin, y no pueden ser
reproducidos.
DESCOMPILADORES COMUNES

DCC Decompiler:
Dcc es una excelente perspectiva terica a la descompilacin, pero el descompilador slo
soporta programas MSDOS.

Reverse Engineering Compiler (REC)
REC es un potente "descompilador" que descompila cdigo ensamblador a una representacin
del cdigo semejante a C. El cdigo est a medio camino entre ensamblador y C, pero es mucho
mas legible que el ensamblador puro.
Depuradores
Los depuradores son, con la posible excepcin de un descompilador potente, el mejor amigo de un
ingeniero inverso. Un depurador permite al usuario ejecutar el programa paso a paso, y examinar
varios valores y acciones.
Los depuradores avanzados a menudo contienen por lo menos un desensamblador rudimentario,
caractersticas de reensamblado o edicin hexadecimal.
Los depuradores generalmente permiten al usuario colocar puntos de ruptura en instrucciones,
llamadas a funcin e incluso lugares de la memoria.

Un punto de ruptura (breakpoint) es una instruccin al depurador que permite parar la ejecucin del
programa cuando cierta condicin se cumpla. Por ejemplo, cuando un programa accede a cierta variable,
o llama a cierta funcin de la API, el depurador puede parar la ejecucin del programa.
DEPURADORES WINDOWS
OllyDbg: OllyDbg es un potente depurador Windows con un motor de ensamblado y
desensamblado integrado. Tiene numerosas otras caractersticas incluyendo un precio de 0$. Muy til
para parcheado, desensamblado y depuracin.

WinDBG: Es una pieza de software gratuita de Microsoft que puede ser usada para depuracin local
en modo usuario, o incluso depuracin remota en modo kernel. WinDBG no es lo mismo que el mejor
conocido depurador de Visual Studio, pero viene con un interfaz grfico de todas maneras. Viene en
versiones de 32 y 64 bits.


Herramientas de Reingeniera
Concepto simple es el rediseo de un proceso en un negocio o un cambio drstico de un proceso. A
pesar que este concepto resume la idea principal de la reingeniera esta frase no envuelve todo lo que
implica la reingeniera.

Reingeniera es comenzar de cero, es un cambio de todo o nada, adems ordena la empresa alrededor
de los procesos. La reingeniera requiere que los procesos fundamentales de los negocios sean
observados desde una perspectiva transfuncional y en base a la satisfaccin del cliente.

Para que una empresa adopte el concepto de reingeniera, tiene que ser capaz de deshacerse de las
reglas y polticas convencionales que aplicaba con anterioridad y estar abierta a los cambios por medio
de los cuales sus negocios puedan llegar a ser ms productivos
Una definicin rpida de reingeniera es "comenzar de nuevo". Reingeniera tambin significa el
abandono de viejos procedimientos y la bsqueda de trabajo que agregue valor hacia el consumidor.
Las actividades de valor agregado tienen dos caractersticas, es algo que el cliente aprecia y es
importante que se ejecuten correctamente desde la primera vez. La reingeniera se basa en crear
procesos que agreguen el mayor valor a la empresa.
Son el tipo ms simple de herramientas CASE.
Automatizan una fase dentro del ciclo de vida.
Dentro de este grupo se encontraran las
herramientas de reingeniera, orientadas a la
fase de mantenimiento.
Juegos de herramientas o Toolkits:
Las herramientas CASE deben brindar lo siguiente:

Topologas de aplicacin flexibles
Aplicaciones porttiles
Control de versin
Crear cdigo compilado en el servidor
Dar un Soporte multiusuario
Ofrecer Seguridad

También podría gustarte