jueves, 6 de diciembre de 2012

Errores comunes en el desarrollo de Software: el Botón Mágico

Monitor de computadora con unas nubes, fondo de nubes, que representa Errores comunes en el desarrollo de Software: el Botón Mágico

Como continuación de la serie acerca de errores comunes en programación, desarrollo de software y base de datos, presentamos el anti patrón del "Botón Mágico", el cual consiste Consiste en desarrollar aplicaciones en las que existe un único punto de interacción entre la capa de presentación (interfaz con el usuario) y la de lógica de negocio, usualmente cuando se presiona "el botón mágico".

Los anti patrones representan herramientas útiles para aplicar las buenas prácticas de programación, pues estos describen "lo que no debe hacerse". En este artículo se describen las características asociadas al anti patrón, tipo de anti patrón, los problemas que este ocasiona y la solución.


El anti patrón del Botón Mágico (Magic Pushbutton)

Un ejemplo del antipatron es desarrollar una pantalla o formulario en la que no existen validaciones de datos de entrada o ayuda al usuario en el ingreso de los datos (por ejemplo por medio de un combo selector), siendo necesario esperar hasta presionar el botón "submit" o "aceptar" (el botón mágico), para que se proceda a validar los datos de entrada aplicando las reglas de negocio.

Problemas asociados con el anti patrón

  • Las interfaces de usuario desarrolladas con este anti patrón son más difícil de utilizar por el usuario final.
  • No existe oportunidad de proporcionar asistencia al usuario, al completar el formulario o proporcionando listas de posibles valores.
  • No es posible filtrar posibles valores a seleccionar utilizando información ingresada anteriormente (por ejemplo filtrar la ciudad con base en la provincia o país seleccionado previamente).
  • Es necesario ingresar todos los datos de un formulario para identificar un error.
  • Esto podría empeorar si además es necesario volver a ingresar toda la información.

Situaciones en las que podrían justificarse

Sistemas legados diseñados para interfaz en Terminales (Mainframes) o versiones antiguas de marcos de trabajo cliente servidor, no poseen la funcionalidad necesaria para evitar este anti patrón, por lo que podría no quedar otra opción en estas plataformas antiguas.

Soluciones

  • Mayor énfasis en el diseño de la aplicación en las etapas tempranas del proyecto.
  • Mayor énfasis en la interacción con el usuario (Usabilidad).
  • Implementar funcionalidad de guía por medio de interacción con el usuario, soportada por todos los marcos de trabajo y lenguajes de programación.
  • Implementar interfaces de usuario manejadas por eventos, de tal manera que la validación ocurra en el mismo instante en el que se ingresa la información en un campo.
  • Implementar asistencia al usuario también manejada por eventos, por ejemplo filtrando posibles valores en campos con base en información registrada previamente.

¿Y que opina usted?

¿Que opina usted del anti patrón del botón mágico?, ¿ha encontrado alguna vez la aplicación de este anti patron?, ¿Como rediseñaría el código como alternativa?, ¿Que le diría a sus programadores para que no cometieran este error?.

Le invitamos a participar en el foro de discusión del blog de “La Oficina de Proyectos de Informática” (http://oficinaproyectosinformatica.blogspot.com) y a suscribirse al blog por los distintos canales, incluyendo lista de correo electrónico, al Twitter @PMOInformatica o al feed RSS del Blog.

<< Artículo anterior: el objeto todopoderoso


Acerca de artículos anteriores de esta serie

¿Interesado en libros sobre desarrollo de software?



























Transact SQL-DML Funciones y Bases 
de datos
Autor: Rocío Navarro Lacoba
>> España (amazon.es)
>> Latinoamérica (amazon.com)
Código Limpio
Autor: Robert C. Martin
>> España (amazon.es)
>> Latinoamérica (amazon.com)
Métodos ágiles y Scrum
Autor: Alonso Alvarez García y otros
>> España (amazon.es)
>> Latinoamérica (amazon.com)
Code Complete
Autor:
Steven C. McConnell
>> España (amazon.es)
>> Latinoámerica (amazon.com)


Novedades Amazon


Referencia:

Wikipedia. Antipatron de diseño
http://es.wikipedia.org/wiki/Antipatr%C3%B3n_de_dise%C3%B1o

Wikipedia. Magic Pushbutton
http://en.wikipedia.org/wiki/Magic_pushbutton

Otros artículos en “La Oficina de Proyectos de Informática”

Gestión de desarrollo de software

>> Errores comunes en el desarrollo de Software: El Objeto Todopoderoso


>>10 actividades críticas a incluir en todo plan de desarrollo de un software


Desarrollo ágil, Scrum y Test Driven Development

>> Test Driven Development (TDD): Ventajas y desventajas

>> Los 5 valores de la programación extrema

>> 5 Preguntas y respuestas sobre el Feature Driven Development (FDD)

>> Test Driven Development (TDD): 9 retos para su implementación y cómo hacerles frente

>> Plantillas Scrum: historias de usuario y criterios de aceptación

>> El “Test Driven Development” (TDD): Desarrollo y pruebas de software bajo Scrum

>> Scrum de Scrum: Desarrollo ágil para grandes proyectos

>> 5 métricas de desempeño para proyectos de desarrollo ágil y Scrum

>> Herramientas de software para gestión de proyectos de desarrollo ágil

>> El Desarrollo ágil en un entorno de fechas y presupuestos predefinidos

>> Los Programas de Certificación del Scrum Alliance

>> Preguntas y respuestas sobre Scrum Alliance

>> Gestión de Proyectos PMI y el Desarrollo Ágil: ¿Que tienen en común?

>> Metodologías de desarrollo ágil

Gerencia de Proyectos

>> Lo urgente y lo importante (2da Parte): Las 10 tareas rutinarias de un Gerente de Proyectos

>> Lo Urgente y lo importante en la Gestión de Proyectos

>> Gestión de Proyectos: 5 tareas clave para dirigir la fase de ejecución

>> 5 preguntas y respuestas sobre la identificación de riesgos

>> Como hacer el seguimiento de los riesgos en proyectos

>> Plantilla para la Gestión de Riesgos en proyectos: Actualización Octubre 2012

>> Plantilla para documentar Lecciones Aprendidas

>> Gestión de Proyectos PMI y el Desarrollo Ágil: ¿Que tienen en común?

>> Las reuniones de trabajo: más productividad, menos reuniones

>> El patrocinador (Sponsor) del proyecto: Rol que debe asumir y lo que no debe hacer

>> Como lidiar con implicados (stakeholders) problemáticos

>> Acciones preventivas para evitar retraso y retrabajo en proyectos de tecnología de información (TI)


No hay comentarios :

Publicar un comentario

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.