]> git.llucax.com Git - mecon/samurai.git/blobdiff - doc/uml/Samurai.xmi
Ahora Usuario.php utiliza MECON_Usuario
[mecon/samurai.git] / doc / uml / Samurai.xmi
index dd7c0a0a0694b9ef75132d7731fba2a8451e86be..da69b94ae0110f4eac56bebf76b7423f9a81b259 100644 (file)
  <XMI.header>
   <XMI.documentation>
    <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
-   <XMI.exporterVersion>1.1</XMI.exporterVersion>
+   <XMI.exporterVersion>1.1.5</XMI.exporterVersion>
+   <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
   </XMI.documentation>
-  <XMI.model xmi.name="Samurai" href="/home/mmarrese/public_html/samurai/tronco/doc/uml/Samurai.xmi" />
+  <XMI.model xmi.name="Samurai" href="/home/martin/public_html/samurai/doc/uml/Samurai.xmi" />
   <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
  </XMI.header>
  <XMI.content>
-  <docsettings viewid="206" documentation="" uniqueid="284" />
+  <docsettings viewid="336" documentation="" uniqueid="387" />
   <umlobjects>
-   <UML:Class stereotype="" package="" xmi.id="207" abstract="0" documentation="Clase para el manejo de los usuarios." name="Usuario" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="216" type="void" abstract="0" documentation="Constructor.Recibe como parametro opcional el login del usuario. y busca en la base la informacion referida a el." name="Usuario" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="string" abstract="0" documentation="Login del usuario en la intranet." name="login" static="0" scope="200" />
-     <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="&amp;Samurai_DB" abstract="0" documentation="Objeto conexion." name="db" static="0" scope="200" />
-    </UML:Operation>
-    <UML:Operation stereotype="" package="" xmi.id="217" type="string" abstract="0" documentation="Devuelve el string del login del usuario." name="getLogin" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="218" type="int" abstract="0" documentation="Devuelve el int con el numero de documento del usuario." name="getNrodoc" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="224" type="string" abstract="0" documentation="Devuelve el nombre del usuario." name="getNombre" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="219" type="date" abstract="0" documentation="Devuelve un datetime con la fecha en la cual el usuario se logueo por ultima vez a intranet." name="getFecha" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="220" type="void" abstract="0" documentation="Setea el login del usuario." name="setLogin" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="string" abstract="0" documentation="Login a asignar al usuario" name="login" static="0" scope="200" />
-    </UML:Operation>
-    <UML:Operation stereotype="" package="" xmi.id="221" type="void" abstract="0" documentation="Setea el numero de documento del usuario." name="setNrodoc" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="int" abstract="0" documentation="Numero de documento a asignar al usuario." name="nrodoc" static="0" scope="200" />
-    </UML:Operation>
-    <UML:Operation stereotype="" package="" xmi.id="222" type="void" abstract="0" documentation="Setea el nombre del usuario." name="setNombre" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="string" abstract="0" documentation="Nombre del usuario." name="nombre" static="0" scope="200" />
-    </UML:Operation>
-    <UML:Operation stereotype="" package="" xmi.id="223" type="void" abstract="0" documentation="Setea la fecha de ultimo logueo del usuario." name="setFecha" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="date" abstract="0" documentation="Fecha de ultimo logueo del usuario." name="fecha" static="0" scope="200" />
-    </UML:Operation>
-    <UML:Attribute stereotype="" package="" xmi.id="211" value="" type="string" abstract="0" documentation="Login del usuario en intranet." name="login" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="212" value="" type="int" abstract="0" documentation="Numero de documento del usuario" name="nrodoc" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="213" value="" type="string" abstract="0" documentation="Nombre del usuario" name="nombre" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="214" value="" type="date" abstract="0" documentation="Fecha de ultimo logueo del usuario a la intranet." name="fecha" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="273" value="" type="Samurai_DB" abstract="0" documentation="Objeto Samurai_DB" name="db" static="0" scope="201" />
+   <UML:Class stereotype="" package="" xmi.id="207" abstract="0" documentation="Clase para el manejo de los usuarios." name="SAMURAI_Usuario" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="216" type="void" abstract="0" documentation="Constructor.Recibe como parametro opcional el login del usuario. y busca en la base la informacion referida a el." name="SAMURAI_Usuario" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Objeto conexion." name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="null" type="string" abstract="0" documentation="Login del usuario" name="login" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="365" type="array(string)" abstract="0" documentation="Devuleve un array con los login's de los usuarios asociados al sistema" name="getLoginUsuarios" static="1" scope="202" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="int" abstract="0" documentation="Identificador del sistema" name="id_sistema" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="366" type="array()" abstract="0" documentation="Devuelve un array asociativo en donde la clave es el login y el valor es el nombre del usuario" name="getArrayUsuarios" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="int" abstract="0" documentation="Identificador del sistema" name="id_sistema" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="367" type="array(Permiso)" abstract="0" documentation="Devuelve el array de usuarios" name="getUsuarios" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="int" abstract="0" documentation="Identificador del sistema" name="id_sistema" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="368" type="void" abstract="0" documentation="Obtiene de la base de datos la informacion del usuario" name="obtenerDatosDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="370" type="mixed" abstract="0" documentation="Modifica la base de datos segun accion" name="guardarDatos" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="grabar" type="string" abstract="0" documentation="Indica la accion a realizar" name="accion" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="371" type="mixed" abstract="0" documentation="Graba en base la relacion" name="grabarDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="372" type="mixed" abstract="0" documentation="Borra de la base la relacion" name="borrarDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="373" type="mixed" abstract="0" documentation="Actualiza los datos de la relacion" name="modificarDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="374" type="mixed" abstract="0" documentation="Verifica si el login actual es valido" name="verificarLogin" static="0" scope="200" />
+    <UML:Operation stereotype="" package="" xmi.id="375" type="mixed" abstract="0" documentation="Verifica si el login actual ya esta asociado en base." name="verificarAsociacionExistente" static="0" scope="200" />
+    <UML:Operation stereotype="" package="" xmi.id="386" type="mixed" abstract="0" documentation="Metodo estatico que permite asociar un usuario con un perfil en un sistema determinado." name="asociarPerfil" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;DB" abstract="0" documentation="Conexion a la base de datos" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="string" abstract="0" documentation="Login del usuario que se quiere asociar" name="login" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="" type="int" abstract="0" documentation="Identificador del perfil que se quiere asociar" name="id_perfil" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="4" value="" type="int" abstract="0" documentation="identificador del sistema en el que se esta haciendo la asociacion" name="id_sistema" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="5" value="" type="int" abstract="0" documentation="Login del usuario que esta haciendo los cambios" name="responsable" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Attribute stereotype="" package="" xmi.id="211" value="" type="string" abstract="0" documentation="Login del usuario en intranet.
+x2c: get set" name="login" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="212" value="" type="int" abstract="0" documentation="Numero de documento del usuario
+x2c: get set" name="nrodoc" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="213" value="" type="string" abstract="0" documentation="Nombre del usuario
+x2c: get set" name="nombre" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="273" value="" type="SAMURAI_DB" abstract="0" documentation="Objeto Samurai_DB" name="db" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="369" value="" type="array(int)" abstract="0" documentation="Array con los identificadores de los perfiles asociados a un usuario
+x2c:get set" name="perfiles" static="0" scope="202" />
    </UML:Class>
