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

25
Gestión del Directorio Activo Alumno: David Montero Gamero Director: Germán Rigau Claramunt Junio 2009 - FISS

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

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

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

Gestión del Directorio Activo

Alumno: David Montero GameroDirector: Germán Rigau ClaramuntJunio 2009 - FISS

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

Í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

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

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

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

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

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

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

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

Funcionalidades: Casos de Uso

29 de Junio de 2009 6Gestión del Directorio Activo

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

Funcionalidades

29 de Junio de 2009 7Gestión del Directorio Activo

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

Diseño ArquitectónicoArquitectura de 3 capasAplicación Cliente/Servidor

29 de Junio de 2009 8Gestión del Directorio Activo

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

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

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

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

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

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

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

Diseño Visión simplificada de los objetos que contempla el

Directorio Activo.

29 de Junio de 2009 12Gestión del Directorio Activo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Gestión: Planificación Temporal – Diagrama de Gantt

29 de Junio de 2009 21Gestión del Directorio Activo

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

Horas Planificadas vs Horas Reales

29 de Junio de 2009 22Gestión del Directorio Activo

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

Relación de Procesos

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

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

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

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

IntroducciónDirectorio Activo Catálogo global del

DA

29 de Junio de 2009 Gestión del Directorio Activo