Autor: Carlos M. Macías Medina
Alias: Charlie Macías (México)
Nivel: Preguntas y Respuestas
Pregunta:
Buenos Días:
Oiga Carlos tengo un caso... donde estoy en una encrucijada. Se supone que en un sistema tengo que registrar usuarios ( ese sería el nombre ideal para un caso de uso), pero el detalle es que los usuarios no todos los registra la misma persona... por ejemplo, a un usuario "empleado de caja", lo puede registrar un usuario líder o gerente; a un usuario líder, solo lo puede registrar un empleado gerente, pero no un usuario "empleado de caja", y a un usuario gerente, sólo lo puede crear el usuario administrador y no un líder o un empleado de caja.
Yo pensé en tres casos de uso distintos:
Registrar gerentes
Registrar líderes
Registrar empleados de caja
Cada uno con su respectivo Actor, pero en sí, sería el mismo procedimiento para los tres.... esto se vale hacerlo....
No sé si estoy bien o ¿existe alguna otra manera de hacerlo más fácil?
Saludos y espero que este bien y que me pueda ayudar... gracias de ante mano.
Christian
Respuesta:
Christian,
Un modelo de casos de uso que refleja los que intentas expresar, es el siguiente:
Las relaciones de generalización son la clave. Cuando las aplicas a los casos de uso estás diciendo que estos comparten el mismo propósito y medio, por lo tanto, podrías documentar el procedimiento genérico en la generalización (Registrar Usuario) y en las especializaciones (Registrar Empleado de Caja, Registrar Líder y Registrar Gerente) únicamente hacer la precisión aplicable para cada caso concreto (por ejemplo, indicar el rol específico que inicia al casos de uso y el rol que asigna a los usuarios que registra).
Cuando aplicas una generalización a los actores lo que consigues es una suma de las capacidades de estos. En el ejemplo, el rol Administrador posee las capacidades tanto del Líder como del Gerente, además de las propias. En este punto cabe la advertencia que esto es válido con la información que me proporcionaste hasta el momento, pero que podría perder validez si más adelante descubre alguna capacidad que rompa la declaración anterior, en cuyo caso tendrías que hacer un nuevo refinamiento de los roles. Por ejemplo, en el caso hipotético que un gerente que puede registrar líderes no necesariamente pudiera registrar la salida de prendas perdidas podría ser expresado así:
Saludos y Suerte



0 comentarios:
Los comentarios nuevos no están permitidos.