La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Proyecto Fin de Carrera Ingeniería Técnica en Informática de Sistemas

Presentaciones similares


Presentación del tema: "Proyecto Fin de Carrera Ingeniería Técnica en Informática de Sistemas"— Transcripción de la presentación:

1 Proyecto Fin de Carrera Ingeniería Técnica en Informática de Sistemas
Gestión del Directorio Activo Alumno: David Montero Gamero Director: Germán Rigau Claramunt Junio FISS

2 Gestión del Directorio Activo
Índice Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Diseño Arquitectónico Tecnología Empleada Diseño Ejemplo de caso de uso: Mover Carpeta de Usuario Implementación Pruebas Gestión del Proyecto Conclusiones Demo 29 de Junio de 2009 Gestión del Directorio Activo

3 Gestión del Directorio Activo
Introducción Origen del proyecto: prácticas en la empresa Ibermática Tecnología y Conocimiento (verano 2008). Antecedentes: Directorio Activo ¿Qué es? base de datos implementada por Microsoft para almacenar todos los objetos que componen su estructura, como pueden ser, usuarios, grupos, servidores, puestos, etc. ¿ Qué es el CAU? Objetivo: desarrollar una aplicación que gestionará el Directorio Activo del banco sin que el CAU acceda a los servidores. ¿Cómo se hacia antes? Antes de la creación de esta aplicación, el agente del CAU se validaba en los servidores del cliente como administrador de dominio y realizaba modificaciones directamente en el Directorio Activo. Enfasís en que él objetivo es que no accedan al DA. Explicar que es el CAU(Centro de Atención a Usuarios) 29 de Junio de 2009 Gestión del Directorio Activo

4 Objetivos del Proyecto
Que el CAU realice una serie de tareas sin tener que acceder directamente a los servidores ni tener que validarse como administradores. Ganar agilidad y rapidez, y garantizar la seguridad del DA y de los servidores. Que el acceso y la utilización de la aplicación sean muy intuitivos. Estructura de ventanas sencilla. Implementar seguridad a la aplicación. Accesos restringidos. Crear un registro con todos los pasos llevados a cabo por el usuario CAU, para llevar un control de las gestiones realizadas. 29 de Junio de 2009 Gestión del Directorio Activo

5 Gestión del Directorio Activo
Método de Trabajo Método de desarrollo de software: Proceso Unificado de Desarrollo (PUD) Dirigido por casos de uso Centrado en la arquitectura Iterativo e incremental Fases de cada iteración Implementación Pruebas Organización del trabajo: Trabajo de desarrollo (3 iteraciones). Reuniones con el director del proyecto, con el cliente y con la empresa. Seguir plan de contingencia y planificación temporal para evitar problemas. 29 de Junio de 2009 Gestión del Directorio Activo

6 Funcionalidades: Casos de Uso
Consta de cuatro grandes grupos: Gestión de usuarios, de grupos, de puestos y de Carpetas de usuario. Explicar qué es un grupo, puesto, carpeta de usuario. 29 de Junio de 2009 Gestión del Directorio Activo

7 Gestión del Directorio Activo
Funcionalidades Gestionar Usuario: Gestionar Carpeta Usuario: Alta de usuario Crear carpeta de usuario Deshabilitar usuario Eliminar carpeta usuario Eliminar usuario Mover carpeta usuario Desbloquear usuario Reiniciar contraseña Gestionar Grupo: Obtener datos usuario Alta de grupo Modificar datos usuario Eliminar grupo Agregar/Eliminar usuario a grupo Agregar/Eliminar grupo Mover Usuario Gestionar Puesto: Deshabilitar puesto Eliminar puesto Mover puesto 29 de Junio de 2009 Gestión del Directorio Activo

8 Diseño Arquitectónico
Arquitectura de 3 capas Aplicación Cliente/Servidor 29 de Junio de 2009 Gestión del Directorio Activo

9 Diseño Arquitectónico
Elección Tecnológica: No ha habido elección tecnológica. Diseño de 3 capas: Capa de Presentación: Visual Basic Capa de Dominio: Visual Basic Capa de Base de Datos: Directorio Activo de Windows 2003 Server. Mediante consultas SQL 29 de Junio de 2009 Gestión del Directorio Activo

10 Gestión del Directorio Activo
Tecnología Empleada Capa de Presentación Diseño de Ventanas: distribución, botones, colores, fuentes, etc. Software: Visual Basic Studio 6.0 Professional y SkinBorder PRO Capa de Gestión de Datos: Directorio Activo de Windows Server 2003 Capa de Dominio: Visual Basic Studio 6.0 Professional. 29 de Junio de 2009 Gestión del Directorio Activo

11 Gestión del Directorio Activo
Diseño Capa de Dominio Casos de Uso Reales (demostración) Pseudocódigo (memoria) Clases de Diseño Como se ha mencionado en la memoria las clases con las que trabaja la aplicación son las que contempla el Directorio Activo de Windows Server Y lo que refleja la memoria no es más que una simplificación de la realidad, ya que el número de atributos de cada clase que existe en el DA es muy extenso. 29 de Junio de 2009 Gestión del Directorio Activo

12 Gestión del Directorio Activo
Diseño Visión simplificada de los objetos que contempla el Directorio Activo . 29 de Junio de 2009 Gestión del Directorio Activo

13 Caso de Uso: Mover Carpeta Usuario
Captura de Requisitos Mediante este caso de uso, se permite mover la Carpeta de un usuario de un servidor de datos a otro. Análisis 29 de Junio de 2009 Gestión del Directorio Activo

14 Caso de Uso: Mover Carpeta Usuario
Name: ElegirOrigenCarpeta(idCarpeta): origen Responsabilities: Permite seleccionar el origen de la carpeta. Preconditions: La carpeta existe en la ubicación seleccionada. Postconditions: Se almacena en la variable origen la ubicación origen de la carpeta. Salida: Name: SeleccionarDestinoCarpeta(idCarpeta):destino Responsabilities:Permite seleccionar el origen de la carpeta Preconditions: Ubicación destino válida, es decir, que no exista otra carpeta con el mismo identificador en la ubicación destino. Postconditions: Se almacena en la variable destino la ubicación destino de la carpeta. Name: MoverCarpeta(idCarpeta,origen,destino):info Responsabilities: Permite mover la carpeta Postconditions: Se mueve la carpeta y su contenido del origen al destino, comprueba si el usuario asociado a la carpeta ha sido movido de Unidad Organizativa y si ahora pertenece a Oficinas agregará en la ficha de seguridad un usuario que se encarga de hacer las copias de seguridad. También se encargará de eliminar la carpeta origen. 29 de Junio de 2009 Gestión del Directorio Activo

15 Caso de Uso: Mover Carpeta Usuario
If usuario existe = true then If carpeta existe en la ubicación origen then If existe otra carpeta perteneciente a ese usuario en el destino then Indicar que ya existe una carpeta para ese usuario en el destino Else If op = SSCC a Oficinas then Mover carpeta origen a backup oficinas Mover carpeta de backup oficinas a servidor oficinas Eliminar carpeta origen Elseif op = Oficinas a SSCC then Mover carpeta backup origen a destino Mover carpeta de backup destino a servidor destino Diseño 29 de Junio de 2009 Gestión del Directorio Activo

16 Caso de Uso: Mover Carpeta Usuario
Elseif op = Oficinas a Oficinas then Mover carpeta de backup origen a backup destino Mover carpeta de backup destino a servidor destino Eliminar carpeta en backup origen Eliminar carpeta servidor origen Elseif op = SSCC a SSCC then Mover carpeta de origen a destino End if Asignar Permisos en la carpeta Else Indicar que no existe la carpeta Show Inicio Indicar que el usuario no existe 29 de Junio de 2009 Gestión del Directorio Activo

17 Gestión del Directorio Activo
Implementación //Caso de uso Desbloquear Usuario. Código Formulario: If GestorUsuario.UserExists(strUser) Then GestorUsuario.Desbloquear strUser //Aquí llamamos al modulo de código Else MsgBox "El usuario no existe", 0, "AdminTool" //Comunicación con el usuario End If //Caso de uso Desbloquear Usuario. Código Módulo: Sub Desbloquear(ByVal user) Set objuser = GetUser(user) If objuser.IsAccountLocked = True Then objuser.IsAccountLocked = False objuser.SetInfo MsgBox "Cuenta desbloqueada", 0, "AdminTool" Else Msgbox”La cuenta ya estaba desbloqueada”… Por política de privacidad de la empresa en la cual he desarrollado esta aplicación, no he podido adjuntar el código del proyecto. Por ello explicaré a grandes rasgos como se ha realizado la implementación de dicha aplicación y he adjuntado parte del código para aclarar mejor algunos conceptos. La idea ha consistido en que la parte que interacciona con el usuario exponga y recoja los datos y llame a los módulos de código que son los que gestionan realmente las operacionesjor los conceptos. 29 de Junio de 2009 Gestión del Directorio Activo

