CASO DE USO
Enviado por giovannihack • 19 de Noviembre de 2014 • 375 Palabras (2 Páginas) • 138 Visitas
Tarea POO:
Con nota (fecha máxima entrega sábado 22/nov/2014)
En el estado actual de la aplicación, el proceso de inicio de sesión del usuario consistente en (1) capturar los datos digitados por el usuario, (2) validarlos, (3) consultar al servidor remoto y (4) recuperar la respuesta de éste, es realiza dentro de una misma instancia de clase cuya función principal ha sido el despliegue de elementos visuales en pantalla (FrmLogin) y capturar acciones del usuario como los clic de ratón.
Denominemos lógica de negocio aquella necesaria para verificar si las credenciales del usuario son correctas (pasos 2, 3 y 4), y lógica de presentación aquella necesaria para realizar el rendering de elementos visuales en pantalla y control de los eventos generados por el usuario.
Combinar lógica de presentación y de negocio es un buen inicio para un programador novato y da solución efectiva a un problema particular de la aplicación. Sin embargo, genera una condición desventajosa desde un punto de vista arquitectónico de la aplicación pues, si hay que modificar lógica de presentación podríamos eventualmente tener que intervenir lógica de negocio. De igual modo, cambios en la lógica de negocio podrían incidir en la lógica de presentación, situación que queremos evitar.
Una buena práctica es distribuir el trabajo de manera que cada clase esté concentrada en un tipo de trabajo particular: o es lógica de negocio, o es lógica de presentación, pero no una combinación de ambas.
Se pide:
1) Que la clase Usuario incorpore un método público denominado autenticar (usuario,contraseña) que reciba como argumentos un username y una password y:
Valide que ambos valores no sean vacios o estén en blanco, lanzando (throw) una excepción en caso necesario.
Gestione la comunicación con el servidor para solicitar el servicio de autenticación remota, recibiendo el resultado y lanzando una excepción en caso de que no se hayan podido verificar usuario/contraseña.
Poblar propiedades (nombres, apellidos, email, etc) cuando el servidor ha podido autenticar exitosamente las credenciales de usuario.
2) Modificar el método FrmLogin.iniciarSesion() de manera se cumpla separación de lógica de negocio y lógica de presentación.
La regla de oro es:
Todo lo relativo a acceso y manipulación de datos, relegarlo a clases del grupo Modelo.
Todo lo relativo a visualización de datos e interacción con el usuario, relegarlo a la capa de presentación, también denominada capa Vista
...