ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Reingeniería De Software


Enviado por   •  20 de Marzo de 2013  •  1.747 Palabras (7 Páginas)  •  971 Visitas

Página 1 de 7

Reingeniería de la Ingeniería del Software

Se originó a finales de la década de 1980 aunque se popularizó en la década de 1990.

La reingeniería es un proceso que trata de dar respuesta a una interrogante: ¿Estamos acaso haciendo las cosas bien o podríamos hacerlas mejor?

Es el rediseño o cambio drástico de un proceso en un negocio (deriva hacia el producto). Es comenzar de cero, cambio de todo o nada.

La reingeniería de software es costosa y consumidora de tiempo y absorbe recursos que de otro modo se ocuparían en problemas inmediatos.

Por estas razones la reingeniería no se logra en unos cuantos meses, ni en unos cuantos años, absorberá recursos durante muchos años.

La reingeniería es una actividad de reconstrucción, preferible de realizar antes de que se “derrumbe” la obra. Considérese la siguiente situación análoga:

Compra una casa en otro estado, a un precio bajo, con la advertencia de que tal vez tenga que reconstruirla por completo. ¿Cómo procederá?

• Antes de iniciar la reconstrucción sería razonable inspeccionar la casa. Determinar si es necesario reconstruirla requiere elaborar una lista de criterios de modo que la inspección resulte sistemática.

• Antes de tirar y reconstruir toda la casa se debe tener la certeza que la estructura es débil. Si la casa es estructuralmente solida tal vez sea posible “remodelarla” sin reconstruirla (a un costo mucho más bajo y en menos tiempo).

• Antes de iniciar la reconstrucción se debe tener la certeza de que se entiende como se construyó la original. Eche un vistazo detrás de las paredes, entienda el alambrado, la plomería y los componentes estructurales. Incluso si se tiran todos a la basura, la comprensión que se adquiera será útil cuando comience la construcción.

• Si se comienza a reconstruir sólo se utilizarán los materiales más modernos y de larga duración. Esto puede costar un poco más ahora, pero ayudará a evitar un mantenimiento costoso y tardado más adelante.

• Si se decide reconstruir es preciso disciplinarse en cuanto a ello. Utilícense Prácticas que reanudarán en alta calidad hoy y mañana.

Antes de derribar una casa, quizás se necesita corroborar que está mal.

La reingeniería es un proceso que altera los elementos internos de toda obra, no es una sola remodelación de la fachada.

La reingeniería ayuda a la evolución y mantenimiento del software

La reingeniería debe ser entendida como un proceso mediante el cual se mejora un software existente haciendo uso de técnicas de ingeniería inversa y reestructuración de código. Para llevar a cabo la reingeniería del Software se puede realizar a través del modelo Cíclico. En algunas ocasiones, estas actividades se producen de forma secuencial y lineal, pero esto no siempre es así. Por ejemplo, puede ser que la ingeniería inversa (la comprensión del funcionamiento interno de un programa) tenga que producirse antes de que pueda comenzar la reestructuración de documentos.

La 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.

Entre los beneficios de aplicar reingeniería a un producto existente se puede incluir:

Pueden reducir los riegos evolutivos de una organización.

Puede ayudar a las organizaciones a recuperar sus inversiones en software.

Puede hacer el software más fácilmente modificable

Amplía las capacidades de las herramientas CASE

Es un catalizador para la automatización del mantenimiento del software

Puede actuar como catalizador para la aplicación de técnicas de inteligencia artificial para resolver problemas de reingeniería

PASOS DE LA REINGENIERIA DEL SOFTWARE

Análisis de Inventario.-

Las organizaciones de software deberian tener un inventario de todas sus aplicaciones. El inventario talvez no sea mas que un modelo en una hoja de calculo que contenga información que proporcione una información que proorcione una descripción detallada (por ejemplo, tamaño, edad importancia para el negocio) de las aplicaciones activas. Al ordenar esta información- de acuerdo con la importancia para el negocio, antigüedad, facilidad actual de mantenimiento y otros criterios localmente importantes- aparecen los candidatos para reingeniería. Entonces se pueden asignar los recursos para las aplicaciones candidatas para reingeniería.

Es importante señalar que el inventario deberá visitarse con regularidad, el estado de las aplicaciones puede cambiar en función del tiempo y, como resultado, cambiarán las prioridades para la reingeniería.

Reestructuración de documentos.- Una documentación escasa es la marca de muchos sistemas de información heredados. ¿Pero que se hace acerca de ello? ¿Cuáles son las opciones?

1-Crear documentación consume mucho tiempo. Si el sistema funciona vivirá con lo que se tenga. En algunos casos este enfoque es el correcto. No es posible crear documentación para cientos de programas. Si un programa es relativamente estático está llegando al fin de su vida útil.

2-La documentación debe actualizarse pero se tienen recursos limitados. Se utilizará un enfoque de “documentar cuando se toque”. Tal vez sea

...

Descargar como (para miembros actualizados)  txt (12 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com