You are on page 1of 8

Fuente: http://rinconfinanzas.blogspot.com/2006/07/i ngenieria-en-reversa.

html
Por Francisco Fuenzalida.

Ingeniera en Reversa

Cuando la necesidad del cliente se enfoca desde su punto de vista y no del de la empresa"

Es comn ver que las empresas planifican sus productos y servicios para ofrecerlos al publico, determinando cuales sern los atributos que ellos creen que son necesarios para sus clientes y que satisfagan dichas necesidades. Pero muchas veces este enfoque esta mal planificado o es ineficiente, es decir, que el cliente no se siente satisfecho con lo que le ofrecen o no existe el producto/servicio o no contiene los atributos que realmente el cliente necesita. Tal fenmeno se produce porque el anlisis se realiza de la siguiente forma: EMPRESA ------> CLIENTE

Siendo que muchas veces el enfoque debiera ser desde las necesidades del cliente para que la empresa las satisfaga, es decir: EMPRESA <------ CLIENTE Este concepto, es muy similar al usado en la Ingeniera Inversa, desarrollado por los japoneses, en que toman el producto de la competencia y lo desarman por partes hasta que al desarmarlo totalmente analizan la forma en que fue fabricado, es decir, determinan los factores crticos en su fabricacin. Dicho enfoque es el que proponemos en este artculo, ya que reconoce que factores debe contener el producto/servicio para que realmente satisfaga sus expectativas. A pesar de que muchas veces las empresas analizan y segmentan a sus consumidores pensando en que necesitaran al momento de consumir, no es suficiente ya que muchas veces la fuente de la que proviene el anlisis no tiene relacin con el consumidor y su contexto. En particular, que el diseo de un producto para el mercado adolescente lo haga una persona de 60 aos, no tiene mucho sentido, a pesar de contratar un estudio de mercado que lo respalde. El problema es que dicho estudio de mercado tambin lo har una persona lejana al mercado en cuestin, es decir, un adulto de 40 aos, cayendo en el mismo problema. Esto, es similar a cuando un padre le compra zapatillas a su hijo y su eleccin se basa en atributos como durabilidad, comodidad y buen precio; siendo que en realidad lo que el nio quiere es estilo y pertenecer a la elite de su circulo de amigos, cualidades que el sujeto que realiza la compra efectiva, tiene total desconocimiento y punto de comparacin. En definitiva, lo que debiese hacerse es simular lo mas realistamente la situacin en que surge la necesidad consumidor por el bien, tomando en cuenta muchos de los factores que por triviales que parezcan, aportan a la elaboracin de un producto/servicio con todos los atributos necesarios. Esto se realiza en base a la simulacin de situaciones, contratando a consumidores prototipo que conozcan realmente los escenarios, en que el

consumidor se sienta realmente satisfecho, y no que acomode sus preferencias a lo existente. Con esto, se puede diferenciarse del resto, fidelizar al cliente y lograr un mayor margen. En conclusin: "pngase en el caso del consumidor, realice un brainstorming y anote que es lo que necesita".

FUENTE:
Por: Vctor Cruz, Sally Zaltzman Feb 3, 2005

www.ambienteplastico.com/artman/publish/article_75.php Ingeniera en reversa de un molde de inyeccin La construccin de moldes para inyeccin (o inyeccin soplo) de plsticos representa un reto tecnolgico, dada la gran cantidad de factores a lograr para que el producto inyectado cumpla con los estndares de diseo y calidad Si bien muchos de los moldes fabricados parten de un diseo, en la mayora de los casos es necesario elaborar el molde a partir del modelo inyectado. La problemtica es, cmo debe fabricarse si no se dispone de la informacin tcnica sobre el tamao y forma de la pieza. En tales casos la ingeniera en reversa permite la rpida reconstruccin de la pieza y la subsecuente obtencin del molde.

La Ingeniera en Reversa ha tenido un gran auge a nivel mundial por aplicaciones en el desarrollo de nuevos productos, la reproduccin de sus elementos de fabricacin (moldes), y ltimamente tambin en el desarrollo de juegos multimedia.

Definiremos a la Ingeniera en Reversa como un proceso que consiste en la obtencin de datos numricos tridimensionales de un objeto, que permitirn la creacin de formas geomtricas en un sistema de Diseo Asistido por Computadora (CAD) y por ltimo, la manufactura del diseo (con la ayuda de la Manufactura Asistida por Computadora -CAM) a fin de obtener una parte idntica al original o un molde para generar el objeto original. La Ingeniera en Reversa se vale de una serie de etapas interdependientes, en las que cada etapa est construida de la informacin desarrollada en la etapa anterior. Cada una de estas etapas se explicar mediante la Ingeniera en Reversa de un molde de inyeccin para la fabricacin de una mascarilla de oxgeno, realizada en el Centro de Ingeniera Asistida por Computadora del Instituto Tecnolgico Autnomo de Mxico (ITAM) FASE 1: EVALUACIN DE LA INFORMACIN Consiste en valorar si el proyecto se puede llevar a cabo con las herramientas con las que se cuenta (software, instrumentos de medicin y medios de digitalizacin, entre otros), si los productos originales se encuentran en condiciones para ser reproducidas y si se justifica econmicamente la inversin de tiempo y recursos La valoracin del proyecto result positiva, pues la mascarilla est en condiciones ptimas para la obtencin de informacin tcnica, su composicin consiste en superficies relativamente sencillas de modelar en un sistema de CAD, y se cuenta con el software y equipo para la digitalizacin de la pieza FASE 2: GENERACIN DE INFORMACIN TCNICA En esta etapa se genera la informacin tcnica a partir de instrumentos de medicin y digitalizacin Para digitalizar la mascarilla de oxgeno se utiliz un brazo digitalizador y un sistema de medicin de coordenadas Con ayuda de las funciones del brazo, se trazaron las lneas de referencia siguiendo y respetando la geometra del objeto Para reconstruir las superficies de la mascarilla en CAD se seleccionan los puntos y lneas que mejor describen la forma. En la zona de la mascarilla en forma de nariz, dada la precisin necesaria, se tomaron los datos de la mquina de medicin de coordenadas FASE 3: VALIDACIN DEL DISEO Para verificar y validar el diseo generalmente se construye un prototipo, pero en este caso, la validacin se hizo de dos formas distintas En la primera, empleando un programa de CAD se revisa si las superficies del modelo en 3D muestran continuidad; es decir, si se respeta la tangencia y la curvatura de las mismas

Utilizando la funcin del programa de CAD donde se visualiza el reflejo de la luz en el modelo desde diferentes ngulos, puede determinarse si existe continuidad entre las diferentes superficies Con el fin de medir fsicamente las superficies, se construy un modelo fsico de las superficies mediante un sistema de Manufactura Asistida por Computadora (CAM) FASE 4: IMPLEMENTACIN DEL PROYECTO Para el desarrollo de las cavidades del molde en computadora, se utiliz la mascarilla de oxgeno en 3D. Su diseo es relativamente sencillo, debido a que se puede hablar slo de dos superficies: una exterior y una interior. Utilizando el programa de CAD, se separa la parte inferior de la superior de la mascarilla. La nica zona que no se puede dividir es donde se conecta el tubo de oxgeno, por lo esa rea se trabaja por separado La superficie superior forma la hembra del molde, la interior el macho y la zona donde se conecta el oxgeno, el inserto. Para el diseo del macho, primero se crea un slido en forma de cubo. Despus, a este slido se le resta la superficie interna de la mascarilla y el inserto; para generar la hembra se utiliza la superficie externa. Al contar con las particiones del molde diseadas en CAD, se puede utilizar la manufactura por computadora para maquinar el molde en Duraluminio El molde se maquin primero en una cera, a fin de apreciar su forma, cierre y posibles problemas de fabricacin, antes de cortar el material final, que ya se encuentra escuadrado y rectificado La manufactura por computadora del molde es un proceso muy especializado que involucra muchos factores y consideraciones, que se analizarn en una publicacin posterior

La ingeniera inversa se ha definido como el proceso de construir especificaciones de un mayor nivel de abstraccin partiendo del cdigo fuente de un sistema software o cualquier otro producto (se puede utilizar como punto de partida cualquier otro elemento de diseo, etc.). Estas especificaciones pueden volver ser utilizadas para construir una nueva implementacin del sistema utilizando, por ejemplo, tcnicas de ingeniera directa.

Beneficios de Ingeniera Inversa


La aplicacin de ingeniera inversa nunca cambia la funcionalidad del software sino que permite obtener productos que indican cmo se ha construido el mismo. Se realiza permite obtener los siguientes beneficios:

Reducir la complejidad del sistema: al intentar comprender el software se facilita su mantenimiento y la complejidad existente disminuye.

Generar diferentes alternativas: del punto de partida del proceso, principalmente cdigo fuente, se generan representaciones grficas lo que facilita su comprensin.

Recuperar y/o actualizar la informacin perdida (cambios que no se documentaron en su momento): en la evolucin del sistema se realizan cambios que no se suele actualizar en las representaciones de nivel de abstraccin ms alto, para lo cual se utiliza la recuperacin de diseo.

Detectar efectos laterales: los cambios que se puedan realizar en un sistema puede conducirnos a que surjan efectos no deseados, esta serie de anomalas puede ser detectados por la ingeniera inversa.

Facilitar la reutilizacin: por medio de la ingeniera inversa se pueden detectar componentes de posible reutilizacin de sistemas existentes, pudiendo aumentar la productividad, reducir los costes y los riesgos de mantenimiento.

La finalidad de la ingeniera inversa es la de desentraar los misterios y secretos de los sistemas en uso a partir del cdigo. Para ello, se emplean una serie de herramientas que extraen informacin de los datos, procedimientos y arquitectura del sistema existente.

Tipos de Ingeniera Inversa


La ingeniera inversa puede ser de varios tipos:

Ingeniera inversa de datos: Se aplica sobre algn cdigo de bases datos (aplicacin, cdigo SQL, etc) para obtener los modelos relacionales o sobre el modelo relacional para obtener el diagrama entidad-relacin

Ingeniera inversa de lgica o de proceso: Cuando la ingeniera inversa se aplica sobre cdigo de un programa para averiguar su lgica o sobre cualquier documento de diseo para obtener documentos de anlisis o de requisitos.

Ingeniera inversa de interfaces de usuario: Se aplica con objeto de mantener la lgica interna del programa para obtener los modelos y especificaciones que sirvieron de base para la construccin de la misma, con objeto de tomarlas como punto de partida en procesos de ingeniera directa que permitan modificar dicha interfaz.

Herramientas para la Ingeniera Inversa


Los Depuradores
Un depurador es un programa que se utiliza para controlar otros programas. Permite avanzar paso a paso por el cdigo, rastrear fallos, establecer puntos de control y observar las variables y el estado de la

memoria en un momento dado del programa que se est depurando. Los depuradores son muy valiosos a la hora de determinar el flujo lgico del programa. 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. Algunos depuradores de Windows son:

OllyDbg es un potente depurador 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.

Las Herramientas de Inyeccin de Fallos


Las herramientas que pueden proporcionar entradas malformadas con formato inadecuado a procesos del software objetivo para provocar errores son una clase de herramientas de insercin de fallos. Los errores del programa pueden ser analizados para determinar si los errores existen en el software objetivo. Algunos fallos tienen implicaciones en la seguridad, como los fallos que permiten un acceso directo del asaltante al ordenador principal o red. Hay herramientas de inyeccin de fallos basados en el anfitrin que funcionan como depuradores y pueden alterar las condiciones del programa para observar los resultados y tambin estn los inyectores basados en redes que manipulan el trfico de la red para determinar el efecto en el aparato receptor.

Los Desensambladores
Se trata de una herramienta que convierte cdigo mquina en lenguaje ensamblador. El lenguaje ensamblador es una forma legible para los humanos del cdigo mquina. Los desensambladotes revelan que instrucciones mquinas son usadas en el cdigo. El cdigo mquina normalmente es especfico para una arquitectura dada del hardware. De forma que los desensambladotes son escritor expresamente para la arquitectura del hardware del software a desensamblar. Algunos ejemplos de desensambladores son:

IDA Pro es un desensamblador profesional extremadamente potente. La parte mala es su elevado precio.

PE Explorer es un desensamblador que se centra en facilidad de uso, claridad y navegacin. No es tan completo como IDA Pro, pero tiene un precio ms bajo.

IDA Pro Freeware 4.1 se comporta casi como IDA Pro, pero solo desensambla cdigo para procesadores Intel x86 y solo funciona en Windows.

Bastard Disassembler es un potente y programable desensamblador para Linux y FreeBSD.

Ciasdis esta herramienta basada en Forth permite construir conocimiento sobre un cuerpo de cdigo de manera interactiva e incremental. Es nico en que todo el cdigo desensamblado puede ser re-ensamblado exactamente al mismo cdigo.

Los compiladores Inversos o Decompiladores


Un decompilador es una herramienta que transforma cdigo en ensamblador o cdigo mquina en cdigo fuente en lenguaje de alto nivel. Tambin existen decompiladores que transforman lenguae intermedio en cdigo fuente en lenguaje de alto nivel. Estas herramientas son sumamente tiles para determinar la lgica a nivel superior como bucles o declaraciones if-then de los programas que son decompilados. Los decompiladores son parecidos a los desensambladotes pero llevan el proceso un importante paso ms all. Algunos decompiladores pueden ser:

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

Boomerang Decompiler Project es un intento de construir un potente descompilador para varias mquinas y lenguajes.

Reverse Engineering Compiler (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 ms legible que el ensamblador puro.

Las Herramientas CASE


Las herramientas de ingeniera de sistemas asistida por ordenador (Computer-Aided Systems Engineering CASE) aplican la tecnologa informtica a las actividades, las tcnicas y las metodologas propias de desarrollo de sistemas para automatizar o apoyar una o ms fases del ciclo de vida del desarrollo de sistemas. En el caso de la ingeniera inversa generalmente este tipo de herramientas suelen englobar una o ms de las anteriores junto con otras que mejoran el rendimiento y la eficiencia.

You might also like