Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Licenciatura en Computación Informe Final de Pasantía: Desarrollo de un Sistema Web para la Administración de Asignaturas Electivas de la Facultad Experimental de Ciencias y Tecnología de la Universidad de Carabobo. Autor Orlando Castillo Tutor Académico Reina Loaiza Tutor Empresarial Harold Vásquez Valencia, Mayo del 2011
Índice general 1. Resumen 2 2. Definición del Problema 3 2.1. El Problema........................................... 3 2.2. Justificación........................................... 3 2.3. Objetivos............................................ 4 2.3.1. Objetivo General.................................... 4 2.3.2. Objetivos Específicos.................................. 4 3. Plan de Trabajo 5 4. Resultados 6 4.1. Captura de Requisitos...................................... 6 4.2. Implementación de la Base de Datos.............................. 6 4.3. Definición e Implementación de las Clases del Sistema.................... 6 4.4. Diseño de Interfaz........................................ 7 4.5. Implementación del Manejo de Sesiones............................ 7 4.6. Funcionalidades del Sistema.................................. 7 4.6.1. Funcionalidad: Modificación de Fechas........................ 7 4.6.2. Funcionalidad: Postular Electiva para la Oferta Externa................ 8 4.6.3. Funcionalidad: Votar Horarios............................. 8 4.7. Validaciones del Sistema.................................... 8 4.8. Presentación Final........................................ 8 5. Conclusiones 9 6. Recomendaciones 10 1
1 Resumen El siguiente trabajo presenta los resultados del Proyecto de Pasantía con el siguiente objetivo: Desarrollo de un Sistema Web para la Administración de Asignaturas Electivas de la Facultad Experimental de Ciencias y Tecnología de la Universidad de Carabobo. Considerando la magnitud de la responsabilidad, el trabajo representa uno de los tres Proyectos de Pasantía que surgieron para alcanzar los resultados deseados. Con el fin de brindar la mejor experiencia, se propone el diseño de una Interfaz Web para el sistema que considere los requisitos establecidos por los distintos usuarios finales, así como también tome en consideración los requerimientos y normas generales establecidas en el desarrollo de software. El trabajo espera generar un sistema de alta calidad, que permita reemplazar con tecnología avanzada lo que actualmente resulta en un proceso manual tedioso para todos los involucrados en que la administración de electivas se lleve a cabo con éxito en cada período lectivo de la facultad. 2
2 Definición del Problema 2.1. El Problema El actual sistema para la administración de electivas utilizado por la Facultad Experimental de Ciencias y Tecnología (FACYT) de la Universidad de Carabobo (UC), falla en proveer las ventajas tecnológicas necesarias para manejar de forma eficiente el número creciente de estudiantes cursantes, lo que resulta en procesos manuales tediosos para todos los involucrados. Este problema impacta a toda la comunidad de FACYT, la cual se encuentra conformada por los estudiantes y diversas autoridades de la facultad: Profesores, Directores de Departamento, Coordinadores de Carrera, entre otros. El actual trabajo propone como solución el desarrollo de un Sistema Web para la Administración de Asignaturas Electivas de FACYT, el cual permitirá a los estudiantes y personal de la facultad, acceder al mismo mediante Computadoras Personales de forma remota y realizar todas las actividades necesarias de forma automatizada. 2.2. Justificación Los siguientes son los posibles beneficios que aportaría el actual trabajo a la comunidad de la FACYT: La automatización de los procesos seguidos para la administración de electivas de la facultad generaría una fluidez sustancial en los procesos administrativos involucrados. La implementación del sistema permitiría que los usuarios puedan utilizarlo de forma remota, ya que se apoyaría en el uso de la tecnología de Internet. El sistema garantizará la seguridad, así como también la disponibilidad de información actualizada a sus usuarios. El sistema contará con las tecnologías más recientes, colocando a la institución como punto de referencia para la administración de sus actividades. 3
2.3. Objetivos 2.3.1. Objetivo General Desarrollar un Sistema Web para la Administración de las Asignaturas Electivas de la Facultad Experimental de Ciencias y Tecnología de la Universidad de Carabobo. 2.3.2. Objetivos Específicos Realizar la captura de requisitos. Efectuar el diseño e implementación de la base de datos y clases del sistema. Diseñar la interfaz de usuario. Implementar el sistema. Verificar el funcionamiento correcto del sistema, a través de la realización de pruebas. 4
3 Plan de Trabajo El esquema de trabajo de Pasantía adoptado fue el de tiempo completo, por lo que la pasantía tuvo uno duración de más de 3 meses, enmarcados en jornadas de trabajo de Lunes a Viernes de 8 horas de duración en las instalaciones de la FACYT, específicamente en las instalaciones del Centro Multidisciplinario de Visualización y Cómputo Científico (CEMVICC). Debido a la magnitud del proyecto, el sistema fue desarrollado de forma simultanea por tres pasantes, dividiendo de una forma equitativa la carga de trabajo. En el caso particular de este proyecto, el plan de trabajo seguido puede observarse en la figura 3.1. Figura 3.1: Plan de Pasantía 5
4 Resultados Para analizar los resultados obtenidos, se procederá a explicar el proceso seguido para completar cada una de las actividades propuestas en el Plan de Trabajo (Ver figura 3.1). Es importante destacar que la organización de actividades presentada en los Resultados no refleja el orden cronológico exacto seguido durante el proyecto, ya que la intención es facilitar la legibilidad. El orden cronológico seguido puede observarse ya en el Plan de Trabajo plasmado anteriormente. 4.1. Captura de Requisitos Para obtener los requerimientos del sistema, se procedió a realizar diversas reuniones con las siguientes autoridades que conforman la FACYT: Director de Asuntos Estudiantiles (durante la realización del trabajo) Harold Vásquez, quien además es el Tutor Empresarial del Proyecto; Directora del Departamento de Computación Reina Loaiza, quien además es la Tutora Académica del Proyecto; Coordinadora de Carrera del Departamento de Computación Marylin Giugni. Adicionalmente, para poder establecer las restricciones técnicas del sistema, fue necesaria la reunión con algunos representantes de la Oficina de Servicios Telématicos de FACYT: Lic. Aury Rodriguez, Lic. José Sosa y Lic. José Henriquez. A partir de estas reuniones, se generaron los siguientes artefactos utilizando el Lenguaje Unificado de Modelado (UML por sus siglas en inglés): Diagrama de Actividad, Diagrama de Clases, Diagrama de Casos de Uso, Diagrama Entidad-Relación, Diagrama de Estados de las Electivas y Diagrama de Estados de Solicitudes para la Inscripción, Adición y Retiro de Electivas. 4.2. Implementación de la Base de Datos En base a los resultados de la actividad de Captura de Requisitos, con especial consideración a las restricciones técnicas impuestas por la Oficina de Servicios Telématicos de FACYT, se procedió a implementar la base de datos sobre MySQL con la versión 5.1. 4.3. Definición e Implementación de las Clases del Sistema Las siguientes son las diferentes clases del sistema implementadas en el actual trabajo: 6
Clase: Electiva. Clase: Electiva en periodo. Clase: Periodo Lectivo. Clase: Unidad Académica. Clase: Linea de Investigación. Clase: Autentificar. Clase: Sesión Vale la pena destacar que estas solo representan algunas de las clases requeridas para el desarrollo del sistema, considerando que el trabajo fue dividido entre los tres proyectos de pasantía. Las clases fueron implementadas en el lenguaje PHP versión 5.1 por requerimiento de la Oficina de Servicios Telemáticos. 4.4. Diseño de Interfaz Se diseña la Interfaz Web del sistema, considerando para el desarrollo de la misma los requisitos establecidos por los distintos usuarios, así como también tomando en consideración los requerimientos y normas generales establecidas en el desarrollo de software con el fin de crear una interfaz de usuario amigable y sencilla de usar. Para el desarrollo de las diferentes páginas Web, se utilizó el Lenguaje de Marcado de Hipertexto (HTML por sus siglas en inglés) para definir la estructura estática de las páginas y JavaScript para la estructura dinámica de las mismas. Adicionalmente, para la definición del estilo de las páginas, se utilizó el lenguaje de Hojas de Estilo en Cascada (CSS por sus siglas en inglés). 4.5. Implementación del Manejo de Sesiones Con el objetivo de brindar una experiencia plena, se procedió a la implementación del Manejo de Sesiones, característica que brinda al usuario la posibilidad de almacenar información de manera eficiente y tener acceso a la misma de forma fácil. Para cumplir con esta actividad, se utilizó la característica de Manejo de Sesiones proporcionada por PHP. 4.6. Funcionalidades del Sistema Tomando en cuenta una división equitativa de las responsabilidades, el trabajo actual consideró la implementación del siguiente sub-conjunto de funcionalidades requeridas: 4.6.1. Funcionalidad: Modificación de Fechas Permite al usuario con el perfil de Director(a) de Asuntos Estudiantiles establecer y modificar las fechas de los distintos procesos necesarios para la administración adecuada de las electivas de FACYT. Estos procesos son: Oferta Interna, Inscripción de Electivas, Ratificación de Inscripción, Votación de Horarios de Electivas, Retiro y Adición de Electivas y Ratificación de Adición de Electivas. 7
4.6.2. Funcionalidad: Postular Electiva para la Oferta Externa Permite al usuario con el perfil de Cordinador(a) de Carrera especificar cuales serán las electivas disponibles para que los estudiantes puedan solicitar inscribir durante la duración del proceso de Incripción de Electivas. 4.6.3. Funcionalidad: Votar Horarios Permite al usuario con el perfil de Estudiante seleccionar la opción de horario propuesta por el docente de la electiva cursante que mejor se adapte a sus necesidades. A partir del resultado de esta votación, el docente procederá a la selección de la opción ganadora. 4.7. Validaciones del Sistema Para poder determinar si el sistema responde de forma adecuada a los requerimientos solicitados, se procedió a realizar diversas pruebas con datos que someten al sistema a condiciones distintas que requieren de un comportamiento específico. 4.8. Presentación Final Nuevamente, para poder determinar si el sistema responde de forma adecuada a los requerimientos solicitados, se procedió a presentar el sistema desarrollado a los clientes finales del mismo, utilizando para las pruebas datos mucho más cercanos a lo que se puede encontrar en la realidad. 8
5 Conclusiones El objetivo principal del proyecto, el cual consiste en el desarrollo de un Sistema Web para la Administración de Asignaturas Electivas de la Facultad Experimental de Ciencias y Tecnología de la Universidad de Carabobo, fue alcanzado satisfactoriamente. De manera más específica, luego de evaluar el desempeño del sistema, es posible concluir lo siguiente: El sistema creado logra automatizar en su totalidad el proceso seguido actualmente para la administración de electivas, permitiendo entonces que las actividades del proceso se puedan llevar a cabo de una forma mucho más eficiente. Adicionalmente, el sistema proporciona funcionalidades adicionales que permiten llevar a cabo actividades que actualmente no son contempladas de manera formal en el proceso, como por ejemplo la introducción de un proceso de votación en el que los estudiantes puedan seleccionar la opción de horario para el dictado de una electiva de su preferencia. La Interfaz Web proporcionada por el sistema cumple con los más importantes requerimientos establecidos por los diversos involucrados, lo que permite que la transición del esquema de trabajo actual al ofrecido por el sistema sea mucho más fácil y amigable. Gracias a que durante todo el desarrollo del sistema fueron consideradas las restricciones impuestas por el personal técnico de la facultad, la implementación final del sistema, actividad en la cual el sistema se hace disponible a todos sus usuarios, no involucrara costos altos. Adicionalmente a la creación del sistema, vale la pena destacar que mediante el trabajo actual se logró una mayor formalización del actual proceso seguido para la administración de electivas en la facultad, de forma tal que el sistema implementado se pueda adecuar de mejor manera a las necesidades planteadas. En un plano personal, mediante la realización del Proyecto de Pasantía presentado, fue posible poner a prueba gran parte de los conocimientos aprendidos durante el estudio de la carrera de Ciencias de la Computación, aunque al mismo tiempo se adquirieron una gran cantidad de conocimientos nuevos, por lo que sin duda la experiencia obtenida me ayudo a crecer como profesional. Adicionalmente al manejo de conocimientos técnicos, fue posible apreciar la importancia del trabajo en equipo para la realización de Proyectos de Software, en donde la comunicación con el cliente y con los demás integrantes del equipo de trabajo son cruciales para conseguir que el sistema responda a las necesidades planteadas. 9
6 Recomendaciones A pesar que el sistema cumple con los requisitos especificados más importantes y por lo tanto resuelve el problema que actualmente presenta la facultad en relación con el manejo de la asignaturas electivas, al sistema aún se le puede realizar una serie de mejoras tanto a nivel de interfaz como de funcionalidad, para que este sea mucho más eficiente y eficaz. Algunas de estas mejoras pueden ser: Agregar la funcionalidad de consultas, la cual permitiría al estudiante realizar consultas al profesor de la electiva que desea cursar, por medio del sistema, sobre alguna duda que podría tener en relación a la materia. Agregar la funcionalidad de generar estadísticas, la cual permitiría a los usuarios del sistema interesados, como los directores del departamento, coordinadores de carrera, el director de asuntos estudiantiles, entre otros, visualizar una serie de estadísticas, como por ejemplo: cantidad de electivas postuladas por período lectivo, cantidad de estudiantes que se inscriben en una electiva dada cada vez que esta se postula, entre otras. Mejorar la interfaz de usuario, de tal forma de que sea más amigable a los diferentes usuarios del sistema. Realizar el mantenimiento del sistema cada vez que se concluya un período lectivo, con el fin de garantizar que el mismo continúe funcionando correctamente. 10