1. MATERIA:
REINGENIERIA DEL SOFTWARE
IN
C
PE
ST
TE
IT
TO
U
X
TE TU
E
C N OL O GI C OD CATEDRÁTICO:
L.I MARIA DE LOS ANGELES MARTINEZ
MORALES
ENSAYO
ESPECIALIDAD:
ING. SISTEMAS COMPUTACIONALES
IN
C
PE
ST
TE
IT
SEMESTRE
T :8 GRUPO: C
U
X
O TU
TE E
Tuxtepec, Oax. A 15/ FEB/2012
C N OL O GI C O D
2. RESUMEN
La reingeniería del Software es una forma de modernización para mejorar las
capacidades o la capacidad de mantenimiento de los sistemas de información
heredados, mediante la aplicación de tecnologías y practicas modernas. La
reingeniería del software ofrece una disciplina de preparación para migrar un
sistema de información heredado hacia un sistema capaz de evolucionar. El
proceso aplica principios de ingeniería aplicados a un sistema existente para
encontrar nuevos requerimientos.
El “Instituto de Ingeniería del Software” establece una definición de reingeniería
como: “reingeniería es la transformación sistemática de un sistema existente
dentro de una nueva forma de realizar el mejoramiento de la calidad en las
operaciones, la capacidad del sistema, la funcionalidad, el rendimiento evolutivo a
bajo costo y las agendas o riesgos para el cliente.”
El propósito de la reingeniería es que los sistemas existentes tomen ventajas de
las nuevas tecnologías además de habilitar el nuevo esfuerzo de desarrollo para
que se aproveche las ventajas de reutilizar sistemas existentes. La reingeniería
tiene el potencial de mejorar la productividad y calidad del software a través de
todo el ciclo de vida.
La reingeniería casi siempre implica cambiar la forma de un programa y mejorar su
documentación. En este caso, la funcionalidad del programa no es modificada;
sólo su forma se presta a modificaciones. En otros casos, la reingeniería va más
allá de la forma e incluye rediseñar la funcionalidad del programa para buscar
mejores requerimientos de usuario.
PALABRAS CLAVE
Modernización, sistemas, evolucionar, potencial, productividad y calidad.
3. INTRODUCCION
La reingeniería del software como muy bien sabemos es la reestructuración de un
sistema ya existente se podría decir que podría ser una actualización completa de
el mismo para poder mejorar internamente su funcionabilidad así como la calidad
de las funciones con que trabaja.
También teniendo en cuenta el coste de la mejoría del sistema, si resulta rentable
o no es sustentable se podría considerar hacer otro desarrollo en forma que el
sistema pueda ser mejorado sin hacer grandes inversiones ni afectar a los clientes
que la ocupan.
Siempre cuando se va a hacer una mejora al sistema ay que prever cual va a
hacer su continuidad es decir que el sistema este a la vanguardia en un buen
tiempo y no necesite de actualizaciones en determinado de tiempo en que se allá
recuperado la inversión que se utilizo en el.
Reingeniería del software se puede definir como: “modificación de un producto
software, o de ciertos componentes, usando para el análisis del sistema existente
técnicas de Ingeniería Inversa y, para la etapa de reconstrucción, herramientas de
Ingeniería Directa, de tal manera que se oriente este cambio hacia mayores
niveles de facilidad en cuanto a mantenimiento, reutilización, comprensión o
evaluación.”
Cuando una aplicación lleva siendo usada años, es fácil que esta aplicación se
vuelva inestable como fruto de las múltiples correcciones, adaptaciones o mejoras
que han podido surgir a lo largo del tiempo.
Esto deriva en que cada vez que se pretende realizar un cambio se producen
efectos colaterales inesperados y hasta de gravedad, por lo que se hace
necesario, si se prevé que la aplicación seguirá siendo de utilidad, aplicar
reingeniería a la misma.
4. DESARROLLO
En la actualidad cualquier entidad ya sea educacional, gubernamental o
empresarial dependen en total medida del rendimiento que tengan sus sistemas
informáticos. Resulta limitado imaginar el funcionamiento de una empresa, sin la
intervención de algún sistema computacional, pues estos están involucrados de
algún modo en la organización, ventas, desarrollo, producción, manufactura,
inventarios, publicidad, mercadotecnia, personal, costos; de manera resumida casi
en todo. Una empresa, no es una entidad en sí misma, sino que está basada en
programas computacionales, o más específicamente en productos software. La
vida actual se encuentra en constante cambio y por lo tanto existe un desarrollo e
innovación cada vez más rápido; y por supuesto las empresas no están excluidas
de dicho cambio y se ven obligadas a actualizar constantemente sus sistemas
computacionales, pues sin estos no podrían estar a la altura de las necesidades
que exigen sus clientes.
La gran competencia y demanda que existe en el mercado, exige que las
empresas tengan lo último en tecnología, por lo que la actualización y el
perfeccionamiento del software son absolutamente imprescindibles. Y es aquí
precisamente donde entran en juego las estrategias para realizar cambios en el
producto software.
La reingeniería se focaliza dentro de dos ámbitos muy importantes como son el
negocio de la organización y el desarrollo del software. Por una parte se encarga
del proceso de negocio con el fin de elevar la competitividad del mismo y por el
otro, evalúa y examina los programas o aplicaciones con el objetivo de
reestructurarlos o reconstruirlos, aportando de esta manera con un alto nivel de
calidad. La reingeniería de procesos en los negocios se encuentra en función de
las necesidades del cliente, rediseñándose radicalmente los procesos principales
de negocios desde el inicio al fin con la finalidad de alcanzar mejoras en las
medidas críticas de rendimiento tales como: costos, calidad, servicio y rapidez. La
reingeniería regresa a la esencia del negocio, cuestionando principios
fundamentales y su forma de operación.
La reingeniería significa una revolución en la forma de administrar la empresa; su
éxito no se basa en mejorar lo existente sino en olvidar cómo se hacían las cosas,
diseñarlas de nuevo y analizar el proceso. La reingeniería implica borrar todo lo
pasado y empezar de nuevo. Se determina primero qué debe hacerse y luego
cómo debe hacerse. Se olvida de lo que es y se concentra en lo que debe ser.
5. CONCLUSION
La reingeniería del software es muy importante para el mantenimiento de
aplicaciones que el desarrollo de estos ha sido muy costoso para luego tratar de
adaptarlos a sus necesidades.
La reingeniería permite el desarrollo de aspectos tales como recuperar el diseño,
desarrollar documentación, convertir código a lenguaje orientado a objetos. Trata
de mantener la funcionalidad del sistema, mantenimiento de los datos, que se
estructuraron con una interfaz de usuario totalmente nueva y que facilite su
utilización por parte del usuario final con las nuevas especificaciones.
La reingeniería del software es trata de realizar una completa automatización de
los procesos.
6. REFERENCIA
LIBRO
Ingeniería de software, Pressman R, Pág.: 912- 919.
PAGINAS WEB
http://cnx.org/content/m17438/latest/
http://www.elrinconcito.com/articulos/Reingenieria/Articulo.htm
Y LAS LECTURAS PROPORCIONADAS POR EL MAESTRO