<< Chapter < Page Chapter >> Page >
Breve descripción de la aplicación y realización de la Ingeniería Inversa de Procesos.

La primera actividad real de la ingeniería inversa comienza con un intento de comprender y posteriormente, extraer las abstracciones de procedimientos representadas por el código fuente. Para comprender las abstracciones de procedimientos, se analiza el código en distintos niveles de abstracción: sistema, programa, componente, configuración y sentencia.

Antes de iniciar el trabajo de ingeniería inversa detallado debe comprenderse totalmente la funcionalidad general de todo el sistema de aplicaciones sobre el que se esta operando. Esto es lo que establece un contexto para un análisis posterior, y proporciona ideas generales acerca de los problemas de interoperabilidad entre aplicaciones dentro del sistema. Así pues, cada uno de los programas de que consta el sistema de aplicaciones representará una abstracción funcional con un elevado nivel de detalle, creándose un diagrama de bloques como representación de la iteración entre estas abstracciones funcionales. Cada uno de los componentes de estos diagramas efectúa una subfunción, y representa una abstracción definida de procedimientos. En cada componente se crea una narrativa de procesamientos. En algunas situaciones ya existen especificaciones de sistema, programa y componente. Cuando ocurre tal cosa, se revisan las especificaciones para preciar si se ajustan al código existente, descartando posibles errores.

Todo se complica cuando se considera el código que reside en el interior del componente. El ingeniero busca las secciones del código que representan las configuraciones genéricas de procedimientos. En casi todos los componentes, existe una sección de código que prepara los datos para su procesamiento (dentro del componente), una sección diferente de código que efectúa el procesamiento y otra sección de código que prepara los resultados del procesamiento para exportarlos de ese componente. En el interior de cada una de estas secciones, se encuentran configuraciones más pequeñas. Por ejemplo, suele producirse una verificación de los datos y una comprobación de los límites dentro de la sección de código que prepara los datos para su procesamiento.

Para los sistemas grandes, la ingeniería inversa suele efectuarse mediante el uso de un enfoque semiautomatizado. Las herramientas CASE se utilizan para “analizar” la semántica del código existente. La salida de este proceso se pasa entonces a unas herramientas de reestructuración y de ingeniería directa que completarán el proceso de reingeniería.

Cuándo aplicar ingeniería inversa de procesos

Cuando la ingeniería inversa se aplica sobre código de un programa para averiguar su lógica o sobre cualquier documento de diseño para obtener documentos de análisis o de requisitos se habla de ingeniería inversa de procesos.

Habitualmente, este tipo de ingeniería inversa se usa para:

  • Entender mejor la aplicación y regenerar el código.
  • Migrar la aplicación a un nuevo sistema operativo.
  • Generar/completar la documentación.
  • Comprobar que el código cumple las especificaciones de diseño.

La información extraída son las especificaciones de diseño: se crean modelos de flujo de control, diagramas de diseño, documentos de especificación de diseño, etc. y pudiendo tomar estas especificaciones como nuevo punto de partida para aplicar ingeniería inversa y obtener información a mayor nivel de abstracción.

¿cómo hacemos la ingeniería inversa de procesos?

A la hora de realizar ingeniería inversa de procesos se suelen seguir los siguientes pasos:

  • Buscamos el programa principal.
  • Ignoramos inicializaciones de variables, etc.
  • Inspeccionamos la primera rutina llamada y la examinamos si es importante.
  • Inspeccionamos las rutinas llamadas por la primera rutina del programa principal, y examinamos aquéllas que nos parecen importantes.
  • Repetimos los pasos 3-4 a lo largo del resto del software.
  • Recopilamos esas rutinas “importantes”, que se llaman componentes funcionales.
  • Asignamos significado a cada componente funcional, esto es (a) explicamos qué hace cada componente funcional en el conjunto del sistema y (b) explicamos qué hace el sistema a partir de los diferentes componentes funcionales.

A la hora de encontrar los componentes funcionales hay que tener en cuenta que los módulos suelen estar ocupados por componentes funcionales. Además, suele haber componentes funcionales cerca de grandes zonas de comentarios y los identificadores de los componentes funcionales suelen ser largos y formados por palabras entendibles.

Una vez encontrados los posibles componentes funcionales, conviene repasar la lista teniendo en cuenta que un componente es funcional cuando Un componente es funcional cuando su ausencia impide seriamente el funcionamiento de la aplicación, dificulta la legibilidad del código, impide la comprensión de todo o de otro componente funcional o cuando hace caer a niveles muy bajos la calidad, fiabilidad, mantenibilidad, etc.

