domingo, 2 de marzo de 2014

Reingeniería De Software

Reingeniería De Software


La reingeniería de software e refiere a la implementación de los sistemas heredados para hacerlo más mantenerles (Pressman, 2005).
Antes de adentraron en lo que es la reingeniería de software como tal  tenemos que haber que son los sistema heredados,
Un sistema heredado es aquel que ha quedado anticuado pero continúa siendo utilizado por el usuario y no se quiere o no se puede reemplazar o actualizar de forma sencilla.

Reingeniería no quiere decir hacer un nuevo software, si no que la funcionalidad sigue siendo la misma así como la arquitectura, antes habíamos dicho que la producción de un software tiene un coste significativo, pero el mantenimiento era el que realmente costaba más, sin embargo pensemos que  un banco no puede cambiar constantemente su sistema, porque es bastante arriesgado, y podrían perderse datos muy importantes, por ello,  existe la reingeniería de software.

El hecho de que no se vaya a hacer un nuevo software no quiere decir que no tenga un modelo a seguir, o que se haga de manera desordenada, de hecho  se utiliza el desarrollo convencional denominado, ingeniería hacia adelante, en donde el primer paso sería especificación del sistema, pero dado que lo que vamos a realizar no es  un software nuevo, empezamos con Sistema de Software existente, dentro de los pasos a seguir para llegar al fin de este proceso se encuentran:

· Traducción de Código Fuente: esto es, pasar  de un lenguaje de programación, a otro, esto solo es necesario cuando el lenguaje en el que se ha programado, está obsoleto, es decir, ya no hay programadores, dándole mantenimiento a este lenguaje, sin embargo, no siempre es necesario.

·  Ingeniería Inversa: A veces los programas han perdido parte de su documentación, a lo que se le denomina ingeniería inversa es analizar el programa, y en base a lo analizado, crear la documentación correspondiente.

·  Mejora de la Estructura de los programas: la manera de programar de cada persona, puede variar mucho, pero cuando la diferencia es mucha, es necesario  hacer que nuestro código sea más entendible, a esto se le llama mejora,  se trata de hacer más entendible el código para su futuro mantenimiento.

· Popularización de los programas: En base a nuestro análisis se dividen en módulos y se eliminan lo que sean repetidos.

· Reingeniería de Datos: hacer un a análisis de los datos  y actualizarlos

Conclusión:

A veces, es necesario saber  identificó cuando se tiene que  hacer un nuevo software, y cuando se puede “reparar“ aun, ya que si decimos que  la mayor parte del negocio es el dinero,  el hecho de tomar una mala decisión, puede causar grandes gastos significativos para una empresa.


Bibliografía

Pressman, R. (2005). Ingeniería del Software, un enfoque práctico. McGraw-Hill.
Sicilia, M.-A. (s.f.). connexions. Obtenido de ¿Qué es Reingeniería del Software?: http://cnx.org/content/m17438/latest/
Software, A. (s.f.). Arbutus Software. Obtenido de SISTEMAS HEREDADOS: http://www.arbutuslatino.com/legacy-systems.htm
Sommerville, I. (s.f.). Ingeniería del software. Pearson.

No hay comentarios:

Publicar un comentario