-   <UML:Class stereotype="" package="" xmi.id="208" abstract="0" documentation="Clase para el manejo de los perfies." name="Perfil" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="229" type="void" abstract="0" documentation="Constructor. Si recibe un identificador como parametro, busca la informacion en la base. No hay metodo que setee el id del perfil puesto que es autonumerico en la DB." name="Perfil" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="int" abstract="0" documentation="Identificador del perfil." name="id" static="0" scope="200" />
-     <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="&amp;Samurai_DB" abstract="0" documentation="Objeto conexion" name="db" static="0" scope="200" />
-    </UML:Operation>
-    <UML:Operation stereotype="" package="" xmi.id="230" type="int" abstract="0" documentation="Devuelve el identificador del perfil." name="getId" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="231" type="getDescPerfilstring" abstract="0" documentation="Devuelve la descripcion del perfil." name="getDescripcion" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="232" type="string" abstract="0" documentation="Devuelve el tipo de perfil." name="getTipo" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="233" type="void" abstract="0" documentation="Setea la descripcion del perfil." name="setDescripcion" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="string" abstract="0" documentation="Descripcion del perfil." name="descripcion" static="0" scope="200" />
-    </UML:Operation>
-    <UML:Operation stereotype="" package="" xmi.id="234" type="void" abstract="0" documentation="Setea el tipo de perfil." name="setTipo" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="string" abstract="0" documentation="Tipo de perfil." name="tipo" static="0" scope="200" />
-    </UML:Operation>
-    <UML:Attribute stereotype="" package="" xmi.id="225" value="" type="int" abstract="0" documentation="Identificador del perfil." name="id" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="226" value="" type="string" abstract="0" documentation="Descripcion del perfil." name="descripcion" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="227" value="" type="string" abstract="0" documentation="Tipo de perfil. E = Externo. I = Interno. D = Dios." name="tipo" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="271" value="" type="Samurai_DB" abstract="0" documentation="Objeto Samurai_DB" name="db" static="0" scope="201" />
+   <UML:Class stereotype="" package="" xmi.id="208" abstract="0" documentation="Clase para el manejo de los perfies." name="SAMURAI_Perfil" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="229" type="void" abstract="0" documentation="Constructor. Si recibe un identificador como parametro, busca la informacion en la base. " name="SAMURAI_Perfil" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Objeto conexion" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="null" type="int" abstract="0" documentation="Identificador del perfil." name="id" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="360" type="bool" abstract="0" documentation="Valida la existencia de una asociacion entre el perfil y el sistema seleccionado. Devuelve true si existe y false en caso contraro." name="existeAsociacion" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="" type="SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="5" value="" type="int" abstract="0" documentation="Identificador del perfil con el cual hacer la comparacion" name="id_perfil" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="6" value="" type="int" abstract="0" documentation="Identificador del sistema con el cual hacer la compararcion" name="id_sistema" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="358" type="bool" abstract="0" documentation="Valida la existencia de un perfil con la descripcion que se pasa por parametro. Devuelve true si existe y false si no existe." name="existePerfil" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="" type="SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="4" value="" type="string" abstract="0" documentation="Descripcion a comparar" name="descripcion" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="356" type="array()" abstract="0" documentation="Devuelve la informacion de los perfiles en un array." name="getArrayPerfiles" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="string" abstract="0" documentation="Filtro por descripcion del perfil" name="filtro" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="339" type="array(Perfil)" abstract="0" documentation="" name="getPerfiles" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Base de datos" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="string" abstract="0" documentation="Filtro por nombre del perfil" name="filtro" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="null" type="int" abstract="0" documentation="Identificador del sistema" name="id_sistema" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="323" type="mixed" abstract="0" documentation="Redirecciona segun la accion correspondiente" name="guardarDatos" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="grabar" type="string" abstract="0" documentation="Representa la accion a desarrollar" name="accion" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="325" type="mixed" abstract="0" documentation="Borra la informacion del perfil de la base" name="borrarDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="338" type="array(int)" abstract="0" documentation="Devuleve un array con los identificadores de todos los perfiles." name="getIdPerfiles" static="1" scope="202" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="string" abstract="0" documentation="Fltro por descripcion del perfil" name="filtro" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="null" type="int" abstract="0" documentation="Identificador del sistema" name="id_sistema" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="324" type="mixed" abstract="0" documentation="Graba la informacion del perfil en base" name="grabarDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="326" type="mixed" abstract="0" documentation="" name="modificarDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="322" type="void" abstract="0" documentation="Obtiene los datos de la base de datos" name="obtenerDatosDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="362" type="mixed" abstract="0" documentation="Se encarga de guardar la relacion entre perfiles - permisos - sistemas" name="guardarPermisos" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="363" type="mixed" abstract="0" documentation="Borra la asociacion de un perfil de un sistema con sus permisos" name="borrarPermisos" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="376" type="mixed" abstract="0" documentation="Verifica si se puede insertar" name="verifPermisos" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="225" value="" type="int" abstract="0" documentation="Identificador del perfil.
+x2c: get set" name="id" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="226" value="" type="string" abstract="0" documentation="Descripcion del perfil.
+x2c: get set" name="descripcion" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="227" value="" type="string" abstract="0" documentation="Tipo de perfil. E = Externo. I = Interno. D = Dios.
+x2c: get set" name="tipo" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="271" value="" type="SAMURAI_DB" abstract="0" documentation="Objeto Samurai_DB" name="db" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="330" value="" type="string" abstract="0" documentation="Responsable de las ultimas modificaciones
+x2c: get set" name="responsable" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="361" value="" type="array(int)" abstract="0" documentation="Array con los permisos asignados al perfil. Solo se cargan cuando se esta trabajando con el abm puesto que varian segun cada sistema.
+x2c: get set" name="permisos" static="0" scope="201" />
    </UML:Class>
