Está en la página 1de 2

Lo

CAPÍTULO

MANTENIMIENTO Y
REINGENIERÍA

S
:ONCEPTOS CLAVE
in importar su dominio de aplicación, su tamaño o su
complejidad, el software de computadora
análisisdeinventarios........662
evolucionará con el tiempo. El cambio impulsa este
ingenieríahaciaadelante ....669
proceso. Para el software de computadora, el cambio
ingenieríainversa.............664
datos..........................665 ocurre cuando se corrigen los errores, cuando el
procesamiento ..............666 software
interfacesdeusuario........667 se adapta a un nuevo entorno, cuando el cliente solicita
mantenibilidad ................657 nuevas características o funciones y cuando la aplicación se
mantenimientodesoftware ...656 somete a reingeniería para ofrecer beneficio en un contexto
reestructuración ..............668 moderno. Durante los pasados 30 años, Manny Lehman [por
código .......................668
datos..........................668
ejemplo, Leh97a] y sus colaboradores realizaron análisis
reestructuración
detallados de software de grado industrial y de sistemas con
dedocumentos................662 la intención de desarrollar una teoría unificada para
reingeniería de procesos evolución del software. Los detalles de este trabajo están más
deempresa(RPE).............658 allá del ámbito de este libro, pero vale la pena destacar las
reingenieríadesoftware ....661 leyes subyacentes derivadas de ella [Leh9711 :
soportabilidad..................657
Ley de cambio continuo (1974): El software que se
implementó en un contexto de cómputo del mundo real y
que, por tanto, evolucionará con el tiempo (llamados sistemas
tipo E) debe adaptarse continuamente o de otro modo se
volverá progresivamente menos satisfactorio.
Ley de complejidad creciente (1974): Conforme un
sistema tipo E evoluciona, su complejidad aumenta, a menos
que se haga trabajo para mantenerlo o reducirlo.
Ley de autorregulación (1974): El proceso de evolución
del sistema tipo E es autorregulable con medidas de
distribución de producto y de proceso cercanas a lo normal.

¿Qué es? Considere más difícil conforme pasan


cualquier producto tec- los años. Llega un
nológico que le haya momento en el que
funcionado bien. Lo usa necesitará reconstruirlo.
con regularidad, pero está Creará un producto con
envejeciendo. Se funcionalidad agregada,
descompone con Frecuencia, se mejor desempeño y
tarda más tiempo en reparar confiabilidad, así como
del que quisiera y ya no mantenibilidad mejorada.
representa a la más reciente A eso se le llama
tecnología. ¿Qué hacer? reingeniería.
Durante algún tiempo ¿Quién lo hace? En el nivel de
intenta repararlo, parcharlo, la organización, el mante-
incluso extiende su nimiento lo realiza el
funcionalidad. A esto se le personal de apoyo que es
llama mantenimiento. Pero parte de la organización de
éste se vuelve cada vez ingeniería de software. La
reingeniería la realizan mientos de prueba). El
especialistas en negocios resultado Final es
(con Frecuencia compañías actualización de software.
consultoras). En el nivel de ¿Cómo me aseguro de
software, la reingeniería la que lo hice bien? Con el
realizan ingenieros de uso de las mismas
software. prácticas SQA que se
¿Por qué es importante? Al aplican en todo proceso de
vivir en un mundo que ingeniería de software:
cambia rápidamente, las revisiones técnicas para
demandas sobre las funciones valorar los modelos de
empresariales y la análisis y diseño; revisiones
tecnología de la información especializadas para
que las apoyan cambian a considerar aplicabilidad y
un paso que pone enorme compatibilidad empresarial;
presión competitiva sobre y aplicación de pruebas
toda organización para descubrir errores en
comercial. Por esto, el contenido, funcionalidad e
software debe mantenerse interoperabilidad.
continuamente y, en el
momento adecuado,
someterse a reingeniería
para sostener el paso.
¿Cuáles son los pasos? El
mantenimiento corrige
los defectos, adapta el
software para satisfacer un
entorno cambiante y
mejorar la funcionalidad a
Fin de cubrir las necesidades
evolutivas de los clientes.
Estratégicamente, la
reingeniería de procesos
de empresa (RPE) define
las metas empresariales,
identifica y evalúa los
procesos empresariales
existentes y crea procesos
empresariales revisados que
satisfacen mejor las metas
del momento. La
reingeniería de software
abarca análisis de inventarios,
restructuración de
documentos, ingeniería
inversa, reestructuración de
programas y datos e
ingeniería hacia adelante.
La intención de dichas
actividades es crear versiones

655
de los programas existentes
que muestren mayor calidad
y mejor mantenibilidad.
¿Cuál es el producto final?
Se producen varios
productos operativos de
mantenimiento y
reingeniería (por ejemplo,
casos de uso, modelos de
análisis y diseño, procedi-

También podría gustarte