![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#14
|
||||
|
||||
|
Cita:
![]() No me preocupo, pero considero que este no sólo es útil para ti, sino también para mi ... porque en parte es algo que también estoy analizando desde hace tiempo y puede que ayudandote a ti, en lo que mis pocas neuronas puedan, logre comprender que es lo que falla en mi contexto.Cita:
Considero que esto necesita de una pespectiva. Mirar al problema desde el dominio del negocio. Velo así: ¿El contexto del problema indica, o da indicios, que los perfiles sean modificados a lo largo del tiempo? ¿En el contexto del problema, tiene significado que un editor administre a un usuario? En un ambiente en donde las cosas fluctúan demasiado, y deben ser controladas se necesita de una mirada un tanto distinta: ser flexible. Por lo general... para dar cierta flexibilidad a un enfoque rígido (Por ejemplo: un usuario es administrador y siempre lo será, y hará X,Y,Z) es necesario implementar reglas de negocio que alteren o adapten a estos potenciales requisitos. ¿Como se soluciona esto? Dezplando la responsabilidad de asignación de los permisos (combinación de funcionalidad y perfil. Véase la matriz) a una clase llamemosle Negocio. Un Negocio implementa ciertas políticas que por lo general, son cambiantes. A estas políticas las podemos formular en forma de reglas. En forma práctica, la clase Negocio tiene como responsabilidad: Crear Reglas Editar Reglas Eliminar Reglas La clase regla lo que hace es tener registrado de alguna forma que se está permitido o no. Aquí, haría falta un análisis de como y que se necesita guardar para responder a frases como esta: Regla de Negocio 1: Todo editor tiene la posibidad de dar de baja un texto. ¿Cómo registrar esto? Por esto digo, hace falta un análisis. Su problema es como traducir una frase gramatical a un conjunto ordenado de datos. En ocasiones basta con tener un campo que represente al sujeto (en este caso el editor), un campo que indica la condición (llamemosle permitido), un campo que reprenta al verbo o acción (baja) y un campo que represente al elemento (texto) . Algo así: Código:
Tabla Reglas: IDRegla - Sujeto - Permitido - Accion - Elemento 1 - Editor - NO - Baja - texto ¿Se entiende la idea? Por esto te digo, que si no estás acostumbrado a UML, puede que esta sea la oportunidad... Haste preguntas al nivel general y determina que posibles conjuntos de reglas son válidas en el contexto para determinar como enfocar al problema del mejor modo. Disculpa por si no soy demasiado práctico... no tengo un ejemplo con el cual mostrarte. Todo lo tengo en la cabeza. Saludos, |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Usuarios y roles | morta71 | Firebird e Interbase | 10 | 05-02-2008 09:36:58 |
| Permisos, roles y usuarios | TJose | Firebird e Interbase | 0 | 04-04-2005 16:22:19 |
| Recuperar roles y lista de usuarios de la DB | alehillebrand | Firebird e Interbase | 3 | 19-02-2005 19:14:21 |
| roles, sesiones y usuarios de oracle 7.3 y delphi 7 | rcrmilo | Oracle | 12 | 03-06-2004 19:22:23 |
| Roles - Usuarios y privilegios | Osorio | Firebird e Interbase | 2 | 13-02-2004 23:34:31 |
|