-   <UML:Class stereotype="" package="" xmi.id="209" abstract="0" documentation="Clase para el manejo de los sistemas." name="Sistema" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="243" type="void" abstract="0" documentation="Constructor. Si recibe como parametro el identificador busca en la DB los datos. No hay metodo que setee el id del sistema puesto que es un valor autoincrementable en la DB" name="Sistema" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="int" abstract="0" documentation="Identificador del sistema." name="id" static="0" scope="200" />
-     <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="&amp;Samurai_DB" abstract="0" documentation="Objeto Conexion" name="db" static="0" scope="200" />
+   <UML:Class stereotype="" package="" xmi.id="209" abstract="0" documentation="Clase para el manejo de los sistemas." name="SAMURAI_Sistema" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="243" type="void" abstract="0" documentation="Constructor. Si recibe como parametro el identificador busca en la DB los datos. " name="SAMURAI_Sistema" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Objeto Conexion" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="null" type="int" abstract="0" documentation="Identificador del sistema" name="id" static="0" scope="200" />
     </UML:Operation>
     <UML:Operation stereotype="" package="" xmi.id="244" type="int" abstract="0" documentation="Devuelve el identificador del sistema." name="getId" static="0" scope="200" />
     <UML:Operation stereotype="" package="" xmi.id="245" type="string" abstract="0" documentation="Devuelve el nombre del sistema." name="getNombre" static="0" scope="200" />
     <UML:Operation stereotype="" package="" xmi.id="246" type="string" abstract="0" documentation="Devuelve la descrpcion del sistema." name="getDescripcion" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="247" type="date" abstract="0" documentation="Devuelve la fecha de inicio del sistema." name="getFechaInicio" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="248" type="date" abstract="0" documentation="Devuelve la fecha de finalizacion del sistema." name="getFechaFin" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="249" type="date" abstract="0" documentation="Devuelve la fecha de implementacion del sistema." name="getFechaImplementacion" static="0" scope="200" />
+    <UML:Operation stereotype="" package="" xmi.id="247" type="&amp;date" abstract="0" documentation="Devuelve la fecha de inicio del sistema." name="getFechaInicio" static="0" scope="200" />
+    <UML:Operation stereotype="" package="" xmi.id="248" type="&amp;date" abstract="0" documentation="Devuelve la fecha de finalizacion del sistema." name="getFechaFin" static="0" scope="200" />
+    <UML:Operation stereotype="" package="" xmi.id="249" type="&amp;date" abstract="0" documentation="Devuelve la fecha de implementacion del sistema." name="getFechaImplementacion" static="0" scope="200" />
     <UML:Operation stereotype="" package="" xmi.id="250" type="string" abstract="0" documentation="Devuelve el contacto del sistema." name="getContacto" static="0" scope="200" />
     <UML:Operation stereotype="" package="" xmi.id="251" type="void" abstract="0" documentation="Setea el nombre del sistema." name="setNombre" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="string" abstract="0" documentation="Nombre del sistema." name="nombre" static="0" scope="200" />
     <UML:Operation stereotype="" package="" xmi.id="256" type="void" abstract="0" documentation="Setea el contacto del sistema." name="setContacto" static="0" scope="200" >
      <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="string" abstract="0" documentation="Texto con la informacion del contacto." name="contacto" static="0" scope="200" />
     </UML:Operation>
