Estrategias de Evolución de Sistemas Heredados, Leyes de Lehman y Principios de Nielsen
Enviado por federzzz y clasificado en Otras materias
Escrito el en español con un tamaño de 4,98 KB
Estrategias de Evolución de Sistemas Heredados
Estrategias para la evolución de sistemas heredados:
- Desechar completamente el sistema: Cuando el sistema no vaya a realizar una aportación efectiva a los procesos empresariales (Baja calidad y bajo valor de negocio).
- Dejar sin cambios el sistema y continuar el mantenimiento regular: Cuando el sistema todavía se requiera, pero sea bastante estable y los usuarios del sistema hagan pocas peticiones de cambio (Alta calidad y alto valor de negocio).
- Reingeniería: Cuando la calidad del sistema se haya degradado por el cambio y todavía se propone un nuevo cambio al sistema (Baja calidad y alto valor de negocio).
- Sustituir todo o parte del sistema con un nuevo sistema: Cuando factores como hardware nuevo signifiquen que el viejo sistema no pueda continuar en operación o donde sistemas comerciales permitirían al nuevo sistema desarrollarse a un costo razonable (Alta calidad y bajo valor de negocio).
Leyes de Lehman
- Cambio Continuo: Un programa que es utilizado en un entorno del mundo real debe necesariamente cambiar.
- Incremento de complejidad: Como un programa en evolución cambia, su estructura tiende a ser cada vez más compleja. Deben asignarse recursos extras para preservar y simplificar esta estructura.
- Evolución de grandes programas: La evolución de los programas es un proceso autorregulativo. Los atributos de los sistemas, tales como tamaño, tiempo entre entregas y el número de errores documentados, son aproximadamente invariantes para cada entrega del sistema.
- Estabilidad organizacional: A través de la vida de un programa, su ratio de evolución es constante e independiente de los recursos dedicados al medio del sistema.
- Conservación de la familiaridad: Durante el tiempo de vida de un sistema, el cambio incremental en cada entrega es aproximadamente constante.
- Crecimiento continuo: La funcionalidad ofrecida por los sistemas tiene que crecer continuamente para mantener la satisfacción del usuario.
- Disminución de Calidad: La calidad de los sistemas disminuirá a menos que se modifiquen para reflejar los cambios en su entorno operativo.
- Retroalimentación de Sistemas: Los procesos de evolución incorporan sistemas de realimentación multiagente y multibucle y éstos deben ser tratados como sistemas de realimentación para lograr una mejora significativa del producto.
Generalmente, las leyes de Lehman son aplicables a sistemas grandes a medida, desarrollados para organizaciones grandes.
Principios de Usabilidad de Nielsen
- Visibilidad del estado del sistema: El sistema siempre debe mantener a los usuarios informados acerca de lo que está pasando, a través de la retroalimentación adecuada en un tiempo razonable.
- Correspondencia entre el sistema y el mundo real: El sistema debe hablar el idioma de los usuarios, con palabras, frases y conceptos familiares para el usuario, en lugar de términos orientados al sistema.
- Control y libertad del usuario: Los usuarios suelen elegir las funciones del sistema por error y necesitarán una “salida de emergencia” clara para salir del estado no deseado sin tener que pasar a través de un diálogo extenso.
- Consistencia y estándares: Los usuarios no deberían tener que preguntarse si diferentes palabras, situaciones o acciones significan lo mismo. Siga las convenciones de la plataforma.
- Prevención de errores: Realice un cuidadoso diseño que evite que un problema se produzca en el primer lugar. Ya sea eliminar las condiciones propensas a errores o chequearlas y presentar a los usuarios una opción de confirmación antes de comprometerse a la acción.
- Reconocimiento antes que re-llamada: Reducir al mínimo la carga de memoria del usuario al hacer objetos, acciones y opciones visibles.
- Flexibilidad y eficiencia de uso: Aceleradores a menudo pueden agilizar la interacción para el usuario experto de tal manera que el sistema puede servir tanto a los usuarios sin experiencia como así también a los usuarios con experiencia.
- Estética y minimalismo: Muestra sólo lo necesario y relevante en cada situación, no distraigas al usuario con información extra poco relevante.
- Ayudar a los usuarios a reconocer, diagnosticar y recuperarse de errores: Los mensajes de error deben ser expresados en un lenguaje sencillo, indicar con precisión el problema y debe sugerir una solución constructiva.
- Ayuda y documentación: La información de ayuda debe ser breve, concisa, fácil de buscar y enfocada a las tareas del usuario.