Vous êtes sur la page 1sur 10

Anlisis, Diseo y Construccin de un Sistema de Control de Asistencia para la Coordinacin de Recursos Humanos

D. Del Castillo, J. Ruiz y P. Guerra Departamento de Ciencias de la Computacin, Escuela Politcnica del Ejrcito, Sangolqu, Ecuador ddelcastillo@mef.gov.ec, { jaruiz, prguerra} @espe.edu.ec RESUMEN: El objetivo fundamental del proyecto desarrollado fue la implantacin de un Sistema de Control de Asistencia de Personal para la Coordinacin de Recursos Humanos del Ministerio de Finanzas, mediante la aplicacin de la Metodologa gil de Programacin Extrema (XP). En el presente proyecto se siguieron las diferentes fases de esta metodologa, desde el anlisis de las historias de usuario generadas por el cliente, la elaboracin y ejecucin de las tareas de ingeniera por parte del desarrollador, el diseo de la aplicacin utilizando la Herramienta Oracle Designer, el desarrollo e implementacin a travs de Oracle Forms y Reports 10g, hasta llegar a las pruebas formales y aceptacin por parte del cliente para la puesta a produccin del Sistema de Control de Asistencia de Personal. ABSTRACT: The main goal of the developed project was to deploy a Control of Employees Assistance System for the Human Resources Department of the Financial Ministry of Ecuador, applying the Extreme Programming (XP) Agile Methodology in every phase in the project, starting from the analysis of the user stories generated by the customer, the engineering tasks done by the developer, the design of the solution using Oracle Designer, the develop and implementation thru Oracle Forms and Reports 10g tools, until perform the formal and acceptance tests done by the client and ending in the deploy of the software. 1. INTRODUCCIN La Coordinacin de Recursos Humanos del Ministerio de Finanzas, consider la necesidad de implantar un Sistema de Control de Asistencia de Personal, el cual contemple los Mdulos de Control de: Administracin y Parametrizacin del Sistema, Administracin del Personal y Tarjetas de Acceso y, Control de Asistencia, cuya funcionalidad deber ser de fcil aplicacin y manejo para los usuarios. Anteriormente exista un software denominado SKNET que administraba el hardware (lectoras de aproximacin) implantado en el edificio del Ministerio de Finanzas y que permita obtener los registros tanto de entrada como de salida de los funcionarios, mismos que mostraban de manera tabular las timbradas registradas mediante su tarjeta electrnica de identificacin, aspecto que limitaba la generacin de reportes especficos con informacin procesada y depurada para lectura y toma de decisiones de los analistas de la Coordinacin de Recursos Humanos. Con este antecedente y con el fin de implementar el Sistema de Control de Asistencia de Personal se decidi aplicar la Metodologa gil de Programacin Extrema (XP) la misma que no ha sido utilizada en la Coordinacin de Tecnologa Informtica para proyectos anteriores y el desarrollo del sistema mediante el uso del paquete de herramientas de Oracle Developer Suite 10g [1]. Uno de los aspectos importantes de esta metodologa consiste en que la relacin con el cliente es totalmente diferente a lo que se ha venido haciendo en las metodologas tradicionales. En programacin extrema al cliente no slo se le pide que apoye al equipo de desarrollo, sino que forma parte importante de l, su tarea es retroalimentar al equipo de desarrollo despus de cada iteracin con los problemas con los que se encontr, mostrando sus prioridades [2]. En la fase de planificacin una premisa primordial radica en que las entregas se hagan cuanto antes y que con cada iteracin el cliente reciba una nueva versin. De esta forma, un error en una parte esencial del sistema se encuentra pronto y, por tanto, se puede arreglar en el menor tiempo situacin que elimin el uso horas extras para el equipo de desarrollo. Tambin se otorga una gran importancia al diseo y establece que ste debe ser revisado y mejorado de forma continua segn se van aadiendo funcionalidades al sistema. El diseo debe ser lo ms simple posible. Una vez que se procede con la planificacin y divisin en tareas, lo lgico habra sido empezar a codificar. Aqu nos encontramos con otro de los puntos clave de la programacin extrema: las pruebas unitarias se implementan a la vez que el cdigo de produccin [3].

Esta forma de usar las pruebas unitarias ayuda a priorizar y comprobar la evolucin del desarrollo adems ofrece realimentacin inmediata. Ahora el ciclo se basa en implementar una prueba unitaria, codificar la solucin y pasar la prueba, con lo que se consigue un cdigo simple y funcional de manera bastante rpida. Por esta razn es importante que las pruebas se pasen siempre al 100%. Las pruebas de aceptacin fueron realizadas por el cliente o por el usuario final para constatar que el sistema hace realmente lo que l quiere. Una vez obtenida la aceptacin por parte del usuario, se procedi a solicitar la puesta a produccin del Sistema de Control de Asistencia de Personal que al momento es administrado y manejado por personal de la Coordinacin de Recursos Humanos. El presente artculo est organizado como sigue: La seccin 2 describe la aplicacin de la metodologa XP en el anlisis y diseo del Sistema de Control de Asistencia de Personal, la seccin 3 detalla la aplicacin de esta metodologa en la fase de implementacin de la solucin. En la seccin 4 muestra las pruebas de aceptacin e implantacin del sistema de control de asistencia y la evaluacin de resultados. Adems se analizan trabajos relacionados en la seccin 5. Finalmente en la seccin 6 se presentan conclusiones y trabajo futuro sobre la base de la evolucin del Sistema de Control de Asistencia de Personal. 2. METODOLOGA DE PROGRAMACIN EXTREMA APLICADA AL ANLISIS Y DISEO DEL SISTEMA DE CONTROL DE ASISTENCIA DE PERSONAL 2.1. 2.1.1. Anlisis y Planificacin para el Desarrollo del Sistema de Control de Asistencia de Personal Historias de Usuario

El anlisis del Sistema de Control de Asistencia de Personal sustenta su planificacin de acuerdo a la elaboracin de las Historias de Usuario por parte del personal conceptual asignado de la Coordinacin de Recursos Humanos del Ministerio de Finanzas, mismas que reflejan las necesidades y requerimientos de los mdulos a ser implementados por parte del desarrollador. En la Figura 1 se muestra la Historia de Usuario para el mdulo de Horarios personalizados, es importante que el funcionario conceptual acte de manera activa en su elaboracin ya que de esta forma se garantiza que la funcionalidad de determinado mdulo realice exactamente lo que el usuario espera.
HISTORIA DE USUARIO Nmero: 5 Nombre: Horarios personalizados para los funcionarios del MF Usuario: Operador Modificacin de Historia No. 0 Iteracin Asignada: 0 Prioridad en Negocio: Puntos Estimados: Ninguno Alta / Media / Baja Riesgo en Desarrollo: Puntos Reales: Ninguno Alta / Media / Baja Descripcin: El sistema permitir generar automticamente por cada ao los horarios de ingreso y salida de los funcionarios del Ministerio de Finanzas. Un mes antes de que concluya el perodo, el sistema deber reflejar un mensaje de alerta al usuario que le recuerde generar dichos horarios. Igualmente, deber existir una pantalla para ingresar al sistema horarios personalizados para determinados funcionarios que, por motivos de: estudios, docencia universitaria, lactancia, capacitacin u otros, obligatoriamente deban tener diferente horario de entrada y salida de la Institucin. Para estos casos, mediante Accin de Personal ser indispensable la respectiva autorizacin de la Coordinacin de Recursos Humanos con el aval de la Subsecretara Administrativa. Observaciones: El sistema deber tomar en cuenta los horarios especiales, por ejemplo: si un funcionario tiene como hora de entrada por docencia las 9:00 e ingresa a las 9:10, el funcionario tendr un tiempo de atraso de 10 minutos.

Figura 1: Historia de Usuario para Horarios Personalizados

2.1.2.

Plan de Entregas

Analizadas las Historias de Usuario presentadas por el personal asignado de la Coordinacin de Recursos Humanos, en reunin de trabajo con el responsable asignado para el desarrollo del aplicativo, se procede a la elaboracin de un plan de entregas o cronograma (Tabla 1), en el cual se determinar el orden, prioridad, dificultad y los tiempos en los cuales el desarrollador proceder con la implementacin de cada una de las Historias del Usuario [4]. Tabla 1: Cronograma de Planificacin y Tiempos de Entrega del Sistema de Control de Asistencia de Personal del Ministerio de Finanzas