-    <UML:Operation stereotype="" package="" xmi.id="263" type="void" abstract="0" documentation="" name="obtenerDatosDb" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="235" value="" type="int" abstract="0" documentation="Identificador del sistema." name="id" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="237" value="" type="string" abstract="0" documentation="Nombre del sistema." name="nombre" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="238" value="" type="string" abstract="0" documentation="Descripcion del sistema." name="descripcion" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="239" value="" type="date" abstract="0" documentation="Fecha en la cual se inicio el sistema." name="fecha_inicio" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="240" value="" type="date" abstract="0" documentation="Fecha en la cual se dio por terminado el desarrollo del sistema." name="fecha_fin" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="241" value="" type="date" abstract="0" documentation="Fecha de implementacion del sistema." name="fecha_implementacion" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="242" value="" type="string" abstract="0" documentation="Texto con los datos del o de los contacto/s en el area usuario." name="contacto" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="272" value="" type="Samurai_DB" abstract="0" documentation="Objeto Samurai_DB" name="db" static="0" scope="201" />
+    <UML:Operation stereotype="" package="" xmi.id="263" type="void" abstract="0" documentation="Obtiene los datos del sistema de la DB." name="obtenerDatosDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="288" type="void" abstract="0" documentation="Guarda la informacion del sistema en la base." name="guardarDatos" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="grabar" type="string" abstract="0" documentation="Accion a realizar. Grabar, modificar o eliminar" name="accion" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="290" type="string" abstract="0" documentation="Devuelve el login del responsable de los ultimos cambios" name="getResponsable" static="0" scope="200" />
+    <UML:Operation stereotype="" package="" xmi.id="291" type="void" abstract="0" documentation="Setea el login del responsable de los ultimos cambios del sistema" name="setResponsable" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="string" abstract="0" documentation="String con el login del responsable del cambio" name="responsable" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="301" type="array" abstract="0" documentation="Devuelve un array asociativo con los identificadores de los permisos" name="getIdPermisos" static="0" scope="200" />
+    <UML:Operation stereotype="" package="" xmi.id="302" type="void" abstract="0" documentation="Setea los permisos de un sistema" name="setPermisos" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="int" abstract="0" documentation="Array asociativo con los permisos" name="permisos" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="303" type="int" abstract="0" documentation="" name="getMaxIdSistema" static="0" scope="200" />
+    <UML:Operation stereotype="" package="" xmi.id="304" type="void" abstract="0" documentation="Graba los datos en la Base de Datos" name="grabarDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="305" type="void" abstract="0" documentation="Borra los datos de la base de datos" name="borrarDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="306" type="void" abstract="0" documentation="Modifica los datos en base" name="modificarDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="308" type="void" abstract="0" documentation="Graba los permisos del sistema en perm_sist" name="grabarPermisosDb" static="0" scope="202" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Identificador del sistema" name="idSistema" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="309" type="void" abstract="0" documentation="Borra los permisos que tenga asociado el sistema segun el criterio de observaciones" name="borrarPermisosDb" static="0" scope="202" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Identificador del sistema" name="idSistema" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="bool" abstract="0" documentation="Null u observacion de la asociacion a borrar" name="observaciones" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="null" type="int" abstract="0" documentation="Identificador del permiso a borrar" name="idPermiso" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="312" type="bool" abstract="0" documentation="Guarda en base las nuevas asociaciones que se van cargando y actualiza los datos del sistema." name="guardarAsociacion" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Identificador del Permiso" name="idPermiso" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="string" abstract="0" documentation="Observacion a agregar" name="observacion" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="313" type="bool" abstract="0" documentation="Elimina una asociacion de la base, y actualiza los datos del sistema." name="eliminarAsociacion" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Identificador del permiso a borrar" name="idPermiso" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="''" type="string" abstract="0" documentation="Observacion de la asociacion a borrar (Puede ser vacia)" name="observacion" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="314" type="bool" abstract="0" documentation="Actualiza los datos de la asociacion en la base de datos." name="modificarAsociacion" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Identificador del permiso" name="idPermiso" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="''" type="string" abstract="0" documentation="Observacion a insertar" name="observacion" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="4" value="''" type="string" abstract="0" documentation="Observacion anterior" name="obs_ant" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="315" type="bool" abstract="0" documentation="Chequea si existe la asociacion" name="existeAsociacion" static="0" scope="202" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Id del permiso a chequear" name="idPermiso" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="string" abstract="0" documentation="Observacion a chequear" name="observacion" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="341" type="array(Sistema)" abstract="0" documentation="Devuelve el array de sistemas" name="getSistemas" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="342" type="array(int)" abstract="0" documentation="Devuleve un array con los identificadores de todos los sistemas." name="getIdSistemas" static="1" scope="202" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="343" type="array()" abstract="0" documentation="Devuelve un array asociativo en donde la clave es el identificador y el valor es el nombre del sistema" name="getArraySistemas" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Attribute stereotype="" package="" xmi.id="235" value="" type="int" abstract="0" documentation="Identificador del sistema." name="id" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="237" value="" type="string" abstract="0" documentation="Nombre del sistema." name="nombre" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="238" value="" type="string" abstract="0" documentation="Descripcion del sistema." name="descripcion" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="239" value="" type="date" abstract="0" documentation="Fecha en la cual se inicio el sistema." name="fecha_inicio" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="240" value="" type="date" abstract="0" documentation="Fecha en la cual se dio por terminado el desarrollo del sistema." name="fecha_fin" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="241" value="" type="date" abstract="0" documentation="Fecha de implementacion del sistema." name="fecha_implementacion" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="242" value="" type="string" abstract="0" documentation="Texto con los datos del o de los contacto/s en el area usuario." name="contacto" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="272" value="" type="SAMURAI_DB" abstract="0" documentation="Objeto Samurai_DB" name="db" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="289" value="" type="string" abstract="0" documentation="Login del responsable de los ultimos cambios del sistema." name="responsable" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="300" value="" type="array" abstract="0" documentation="Array asociativo (id - descripcion) con los permisos asociados al sistema." name="permisos" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="310" value="" type="array" abstract="0" documentation="Array con los permisos asociados al sistema
+x2c:get set" name="asociaciones" static="0" scope="202" />
    </UML:Class>
-   <UML:Class stereotype="" package="" xmi.id="210" abstract="0" documentation="Clase para el manejo de los Permisos." name="Permiso" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="259" type="void" abstract="0" documentation="Constructor. Si recibe como parametro el identificador del permiso, busca la informacion en la DB. No hay metodo que setee el id puesto que es un valor autoincrementable en la DB." name="Permiso" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="int" abstract="0" documentation="Identificador del sistema." name="id" static="0" scope="200" />
-     <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="&amp;Samurai_DB" abstract="0" documentation="Objeto conexion" name="db" static="0" scope="200" />
-    </UML:Operation>
-    <UML:Operation stereotype="" package="" xmi.id="260" type="int" abstract="0" documentation="Devuelve el identificador del permiso." name="getId" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="261" type="string" abstract="0" documentation="Devuelve la descripcion del permiso." name="getDescripcion" static="0" scope="200" />
-    <UML:Operation stereotype="" package="" xmi.id="262" type="void" abstract="0" documentation="Setea la descripcion del permiso." name="setDescripcion" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="string" abstract="0" documentation="Descripcion del permiso." name="descripcion" static="0" scope="200" />
-    </UML:Operation>
-    <UML:Attribute stereotype="" package="" xmi.id="257" value="" type="int" abstract="0" documentation="Identificador del permiso." name="id" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="258" value="" type="string" abstract="0" documentation="Descripcion del permiso." name="descripcion" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="270" value="" type="Samurai_DB" abstract="0" documentation="Objeto Samurai_DB" name="db" static="0" scope="201" />
+   <UML:Class stereotype="" package="" xmi.id="210" abstract="0" documentation="Clase para el manejo de los Permisos." name="SAMURAI_Permiso" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="259" type="void" abstract="0" documentation="Constructor. Si recibe como parametro el identificador del permiso, busca la informacion en la DB." name="SAMURAI_Permiso" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Objeto conexion" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="null" type="int" abstract="0" documentation="Identificador del permiso" name="id" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="334" type="array(Permiso)" abstract="0" documentation="Devuelve el array de permisos" name="getPermisos" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="int" abstract="0" documentation="Identificador del sistema" name="id_sistema" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="333" type="array()" abstract="0" documentation="Devuelve un array asociativo en donde la clave es el identificador y el valor es la descripcion del permiso" name="getArrayPermisos" static="1" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="int" abstract="0" documentation="Identificador del sistema" name="id_sistema" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="316" type="mixed" abstract="0" documentation="Modifica la base de datos segun accion" name="guardarDatos" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="grabar" type="string" abstract="0" documentation="Indica la accion a realizar" name="accion" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="318" type="mixed" abstract="0" documentation="Borra de la base el permiso" name="borrarDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="332" type="array(int)" abstract="0" documentation="Devuleve un array con los identificadores de todos los permisos." name="getIdPermisos" static="1" scope="202" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;SAMURAI_DB" abstract="0" documentation="Base de Datos" name="db" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="null" type="int" abstract="0" documentation="Identificador del sistema" name="id_sistema" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="317" type="mixed" abstract="0" documentation="Graba en base el permiso" name="grabarDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="319" type="mixed" abstract="0" documentation="Actualiza los datos del permiso" name="modificarDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="295" type="void" abstract="0" documentation="Obtiene de la base de datos la informacion del permiso" name="obtenerDatosDb" static="0" scope="202" />
+    <UML:Operation stereotype="" package="" xmi.id="364" type="bool" abstract="0" documentation="Devuelve true si esta asociado a algun sistema, caso contrario devuelve false" name="asociadoASistema" static="0" scope="200" />
+    <UML:Attribute stereotype="" package="" xmi.id="257" value="" type="int" abstract="0" documentation="Identificador del permiso.
+x2c: get set" name="id" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="258" value="" type="string" abstract="0" documentation="Descripcion del permiso.
+x2c: get set" name="descripcion" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="270" value="" type="SAMURAI_DB" abstract="0" documentation="Objeto Samurai_DB" name="db" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="296" value="" type="string" abstract="0" documentation="Indentificador del ultimo que realizo alguna operacion sobre el permiso
+x2c: get set" name="responsable" static="0" scope="202" />
    </UML:Class>
    <UML:Class stereotype="" package="" xmi.id="264" abstract="0" documentation="x2c:extern
 x2c:include: DB.php" name="DB" static="0" scope="200" />
