• No se han encontrado resultados

Sitio Web para publicar y controlar el horario docente de la Facultad MFC

N/A
N/A
Protected

Academic year: 2020

Share "Sitio Web para publicar y controlar el horario docente de la Facultad MFC"

Copied!
63
0
0

Texto completo

(1)Universidad Central "Marta Abreu" de las Villas. Facultad de Matemática, Física y Computación Ingeniería en Informática. TRABAJO DE DIPLOMA Sitio Web para publicar y controlar el horario docente de la Facultad MFC. Autor Humberto González Boza Tutores Dra. María del Carmen Chávez Cárdenas Msc. Deborah Galpert Cañizares. “Año 55 de la Revolución” Santa Clara Curso 2012- 2013.

(2) DICTAMEN. DICTAMEN. Hago constar que el presente trabajo fue realizado en la Universidad Central Marta Abreu de Las Villas como parte de la culminación de los estudios de la especialidad de Ciencia de la Computación, 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 de Laboratorio.

(3) PENSAMIENTO. PENSAMIENTO. “No tengo un gran talento, sino una apasionada curiosidad” Albert Einstein.

(4) DEDICATORIA. DEDICATORIA. A toda mi familia, por darme el apoyo necesario, en especial a mi hija (Liannys), mis padres (Eneida, Daily, Humberto y Ariel), mi mujer y suegros (Lisbey, Lilian y Orbelio). A ese grupo de informática donde recibí tanto apoyo de todos en especial de Enier Ramos García(EL MAESTRO)..

(5) AGRADECIMIENTOS. AGRADECIMIENTOS. Quisiera agradecer a todas aquellas personas que han contribuido de una forma u otra al resultado final de este trabajo de diploma , muy especial a mi familia que siempre me apoyó de muchas maneras y todos estuvieron siempre muy preocupados.. A mis tutores María del Carmen y Deborah por su apoyo permanente en todo momento y me ayudaron en todo lo que pudieron. No pueden faltar los compañeros del Centro de Capacitación de ETECSA en especial a Rubersy.. El agradecimiento a todas mis amistades, al profesor Gerardo por ayudarme a permitir realizar mis estudios en la UCLV y al claustro de profesores de MFC..

(6) RESUMEN. RESUMEN. La presente investigación tiene como propósito el diseño de un sistema informático bajo el nombre ¨Sitio Web para publicar y controlar el horario docente de la Facultad MFC¨, con el objetivo de publicar el horario de forma automática y lograr calidad, rapidez y confiabilidad en el proceso. Se diseñó una base de datos que satisface las necesidades relacionada con la gestión de la información de la facultad. Se implementó una aplicación Web relativa solo a la información docente. Esta aplicación incluye, entre sus principales funcionalidades, la publicación del Horario Docente y la planificación de las aulas y laboratorios. Para la implementación de este sistema se utilizó MySQL como sistema gestor de Bases de Datos y como framework php para su desarrollo Symfony..

(7) ABSTRACT. ABSTRACT. This research aims to design a computer system under the name ¨ Web Site to post and control the teaching hours MFC ¨ Faculty, with the goal of publishing the schedule automatically and achieve quality, speed and reliability in the process. We designed a database that meets the needs related to information management faculty. And implemented a Web application on educational information only. This application includes among its main features, publication of hours, planning the classrooms and laboratories. For the implementation of this system was used as a management system MySQL Databases and php framework Symfony..

(8) TABLA DE CONTENIDOS. TABLA DE CONTENIDOS. INTRODUCCIÓN ........................................................................................................ 1 CAPÍTULO 1. Fundamento Teórico ............................................................................ 4 1.1. Metodología de desarrollo de software .............................................................. 4 1.1.1 Proceso Unificado de Desarrollo de Software (RUP) ................................. 4 1.2. Lenguaje de Modelado....................................................................................... 4 1.2.1 El Lenguaje Unificado de Modelado ........................................................... 5 1.3 Herramienta CASE ............................................................................................. 5 1.3.1 Visual Paradigm ........................................................................................... 6 1.4 Lenguaje de programación Web ......................................................................... 6 1.4.1 Lenguaje de programación del lado del cliente ........................................... 7 1.4.1.1 HTML ................................................................................................... 7 1.4.1.2 CSS ....................................................................................................... 7 1.4.1.3 JavaSscript ............................................................................................ 8 1.4.2 Lenguaje de programación del lado del servidor ......................................... 8 1.4.2.1 PHP ....................................................................................................... 8 1.5 Servidor de aplicaciones Web............................................................................. 9 1.5.1 Apache ....................................................................................................... 10 1.6. Gestor de Base de Datos .................................................................................. 10 1.6.1. PostgreSQL ............................................................................................... 11 1.6.2. MySQL ..................................................................................................... 12 1.7 Frameworks de desarrollo ................................................................................. 13 1.7.1. CodeIgnirer ............................................................................................... 13 1.7.2 Symfony ..................................................................................................... 13.

(9) TABLA DE CONTENIDOS. 1.7.2.1 Doctrine .............................................................................................. 14 1.8. Conclusiones parciales:.................................................................................... 14 CAPÍTULO 2. Diseño e implementación del sistema ................................................ 16 2.1. Requisitos Funcionales .................................................................................... 16 2.2 Requisitos no funcionales ................................................................................. 18 2.3. Actores del sistema .......................................................................................... 19 2.4. Diagrama de Caso de Uso de sistema ...................................................... 19 2.4. Diagrama de actividad ..................................................................................... 21 2.5. Diagrama de colaboración ............................................................................... 23 2.6 Diagrama de Navegación .................................................................................. 24 2.7. Modelado de Datos Conceptual (Diagrama Entidad-Relación) ...................... 26 2.8. Diagrama de Despliegue .................................................................................. 27 2.5. Conclusiones parciales ..................................................................................... 28 CAPÍTULO 3. Guía para el Usuario .......................................................................... 29 3.1. Acceso al sistema ............................................................................................. 29 3.2. Ambiente para el usuario anónimo .................................................................. 29 3.3. Ambiente para el usuario coordinador de año ................................................. 31 3.4. Ambiente para el usuario Vicedecano Docente ............................................... 33 3.4.1. Menú Páginas ........................................................................................ 34 3.4.1.1 Año...................................................................................................... 34 3.1.4.2 Asignatura ........................................................................................... 35 3.4.1.3 Aula ..................................................................................................... 37 3.4.1.4 Carrera ................................................................................................ 37 3.4.1.5 Grupos ................................................................................................. 38 3.4.1.6 Profesores............................................................................................ 39.

(10) TABLA DE CONTENIDOS. 3.4.1.7 Profesor por año .................................................................................. 40 3.4.1.8 Semanas .............................................................................................. 41 3.4.1.9 Semana por años ................................................................................. 43 3.1.4.10 Turnos ............................................................................................... 44 3.4.2 Menú Administración ................................................................................ 45 3.4.2.1 Sitio ..................................................................................................... 45 3.4.2.2 Jefes de año ......................................................................................... 46 3.4.2.3 Usuarios .............................................................................................. 47 3.4.2.4 Permisos .............................................................................................. 49 3.5 Conclusiones parciales ...................................................................................... 50 CONCLUSIONES ...................................................................................................... 51 RECOMENDACIONES ............................................................................................. 52 REFERENCIAS BIBLIOGRÁFICAS ....................................................................... 53.