18 Gestión del Directorio Activo
Implementación Conexión al Controlador de Dominio: Set objSWbemLocator = CreateObject ("WbemScripting.SWbemLocator") Set objWMIService = objSWbemLocator.ConnectServer(Inicio.strComputer, "root\directory\LDAP", Inicio.USUARIO_AUTH, Inicio.PASSWORD_AUTH) Ejemplo de Consulta SQL: Set colItems = objWMIService.ExecQuery("SELECT * FROM ds_user WHERE ds_samaccountname= '" & strUser & "'", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly) Llamada a la función Registrar Evento : LogEvent EVENT_ERROR, vbTab & "Error al desbloquear la cuenta del usuario " & strUser 29 de Junio de 2009 Gestión del Directorio Activo

19 Gestión del Directorio Activo
Pruebas Pruebas Unitarias: funcionamiento de un módulo de código Pruebas de integración: fase del testeo de software en la cual módulos individuales de software son combinados y testeados como un grupo. Pruebas de validación:¿Es esto lo que el cliente quiere? Pruebas del sistema: periodo de pruebas en real 29 de Junio de 2009 Gestión del Directorio Activo

20 Gestión: Planificación Temporal – Diagrama de Gantt
La planificación temporal constó de 8 fases: Fase 1: DOP Fase 2: Captura de requisitos Fase 3: Análisis Fase 4: Diseño Fase 5: Primera iteración + Pruebas Fase 6: Segunda iteración + Pruebas Fase 7: Tercera iteración + Memoria Fase 8: Presentación pública 29 de Junio de 2009 Gestión del Directorio Activo

21 Gestión: Planificación Temporal – Diagrama de Gantt
29 de Junio de 2009 Gestión del Directorio Activo

22 Horas Planificadas vs Horas Reales
No son las horas reales de la aplicación real sino una estimación para el proyecto. Aquí por ejemplo no tenemos en cuenta las horas empleadas para las pruebas. 29 de Junio de 2009 Gestión del Directorio Activo

23 Gestión del Directorio Activo
Relación de Procesos 29 de Junio de 2009 Gestión del Directorio Activo

24 Gestión del Directorio Activo
Conclusiones Gestión del Proyecto: Dificultad para la estimación temporal de las fases del proyecto (horas de trabajo) Mala estimación del coste de la tercera iteración (Memoria): 44 horas en lugar de las 24 planificadas Desarrollo de la Aplicación: Implementación modular. Gran importancia del análisis y diseño para facilitar la implementación. Aportación: Experiencia en el desarrollo completo de una aplicación: Paso por todas fases: captura de requerimientos  implementación Trato con clientes reales y por lo tanto con problemas reales. Descubrimiento del desarrollo de software (organización, creación y programación) Valoraciones Personales: Uno de los motivos de la elección de este proyecto fue la asignatura de Ingeniería del Software. Principal dificultad: escasa experiencia en la programación de aplicaciones “grandes”. Experiencia enriquecedora y satisfactoria. 29 de Junio de 2009 Gestión del Directorio Activo

25 Introducción Directorio Activo Catálogo global del DA
LDAP: Protocolo Ligero de Acceso a Directorios: Es un protocolo a nivel de aplicación que permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. Es considerado como una BBDD. DA: Implementación LDAPv3, realmente es un esquema. Las OU’s dan al dominio una jerarquía, facilita la administración y proporciona una imagen de la compañía en términos organizativos y geográficos. Curiosidad: Otras adaptaciones del protocolo LDAP: Red Hat Directory Server o Apache Directory Server. 29 de Junio de 2009 Gestión del Directorio Activo


Descargar ppt "Proyecto Fin de Carrera Ingeniería Técnica en Informática de Sistemas"

Presentaciones similares


Anuncios Google