-   <UML:Class stereotype="" package="" xmi.id="265" abstract="0" documentation="Manejo interno de las bases de datos." name="Samurai_DB" static="0" scope="200" >
+   <UML:Class stereotype="" package="" xmi.id="265" abstract="0" documentation="Manejo interno de las bases de datos." name="SAMURAI_DB" static="0" scope="200" >
     <UML:Operation stereotype="" package="" xmi.id="269" type="DB" abstract="0" documentation="Realiza la conexion con la base de datos." name="connect" static="0" scope="200" />
    </UML:Class>
-   <UML:Class stereotype="" package="" xmi.id="274" abstract="0" documentation="Objeto general." name="Samurai" static="0" scope="200" >
-    <UML:Operation stereotype="" package="" xmi.id="280" type="void" abstract="0" documentation="Constructor. Recibe como parametro el identificador del sistema." name="Samurai" static="0" scope="200" >
-     <UML:Parameter stereotype="" package="" xmi.id="1" value="null" type="int" abstract="0" documentation="Identificador del sistema.         " name="idSistema" static="0" scope="200" />
-     <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="&amp;Samurai_DB" abstract="0" documentation="Objeto conexion" name="db" static="0" scope="200" />
-    </UML:Operation>
-    <UML:Operation stereotype="" package="" xmi.id="283" type="array(Sistema)" abstract="0" documentation="Devuleve un array con los identificadores de todos los sistemas." name="getIdSistemas" static="0" scope="200" />
-    <UML:Attribute stereotype="" package="" xmi.id="276" value="" type="array(Sistema)" abstract="0" documentation="Sistemas en general." name="sistemas" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="277" value="" type="array(Usuario)" abstract="0" documentation="Usuarios del sistema." name="usuarios" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="278" value="" type="array(Permiso)" abstract="0" documentation="Permisos del sistema" name="permisos" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="279" value="" type="array(Perfil)" abstract="0" documentation="Perfiles del sistema" name="perfiles" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="281" value="" type="int" abstract="0" documentation="Identificador del sistema." name="id_sistema" static="0" scope="201" />
-    <UML:Attribute stereotype="" package="" xmi.id="282" value="" type="Samurai_DB" abstract="0" documentation="Objeto Conexion" name="db" static="0" scope="201" />
+   <UML:Class stereotype="" package="SAMURAI" xmi.id="377" abstract="0" documentation="Chequeador de permisos." name="SAMURAI_Perm" static="0" scope="200" >
+    <UML:Operation stereotype="" package="" xmi.id="380" type="void" abstract="0" documentation="Constructor." name="SAMURAI_Perm" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Login del usuario para el cual obtener los permisos." name="login" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="int" abstract="0" documentation="Sistema con el cual se va a trabajar." name="sistema" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="3" value="" type="&amp;DB" abstract="0" documentation="Base de datos a usar." name="db" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="381" type="bool" abstract="0" documentation="Verifica si tiene un permiso.
+
+Se puede pasar parámetros variables con un identificador de permiso o un array, por ejemplo: $perm->tiene(1, 4, array(2, 5, 67), 12); Si tiene algún permiso devuelve true.
+Si no se pasa ningún párametro ($perm->tiene()), devuelve true si tiene un permiso (al menos uno) en el sistema actual." name="tiene" static="0" scope="200" />
+    <UML:Operation stereotype="" package="" xmi.id="385" type="array" abstract="0" documentation="Obtiene una lista de permisos. Si se especifica un sistema, obtiene la lista de permisos para ese sistema." name="getPermisos" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="''" type="int" abstract="0" documentation="Sistema del cual obtener la lista de permisos." name="sistema" static="0" scope="200" />
+    </UML:Operation>
+    <UML:Attribute stereotype="" package="" xmi.id="378" value="array()" type="array" abstract="0" documentation="Permisos. Es un array asociativo, donde la clave es un identificador de sistema y el valor un array con los permisos que tiene para ese sistema." name="permisos" static="0" scope="202" />
+    <UML:Attribute stereotype="" package="" xmi.id="379" value="" type="int" abstract="0" documentation="Sistema usado actualmente.
+x2c:set" name="sistema" static="0" scope="202" />
    </UML:Class>
+   <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="265" roleb="264" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+   <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="501" rolea="265" roleb="210" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+   <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="501" rolea="265" roleb="209" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+   <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="501" rolea="265" roleb="208" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+   <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="501" rolea="265" roleb="207" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+   <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="265" roleb="264" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
   </umlobjects>
   <diagrams>
-   <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" snapy="10" showatts="1" xmi.id="206" documentation="" type="402" showops="1" showpackage="0" name="Clases" localid="30000" showstereotype="0" showscope="1" font="helvetica,6,-1,0,50,0,0,0,0,0" linecolor="#ff0000" >
+   <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="911" snapy="10" showatts="1" xmi.id="206" documentation="" type="402" showops="1" showpackage="0" name="Clases y Relaciones" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="helvetica,8,-1,0,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="644" >
     <widgets>
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="230" showattsigs="601" usesdiagramusefillcolour="0" x="550" linecolour="#ff0000" y="210" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="165" usefillcolor="1" showattributes="1" xmi.id="207" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,6,-1,0,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="208" showattsigs="601" usesdiagramusefillcolour="0" x="440" linecolour="#ff0000" y="20" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="121" usefillcolor="1" showattributes="1" xmi.id="208" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,6,-1,0,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="218" showattsigs="601" usesdiagramusefillcolour="0" x="10" linecolour="#ff0000" y="280" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="264" usefillcolor="1" showattributes="1" xmi.id="209" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,6,-1,0,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="208" showattsigs="601" usesdiagramusefillcolour="0" x="0" linecolour="#ff0000" y="20" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="88" usefillcolor="1" showattributes="1" xmi.id="210" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,6,-1,0,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="40" showattsigs="601" usesdiagramusefillcolour="0" x="300" linecolour="#ff0000" y="20" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="21" usefillcolor="1" showattributes="1" xmi.id="264" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,6,-1,0,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="78" showattsigs="601" usesdiagramusefillcolour="0" x="300" linecolour="#ff0000" y="170" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="27" usefillcolor="1" showattributes="1" xmi.id="265" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,6,-1,0,50,0,0,0,0,0" />
-     <UML:ConceptWidget usesdiagramfillcolour="0" width="240" showattsigs="601" usesdiagramusefillcolour="0" x="270" linecolour="#ff0000" y="420" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="99" usefillcolor="1" showattributes="1" xmi.id="274" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,6,-1,0,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="157" showattsigs="601" usesdiagramusefillcolour="0" x="750" linecolour="#ff0000" y="290" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="252" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="207" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="110" showattsigs="601" usesdiagramusefillcolour="0" x="640" linecolour="#ff0000" y="10" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="294" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="208" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="149" showattsigs="601" usesdiagramusefillcolour="0" x="200" linecolour="#ff0000" y="10" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="630" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="209" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="118" showattsigs="601" usesdiagramusefillcolour="0" x="480" linecolour="#ff0000" y="310" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="210" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="210" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="35" showattsigs="601" usesdiagramusefillcolour="0" x="490" linecolour="#ff0000" y="10" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#d5d5cf" height="28" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="264" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="79" showattsigs="601" usesdiagramusefillcolour="0" x="480" linecolour="#ff0000" y="120" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="265" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
     </widgets>
     <messages/>
     <associations>
-     <UML:AssocWidget totalcounta="4" indexa="2" totalcountb="2" indexb="1" widgetbid="264" widgetaid="265" documentation="" type="500" >
-      <linepath>
-       <startpoint startx="339" starty="170" />
-       <endpoint endx="320" endy="41" />
-      </linepath>
-     </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="4" indexa="1" totalcountb="3" indexb="2" widgetbid="210" widgetaid="265" documentation="" type="501" >
+     <UML:AssocWidget totalcounta="3" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="264" roleBdoc="" widgetaid="265" roleAdoc="" documentation="" type="500" changeabilityA="900" changeabilityB="900" visibilityA="200" >
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="319" starty="170" />
-       <endpoint endx="138" endy="108" />
+       <startpoint startx="506" starty="120" />
+       <endpoint endx="507" endy="38" />
       </linepath>
      </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="209" widgetaid="265" documentation="" type="501" >
+     <UML:AssocWidget totalcounta="3" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="210" roleBdoc="" widgetaid="265" roleAdoc="" documentation="" type="501" changeabilityA="900" changeabilityB="900" visibilityA="200" >
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="701" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="709" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="+" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="+" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="300" starty="183" />
-       <endpoint endx="119" endy="280" />
+       <startpoint startx="506" starty="155" />
+       <endpoint endx="539" endy="310" />
       </linepath>
      </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="4" indexa="3" totalcountb="2" indexb="1" widgetbid="208" widgetaid="265" documentation="" type="501" >
+     <UML:AssocWidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="209" roleBdoc="" widgetaid="265" roleAdoc="" documentation="" type="501" changeabilityA="900" changeabilityB="900" visibilityA="200" >
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="701" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="709" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="+" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="+" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="358" starty="170" />
-       <endpoint endx="440" endy="80" />
+       <startpoint startx="480" starty="137" />
+       <endpoint endx="349" endy="325" />
       </linepath>
      </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="207" widgetaid="265" documentation="" type="501" >
+     <UML:AssocWidget totalcounta="3" indexa="2" visibilityB="200" totalcountb="2" indexb="1" widgetbid="208" roleBdoc="" widgetaid="265" roleAdoc="" documentation="" type="501" changeabilityA="900" changeabilityB="900" visibilityA="200" >
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="701" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="709" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="+" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="+" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="378" starty="183" />
-       <endpoint endx="550" endy="265" />
+       <startpoint startx="532" starty="120" />
+       <endpoint endx="640" endy="157" />
       </linepath>
      </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="5" indexb="1" widgetbid="274" widgetaid="209" documentation="" type="501" >
+     <UML:AssocWidget totalcounta="3" indexa="2" visibilityB="200" totalcountb="2" indexb="1" widgetbid="207" roleBdoc="" widgetaid="265" roleAdoc="" documentation="" type="501" changeabilityA="900" changeabilityB="900" visibilityA="200" >
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="701" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="10" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="709" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="+" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="10" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="+" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="10" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="228" starty="412" />
-       <endpoint endx="318" endy="420" />
+       <startpoint startx="532" starty="155" />
+       <endpoint endx="750" endy="416" />
       </linepath>
      </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="3" indexa="2" totalcountb="5" indexb="4" widgetbid="274" widgetaid="207" documentation="" type="501" >
-      <linepath>
-       <startpoint startx="550" starty="320" />
-       <endpoint endx="462" endy="420" />
-      </linepath>
-     </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="5" indexb="3" widgetbid="274" widgetaid="208" documentation="" type="501" >
-      <linepath>
-       <startpoint startx="544" starty="141" />
-       <endpoint endx="414" endy="420" />
-      </linepath>
-     </UML:AssocWidget>
-     <UML:AssocWidget totalcounta="3" indexa="1" totalcountb="5" indexb="2" widgetbid="274" widgetaid="210" documentation="" type="501" >
+    </associations>
+   </diagram>
+   <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="902" snapy="10" showatts="1" xmi.id="336" documentation="" type="402" showops="1" showpackage="0" name="Clases" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="helvetica,8,-1,0,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="1174" >
+    <widgets>
+     <UML:ClassWidget usesdiagramfillcolour="0" width="35" showattsigs="601" usesdiagramusefillcolour="0" x="470" linecolour="#ff0000" y="20" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#d5d5cf" height="28" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="264" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="429" showattsigs="601" usesdiagramusefillcolour="0" x="10" linecolour="#ff0000" y="240" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="294" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="208" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="360" showattsigs="601" usesdiagramusefillcolour="0" x="10" linecolour="#ff0000" y="10" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="210" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="210" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="88" showattsigs="601" usesdiagramusefillcolour="0" x="450" linecolour="#ff0000" y="80" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="265" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="431" showattsigs="601" usesdiagramusefillcolour="0" x="10" linecolour="#ff0000" y="540" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="630" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="209" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="448" showattsigs="601" usesdiagramusefillcolour="0" x="450" linecolour="#ff0000" y="230" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="252" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="207" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+     <UML:ClassWidget usesdiagramfillcolour="0" width="288" showattsigs="601" usesdiagramusefillcolour="0" x="450" linecolour="#ff0000" y="130" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="84" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="377" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+    </widgets>
+    <messages/>
+    <associations>
+     <UML:AssocWidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="264" roleBdoc="" widgetaid="265" roleAdoc="" documentation="" type="500" changeabilityA="900" changeabilityB="900" visibilityA="200" >
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+      <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
       <linepath>