(11) INTRODUCCIÓN. INTRODUCCIÓN La búsqueda constante del hombre por satisfacer cada vez mejor su necesidad de comunicación ha sido el impulso que ha logrado la instauración en el mundo de instrumentos cada día más poderosos y veloces en el proceso comunicativo. Sólo basta una retrospectiva para definir cómo el ser humano ha logrado evolucionar sus formas de comunicación: Desde rudimentarios métodos como la escritura jeroglífica, pasando por la invención del alfabeto y del papel, dando un leve salto hasta la llegada de la imprenta, y apenas unos más para la aparición del teléfono, el cine, la radio y la televisión; hasta llegar al invento que ha revolucionado al mundo en todos sus contextos: la computación. En las tres últimas décadas, la humanidad ha sido testigo de un vertiginoso avance en la informática. También plantea: "No obstante, la gran invención que encaminó la revolución de la inteligencia no es física sino más bien virtual, no tiene que ver con el hardware sino con el software. Esa invención es la World Wide Web (que significa en inglés "telaraña global"), la WWW o simplemente la „Web‟" (Cordeiro, 1998). En síntesis, la nueva etapa de la historia humana que se caracteriza por términos tales como: informático, digital, electrónico, virtual, computarizado; tiene como protagonista a la Web: una Red de redes (la mayor red de ordenadores del mundo) a libre disposición que todo individuo que, por supuesto, cuente con los instrumentos mínimos necesarios para estar conectado. La Web ha venido a jugar un papel fundamental en la publicación de información, gracias a las flexibilidades que ella brinda, se puede tener acceso desde cualquier parte y las 24 horas. La información es muy fácil de publicar, modificar y eliminar lo que facilita el trabajo humano. En la Facultad de Matemática, Física y Computación (MFC) se desarrollan cuatros carreras y se cuenta con 10 aulas y 2 laboratorios. El horario docente y la planificación de las aulas y laboratorios se realizan de forma manual. En muchas ocasiones no se tiene un buen aprovechamiento de las aulas y laboratorios debido a lo difícil que es la manipulación de la información y en ocasiones ocurrido conflictos entre grupos.. 1.

(12) INTRODUCCIÓN. Teniendo en cuenta la situación anterior se tiene la necesidad de publicar de forma automática y de libre acceso por estudiantes, profesores y directivos la planificación del horario docente, tanto para el uso de la infraestructura de aulas y laboratorios como para el correcto control de la planificación según los planes de estudios de las distintas carreras de la facultad de MFC. Aunque no se pretende planificar de forma automática los horarios, lograr publicarlos teniendo en cuenta todas las restricciones de asignaturas, años, profesores, aula, etc. debe facilitar el trabajo del personal relacionado con el proceso docente - educativo. Por lo antes expuesto se plantea como problema científico de esta investigación: ¿Cómo facilitar la publicación y control del horario docente de la facultad MFC? Se propone como objetivo general de este trabajo: Diseñar e implementar un sistema con ambiente Web que facilite la publicación de forma automática de la información referente al horario docente. Para lograr este objetivo general se proponen los siguientes objetivos específicos: 1. Describir los elementos teóricos necesarios para la elaboración de portales Web para la publicación de la información. 2. Diseñar una base de datos para la información relacionada con el Horario Docente y planificación de los Laboratorios. 3. Diseñar e implementar un sistema con ambiente Web para manipular y publicar la información de la Base de Datos diseñada. Las preguntas de investigación planteadas son: . ¿Cuáles son los referentes teóricos que apoyan la elaboración de portales Web para publicar información?. . ¿Cómo diseñar una base de datos para la información relacionada con el Horario Docente y planificación de los Laboratorios?. . ¿Cómo Diseñar e implementar un sistema con ambiente Web para manipular y publicar la información de la Base de Datos relacionada con el Horario Docente y planificación de los Laboratorios?. 2.

(13) INTRODUCCIÓN. La investigación está justificada desde el punto de vista práctico ya que engloba un proceso único, integrado a un sitio Web que informa el Horario Docente de la facultad a los estudiantes y profesores. El trabajo resulta viable, pues se inserta dentro del proceso de publicación de información de la facultad. Se cuenta actualmente con la información necesaria para el estudio del tema, con el soporte tecnológico y herramientas necesarias para el diseño, análisis e implementación de la aplicación Web, así como para su implantación y mantenimiento. La tesis se estructura en 3 capítulos: Capítulo 1. “Fundamentación Teórica”. En este capítulo se incluyen los principales conceptos y términos relacionados con las tecnologías aplicables a la investigación con una profundización en la elaboración de portales Web para la publicación de información. Capítulo 2. “Diseño e implementación del sistema”. En este capítulo se describe la aplicación web propuesta para la publicación Horario Docente. Se hace un análisis de los requisitos funcionales y no funcionales de la aplicación, se describen los actores y casos de usos que interactúan en el sistema y se realizan los diagramas necesarios para el entendimiento y comprensión del sistema. Capítulo 3. “Guía para el Usuario.” Este capítulo se dedica a la exposición de las principales facilidades que ofrece el sistema a cada uno de sus usuarios, así como las formas de aprovechar dichas facilidades. Se tratan además los prerrequisitos, pasos para la instalación y la administración del sitio. Además. se. plantean. las. Conclusiones,. Bibliográficas.. 3. Recomendaciones. y. Referencias.

(14) CAPÍTULO 1. FUNDAMENTO TEÓRICO. CAPÍTULO 1. Fundamento Teórico Este capítulo es el respaldo teórico de los temas tratados en el informe, necesarios para el entendimiento correcto de la solución planteada. Se describen los conceptos fundamentales asociados al dominio del problema y el objeto de estudio. Se presenta la fundamentación de las tecnologías utilizadas para el diseño de la aplicación y las propuestas para su implementación y desarrollo.. 1.1. Metodología de desarrollo de software Las Metodologías de Desarrollo de Software surgen ante la necesidad de utilizar una serie de procedimientos, técnicas, herramientas y soporte documental a la hora de desarrollar un producto software. Dichas metodologías pretenden guiar a los desarrolladores al crear un nuevo software, pero los requisitos de un software a otro son tan variados y cambiantes, que ha dado lugar a que exista una gran variedad de metodologías para la creación del software.. 1.1.1 Proceso Unificado de Desarrollo de Software (RUP) Las siglas RUP en ingles significa Rational Unified Process (Proceso Unificado de Racional) es un producto del proceso de ingeniería de software que proporciona un enfoque disciplinado para asignar tareas y responsabilidades dentro de una organización del desarrollo. Su meta es asegurar la producción del software de alta calidad que resuelve las necesidades de los usuarios dentro de un presupuesto y tiempo establecidos.(Araujo, 2010). 1.2. Lenguaje de Modelado Un modelo es una simplificación de la realidad. Un modelo proporciona los planos de un sistema. Los modelos pueden involucrar planos detallados, así como planos más generales que ofrecen una visión global del sistema en consideración. Un buen modelo incluye aquellos elementos que tienen una gran influencia y omite aquellos elementos menores que no son relevantes para el nivel de abstracción dado. Todo sistema puede ser descrito desde diferentes perspectivas utilizando diferentes 4.

(15) CAPÍTULO 1. FUNDAMENTO TEÓRICO. modelos, y cada modelo es por tanto una abstracción semánticamente cerrada del sistema. Un modelo puede ser estructural, destacando la organización del sistema, o puede ser de comportamiento, resaltando su dinámica(Booch et al.).. 1.2.1 El Lenguaje Unificado de Modelado El lenguaje unificado de modelado o UML (Unified Modeling Language) 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. Es un lenguaje muy expresivo, que cubre todas las vistas necesarias para desarrollar y luego desplegar tales sistemas. Aunque sea expresivo, UML no es difícil de aprender ni de utilizar. UML es sólo un lenguaje y por tanto es tan solo una parte de un método de desarrollo de software. UML es independiente del proceso, aunque para utilizarlo óptimamente se debería usar en un proceso que fuese dirigido por los casos de uso, centrado en la arquitectura, iterativo e incremental (Booch et al.).. 1.3 Herramienta CASE CASE ( Computer Aided Software Engineering o Ingeniería del Software Asistida por Computadora) comprende un amplio abanico de diferentes tipos de programas que se utilizan para ayudar a las actividades del proceso del software, como el análisis de requerimientos, el modelado de sistemas, la depuración y las pruebas. En la actualidad, todos los métodos vienen con tecnología CASE asociada, como los editores para las notaciones utilizadas en el método, módulos de análisis que verifican el modelo del sistema según las reglas del método y generadores de informes que ayudan a crear la documentación del sistema. Las herramientas CASE también incluyen un generador de código que automáticamente genera código fuente a partir del modelo del sistema y de algunas guías de procesos para los ingenieros de software(Sommerville, 2005).. 5.

(16) CAPÍTULO 1. FUNDAMENTO TEÓRICO. 1.3.1 Visual Paradigm Visual Paradigm propicia un conjunto de ayudas para el desarrollo de programas informáticos, desde la planificación, pasando por el análisis y el diseño, hasta la generación del código fuente de los programas y la documentación. Visual Paradigm ha sido concebida para soportar el ciclo de vida completo del proceso de desarrollo del software a través de la representación de todo tipo de diagramas. Constituye una herramienta privada disponible en varias ediciones, cada una destinada a unas necesidades. Fue diseñado para una amplia gama de usuarios interesados en la construcción de sistemas de software de forma fiable a través de la utilización de un enfoque Orientado a Objetos(Pressman, 2002). Entre sus principales ventajas: . Disponibilidad en múltiples plataformas (Windows, Linux).. . Diseño centrado en casos de uso y enfocado al negocio que generan un software de mayor calidad.. . Uso de un lenguaje estándar común a todo el equipo de desarrollo que facilita la comunicación.. . Capacidades de ingeniería directa e inversa.. . Modelo y código que permanece sincronizado en todo el ciclo de desarrollo.. 1.4 Lenguaje de programación Web Actualmente existen diferentes lenguajes de programación para desarrollar en la web, estos han ido surgiendo debido a las tendencias y necesidades de las plataformas. Desde los inicios de Internet, fueron surgiendo diferentes demandas por los usuarios y se dieron soluciones mediante lenguajes estáticos. A medida que paso el tiempo, las tecnologías fueron desarrollándose y surgieron nuevos problemas a dar solución. Esto dio lugar a desarrollar lenguajes de programación para la web dinámica, que permitieran interactuar con los usuarios y utilizaran sistemas de Bases de Datos. Los lenguajes se dividen en dos tipos del lado del cliente y del lado del servidor(Web, 2007).. 6.

(17) CAPÍTULO 1. FUNDAMENTO TEÓRICO. 1.4.1 Lenguaje de programación del lado del cliente Un lenguaje del lado cliente es totalmente independiente del servidor, lo cual permite que la página pueda ser albergada en cualquier sitio. El código, tanto del hipertexto como de los scripts, es accesible a cualquiera y ello puede afectar a la seguridad.. 1.4.1.1 HTML Definiéndolo de forma sencilla, "HTML es lo que se utiliza para crear todas las páginas web de Internet". Más concretamente, HTML es el lenguaje con el que se escriben la mayoría de páginas web. Los diseñadores utilizan el lenguaje HTML para crear sus páginas web, los programas que utilizan los diseñadores generan páginas escritas en HTML y los navegadores que utilizamos los usuarios muestran las páginas web después de leer su contenido HTML. Aunque HTML es un lenguaje que utilizan los ordenadores y los programas de diseño, es muy fácil de aprender y escribir por parte de las personas. En realidad, HTML son las siglas de HyperText Markup Language y más adelante se verá el significado de cada una de estas palabras(Eguíluz, 2008).. 1.4.1.2 CSS CSS (Cascading Style Sheets) es un lenguaje de hojas de estilos creado para controlar el aspecto o presentación de los documentos electrónicos definidos con HTML y XHTML. CSS es la mejor forma de separar los contenidos y su presentación y es imprescindible para crear páginas web complejas. Separar la definición de los contenidos y la definición de su aspecto presenta numerosas ventajas, ya que obliga a crear documentos HTML/XHTML bien definidos y con significado completo (también llamados "documentos semánticos"). Además, mejora la accesibilidad del documento, reduce la complejidad de su mantenimiento y permite visualizar el mismo documento en infinidad de dispositivos diferentes.. 7.

(18) CAPÍTULO 1. FUNDAMENTO TEÓRICO. Una vez creados los contenidos, se utiliza el lenguaje CSS para definir el aspecto de cada elemento: color, tamaño y tipo de letra del texto, separación horizontal y vertical entre elementos, posición de cada elemento dentro de la página, etc (Pérez, 2009a).. 1.4.1.3 JavaSscript JavaScript es un lenguaje de programación que se utiliza principalmente para crear páginas web dinámicas. Una página web dinámica es aquella que incorpora efectos como texto que aparece y desaparece, animaciones, acciones que se activan al pulsar botones y ventanas con mensajes de aviso al usuario. Técnicamente, JavaScript es un lenguaje de programación interpretado, por lo que no es necesario compilar los programas para ejecutarlos. En otras palabras, los programas escritos con JavaScript se pueden probar directamente en cualquier navegador sin necesidad de procesos intermedios. A pesar de su nombre, JavaScript no guarda ninguna relación directa con el lenguaje de programación Java. Legalmente, JavaScript es una marca registrada de la empresa Sun Microsystems (Pérez, 2009b).. 1.4.2 Lenguaje de programación del lado del servidor La programación Web del lado del servidor (server-side scripting) es una tecnología en la cual una petición del usuario es atendida por la ejecución directa en el servidor Web de una aplicación, para generar páginas web dinámicas. Los scripts del lado del servidor generan un código HTML desde el propio servidor web. La programación web del lado del servidor es comúnmente usada para dar interactividad a los sitios web que se conectan a bases de datos de datos.. 1.4.2.1 PHP PHP (acrónimo de Hypertext Preprocessor) es un lenguaje especialmente creado para el desarrollo de páginas Web dinámicas. Puede ser incluido con facilidad dentro del código HTML, y permite una serie de funcionalidades tan extraordinarias que se ha convertido en el favorito de millones de programadores en todo el mundo.. 8.

(19) CAPÍTULO 1. FUNDAMENTO TEÓRICO. Combinado con la base datos MySQL, es el lenguaje estándar a la hora de crear páginas de Web dinámica(Gallego, 2003). Entre sus características fundamentales están: . Sencilla integración con múltiples bases de datos.. . Es un software libre.. . Existe una gran comunidad de desarrolladores y programadores que continuamente implementan mejoras en su código.. . Puede usarse con la mayoría de sistemas operativos, ya sea basados en UNIX (Linux, Solares, FreeBSD, etc.), como con Windows, el sistema operativo de Microsoft.. . Gran número de funciones predefinidas.. 1.5 Servidor de aplicaciones Web Un servidor web es un programa que atiende y responde a las diversas peticiones de los navegadores, proporcionándoles los recursos que solicitan mediante el protocolo HTTP o el protocolo HTTPS (la versión segura, cifrada y autenticada de HTTP). Un servidor web básico tiene un esquema de funcionamiento muy sencillo, ejecutando de forma infinita el bucle siguiente: 1. Espera peticiones en el puerto TCP asignado (el estándar para HTTP es el 80). 2. Recibe una petición. 3. Busca el recurso en la cadena de petición. 4. Envía el recurso por la misma conexión por donde ha recibido la petición. 5. Vuelve al punto 2. Un servidor web que siguiese el esquema anterior cumpliría los requisitos básicos de los servidores HTTP, aunque, eso sí, sólo podría servir ficheros estáticos. A partir del esquema anterior se han diseñado y construido todos los programas servidores de HTTP que existen, variando sólo el tipo de peticiones (páginas estáticas, CGI, Servlets, etc.) que pueden atender, en función de que sean o no multiproceso, multi-hilados, etc. A continuación detallaremos algunas de las características. 9.

(20) CAPÍTULO 1. FUNDAMENTO TEÓRICO. principales de los servidores web, que extienden, obviamente el esquema anterior(Mateu, 2004).. 1.5.1 Apache Apache es un servidor de páginas web que nace a partir del servidor http de la NCSA. Convirtiéndose automáticamente en rival de los servidores http de Unix utilizados hasta la fecha por su eficiencia, funcionalidad y rapidez. Se desarrolla de forma estable y segura gracias a la cooperación y los esfuerzos de un grupo de personas conocidas como grupo Apache (Apache Group), los cuales se dedican a perfeccionar el servidor y su documentación regidos por la ASF (Apache Software Foundation). Entre las características principales del Apache se encuentran(Arranz): . Es un servidor Web potente, flexible, altamente configurable y extensible.. . Puede ser configurado a través de la definición de módulos empleando su propia API (Aplication Programming Interface).. . Se distribuye para diversas plataformas: Windows, Macintosh, Linux y la mayoría de los Unix.. . Implementa varios módulos, tales como:. . Bases de datos DBM para autenticación. Permiten establecer fácilmente la protección de documentos a través de passwords para una gran cantidad de usuarios sin dañar el funcionamiento del servidor.. . Se pueden configurar los mensajes de error. Se pueden definir ficheros o scripts CGI que respondan ante la ocurrencia de errores internos o en las solicitudes realizadas.. . Capacidad de indexación múltiple.. 1.6. Gestor de Base de Datos Un Sistema Gestor de Bases de Datos o SGBD, también llamado DBMS (Data Base Management System) es una colección de datos relacionados entre sí, estructurados y organizados, y un conjunto de programas que acceden y gestionan esos datos. La colección de esos datos se denomina Base de Datos o BD, (DB Data Base). 10.

(21) CAPÍTULO 1. FUNDAMENTO TEÓRICO. El objetivo primordial de un gestor es proporcionar eficiencia y seguridad a la hora de extraer o almacenar información en las BD. Los sistemas gestores de BBDD están diseñados para gestionar grandes bloques de información, que implica tanto la definición de estructuras para el almacenamiento como de mecanismos para la gestión de la información.. El SGBD es una aplicación que permite a los usuarios definir, crear y mantener la BD y proporciona un acceso controlado a la misma. Debe prestar los siguientes servicios (Garzon, 2010): . Creación y definición de la BD.. . Manipulación de los datos.. . Acceso controlado a los datos de la BD.. . Mantener la integridad y consistencia.. . Acceso compartido a la BD.. . Mecanismos de respaldo y recuperación.. 1.6.1. PostgreSQL Los sistemas de mantenimiento de Bases de Datos relacionales tradicionales (DBMS,s) soportan un modelo de datos que consisten en una colección de relaciones con nombre, que contienen atributos de un tipo específico. En los sistemas comerciales actuales, los tipos posibles incluyen numéricos de punto flotante, enteros, cadenas de caracteres, cantidades monetarias y fechas. Está generalmente reconocido que este modelo será inadecuado para las aplicaciones futuras de procesado de datos. El modelo relacional sustituyó modelos previos en parte por su "simplicidad espartana". Sin embargo, como se ha mencionado, esta simplicidad también hace muy difícil la implementación de ciertas aplicaciones. Postgres ofrece una potencia adicional sustancial al incorporar los siguientes cuatro conceptos adicionales básicos en una vía en la que los usuarios pueden extender fácilmente el sistema: . clases 11.

(22) CAPÍTULO 1. FUNDAMENTO TEÓRICO. . herencia. . tipos. . funciones. Otras características aportan potencia y flexibilidad adicional: . Restricciones (Constraints). . Disparadores (triggers). . Reglas (rules). Integridad transaccional Estas características colocan a Postgres en la categoría de las Bases de Datos identificadas como objeto-relacionales. Nótese que éstas son diferentes de las referidas como orientadas a objetos, que en general no son bien aprovechables para soportar lenguajes de Bases de Datos relacionales tradicionales. Postgres tiene algunas características que son propias del mundo de las bases de datos orientadas a objetos. De hecho, algunas Bases de Datos comerciales han incorporado recientemente características en las que Postgres fue pionera (Lockhart, 1999).. 1.6.2. MySQL MySQL es un sistema de administración de bases de datos relacional (RDBMS). Se trata de un programa capaz de almacenar una enorme cantidad de datos de gran variedad y de distribuirlos para cubrir las necesidades de cualquier tipo de organización, desde pequeños establecimientos comerciales a grandes empresas y organismos administrativos. MySQL compite con sistemas RDBMS propietarios conocidos, como Oracle, SQL Server y DB2. MySQL incluye todos 1os elementos necesarios para instalar el programa, preparar diferentes niveles de acceso de usuario, administrar el sistema y proteger y hacer volcados de datos. Puede desarrollar sus propias aplicaciones de base de datos en la mayor parte de 1os lenguajes de programación utilizados en la actualidad y ejecutarlos en casi todos 1os sistemas operativos, incluyendo algunos de 1os que probablemente no ha oído nunca hablar. MySQL utiliza el lenguaje de consulta estructurado (SQL). Se trata del lenguaje utilizado por todas las bases de relacionales, que presentaremos en una sección posterior. Este lenguaje permite crear bases de 12.

(23) CAPÍTULO 1. FUNDAMENTO TEÓRICO. datos, así como agregar, manipular y recuperar datos en función de criterios específicos (Gilfillan).. 1.7 Frameworks de desarrollo Un frameworks es una estructura de soporte definida en la cual otro proyecto de software puede ser organizado y desarrollado. Típicamente, un framework puede incluir soporte de programas, librerías y un lenguaje de scripting entre otros software para ayudar a desarrollar y unir los diferentes componentes de un proyecto. Un Software Framework es un diseño reusable de un sistema o subsistema. Está expresado por un conjunto de clases abstractas y el modo en que sus instancias colaboran para un tipo especifico de software. Todos los frameworks de software son diseñados orientados a objetos (Deglovannini, 2005). Los objetivos principales que persigue un framework son: . Acelerar el proceso de desarrollo. . Reutilizar código ya existente. . Promover buenas prácticas de desarrollo como el uso de patrones.. 1.7.1. CodeIgnirer CodeIgniter es un conjunto de herramientas para usuarios que construyen aplicaciones web usando PHP. Su objetivo es permitirle desarrollar proyectos mucho más rápido que lo que podría hacer si escribiera código desde cero, al proveer un rico conjunto de bibliotecas para tareas comúnmente necesarias, tanto como una interfaz sencilla y una estructura lógica para acceder a esas bibliotecas. CodeIgniter le permite enfocarse creativamente en su proyecto al minimizar la cantidad de código necesario para una tarea dada (Velo, 2011).. 1.7.2 Symfony Symfony es un completo framework diseñado para optimizar, gracias a sus características, el desarrollo de las aplicaciones web. Para empezar, separa la lógica de negocio, la lógica de servidor y la presentación de la aplicación web. Proporciona. 13.

(24) CAPÍTULO 1. FUNDAMENTO TEÓRICO. varias herramientas y clases encaminadas a reducir el tiempo de desarrollo de una aplicación web compleja. Además, automatiza las tareas más comunes, permitiendo al desarrollador dedicarse por completo a los aspectos específicos de cada aplicación. Symfony es compatible con la mayoría de gestores de bases de datos, como MySQL, PostgreSQL, Oracle y SQL Server de Microsoft (Potencier). Se puede ejecutar tanto en plataformas *nix (Unix, Linux, etc.) como en plataformas Windows (Potencier). A continuación se muestran algunas de sus características(Potencier): . Fácil de instalar y configurar. . Sencillo de usar. . Sigue la mayoría de mejores prácticas y patrones de diseño para la web. . Preparado para aplicaciones empresariales y 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. 1.7.2.1 Doctrine Doctrine es un asignador objeto-relacional (ORM) para PHP 5.3.0+ que proporciona 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 DataBase 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 clave 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), inspirado en Hibernates HQL. 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 (Pacheco, 2011).. 1.8. Conclusiones parciales: En el capítulo se describen las tecnologías utilizadas para el diseño de la aplicación. 14.

(25) CAPÍTULO 1. FUNDAMENTO TEÓRICO. Para el desarrollo de la aplicación web se utilizará RUP como metodología de desarrollo de software, UML como lenguaje de modelado y Visual Paradigm como herramienta de modelado. Como lenguajes de programación Web se utilizará HTML, CSS, JavaScript y PHP y como framework de desarrollo Symfony 1.4 y Doctrine. Para la gestión de usuarios y almacenamiento de otras informaciones se seleccionó el gestor de bases de datos MySQL.. 15.

(26) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. CAPÍTULO 2. Diseño e implementación del sistema En este capítulo se describe la aplicación web propuesta para la publicación Horario Docente. Se hace un análisis de los requisitos funcionales y no funcionales de la aplicación, se describen los actores y casos de usos que interactúan en el sistema y se realizan los diagramas necesarios para el entendimiento y comprensión del sistema.. 2.1. Requisitos Funcionales Los requisitos funcionales del sistema definen el comportamiento interno del software, son declaraciones de los servicios que deben proporcionar el sistema, especifican la manera en que éste debe reaccionar a determinadas entradas, especifican cómo debe comportarse el sistema en situaciones particulares, pueden declarar explícitamente lo que el sistema no debe hacer. Los requisitos funcionales de la aplicación fueron propuestos por la vicedecana docente Dra. María del Carmen Chávez Cárdenas de la facultad de MFC. A continuación se muestran los requisitos funcionales definidos para la aplicación. R1: Autenticar usuario . Permitir al usuario introducir nombre de usuario y contraseña al sistema.. . Permitir validar datos introducidos del usuario. R2: Gestionar usuario . Permitir registrar usuario según los roles definidos.. . Permitir modificar la cuenta del usuario.. R3: Gestionar Horario Docente . Permitir reservar Horario Docente.. . Permitir eliminar Horario Docente.. R4: Mostrar información . Permitir mostrar Horario Docente.. . Permitir mostrar planificación de aulas.. R5: Gestionar carrera . Permitir crear nueva carrera.. . Permitir eliminar carrera. 16.

(27) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. . Permitir modificar carrera.. R6: Gestionar año . Permitir crear nuevo año.. . Permitir eliminar año.. . Permitir modificar año.. R7: Gestionar semana . Permitir crear nueva semana.. . Permitir eliminar semana.. . Permitir modificar semana.. R8: Gestionar profesores . Permitir crear nuevo profesor.. . Permitir eliminar profesor.. . Permitir modificar profesor.. R9: Gestionar profesor por año . Permitir asignar profesores por año.. . Permitir eliminar profesor por año.. . Permitir modificar profesor por año.. R10: Gestionar turno . Permitir crear nuevo turno.. . Permitir eliminar turno.. . Permitir modificar turno.. R11: Gestionar profesores . Permitir crear nuevo profesor.. . Permitir eliminar profesor.. . Permitir modificar profesor.. R12: Gestionar asignatura . Permitir crear nueva asignatura.. . Permitir eliminar asignatura.. . Permitir modificar asignatura.. R13: Gestionar aula 17.

(28) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. . Permitir crear nueva aula.. . Permitir eliminar aula.. . Permitir modificar aula.. R14: Gestionar sitio . Permitir modificar logo.. . Permitir modificar nombre de la facultad.. . Permitir modificar texto de la página de inicio.. R15: Gestionar grupo profesores . Permitir crear nuevo grupo.. . Permitir eliminar grupo.. . Permitir modificar grupo.. 2.2 Requisitos no funcionales Los requisitos no funcionales no se refieren a funciones específicas que proporciona el sistema. Son restricciones de los servicios o funciones ofrecidas por el sistema (fiabilidad, tiempo de respuestas, capacidad de almacenamiento, etc.). Generalmente se aplican al sistema en su totalidad, surgen de las necesidades del usuario (restricciones de presupuesto, políticas de la organización, necesidad de interoperatividad, etc.). Hardware: Para poder utilizar el sistema, se necesita un servidor Web de 1024 Mb y un procesador Pentium IV como mínimo. Todas las computadoras implicadas, tanto para la administración como para los usuarios, deben estar conectadas a la red y tener al menos 512 MB de RAM y un procesador Pentium III. Software Para lograr el buen funcionamiento de la aplicación la organización donde se instalara el software debe contar con los requisitos indispensables: Servidor: . Servidor Web: Apache 2.x.. . PHP: Versión 5.3 o superior. 18.

(29) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. . Servidor de Base de Datos: MySQL. . Sistema Operativo: Es un software multiplataforma por lo que puede ser usado en diferentes sistemas operativos (Windows, Linux o MAC). Cliente: Navegador Web: Mozilla Firefox 9.01. 2.3. Actores del sistema La aplicación web cuanta con tres tipos de usuarios; usuarios anónimos (primer nivel), cuantos coordinador de año sean necesario y vicedecana docente (nivel superior). A continuación se muestran en la tabla 2.1. Actores. Justificación. Usuario. El actor no se autentica en el sistema, puede consultar el Horario. anónimo. Docente y la planificación de las aulas. Usuario. Es el actor que representa a cada año por carrera, este se autentica en. coordinador. el sistema, puede acceder al contenido de la aplicación y gestionar. de año. Horario Docente del grupo que él sea coordinador de año. Usuario. El actor se encarga de administrar los usuarios de la aplicación y la. vicedecana. configuración del sistema, además tiene acceso a todas las. docente. funcionalidades de la aplicación. Tabla 2.1. Actores y privilegios. 2.4. Diagrama de Caso de Uso de sistema Ningún sistema se encuentra aislado. Cualquier sistema interesante interactúa con actores humanos o mecánicos que lo utilizan con algún objetivo y que esperan que el sistema funcione de forma predecible. Un caso de uso especifica el comportamiento de un sistema o de una parte del mismo, y es una descripción de un conjunto de secuencias de acciones, incluyendo variantes, que ejecuta un sistema para producir un resultado observable de valor para un actor. Los casos de uso se emplean para capturar el comportamiento deseado del sistema en desarrollo, sin tener que especificar cómo se implementa ese comportamiento. Los casos de uso proporcionan un medio para que los desarrolladores, los usuarios finales 19.

(30) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. del sistema y los expertos del dominio lleguen a una comprensión común del sistema. Además, los casos de uso ayudan a validar la arquitectura y a verificar el sistema mientras evoluciona a lo largo del desarrollo. Conforme se desarrolla el sistema, los casos de uso son realizados por colaboraciones, cuyos elementos cooperan para llevar a cabo cada caso de uso. Los casos de uso bien estructurados denotan sólo comportamientos esenciales del sistema o de un subsistema, y nunca deben ser excesivamente genéricos ni demasiado específicos (Booch et al.). En la figura 2.1 se muestra el diagrama de casos de uso de la aplicación propuesta, teniendo en cuenta los requisitos funcionales antes expuestos. En el diagrama se recogen todos los requisitos funcionales de la aplicación de un modo sencillo comprendido por la vicedecana docente de la facultad MFC.. Fig. 2.1 Descripción de Caso de Uso. 20.

(31) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. El caso de uso más importante de la aplicación es gestionar Horario Docente. A continuación en la tabla 2.2 se describe el caso de uso gestionar Horario Docente. Actor. Vicedecana docente. Resumen. El caso de uso se inicia cuando se selecciona la opción “Reservar” o Eliminar” en el menú horizontal. En el primer caso seguidamente se despliega un menú donde podrá elegir el tipo de clase (conf. o cp.) la carrera, el año, el grupo y la semana donde desea planificar. A continuación le muestra listado de horario para reservar, donde llenando los datos del formulario (asignatura, aula y profesor) puede escoger el turno que desea reservar. En el segundo caso seguidamente se despliega un menú donde podrá elegir el tipo de clase (conf. o cp.) la carrera, el año, el grupo y la semana donde desea eliminar. A continuación le muestra listado de horario para eliminar, donde puede escoger el turno que desea eliminar.. Precondiciones. El usuario debe estar autentificado en la aplicación. El usuario debe tener el rol de vicedecana docente.. Requisito funcional. R3. Tabla 2.2 Descripción del caso de uso: Gestionar entrenamiento. 2.4. Diagrama de actividad Un diagrama de actividades es fundamentalmente un diagrama de flujo que muestra el flujo de control entre actividades. Los diagramas de actividades se utilizan para modelar los aspectos dinámicos de un sistema. La mayoría de las veces, esto implica modelar los pasos secuenciales (y posiblemente concurrentes) de un proceso computacional. Con un diagrama de actividades también se puede modelar el flujo de un objeto conforme pasa de estado a estado en diferentes puntos del flujo de control. Los diagramas de actividades pueden utilizarse para visualizar, especificar, construir y documentar la dinámica de una sociedad de objetos, o pueden emplearse para 21.

(32) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. modelar el flujo de control de una operación. Mientras que los diagramas de interacción destacan el flujo de control entre objetos, los diagramas de actividades destacan el flujo de control entre actividades. Una actividad es una ejecución no atómica en curso, dentro de una máquina de estados. Las actividades producen alguna acción, compuesta de computaciones atómicas ejecutables que producen un cambio en el estado del sistema o el retorno de un valor. Los diagramas de actividades no son sólo importantes para modelar los aspectos dinámicos de un sistema, sino también para construir sistemas ejecutables a través de ingeniería directa e inversa (Booch et al.). A continuación en la figura 2.2 se presentan el diagrama de actividades para el proceso de reservar Horario Docente, correspondiente al caso de uso “Gestionar Horario Docente”. .. Figura 2.2 Diagrama de actividades: Gestionar Horario Docente. 22.

(33) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. Como se observa en la figura 2.2 el entrenador debe seleccionar la opción “Reservar” del menú horizontal, seguidamente se despliega un menú donde podrá elegir el tipo de clase (conf. o cp.) la carrera, el año, el grupo y la semana donde desea planificar. A continuación le muestra listado de horario para reservar, donde llenando los datos del formulario (asignatura, aula y profesor) puede escoger el turno que desea reservar. El sistema verifica que el aula este vacía y que el profesor no tenga clase. Si es verdadera muestra la página de reservar con la nueva reserva solicitada y si es falsa muestra la página de reservar con la excepción ocurrida. 2.5. Diagrama de colaboración Una colaboración es una sociedad de clases, interfaces y otros elementos que colaboran para proporcionar un comportamiento cooperativo mayor que la suma de los comportamientos de sus elementos. Una colaboración también es la especificación de cómo un elemento tal como un clasificador (una clase, interfaz, componente, nodo o caso de uso) o una operación, es realizado mediante un conjunto de clasificadores y asociaciones que juegan roles específicos utilizados de una forma específica. Gráficamente, una colaboración se representa como una elipse con el borde discontinuo.. 23.

(34) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. Figura 2.3 Diagrama de colaboración: Reservar Horario Docente. En la figura 2.3 se muestra el diagrama de colaboración para el proceso de reservar Horario Docente en la aplicación. Para poder reservar HD el vicedecano docente selecciona la opción de reservar, luego la clase controladora muestra la interfaz de reservar HD, donde el vicedecano docente selecciona reservar HD. Estos datos son validados por UI_reserva y en caso verdadero enviados a la CE_clase.. 2.6 Diagrama de Navegación En este sistema un estado se representa por una página que conforma una vista en el navegador. Los diagramas de navegación están formados por un conjunto de estados y sus correspondientes enlaces, a partir de los cuales un usuario puede transitar de un estado a otro. Los enlaces del sistema varían de acuerdo al estado de autentificación del usuario.Como se puede observar en las figuras 2.4, 2.5 y 2.6 todos los roles tienen la navegación del usuario anónimo.. 24.

(35) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. Figura 2.4 Diagrama de navegación: Usuario anónimo.. Fig. 2.5 Diagrama de navegación: Usuario coordinador de año. 25.

(36) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. Fig.2.6 Diagrama de navegación: Usuario vicedecana docente. 2.7. Modelado de Datos Conceptual (Diagrama Entidad-Relación) Este modelo permite mostrar la información que se usa en el sistema pues esta determinado a representar los elementos que intervienen en el y sus relaciones. El siguiente diagrama es el requerido para la aplicación, pues da cumpliendo a las necesidades del mismo como se muestra en la figura 2.7. 26.

(37) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. Figura 2.7 Diagrama de la base de datos: Modelo entidad-relación. 2.8. Diagrama de Despliegue Los diagramas de despliegue son uno de los dos tipos de diagramas que aparecen cuando se modelan los aspectos físicos de los sistemas orientados a objetos. Un diagrama de despliegue muestra la configuración de nodos que participan en la ejecución y de los componentes que residen en ellos. Los diagramas de despliegue se utilizan para modelar la vista de despliegue estítica de un sistema. La mayoría de las veces, esto implica modelar la topología del hardware sobre el que se ejecuta el sistema. Los diagramas de despliegue son fundamentarme diagramas de clases que se ocupan de modelar los nodos de un sistema. Un diagrama de despliegue es un diagrama que muestra la configuración de los nodos que participan en la ejecución y de los componentes que residen en ellos. Gráficamente, un diagrama de despliegue es una colección de nodos y arcos (Booch et al.).. 27.

(38) CAPÍTULO 2. DISEÑO E IMPLEMENTACIÓN DEL SISTEMA. Figura 2.8. Diagrama de despliegue. En la figura 2.8 se muestra el diagrama de despliegue de la aplicación propuesta. El diagrama está compuesto por un servidor Web, un servidor de base de datos y un conjunto de máquinas para el cliente. La máquina del cliente permite a los usuarios interactuar directamente con la aplicación. El servidor Web se encarga de ejecutar el código PHP, así como interactuar con el servidor de bases de datos y garantizar una interacción más fuerte entre cliente y servidor.. 2.5. Conclusiones parciales En este capítulo se mostraron las generalidades del análisis, diseño e implementación de la aplicación Web desarrollada para la publicación del horario docente. Se hace un análisis de los requisitos funcionales y no funcionales de la aplicación, se describen los actores y casos de uso que interactúan en el sistema y se ilustraron los diagramas creados para las fases de análisis y diseño de la herramienta que son diagrama de clases, de actividad, colaboración, navegación y de despliegue.. 28.

(39) CAPÍTULO 3. GUÍA PARA EL USUARIO. CAPÍTULO 3. Guía para el Usuario Este capítulo está dedicado a la exposición de las principales facilidades que ofrece el sistema a cada uno de sus usuarios, así como las formas de aprovechar dichas facilidades. Se tratan además los prerrequisitos, pasos para la instalación y la administración del sitio. 3.1. Acceso al sistema El sistema dispone de cuatro actores: usuario anónimo, usuario coordinador de año y usuario vicedecano docente; todos tienen acceso a la interfaz principal mostrada en la figura 3.1. La interfaz la componen menús como: Horario y Aula.. Figura 3.1 Interfaz principal. 3.2. Ambiente para el usuario anónimo El usuario anónimo tiene permiso para acceder a diferentes funcionalidades como: . El menú Horario donde se publica el Horario Docente definido por carrea, año, grupo y semana como se muestra en la figura 3.2.. 29.

(40) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura3.2 Publicación Horario Docente.. . El menú Aula donde se publica la planificación de todas las aulas incluyendo los laboratorios como se muestra en la figura 3.3.. Figura 3.3 Planificación de aula. 30.

(41) CAPÍTULO 3. GUÍA PARA EL USUARIO. 3.3. Ambiente para el usuario coordinador de año Este usuario tiene la posibilidad de autenticarse en la aplicación al insertar su nombre de usuario y su contraseña en el menú Autenticarse figura 3.4.. Figura 3.4 Autentificarse.. Al iniciar sesión aparecerá dos nuevos menús: Reservar, Eliminar y Cerrar Sesión figura 3.5.. Figura 3.5 Interfaz principal coordinador de año. . En el menú de Reservar el usuario tiene la posibilidad de reservar el Horario Docente al grupo donde él es coordinador. Como se muestra en la figura 3.6 para poder reservar un turno es necesario llenar todos los campos del formulario.. 31.

(42) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.6 Reservar Horario Docente. . En el menú Eliminar, elimina los turnos del año que él es coordinador. En la figura 3.7 se muestra la página Eliminar Clase Práctica.. 32.

(43) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.7 Eliminar Horario Docente Clase Practica. 3.4. Ambiente para el usuario Vicedecano Docente Al iniciar sesión los dos menús Reservar y Eliminar se modifican dando la posibilidad de gestionar el Horario Docente de todas las carreras, años y grupo. También aparecen dos nuevos menús Páginas (figura 3.8) y Administración (figura 3.9).. 33.

(44) CAPÍTULO 3. GUÍA PARA EL USUARIO. Fig. 3.8 Menú Páginas.. Fig. 3.9 Menú Administración.. 3.4.1. Menú Páginas En el menú Páginas se encuentra todo lo necesario para la gestión del Horario Docente. 3.4.1.1 Año En la página año muestra el listado de todos los años creados (figura 3.10), además permite editar los datos del año escogido, borrar elimina el año de la lista y nuevo permite crear un nuevo año para los grupos ya definidos (Figura 3.11). 34.

(45) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.10: Página Año. Figura 3.11. Nuevo año. En nuevo año tiene el formulario nombre donde se establece el nombre del año y carrera donde se despliegan todas las carreras creadas, además tiene la opción de ir al listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otro año.. 3.1.4.2 Asignatura En la página asignatura muestra el listado de todas las asignaturas creadas (figura 3.12), además permite editar los datos de la asignatura escogido, borrar elimina la asignatura de la lista y nuevo permite crear una nueva asignatura figura 3.13.. 35.

(46) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.12 Página Asignatura. Figura 3.13 Nueva Asignatura.. En nueva asignatura tiene el formulario nombre donde se establece el nombre de la asignatura, año donde se despliegan todos los años creados y abreviatura que es el contenido que se muestra a la hora de publicar el horario, tiene la opción de ir al. 36.

(47) CAPÍTULO 3. GUÍA PARA EL USUARIO. listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otra asignatura. 3.4.1.3 Aula En la página aula muestra el listado de todas las aulas creadas (figura 3.14), además permite editar el nombre del aula escogida, borrar elimina el aula del lista y nuevo permite crear una nueva aula.. Figura 3.14 Página Aula. En nueva aula tiene el formulario nombre donde se establece el nombre del aula, tiene la opción de ir al listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otra aula. 3.4.1.4 Carrera En la página carrera muestra el listado de todas las carreras creadas (figura 3.15), además permite editar el nombre de la carrera escogida, borrar elimina la carrera del lista y nuevo permite crear una nueva carrera.. 37.

(48) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.15 Página Carrera. En nueva carrera tiene el formulario nombre donde se establece el nombre de la carrera, tiene la opción de ir al listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otra carrera.. 3.4.1.5 Grupos En la página grupos muestra el listado de todas las grupos creadas (figura 3.16), además permite editar los datos de los grupos escogido, borrar elimina la asignatura de la lista y nuevo permite crear una nueva asignatura figura 3.17.. Figura 3.16 Página Grupos. 38.

(49) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.17 Nuevo Grupo. En nuevo grupo tiene el formulario grupo donde se establece el nombre del grupo y el año donde se despliegan todos los años creados, además tiene la opción de ir al listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otro grupo. 3.4.1.6 Profesores En la página profesores muestra el listado de todas los profesores creados (figura 3.18), además permite editar el nombre del profesor escogido, borrar elimina el profesor de la lista y nuevo permite crear una nuevo profesor.. 39.

(50) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.18 Página Profesor. En nuevo profesor tiene el formulario nombre donde se establece el nombre del profesor, tiene la opción de ir al listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otro profesor.. 3.4.1.7 Profesor por año En la página profesor por año muestra el listado de todos los profesores y la asignación a los años (figura 3.19), además permite editar los datos del profesor seleccionado, borrar elimina la planificación de la lista y nuevo permite crear una nueva planificación de profesor por año figura 3.20.. 40.

(51) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.19 Página Profesores por año.. Figura 3.20 Nuevo profesor por año. En nuevo profesor por año tiene el formulario profesor donde se despliegan todos los profesores ya creados y año donde se despliegan todos los años creados, además tiene la opción de ir al listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otro profesor por año. 3.4.1.8 Semanas En la página semanas se muestra el listado de todas las semanas panificadas (figura 3.21), además permite editar los datos de las semanas, borrar elimina la semana de la lista y nuevo permite crear una nueva semana figura 3.22.. 41.

(52) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.20 Página semanas. 42.

(53) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.21 Nueva semana. En nueva semana tiene el formulario fecha inicial y fecha final donde se establece la fecha de inicio y fin de la semana. También se puede usar el calendario que facilita el llenado de los campos, además tiene la opción de ir al listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otra semana.. 3.4.1.9 Semana por años En la página semanas por años se muestra el listado de todos los años con las semanas asignadas (figura 3.23), además permite editar los datos de la planificación semana por año, borrar elimina la planificación de la lista y nuevo permite crear una nueva planificación figura 3.24.. 43.

(54) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.23 Página Semana por año. Figura 3.24 Nueva semana por año. En nuevo semana por año tiene el formulario año donde se despliegan todos los años ya creados y semana donde se despliegan todas las semanas creadas, además tiene la opción de ir al listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otra semana por año.. 3.1.4.10 Turnos En la página turnos muestra el listado de todos los turnos creados (figura 3.25), además permite editar la hora inicial y final del turno escogida, borrar elimina el turno de lista y nuevo permite crear una nuevo turno.. 44.

(55) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.25 Página turno. En nueva turno tiene el formulario hora inicial y hora final. Para que se muestren en el orden correcto se debe usar el formato de 24 horas, ademas tiene la opción de ir al listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otro turno.. 3.4.2 Menú Administración En el menú administración está relacionada con la administración del sitio y los permisos de administración.. 3.4.2.1 Sitio La página sitio permite cambiar el logo, el nombre de la facultad y texto de la página de inicio. El logo de la facultad tiene que tener un formato 175 x 250 píxeles figura 3.26.. 45.

(56) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.26 Administración sitio. 3.4.2.2 Jefes de año En la página jefe de año muestra el listado de todos los jefes de año creados (figura 3.27), además permite editar la información del jefe de año seleccionado, borrar elimina el jefe de año de lista y nuevo permite crear otro jefe de año figura 3.28.. Figura 3.27 Administración Grupos. 46.

(57) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.28 Nuevo grupo. En nueva grupo tiene el formulario nombre donde asignara el nombre al nuevo grupo y descripción pone una breve descripción del grupo, usuario que van a pertenecer y el permiso que tendrá el grupo, además tiene la opción de ir al listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otro turno.. 3.4.2.3 Usuarios En la página usuarios muestra el listado de todos los usuarios creados (figura 3.29), además permite editar la información del usuario seleccionado, borrar elimina al usuario de lista y nuevo permite crear otro usuario figura 3.30.. 47.

(58) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.29 Administración de Usuario. Figura 3.27 Nuevo usuario. 48.

(59) CAPÍTULO 3. GUÍA PARA EL USUARIO. En nuevo usuario tiene el formulario nombre, apellidos y dirección de correo como datos personales del usuario, usuario y contraseña que son los datos que le permitirán entrar al sistema, activo si la cuenta está en funcionamiento, es admin si el usuario es administrador, grupo al que pertenece el usuario y permiso el tipo de cuenta, además tiene la opción de ir al listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otro usuario.. 3.4.2.4 Permisos En la página permiso muestra el listado de todos los permisos creados (figura 3.31), además permite editar la información del permiso seleccionado, borrar elimina el permiso de la lista y nuevo permite crear otro permiso figura 3.32.. Figura 3.31 Administración de Permisos. 49.

(60) CAPÍTULO 3. GUÍA PARA EL USUARIO. Figura 3.32 Nuevo permiso. En nuevo permiso tiene el formulario nombre que será el nombre del permiso, descripción que es una breve descripción del permiso, grupo al que pertenece el usuario y usuarios que pueden pertenecer, además tiene la opción de ir al listado, guardar y guardar y crear otro donde el formulario aparece vacio para poder agregar otro permisos.. 3.5 Conclusiones parciales En este capítulo se describió cómo trabajar con la aplicación Web, información que contribuirá a que los usuarios estén mejor preparados para su utilización y obtengan resultados satisfactorios. La información está estructurada en correspondencia con el rol de cada usuario y acompañada de imágenes que facilitan la navegación por dicha aplicación.. 50.

(61) CONCLUSIONES. CONCLUSIONES Se realizó un estudio de diferentes aspectos teóricos que ayudaron a determinar cuáles herramientas eran las más adecuadas para la realización de portales Web para la publicación de la información. Se implemento la base de datos para la información relacionada con el Horario Docente y planificación de los Laboratorios, logrando un diseño que satisfaga las necesidades y requerimientos del mismo. Se implementar un entorno Web, que permite acceder de forma rápida y sencilla a la información de la base de datos relacionada con el horario docente, poniendo a la disposición de la facultad MFC sistema implementado, garantizando la seguridad e integridad de los datos manejados en el sitio. 51.

(62) RECOMENDACIONES. RECOMENDACIONES Se recomienda extender la aplicación Web desarrollada de modo que permita: . Al usuario coordinador de año darle permisos para que gestione más datos del año que él es coordinador como asignar semanas, profesores, etc. y asi liberar de trabajo al vicedecano.. . Agregar la funcionalidad al sistema que permita descargar e imprimir el horario.. . Que la planificación de las semanas se realice a partir de una primera fecha y definiendo la cantidad de semanas se creen de forma automática todas las semanas del semestre.. . A las asignaturas se le controle la cantidad de horas para que la planificación se corresponda con el plan de estudio.. 52.

(63) REFERENCIAS BIBLIOGRÁFICAS. REFERENCIAS BIBLIOGRÁFICAS ARAUJO, Y. 2010. Metodologí RUP ARRANZ, D. P. Instalación del Servidor Apache Distribución Debian Woody 3.0 BOOCH, G., RUMBAUGH, J. & JACOBSON, I. El Lenguaje Unificado de Modelado CORDEIRO, J. L. 1998. Benesuela Vs. Venezuela. El Combate Educativo del Siglo. DEGLOVANNINI, M. 2005. Comparativa de Frameworks WEB EGUÍLUZ, J. P. 2008. Introducción a XHTML GALLEGO, J. A. V. 2003. Desarrollo Web con PHP y MySQL GARZON, T. P. 2010. Sistemas Gestores de Bases de Datos. GILFILLAN, I. La Biblia MySQL LOCKHART, T. 1999. Tutorial de PostgreSQL MATEU, C. 2004. Desarrollo de aplicaciones Web PACHECO, N. 2011. Doctrine 2 ORM Documentation PÉREZ, J. E. 2009a. Introducción a CSS PÉREZ, J. E. 2009b. Introducción a JavaScript POTENCIER, F. Symfony 1.4 la guía definitiva. PRESSMAN, R. 2002. Ingeniería de Software, un enfoque práctico. SOMMERVILLE, I. 2005. Ingeniería de Software VELO, F. 2011. CodeIgniter Guía del Usuario en Español WEB, M. D. 2007. Los diferentes lenguajes de programación para la Web [Online]. Available: http//:www.maestrosdelweb.com 15 de junio del 2013 ].. 53.

(64)

Figure

Fig. 2.1 Descripción de Caso de Uso
Figura 2.2 Diagrama de actividades: Gestionar Horario Docente
Figura 2.3 Diagrama de colaboración: Reservar Horario Docente
Figura 2.4 Diagrama de navegación: Usuario anónimo.
+7

Referencias

Outline

Documento similar

Así, la memoria, podría conceptualizarse como un sistema donde se recogen las experiencias y la información que recordamos y como un proceso de retención de las

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

Al elegir la opción de Cl@ve, si es la primera vez que se va a utilizar Cl@ve para firmar y registrar un trámite la aplicación mostrará el siguiente mensaje:.. Si se elige la

o esperar la resolución expresa" (artículo 94 de la Ley de procedimiento administrativo). Luego si opta por esperar la resolución expresa, todo queda supeditado a que se

Tras crear un perfil nuevo o pulsar “entrar” desde la pantalla principal, se presenta esta escena donde el usuario tiene que introducir su nombre y pulsar sobre la

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

El vicedecano selecciona el Departamento y entra los datos de departamento (Nombre del Departamento, Nombre y Apellidos del Jefe de Departamento y Usuario del

Propósito: Permitir al Administrador del Sistema, registrar, modificar y eliminar datos de un usuario, así como asignar y/o quitar un usuario a grupos y adicionar un usuario