Vamos a ver cómo a partir de un código java cómo se puede realizar Ingeniería Inversa de Procesos. Tenemos dos clases (Persona y Trabajador)

class Persona {

protected String nombre;

protected int edad;

protected int seguroSocial;

protected String licenciaConducir;

public Persona(String nom, int ed, int seg, String lic) {

set(nom, ed); seguroSocial = seg; licenciaConducir = lic; }

public Persona() {

Persona(null, 0, 0, null); }

public int setNombre(String nom) {

nombre = nom; return 1; }

public int setEdad(int ed) {

edad = ed; return 1; }

public void set(String nom, int ed) {

setNombre(nom); setEdad(ed); }

public void set(int ed, String nom) {

setNombre(nom); setEdad(ed); }

}

class Trabajador extends Persona {

private String empresa;

private int salario;

public Trabajador(String emp, int sal) {

empresa = emp; salario = sal; }

public Trabajador() {

this(null,0); }

public int setEmpresa String emp) {

empresa = emp; return 1; }

public int setSalario(int sal) {

salario = sal; return 1; }

public void set(String emp, int sal) {

setEmpresa(emp); setSalario(sal); }

public void set(int sal, String emp) {

setEmpresa(emp); setSalario(sal); }

}

Si realizamos Ingeniería Inversa, el diagrama UML sería el siguiente:

Figura 1. Diagrama de clase generado a partir del código Java

Questions & Answers

what is inflation
Sama Reply
inflation is the general price increase of goods and services in an economy.
tesfie
Inflation is the persistent rise in the general price level
T-Max
inflation is characterized by increase in the general price of goods and services. when there is too much money in circulation. increase in demand of goods pursuing fewer goods. when purchasing power of money decreases .
Ejikeme
inflation is the persistent rise general price level
Habeeb
inflation is the persistent increase in price
Machall
hi
Rafiu
yes
boston
hi
Ayaan
how are you
Ayaan
increase in the general level of price...
sade
different between demand and quantity demand
Farhan Reply
No difference
MansoorAfghan
demand is the overall demand for it
MansoorAfghan
actually theres no difference
MansoorAfghan
quantity demanded is used in Equilibrium of d and s
MansoorAfghan
for evrything else u use deman
MansoorAfghan
how to calculate inflation
Richard Reply
Explain the factors that have led to high quantity demanded
Ogwang Reply
price of the product increase of price substitute product as people shift to cheap one
Black
what are the methods used by trade union to increase wages of their members?
Black Reply
strike
Pearl
the size of the commodity
Mensah
increase demand of labour decrease supply of labour
Black
I do support your answer Jackel.
keshav
but how do they do it?
Black
by increasing more labour and reduced the suppliers
Mensah
they can not increase labour, they increase demand of labour.
Black
how do they increase demand for labor?
Black
by analyzing the market equilibrium , cost reduction and cost control , savings in time .
yash
decreasing supply of labour are achieved through training and certification that require for you to employed, you must have certificate, also trade union encouraged government to restrict migration into the country causing shortage of labour supply. Note that the aim of union is to enhance life
Black
objective of union: better working conditions, liveable wage, protect member from unfair treatment which are done through negotiations betweens representative and management. known as collective bargaining.
Black
what is the nature of economics?
Tyscar Reply
economics is a social science since it seeks to solve social problem of scarcity
Jamal
main concerns is the decision individuals make on the allocation of scarce resources among the competing wants
Black
in the short run firm produce a positive as long as the price is larger than what?
yoel Reply
what is economic
Bah Reply
economics is the study of managing the resources in order to maximize the needs and satisfy the wants to a great extent in a regulated set-up..
Muhammad
One explanation for deviation when there is no impact on balance of trade
Shaneel
economic s is a social science that deals with human behavior as a relationship between ends and scarce means which has alternative uses
Derokiz
economic is a study of mankind in ordinary business of life
FIDELIS
economics it is the study of social science that deals with human behaviour as relationship between ends and scarce means which have alternative uses
salam
what is diminishing returns
Blessed Reply
what is the difference between calculus linear equation and derivative?
Bti
whats inferior goods?
jaamac Reply
Good having low quality , also known as giffin goods. When income increases people shift to better quality goods . Hence having a negative effect on inferior goods rather than positive relation ( ie when income increases demand increases but not in case of inferior goods ) example wheat and bajra .
yash
What do u understand by the word ENDS in professor Lord L C Robinson definition of Economics?
Kaba Reply
I understand that ENDS is the unlimited needs of human. But we have limited resources to achieve our unlimited needs/wants. Thank you.
Midhun
variable is a factor that can change
nyodb Reply
did you understand definition of variablE
nyodb
what is monopoly
Shahid Reply
A market situation where there is a single seller of a product for the buyers.
harmony
monopoly is when you have a product in the market and only one supplier got this product so he starts rising price and dominate the market, cause this product doesn't have a competitor
Anas
A market structure characterized by a single seller, selling a unique product in the market. In a monopoly market, the seller faces no competition, as he is the sole seller of goods with no close substitute.
Jale
This is a kind of market that only one seller dominate the market without no competition of a y product or seller.
Ojo
what is production possibility curve?
Lisa
a production possibility curve is a diagram that shows two goods produced in an economy in such a way that increase in the production of one good cannot be done without the decrease on the production of the other. there are efficient points, inefficient points and unattainable points on the PPC
The
production possibility curve or frontier is useful analytical tool for illustrating the concepts of scarcity, choice and opportunity costs.
wilflay
The International Year of Soils, 2015 (IYS 2015) was declared by the Sixty-eighth session of the United Nations General Assembly on December 20th, 2013 after recognizing December 5th as World Soil Day.The purpose of the IYS is to raise awarenessworldwide of the importance of soils for food security,
what
what is indifference curve
Evet
Monopoly is the explicit right given to business or entrepreneurship by the government to operate as the only entity in the economy
wilflay
what is economic system ?
wilflay
economical matter solve this system is know as economic system
what
indifference curve is a diagram that shows the combination of only 2 commodities in such a way that each point on the indifference curve gives the same level of satisfaction
The
all consumer is equal consumtion as definite all ..that type curve is indifference curve
what
what is variable?
Rajeev
economic structure of any area is ,city or country is called economic system
Jairam
what is the difference between rational and irrational choice
Amina
help
Amina
Rational choice theory is an economic principle that assumes that individuals always make prudent and logical decisions that provide them with the highest amount of personal utility. ... Most mainstream academic assumptions and theories are based on rational choice theory.
Anas
Irrationality is cognition, thinking, talking, or acting without inclusion of rationality. It is more specifically described as an action or opinion given through inadequate use of reason, or through emotional distress or cognitive deficiency.
Anas
help
Mensah
The meaning of inverse
Mensah
?
Anas
inverse what ? inverse means opposite .. like if ones going down other goes up so inverse relationship
MansoorAfghan
Definition of Inversely Related: Two variables are inversely related when an increase in one variable causes a reduction in the other variable. For example, when the price of a good increases, its quantity demanded decreases.
Anas
what is opotunity cost
salam
is an alternative forgone after the best choice have been selected.for example when you have cocacola and pepsi and you choose cocacola oportunity cost will be pepsi
Amin
explain the meaning of price cealing and price floor..?
Amin
Opportunity cost is the cost express in terms of forgone, alternatives after a choice have been made.
cyril
A price ceiling is the maximum price a seller can legally charge a buyer for a good or service. Consumers must not pay a price above the pries ceiling
Ntui
A price floor is that is imposed to protect consumers it can not be above the equilibrium price. It's the lowest price that producers must accept from a sales
Ntui
A price ceiling is a price control mechanism issued by the government to protect the consumers from high-priced commodities. It goes to set the highest amount a seller can charge per unit quantity of his product. N.B: This price mechanism isn't binding if equilibrium exists.
harmony
A price floor is a price control mechanism that seeks to protect the sellers by setting the lowest amount a seller can receive for his products. In this case, a seller will not sell his products for any amount less than the price floor amount.
harmony
It is argued that under optimization, since there is the second-order sufficient condition, the first-order condition is not necessary. Discuss.
John Reply
It is argued that in optimization the first part of second order condition appears opposite to their interpretation. Explain why you think otherwise.
John
Would you expect the kinked demand curve to be more extreme (like a right angle) or less extreme (like a normal demand curve) if each firm in the cartel produces a near-identical product like OPEC and petroleum? What if each firm produces a somewhat different product? Explain your reasoning.
Shauna Reply
we need to understand the things that manufacturer industies need to overcome the change of price, including all the all factors
Franck
hi
Jale
I expect the demand curve of such a case to be less extreme almost a horizobtal line.
tesfie
hi
Hashim
Hi
Prajwal
hi to
Sarparah
hello
Kaba
Got questions? Join the online conversation and get instant answers!
QuizOver.com Reply

Get the best Algebra and trigonometry course in your pocket!





Source:  OpenStax, Técnicas de mantenimiento de software. OpenStax CNX. Jan 09, 2009 Download for free at http://cnx.org/content/col10571/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Técnicas de mantenimiento de software' conversation and receive update notifications?

Ask