-       <startpoint startx="69" starty="108" />
-       <endpoint endx="366" endy="420" />
+       <startpoint startx="494" starty="80" />
+       <endpoint endx="487" endy="48" />
       </linepath>
      </UML:AssocWidget>
     </associations>
@@ -203,59 +362,98 @@ x2c:include: DB.php" name="DB" static="0" scope="200" />
   <listview>
    <listitem open="1" type="800" id="-1" label="Views" >
     <listitem open="1" type="801" id="-1" label="Logical View" >
-     <listitem open="1" type="803" id="-1" label="SAMURAI" >
-      <listitem open="1" type="807" id="206" label="Clases" />
+     <listitem open="1" type="803" id="-1" label="Diagramas" >
+      <listitem open="1" type="807" id="336" label="Clases" />
+      <listitem open="1" type="807" id="206" label="Clases y Relaciones" />
+      <listitem open="0" type="813" id="377" label="SAMURAI_Perm" >
+       <listitem open="0" type="814" id="378" label="permisos" />
+       <listitem open="0" type="814" id="379" label="sistema" />
+       <listitem open="0" type="815" id="380" label="SAMURAI_Perm" />
+       <listitem open="0" type="815" id="385" label="getPermisos" />
+       <listitem open="0" type="815" id="381" label="tiene" />
+      </listitem>
+     </listitem>
+     <listitem open="0" type="803" id="-1" label="EXTERNO" >
       <listitem open="1" type="813" id="264" label="DB" />
-      <listitem open="0" type="813" id="208" label="Perfil" >
+     </listitem>
+     <listitem open="1" type="803" id="-1" label="SAMURAI" >
+      <listitem open="0" type="813" id="265" label="SAMURAI_DB" >
+       <listitem open="0" type="815" id="269" label="connect" />
+      </listitem>
+      <listitem open="0" type="813" id="208" label="SAMURAI_Perfil" >
        <listitem open="0" type="814" id="271" label="db" />
        <listitem open="0" type="814" id="226" label="descripcion" />
-       <listitem open="0" type="815" id="231" label="getDescripcion" />
-       <listitem open="0" type="815" id="230" label="getId" />
-       <listitem open="0" type="815" id="232" label="getTipo" />
        <listitem open="0" type="814" id="225" label="id" />
-       <listitem open="0" type="815" id="229" label="Perfil" />
-       <listitem open="0" type="815" id="233" label="setDescripcion" />
-       <listitem open="0" type="815" id="234" label="setTipo" />
+       <listitem open="0" type="814" id="361" label="permisos" />
+       <listitem open="0" type="814" id="330" label="responsable" />
        <listitem open="0" type="814" id="227" label="tipo" />
+       <listitem open="0" type="815" id="229" label="SAMURAI_Perfil" />
+       <listitem open="0" type="815" id="325" label="borrarDb" />
+       <listitem open="0" type="815" id="363" label="borrarPermisos" />
+       <listitem open="0" type="815" id="360" label="existeAsociacion" />
+       <listitem open="0" type="815" id="358" label="existePerfil" />
+       <listitem open="0" type="815" id="356" label="getArrayPerfiles" />
+       <listitem open="0" type="815" id="338" label="getIdPerfiles" />
+       <listitem open="0" type="815" id="339" label="getPerfiles" />
+       <listitem open="0" type="815" id="324" label="grabarDb" />
+       <listitem open="0" type="815" id="323" label="guardarDatos" />
+       <listitem open="0" type="815" id="362" label="guardarPermisos" />
+       <listitem open="0" type="815" id="326" label="modificarDb" />
+       <listitem open="0" type="815" id="322" label="obtenerDatosDb" />
+       <listitem open="0" type="815" id="376" label="verifPermisos" />
       </listitem>
-      <listitem open="0" type="813" id="210" label="Permiso" >
+      <listitem open="0" type="813" id="210" label="SAMURAI_Permiso" >
        <listitem open="0" type="814" id="270" label="db" />
        <listitem open="0" type="814" id="258" label="descripcion" />
-       <listitem open="0" type="815" id="261" label="getDescripcion" />
-       <listitem open="0" type="815" id="260" label="getId" />
        <listitem open="0" type="814" id="257" label="id" />
-       <listitem open="0" type="815" id="259" label="Permiso" />
-       <listitem open="0" type="815" id="262" label="setDescripcion" />
+       <listitem open="0" type="814" id="296" label="responsable" />
+       <listitem open="0" type="815" id="259" label="SAMURAI_Permiso" />
+       <listitem open="0" type="815" id="364" label="asociadoASistema" />
+       <listitem open="0" type="815" id="318" label="borrarDb" />
+       <listitem open="0" type="815" id="333" label="getArrayPermisos" />
+       <listitem open="0" type="815" id="332" label="getIdPermisos" />
+       <listitem open="0" type="815" id="334" label="getPermisos" />
+       <listitem open="0" type="815" id="317" label="grabarDb" />
+       <listitem open="0" type="815" id="316" label="guardarDatos" />
+       <listitem open="0" type="815" id="319" label="modificarDb" />
+       <listitem open="0" type="815" id="295" label="obtenerDatosDb" />
       </listitem>
