• No se han encontrado resultados

Sistema de Información para la Administración de Facultades (SAIF)

N/A
N/A
Protected

Academic year: 2020

Share "Sistema de Información para la Administración de Facultades (SAIF)"

Copied!
79
0
0

Texto completo

(1)Universidad Central “Marta Abreu” de las Villas. Facultad Matemática Física y Computación Ingeniería Informática. Trabajo de Diploma Título: Sistema de Información para la Administración de Facultades (SAIF). Autor Javier Antonio Hernández Castro. Tutores Lic. Iasmany Ortega Sanabria Dra. Isel Moreno.

(2) Curso 2016- 2017. El que suscribe _Javier Antonio Hernández Castro________________, hago constar que el trabajo titulado Sistema de Información para la Administración de Facultades fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de los estudios de la especialidad de __Ingeniería Informática_____, autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad.. ______________________ Firma del Autor. Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. ____________________________ Firma del Tutor. ____________________________ Firma del Jefe del Laboratorio.

(3) SIAF. Dedicatoria DEDICATORIA El desarrollo de este trabajo está dedicado a mi abuela y a la memoria de mi abuelo por ser mis profesores de toda la vida. A mi novia, por ser mi compañera, mi amiga y consejera en todo momento. A mi madre, mi tío, mi tía Marina y mi primo Abel porque cada día me ayudaron a formarme como ingeniero.. Gracias.

(4) SIAF. Agradecimientos AGRADECIMIENTOS A toda mi familia por el apoyo brindado. A mi otra familia Niurki, Ronny, Ridel, Milly, Lola, Nina y Cheo A mis tutores Iasmany e Isel por su dedicación e interés en el trabajo. A todos mis amigos del aula, el piquete del Dota y a mis compañeros de equipo para todo, el Denis y Cesar. A todas las amigas de Lil por aceptarme también como su amigo. A todos mis amigos de Remedios, Lenier, Pablo y los doteros de mi barrio..

(5) SIAF. Resumen RESUMEN La gestión administrativa en la actualidad juega un papel fundamental en el desarrollo de toda empresa. Este proceso en la Universidad Central “Marta Abreu” ocurre a través del ASSET, software que no es libre de costo pues es pagado por estación de trabajo y al que no tienen acceso las facultades como entidades básicas. Los nuevos departamentos administrativos se encargan de la gestión de los recursos humanos, servicios y la gestión económica-financiera, utilizando métodos relativamente arcaicos y básicos. Este trabajo es el resultado de la implementación de SIAF, sistema alternativo que se encarga de parte de los procesos de gestión en el departamento administrativo. Esta herramienta muestra una interfaz agradable y un desempeño eficiente en cada una de sus tareas, propicia información a todos los trabajadores sobre la ejecución del presupuesto y permite gestionar los salarios, generar reportes sobre la base del control de presupuesto y así como visualizar la responsabilidad material de todo el Activo Fijo Tangible (AFT)..

(6) SIAF. Abstract ABSTRACT Administrative management currently plays a key role in the development of every company. This process in the Central University "Marta Abreu" occurs through ASSET, a software which is not free of cost as it is paid by workstation so the faculties have no access as basic entities. The new administrative departments are responsible for the management of human resources, services and economic-financial management, using relatively archaic and basic methods. This work is the result of the implementation of SIAF, an alternative system that handles part of the management processes in the administrative department. This tool shows a friendly interface and efficient performance in each of its tasks, provides information to all workers on the execution of the budget and allows managing salaries, generate reports based on budget control and view material responsibility of all Fixed Tangible Assets (AFT, for its signs in Spanish)..

(7) SIAF. Lista de figuras TABLA DE CONTENIDO INTRODUCCIÓN ............................................................................................................ 1 Problema de investigación ............................................................................................ 2 Objetivo general ............................................................................................................ 3 Objetivos específicos .................................................................................................... 3 Preguntas de investigación: .......................................................................................... 3 Justificación de la investigación: .................................................................................. 3 Estructura del documento: ............................................................................................ 3 CAPÍTULO 1. FUNDAMENTACIÓN TEÓRICA. .................................................... 5. 1.1. Objetivos estratégicos de la organización. ......................................................... 5. 1.2. Actividades a informatizar. ................................................................................ 6. 1.3. Fundamentación de la metodología utilizada. ................................................... 6. 1.4. Fundamentación del entorno de desarrollo, lenguaje, gestor de base de datos y. tecnología utilizados. .................................................................................................... 9 1.4.1. Lenguaje Unificado de Modelado. ............................................................. 9. 1.4.2. PHP. ............................................................................................................ 9. 1.4.3. Frameworks PHP. ..................................................................................... 10. 1.4.4. Framework HTML. .................................................................................. 15. 1.4.5. Gestor de base de datos. ........................................................................... 15. 1.5. Conclusiones parciales del capítulo. ................................................................ 16. CAPÍTULO 2 2.1. MODELO DEL NEGOCIO Y REQUISITOS. ................................. 17. Modelo del negocio actual. .............................................................................. 17. 2.1.1. Proceso creación de reportes de pago mensual. ....................................... 17. 2.1.2. Proceso registro de dieta. .......................................................................... 18. 2.1.3. Proceso registro de vale de pago. ............................................................. 19. 2.1.4. Proceso de control de activos fijos. .......................................................... 19.

(8) SIAF. Lista de figuras 2.2. Reglas del negocio. .......................................................................................... 20. 2.3. Actores del negocio. ........................................................................................ 20. 2.4. Trabajadores del negocio. ................................................................................ 21. 2.5. Diagrama de casos de uso del negocio. ........................................................... 22. 2.6. Descripción de los casos de uso del negocio. .................................................. 22. 2.7. Actores del Sistema a Automatizar. ................................................................. 24. 2.8. Requisitos del sistema. ..................................................................................... 25. 2.8.1. Requisitos funcionales. ............................................................................. 25. 2.8.2. Requisitos no funcionales. ........................................................................ 28. 2.9. Diagrama de casos de uso del sistema. ............................................................ 29. 2.10 Descripción de los casos de uso del sistema. ................................................... 30 2.11 Conclusiones parciales del capítulo. ................................................................ 33 CAPÍTULO 3. DESCRIPCIÓN DE LA PROPUESTA DE SOLUCIÓN................. 34. 3.1. Arquitectura del Sistema. ................................................................................. 34. 3.2. Diagrama de clases del diseño. ........................................................................ 35. 3.3. Diagramas de secuencia. .................................................................................. 36. 3.4. Tratamiento de errores. .................................................................................... 37. 3.5. Integración con ldap ......................................................................................... 38. 3.6. Diseño de la base de datos. .............................................................................. 39. 3.6.1. Modelo físico de datos. ............................................................................. 40. 3.7. Modelo de componentes. ................................................................................. 41. 3.8. Diagrama de despliegue. .................................................................................. 41. 3.9. Conclusiones parciales del capítulo. ................................................................ 42. CAPÍTULO 4 4.1. PRUEBAS Y ANÁLISIS DE FACTIBILIADAD............................ 43. Pruebas de caja negra. ...................................................................................... 43. 4.1.1. Pruebas de caja negra en casos de uso significativos del sistema. ........... 43.

(9) SIAF. Lista de figuras 4.1.2. Condiciones de ejecución. ........................................................................ 43. 4.1.3. Caso de uso adicionar trabajador. ............................................................. 43. 4.1.4. Secciones a probar en el caso de uso “adicionar trabajador”. .................. 44. 4.1.5. Caso de uso adicionar infracción de horario. ........................................... 44. 4.1.6. Secciones a probar en el caso de uso “adicionar infracción de horario”. . 45. 4.2. Estimación del proyecto de software. .............................................................. 45. 4.2.1. Cálculo de puntos de casos de uso sin ajustar. ......................................... 45. 4.2.2. Cálculo de puntos de Casos de Uso ajustados. ......................................... 47. 4.2.3. Esfuerzo horas-hombre (E)....................................................................... 49. 4.2.4. Estimación del esfuerzo del proyecto ....................................................... 50. 4.2.5. Cálculo del esfuerzo total ......................................................................... 50. 4.2.6. Cálculo del tiempo de desarrollo .............................................................. 51. 4.2.7. Cálculo del costo ...................................................................................... 51. 4.3. Conclusiones parciales del capítulo. ................................................................ 51. CONCLUSIONES .......................................................................................................... 52 RECOMENDACIONES ................................................................................................ 53 BIBLIOGRAFÍA ............................................................................................................ 54 ANEXO: MANUAL DE USUARIO. ............................................................................ 56.

(10) SIAF. Lista de figuras. LISTA DE FIGURAS. Figura 1 La vida de un proceso consta de ciclos desde su nacimiento hasta su muerte. .. 8 Figura 2 Ciclo con sus fases e iteraciones. ....................................................................... 8 Figura 3 Diagrama de actividades: creación de reporte de pago mensual...................... 17 Figura 4 diagrama de actividades: registro de dietas. ..................................................... 18 Figura 5 Diagrama de actividades: registro de vale de pago. ......................................... 19 Figura 6 Diagrama de actividades: registro de nuevo activo.......................................... 19 Figura 7 Diagrama de actividades: designar responsable. .............................................. 20 Figura 8 Diagrama de casos de uso del negocio ............................................................. 22 Figura 9 Diagrama de casos de uso del sistema. ............................................................ 29 Figura 10 Esquema simplificado de la arquitectura interna de Symfony (Eguiluz 2013). ........................................................................................................................................ 34 Figura 11 Diagrama de clases del diseño: CU gestionar presupuesto. ........................... 35 Figura 12 Diagrama de clases del diseño: CU gestionar dieta (adicionar). .................... 36 Figura 13 Diagrama de secuencia: CU gestionar presupuesto (adicionar) . ................... 36 Figura 14 Diagrama de secuencia: CU gestionar dieta (adicionar). ............................... 37 Figura 15 vista de la herramienta: sección editar usuario. ............................................. 38 Figura 16 Fragmento de código entidad usuario. ........................................................... 38 Figura 17 Modelo conceptual de datos. .......................................................................... 39 Figura 18 Modelo físico de datos. .................................................................................. 40 Figura 19 Diagrama de componentes (fragmento). ........................................................ 41 Figura 20 Diagrama de despliegue. ................................................................................ 41 Figura 21 Vista inicial del sistema. ................................................................................ 56 Figura 22 Vista principal usuario trabajador. ................................................................. 57 Figura 23 Vista presupuesto actual de la facultad: usuario trabajador. .......................... 58 Figura 24 Solicitud de dieta trabajador........................................................................... 58 Figura 25 Vista de solicitudes enviadas por el trabajador. ............................................. 59 Figura 26 Menú lateral del Jefe de departamento........................................................... 59 Figura 27 Solicitudes recibidas: jefe departamento. ....................................................... 59 Figura 28 vista aprobar solicitud jefe departamento. ..................................................... 60 Figura 29 Listado de ausencias e infracciones departamento......................................... 60.

(11) SIAF. Lista de figuras Figura 30 Registro de ausencia. ...................................................................................... 61 Figura 31 Registro de infracción de horario. .................................................................. 61 Figura 32 Resumen de incidencias del mes. ................................................................... 62 Figura 33 Reportes incidencias del año. ......................................................................... 62 Figura 34 Vista principal jefe departamento administrativo. ......................................... 63 Figura 35 Vista del departamento. .................................................................................. 63 Figura 36 Fragmento del reporte I10 generado. ............................................................. 64 Figura 37 Vista del presupuesto usuario jefe del departamento administrativo. ............ 64 Figura 38 Vista de gráficos del presupuesto. .................................................................. 65 Figura 39 listado de partidas del presupuesto. ................................................................ 65 Figura 40 Registro de nueva dieta por anticipo. ............................................................. 66 Figura 41 Listado de dietas del año. ............................................................................... 66 Figura 42 Vista creación de reporte de conciliación de dietas. ...................................... 67 Figura 43 Fragmento documento de conciliación de dietas. .......................................... 67 Figura 44 Listado de activos fijos de la facultad. ........................................................... 67 Figura 45 Vista gestión de fechas. .................................................................................. 68.

(12) SIAF. Introducción. INTRODUCCIÓN En la actualidad está ocurriendo una profunda transformación social, económica y política motivada por el desarrollo de las Tecnologías de la Información y la Comunicación (TIC). Se está asistiendo a un proceso de grandes cambios tecnológicos que permiten configurar la denominada Sociedad de la Información. La incorporación de las TIC en el ámbito empresarial resulta un elemento clave para mejorar la competitividad, impulsar el crecimiento económico y lograr una mayor creación de empleo (Begoña & Alonso 2002). El desarrollo de las TIC ha llegado a la administración, labor que hace referencia al funcionamiento, la estructura y el rendimiento de las organizaciones. En el mundo actual la administración o la gestión de una empresa es una tarea difícil y engorrosa de llevar sin la utilización de softwares especializados en esta labor. Por esta causa, han surgido numerosos softwares para el control de estas tareas. Uno de los más destacados es el software SAIT, el cual es un sistema administrativo que ayuda en los procesos de ventas de las empresas, la emisión de facturas electrónicas, control de cobro, inventarios y compras. Este software debe ser pagado por usuarios oscilando de 1 a 10 entre los $3500 y $23000 (SAIT 2017). También existen otros como ASPEL PROD (Aspel-PROD 2017), GESTION PYME (GestiónPYME 2016) o KUBBOS (Kubbos 2017), SAP (SAP 2017), ORACLE (Oracle n.d.), SAGE, INFOR y Microsoft Dynamics (Microsoft n.d.). Entre las principales funcionalidades de los sistemas informáticos, se encuentra la de proveer toda la información que se genera durante los distintos procesos de gestión en las empresas, relacionados con el control y supervisión de los mismos, así como los pertenecientes a niveles superiores dentro o fuera de la empresa; siendo el control de calidad, la supervisión y el mantenimiento algunos de los aspectos principales (Bomate Gavio et al. 2006). En la Universidad Central “Marta Abreu”, la gestión administrativa utiliza un software llamado ASSET, el cual se paga por estaciones de trabajo, lo que implica que sería costoso extenderlo a toda la universidad y su utilización se limita al edificio administrativo. Como parte del proceso de integración de la Universidad, surge en cada área, un departamento administrativo que tiene dentro de sus funciones la gestión de los Recursos 1.

(13) SIAF. Introducción. Humanos, Contabilidad y Finanzas en la facultad de nuevo tipo. Este brinda apoyo a los procesos que tienen lugar. La creación de la nómina inicia cada mes a la altura de la tercera semana y se divide en dos partes. Primero se realiza un reporte de pago concebido por plan de trabajo desde la dirección universitaria de cada departamento incluido el no docente. Una vez recibido este listado se pasa a la confección del modelo RH-3 (i-10), el cual relaciona todos los trabajadores de la facultad por área, seguido de la distribución en el calendario del tiempo no trabajado y las infracciones de horario. Confeccionado el i10 se revisa y aprueba por varios directivos de la facultad. A continuación, se envía a la dirección de recursos humanos y posteriormente, se completa la información con un informe de incidencias el último día del mes. Cada dos meses cada una de las facultades realiza una conciliación con la dirección de contabilidad y medios materiales para el análisis y control del destino de cada una de las partidas del presupuesto asignado. El departamento administrativo analiza este comportamiento llevando el registro de dietas, vales de pago menor, activos fijos, medios de rotación, útiles, herramientas y otros gastos. A partir de un análisis de los procesos anteriores, se detecta un conjunto de problemas que pueden ocurrir durante la realización de estas tareas y que se relatan a continuación: 1. Incorrecta elaboración de los reportes de pago. Esta es una de las principales fuentes de error existentes, muchas veces debido a la enorme cantidad de datos que pueden contener algunos de estos. 2. Inconsistencia de los datos. Esto puede incidir en un análisis posterior del presupuesto incorrecto. 3. Control del presupuesto con herramientas como Excel y Word. Estas herramientas no ofrecen la suficiente seguridad ni un desempeño productivo y ágil en esta tarea.. Problema de investigación El departamento administrativo de cada una de las facultades presenta dificultades en cuestiones de tiempo y calidad de la creación de los reportes de pago, registro de dietas, vales de pago menor, control de activos fijos y la gestión del presupuesto.. 2.

(14) SIAF. Introducción. Objetivo general Desarrollar una herramienta que permita la creación de reportes de pagos desde los diferentes departamentos, el registro de vales de pago menor, dietas, activos fijos y brinde un análisis del presupuesto en el departamento administrativo de cada facultad.. Objetivos específicos 1. Diseñar una base de datos que facilite la creación de reportes de pago y el análisis del presupuesto. 2. Implementar una interfaz web para el acceso y manejo por cada uno de los trabajadores en el centro. 3. Realizar pruebas de software al entorno web.. Preguntas de investigación: . ¿Cómo realizar un sistema que integre y delimite las tareas por roles de usuarios, automatice los procesos de reportes de pago, gestión del presupuesto y el control del AFT por parte del departamento administrativo?. . ¿Qué tecnologías seleccionar para desarrollar el software?. Justificación de la investigación: Para cada jefe de departamento la tarea de confección de los reportes de pago a finales de mes se convierte en una labor de peso para iniciar el proceso de pago. También la tares de cada departamento administrativo involucran la elaboración de varios reportes y modelos que intervienen en cada proceso administrativo. Dicha gestión se realiza utilizando herramientas poco prácticas y de baja seguridad para tareas que son tan importantes y de forma frecuente. Debido a esto se hace necesario esta investigación para la obtención de una herramienta alternativa que contribuya a la automatización de los procesos de la universidad.. Estructura del documento: En el Capítulo 1 se realiza el análisis de los objetivos estratégicos del departamento administrativo, la metodología utilizada y la fundamentación de los lenguajes, gestores y tecnologías utilizadas para la confección de la herramienta. 3.

(15) SIAF. Introducción. En el Capítulo 2 se describe el modelo de negocio partiendo de los procesos más importantes. Se identifican, actores, trabajadores y reglas del negocio, los requisitos funcionales y no funcionales, así como la selección de los casos de uso del negocio más significativos. En el Capítulo 3 se realiza la descripción de la propuesta de solución donde la arquitectura de la aplicación, clases fundamentales, tratamiento de errores y varios modelos son fundamentales para la comprensión de la misma. En el Capítulo 4 se realizan pruebas de software y la estimación del producto.. 4.

(16) SIAF. Capítulo 1 CAPÍTULO 1 FUNDAMENTACIÓN TEÓRICA. En el presente capítulo se abordan diferentes conceptos, los cuales facilitarán el entendimiento de las diferentes tecnologías a utilizar en el desarrollo de la herramienta que dará solución a la problemática planteada.. 1.1 Objetivos estratégicos de la organización. El Departamento Administrativo atiende toda la actividad de gestión administrativa de una facultad, es el responsable directo de la gestión económica financiera y de los servicios. Entre sus principales funciones incluye la participación en el proceso de reclutamiento y selección del personal administrativo y de servicio al área, tramitación del ingreso e idoneidad de ellos, así como realizar su instrucción general y específica inicial. Control y cumplimiento del régimen de horario de trabajo del personal del área y la disciplina laboral en esta. La elaboración y tramitación de los reportes de pago (reporte de ausencias e incidencias) y vinculación de los trabajadores. Tramitación con la Dirección de recursos humanos, control de los certificados médicos, licencias, vacaciones de los trabajadores del área y gestionar necesidades de ayuda económica a estudiantes. Tramitación de dietas y pagos menores de los trabajadores, realizando, de ser posible, su pago al trabajador en el área. El control del uso y destino de los recursos y la gestión de la base de datos del 100% de los activos fijos tangibles y útiles y herramientas, teniendo actualizados todos los movimientos por altas, bajas y traslados son funciones llevadas por el departamento administrativo, así como la planificación y ejecución del chequeo del 10% de los activos fijos tangibles y útiles y herramientas, actualización de las actas de responsabilidad material individual y colectivas conformando la apertura de expediente de pérdidas, faltantes y sobrantes de AFT(Activo Fijo Tanjible), presentando la documentación establecida para esto. Coordinación de la elaboración del plan y presupuesto anual, garantizar la logística de los procesos de evaluación externa de carrera, maestría, doctorados y la ejecución del pago de estipendio y práctica laboral de estudiantes y de salario y vacaciones de trabajadores, de ser posible en conjunto con el control de la ejecución de las cifras presupuestarias. 5.

(17) SIAF. Capítulo 1 asignadas a la facultad, así como de los fondos en CUC captados y recibidos (asignaciones, donaciones, etc.) Realización de conciliaciones con la Dirección General de Economía sobre gastos por partidas y disponibilidad, pagos, expedientes en proceso, pagos menores, ejecución del presupuesto, estado de solicitud de materiales, compras y extracción de almacenes y medios materiales. Gestionar las necesidades del área, realizando las solicitudes a la dirección de logística.. 1.2 Actividades a informatizar. Teniendo en cuenta la labor del departamento administrativo en cada área se decide a informatizar los siguientes procesos: . Registro y control del presupuesto y las partidas q lo conforman.. . Elaboración y tramitación de los reportes de pago.. . Solicitud, registro y liquidación de dietas por parte de los trabajadores, así como la elaboración de los modelos que certifican la misma.. . Registro de vales de pago menor a trabajadores y la creación de su modelo.. . Elaboración de los reportes de conciliación.. . Control de la responsabilidad del AFT.. 1.3 Fundamentación de la metodología utilizada. Una metodología son métodos y procedimientos a seguir al cabo de una investigación. En otros términos, se trata de la guía indicadora para la acción del qué hacer y cómo actuar durante una investigación. Rational Unified Process (ARIAS 2005) o Proceso Unificado de Racional. Es un proceso de ingeniería de software que suministra un enfoque para asignar tareas y responsabilidades dentro de una organización de desarrollo. Su objetivo es asegurar la producción de software de alta y de mayor calidad para satisfacer las necesidades de los usuarios que tienen un cumplimiento al final dentro de un límite de tiempo y presupuesto previsible. Es una metodología de desarrollo iterativo que es enfocada hacia “diagramas de los casos de uso, y manejo de los riesgos y el manejo de la arquitectura” como tal.. 6.

(18) SIAF. Capítulo 1 El RUP mejora la productividad del equipo ya que permite que cada miembro del grupo sin importar su responsabilidad específica pueda acceder a la misma base de datos incluyendo sus conocimientos. Esto hace que todos compartan el mismo lenguaje, la misma visión y el mismo proceso acerca de cómo desarrollar un software. Las características de RUP (Jacobson 2000) son: Dirigido por casos de uso: La razón de ser de un sistema software es servir a usuarios ya sean humanos u otros sistemas; un caso de uso es una facilidad que el software debe proveer a sus usuarios. Estos constituyen la guía fundamental establecida para las actividades a realizar durante todo el proceso de desarrollo incluyendo el diseño, la implementación y las pruebas del sistema. Los casos de uso representan los requisitos funcionales del sistema. Centrado en arquitectura: La arquitectura involucra los elementos más significativos del sistema y está influenciada entre otros por plataformas de software, sistemas operativos, manejadores de bases de datos, protocolos, consideraciones de desarrollo como sistemas heredados y requerimientos no funcionales. Iterativo e Incremental: Para hacer más manejable un proyecto se recomienda dividirlo en ciclos. Para cada ciclo se establecen fases de referencia, cada una de las cuales debe ser considerada como un mini proyecto cuyo núcleo fundamental está constituido por una o más iteraciones de las actividades principales básicas de cualquier proceso de desarrollo. El Proceso Unificado se repite a lo largo de una serie de ciclos que constituyen la vida de un sistema, como se muestra en la Figura 1. Cada ciclo concluye con una versión del producto para los clientes y cada ciclo consta de cuatro fases: inicio, elaboración, construcción y transición. Cada fase se subdivide a su vez en iteraciones, como se ha dicho anteriormente. véase la Figura 2.. 7.

(19) SIAF. Capítulo 1. FIGURA 1 LA VIDA DE UN PROCESO CONSTA DE CICLOS DESDE SU NACIMIENTO HASTA SU MUERTE (Pressman 1997).. FIGURA 2 CICLO CON SUS FASES E ITERACIONES (Pressman 1997).. Inicio: Esta fase tiene como propósito definir y acordar el alcance del proyecto con los patrocinadores, identificar los riesgos asociados al proyecto, proponer una visión muy general de la arquitectura de software y producir el plan de las fases y el de iteraciones posteriores Elaboración: En esta fase se seleccionan los casos de uso que permiten definir la arquitectura base del sistema y se desarrollan en esta fase, se realiza la especificación de los casos de uso seleccionados y el primer análisis del domino del problema, se diseña la solución preliminar. Construcción: El propósito de esta fase es completar la funcionalidad del sistema, para ello se deben clarificar los requisitos pendientes, administrar los cambios de acuerdo a las evaluaciones realizados por los usuarios y se realizan las mejoras para el proyecto. Transición: Esta fase cubre el periodo durante el cual el producto se convierte en versión beta. En la versión beta un número reducido de usuarios con experiencia prueba el producto e informa de defectos y deficiencias. 8. Los desarrolladores corrigen los.

(20) SIAF. Capítulo 1 problemas e incorporan algunas de las mejoras sugeridas en una versión general dirigida a la totalidad de la comunidad de usuarios.. 1.4 Fundamentación del entorno de desarrollo, lenguaje, gestor de base de datos y tecnología utilizados. El desarrollo de una herramienta conlleva la utilización de varios lenguajes y tecnologías para la creación de una herramienta con calidad y aceptación por parte de los usuarios.. 1.4.1 Lenguaje Unificado de Modelado. El Lenguaje Unificado de Modelado (Unified Modeling Language, UML) es un lenguaje estándar para escribir planos de software. UML puede utilizarse para visualizar, especificar, construir y documentar los artefactos de un sistema que involucra una gran cantidad de software (Rumbaugh et al. 1999). El modelado es esencial en la construcción de software para (Berzal et al. 2004): . Comunica la estructura de un sistema complejo y especificar su comportamiento.. . Comprender los que se está construyendo.. . Descubrir opurtunidades de simplificación y reutilización.. UML es apropiado para modelar desde sistemas de información en empresas hasta aplicaciones distribuidas basadas en la Web, e incluso para sistemas empotrados de tiempo real muy exigentes.. 1.4.2 PHP. Este es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en páginas HTML y ejecutado en el servidor. Se usa para la creación de aplicaciones para servidores o de contenido dinámico para sitios web. Su interpretación y ejecución ocurre en el servidor web, en el cual se encuentra almacenado el script. El cliente sólo recibe el resultado de la ejecución. Una de las características más potente y destacable de PHP es su soporte para una gran cantidad de bases de datos. Escribir un interfaz vía web para una base de datos es una tarea simple con PHP. Las siguientes bases de datos se soportan actualmente: 9.

(21) SIAF. Capítulo 1 Adabas D, Ingres, Oracle (OCI7 and OCI8), dBase, InterBase, PostgreSQL, Empress, FrontBase, Solid, FilePro, mSQL, Sybase, IBM DB2, MySQL, Velocis, Informix, ODBC, Unix dbm. PHP también soporta el uso de otros servicios que usen protocolos como IMAP, SNMP, NNTP, POP3, HTTP y derivados. Además, es posible abrir sockets de red directos (raw sockets) e interactuar con otros protocolos (Aulbach et al. 2001).. 1.4.3 Frameworks PHP. En los últimos años la web y el desarrollo de aplicaciones sobre esta supera grandemente a las aplicaciones de escritorio, por lo que se ha incrementado el uso de frameworks para el trabajo con diferentes leguajes del desarrollo web. PHP cuenta con varios de estos para su trabajo. Entre los frameworks más utilizados se encuentran CakePHP, Yii, CodeIgniter, Laravel y Symfony2, los cuales se relatan a continuación.. 1.4.3.1 CakePHP. Es un framework para el desarrollo rápido OpenSource. El objetivo principal es trabajar de forma estructurada y rápida, sin pérdida de flexibilidad. Como la mayoría de los frameworks, ofrece una serie de funcionalidades implementadas con el fin de que el programador solo tenga que pensar el desarrollar la lógica de negocio, ofreciendo herramientas que abstraen de tareas rutinarias. Sus principales características son: . Comunidad activa y amistosa. . Licencia flexible. . Compatible con PHP4 y PHP5. . CRUD integrado para la interacción con la base de datos. . Soporte de aplicación [scaffolding]. . Generación de código. . Arquitectura Modelo Vista Controlador (MVC). . Despachador de peticiones [dispatcher], con URLs y rutas personalizadas y limpias. . Validación integrada 10.

(22) SIAF. Capítulo 1 . Plantillas rápidas y flexibles (sintaxis de PHP, con ayudantes[helpers]). . Ayudantes para AJAX, Javascript, formularios HTML y más. . Componentes de Email, Cookie, Seguridad, Sesión y Manejo de solicitudes. . Listas de control de acceso flexibles. . Limpieza de datos. . Caché flexible. . Localización. . Funciona en cualquier subdirectorio del sitio web, con poca o ninguna configuración de Apache.. 1.4.3.2 Yii Framework. Yii es un framework PHP basado en componentes de altas prestaciones para desarrollar aplicaciones Web de gran escala. Permite la máxima reutilización en la programación web acelerando el proceso de desarrollo. (Yii 2016). Está equipado con soluciones de cacheo sofisticadas, es adecuado para desarrollar aplicaciones de gran tráfico como portales, foros, sistemas de administración de contenidos (CMS), sistemas de comercio electrónico (e-commerce), entre otras. Al igual que la mayoría de los frameworks PHP, Yii es un framework MVC (modelo-vista-controlador). Este framework sobresale por su eficiencia, su gran cantidad de características y su clara documentación (Winesett 2012).. 1.4.3.3 CodeIgniter. CodeIgniter es un framework PHP para la creación rápida de aplicaciones web. Es un producto de código libre, libre de uso para cualquier aplicación. Contiene una serie de librerías que sirven para el desarrollo de soluciones web y al igual que Yii, implementa el paradigma de Modelo Vista Controlador (MVC). Contiene muchas ayudas para la creación de aplicaciones PHP avanzadas, facilitando el desarrollo más rápido. La Arquitectura de desarrollo que propone, hace que se programe de una manera ordenada y contiene diversas herramientas que ayudan a hacer aplicaciones más versátiles y seguras (Upton 2007). Sus características más relevantes incluyen:. 11.

(23) SIAF. Capítulo 1 . Versatilidad: Quizás la característica principal de CodeIgniter, en comparación con otros frameworks PHP. CodeIgniter es capaz de trabajar la mayoría de los entornos o servidores, incluso en sistemas de alojamiento compartido, donde sólo se tiene un acceso por FTP para enviar los archivos al servidor y donde no se tiene acceso a su configuración.. . Facilidad de instalación: No es necesario más que una cuenta de FTP para subir CodeIgniter al servidor y su configuración se realiza con apenas la edición de un archivo, donde debemos escribir cosas como el acceso a la base de datos. Durante la configuración no se necesita acceso a herramientas como la línea de comandos, que no suelen estar disponibles en todos los alojamientos.. . Flexibilidad: CodeIgniter es bastante menos rígido que otros frameworks. Define una manera de trabajar específica, pero en muchos de los casos esta se sigue de manera opcional. Esto ayuda muchas veces también a que la curva de aprendizaje sea más sencilla al principio.. . Ligereza: El núcleo de CodeIgniter es bastante ligero, lo que permite que el servidor no se sobrecargue interpretando o ejecutando grandes porciones de código. La mayoría de los módulos o clases que ofrece se pueden cargar de manera opcional, sólo cuando se van a utilizar realmente.. . Documentación: La documentación de CodeIgniter es fácil de seguir y de asimilar, porque está escrita en modo de tutorial.. 1.4.3.4 Laravel. Laravel es un framework de código abierto para el desarrollo de aplicaciones web en PHP 5 que posee una sintaxis simple, expresiva y elegante. Fue creado en 2011 por Taylor Otwell, inspirándose en Ruby on Rails y Symfony, de los cuales ha adoptado sus principales ventajas. Laravel facilita el desarrollo simplificando el trabajo con tareas comunes como la autenticación, el enrutamiento, gestión sesiones, el almacenamiento en caché, entre otras (Gallego Sánchez 2017). Algunas de las principales características y ventajas de Laravel según (Martin Bean 2015) incluyen las que se describen a continuación: 12.

(24) SIAF. Capítulo 1 . Está diseñado para desarrollar bajo el patrón MVC (modelo - vista - controlador), centrándose en la correcta separación y modularización del código. Lo que facilita el trabajo en equipo, así como la claridad, el mantenimiento y la reutilización del código.. . Integra un sistema ORM de mapeado de datos relacional llamado Eloquent aunque también permite la construcción de consultas directas a base de datos mediante su Query Builder.. . Permite la gestión de bases de datos y la manipulación de tablas desde código, manteniendo un control de versiones de las mismas mediante su sistema de migraciones.. . Utiliza un sistema de plantillas para las vistas llamado Blade, el cual hace uso de la cache para darle mayor velocidad. Blade facilita la creación de vistas mediante el uso de layouts, herencia y secciones.. . Facilita la extensión de funcionalidad mediante paquetes o librerías externas. De esta forma es muy sencillo añadir paquetes que facilitan el desarrollo de una aplicación y que ahorran mucho tiempo de programación.. . Incorpora un intérprete de línea de comandos llamado Artisan que ayuda con tareas rutinarias como la creación de distintos componentes de código, trabajo con la base de datos y migraciones, gestión de rutas, cachés, colas y tareas programadas.. 1.4.3.5 Symfony2. Es un frameworks versátil, lo que implica que puede ser utilizado en cualquier tipo de aplicación web. Es muy popular entre los desarrolladores, por lo que es constantemente mejorado por la comunidad de desarrollo y con una muy buena documentación; da solución de manera óptima a los paradigmas de la programación web, los que son: persistencia de datos, rendimiento, seguridad, caché, formularios, archivos web, validación, internacionalización, plantillas, tareas programadas, archivos de log y enrutamiento (Eguiluz 2013). Symfony es un framework diseñado para optimizar el desarrollo de las aplicaciones web basado en el patrón Modelo Vista Controlador. Tiene incorporado varias herramientas y clases encaminadas a reducir el tiempo de desarrollo de una aplicación web compleja. 13.

(25) SIAF. Capítulo 1 Además, automatiza las tareas más comunes, permitiendo al desarrollador dedicarse por completo a los aspectos específicos de cada aplicación (Eguiluz 2013). Este framework es conocido por ser muy flexible, ya que se utiliza en ámbitos tan diferentes como sitios web diminutos, aplicaciones empresariales que sirven miles de millones de peticiones e incluso como base de otros frameworks (Lapera 2011). Symfony2 ha sido ideado para aprovechar todas las características de PHP 5 y por eso es uno de los frameworks PHP con mejor rendimiento (Eguiluz 2013) Es una herramienta fácil de instalar y configurar en la mayoría de los sistemas operativos, es independiente del gestor de bases de datos y permite la integración con muchos de estos. Algunas características que se consideran importantes para abordar proyectos sobre Symfony según (Karp 2012) son: . Está preparado para aplicaciones empresariales y es adaptable a las políticas y arquitecturas propias de cada empresa, además de ser lo suficientemente estable como para desarrollar aplicaciones a largo plazo.. . Es fácil de extender, lo que permite su integración con las bibliotecas de otros fabricantes.. . Permite la internacionalización para la traducción de la interfaz, los datos y el contenido de la localización.. . Usa templates y layouts para la presentación que pueden ser construidos por diseñadores de HTML5 que no posean conocimientos del framework.. . Los formularios soportan la validación automática, lo cual asegura mejor calidad de los datos en la base de datos y una mejor experiencia para el usuario.. . El manejo de la caché reduce el uso de banda ancha y la carga del servidor.. . La facilidad de soportar autenticación y credenciales facilita la creación de áreas restringidas y manejo de seguridad de los usuarios.. . El enrutamiento y las URLs inteligentes hacen amigable las direcciones de las páginas de la aplicación.. . Los plugins proveen un alto nivel de extensibilidad.. . La interacción con AJAX es mucho más sencilla. 14.

(26) SIAF. Capítulo 1 Por sus características, la abundante documentación, su alta capacidad de integración con otros componentes y la estabilidad del framework se toma para creación de la presente herramienta.. 1.4.4 Framework HTML. El diseño de una interfaz agradable para los usuarios es un punto clave en el desarrollo de una herramienta por lo que se hace necesario la utilización de Bootstrap. Framework originalmente creado por Twitter, que permite crear interfaces web con CSS y JavaScript, cuya particularidad es la de adaptar la interfaz del sitio web al tamaño del dispositivo en que se visualice. Es decir, el sitio web se adapta automáticamente al tamaño de las pantallas de los dispositivos electrónicos. Esta técnica de diseño y desarrollo se conoce como diseño adaptativo (Spurlock 2013). Es una herramienta sencilla y ágil para construir sitios web e interfaces con la comodidad de una enorme variedad de plantillas y temas que mantiene un soporte continuo por varias comunidades como WordPress, Drupal, SASS o jQuery UI.. 1.4.5 Gestor de base de datos. Muchos de los sistemas en la actualidad procesan y almacenan datos por lo que muchos gestores de bases de datos se pueden vincular con aplicaciones en PHP como MySQL1, Postgres2, DB23, Microsoft SQL Server4, SQLite5 entre otros. En este trabajo se utiliza MySQL, por poseer una interacción perfecta con el lenguaje PHP. Es muy rápido, fácil de usar, trabaja en entornos cliente – servidor y posee un buen control de acceso de usuario y seguridad de datos. Para realizar el trabajo entre Symfony2 y MySQL, se utiliza en este trabajo Doctrine2, que consiste en un asignador objeto relacional (ORM) para PHP 5.3.0+ que proporciona. 1. MySQL: Es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual GPL/Licencia comercial por Oracle Corporation. 2 Postgres: Es un Sistema de gestión de bases de datos relacional orientado a objetos y libre, publicado bajo su propia licencia. 3 DB2: Es una familia de productos de sistema de gestión de bases de datos relacionales (RDBMS) de IBM que sirven a varias plataformas diferentes de sistemas operativos. 4 Microsoft SQL Server: Es un sistema de manejo de bases de datos del modelo relacional, desarrollado por la empresa Microsoft. 5 SQLite: Es un sistema de gestión de bases de datos relacional compatible, contenida en una relativamente pequeña biblioteca escrita en C. SQLite es un proyecto de dominio público creado por D. Richard Hipp.. 15.

(27) SIAF. Capítulo 1 persistencia transparente de objetos PHP. Se sitúa en la parte superior de una poderosa capa de abstracción de base de datos (DBAL por Data Base Abstraction Layer). La principal tarea de los asignadores objeto relacionales es la traducción transparente entre objetos PHP y las filas relacionales de la base de datos. Una de las características principales de Doctrine es la opción de escribir las consultas de base de datos en un dialecto SQL propio orientado a objetos llamado Lenguaje de Consulta Doctrine (DQL por Doctrine Query Language). Además, DQL difiere ligeramente de SQL en que abstrae considerablemente la asignación entre las filas de la base de datos y objetos, permitiendo a los desarrolladores escribir poderosas consultas de una manera sencilla y flexible (Team 2014).. 1.5 Conclusiones parciales del capítulo. En este capítulo se realizó un análisis de los objetivos estratégicos del departamento administrativo y las actividades dentro de este a informatizar. Se realizó un estudio de la metodología y tecnologías a emplear para dar solución al problema descrito, decidiéndose utilizar: Bootstrap como framework o librería del lado del cliente para el uso tecnologías HTML5, CSS3 y JavaScript; RUP como metodología de desarrollo de software; UML como lenguaje de modelado; PHP para lenguaje de programación del lado del servidor utilizando Symfony2 como framework de desarrollo y MySQL como gestor de base de datos para la herramienta.. 16.

(28) SIAF. Capítulo 2 CAPÍTULO 2 MODELO DEL NEGOCIO Y REQUISITOS. En el presente capítulo se describen algunos de los procesos fundamentales llevados a cabo en el departamento administrativo. El estudio de estos mecanismos a través de los modelos de negocio, reglas, requisitos, actores y casos de usos del negocio contribuyen a la solución del problema.. 2.1 Modelo del negocio actual. A continuación, se describen los procesos fundamentales en el análisis del negocio, mediante el uso de diagramas de actividades.. 2.1.1 Proceso creación de reportes de pago mensual.. FIGURA 3 DIAGRAMA DE ACTIVIDADES: CREACIÓN DE REPORTE DE PAGO MENSUAL.. 17.

(29) SIAF. Capítulo 2 El proceso de creación de reportes de pago descrito en la Figura 3, inicia con la solicitud del jefe del departamento administrativo a cada una de las áreas de un listado con las ausencias y claves para estas por cada trabajador. Los jefes de departamentos confeccionan este reporte y lo entregan. El personal del departamento administrativo es el encargado de la creación del reporte I-10 para cada uno de los departamentos a partir de los entregados por cada departamento anterior. Una vez confeccionado el I-10, se revisa y aprueba por los directivos de la facultad y envía a finales de mes a la dirección de recursos humanos. El último día del mes se entrega un complemento de este reporte con los días no contemplados en el I-10, es decir, los días posteriores a la entrega del mismo.. 2.1.2 Proceso registro de dieta.. FIGURA 4 DIAGRAMA DE ACTIVIDADES: REGISTRO DE DIETAS.. El proceso de registro de dietas Figura 4 es llevado a cabo por el jefe del departamento administrativo de la facultad y es uno de los gastos corrientes de los cuales la facultad tiene total control sobre sus cifras.. 18.

(30) SIAF. Capítulo 2 2.1.3 Proceso registro de vale de pago.. FIGURA 5 DIAGRAMA DE ACTIVIDADES: REGISTRO DE VALE DE PAGO.. El registro de vales de pago Figura 5 por el jefe del departamento administrativo es otro de los servicios que propician gastos al presupuesto en dependencia de cuál de los controlados por la facultad sea el afectado por este.. 2.1.4 Proceso de control de activos fijos.. FIGURA 6 DIAGRAMA DE ACTIVIDADES: REGISTRO DE NUEVO ACTIVO.. Este proceso se divide en varios procesos entre los que se destacan el registro de un nuevo activo fijo en la facultad Figura 6, el chequeo periódico del estado de este en cada uno. 19.

(31) SIAF. Capítulo 2 de los locales, designar uno o varios responsables del activo Figura 7 o el proceso de baja.. FIGURA 7 DIAGRAMA DE ACTIVIDADES: DESIGNAR RESPONSABLE.. 2.2 Reglas del negocio. RN1: Los reportes de pago mensuales deben ser creados y entregados al departamento administrativo a finales de mes. RN2: Cada trabajador puede ver sus ausencias o infracciones de horario, así como el concepto por el cual se les registró. RN3: Los datos del presupuesto son de total conocimiento por los usuarios de cada facultad.. 2.3 Actores del negocio. Actores del negocio. Descripción. Jefe departamento administrativo. Es la persona que se le informa el presupuesto partidas. de. aprobado este. para. desglosado. en. controlar. el. comportamiento del mismo en el transcurso del año y es quien inicia el proceso de pago 20.

(32) SIAF. Capítulo 2 en las facultades haciendo una solicitud a los jefes de departamento del reporte de incidencias. Trabajador. Es el personal de cada facultad que da inicio a la consulta de información de dietas, vales de pago, ausencias o incidencias de horario.. 2.4 Trabajadores del negocio. Trabajadores del negocio. Descripción. Jefe departamento docente. Es el personal encargado de elaborar el reporte de incidencias solicitado por el jefe del departamento administrativo.. Jefe departamento administrativo. Es la persona que busca la información pedida por cada trabajador para la consulta de vales o dietas registradas.. 21.

(33) SIAF. Capítulo 2 2.5 Diagrama de casos de uso del negocio.. FIGURA 8 DIAGRAMA DE CASOS DE USO DEL NEGOCIO. 2.6 Descripción de los casos de uso del negocio. Caso de uso del negocio. Descripción. Gestionar Presupuesto. El jefe del departamento administrativo inicia el caso de uso una vez que se le informa. desde. universidad. cuál. planificación fue. el. en. la. presupuesto. aprobado para la facultad y conforma cada 22.

(34) SIAF. Capítulo 2 una de las partidas en las que se desglosa el presupuesto asignado. Obtener reporte de incidencias. El jefe del departamento administrativo inicia el caso de uso con una solicitud del reporte de incidencias a cada jefe de departamento de la facultad a finales de mes.. Crear reporte I10. Este caso de uso es iniciado por el jefe del departamento administrativo e incluye la obtención de cada uno de los reportes de incidencia de. los departamentos de la. facultad. Procesar dieta. El jefe del departamento administrativo inicia el caso de uso cuando se le llena el modelo de la dieta a un trabajador de la facultad.. Procesar vale de pago. El jefe del departamento administrativo inicia el caso de uso cuando llena el modelo de vale de pago a un trabajador de la facultad.. Actualizar presupuesto. Este caso de uso es iniciado una vez que se registran gastos en alguna partida del presupuesto anual o se adiciona una nueva cantidad al presupuesto existente en el documento excel.. Gestionar activos fijos. Este caso de uso es llevado a cabo por el departamento administrativo una vez que es necesario registrar nuevos activos fijos en la facultad, asignar responsable cambiar de local, modificar los valores con los que fue. 23.

(35) SIAF. Capítulo 2 registrado en la facultad o dar de baja a este activo. Consultar incidencias. El trabajador inicia este caso de uso una vez que necesita consultar con su jefe de departamento cuáles son las incidencias que tiene registrada en el mes antes de que se conforme el reporte de las mismas.. Consultar dietas. Este caso de uso inicia cuando un trabajador necesita. consultar. con. el. jefe. del. departamento administrativo el estado de una dieta que fue solicitada por el mismo. Consultar vales de pago. Este caso de inicia cuando un trabajador necesita. consultar. con. el. jefe. del. departamento administrativo los vales de pago que se les han otorgado u otros datos de interés para el trabajador como por ejemplo, en qué rango de fechas del presente mes puede cobrar este importe.. 2.7 Actores del Sistema a Automatizar. Actores del sistema. Descripción. Jefe del departamento administrativo. Es. el. encargado. de. gestionar. el. presupuesto de la facultad a la que pertenece, así como controlar y velar por el nivel de gastos en las partidas en que este es desglosado. Es el encargado de crear el reporte I-10 de cada uno de los departamentos, también es el responsable de la gestión de dietas y vales de pago y la creación de reportes de estos a finales de mes. Tendrá la capacidad de gestionar locales en los departamentos y asignar 24.

(36) SIAF. Capítulo 2 activos fijos en los mismos, pudiendo nombrar responsables de estos en el departamento para llevar el control de medios materiales de una manera correcta. Jefe departamento. Es uno de los usuarios encargados de la creación de los reportes de incidencias del departamento y de la labor del registro de ausencias de los usuarios y para ello necesita estar autenticado.. Trabajador. Es uno de los usuarios con la capacidad consultar sus datos y cuál es el estado del presupuesto de su facultad o de los proyectos de la misma. También puede iniciar el proceso de dietas con una solicitud.. 2.8 Requisitos del sistema. Los requisitos del sistema están dados por dos tipos, los Funcionales y los No Funcionales, todos estos describen las funcionalidades y características propuestas por el cliente que serán de vital importancia para el desarrollo de la herramienta.. 2.8.1 Requisitos funcionales. Los requisitos funcionales de un sistema describen la funcionalidad o los servicios que se espera que este provee. Estos dependen del tipo de software y del sistema que se desarrolle y de los posibles usuarios del software. Los requerimientos funcionales del sistema describen con detalle la función de este, sus entradas y salidas, excepciones, etcétera (Sommerville 2001). A continuación, se presentan los requisitos funcionales del presente trabajo: RF1: Gestionar departamento. RF1.1 Listar usuarios del departamento. RF1.2 Listar locales del departamento. RF1.3 Listar reportes del departamento. 25.

(37) SIAF. Capítulo 2 RF1.4 Gestionar local. RF1.4.1 Adicionar local. RF1.4.2 Modificar local. RF1.4.3 Eliminar local. RF1.5 Crear y publicar reportes RH-3 (I10) del departamento por mes. RF1.6 Crear y publicar reportes de incidencia del departamento por mes. RF2 Gestionar usuario. RF2.1 Ver listado de usuarios de la facultad. RF2.2 Ver información de cada usuario. RF2.2 Modificar información de cada usuario. RF3 Gestionar presupuesto. RF3.1 Adicionar nuevo presupuesto. RF3.2 Listar partidas del presupuesto con sus valores de gastos corrientes. RF3.3 Aumentar presupuesto por partida. RF3.4 Incrementar gasto por partida. RF4 Gestionar dietas. RF4.1 Adicionar dieta por anticipo o liquidación en cualquier presupuesto. RF4.2 Modificar dieta. RF4.3 Eliminar dieta. RF4.4 Adicionar vale de pago a dieta. RF4.5 Listar dietas de la facultad. RF4.6 Crear y publicar modelo de cada dieta. RF4.7 Crear y publicar reporte de dietas mensuales de la facultad. 26.

(38) SIAF. Capítulo 2 RF5 Gestionar vales de pago. RF5.1 Adicionar vales de pago en cualquier presupuesto. RF5.2 Modificar vales de pago. RF5.3 Eliminar vales de pago. RF5.4 Listar vales de pago asociados a dietas de la facultad. RF5.5 Listar vales de pago de otros gastos de la facultad. RF5.6 Crear y publicar modelo de cada vale de pago. RF5.7 Crear y publicar reporte de vales de pago mensuales de la facultad. RF6 Gestionar activos fijos. RF6.1 Adicionar activo fijo en cualquier local. RF6.2 Modificar activo fijo. RF6.3 Dar baja a un activo fijo. RF6.4 Listar activos fijos registrados en la facultad. RF6.5 Listar activos fijos de baja en la facultad. RF6.6 Agregar responsable. RF6.7 Quitar responsable. RF7 Gestionar fechas. RF7.1 Definir fecha de entrega de los reportes de incidencia todos los meses. RF7.2 Definir sábados laborables. RF8 Gestionar ausencias. RF8.1 Adicionar ausencias. RF8.2 Modificar ausencias. RF8.3 Eliminar ausencias. 27.

(39) SIAF. Capítulo 2 RF8.4 Listar ausencias. RF8 Gestionar incidencias de horario. RF8.1 Adicionar incidencias. RF8.2 Modificar incidencias. RF8.3 Eliminar incidencias. RF8.4 Listar incidencias.. 2.8.2 Requisitos no funcionales. Los requisitos no funcionales surgen de las necesidades del usuario, debido a las restricciones en el presupuesto, a las políticas de la organización, a la necesidad de interoperabilidad con otros sistemas de software o hardware o a factores extremos como los reglamentos de seguridad, las políticas de privacidad, entre otras (Sommerville 2001). Usabilidad RNF1. Acceso por roles. Descripción. El sistema debe ser accedido todos los trabajadores de la facultad diferenciando las funcionalidades del mismo por roles de usuario.. RNF2. Cuadros de ayuda. Descripción. El sistema debe informar siempre al usuario de cambios a realizar en el mismo.. 28.

(40) SIAF. Capítulo 2 2.9 Diagrama de casos de uso del sistema. En la siguiente Figura 9 se muestra el diagrama de casos de uso del sistema, así como la herencia existente entre sus actores.. FIGURA 9 DIAGRAMA DE CASOS DE USO DEL SISTEMA.. 29.

(41) SIAF. Capítulo 2 2.10 Descripción de los casos de uso del sistema. En las tablas siguientes se describen los casos de uso del sistema gestionar presupuesto y gestionar dieta. Caso de uso del sistema. Gestionar presupuesto. Actores. Jefe departamento administrativo. Propósito. Definir el presupuesto anual y cada una de las partidas que lo conforman.. Resumen. El caso de uso se inicia cuando es aprobado el presupuesto anual y se le notifica a la facultad cuales son las cifras de las siete principales partidas del mismo.. Precondiciones. El actor que inicia el caso de uso debe estar autenticado en el sistema. Flujo normal de procesos. Acción del actor. Respuesta del sistema. 1. El actor selecciona la opción Facultad/Presupuesto. Año. Actual. 2. El sistema muestra una ventana con el formulario para rellenar los valores de las partidas principales del presupuesto. 3. El actor inserta los datos. 4. El actor selecciona la opción Adicionar. 5. El sistema verifica que no haya ningún campo vacío y que los datos estén en el formato correctos. 6. El sistema muestra la página del nuevo presupuesto con los gastos corrientes, el restante 30.

(42) SIAF. Capítulo 2 y un desglose de las 100 partidas que lo conforman. Otra sección 1. El actor selecciona la opción Facultad/Presupuesto. Año. Actual. 2. El sistema muestra la página del presupuesto actual con los gastos corrientes, el restante y un desglose de las 100 partidas que lo conforman. Flujo alternativo de eventos Mensaje de error por campos vacíos o incorrectos 4. El actor selecciona la opción Adicionar. 5. El sistema verifica que no haya ningún campo vacío y que los datos estén en el formato correctos. 5. El sistema muestra en mensaje de error en los campos incorrectos o vacíos.. Caso de uso del sistema. Gestionar dieta (adicionar). Actores. Jefe departamento administrativo. Propósito. Registrar una dieta por anticipo o liquidación a un trabajador de la facultad, generar el modelo de la misma.. Resumen. El caso de uso se inicia cuando el jefe del departamento administrativo procede a registrar una dieta en alguno de los presupuestos que este controla.. 31.

(43) SIAF. Capítulo 2 Precondiciones. El actor que inicia el caso de uso debe estar autenticado en el sistema. Flujo normal de procesos. Acción del actor. Respuesta del sistema. 1. El actor selecciona la opción Facultad/Presupuesto Actual/Nueva. Año Dieta/Por. Anticipo. 2. El sistema muestra una ventana con el formulario para rellenar los valores de las dietas por anticipo y cuáles son los gastos actuales de la partida viático del presupuesto seleccionado. 3. El actor llena los datos. 4. El actor selecciona la opción Adicionar. 5. El sistema verifica que no haya ningún campo obligatorio vacío y que los datos estén en el formato correcto. 6. El sistema muestra la página de todas las dietas actuales. y. notifica. que. fue. registrada. correctamente la dieta anterior. Otra sección 3. El actor llena los datos y selecciona adicionar vale de pago . 4. El actor selecciona la opción Adicionar. 5. El sistema verifica que no haya ningún campo obligatorio vacío y que los datos estén en el formato correcto. 32.

(44) SIAF. Capítulo 2 6. El sistema muestra la página de registro de un nuevo vale de pago y notifica que fue registrada correctamente la dieta anterior. 7. El actor llena los datos del vale de pago. 8. El actor selecciona la opción Adicionar. 9. El sistema verifica que ningún campo obligatorio esté vacío y que los datos estén en el formato correcto. 10. El sistema muestra la página de todas las dietas actuales y notifica que fue registrado correctamente el vale de dieta anterior. Flujo alternativo de eventos Mensaje de error por campos vacíos o incorrectos 4. El actor selecciona la opción Adicionar. 5. El sistema verifica que no haya ningún campo obligatorio vacío y que los datos estén en el formato correcto. 6. El sistema muestra en mensaje de error en los campos incorrectos o vacíos.. 2.11 Conclusiones parciales del capítulo. En el presente capítulo se realizó un estudio del negocio actual partiendo de los procesos fundamentales del departamento administrativo. Se definen los principales casos de uso, trabajadores y actores del negocio, para alcanzar un modelo de casos de uso del sistema, con ayuda de una selección de los actores a automatizar, los requisitos funcionales y no funcionales.. 33.

(45) SIAF. Capítulo 3 CAPÍTULO 3 DESCRIPCIÓN DE LA PROPUESTA DE SOLUCIÓN. En el presente capítulo se realiza un análisis de la herramienta realizada como propuesta de solución partiendo de la arquitectura de software utilizada y la especificación de diferentes diagramas como son los diagramas de secuencia, diagrama de clases, diagrama de despliegue y los modelos conceptuales y físicos de la base de datos.. 3.1 Arquitectura del Sistema. Symfony basa su funcionamiento interno en la arquitectura Modelo - Vista – Controlador utilizada por la mayoría de frameworks web.. FIGURA 10 ESQUEMA SIMPLIFICADO DE LA ARQUITECTURA INTERNA DE SYMFONY (Eguiluz 2013).. Cuando el usuario solicita ver la portada del sitio, internamente sucede lo siguiente: 1. El sistema de enrutamiento determina qué Controlador está asociado con la página de la portada. 2. Symfony ejecuta el Controlador asociado a la portada. Un controlador no es más que una clase PHP en la que puedes ejecutar cualquier código que se desee. 3. El Controlador solicita al Modelo los datos necesarios. El modelo es una clase PHP especializada en obtener información, normalmente de una base de datos (en este caso, el modelo está formado por las entidades de Doctrine). 4. Con los datos devueltos por el Modelo, el Controlador solicita a la Vista que cree una página mediante una plantilla y que inserte los datos del Modelo. 5. El Controlador entrega al servidor la página creada por la Vista. 34.

(46) SIAF. Capítulo 3 3.2 Diagrama de clases del diseño. En la Figura 11 corresponde al caso de uso del diseño gestionar presupuesto, parte de una petición del usuario de la vista del presupuesto actual, el controlador PresupuestoController es el encargado de construir esta, comprobando si para el presente año la facultad tiene un presupuesto registrado. De ser así, muestra los datos de cada una de las partidas de este presupuesto. Si la facultad no contiene presupuesto en el presente año la vista del presupuesto actual contendrá un formulario para el registro del nuevo presupuesto. Los nuevos datos son validados y el controlador actualiza el modelo del nuevo presupuesto y las partidas de este, por último, el controlador genera la vista para el presupuesto actual con los datos anteriormente registrados.. FIGURA 11 DIAGRAMA DE CLASES DEL DISEÑO: CU GESTIONAR PRESUPUESTO.. En la Figura 12 se muestra el diagrama de clases del diseño para el caso de uso gestionar dieta (adicionar), parte del presupuesto q se selecciona para adicionar la dieta vista q es construida por el controlador PresupuestoController, de la vista del presupuesto existe un enlace a una nueva dieta, petición que es tomada por el controlador DietaController y este genera la página de registro de una nueva dieta con el formulario correspondiente. Posterior a esto, el formulario envía los datos al controlador de dietas que valida los mismos y de estar correctos actualiza el modelo del nuevo registro y luego genera la página de todas las dietas de la facultad.. 35.

(47) SIAF. Capítulo 3. FIGURA 12 DIAGRAMA DE CLASES DEL DISEÑO: CU GESTIONAR DIETA (ADICIONAR).. 3.3 Diagramas de secuencia. Los diagramas de secuencias muestran un escenario basado en el tiempo y resultan de gran utilidad para entender cómo se realizan los casos de uso en la herramienta. En la Figura 13, para el caso de uso gestionar presupuesto (adicionar), se evidencia la relación entre los objetos que intervienen en esta acción donde el jefe del departamento administrativo es quien inicia y concluye esta secuencia de acciones.. FIGURA 13 DIAGRAMA DE SECUENCIA: CU GESTIONAR PRESUPUESTO (ADICIONAR) .. En la Figura 14 se muestra el flujo de acciones y los objetos que intervienen en el CU gestionar dieta (adicionar) iniciado por el jefe del departamento administrativo.. 36.

(48) SIAF. Capítulo 3. FIGURA 14 DIAGRAMA DE SECUENCIA: CU GESTIONAR DIETA (ADICIONAR).. 3.4 Tratamiento de errores. La validación es una tarea importante en aplicaciones web. Los datos introducidos en formularios se tienen que validar antes de escribirlos en una base de datos o pasarlos a un servicio web. Symfony2 incluye un componente Validator que facilita y transparenta esta tarea. Este componente está basado en la especificación de validación Bean JSR303. Uno de los tratamientos más usados en la herramienta creada es el tratamiento de errores por aserciones. La validación de datos por aserción en Symfony2, que en el caso de esta aplicación es la infraestructura digital que se utiliza, “…se configura en las entidades, no en los formularios” (Eguiluz 2013). De esta manera las reglas de la captura y validación de los datos se encuentran especificadas desde la base del programa, permitiéndose con ello una detección temprana de errores. En la Figura 15 se muestra un ejemplo de como la herramienta maneja el tratamiento de errores por aserciones de la entidad usuario Figura 16.. 37.

(49) SIAF. Capítulo 3. FIGURA 15 VISTA DE LA HERRAMIENTA: SECCIÓN EDITAR USUARIO.. FIGURA 16 FRAGMENTO DE CÓDIGO ENTIDAD USUARIO.. 3.5 Integración con ldap LDAP es el protocolo de acceso a directorios ligero (Lightweight Directory Access Protocol), un protocolo usado para acceder a "Servidores de Directorio". El directorio es una clase especial de base de datos que contiene información estructurada en forma de árbol (Aulbach et al. 2001). La universidad cuenta con un directorio de este tipo en el cual se encuentran registrado todos los usuarios, por esta razón se decide que el acceso al sistema sea a través de las credenciales de cada usuario en la red y el chequeo de los datos a través de métodos de PHP para la obtención de información de este directorio. Entre las funciones utilizadas se encuentra: . ldap_connect(): establece una conexión con el servidor LDAP especificado en nombre del host y puerto.. . ldap_bind() : se conecta al directorio con un determinado usuario y contraseña.. . ldap_search() realiza la búsqueda según el filtro especificado. 38.

(50) SIAF. Capítulo 3 3.6 Diseño de la base de datos. El diseño de la base de datos es una de las etapas más importantes en el ciclo de vida de desarrollo del software. Aquí se definen las entidades más importantes del sistema, sus atributos y relaciones que quedan representadas en un modelo conceptual Figura 17.. FIGURA 17 MODELO LÓGICO DE DATOS.. 39.

(51) SIAF. Capítulo 3 3.6.1 Modelo físico de datos. En el modelo físico de los datos Figura 18 quedan representadas las entidades en el gestor MySQl tarea que es llevada a cabo por el asignador de objetos Doctrine2, quien puede crear y modificar este esquema tomando como guía las entidades representadas en el modelo.. FIGURA 18 MODELO FÍSICO DE DATOS.. 40.

(52) SIAF. Capítulo 3 3.7 Modelo de componentes. El diagrama de componentes Figura 19, muestra como está dividido el sistema o parte de él, dentro de los componentes físicos están incluidos archivos, cabeceras, bibliotecas compartidas, módulos, ejecutables o paquetes.. FIGURA 19 DIAGRAMA DE COMPONENTES (FRAGMENTO).. 3.8 Diagrama de despliegue. El Diagrama de despliegue Figura 20 muestra la distribución del sistema de los distintos nodos que entran en la composición de la herramienta realizada y el reparto de los programas que se ejecutan sobre estos nodos.. FIGURA 20 DIAGRAMA DE DESPLIEGUE.. 41.

(53) SIAF. Capítulo 3 3.9 Conclusiones parciales del capítulo. En este capítulo se definen elementos fundamentales en proceso de elaboración de la herramienta partiendo de la arquitectura usada en la aplicación, una descripción de las fundamentales clases del diseño y el manejo de errores implementado. También se abordan modelos fundamentales como los modelos del diseño de la base de datos y el de componentes, finalizando con la distribución del sistema una vez realizada la herramienta como propuesta de solución.. 42.

Figure

Figura 25 Vista de solicitudes enviadas por el trabajador.

Referencias

Documento similar

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción