Reingenieria IngenieriaInversa

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 12

Introduccin.

Uso de la ingeniera inversa en el desarrollo de software.


La ingeniera inversa es el proceso de analizar un sistema para crear una representacin del mismo, pero a un
nivel ms elevado de abstraccin. La ingeniera inversa es un proceso que recorre hacia atrs el ciclo de
desarrollo de software. Es posible iniciar el proceso de abstraccin a partir del cdigo fuente y llegar hasta la
fase de anlisis, lo cual representa un fluo inverso.
En la prctica, e!isten dos tipos de ingeniera inversa
". #asado en el cdigo fuente$
El cdigo fuente est disponible% sin embargo, aspectos de ms alto nivel no son conocidos, e!iste una
documentacin pobre o e!iste documentacin, pero no corresponde, por eemplo, en t&rminos de
actualizacin.
'. #asado en el programa eecutable$
(o e!iste cdigo fuente disponible, as que los esfuerzos se concentran en descubrir el correspondiente
cdigo fuente.
El principal enfoque que se le ha dado a la reingeniera es hacia las actividades de mantenimiento. En el
conte!to de mantenimiento, los obetivos de la reingeniera son$ predecir, corregir, perfeccionar y adaptar. )tros
usos que se la han dado a la reingeniera son$ logro de los atributos de calidad, logro de obetivos de los
requerimientos, optimizacin de la arquitectura, dise*o de patrones, y optimizacin del desempe*o bao
m+ltiples criterios. La reingeniera ha sido utilizada en los diferentes paradigmas de desarrollo, tales como$
orientado a obetos, orientado a obetivos, orientado a agentes, y orientado a aspectos.
ESTRATEGIAS PARA IMPLEMETAR LA IGEIER!A I"ERSA # LA REIGIER!A
El obetivo de hacer ingeniera inversa es generar una documentacin del sistema que permita tratamientos
futuros, tales como un incremento de funcionalidad, lo cual representa e!tender el tiempo de vida del mismo.
,ebido a que el obetivo es aumentar la funcionalidad, entonces lo ms conveniente es construir un modelo de
casos de uso a partir del cdigo fuente. En un sistema no documentado, los casos de uso pueden ser
identificados en el cdigo fuente, o a trav&s de la interfaz grfica de usuario.
El modelo construido aparentemente se queda en una sola vista de la arquitectura. La estrategia que se propone
est basada en la identificacin de casos de uso y la construccin de un grafo de relaciones que conecta los
casos de uso con el cdigo fuente. ,e esta forma se tendr una combinacin de la vista conceptual y la vista de
implementacin, teniendo la posibilidad de ir de la vista de casos de uso hacia atrs a los requerimientos, lo
mismo hacia delante a las vistas lgica y de proceso% esto con el fin de completar todas las vistas de la
arquitectura.

El procedimiento recomendado para hacer la ingeniera inversa a trav&s de la -./ y en forma manual es$
". /dentificacin de casos de uso en la -./.
'. /dentificacin de las relaciones entre casos de uso.
0. 1onstruir un grafo con los casos de uso y sus relaciones.
2. Localizacin de los archivos de cdigo fuente correspondientes a los casos de uso y las entidades de
cdigo fuente derivadas. 3gregar estos artefactos al grafo.
4. /dentificacin de las relaciones entre las entidades de cdigo fuente. 1onectar los artefactos de cdigo
fuente entre ellos y conectarlos con el nivel anterior del grafo.
5. -eneracin de la versin final del grafo de relaciones.
M en C Alejandro Cifuentes A. Pgina 1
6i no se dispone de cdigo eecutable, la ingeniera inversa se realiza a partir del cdigo fuente, para lo cual se
utiliza un procedimiento parecido al anterior.

El $roceso de reingeniera
El obetivo de hacer reingeniera es entender un sistema de software e!istente, a nivel de especificaciones,
dise*o e implementacin% esto con el fin de hacer una re7implementacin para aumentar y8o meorar la
funcionalidad del sistema, el desempe*o o la misma implementacin.
El proceso de reingeniera est orientado a sistemas que cuentan con cierto nivel de documentacin. La
documentacin del sistema est integrada por el siguiente conunto de artefactos$ documento de requerimientos,
descripcin de casos de uso, prototipos de la interfaz de usuario por caso de uso, diagramas de casos de uso,
diagramas de secuencia, diagramas de colaboracin, clases, diagramas de clases, archivos de cdigo fuente,
archivos de cdigo eecutable y grafo de relaciones entre artefactos.
El procedimiento recomendado para realizar la reingeniera es el siguiente$
". Evaluar la cantidad de funcionalidad e!presada en los casos de uso.
'. /dentificar la funcionalidad nueva.
0. ,efinir los nuevos casos de uso.
2. 9acer ingeniera hacia delante a partir de los casos de uso, completando el grafo de relaciones.
4. -eneracin de la versin final del grafo de relaciones.
#ao este enfoque, incluso se pueden realizar incrementos o austes al cdigo fuente, o se puede generar cdigo
fuente nuevo tratando de optimizar la funcionalidad. La arquitectura completa del sistema se e!presa mediante
el grafo de relaciones que conecta los casos de uso con el cdigo fuente, pasando por los dems artefactos del
modelado, teniendo tambi&n la posibilidad de llegar hacia atrs a los requerimientos. 1abe mencionar que el
grafo se va completando a partir del paso 0.
%esarrollo.
Parte I.
". ,escarga de (etbeans de :ava. En el sitio de
(etbeans$ http$88www.netbeans.org se puede descargar
el :,;5 y (etbeans<.
'. ,escarga del plug7in de .=L =odeling para
(etbeans de :ava.
:ava posee un mdulo para el desarrollo de /ngeniera
/nversa con .=L =odeling, el cual est incluido en
(etbeans como >everse Engineering :ava
3pplications y se encuentra disponible en$
http$88www.netbeans.org8?b8448uml7re.html
@Ahttp$88www.netbeans.org8?b8448uml7re.htmlBC
La descarga del plug7in se hace desde la .>L$
http$88dlc.sun.com.edgesuite.net8netbeans85.D8rc8start.h
tmlEfilenameFzip8moduleclusters8netbeans75.Drc'7
'G"GG5G"G"G07ml7uml.zip
M en C Alejandro Cifuentes A. Pgina 2
3. 3l ingresar al sitio directamente se presenta la
siguiente ventana de descarga$
.na vez descargado el archivo, puede encontrarse en el escritorio por eemplo, se e!trae y se instala con una de
las dos opciones siguientes$
)pcin "$ ,igitar clic derecho del mouse en el
icono del instalador. 6e muestra el siguiente men+ con
la ubicacin directa de instalacin.
Este es el icono del instalador$
.
El men+ de instalacin$ .
)pcin '$ ,igitar doble clic del mouse en el
icono. 6e muestran las opciones de instalacin y se
selecciona la carpeta de (etbeans <.G #eta.
1on cualquiera de las dos opciones anteriores se
instala automticamente, como se indica enseguida$
Parte II.
6e abre el /,E de (etbeans de :ava para iniciar el dise*o de un sistema.
M en C Alejandro Cifuentes A. Pgina 3
1. En el men+ principal
seleccionar File > new
Project....
2. En Choose Project >
Categories se selecciona UML
y en Projects se selecciona :ava
Platform Model.
3. 6e le asigna un nombre.
Hor eemplo, UMLDemo.
4. ,el men+ principal File
> new File, se selecciona
UMLDemo para crear un nuevo
diagrama. 6e selecciona Use
Case Diagram.
M en C Alejandro Cifuentes A. Pgina 4
4. La apariencia general del
/,E debe mostrarse en forma
similar a la siguiente imagen.
6. En el lado izquierdo en
Projects se muestra el icono de
UMLDemo.
7. I se puede desplegar su
contenido seleccionando su
smbolo &.
Parte III.
En el lado derecho de la ventana aparece la paleta de componentes , cuyos smbolos se pueden arrastrar y
pegar en el rea central de trabao.
1ada componente tiene asociado un conunto de elementos o smbolos que se muestran al digitar un clic en &l.
M en C Alejandro Cifuentes A. Pgina 5
Introduccin al dise'o.
Para introducirse al dise'o( utili)ando los s*+olos anteriores( dise'ar el siguiente diagra*a,
". 1rear un nuevo archivo$
'. 6eleccionar la categora UML y tipo de
archivo Diagram. 1lic en Next$
0. 6eleccionar el diagrama de clase Class
Diagram. 1lic en Finish$
2. )bservar que en la parte izquierda de la
pantalla aparece la estructura del proyecto$
4. 6i se selecciona el elemento Class de la paleta
y se le arrastra al centro, la apariencia general
M en C Alejandro Cifuentes A. Pgina 6
del rea de trabao debe ser similar a la figura
de abao$
5. El componente 1lass posee tres partes$ El
ttulo, los atributos y las operaciones.
<. ,igitar doble clic sobre Unnamed para
cambiar el nombre de la clase. La zona se
marca en azul$
J. 6e ingresa el nombre, por eemplo
DicomImage$
D. 1on clic derecho sobre el smbolo de la clase
se muestra el siguiente men+ y se selecciona
Create Attribte, para crear un atributo en la
zona de atributos$
"G. La zona se marca en azul.
M en C Alejandro Cifuentes A. Pgina 7
"". I con doble clic en el nombre del atributo se
edita el nombre del atributo, por eemplo
private int width=0$
"'. 6e muestra la actualizacin en el componente$
"0. 3hora, se ingresan las restantes
modificaciones para obtener la apariencia
siguiente del componente$
Enseguida se de+e crear una car$eta en la cual se al*acena todo lo relacionado a la creacin del cdigo.
"2. 1rear un nuevo proyecto en el
cual se va a generar el cdigo,
seleccionando en categoras
:ava y en proyectos !a"a Class
Librar#. 1lic en Next$
"4. /ngresar el nombre del proyecto,
por eemplo %jercicioCodigo.
1lic en Finish$
M en C Alejandro Cifuentes A. Pgina 8
"5. )bservar que se actualiza la
carpeta de proyectos$
"<. 1on clic derecho seleccionar
UMLDemo$
"J. En el men+ mostrado
seleccionar &enerate Code'$
"D. En el men+ desplegable Karget
Hroect seleccionar
%jercicioCodigo$
En el rea central de trabao se muestra el cdigo y en la ventana inferior (t)t su descripcin. 1ada lnea de
cdigo posee un n+mero de lnea y al inicio de ellas se indica un smbolo L o 7, digitar en ellos para mostrar su
contenido o contraer el cdigo$
M en C Alejandro Cifuentes A. Pgina 9
Parte I".
Ingeniera Inversa.
1. En el men+ principal seleccionar
File > New Project$$$. 6eleccionar
en categoras UML y en proyectos
*e"erse %ngineered !a"a+
Platform Model$
M en C Alejandro Cifuentes A. Pgina 10
2. /ngresar el nombre del proyecto, por
eemplo UMLIngenieriaIn"ersa.
En el campo :ava Hroect
seleccionar el cdigo ava, en este
caso %jercicioCodigo. ,igitar en
Finish$
3. En la pesta*a de proyectos se
muestra la carpeta
UMLIngenieriaIn"ersa$
4. ,igitar clic derecho en la carpeta
DicomImage para mostrar el
siguiente men+$
5. 6eleccionando la opcin Create
Diagram From ,elected
%lements se muestra la siguiente
ventana. 6eleccionar la opcin
Class Diagram e ingresar el
nombre del diagrama, por eempo
IngenieriaIn"ersa. 1lic en Finish$
6. En la figura inferior se muestra el
diagrama de la clase$
M en C Alejandro Cifuentes A. Pgina 11
-TA, Generar un re$orte con un $ro.ecto individual si*ilar al de este e/ercicio. Incluir una +reve
introduccin al te*a( desarrollo( i*0genes( conclusiones . +i+liografa.
M en C Alejandro Cifuentes A. Pgina 12

También podría gustarte