-      <listitem open="1" type="813" id="274" label="Samurai" >
-       <listitem open="0" type="814" id="282" label="db" />
-       <listitem open="0" type="815" id="283" label="getIdSistemas" />
-       <listitem open="0" type="814" id="281" label="id_sistema" />
-       <listitem open="0" type="814" id="279" label="perfiles" />
-       <listitem open="0" type="814" id="278" label="permisos" />
-       <listitem open="0" type="815" id="280" label="Samurai" />
-       <listitem open="0" type="814" id="276" label="sistemas" />
-       <listitem open="0" type="814" id="277" label="usuarios" />
-      </listitem>
-      <listitem open="0" type="813" id="265" label="Samurai_DB" >
-       <listitem open="0" type="815" id="269" label="connect" />
-      </listitem>
-      <listitem open="0" type="813" id="209" label="Sistema" >
+      <listitem open="0" type="813" id="209" label="SAMURAI_Sistema" >
+       <listitem open="0" type="814" id="310" label="asociaciones" />
        <listitem open="0" type="814" id="242" label="contacto" />
        <listitem open="0" type="814" id="272" label="db" />
        <listitem open="0" type="814" id="238" label="descripcion" />
        <listitem open="0" type="814" id="240" label="fecha_fin" />
        <listitem open="0" type="814" id="241" label="fecha_implementacion" />
        <listitem open="0" type="814" id="239" label="fecha_inicio" />
+       <listitem open="0" type="814" id="235" label="id" />
+       <listitem open="0" type="814" id="237" label="nombre" />
+       <listitem open="0" type="814" id="300" label="permisos" />
+       <listitem open="0" type="814" id="289" label="responsable" />
+       <listitem open="0" type="815" id="243" label="SAMURAI_Sistema" />
+       <listitem open="0" type="815" id="305" label="borrarDb" />
+       <listitem open="0" type="815" id="309" label="borrarPermisosDb" />
+       <listitem open="0" type="815" id="313" label="eliminarAsociacion" />
+       <listitem open="0" type="815" id="315" label="existeAsociacion" />
+       <listitem open="0" type="815" id="343" label="getArraySistemas" />
        <listitem open="0" type="815" id="250" label="getContacto" />
        <listitem open="0" type="815" id="246" label="getDescripcion" />
        <listitem open="0" type="815" id="248" label="getFechaFin" />
        <listitem open="0" type="815" id="249" label="getFechaImplementacion" />
        <listitem open="0" type="815" id="247" label="getFechaInicio" />
        <listitem open="0" type="815" id="244" label="getId" />
+       <listitem open="0" type="815" id="301" label="getIdPermisos" />
+       <listitem open="0" type="815" id="342" label="getIdSistemas" />
+       <listitem open="0" type="815" id="303" label="getMaxIdSistema" />
        <listitem open="0" type="815" id="245" label="getNombre" />
-       <listitem open="0" type="814" id="235" label="id" />
-       <listitem open="0" type="814" id="237" label="nombre" />
+       <listitem open="0" type="815" id="290" label="getResponsable" />
+       <listitem open="0" type="815" id="341" label="getSistemas" />
+       <listitem open="0" type="815" id="304" label="grabarDb" />
+       <listitem open="0" type="815" id="308" label="grabarPermisosDb" />
+       <listitem open="0" type="815" id="312" label="guardarAsociacion" />
+       <listitem open="0" type="815" id="288" label="guardarDatos" />
+       <listitem open="0" type="815" id="314" label="modificarAsociacion" />
+       <listitem open="0" type="815" id="306" label="modificarDb" />
        <listitem open="0" type="815" id="263" label="obtenerDatosDb" />
        <listitem open="0" type="815" id="256" label="setContacto" />
        <listitem open="0" type="815" id="252" label="setDescripcion" />
@@ -263,27 +461,34 @@ x2c:include: DB.php" name="DB" static="0" scope="200" />
        <listitem open="0" type="815" id="255" label="setFechaImplementacion" />
        <listitem open="0" type="815" id="253" label="setFechaInicio" />
        <listitem open="0" type="815" id="251" label="setNombre" />
-       <listitem open="0" type="815" id="243" label="Sistema" />
+       <listitem open="0" type="815" id="302" label="setPermisos" />
+       <listitem open="0" type="815" id="291" label="setResponsable" />
       </listitem>
-      <listitem open="0" type="813" id="207" label="Usuario" >
+      <listitem open="1" type="813" id="207" label="SAMURAI_Usuario" >
        <listitem open="0" type="814" id="273" label="db" />
-       <listitem open="0" type="814" id="214" label="fecha" />
-       <listitem open="0" type="815" id="219" label="getFecha" />
-       <listitem open="0" type="815" id="217" label="getLogin" />
-       <listitem open="0" type="815" id="224" label="getNombre" />
-       <listitem open="0" type="815" id="218" label="getNrodoc" />
        <listitem open="0" type="814" id="211" label="login" />
        <listitem open="0" type="814" id="213" label="nombre" />
        <listitem open="0" type="814" id="212" label="nrodoc" />
-       <listitem open="0" type="815" id="223" label="setFecha" />
-       <listitem open="0" type="815" id="220" label="setLogin" />
-       <listitem open="0" type="815" id="222" label="setNombre" />
-       <listitem open="0" type="815" id="221" label="setNrodoc" />
-       <listitem open="0" type="815" id="216" label="Usuario" />
+       <listitem open="0" type="814" id="369" label="perfiles" />
+       <listitem open="0" type="815" id="216" label="SAMURAI_Usuario" />
+       <listitem open="0" type="815" id="386" label="asociarPerfil" />
+       <listitem open="0" type="815" id="372" label="borrarDb" />
+       <listitem open="0" type="815" id="366" label="getArrayUsuarios" />
+       <listitem open="0" type="815" id="365" label="getLoginUsuarios" />
+       <listitem open="0" type="815" id="367" label="getUsuarios" />
+       <listitem open="0" type="815" id="371" label="grabarDb" />
+       <listitem open="0" type="815" id="370" label="guardarDatos" />
+       <listitem open="0" type="815" id="373" label="modificarDb" />
+       <listitem open="0" type="815" id="368" label="obtenerDatosDb" />
+       <listitem open="0" type="815" id="375" label="verificarAsociacionExistente" />
+       <listitem open="0" type="815" id="374" label="verificarLogin" />
       </listitem>
      </listitem>
     </listitem>
-    <listitem open="1" type="802" id="-1" label="Use Case View" />
+    <listitem open="0" type="802" id="-1" label="Use Case View" />
+    <listitem open="1" type="821" id="-1" label="Component View" />
+    <listitem open="0" type="823" id="-1" label="Diagrams" />
+    <listitem open="1" type="827" id="-1" label="Deployment View" />
    </listitem>
   </listview>
  </XMI.content>