Upload
margo
View
51
Download
0
Embed Size (px)
DESCRIPTION
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 2009 - FISS. Índice. Introducción Objetivos del Proyecto Método de Trabajo Funcionalidades Diseño Arquitectónico - PowerPoint PPT Presentation
Citation preview
Gestión del Directorio Activo
Alumno: David Montero GameroDirector: Germán Rigau ClaramuntJunio 2009 - FISS
ÍndiceIntroducciónObjetivos del ProyectoMétodo de TrabajoFuncionalidadesDiseño ArquitectónicoTecnología EmpleadaDiseñoEjemplo de caso de uso: Mover Carpeta de UsuarioImplementaciónPruebasGestión del ProyectoConclusionesDemo
29 de Junio de 2009 2Gestión del Directorio Activo
IntroducciónOrigen 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.
29 de Junio de 2009 3Gestión del Directorio Activo
Objetivos del ProyectoQue 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 4Gestión del Directorio Activo
Método de TrabajoMétodo de desarrollo de software: Proceso Unificado de
Desarrollo (PUD)Dirigido por casos de usoCentrado en la arquitecturaIterativo e incremental
Fases de cada iteraciónImplementaciónPruebas
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 5Gestión del Directorio Activo
Funcionalidades: Casos de Uso
29 de Junio de 2009 6Gestión del Directorio Activo
Funcionalidades
29 de Junio de 2009 7Gestión del Directorio Activo
Diseño ArquitectónicoArquitectura de 3 capasAplicación Cliente/Servidor
29 de Junio de 2009 8Gestión del Directorio Activo
Diseño ArquitectónicoElecció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 9Gestió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 10Gestió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 2003. 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 11Gestión del Directorio Activo
Diseño Visión simplificada de los objetos que contempla el
Directorio Activo.
29 de Junio de 2009 12Gestión del Directorio Activo
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 13Gestión del Directorio Activo
Caso de Uso: Mover Carpeta UsuarioName: ElegirOrigenCarpeta(idCarpeta): origenResponsabilities: 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):destinoResponsabilities: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.Salida: Name: MoverCarpeta(idCarpeta,origen,destino):infoResponsabilities: Permite mover la carpetaPreconditions: Ubicación destino válida, es decir, que no exista otra carpeta con el mismo identificador en la ubicación destino.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.Salida:
29 de Junio de 2009 14Gestión del Directorio Activo
Caso de Uso: Mover Carpeta Usuario Diseño
29 de Junio de 2009 15Gestión del Directorio Activo
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 thenMover carpeta origen a backup oficinasMover carpeta de backup oficinas a servidor oficinasEliminar carpeta origen
Elseif op = Oficinas a SSCC thenMover carpeta backup origen a destinoMover carpeta de backup destino a servidor destinoEliminar carpeta origen
Caso de Uso: Mover Carpeta UsuarioElseif op = Oficinas a Oficinas then
Mover carpeta de backup origen a backup destinoMover carpeta de backup destino a servidor destinoEliminar carpeta en backup origenEliminar carpeta servidor origen
Elseif op = SSCC a SSCC thenMover carpeta de origen a destino
End ifAsignar Permisos en la carpeta
End if Else
Indicar que no existe la carpeta Show Inicio
End ifElse
Indicar que el usuario no existe Show InicioEnd if
29 de Junio de 2009 Gestión del Directorio Activo 16
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 usuarioEnd 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”…
29 de Junio de 2009 Gestión del Directorio Activo 17
ImplementaciónConexió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 18
PruebasPruebas 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 19
Gestión: Planificación Temporal – Diagrama de GanttLa planificación temporal constó de 8 fases:
Fase 1: DOPFase 2: Captura de requisitosFase 3: AnálisisFase 4: Diseño Fase 5: Primera iteración + PruebasFase 6: Segunda iteración + PruebasFase 7: Tercera iteración + MemoriaFase 8: Presentación pública
29 de Junio de 2009 20Gestión del Directorio Activo
Gestión: Planificación Temporal – Diagrama de Gantt
29 de Junio de 2009 21Gestión del Directorio Activo
Horas Planificadas vs Horas Reales
29 de Junio de 2009 22Gestión del Directorio Activo
Relación de Procesos
29 de Junio de 2009 23Gestió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 24Gestión del Directorio Activo
IntroducciónDirectorio Activo Catálogo global del
DA
29 de Junio de 2009 Gestión del Directorio Activo