Actualizar aplicaciones existentes
Si el equipo va a actualizar una aplicación existente, una de las primeras tareas es conocer el código. Para que se pueda calcular el trabajo que realizará el equipo, debe identificar las partes del código donde se requieren cambios y, a continuación, determinar hasta dónde se propagarán las consecuencias de los cambios.
El equipo puede ayudar a asegurarse de que los cambios que realiza no tengan ningún efecto negativo mediante la creación y ejecución de pruebas unitarias y del sistema. Si todavía no existen estas pruebas, el equipo debe crearlas. Sin embargo, no es necesario crear un conjunto exhaustivo de pruebas unitarias y del sistema para una aplicación existente. Al entender la estructura existente del código y los cambios que espera hacer, el equipo puede centrarse en crear las pruebas necesarias para asegurarse de que los cambios no afecten negativamente a la aplicación.
Se recomiendan las acciones y herramientas siguientes cuando se debe actualizar el código existente:
Entender la estructura existente. Use el Explorador de arquitectura, los gráficos dirigidos y los diagramas de secuencia generados para buscar los componentes principales y sus dependencias. Para obtener más información, vea Visualizar código.
Comprender el comportamiento existente y los cambios que se requieren. El equipo debe entender el comportamiento existente cuando se analizan los nuevos casos en detalle. Asigne a los casos existentes la etiqueta "tal cual" y a los nuevos la etiqueta "será". Use esas etiquetas como parte de los nombres de archivo, carpeta y modelo.
Puede usar los modelos para ayudar a clarificar los casos de usuario. Para obtener más información, vea Modelar casos de usuario.
Estabilizar el comportamiento con pruebas. Agregue pruebas automatizadas o manuales para lograr lo siguiente:
Ayudar a entender el comportamiento existente del producto.
Resaltar los aspectos del comportamiento del producto que se cambiará.
Asegurarse de que los cambios no interrumpan las funciones existentes.
Para obtener más información, vea Realizar pruebas tempranas y frecuentes.
Estabilizar la arquitectura con diagramas de capas. Cree diagramas de capas para lograr lo siguiente:
Ayudar a entender la estructura del código existente.
Resaltar las áreas que se van a cambiar en el código existente.
Asegurarse de que los cambios no contravengan involuntariamente la arquitectura existente al presentar dependencias involuntarias o colocar funciones en ubicaciones inadecuadas.
Para obtener más información, vea Estabilizar la estructura de la aplicación mediante diagramas de capas.
Escribir los cambios necesarios como casos, calcular los costos de los casos y organizarlos en un trabajo pendiente del producto. Cuando calcule el costo, naturalmente debe tener en cuenta el hecho de que está actualizando el código existente. Cada cálculo debe incluir el tiempo que se empleará en entender el diseño existente y escribir las pruebas automatizadas.
Para obtener más información, vea Crear un trabajo pendiente de producto grande.
Información adicional
Working Effectively with Legacy Code, Michael Feathers; Prentice Hall, 2004.