2.1.3.

Plan de Iteraciones

Para realizar el seguimiento a los avances y la revisin del Plan de iteraciones en cada una de las Historias de Usuario, se realizaron reuniones formales de trabajo una vez a la semana entre el funcionario conceptual y el desarrollador. En esta etapa el desarrollador ejecut las tareas asignadas y estim el tiempo que le llevara cada una de ellas. Cabe indicar que el desarrollador es quien determin el tiempo que le lleva la conclusin de determinada Historia de Usuario, para ello debi realizar las denominadas Tareas de Ingeniera por cada una de las Historias de Usuario. En la Figura 2 se muestra la Tarea de Ingeniera que describe el aspecto tcnico realizado por el desarrollador para la Historia de Usuario motivo de ejemplo.
TAREA DE INGENIERA Nmero de Tarea: 5 Nmero de Historia: 5 Nombre de Tarea: Horarios personalizados para los funcionarios del MF Tipo de Tarea: Puntos Estimados: ninguna Desarrollo / Correccin / Mejora / Otra Fecha Inicio: 11/06/2009 Fecha Fin: 24/06/2009 Desarrollador Responsable: David Del Castillo Descripcin: Disear la pantalla que llame a un paquete de base de datos para la generacin automtica de Horarios. Incluir un mensaje de alerta para el usuario para que un mes antes de que concluya el perodo, le recuerde al usuario generar dichos horarios. Disear una pantalla para ingresar al sistema horarios personalizados para determinados funcionarios con las opciones establecidas en la historia de usuario correspondiente. Definir en qu punto se realizar el control para la observacin generada en la Historia (tomar en cuenta horarios especiales y tiempo de atraso)

Figura 2: Tarea de Ingeniera para Horarios personalizados

2.2. Diseo de la Solucin del Sistema de Control de Asistencia de Personal 2.2.1. Metfora del Sistema de Control de Asistencia de Personal

XP define como metfora a la visin comn que poseen el desarrollador y el equipo conceptual de cmo el sistema trabaja; una breve descripcin del fin que el aplicativo busca alcanzar en un lenguaje simple que todos puedan comprender [5]. El equipo encargado del desarrollo del proyecto defini la metfora del Sistema Control de Asistencia as: Nuestro sistema permite el control de asistencia del personal del Ministerio de Finanzas de manera confiable y oportuna para la toma de decisiones 2.2.2. Tarjetas CRC (Class Responsability Collaborator)

Las Tarjetas CRC se utilizan para representar objetos y permiten a los componentes del equipo contribuir con el diseo del sistema. Un objeto es una persona, lugar, evento o concepto que es relevante para el sistema. El nombre de la clase aparece en la parte superior de la tarjeta CRC y es simplemente un sustantivo o una frase. Una responsabilidad es cualquier cosa que el sistema conoce o hace. A veces una clase tiene una responsabilidad pero no existe suficiente informacin para realizarla o puede estar ligada a lo que otra clase realiza; es decir, las clases colaboran entre s para concluir un proceso [6]. Para el Mdulo de Horarios Personalizados objeto del ejemplo se defini la CRC mostrada en la Figura 3.
Horarios Fecha Desde Fecha Hasta Observaciones Define el perodo del Horario del Personal Personal Motivos de Horarios Detalle de Horarios

Figura 3: Tarjeta CRC para Horarios Al concluir con la definicin de las CRCs por cada historias de usuario presentada, se procede con la definicin del Modelo CRC como se muestra en la Figura 4.

Figura 4: Modelo CRC del Sistema de Control de Asistencia de Personal

2.2.3.

Modelo de Clases del Sistema de Control de Asistencia de Personal

De la definicin del Modelo CRC, la metodologa de Programacin Extrema establece como siguiente paso la creacin del diagrama de clases del Sistema de Control de Asistencia de Personal, como se puede observar en el Diagrama 1.
CLS_PAR TIPO HORA MINUTO CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION : : : : : : : Character int int java.lang.String java.util.Date java.lang.String java.util.Date + + + + + + + + + + + CLS_PARAMETROS Codigo Descripcion Valor CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION IngresarParametros () ActualizarParametro () BorrarParametro () ImprimirReporte () : java.lang.String : java.lang.String : java.lang.String : java.lang.String : java.util.Date : java.lang.String : java.util.Date + + + + + + + CLS_CALIFICA_EVENTOS ID NOMBRE CONTABILIZA CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION : : : : : : : java.lang.String java.lang.String java.lang.String java.lang.String java.util.Date java.lang.String java.util.Date

+ GeneraReportePares () : Boolean
1..* 0..1 1..*

: void : void : void : void

+ MuestraLovCalificaEventos () : Boolean
0..1

0..1 1..*

CLS_EVENTOS + + + + + + + + + + ID HORA MINUTO Tipo MANUAL JUSTIFICADO CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION
1..* 1..1 1..*

: double : double : double : java.lang.String : java.lang.String : java.lang.String : java.lang.String : java.util.Date : java.lang.String : java.util.Date
0..* 0..*

+ GenerarReporteEventos () : Boolean

CLS_RECORD_DIARIO + + + + + + + + + + + + + + + + + + + + + + + + + Fecha ATRASO FALTA NFE NFS HORA_ATRASO MINUTO_ATRASO HORA_PCV MINUTO_PCV HORA_POF MINUTO_POF HORA_ENTRADA MINUTO_ENTRADA HORA_SALIDA MINUTO_SALIDA INCONSISTENCIAS NOVEDADES_ASISTENCIA TOTAL_HORAS_EXTRAS TOTAL_MINUTOS_EXTRAS PAGADO MANUAL CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION : : : : : : : : : : : : : : : : : : : : : : : : : java.util.Date java.lang.String java.lang.String java.lang.String java.lang.String double double double double double double double double double double java.lang.String java.lang.String double double java.lang.String java.lang.String java.lang.String java.util.Date java.lang.String java.util.Date
0..*

CLS_D_HORARIOS + + + + + + + + + + + ID DIA HORA_ENTRADA MINUTO_ENTRADA HORA_SALIDA MINUTO_SALIDA TIENE_HORARIO CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION : java.lang.String : double : double : double : double : double : java.lang.String : java.lang.String : java.util.Date : java.lang.String : java.util.Date

+ IngresarDetalle () : Boolean + ModificarDetalle () : Boolean + ValidarHorasMinutos () : Boolean


1..* 1..1 r211_pk

CLS_ACTIVACION + + + + + + + + FECHA ESTADO DESCRIPCION_MOTIVO MOTIVO_DESACTIVACION CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION : : : : : : : : java.util.Date double java.lang.String java.lang.String java.lang.String java.util.Date java.lang.String java.util.Date

CLS_HORARIOS + + + + + + + + ID_HORARIO FECHA_DESDE FECHA_HASTA OBSERVACIONES CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION : : : : : : : : double java.util.Date java.util.Date java.lang.String java.lang.String java.util.Date java.lang.String java.util.Date

+ GenerarReporteAsistencia () : Boolean + GenerarReporteAtrasos () : Boolean


1..* 1..1

+ CambiarEstado () : Boolean
1..* 0..1 0..1

+ CrearHorario () : void + ModificarHorario () : void


1..*

CLS_LECTORAS + + + + + + + + + + SERIAL NODE_ID Inst_Nombre OBJETO ENTRADA_SALIDA UBICACION CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION : java.lang.Strin : double : java.lang.Strin : java.lang.Strin : java.lang.Strin : java.lang.Strin : java.lang.Strin : java.util.Date : java.lang.Strin : java.util.Date + + + + + + + + + + + + + + + + + + + + +

CLS_STAGE ID TRANSDATE NODE_ID SERIAL_ID HOUR MINUTE READER_ID LOCATION TRANS_TYPE USER_ID LASTNAME FIRSTNAME TRANS_CAT VOLCADO : : : : : : : : : : : : : : double java.lang.String double java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String : Bo : Bo : Bo : Bo : Bo : Bo : Bo

CLS_PERSONAL + + + + + + + + + + + + + + + + + + + + + Cedula Codigo Primer_Nombre Segundo_Nombre Primer_Apellido Segundo_Apellido Genero Email Tipo Es_Autoridad Estado_Tarjeta CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION Usa_Comedor : java.lang. : java.lang. : java.lang. : java.lang. : java.lang. : java.lang. : java.lang. : java.lang. : java.lang. : java.lang. : java.lang. : java.lang. : java.util.D : java.lang. : java.util.D : java.lang. : : : : : void void void void void
0..1

CLS_MOTIVO_HORARIO + + + + + + ID NOMBRE CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION : : : : : : double java.lang. java.lang. java.util.D java.lang. java.util.D
0..1 0..1

0..1

CLS_TARJETAS + + + + + + + + + + + + + + + COD_TAR Estado_Tarjeta Descripcion Fecha_activacion Fecha_desactivacion Tipo Motivo CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION ActivarTarjeta () RevertirTarjeta () DesactivarTarjeta () GenerarReporte () : : : : : : : : : : : : : : : double java.lang.String java.lang.String java.util.Date java.util.Date java.lang.String java.lang.String java.lang.String java.util.Date java.lang.String java.util.Date

+ DesplegarMotivos () : Boolean
1..1 1..*

+ IngresarLectora () : void + ModificarLectora () : void + BorrarLectora () : void


1..*

IngresarFuncionario () ActualizarPersonal () MostrarLovSubsecretarias () ModificarFuncionario () ImprimirReporteFuncionario ()


1..*

0..1

CLS_EDIFICIOS + ID : double + NOMBRE : java.lang.String + DIRECCION : java.lang.String + IngresarEdificio () : void + ActualizarEdificio () : void + ImprimirReporte () : void

RegistrarEntadaSinTarjeta () PasarEventos () SetRecordDiario () SetEventosFromStage () ContabilizarAsistencia () ContabilizarAsistenciaST () CargaEventosPares ()

Boolean Boolean Boolean Boolean

1..1

0..1

CLS_UNIDADES_ADMINISTRATIVAS + + + + + + + UADM_COD NOMBRE_UNIDAD Vigente CREADO_POR FECHA_CREACION MODIFICADO_POR FECHA_MODIFICACION : java.lang.String : java.lang.String : java.lang.String : java.lang.String : java.util.Date : java.lang.String : java.util.Date

1..*

0..1

+ IngresarSubsecretaria () : void + ModificarSubsecretaria () : void

1..*

Diagrama 1: Diagrama de Clases del Sistema de Control de Asistencia de Personal

2.2.4.

Funcionalidad Mnima

Al encontrarnos an en la etapa de diseo, la metodologa recomienda generar una funcionalidad mnima por cuanto la codificacin del aplicativo es la siguiente fase a ser ejecutada. En la Figura 5 se muestra una parte del diseo de la interfaz de usuario generada para el Mdulo de Horarios Personalizados previa la etapa de codificacin.

Figura 5: Diseo de Interfaz 3. METODOLOGA DE PROGRAMACIN EXTREMA APLICADA EN LA IMPLEMENTACIN DEL SISTEMA DE CONTROL DE ASISTENCIA DE PERSONAL 3.1. Disponibilidad del cliente Uno de los requerimientos ms importantes de la programacin extrema es tener al cliente siempre disponible; no solamente para ayudar al desarrollador sino tambin para que forme parte activa del desarrollo de la solucin de software [7]; con este antecedente, el trabajo realizado conjuntamente con los funcionarios asignados al desarrollo de este proyecto se ve reflejado en un inicio con la elaboracin de las Historias de Usuario, estimacin y negociacin de tiempos de entrega de cada mdulo, identificacin de prioridades, hasta el diseo del aplicativo mediante sesiones de trabajo tanto formales como informales. 3.2. Estndares de cdigo utilizados en el desarrollo sistema de Control de Asistencia de Personal El propsito primario para implantar estndares de cdigo radica en hacer fcil su mantenimiento para los desarrolladores. Con la finalidad de cumplir este requerimiento, la estandarizacin para el Sistema de Control de Asistencia de Personal se rigi de acuerdo a lo indicado en el Manual de Estndares de Desarrollo, que en su parte relevante seala: Se deben seguir las notaciones Pascal y Camel para nombrar los diferentes elementos del lenguaje. Pascal: La primeras letras de cada palabra del identificador deben ser maysculas, por ejemplo: SetRecordDiario. Camel: Las primeras de cada palabra del identificador deben ser maysculas, excepto en la primera palabra, por ejemplo: setRecordDiario [8]

3.3. Codificacin de unidades de prueba unitarias En este punto XP recomienda que para cumplir con el objetivo de una Historia de Usuario se debe definir de manera simple; es decir, implementar el cdigo ms simple posible para cubrir los requerimientos solicitados por el usuario [9]. La aplicacin de este principio se observa en la Historia

de Usuario Generacin de Horarios, cabe anotar que el grado de complejidad puede variar desde un mdulo simple a uno realmente complejo. Prueba Unitaria Historia de Usuario No. 5: Horarios personalizados para los funcionarios del MF Esta historia de usuario requiri de la implementacin de un paquete de base de datos (pkg_CargaHorarioNormal) que genere en forma automtica los horarios de los funcionarios. En la historia de usuario se pidi que un mes antes de que concluya el perodo se muestre una alerta que le recuerde al usuario generar los horarios para el ao que se aproxima. El desarrollador procedi a ingresar al sistema y verificar que el control implementado funcione correctamente. En la Figura 6 se muestra la pantalla y el usuario observ lo siguiente:

Figura 6: Alerta para Generacin de Horarios del Sistema de Control de Asistencia de Personal. Luego, en la pantalla diseada para generar los horarios en la Figura 7, se hace el llamado al paquete de base de datos citado anteriormente, el resultado fue el siguiente:

Figura 7: Pantalla que genera los horarios del personal en el Sistema de Control de Asistencia de Personal. En la Figura 8 se muestra el diagrama de secuencias para la generacin de Horarios del Sistema de Asistencia con el objetivo de tener claro lo realizado por el proceso implementado.
Usuario Sica Base de Datos

GeneraHorarioAutomaticamente()

SeleccionarFuncionario SetMotivoHorario SetPeriodo SetDiasHorasEntradaSalida Insert(Values) HorariosGenerados

Figura 8: Diagrama de Secuencia de Generacin de Horarios

4. PRUEBAS DE ACEPTACION E IMPLANTACIN DEL SISTEMA DE CONTROL DE ASISTENCIA DE PERSONAL La implantacin de este sistema fue realizado una vez que por cada historia de usuario se gener un plan de pruebas en el que se establecen los resultados obtenidos luego de la aplicacin de un escenario a cada mdulo del sistema. 4.1. Plan de pruebas y pruebas de aceptacin En los diferentes casos de prueba, el cliente especific los escenarios a probar al trmino de la correcta implementacin de las historias de usuario por parte del desarrollador y las pruebas unitarias realizadas, cada historia puede tener una o varias pruebas de aceptacin para garantizar la funcionalidad del o los requerimientos [9]. A continuacin en las Figuras 9 y 10 se muestran los casos de prueba y sus iteraciones generadas para la Historia de Usuario Horarios Personalizados del Sistema de Control de Asistencia de Personal, requisito previo para el paso a produccin.
Caso de Prueba Nmero de Caso de Prueba: 1 Nmero de Historia de Usuario: 5 Nombre del Caso de Prueba: Horarios Personalizados para los funcionarios del MF. Descripcin: El sistema permitir generar automticamente por cada ao los horarios de ingreso y salida de los funcionarios del Ministerio de Finanzas. Un mes antes de que concluya el perodo, el sistema deber reflejar un mensaje de alerta al usuario que le recuerde generar dichos horarios. Condiciones de Ejecucin: Igualmente, deber existir una pantalla para ingresar al sistema horarios personalizados para determinados funcionarios que, por motivos de: estudios, docencia universitaria, lactancia, capacitacin u otros, obligatoriamente deban tener diferente horario de entrada y salida de la Institucin. Para estos casos, mediante Accin de Personal ser indispensable la respectiva autorizacin de la Coordinacin de Recursos Humanos con el aval de la Subsecretara Administrativa. Entradas: 1. Revisar que el sistema muestre el mensaje al usuario recordando que debe generar los horarios para el nuevo ao. 2. Usar el botn Asignar Horario e ingresar horario personalizado para un funcionario y grabar. Resultado Esperado: Registro de horarios personalizados para los funcionarios del Ministerio de Finanzas. Evaluacin: El caso de prueba gener las siguientes observaciones: No es posible ingresar el horario a un funcionario, los mensajes no son entendibles para el usuario. No existe validacin de fecha desde y fecha hasta, validar que la fecha desde sea menor a la fecha hasta antes de grabar. No est controlando que se ingresen horarios paralelos. Se permiten ingresar horarios sin detalle. No existe control para horas del da y tampoco hora de entrada y salida. Acepta das duplicados.

Figura 9: 1ra Iteracin Caso de Prueba Horarios Personalizados Al obtener observaciones para el caso de prueba, el desarrollador procedi con la correccin de dichas observaciones lo que requiri de un nuevo caso de prueba para verificar si efectivamente el mdulo est correcto, mostrado en la Figura 10.

Caso de Prueba Nmero de Caso de Prueba: 2 Nmero de Historia de Usuario: 5 Nombre del Caso de Prueba: Horarios Personalizados para los funcionarios del MF. Descripcin: Revisin de las observaciones generadas en el caso de prueba No. 1. Condiciones de Ejecucin: Ninguna Entradas: 1. No es posible ingresar el horario a un funcionario, los mensajes no son entendibles para el usuario. 2. No existe validacin de fecha desde y fecha hasta, validar que la fecha desde sea menor a la fecha hasta antes de grabar. 3. No est controlando que se ingresen horarios paralelos. 4. Se permiten ingresar horarios sin detalle. 5. No existe control para horas del da y tampoco hora de entrada y salida. 6. Acepta das duplicados. Resultado Esperado: Observar que los controles hayan sido implementados y no se produzca ningn tipo de error. Evaluacin: Luego de realizadas las pruebas se procede a aprobar el presente caso de pruebas. Por favor pasara a produccin.

Figura 10: 2da Iteracin Caso de Prueba Horarios Personalizados 4.2. Implantacin del Sistema de Control de Asistencia de Personal La etapa final del presente proyecto, se vi plasmada en la puesta en produccin e instalacin del Sistema de Control de Asistencia de Personal del Ministerio de Finanzas para el manejo por parte de los usuarios designados de la Coordinacin de Recursos Humanos. En la actualidad, el Sistema de Control de Asistencia de Personal se encuentra en produccin y es administrado y manejado por personal de la Coordinacin de Recursos Humanos, esta herramienta facilit y disminuy la carga operativa que demandaba el control de asistencia de los funcionarios en el Ministerio de Finanzas a travs de los diferentes reportes parametrizados por fechas, subsecretaras o coordinacin que presentan informacin de tipo resumen como: hora de entrada y salida, si el funcionario registr atraso y el tiempo del mismo, si registra falta, si no timbr la entrada o a la salida, tiempo de ausencia en caso de salir del edificio. 5. TRABAJOS RELACIONADOS Por cuanto existen varios sistemas cuyo desarrollo fue realizado mediante la aplicacin de Metodologa XP, a continuacin se hace referencia a aquellos que han aportado significativamente al desarrollo del proyecto. El trabajo realizado por M. Calero en [5] propone que las metforas del sistema guan los modelos mentales que los integrantes del proyecto tienen acerca del sistema a ser desarrollado formando una arquitectura lgica del aplicativo y su funcionalidad, en el caso de la aplicacin de este enunciado en el Sistema de Control de Asistencia, no fue nicamente el desarrollador quien elabor la metfora sino que se incluy al funcionario conceptual en la construccin de dicha metfora, lo que permiti tener una visin clara tanto de la parte tcnica como en la lgica del negocio. Con respecto a los valores que presenta XP, en la investigacin realizada por Robles y Ferrer en [7] dan principal importancia al valor de la comunicacin ya que algunos problemas en los proyectos tienen su origen en que alguien no dijo algo importante en algn momento, XP hace casi imposible la falta de comunicacin ya que cada fase del proyecto necesita de retroalimentacin entre el desarrollador y el cliente asegurando que al trmino del proyecto el sistema realice lo que efectivamente el usuario necesita. En referencia a la aplicacin de pruebas del sistema descrita por J. Gutierrez y M. Escalona en [9], definen que XP divide las pruebas del sistema en dos grupos: pruebas unitarias, encargadas de verificar el cdigo y diseada por los programadores, y pruebas de aceptacin o pruebas funcionales destinadas a evaluar si al final de una iteracin se consigui la funcionalidad requerida diseadas por el cliente final, en la aplicacin de este ltimo punto se puede incurrir en varias iteraciones antes de

pasar las pruebas formales al 100%, por esta razn en el desarrollo del Sistema de Asistencia igualmente se incluy al funcionario conceptual en la parte final de las pruebas unitarias con el fin disminuir la probabilidad de generar una nueva iteracin al momento de empezar con las pruebas formales, situacin que permiti una reduccin en el tiempo de entrega de la estimada en la planificacin. Finalmente en el proyecto realizado por J. Tixitopon en [10] aplica y describe que XP plantea la fase de planificacin como un permanente dialogo entre las partes: la empresarial (deseable) y la tcnica (posible); adems, las personas del negocio necesitan determinar: mbito: Lo que el software debe resolver para que este genere valor, Prioridad: Qu debe ser hecho en primer lugar? Composicin de versiones: Cunto es necesario hacer para saber si el negocio va mejor con software que sin l?; en cuanto el software aporte algo al negocio debemos de tener lista las primeras versiones. Fechas de versiones: Cules son las fechas en la presencia del software o parte del mismo pudiese marcar la diferencia? 6. CONCLUSIONES Y TRABAJO FUTURO El Sistema de Control de Asistencia de Personal (SICA) desarrollado e implantado en el Ministerio de Finanzas es una herramienta importante para los usuarios de la Coordinacin de Recursos Humanos por cuanto permite obtener reportes confiables y oportunos referentes a asistencias, atrasos; y, entradas y salidas de los funcionarios, mismos que permiten la toma de decisiones al personal del rea de registro y control. La aplicacin de la Metodologa de Programacin Extrema para el desarrollo de un proyecto de software, convierte en importante la interaccin entre el desarrollador y el funcionario conceptual, en razn de que la permanente retroalimentacin en cada fase del proyecto, ayuda en gran medida a que el aplicativo genere los resultados requeridos por el usuario, aspecto que fue evidenciado en el transcurso del trabajo por el personal de las Coordinaciones de Recursos Humanos y Tecnologa Informtica. Como trabajo futuro es importante que la Coordinacin de Recursos Humanos, a corto plazo, solicite a la Coordinacin de Tecnologa Informtica el anlisis, diseo e implementacin de un portal interno que permita a los funcionarios del Ministerio de Finanzas consultar en forma individual informacin referente a su asistencia con el fin de darle a conocer sus horas de entrada y salida del edificio; adems de que le permita solicitar y justificar de manera automtica sus permisos personales, atrasos y faltas. REFERENCIAS [1] Oracle Forms - Oracle Reports - Oracle Designer: Statement of Direction An Oracle White Paper October 2008 [2] C. Solis lvarez y R. Figueroa Metodologas Tradicionales vs. Metodologas giles Universidad Tcnica Particular de Loja, Escuela de Ciencias de la Computacin. [3] A. Aguilar Introduccin a la Programacin Extrema Universidad Nacional Autnoma de Mxico 2002. [4] M. Calero Una explicacin de la programacin extrema (XP) V Encuentro usuarios xBase 2003 MADRID http://www.apolosoftware.com/ [5] R. Khaled, P. Barr, J. Noble1 and R. Biddle System Metaphor in .Extreme Programming: A Semiotic Approach. School of Mathematical and Computing Sciences Victoria University of Wellington. Wellington, New Zealand. [6] D. Wells Extreme Programming http://www.extremeprogramming.org 2009 [7] G. Robles y J. Ferrer Programacin eXtrema y Software Libre 2002 [8] Coordinacin de Tecnologa Informtica, RUP-EN-002 Estndares de Desarrollo. [9] J. J. Gutirrez, M. J. Escalona, M. Mejas, J. Torres PRUEBAS DEL SISTEMA EN PROGRAMACIN EXTREMA Departamento de Lenguajes y Sistemas Informticos University of Sevilla. [10] J. Tixitopon Anlisis, Diseo y Desarrollo de un Sistema de Constatacin Fsica para la Direccin Financiera de la ESPE Departamento de Ciencias de la Computacin, Escuela Politcnica del Ejrcito Ao 2008.