Desarrollo de software. Sistema configurable como estrategia de programación defensiva

Si un usuario tiene dudas sobre el comportamiento de una funcionalidad y prevé la evolución de la misma en un futuro y no se sabe a ciencia cierta si se van a disponer de recursos en un futuro para poder realizar los cambios, nos encontramos ante una situación candidata a aplicar una solución configurable (teniendo en cuenta que tampoco podemos hacer magia y que el número de opciones de configuración serán limitadas).

Por ejemplo, recuerdo hace tiempo un sistema donde a una entidad se le podían asociar determinados tipos de características. Cada vez que repasábamos con el usuario la pantalla principal en la que se trabajaba con esa entidad incluía y eliminaba nuevas características, lo que provocaba que continuamente se tuviera que estar modificando el modelo de datos. También nos comentó que independientemente de las características que se terminaran incluyendo en un futuro les podría resultar interesante incluir nuevas relaciones. ¿Qué solución le dimos? Implementar las características asociada a la entidad como un casilla/valor. En ese momento terminaron los problemas. ¿Es la solución más elegante? No, ¿es la más académica? No, pero fue realmente práctica y efectiva.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: