PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO DIRECCIÓN ACADÉMICA - ESCUELA DE SISTEMAS
ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DEL MÓDULO DE CREACIÓN DE HORARIOS DEL SISTEMA DE GESTIÓN ACADÉMICA MEDIANTE EL USO DE HERRAMIENTAS DE SOFTWARE LIBRE PARA LA UNIDAD EDUCATIVA SAGRADOS CORAZONES DEL CANTÓN LA CONCORDIA EN EL AÑO 2013
Disertación de Grado previa a la obtención del título de Ingenieros de Sistemas y Computación Línea de Investigación: Estudio, Diseño e Implementación de Software Autores: CARLOS DAVID YOONG LOOR DARWIN ANDRÉS OROZCO DÍAZ Director:
Ms. ADRIAN ROLANDO CEVALLOS DUEÑAS
Santo Domingo – Ecuador Marzo, 2015
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO DIRECCIÓN ACADÉMICA - ESCUELA DE SISTEMAS
HOJA DE APROBACIÓN ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DEL MÓDULO DE CREACIÓN DE HORARIOS DEL SISTEMA DE GESTIÓN ACADÉMICA MEDIANTE EL USO DE HERRAMIENTAS DE SOFTWARE LIBRE PARA LA UNIDAD EDUCATIVA SAGRADOS CORAZONES DEL CANTÓN LA CONCORDIA EN EL AÑO 2013
Línea de Investigación: Estudio, Diseño e Implementación de Software Autores: CARLOS DAVID YOONG LOOR DARWIN ANDRÉS OROZCO DÍAZ Ms. Adrián Rolando Cevallos Dueñas DIRECTOR DE LA DISERTACIÓN DE GRADO
f.__________________
Ing. Margaret Viviana Hurtado Quiroz CALIFICADOR
f.__________________
Ing. Fausto Ernesto Orozco Iguasnia CALIFICADOR
f.__________________
Ms. Rodolfo Sirilo Córdova Gálvez DIRECTOR DE LA ESCUELA DE SISTEMAS
f.__________________
Santo Domingo – Ecuador Marzo, 2015
iii
DECLARACIÓN DE AUTENTICIDAD Y RESPONSABILIDAD Yo, Darwin Andrés Orozco Díaz portador de la cédula de ciudadanía No. 172298447-1 declaro que los resultados obtenidos en la investigación que presento como informe final, previo la obtención del Título de Ingeniero de Sistemas y Computación son absolutamente originales, auténticos y personales. En tal virtud, declaro que el contenido, las conclusiones y los efectos legales y académicos que se desprenden del trabajo propuesto de investigación y luego de la redacción de este documento son y serán de mi sola y exclusiva responsabilidad legal y académica.
Darwin Andrés Orozco Díaz CI. 172298447-1
Yo, Carlos David Yoong Loor portador de la cédula de ciudadanía No. 1718104506 declaro que los resultados obtenidos en la investigación que presento como informe final, previo la obtención del Título de Ingeniero de Sistemas y Computación son absolutamente originales, auténticos y personales. En tal virtud, declaro que el contenido, las conclusiones y los efectos legales y académicos que se desprenden del trabajo propuesto de investigación y luego de la redacción de este documento son y serán de mi sola y exclusiva responsabilidad legal y académica.
Carlos David Yoong Loor CI. 171810450-6
iv
RESUMEN
El siguiente proyecto de investigación consiste en el Análisis, Diseño e Implementación del Módulo de Creación de Horarios del Sistema de Gestión Académica para la Unidad Educativa “Sagrados Corazones”. Con este proyecto se pretende automatizar los procesos de una manera más ágil y rápida permitiéndonos ahorrar recursos y poder incorporar la tecnología a dicha Institución.
La Metodología de Investigación utilizada para el desarrollo del proyecto es RUP (Rational Unified Process) el cual es un proceso de desarrollo de software que trabaja conjuntamente con UML, está orientado al desarrollo de sistemas orientados a objetos con el fin de asegurar la construcción de software de alta calidad que cumpla con los requerimientos de los usuarios dentro de un presupuesto y tiempo determinado. Además para la realización del proyecto se hizo uso de herramientas de software libre del cual no se tiene ningún problema con respecto al pago de licencias.
Para el desarrollo del proyecto se utilizó las herramientas de programación Php versión 5 en el cual nos fue de gran ayuda para la construcción de la aplicación, también se utilizó Postgresql 9.3 como motor de nuestra Base de Datos y las herramientas pgadminIII y pgmodeler nos fueron de gran ayuda para el diseño e iteración de nuestra Base de Datos que nos permitieron tener un mejor enfoque en el transcurso del desarrollo del proyecto.
v
ABSTRACT
The following research project consists in an Analysis, Design and Implementation of a Module of Creation of Schedules of the Academic Management System for “Sagrados Corazones� Educational Unit. Through this project is attempted to automate process in a quick and fast way allowing us to save resources and can incorporate technology to the Institution.
The Research Methodology used for the development of the project is RUP (Rational Unified Process) which is a process of development of software that works with UML, it is guided to the development of object oriented systems with the aim of making sure the construction of software of high quality that fulfills with the requirements of users under a budget and a defined time.
For the development of the project also free software tools were used which there is no problem with respect to payment for licenses.
For the development of the project, programming tools Php version 5 which was a great help for building application, it was also used Postgresql 9.3 as database engine and tools pgAdminIII and pgmodeler were of great help for designing and iteration of our database that allow us to have a better approach throughout the development of the project.
vi
ÍNDICE DE CONTENIDOS I.
INTRODUCCIÓN ............................................................................................... 2
II.
PLANTEAMIENTO DEL PROBLEMA .......................................................... 3
2.1
Antecedentes del problema de investigación ....................................................................3
2.2
Problema de Investigación ...............................................................................................3
2.3
Justificación ......................................................................................................................4
2.4
Objetivos ..........................................................................................................................4
2.4.1
Objetivo General ..............................................................................................................4
2.4.2
Objetivos Específicos .......................................................................................................5
III.
MARCO REFERENCIAL ................................................................................ .6
3.1
Revisión de la Literatura o Fundamentos Teórico ............................................................6
3.1.1. Software libre ...................................................................................................................6 3.1.2
Sistemas de información ..................................................................................................7
3.1.3 Ciclo de vida del software .................................................................................................8 3.1.4
Lenguaje de programación ...............................................................................................9
3.1.5
Desarrollo web .................................................................................................................9
3.1.6
Motor de base de datos .....................................................................................................9
3.1.7
Metodología de desarrollo ..............................................................................................10
3.2
Investigaciones o experiencias empíricas vinculadas con el problema de investigación10
3.2.1 Metodología de desarrollo ...............................................................................................10 3.2.1.1 Dirigido por Casos de Uso .............................................................................................11 3.2.1.2 Centrado en arquitectura ................................................................................................11 3.2.1.3 Iterativo e incremental ....................................................................................................11 3.2.1.4 Fase de Inicialización .....................................................................................................12 3.2.1.5 Fase de Elaboración .......................................................................................................21 3.2.1.6 Fase de Construcción .....................................................................................................64 3.2.1.7 Fase de Transición..........................................................................................................77 3.3
Formulación de la hipótesis de trabajo ...........................................................................77
IV.
METODOLOGÍA DE INVESTIGACIÓN ..................................................... 78
4.1
Diseño / Tipo de Investigación .......................................................................................78
4.2
Población ........................................................................................................................78
4.3
Técnicas e Instrumentos para recogida de datos ............................................................78
4.3.1 Entrevista.........................................................................................................................78
vii
4.3.2 Observación.....................................................................................................................79 4.4
Técnicas de análisis de datos ...........................................................................................79
V.
RESULTADOS .................................................................................................. 80
5.1
Conclusiones ..................................................................................................................80
5.2
Recomendaciones ...........................................................................................................81
BIBLIOGRAFÍA .......................................................................................................... 82 LINCOGRAFIA ........................................................................................................... 83 ANEXOS ....................................................................................................................... 84
viii
ÍNDICE DE ILUSTRACIONES
Ilustración 1: Diagrama Caso de Uso Ingresar Docente ............................................... 28 Ilustración 2: Diagrama Caso de Uso Modificar Docente ............................................ 28 Ilustración 3: Diagrama de Caso de Uso Eliminar Docente ......................................... 29 Ilustración 4: Diagrama de Caso de Uso Consultar Docente........................................ 29 Ilustración 5: Diagrama de Caso de Uso Ingresar Curso .............................................. 29 Ilustración 6: Diagrama de Caso de Uso Modificar Curso ........................................... 30 Ilustración 7: Diagrama de Caso de Uso Eliminar Curso ............................................. 30 Ilustración 8: Diagrama de Caso de Uso Consultar Curso ........................................... 30 Ilustración 9: Diagrama de Caso de Uso Ingresar Asignatura ...................................... 31 Ilustración 10: Diagrama de Caso de Uso Modificar Asignatura ................................. 31 Ilustración 11: Diagrama de Caso de Uso Eliminar Asignatura ................................... 31 Ilustración 12: Diagrama de Caso de Uso Consultar Asignatura ................................. 32 Ilustración 13: Diagrama de Caso de Uso Creación Horario por Docente ................... 32 Ilustración 14: Diagrama de Caso de Uso Eliminar Horario por Docente ................... 33 Ilustración 15: Diagrama de Caso de Uso Creación de Horario por Curso .................. 33 Ilustración 16: Diagrama de Caso de Uso Eliminar Horario por Curso ....................... 34 Ilustración 17: Diagrama de Caso de Uso Reporte Docente ........................................ 34 Ilustración 18: Diagrama de Caso de Uso Reporte asignatura ..................................... 35 Ilustración 19: Diagrama de Caso de Uso Reporte Horario por Docente ..................... 35 Ilustración 20: Diagrama de Caso de Uso Reporte Horario por Curso ........................ 35 Ilustración 21: Diagrama de Secuencia Refinado Ingreso Docente ............................. 43 Ilustración 22: Diagrama de Secuencia Refinado Modificar Docente ......................... 43 Ilustración 23: Diagrama de Secuencia Refinado Eliminar Docente ........................... 44 Ilustración 24: Diagrama de Secuencia Refinado Consultar Docente .......................... 44 Ilustración 25: Diagrama de Secuencia Refinado Ingresar Curso ................................ 45 Ilustración 26: Diagrama de Secuencia Refinado Modificar Curso ............................. 45 Ilustración 27: Diagrama de Secuencia Refinado Eliminar Curso ............................... 46 Ilustración 28: Diagrama de Secuencia Refinado Consultar Curso .............................. 46 Ilustración 29: Diagrama de Secuencia Refinado Ingresar Asignatura ........................ 47 Ilustración 30: Diagrama de Secuencia Refinado Modificar Asignatura ..................... 47 Ilustración 31: Diagrama de Secuencia Refinado Eliminar Asignatura ....................... 48 Ilustración 32: Diagrama de Secuencia Refinado Consultar asignatura ....................... 48 Ilustración 33: Diagrama de Secuencia Refinado Ingresar Horario por Docente ........ 49 Ilustración 34: Diagrama de Secuencia Refinado Reporte Horario por Docente ......... 49 Ilustración 35: Diagrama de Secuencia Refinado Eliminar Horario por Docente ........ 50 Ilustración 36: Diagrama de Secuencia Refinado Ingresar Horario por Curso ............ 50 Ilustración 37: Diagrama de Secuencia Refinado Eliminar Horario por Curso ........... 51 Ilustración 38: Diagrama de Colaboración Ingresar Docente ....................................... 52 Ilustración 39: Diagrama de Colaboración Modificar Docente .................................... 52 Ilustración 40: Diagrama de Colaboración Eliminar Docente ...................................... 53
ix
Ilustración 41: Diagrama de Colaboración Consultar Docente .................................... 53 Ilustración 42: Diagrama de Colaboración Ingresar Curso .......................................... 54 Ilustración 43: Diagrama de Colaboración Modificar Curso ....................................... 54 Ilustración 44: Diagrama de Colaboración Eliminar Curso ......................................... 55 Ilustración 45: Diagrama de Colaboración Consultar Curso ........................................ 55 Ilustración 46: Diagrama de Colaboración Ingresar Asignatura .................................. 56 Ilustración 47: Diagrama de Colaboración Modificar Asignatura ............................... 56 Ilustración 48: Diagrama de Colaboración Eliminar asignatura ................................... 57 Ilustración 49: Diagrama de Colaboración Consultar asignatura ................................. 57 Ilustración 50: Diagrama de Colaboración Ingresar Horario por Docente ................... 58 Ilustración 51: Diagrama de Colaboración Eliminar Horario por Docente .................. 58 Ilustración 52: Diagrama de Colaboración Reporte de Horario por Docente............... 59 Ilustración 53: Diagrama de Colaboración Ingresar Horario por Curso ....................... 59 Ilustración 54: Diagrama de Colaboración Eliminar Horario por Curso ...................... 60 Ilustración 55: Diagrama de Clase ................................................................................ 61 Ilustración 56: Diagrama Modelo Lógico de Datos ..................................................... 62 Ilustración 57: Diagrama de Componentes Externos ................................................... 62 Ilustración 58: Diagrama de Componentes Internos .................................................... 63 Ilustración 59: Diagrama de Implementación ............................................................... 63
x
ÍNDICE DE GRÁFICOS
Grafico 1: Interfaz de Diseño Ingresar Curso................................................................ 64 Grafico 2: Interfaz de Diseño Modificar Curso ............................................................. 65 Grafico 3: Interfaz de Diseño Buscar Curso.................................................................. 65 Grafico 4: Interfaz de Diseño Eliminar Curso ............................................................... 66 Grafico 5: Interfaz de Diseño Ingresar Docente ............................................................ 66 Grafico 6: Interfaz de Diseño Modificar Docente ......................................................... 67 Grafico 7: Interfaz de Diseño Buscar Docente .............................................................. 67 Grafico 8: Interfaz de Diseño Eliminar Docente ........................................................... 68 Grafico 9: Interfaz de Diseño Reporte de Docente ....................................................... 68 Grafico 10: Interfaz de Diseño Ingresar Asignatura...................................................... 69 Grafico 11: Interfaz de Diseño Modificar Asignatura ................................................... 69 Grafico 12: Interfaz de Diseño Buscar Asignatura........................................................ 70 Grafico 13: Interfaz de Diseño Eliminar asignatura ...................................................... 70 Grafico 14: Interfaz de Diseño Reporte de asignatura .................................................. 71 Grafico 15: Interfaz de Diseño Creación de Horario por Curso .................................... 71 Grafico 16: Interfaz de Diseño Eliminación de Horario por Curso............................... 72 Grafico 17: Interfaz de Diseño Reporte de Horario por Curso ..................................... 72 Grafico 18: Interfaz de Diseño Creación de Horario por Docente ................................ 73 Grafico 19: Interfaz de Diseño Eliminación de Horario por Docente ........................... 73 Grafico 20: Interfaz de Diseño Reporte de Horario por Docente .................................. 74 Grafico 21: Modelo General de la Base de Datos ......................................................... 74 Grafico 22: Modelo de la Base de Datos del Módulo de Creación de Horarios ........... 75 Grafico 23: Código de la aplicación .............................................................................. 75 Grafico 24: Código de la aplicación .............................................................................. 76 Grafico 25: Código de la aplicación .............................................................................. 77
I.
INTRODUCCIÓN
En la primera sección se da una breve introducción acerca de los temas que van involucrados dentro del desarrollo del proyecto de investigación que se lleva acabo, para así tener una idea clara de lo que se tratara en el transcurso del tema investigación. En la segunda sección, se detalla el planteamiento del problema de la presente investigación el cual se refiere a la implementación de un módulo de creación de horarios para facilitar la correcta distribución de profesores y materias en la Unidad Educativa “Sagrados Corazones” como parte de un sistema gestión académica. La principal característica es que la Unidad Educativa no cuenta con un sistema académico que le permita realizar sus labores diarias de una manera más eficaz y eficiente, para ello se necesita el desarrollo del software. Para llevar a cabo el proyecto se hará uso de herramientas de software libre, el cual nos resulta de gran ayuda para el desarrollo de nuestra aplicación ya que estaremos cumpliendo con las normas establecidas del Ministerio de Educación. La investigación de esta problemática se la realiza para facilitar la administración y distribución adecuada de horarios de estudio, dentro de este sistema educativo. Para que los involucrados directamente con el sistema académico puedan realizar de una manera más eficaz sus labores diarias y no tengan inconvenientes a la hora de definir sus horarios de clases. En la tercera sección se detallan los conceptos, teorías e hipótesis que van ayudar a fundamentar el proyecto con base al planteamiento del problema que se ha realizado, esto nos permitirá tener una idea general de cómo debemos utilizar los recursos que vamos a utilizar durante la ejecución del proyecto y así poder darle una solución factible.
2 En la cuarta sección se especifican los métodos, variables, indicadores y técnicas de investigación que los investigadores deberán llevar a cabo para la solución del problema durante todo el desarrollo del proyecto y de esta manera terminar en los tiempos acordados. En la quinta sección se detallan los resultados conseguidos durante el desarrollo de la investigación en los cuales nos permiten analizar dichos resultados que obtuvimos, sacar nuestras propias conclusiones con respecto al trabajo realizado en el proyecto para posteriormente dar a conocer alguna recomendación que sirva de ayuda para futuros proyectos de investigación. Por último tenemos el material de referencias en el cual se detallan las fuentes bibliográficas de las cuales se hacen uso para recopilar información que nos permitan tener un enfoque global de temas que se desconocen y así poder tener una mejor perspectiva en la solución del problema.
II.
PLANTEAMIENTO DEL PROBLEMA
2.1 Antecedentes del problema de investigación La Unidad Educativa “Sagrados Corazones” se encuentra en el cantón la Concordia, está conformada por docentes particulares y fiscales, siendo algunos de ellos de la Dirección Provincial de Educación de Santo Domingo; de los cuales tienen título de Licenciados, Profesor Primario y Bachilleres en Ciencias. Cuando se realizan los horarios de clase para la Institución es muy común que se cometan errores, debido a la falta de concordancia entre los docentes y las materias. Debido a que este proceso se lo realiza de manera manual por parte de las máximas autoridades de dicha Institución. Por tal razón se realizará la implementación del módulo de creación de horarios para facilitar este proceso, ya que se lo hará de forma automatizada, permitiéndoles ahorrar recurso y realizar sus actividades de una manera más eficiente y eficaz. De esta manera se evitará posibles cruces de horarios entre docentes y materias.
2.2 Problema de Investigación La principal característica es que la Unidad Educativa no cuenta con un sistema académico que le permita realizar sus labores diarias de una manera más eficaz y eficiente, para ello se necesita el desarrollo del software. Para llevar a cabo el proyecto se hará uso de herramientas de software libre, el cual nos resulta de gran ayuda para el desarrollo de nuestra aplicación ya que estaremos cumpliendo con las normas establecidas del Ministerio de Educación
3
4
La investigación de esta problemática se la realiza para facilitar la administración y distribución adecuada de horarios de estudio, dentro de este sistema educativo. Para que los involucrados directamente con el sistema académico puedan realizar de una manera más eficaz sus labores diarias y no tengan inconvenientes a la hora de definir sus horarios de clases.
2.3 Justificación En la actualidad la Unidad Educativa no cuenta con un sistema de gestión académica realizada con software libre que les permita realizar sus labores diarias de manera eficaz y eficiente, para ello se realizará el desarrollo de la aplicación que nos permita solucionar sus problemas de forma efectiva. Sin embargo, hay que mencionar que la Institución se está acoplando a los cambios educativos que el gobierno está propugnando hoy en día, para aquello se necesita trabajar en conjunto y estar al día de las disposiciones que se den a lo largo del desarrollo de la aplicación. En el desarrollo del proyecto de investigación los recursos que se utilizaran no necesitan ser expandidos, tomando en cuenta la cantidad de alumnos que podría llegar a tener la Institución. La aplicación al ser desarrollada bajo herramientas libres no tendría ningún inconveniente ya que se las puede descargar gratuitamente en cualquier sitio web disponible. Con respecto a las licencias de los lenguajes de programación a utilizarse son libres y por lo tanto no conlleva a ningún gasto por parte de la Institución.
2.4 Objetivos 2.4.1 Objetivo General Implementar un módulo de creación de horarios para mejorar la distribución de materias y docentes en la Unidad Educativa “Sagrados Corazones”.
5
2.4.2 Objetivos Específicos
Identificar los elementos y entidades que intervienen.
Diseñar el módulo en base a los requerimientos establecidos.
Seleccionar el lenguaje de programación que se acople a nuestra necesidad.
Desarrollar el módulo en base a los lenguajes de programación establecidos.
Implementar el módulo de creación de horarios dentro del Sistema Académico.
III.
MARCO REFERENCIAL
3.1 Revisión de la Literatura o Fundamentos Teórico 3.1.1. Software libre
Desde los inicios de la era tecnológica, hablar de una solución de software implica de manera implícita entender y aceptar los costos inherentes de las herramientas comerciales utilizadas, no sólo de la solución o producto en sí, sino también de sistemas adicionales críticamente necesarios para la funcionalidad integral. Dichos costos son justificados desde el punto de vista de las empresas de desarrollo de software como Microsoft, IBM, entre otras; porque son su mayor fuente de ingresos.
El software libre es un tipo de software que es desarrollado por una comunidad mundial de voluntarios que ofrecen sus recursos entre ellos el tiempo, y desarrollan software bajo licencias como GLP (GNU Public Licence), Apache Licence, entre otras, cuya función principal es otorgar las libertades al producto, especialmente liberar su código fuente para uso de cualquier individuo sin costo alguno. Sus fuentes de ingreso varían desde donaciones, hasta cobros por soporte a empresas, como es el caso de RedHat.
El éxito del software libre radica en la calidad y estabilidad de sus productos, eso es gracias a que la cantidad de colaboradores no está en función de su presupuesto, ya que en su mayoría son voluntarios que invierten su tiempo libre en desarrollar alguna funcionalidad. La cantidad de programadores en una empresa de software libre puede multiplicar por decenas a la cantidad de una otra de software comercial ayudando a que se cumpla la principal causa de estabilidad del desarrollo “Ante la cantidad suficiente de ojos, hasta los errores más escondidos, se muestran obvios.”. Esto no quiere decir que cualquier persona puede modificar una producción, la
6
7
misma comunidad organiza sus jerarquías y se protege con respaldos continuos del trabajo realizado.
El software comercial mayormente usado ha sido Microsoft Windows, en sus múltiples versiones. Los productos de software con interfaz gráfica de ventanas pueden o no incurrir en pagos de licencia en función de la herramienta utilizada para su desarrollo, como es el caso de Microsoft Visual Studio, un software comercial que es utilizado ampliamente para desarrollar software que se deba instalar sobre un sistema operativo Microsoft Windows.
En contraste se puede desarrollar software utilizando una herramienta de Software Libre, como SharpDevelop, que es una herramienta de desarrollo de aplicaciones que se ejecutan en una Framework de .Net, pero sigue teniendo la necesidad de consumir software comercial, en la actualidad la implementación de .Net Framenwork en GNU/Linux se limita a aplicaciones de consola, o requiere la utilización de GTK.
El desarrollo Web permite proveer una solución integral, con la posibilidad de prescindir de todo software comercial, pero que mantenga la compatibilidad con los métodos de comunicación contemporáneos. Todos los componentes del sistema y herramientas de desarrollo, pueden ser software libre Ej. Postgresql, Php, Python, Eclipse, Jquery, entre otros.
3.1.2
Sistemas de información
Un sistema de información es un grupo de elementos utilizados para la administración de datos, los cuales se encuentran coordinados entre sí para su uso ulterior. Estos elementos, además, fueron concebidos con el objeto de lograr un determinado fin. Desde el punto de vista empresarial, los sistemas de información tienen como propósito perfeccionar las actividades llevadas a cabo en una organización, y así alcanzar ventajas competitivas. Siguiendo esta línea, y de acuerdo a su función se distinguen tres tipos de sistemas de información:
8
Sistema de procesamiento de transacciones: cuando un sistema recopila, almacena y altera la información creada a partir de transacciones llevadas a cabo dentro de una organización se denomina sistema de procesamiento de transacciones. Tiene como finalidad procesar las transacciones diarias de una empresa, acumulando toda la información recibida en una base de datos para su posterior consulta.
Sistema de información gerencial: Un sistema de información gerencial es aquel utilizado por la empresa para solventar inconvenientes en la misma. Es decir, el objetivo del mismo es la suministración de información para la resolución de problemas a través de la interacción entre tecnologías y personas. Los datos aportados por el sistema deben disponer de cuatro cualidades elementales: calidad, oportunidad, cantidad y relevancia.
Sistema de soporte a decisiones: Este sistema se basa en el estudio y la comparación entre un conjunto de variables con el objeto de contribuir a la toma de decisiones dentro de una empresa. El apoyo dado por el sistema involucra la estimación, valoración y balance entre alternativas. Al igual que el sistema de información gerencial, esta tecnología interacciona con personas en el filtrado de información que permite optar por la decisión más acertada.
Sistema de información ejecutiva: Esta tecnología es utilizada por los gerentes de una empresa, ya que permite acceder a la información interna y externa de la misma, disponiendo de los datos que puedan llegar a afectar su buen rendimiento. De esta manera, el ejecutivo podrá conocer el estado de todos los indicadores, incluso aquellos que no cumplan con las expectativas y a partir de esto, tomar las medidas que considere adecuadas. (Portal Educativo. Tipos de Sistema de Información. Recuperado de: http://www.tiposde.org/informatica/89-tipos-de-sistemas-de-informacion/)
3.1.3
Ciclo de vida del software
“Un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de
9
software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso”. (Portal Web. Norma ISO. Recuperado de: http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=43447)
3.1.4
Lenguaje de programación
Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente. Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML. (Jorge A. Saavedra Gutiérrez. Mundo
Informativo.
Lenguaje
de
Programación.
Recuperado
de:
http://jorgesaavedra.wordpress.com/2007/05/05/lenguajes-de-programacion/)
3.1.5
Desarrollo web
Es un tipo de programación que permite realizar aplicaciones que puedan ser ejecutadas en un navegador web, como Mozilla Firefox, Google Chrome e Internet Explorer. Otorga flexibilidad a la implementación debido a que no es necesario instalarlo en los ordenadores de los clientes.
3.1.6
Motor de base de datos
Un motor de base de datos es una aplicación que gestiona tablas, registros, procedimientos, funciones y disparadores asociados a los datos que se desea almacenar, para garantizar la integridad referencial de la información.
10
3.1.7
Metodología de desarrollo
Una Metodología para el Desarrollo de Sistemas de Información es un conjunto de actividades llevadas a cabo para desarrollar y poner en marcha un Sistema de Información. Los Objetivos de las Metodologías de Desarrollo de Sistemas de Información son:
Definir actividades a llevarse a cabo en un Proyecto de S.I.
Unificar criterios en la organización para el desarrollo de S.I.
Proporcionar puntos de control y revisión
(Luis R. Castellanos. Metodologías para el Desarrollo de Sistemas de Información. Recuperado de: http://desarrollodesistemas.wordpress.com/2009/07/21/metodologias-para-el-desarrollo-de-sistemasde-informacion/)
3.2 Investigaciones o experiencias empíricas vinculadas con el problema de investigación 3.2.1 Metodología de desarrollo
La Metodología de desarrollo que se utilizara para el análisis, diseño e implementación del módulo de creación de horarios para el sistema de gestión académica será la Metodología RUP (Rational Unified Process) que significa Proceso Unificado Racional, el cual es un proceso de desarrollo de software que trabaja conjuntamente con UML, está orientado al desarrollo de sistemas orientados a objetos con el fin de asegurar la construcción de software de alta calidad que cumpla con los requerimientos de los usuarios dentro de un presupuesto y tiempo determinado.
Las principales características de RUP son:
Dirigido por Casos de Uso
Centrado en Arquitectura
Iterativo e incremental
11
3.2.1.1 Dirigido por Casos de Uso
Los casos de uso son una técnica de Ingeniería de Software que permiten obtener y capturar las necesidades que tienen los clientes/usuarios, el cual se especifica desde el inicio del proyecto y se representa a través de requerimientos. A partir de estos requerimientos, los casos de uso sirven como guía de trabajo en todas las fases del proceso de desarrollo de software para que se cumpla con el objetivo planteado del proyecto.
3.2.1.2 Centrado en arquitectura
La arquitectura en RUP es muy importante ya que de ella depende que se tenga una postura bien definida acerca del sistema que se va a desarrollar, además nos permite tener una visión general del sistema completo, en el cual el equipo de trabajo y los usuarios deben estar de acuerdo antes de empezar con el desarrollo del proyecto. Es aquí en donde se describen todos los elementos que son necesarios para su comprensión, desarrollo y producción económicamente del proyecto, sin desperdiciar recursos. Si se tiene una buena arquitectura no existirán problemas frente a cambios durante la construcción y mantenimiento del desarrollo del software
3.2.1.3 Iterativo e incremental
Es un modelo utilizado por RUP el cual plantea que se desarrolle el proyecto por medio de iteraciones, en la cual cada iteración tendrá sus propios objetivos a desarrollar durante la realización del proyecto. La ventaja que ofrece este modelo es que nos permite tener pequeños avances del proyecto que son entregables al cliente y por medio de las iteraciones podemos ir observando el crecimiento que tiene nuestro producto, a través de cada iteración establecida en el desarrollo del proyecto de software.
12
Las Fases de Desarrollo de Software que nos ofrece la Metodología RUP para la realización de nuestro proyecto que se detallarán más adelante son las siguientes:
Fase de Inicialización
Fase de Elaboración
Fase de Construcción
Fase de Transición
3.2.1.4 Fase de Inicialización
La fase de concepción o inicio tiene por finalidad definir la visión, los objetivos y el alcance del proyecto, tanto desde el punto de vista funcional como del técnico, obteniéndose como uno de los principales resultados una lista de los casos de uso y una lista de los factores de riesgo del proyecto. El principal esfuerzo está radicado en el Modelamiento del Negocio y el Análisis de Requerimientos. Es la única fase que no necesariamente culmina con una versión ejecutable. (EcuRed. Fases de
desarrollo
de
Software
RUP.
Recuperado
de:
http://www.ecured.cu/index.php/Proceso_Unificado_de_Desarrollo)
Resultado en esta Fase tenemos el SRS que es la Especificación de Requerimientos de Software que se ha obtenido para el desarrollo del proyecto del software y se especificará en la parte del anexo 1.
Además en esta etapa de inicialización se toma en cuenta los posibles riesgos que puede conllevar en el desarrollo del software, en el cual hay que tomar muy en cuenta antes de comenzar con la elaboración del proyecto para así evitar posibles conflictos en el transcurso del mismo, a continuación se detallan los siguientes riesgos.
13
Identificación de los Riesgos del Proyecto
ID
Riesgo
Categoría
R1
Cambio de personal en la Institución
Riesgo de Negocio
R2
Cambio de tecnología
Riesgo de Negocio
R3
Retraso en la especificación del proyecto
Riesgo de Proyecto
R4
Cambio de requerimientos
Riesgo de Proyecto
R5
No hay disponibilidad de Hardware
Riesgo de Proyecto
R6
Aceptación del personal ante cambios tecnológicos
Riesgo de Negocio
R7
Económico
Riesgo de Negocio
R8
Trabajo Laboral de los encargados del proyecto
Riesgo de Proyecto
R9
Falta de comunicación en el equipo de trabajo
Riesgo de Proyecto
R10
Falta de conocimiento en el manejo de herramientas de programación
Riesgo de Proyecto
R11
Recopilación de información incompleta
Riesgo de Proyecto
R12
Error en diseño de BDD
Riesgo de Proyecto
R13
Incumplimiento de requerimientos
Riesgo de Negocio
Descripción Suspensión del proyecto o cambio de requerimientos Un producto competitivo se pone en venta antes de culminar el proyecto Las especificaciones de las interfaces no estarán a tiempo Nuevos cambios en los requerimientos acordados No se dispone de Hardware necesario para el proyecto El personal debe estar dispuesto al cambio en la automatización de procesos Falta de capital para el desarrollo del proyecto, Suspensión del Proyecto Causa retrasos en la culminación del proyecto Retraso en el proyecto Genera pérdida de tiempo en el aprendizaje de las herramientas retrasando el proyecto Retraso en el análisis de requerimientos del proyecto Retrasa la actividad de programación y desarrollo del proyecto Retraso en la entrega del software
14
Criterios de Valoraci贸n de los Riesgos ID
PROBABILIDAD % Valor Prioridad
IMPACTO Valor Impacto
EXPOSICION AL RIESGO Valor Exposici贸n
R1
40
2
Media
3
Alto
6
Alto
R2
60
3
Alta
4
Critico
12
Alto
R3
25
1
Baja
2
Moderado
2
Baja
R4
15
1
Baja
2
Moderado
2
Baja
R5
30
2
Media
2
Moderado
4
Medio
R6
35
2
Media
3
Alto
6
Alto
R7
50
2
Media
4
Critico
8
Alto
R8
60
3
Alta
4
Critico
12
Alto
R9
25
1
Baja
3
Alto
3
Medio
R10
30
2
Media
4
Critico
8
Alto
R11
10
1
Baja
3
Alto
3
Medio
R12
20
1
Baja
2
Moderado
2
Baja
R13
5
1
Baja
2
Moderado
2
Baja
Hoja de Gesti贸n de Riesgos
ID
Probabilidad
Impacto
Exposici贸n
R1
2
3
6
R2
3
4
12
R6
2
3
6
R7
2
4
8
R8
3
4
12
R10
2
4
8
15
HOJA DE GESTION DE RIESGO ID del riesgo: R1 PROBABILIDAD: Media VALOR: 2
Fecha: 15 de Mayo de 2013 IMPACTO: Alto VALOR: 3
EXPOSICICON: Alta VALOR:6
Descripción: El Director Académico al ser un empleado más de la Institución, corre el riesgo de ser despedido excluido por no cumplir la ley o de renunciar por lo que podría ocasionar conflictos al momento de intentar continuar con el desarrollo normal del proyecto.
Refinamiento Causas Conflicto en el desarrollo del proyecto Consecuencias Cancelación del proyecto Supervisión Contacto constante con el Director Académico de la institución
Gestión del Riesgo Acudir a otras autoridades dentro de la Institución para que tengan conciencia del proyecto y apoyen ante la cualquier eventual salida del Director Académico. Estado Actual: En proceso Fase de reducción iniciada: 15/05/2013 Fase de supervisión inicial: 15/05/2013 Gestión Riesgo:
Responsable: Andrés Orozco
16
HOJA DE GESTION DE RIESGO Fecha: 22 de Mayo de 2013
ID del riesgo: R2 PROBABILIDAD: Alta VALOR: 3
IMPACTO: Critico VALOR: 4
EXPOSICICON: Alta VALOR:12
Descripción: Se incorporan nuevas tecnologías en el mercado, lo cual los encargados del proyecto deben tomar la decisión si continuar con el desarrollo del proyecto o adoptar directamente estas herramientas que surgen en el mercado
Refinamiento Causas Nuevas tecnologías aparecen en el mercado Consecuencias El proyecto podría ser cancelado y se incorporarían directamente estas tecnologías Supervisión Estar en constante monitoreo de las herramientas tecnológicas que aparecen día a día.
Gestión del Riesgo Realizar un contrato previo en donde se especifiquen las herramientas de programación que se utilizaran durante el trascurso del desarrollo del proyecto para así tener un respaldo de trabajo. Estado Actual: Inicialización del Proyecto Fase de reducción iniciada: 22/05/2013 Fase de supervisión inicial: 22/05/2013 Gestión Riesgo:
Responsable: Andrés Orozco
17
HOJA DE GESTION DE RIESGO Fecha: 17 de Julio de 2013
ID del riesgo: R6 PROBABILIDAD: Media VALOR: 2
IMPACTO: Alto VALOR: 3
EXPOSICICON: Alta VALOR: 6
Descripción: El personal laboral de la Institución no se encuentra informado de los nuevos cambios tecnológicos que se realizaran, lo cual provoca un cambio en las labores que realizan diariamente.
Refinamiento Causas El personal de trabajo no cuenta con mucho conocimiento sobre herramientas tecnológicas Consecuencias No estarían dispuestos a aceptar los nuevos cambios Supervisión Informar sobre los nuevos cambios y procesos que se verán afectados con el proyecto y cual será la función que desempeñaran.
Gestión del Riesgo Capacitar a todo el personal sobre los nuevos cambios que se realizaran con la implementación del proyecto y enseñar el funcionamiento del mismo. Estado Actual: En Proceso Fase de reducción iniciada: 17/07/2013 Fase de supervisión inicial: 17/07/2013 Gestión Riesgo:
Responsable: Carlos Yoong
18
HOJA DE GESTION DE RIESGO ID del riesgo: R7 PROBABILIDAD: Media VALOR: 2
Fecha: 14 de Octubre de 2013 IMPACTO: Critico VALOR: 4
EXPOSICICON: Alta VALOR: 8
Descripción: La Unidad Educativa que desea incorporar nuevas herramientas tecnológicas no cuenta con el capital suficiente para comprar licencias, por lo que el proyecto se vuelve dificultoso al escoger herramientas en los lenguajes de programación que se utilizaran durante el desarrollo del proyecto.
Refinamiento Causas Limitación en herramientas de desarrollo Consecuencias El proyecto no sería viable si el costo del proyecto excede los límites financieros de la Institución Supervisión Medirse en el costo de herramientas útiles para la implementación del software
Gestión del Riesgo Hacer buen uso de los recursos económicos que se tienen, utilizando herramientas libres para el desarrollo del proyecto y así quedar conformes por parte de las autoridades de la Institución con los encargados del proyecto Estado Actual: A mitad de proyecto Fase de reducción iniciada: 14/10/2013 Fase de supervisión inicial: 14/10/2013 Gestión Riesgo:
Responsable: Carlos Yoong
19
HOJA DE GESTION DE RIESGO Fecha: 11 de Noviembre de 2013
ID del riesgo: R8 PROBABILIDAD: Alta VALOR: 3
IMPACTO: Critico VALOR: 4
EXPOSICICON: Alta VALOR:12
Descripción: Los encargados del desarrollo del proyecto se ven afectados debido a que adquieren ofertas laborales de trabajo, impidiendo que se dediquen a tiempo completos en la culminación del proyecto y provocando retrasos en los avances que se realizan.
Refinamiento Causas Ofertas de trabajo durante el transcurso del desarrollo del proyecto Consecuencias Retraso en la culminación del proyecto Supervisión Contacto directo con el director del proyecto en los avances del desarrollo
Gestión del Riesgo Realizar un cronograma de trabajo para no tener inconvenientes durante el desarrollo del proyecto y cumplir con los avances que se piden. Estado Actual: En proceso Fase de reducción iniciada: 11/11/2013 Fase de supervisión inicial: 11/11/2013 Gestión Riesgo:
Responsable: Andrés Orozco
20
HOJA DE GESTION DE RIESGO ID del riesgo: R10 PROBABILIDAD: Media VALOR: 2
Fecha: 10 de Diciembre de 2013 IMPACTO: Critico VALOR: 4
EXPOSICICON: Alta VALOR: 8
Descripción: Los encargados del proyecto no cuentan con los conocimientos necesarios con respecto a las herramientas de programación que utilizaran para el desarrollo del proyecto, lo que provoca un gran problema al respecto y lo cual se debe tomar medidas que den solución a la problemática.
Refinamiento Causas Falta de conocimiento en el uso de herramientas de programación. Consecuencias Genera pérdida de tiempo en el aprendizaje de uso de estas herramientas. Supervisión Medirse en los tiempos en los cuales se reforzaran los conocimientos para el desarrollo del proyecto.
Gestión del Riesgo Al no tener conocimiento del uso de las herramientas de programación que se utilizaran durante el desarrollo del proyecto, se deberá realizar un auto aprendizaje para mejorar los conocimientos sin exceder los límites de tiempo que se han impuesto para la culminación del proyecto. Estado Actual: En proceso Fase de reducción iniciada: 10/12/2013 Fase de supervisión inicial: 10/12/2013 Gestión Riesgo:
Responsable: Carlos Yoong
21
3.2.1.5 Fase de Elaboración La fase de elaboración tiene como principal finalidad completar el análisis de los casos de uso y definir la arquitectura del sistema, además se obtiene una aplicación ejecutable que responde a los casos de uso que la comprometen. A pesar de que se desarrolla a profundidad una parte del sistema, las decisiones sobre la arquitectura se hacen sobre la base de la comprensión del sistema completo y los requerimientos (funcionales y no funcionales) identificados de acuerdo al alcance definido.
(EcuRed.
Fases
de
desarrollo
de
Software
RUP.
Recuperado
de:
http://www.ecured.cu/index.php/Proceso_Unificado_de_Desarrollo)
En esta Fase daremos a conocer los casos de uso que son la representación de los requerimientos mencionados desde el inicio del proyecto. También se dará a conocer los diagramas de secuencia y los de clase para que se tenga una visión general hacia donde está dirigido nuestro proyecto.
Casos de Uso DOCENTE
Caso Uso:
Ingreso de docente
Actor Primario:
Secretaria
Interesados y Objetivo:
Ingresar docente al sistema
Precondiciones:
-
Estar dentro del sistema bajo el perfil Secretaria.
Gramática de Éxito (poscondición):
-
Mensaje que notifica el ingreso de un docente al sistema
Escenario principal de éxito:
-
Llena la información. Acción guardar. Mensaje que se ha añadido docente.
Extensiones:
22
Caso Uso: Actor Primario: Interesados y Objetivo: Precondiciones: Gramática de Éxito (poscondición): Escenario principal de éxito: Extensiones:
Caso Uso: Actor Primario: Interesados y Objetivo: Precondiciones:
Editar Docente Secretaria Editar información del docente en el sistema -
Estar dentro del sistema bajo el perfil Secretaria Existencia del docente a ser editado.
Mensaje que notifica la modificación de la información de un docente -
Selecciona el docente a editar Edita los campos respectivos. Acción guardar almacena los cambios.
Buscar Docente
Buscar Docente Secretaria Consultar si el docente pertenece al sistema -
Estar dentro del sistema bajo el perfil Secretaria. Existencia de datos a consultar.
-
Ingreso filtro de búsqueda Acción buscar Se listan los docentes que coinciden con el filtro
Gramática de Éxito (poscondición): Escenario principal de éxito: Extensiones:
Caso Uso:
Eliminar Docente
Actor Primario:
Secretaria
Interesados y Objetivo:
Eliminar docentes del sistema
Precondiciones:
Gramática de Éxito (poscondición): Escenario principal de éxito: Extensiones:
-
Estar dentro del sistema bajo el perfil Secretaría Existencia de datos a eliminar
Mensaje que notifica la eliminación de un docente
-
Selecciona el docente Acción eliminar borra el docente
Buscar Docente
23
CURSO
Caso Uso:
Ingreso de Curso
Actor Primario:
Secretaria
Interesados y Objetivo:
Ingresar curso al sistema -
Precondiciones: Gramática de Éxito (poscondición):
Estar dentro del sistema bajo el perfil Secretaria.
Mensaje que notifica el ingreso de un curso al sistema
-
Escenario principal de éxito:
Llena la información. Acción guardar. Mensaje que se ha añadido el curso.
Extensiones:
Caso Uso: Actor Primario: Interesados y Objetivo: Precondiciones:
Editar Curso Secretaria Editar información del curso en el sistema Estar dentro del sistema bajo el perfil Secretaria Existencia del curso a ser editado.
Gramática de Éxito (poscondición):
Mensaje que notifica la modificación de la información de un curso -
Escenario principal de éxito: Extensiones:
Caso Uso: Actor Primario: Interesados y Objetivo: Precondiciones: Gramática de Éxito (poscondición): Escenario principal de éxito: Extensiones:
Selecciona el curso a editar Edita los campos respectivos. Acción guardar almacena los cambios.
Buscar Curso
Buscar Curso Secretaria Consultar si el curso pertenece al sistema -
Estar dentro del sistema bajo el perfil Secretaria. Existencia de datos a consultar.
-
Ingreso filtro de búsqueda Acción buscar Se listan los cursos que coinciden con el filtro
24
Caso Uso:
Eliminar Curso
Actor Primario:
Secretaria
Interesados y Objetivo:
Eliminar curso del sistema
Precondiciones: Gramática de Éxito (poscondición): Escenario principal de éxito: Extensiones:
-
Estar dentro del sistema bajo el perfil Secretaría Existencia de datos a eliminar
Mensaje que notifica la eliminación de un curso -
Selecciona el curso Acción eliminar borra el curso
Buscar Docente
ASIGNATURA
Caso Uso: Actor Primario: Interesados y Objetivo: Precondiciones: Gramática de Éxito (poscondición): Escenario principal de éxito:
Ingreso de Asignatura Secretaria Ingresar asignaturas al sistema Estar dentro del sistema bajo el perfil Secretaria. Mensaje que notifica el ingreso de una asignatura al sistema -
Llena la información. Acción guardar. Mensaje que se ha añadido la asignatura.
Extensiones:
Caso Uso: Actor Primario: Interesados y Objetivo: Precondiciones:
Editar Asignatura Secretaria Editar información de la asignatura en el sistema
Gramática de Éxito (poscondición):
Mensaje que notifica la modificación de la información de una asignatura
Escenario principal de éxito: Extensiones:
-
-
Estar dentro del sistema bajo el perfil Secretaria Existencia de la asignatura a ser editada.
Selecciona la asignatura a editar Edita los campos respectivos. Acción guardar almacena los cambios.
Buscar Asignatura
25
Caso Uso: Actor Primario: Interesados y Objetivo: Precondiciones:
Buscar Asignatura Secretaria Consultar si la asignatura pertenece al sistema -
Estar dentro del sistema bajo el perfil Secretaria. Existencia de datos a consultar.
-
Ingreso filtro de búsqueda Acción buscar Se listan los cursos que coinciden con el filtro
Gramática de Éxito (poscondición): Escenario principal de éxito: Extensiones:
Caso Uso:
Eliminar Asignatura
Actor Primario:
Secretaria
Interesados y Objetivo:
Eliminar asignatura del sistema -
Precondiciones: Gramática de Éxito (poscondición):
Mensaje que notifica la eliminación de una asignatura -
Escenario principal de éxito: Extensiones:
Estar dentro del sistema bajo el perfil Secretaría Existencia de datos a eliminar
Selecciona la asignatura Acción eliminar borra la asignatura
Buscar Asignatura
HORARIOS
Caso Uso: Actor Primario: Interesados y Objetivo: Precondiciones:
Creación de Horarios por Curso Secretaria Situar una asignatura de un curso a un día y hora específicos. Estar dentro del sistema bajo el perfil Secretaria. No debe haber solapamiento en las horas del docente que imparte la asignatura, ni del curso que la recibe.
Gramática de Éxito (poscondición):
El nombre de la asignatura y el docente que la imparte se ubican en la casilla del día y hora correspondiente.
Escenario principal de éxito:
Extensiones:
-
Seleccionar un curso. Seleccionar un día y hora. Seleccionar una asignatura. Se almacena la asignatura en el horario.
26
Caso Uso: Actor Primario: Interesados y Objetivo:
Eliminación de Horarios por Curso Secretaria Eliminar una asignatura de un curso a un día y hora específicos.
Precondiciones: Gramática de Éxito (poscondición):
-
Estar dentro del sistema bajo el perfil Secretaria. El nombre de la asignatura y el docente que la imparte se eliminan de la casilla del día y hora correspondiente.
Escenario principal de éxito:
-
Seleccionar un curso. Seleccionar un día y hora. Acción eliminar asignatura. Se elimina la asignatura en el horario.
Extensiones:
Caso Uso: Actor Primario: Interesados y Objetivo:
Creación de Horarios por Docente Secretaria Situar una asignatura de un docente a un curso, día y hora específicos.
Precondiciones:
-
Estar dentro del sistema bajo el perfil Secretaria. No debe haber solapamiento en las horas del docente que imparte la asignatura, ni del curso que la recibe.
Gramática de Éxito (poscondición):
-
El nombre de la asignatura y el curso al que pertenece se ubican en la casilla del día y hora correspondiente.
Escenario principal de éxito:
-
Seleccionar un docente. Seleccionar un día y hora. Seleccionar una asignatura. Se almacena la asignatura en el horario.
Extensiones:
Caso Uso:
Eliminación de Horarios por Docente
Actor Primario:
Secretaria
Interesados y Objetivo:
Eliminar una asignatura de un docente de un curso, día y hora específicos.
Precondiciones:
-
Estar dentro del sistema bajo el perfil Secretaria.
Gramática de Éxito (poscondición):
-
El nombre de la asignatura y curso al que pertenece se eliminan de la casilla del día y hora correspondiente.
Escenario principal de éxito:
-
Seleccionar un docente. Seleccionar un día y hora. Acción eliminar asignatura. Se elimina la asignatura en el horario.
Extensiones:
27
REPORTES
Caso Uso:
Reporte de Asignaturas.
Actor Primario:
Secretaria
Interesados y Objetivo:
Listar las asignaturas ordenadas por curso y en formato PDF.
Precondiciones:
-
Estar dentro del sistema bajo el perfil Secretaria.
-
Acción generar reporte de asignaturas Seleccionar un curso (opcional). Seleccionar un docente (opcional). Se genera el listado.
Gramática de Éxito (poscondición): Escenario principal de éxito:
Extensiones:
Caso Uso:
Reporte de Docentes.
Actor Primario:
Secretaria
Interesados y Objetivo:
Listar los docentes ordenadas en formato PDF.
Precondiciones:
-
Estar dentro del sistema bajo el perfil Secretaria.
-
Acción generar reporte de docentes Seleccionar un curso (opcional). Se genera el listado.
Gramática de Éxito (poscondición): Escenario principal de éxito:
Extensiones:
Caso Uso:
Reporte de Horarios por Curso.
Actor Primario:
Secretaria
Interesados y Objetivo:
Generar el horario por curso en formato PDF.
Precondiciones:
-
Estar dentro del sistema bajo el perfil Secretaria.
-
Acción generar reporte de horarios Seleccionar tipo “Por Curso” Seleccionar un curso (opcional). Se genera el horario.
Gramática de Éxito (poscondición): Escenario principal de éxito:
Extensiones:
28
Caso Uso: Actor Primario: Interesados y Objetivo: Precondiciones: Gramática de Éxito (poscondición): Escenario principal de éxito:
Reporte de Horarios por Docente. Secretaria Generar el horario por docente en formato PDF. Estar dentro del sistema bajo el perfil Secretaria.
-
Acción generar reporte de horarios Seleccionar tipo “Por Docente” Seleccionar un docente (opcional). Se genera el horario.
Extensiones:
Diagramas de Casos de Uso DOCENTE Ingresar docente Ingresar al sistema
Solicitar nuevo registro
SECRETARIA
Ilustración 1: Diagrama Caso de Uso Ingresar Docente Fuente: Los autores
Modificar docente Ingresar al sistema
SECRETARIA
Solicitar modificar docente
<<use>> <<use>>
Ilustración 2: Diagrama Caso de Uso Modificar Docente Fuente: Los autores
Consultar docente
29
Eliminar docente Ingresar al sistema <<use>>
Solicitar eliminar docente
SECRETARIA
<<use>>
Consultar docente
Ilustraci贸n 3: Diagrama de Caso de Uso Eliminar Docente Fuente: Los autores
Consultar docente Ingresar al sistema SECRETARIA Solicitar consulta de docente
Ilustraci贸n 4: Diagrama de Caso de Uso Consultar Docente Fuente: Los autores
CURSO Ingresar curso Ingresar al sistema SECRETARIA Solicitar nuevo registro
Ilustraci贸n 5: Diagrama de Caso de Uso Ingresar Curso Fuente: Los autores
30
Modificar curso Ingresar al sistema
SECRETARIA
Solicitar modificar curso
Consultar curso
<<use>>
Ilustraci贸n 6: Diagrama de Caso de Uso Modificar Curso Fuente: Los autores
Eliminar curso Ingresar al sistema <<use>> <<use>>
Solicitar eliminar curso
SECRETARIA
Consultar curso
Ilustraci贸n 7: Diagrama de Caso de Uso Eliminar Curso Fuente: Los autores
Consultar curso Ingresar al sistema
SECRETARIA
Solicitar consulta de curso
<<use>>
Ilustraci贸n 8: Diagrama de Caso de Uso Consultar Curso Fuente: Los autores
31
ASIGNATURA Ingresar Asignatura Ingresar al sistema SECRETARIA
Solicitar nuevo registro
Ilustraci贸n 9: Diagrama de Caso de Uso Ingresar Asignatura Fuente: Los autores
Modificar Asignatura Ingresar al sistema SECRETARIA
<<use>>
Solicitar modificar asignatura
Consultar asignatura
Ilustraci贸n 10: Diagrama de Caso de Uso Modificar Asignatura Fuente: Los autores
Eliminar Asignatura Ingresar al sistema
SECRETARIA
Solicitar eliminar asignaturas
<<use>>
Consultar asignatura s
Ilustraci贸n 11: Diagrama de Caso de Uso Eliminar Asignatura Fuente: Los autores
32
Consultar Asignatura Ingresar al sistema
Solicitar consulta de asignatura
SECRETARIA
Ilustraci贸n 12: Diagrama de Caso de Uso Consultar Asignatura Fuente: Los autores
HORARIO POR DOCENTE Creaci贸n Horario
Ingresar al sistema Consultar Docente SECRETARIA Solicitar crear horario por docente
<<use>>
Consultar asignatura
Consultar curso
Ilustraci贸n 13: Diagrama de Caso de Uso Creaci贸n Horario por Docente Fuente: Los autores
33
Eliminar Horario Ingresar al sistema
Consultar Docente
SECRETARIA Solicitar eliminar horario por docente Consultar curso
Ilustraci贸n 14: Diagrama de Caso de Uso Eliminar Horario por Docente Fuente: Los autores
HORARIO POR CURSO
Creaci贸n Horario
Ingresar al sistema
SECRETARIA
<<use>>
Solicitar crear horario por curso
Consultar asignatura
Consultar curso
Ilustraci贸n 15: Diagrama de Caso de Uso Creaci贸n de Horario por Curso Fuente: Los autores
34
Eliminar Horario
Ingresar al sistema
SECRETARIA
Solicitar eliminar horario por curso
Consultar curso
Ilustraci贸n 16: Diagrama de Caso de Uso Eliminar Horario por Curso Fuente: Los autores
REPORTES
Reporte Docente Ingresar al sistema
SECRETARIA
Solicitar reporte de Docente
Ilustraci贸n 17: Diagrama de Caso de Uso Reporte Docente Fuente: Los autores
35
Reporte Asignatura Ingresar al sistema
SECRETARIA
Solicitar reporte de asignaturas
Ilustraci贸n 18: Diagrama de Caso de Uso Reporte asignatura Fuente: Los autores
Reporte Horario por Docente Ingresar al sistema
SECRETARIA
Solicitar reporte de horario por docente
Ilustraci贸n 19: Diagrama de Caso de Uso Reporte Horario por Docente Fuente: Los autores
Reporte Horario por Curso Ingresar al sistema
SECRETARIA
Solicitar reporte de horario por curso
Ilustraci贸n 20: Diagrama de Caso de Uso Reporte Horario por Curso Fuente: Los autores
36
Diagramas de Secuencia INGRESAR DOCENTE
DOCENTE
SECRETARIA .INGRESAR (Id, Nombre, Apellido, Cedula, Titulo)
MSG de confirmación de ingreso FRM_MENU PRINCIPAL
ELIMINAR DOCENTE
DOCENTE
SECRETARIA .consultar() Envía la información .eliminar (id) MSG de confirmación de eliminación FRM_MENU PRINCIPAL
CONSULTAR DOCENTE
DOCENTE
SECRETARIA .consultar (id) Muestra los campos del docente seleccionado FRM_MENU PRINCIPAL
37
MODIFICAR DOCENTE
DOCENTE
SECRETARIA .consultar()
Envía la información .modificar (Id, Nombre, Apellido, Cedula, Titulo)
MSG de confirmación de modificación FRM_MENU PRINCIPAL
INGRESAR CURSO
CURSO
SECRETARIA
.ingresar (Id, Descripcion, Cupo actual , Cupo maximo) MSG de confirmación de ingreso FRM_MENU PRINCIPAL
38
ELIMINAR CURSO
CURSO
SECRETARIA .consultar () Envía la información .eliminar (id) MSG de confirmación de eliminación FRM_MENU PRINCIPAL
CONSULTAR CURSO
CURSO
SECRETARIA .consultar (id) Muestra los campos seleccionados FRM_MENU PRINCIPAL
MODIFICAR CURSO
SECRETARIA
.consultar () Devuelve la información
.Modificar (Id, Nivel, Paralelo, id_Docente) MSG de confirmación de modificación FRM_MENU PRINCIPAL
CURSO
39
INGRESAR ASIGNATURA
SECRETARIA
ASIGNATURA
DOCENTE
CURSO
.consultar () Envía la información .consultar () Envía la información .ingresar (Id, Descripcion, Hora clase,id_Docente,id_Curso) MSG de confirmación de ingreso FRM_MENU PRINCIPAL
ELIMINAR ASIGNATURA
ASIGNATURA
SECRETARIA Consultar () Devuelve la información
.eliminar (id) MSG de confirmación de eliminación FRM_MENU PRINCIPAL
40
CONSULTAR ASIGNATURA
SECRETARIA
ASIGNATURA .consultar (id)
Muestra los campos de la asignatura seleccionada FRM_MENU PRINCIPAL
MODIFICAR ASIGNATURA
SECRETARIA
ASIGNATURA
DOCENTE
CURSO
Consultar () Devuelve la informaciรณn .consultar () Devuelve la informaciรณn .consultar ()
Devuelve la informaciรณn .modificar (Id, Nombre_Asignatura, Hora clase, id_Docente,id_Curso) MSG de confirmaciรณn de modificaciรณn FRM_MENU PRINCIPAL
41
REPORTE ASIGNATURA
SECRETARIA
REPORTE
.consultar (id) Muestra una lista de las asignaturas en el sistema FRM_MENU PRINCIPAL
REPORTE DOCENTE
SECRETARIA
REPORTE
.consultar (id) Muestra una lista de los docentes en el sistema FRM_MENU PRINCIPAL
42
INGRESAR HORARIO
HORARIO
SECRETARIA
ASIGNATURA
DOCENTE
CURSO
Consultar () Devuelve la informaciรณn .consultar () Devuelve la informaciรณn .consultar () Devuelve la informaciรณn ingresar (Id, Asignatura, Hora clase, Docente, Curso) MSG de confirmaciรณn de modificaciรณn FRM_MENU PRINCIPAL
REPORTE HORARIO
SECRETARIA
REPORTE
.consultar (id) Muestra una lista del Horario realizado en el sistema FRM_MENU PRINCIPAL
43
Diagrama de Secuencia Refinados
INGRESAR DOCENTE /Sistema / : Docente
/ : Secretaria 1 : Nuevo registro()
2 : Genera nuevo formulario()
3 : Solicita Infomacion requerida() 4 : Dicta Informacion solicitada() 5 : Ingresa Informacion()
6 : Validacion()
7 : Mensaje de confirmacion de Ingreso()
8 : Muestra Menu Principal()
Ilustración 21: Diagrama de Secuencia Refinado Ingreso Docente Fuente: Los autores
MODIFICAR DOCENTE /Sistema / : Docente
/ : Secretaria 1 : Presenta identificacion() 2 : Busca registro()
3 : Carga registro()
4 : Solicita Informacion a modificar() 5 : Dicta Informacion a modificar() 6 : Modifica registro()
7 : Validacion()
8 : Mensaje de confirmacion de Modificacion()
9 : Muestra Menu Principal()
Ilustración 22: Diagrama de Secuencia Refinado Modificar Docente Fuente: Los autores
44
ELIMINAR DOCENTE
/ : Administrador
/ : Secretaria
/ : Sistema
1 : Notifica docente a eliminar()
2 : Busca registro()
3 : Carga registro()
4 : Confirma la eliminacion del docente()
5 : Guarda los datos()
6 : Muestra el Menu Principal()
Ilustraci贸n 23: Diagrama de Secuencia Refinado Eliminar Docente Fuente: Los autores
CONSULTAR DOCENTE
/ : Administrador
/ : Sistema 1 : Busca registro()
2 : Buscar registro en el formulario()
Ilustraci贸n 24: Diagrama de Secuencia Refinado Consultar Docente Fuente: Los autores
45
INGRESAR CURSO
/ : Secretaria
/ : Sistema 1 : Ingresa nuevo curso()
2 : Genera nuevo formulario()
3 : Ingresa la informacion del curso()
4 : Validacion()
5 : Mensaje de confirmacion de Ingreso de curso()
6 : Muestra Menu Principal()
Ilustraci贸n 25: Diagrama de Secuencia Refinado Ingresar Curso Fuente: Los autores
MODIFICAR CURSO
/ : Secretaria
/ : Sistema 1 : Busca Id del curso()
2 : Carga registro()
3 : Modifica curso seleccionado()
4 : Validacion()
5 : Mensaje de confirmacion de Modificacion()
6 : Muestra Menu Principal()
Ilustraci贸n 26: Diagrama de Secuencia Refinado Modificar Curso Fuente: Los autores
46
ELIMINAR CURSO
/ : Secretaria
/ : Sistema
1 : Buscar curso a eliminar()
2 : Carga registro en el formulario()
3 : Confirma datos del curso a eliminar()
4 : Elimina datos()
5 : Muestra mensaje de datos eliminados()
6 : Muestra Menu Principal()
Ilustraci贸n 27: Diagrama de Secuencia Refinado Eliminar Curso Fuente: Los autores
CONSULTAR CURSO
/ : Sistema
/ : Secretaria 1 : Buscar curso()
2 : Carga registro en el formulario()
Ilustraci贸n 28: Diagrama de Secuencia Refinado Consultar Curso Fuente: Los autores
47
INGRESAR ASIGNATURA
/ : Secretaria
/ : Sistema
/ : Docente
/ : Curso
1 : Consultar Id docente()
2 : Carga informacion solicitada() 3 : Consulta Id de Curso()
4 : Carga informacion solicitada() 5 : Ingresa Informacion requerida de asignatura()
6 : Validacion()
7 : Mensaje de ingreso de asignatura()
8 : Muestra Menu Principal()
Ilustraci贸n 29: Diagrama de Secuencia Refinado Ingresar Asignatura Fuente: Los autores
MODIFICAR ASIGNATURA
/ : Secretaria
/ : Sistema
/ : Docente
1 : Consultar Id docente()
2 : Carga informacion solicitada() 3 : Consulta Id de Curso()
4 : Carga informacion solicitada() 5 : Consultar asignatura a modificar()
6 : Carga informacion de datos() 7 : Modifica los datos()
8 : Muestra mensaje de Modificacion()
9 : Muestra Menu Principal()
Ilustraci贸n 30: Diagrama de Secuencia Refinado Modificar Asignatura Fuente: Los autores
/ : Curso
48
ELIMINAR ASIGNATURA
/ : Secretaria
/ : Sistema 1 : Consultar asignatura a eliminar()
2 : Carga informacion de datos() 3 : Elimina los datos()
4 : Muestra mensaje de Modificacion()
5 : Muestra Menu Principal()
Ilustraci贸n 31: Diagrama de Secuencia Refinado Eliminar Asignatura Fuente: Los autores
CONSULTAR ASIGNATURA
/ : Secretaria
/ : Sistema 1 : Consultar asigntura()
2 : Carga registros en el formulario()
Ilustraci贸n 32: Diagrama de Secuencia Refinado Consultar asignatura Fuente: Los autores
49
INGRESAR HORARIO POR DOCENTE
/ : Secretaria
/ : Sistema
/ : Asignatura
/ : Docente
1 : Consultar docente()
2 : Devuelve informacion() 3 : Consulta curso()
4 : Devuelve informacion() 5 : Consulta asignatura()
6 : Devuelve informacion() 7 : Ingresar nuevo horario()
8 : Validacion()
9 : Mensaje de confirmacion de Ingreso()
10 : Muestra Menu Principal()
Ilustraci贸n 33: Diagrama de Secuencia Refinado Ingresar Horario por Docente Fuente: Los autores
REPORTE HORARIO POR DOCENTE
/ : Secretaria
/ : Sistema
1 : Consulta reporte de horario()
2 : Carga datos solicitados()
Ilustraci贸n 34: Diagrama de Secuencia Refinado Reporte Horario por Docente Fuente: Los autores
/ : Curso
50
ELIMINAR HORARIO POR DOCENTE
/ : Secretaria
/ : Docente
/ : Sistema
/ : Curso
1 : Consulta docente()
2 : Devuelve Informacion() 3 : Consulta Curso()
4 : Devuelve Informacion() 5 : Solicita Eliminar horario()
6 : Carga datos solicitados() 7 : Elimina datos()
8 : Muestra mensaje de eliminacion()
Ilustraci贸n 35: Diagrama de Secuencia Refinado Eliminar Horario por Docente Fuente: Los autores
INGRESAR HORARIO POR CURSO
/ : Secretaria
/ : Sistema
/ : Asignatura
1 : Consulta asignatura()
2 : Devuelve informacion() 3 : Consulta Curso()
4 : Devuelve Informacion() 5 : Ingresa datos horario por curso()
6 : Validacion()
7 : Muestra mensaje de ingreso()
8 : Muestra Menu Principal()
Ilustraci贸n 36: Diagrama de Secuencia Refinado Ingresar Horario por Curso Fuente: Los autores
/ : Curso
51
ELIMINAR HORARIO POR CURSO
/ : Secretaria
/ : Sistema
/ : Curso
1 : Consulta Curso()
2 : Devuelve Informacion() 3 : Solicita Eliminar horario por curso()
4 : Carga datos solicitados() 5 : Elimina datos()
6 : Muestra mensaje de eliminacion()
Ilustraci贸n 37: Diagrama de Secuencia Refinado Eliminar Horario por Curso Fuente: Los autores
52
Diagramas de Colaboración
INGRESAR DOCENTE
Ilustración 38: Diagrama de Colaboración Ingresar Docente Fuente: Los autores
MODIFICAR DOCENTE
Ilustración 39: Diagrama de Colaboración Modificar Docente Fuente: Los autores
53
ELIMINAR DOCENTE
Ilustraci贸n 40: Diagrama de Colaboraci贸n Eliminar Docente Fuente: Lo autores
CONSULTAR DOCENTE
Ilustraci贸n 41: Diagrama de Colaboraci贸n Consultar Docente Fuente: Los autores
54
INGRESAR CURSO
Ilustraci贸n 42: Diagrama de Colaboraci贸n Ingresar Curso Fuente: Los autores
MODIFICAR CURSO
Ilustraci贸n 43: Diagrama de Colaboraci贸n Modificar Curso Fuente: Los autores
55
ELIMINAR CURSO
Ilustraci贸n 44: Diagrama de Colaboraci贸n Eliminar Curso Fuente: Los autores
CONSULTAR CURSO
Ilustraci贸n 45: Diagrama de Colaboraci贸n Consultar Curso Fuente: Los autores
56
INGRESAR ASIGNATURA
Ilustraci贸n 46: Diagrama de Colaboraci贸n Ingresar Asignatura Fuente: Los autores
MODIFICAR ASIGNATURA
Ilustraci贸n 47: Diagrama de Colaboraci贸n Modificar Asignatura Fuente: Los autores
57
ELIMINAR ASIGNATURA
Ilustraci贸n 48: Diagrama de Colaboraci贸n Eliminar asignatura Fuente: Los autores
CONSULTAR ASIGNATURA
Ilustraci贸n 49: Diagrama de Colaboraci贸n Consultar asignatura Fuente: Los autores
58
INGRESAR HORARIO POR DOCENTE
Ilustraci贸n 50: Diagrama de Colaboraci贸n Ingresar Horario por Docente Fuente: Los autores
ELIMINAR HORARIO POR DOCENTE
Ilustraci贸n 51: Diagrama de Colaboraci贸n Eliminar Horario por Docente Fuente: Los autores
59
REPORTE DE HORARIO POR DOCENTE
Ilustraci贸n 52: Diagrama de Colaboraci贸n Reporte de Horario por Docente Fuente: Los autores
INGRESAR HORARIO POR CURSO
Ilustraci贸n 53: Diagrama de Colaboraci贸n Ingresar Horario por Curso Fuente: Los autores
60
ELIMINAR HORARIO POR CURSO
Ilustraci贸n 54: Diagrama de Colaboraci贸n Eliminar Horario por Curso Fuente: Los autores
61
ď&#x192;&#x2DC;
Diagrama de Clase
IlustraciĂłn 55: Diagrama de Clase Fuente: Los autores
62
Modelo Lógico de Datos
Ilustración 56: Diagrama Modelo Lógico de Datos Fuente: Los autores
Diagrama de Componentes
Componentes Externos
Ilustración 57: Diagrama de Componentes Externos Fuente: Los autores
63
Componentes Internos
Ilustración 58: Diagrama de Componentes Internos Fuente: Los autores
Diagrama de Implementación o Despliegue
Ilustración 59: Diagrama de Implementación Fuente: Los autores
64
3.2.1.6 Fase de Construcción La fase de construcción está compuesta por un ciclo de varias iteraciones, en las cuales se van incorporando sucesivamente los casos de uso, de acuerdo a los factores de riesgo del proyecto. Este enfoque permite por ejemplo contar en forma temprana con versiones el sistema que satisfacen los principales casos de uso. Los cambios en los requerimientos no se incorporan hasta el inicio de la próxima iteración. (EcuRed. Fases de desarrollo de Software RUP. Recuperado de: http://www.ecured.cu/index.php/Proceso_Unificado_de_Desarrollo)
En esta Fase se mostrará las interfaces de diseño, el modelo de la Base de Datos y parte del código de la aplicación que se ha realizado en referencia al desarrollo del módulo de creación de horarios.
Interfaces de Diseño de la Aplicación
Módulo de Curso
Grafico 1: Interfaz de Diseño Ingresar Curso Fuente: Los autores
65
Grafico 2: Interfaz de Dise単o Modificar Curso Fuente: Los autores
Grafico 3: Interfaz de Dise単o Buscar Curso Fuente: Los autores
66
Grafico 4: Interfaz de Diseño Eliminar Curso Fuente: Los autores
Módulo de Docentes
Grafico 5: Interfaz de Diseño Ingresar Docente Fuente: Los autores
67
Grafico 6: Interfaz de Dise単o Modificar Docente Fuente: Los autores
Grafico 7: Interfaz de Dise単o Buscar Docente Fuente: Los autores
68
Grafico 8: Interfaz de Dise単o Eliminar Docente Fuente: Los autores
Grafico 9: Interfaz de Dise単o Reporte de Docente Fuente: Los autores
69
Módulo de Asignaturas
Grafico 10: Interfaz de Diseño Ingresar Asignatura Fuente: Los autores
Grafico 11: Interfaz de Diseño Modificar Asignatura Fuente: Los autores
70
Grafico 12: Interfaz de Dise単o Buscar Asignatura Fuente: Los autores
Grafico 13: Interfaz de Dise単o Eliminar asignatura Fuente: Los autores
71
Grafico 14: Interfaz de Diseño Reporte de asignatura Fuente: Los autores
Módulo de Horario por Curso
Grafico 15: Interfaz de Diseño Creación de Horario por Curso Fuente: Los autores
72
Grafico 16: Interfaz de Diseño Eliminación de Horario por Curso Fuente: Los autores
Grafico 17: Interfaz de Diseño Reporte de Horario por Curso Fuente: Los autores
73
Módulo de Horario por Docente
Grafico 18: Interfaz de Diseño Creación de Horario por Docente Fuente: Los autores
Grafico 19: Interfaz de Diseño Eliminación de Horario por Docente Fuente: Los autores
74
Grafico 20: Interfaz de Diseño Reporte de Horario por Docente Fuente: Los autores
Modelo Físico de la Base de Datos
Modelo General
Grafico 21: Modelo General de la Base de Datos Fuente: Los autores
75
Módulo de Creación de Horarios
Grafico 22: Modelo de la Base de Datos del Módulo de Creación de Horarios Fuente: Los autores
Código de la aplicación
En esta sección no se dará a conocer todo el código que se realizó en el desarrollo de la aplicación debido a que es muy extenso, por tal razón solo se mostrará un fragmento del mismo, en el cual se da a conocer la conexión con la base de datos y la relación que este tiene con la aplicación.
Grafico 23: Código de la aplicación Fuente: Los autores
76
Grafico 24: C贸digo de la aplicaci贸n Fuente: Los autores
77
Grafico 25: Código de la aplicación Fuente: Los autores
3.2.1.7 Fase de Transición
“La fase de transición se inicia con una versión “beta” del sistema y culmina con el sistema en fase de producción.” (Según EcuRed). Fases de desarrollo de Software
RUP.
Recuperado
de:
http://www.ecured.cu/index.php/Proceso_Unificado_de_Desarrollo
3.3 Formulación de la hipótesis de trabajo La utilización del Módulo de Creación de Horarios reduce el tiempo de elaboración de horarios de clase por parte del personal administrativo en la Unidad Educativa “Sagrados Corazones”.
IV.
METODOLOGÍA DE INVESTIGACIÓN
4.1 Diseño / Tipo de Investigación El tipo de investigación que tiene el Plan de Tesis a desarrollarse es de campo, ya que nos permite recolectar, analizar y destacar los aspectos fundamentales de la problemática para llegar a una solución factible de acuerdo con los objetivos del proyecto. En esta modalidad la investigación es de forma directa ya que se obtuvo la información de manera personal con los administrativos de la Unidad Educativa “Sagrados Corazones” en la cual se logró obtener la información necesaria para realizar el desarrollo del proyecto.
4.2 Población En el Plan de Tesis a desarrollarse la población está destinada al personal académico de la Unidad Educativa “Sagrados Corazones” el cual cuenta con un número inferior a 50 individuos de personal, por lo tanto no se aplicará una muestra debido a que el número de la población a estimarse es muy bajo.
4.3 Técnicas e Instrumentos para recogida de datos 4.3.1 Entrevista
La entrevista es un acto de comunicación oral que se establece entre dos o más personas con el fin de obtener una información o una opinión, o bien para conocer la personalidad de alguien por medio de una serie de preguntas planteadas y
78
79
organizadas. Esta técnica nos ayudará para obtener información de todos los requisitos y procesos que requiere el módulo de creación de horarios. 4.3.2
Observación
La observación es una técnica que consiste en poner atención, a través de los sentidos, en un aspecto de la realidad y en recoger datos para su posterior análisis e interpretación de la cual nos permite sacar conclusiones y tomar decisiones respecto con el desarrollo de la investigación que se esté realizando.
4.4 Técnicas de análisis de datos Para realizar el proceso de la información y análisis de los datos, se utilizará la técnica investigativa cualitativa, en los cuales los datos presentados de manera verbal a través de las entrevistas y revisión documental nos darán un enfoque claro del problema. La información presentada por parte de los administrativos de la Unidad Educativa fue de gran ayuda para la realización del proyecto, ya que nos permitieron analizar sus requerimientos y necesidades para así poder continuar con el desarrollo del proyecto.
V.
5.1
RESULTADOS
Conclusiones
La administración de horarios mediante un sistema informático evita cometer errores comunes como el solapar horas o personal.
El diseño del módulo de creación de horarios cumple a cabalidad con los requerimientos establecidos por la Institución.
El módulo de creación de horarios se desarrolló con interfaces fáciles de usar que permiten al usuario administrar de manera eficiente y eficaz el sistema.
La implementación del módulo de horario como parte del Sistema Académico ha sido satisfactorio y aprobado por parte de los administrativos de la Unidad Educativa “Sagrados Corazones”.
80
81
5.2
Recomendaciones
Revisar el manual de usuario y manual técnico del Módulo de Creación de Horarios para guiarse correctamente en el manejo e instalación de los componentes del sistema
Se recomienda la utilización del módulo de gestión de horarios, acompañado con los procesos de administración de docentes, cursos y asignaturas; en la totalidad de la planta docente y la malla curricular de la institución.
Capacitar al personal encargado del Sistema Académico en el manejo, instalación y configuración de los componentes necesarios para evitar problemas en el uso del mismo.
Se deberá tener al alcance de los administradores del sistema los manuales y documentación para resolver problemas que se presenten en el transcurso del manejo de la aplicación.
BIBLIOGRAFÍA
Alfonso Galipienso, (2005). Ingeniería en Software (Séptima ed.). Madrid: Pearson Educación.
García Llinás, L.F. (2010). Programación orientada a objetos en Java. Barranquilla: Grupo Editorial Ibánez.
Hernández, Roberto (1997). Metodología de la investigación, McGRAW- Hill Interamericana, México
Holzner, S (2009). Jquery: Visual QuickStart Guide. United State of America: Peachpit Press
Pons, O (2009). Introducción a las bases de datos: el modelo relacional. Madrid, España: Editorial Paraninfo
Sonmerville, I & Galipienso, M (2005). Ingeniería del Software. Madrid. Pearson Addison- Wesley
Toledo, Miguel (2010). Metodología de la investigación, México, Interamericana Editores.
82
LINCOGRAFIA
Portal Educativo. Tipos de Sistema de Información. Recuperado de: http://www.tiposde.org/informatica/89-tipos-de-sistemas-de-informacion/
Portal Web. Norma ISO. Recuperado de: http://www.iso.org/iso/home/store/catalogue_tc/cataloque_detail.html?csnumber=43 447
Jorge A. Saavedra Gutiérrez. Mundo Informativo. Lenguaje de Programación. Recuperado
de:
http://jorgesaavedra.wordpress.com/2007/05/05/lenguajes-de-
programacion/
Luis R. Castellanos. Metodologías para el Desarrollo de Sistemas de Información. Recuperado
de:
http://desarrollodesistemas.wordpress.com/2009/07/21/metodologias-para-eldesarrollo-de-sistemas-de-informacion/
Portal Web. Tamaño de la Muestra. Recuperado de: http://www.slideshare.net/kriss2505/tamao-de-la-muestra
Portal Web. Técnicas de recolección de datos. Recuperado de: http://www.materialesdelenagua.org/EXPERIENCIAS/PRENSA/F_entrevista_web.p df http://www.slideshare.net/Prymer/anlisis-de-datos-3631192
EcuRed. Fases de desarrollo de Software RUP. Recuperado de: http://www.ecured.cu/index.php/Proceso_Unificado_de_Desarrollo
83
84
ANEXOS
85
ANEXO 1
86
Especificación de Requerimientos del Sistema Proyecto: ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DEL MÓDULO DE CREACIÓN DE HORARIOS
87
ÍNDICE DE CONTENIDOS
I.
INTRODUCCIÓN ...................................................................................... 89
1.1
Propósito de Especificación de Requerimientos ..................................................... 89
1.2
Alcance del Producto .............................................................................................. 89
1.3
Definiciones, acrónimos y abreviaturas. ................................................................. 89
1.4
Referencias .............................................................................................................. 90
1.5
Resumen Ejecutivo.................................................................................................. 90
II.
DESCRIPCIÓN GENERAL ...................................................................... 91
2.1
Perspectiva del Producto ......................................................................................... 91
2.2
Funciones del Producto ........................................................................................... 91
2.3
Características de los usuarios ................................................................................ 91
2.4
Restricciones generales ........................................................................................... 91
2.5
Asunciones y Dependencias. ................................................................................... 92
III.
ESPECIFICACIONES DE REQUERIMIENTOS. ................................. 93
3.1
Requerimientos funcionales .................................................................................... 93
3.1.1
Requerimiento funcional 1: INGRESO DE NUEVO CURSO ............................... 93
3.1.2
Requerimiento funcional 2: MODIFICACIÓN DE CURSO .................................. 93
3.1.3
Requerimiento funcional 3: ELIMINACIÓN DE CURSOS .................................. 94
3.1.4
Requerimiento funcional 4: CANCELAR DATOS CURSO.................................. 94
3.1.5 Requerimiento funcional 5: BUSCAR CURSOS INGRESADOS EN EL SISTEMA ............................................................................................................................................. 94 3.1.6
Requerimiento funcional 6: INGRESO DE REGISTRO DOCENTES .................. 95
3.1.7
Requerimiento funcional 7: MODIFICACIÓN DEL REGISTRO DE DOCENTES95
3.1.8
Requerimiento funcional 8: ELIMINACIÓN DEL REGISTRO DE DOCENTES95
3.1.9
Requerimiento funcional 9: CANCELAR DATOS DOCENTE ............................ 96
3.1.10 Requerimiento funcional 10: BUSCAR DOCENTES INGRESADOS EN EL SISTEMA ............................................................................................................................ 96 3.1.11 Requerimiento funcional 11: INGRESO DE REGISTRO DE ASIGNATURAS ... 96 3.1.12 Requerimiento funcional 12: MODIFICACIÓN DEL REGISTRO DE ASIGNATURAS ................................................................................................................. 97 3.1.13 Requerimiento funcional 13: ELIMINACIÓN DEL REGISTRO DE ASIGNATURAS ................................................................................................................. 97 3.1.14 Requerimiento funcional 14: CANCELAR DATOS ASIGNATURA .................... 97
88
3.1.15 Requerimiento funcional 15: BUSCAR ASIGNATURAS INGRESADAS EN EL SISTEMA ............................................................................................................................ 98 3.1.16 Requerimiento funcional 16: CREACIÓN DE HORARIOS POR DOCENTE ....... 98 3.1.17 Requerimiento funcional 17: CREACIÓN DE HORARIOS POR CURSO ............. 98 3.1.18 Requerimiento funcional 18: ELIMINACIÓN DE HORARIOS POR DOCENTE . 99 3.1.19 Requerimiento funcional 19: ELIMINACIÓN DE HORARIOS POR CURSO ...... 99 3.1.20 Requerimiento funcional 20: REPORTE POR DOCENTE...................................... 99 3.1.21 Requerimiento funcional 21: REPORTE POR ASIGNATURA ............................ 100 3.1.22 Requerimiento funcional 22: REPORTE DE HORARIOS POR CURSO ............. 100 3.1.23 Requerimiento funcional 23: REPORTE DE HORARIOS POR DOCENTE ........ 100 3.2
Requisitos comunes de las interfaces ...................................................................... 101
3.2.1 Interfaces de Usuario .............................................................................................. 101 3.2.2 Interface de Hardware ............................................................................................. 101 3.2.3 Interface de Software .............................................................................................. 101 3.2.4 Interface de Comunicaciones .................................................................................. 101 3.3
Requerimientos de rendimiento .............................................................................. 101
3.4
Restricciones de diseño........................................................................................... 102
3.4.1
Estándares a seguir ................................................................................................. 102
3.4.2
Limitaciones de hardware ...................................................................................... 102
3.4.3
Limitaciones de software ....................................................................................... 102
3.5
Requisitos No funcionales ...................................................................................... 103
3.5.1
Disponibilidad ........................................................................................................ 103
3.5.2
Seguridad ............................................................................................................... 103
3.5.3
Mantenibilidad ...................................................................................................... 103
3.5.4 Transferibilidad ...................................................................................................... 103 3.5.5
Exactitud ................................................................................................................ 103
89
I.
INTRODUCCIÓN
1.1 Propósito de Especificación de Requerimientos
El presente documento es el medio por el cual se establecerá los parámetros para la elaboración del módulo de creación de horarios como parte del Sistema de Gestión Académico que se implementara en el Centro Educativo Sagrados Corazones, en base al análisis de las necesidades encontradas al momento de llevar la administración y distribución adecuada de horarios de estudio, dentro de este sistema educativo. Para que los involucrados directamente con el sistema académico puedan realizar de una manera más eficaz sus labores diarias y no tengan inconvenientes a la hora de definir sus horarios de clases.
1.2 Alcance del Producto Considerando la rigurosa abstracción de los requerimientos y considerando los procesos que a nuestro criterio podrían ser automatizados, nos hemos propuesto cumplir con lo siguiente: Nuestro SGA permitirá la elaboración de horarios que tendrá una relación directa con el docente, materia y el curso del cual imparte sus labores. El sistema generara una elaboración de horarios de clase que estará destinada específicamente para los docentes de la Institución.
1.3 Definiciones, acrónimos y abreviaturas. DFD: Diagrama de Flujo de Datos SRS: Especificación de requisitos de software SGBD: Sistema de Gestión de Base de Datos SGA: Sistema de Gestión Académica
90
1.4 Referencias Análisis estructurado moderno de Edward Yourdon. Ingeniería del Software por Roger Pressman 6th Edition McGraw-Hill Guía del IEEE 830 para la Especificación de Requerimientos de Software.
1.5 Resumen Ejecutivo Este documento consta de tres secciones. En la primera sección se realiza una introducción al mismo y se proporciona una visión general de la especificación de recursos del sistema En la segunda sección del documento se realiza una Descripción general del sistema, con el fin de conocer las principales funciones que este debe realizar. Por último la tercera sección del documento es aquella en la que se definen detalladamente los requisitos que debe satisfacer el sistema. La intensión de este proyecto es permitir un mejor manejo del tiempo y actividades para un mejor desempeño en el ámbito académico. El presente proyecto está realizado por personal calificado, con una gran experiencia en el ámbito de programación, desarrollo de software y redes informáticas.
91
II.
DESCRIPCIÓN GENERAL
2.1 Perspectiva del Producto Por medio de nuestro producto aspiramos mostrar nuestra calidad, responsabilidad y eficacia, para así adentrarnos en el mercado competitivo donde podamos seguir exponiendo el potencial de nuestro estilo de desarrollar un software de garantía.
2.2 Funciones del Producto Las funciones para las que nos comprometemos a cumplir con nuestro cliente son:
Administración de Asignaturas
Administración de Cursos
Administración de Docentes
Administración de Horarios
2.3 Características de los usuarios
Usuario SECRETARIA DOCENTE ESTUDIANTES VICERRECTORADO ADMINISTRADOR
Persona que tiene acceso ADMINISTRACIÓN DE ESTUDIANTES ADMINISTRACION DE DOCENTES POR ASIGNATURA INGRESO DE NOTAS REPORTE DE NOTAS INDIVIDUAL PORCENTAJE DE LOS ESTUDIANTES DE UN CURSO POR MATERIAS ADMINISTRACIÓN DE USUARIOS
2.4 Restricciones generales -
Prohibición total o parcial de la copia o reproducción del software
-
El sistema debe ser utilizado dentro de una red interna de la empresa para evitar fallos en el mismo.
-
La empresa debe capacitar al personal en el ámbito computacional
-
Se restringe el acceso a los programas que permiten el manejo y modificación de la base de datos por fines de seguridad.
92
2.5 Asunciones y Dependencias. -
Servidor o Software
Sistema Operativo CentOS versión 6.0 o superior, por el tema de actualizaciones, debido a que éste tendrá soporte de hasta diez años.
Servicio Web Apache con PHP5.- Para poder publicar el sistema web en la red local.
Servicio de base de datos PostgreSQL 9 o superior.- para almacenar la información.
Acceso a Internet para recibir actualizaciones de software.
o Hardware
-
Procesador Core 2 Duo, 2Ghz.
Memoria RAM 1Gb.
Disco duro 200Gb.
Red local 100Mbps
Protección eléctrica.
Clientes o Software
Navegador web compatible con W3C y Ajax.- pueden ser dispositivos móviles como smartphones o tablets.
o Hardware
Dispositivo con capacidad de navegación web.
Impresora (Opcional para reportes)
93
III.
ESPECIFICACIONES DE REQUERIMIENTOS.
A continuación se detallara los requerimientos de software que se necesitan para el buen funcionamiento del “Sistema de Gestión Académica”.
3.1 Requerimientos funcionales 3.1.1 Requerimiento funcional 1: INGRESO DE NUEVO CURSO
Introducción
El Administrador ingresa la información acerca de los cursos que se va a crear.
Entradas
Escoger la carrera y el tipo de curso que se va a crear
Procesos
Elegir la carrera a la cual se le va a crear los cursos Escribir el nombre del curso que necesita Una vez ingresada la información correctamente seleccionar guardar
Salidas
Se despliega un mensaje que muestra que la información se ha guardado con éxito y con el id respectivamente
3.1.2 Requerimiento funcional 2: MODIFICACIÓN DE CURSO
Introducción
Permite efectuar cambios en el registro de los cursos ante posibles errores o cambios.
Entradas
Datos a modificar del curso.
Procesos
Seleccionar el curso que se desea modificar Cambiar los datos que se requieran Una vez modificado o corregidos los datos, seleccionar guardar
Salidas
Se despliega un mensaje que los datos han sido modificados.
94
3.1.3 Requerimiento funcional 3: ELIMINACIÓN DE CURSOS
Introducción
El administrador elige el curso que desea eliminar
Entradas
Selección del curso que se desea eliminar
Procesos
Escoger el curso que se desea eliminar Nos muestra un mensaje para confirmar nuestra decisión de eliminar el curso, si estamos seguros de hacerlo damos click en aceptar Se despliega un mensaje que los datos han sido eliminados correctamente.
Salidas
3.1.4 Requerimiento funcional 4: CANCELAR DATOS CURSO
Introducción
Permite deshacer ingreso, modificación y eliminación de nueva información de los cursos
Entradas
Cuando se ingresa, modifica o elimina información de curso se puede cancelar dicha petición.
Procesos
Seleccionar la opción cancelar para deshacer la información ingresada Se limpian los campos donde se ingresa los datos y se bloquean dichos campos
Salidas
3.1.5 Requerimiento funcional 5: BUSCAR CURSOS INGRESADOS EN EL SISTEMA Introducción
El administrador ingresa el nombre de la carrera o el tipo de curso que desea encontrar, el sistema lo busca en la base de datos y finalmente se muestra los datos del mismo.
Entradas
Nombre de la carrera Tipo de curso que desea buscar
Procesos
En la opción filtro escribir el tipo de carrera o curso que desea buscar
Salidas
Se filtra y muestra solo la información de lo que se busco
95
3.1.6 Requerimiento funcional 6: INGRESO DE REGISTRO DOCENTES
Introducción
El administrador correspondiente ingresa la información requerida de los docentes.
Entradas
Datos del docente.
Procesos
Se Ingresa los datos personales de los docentes y se procede a guardar la información Se despliega un mensaje que muestra que los datos se han guardado con éxito y con su Id correspondiente.
Salidas
3.1.7 Requerimiento funcional 7: MODIFICACIÓN DEL REGISTRO DE DOCENTES
Introducción
Permite efectuar cambios en el registro de los docentes ante posibles errores o cambios.
Entradas
Datos a modificar del Docente.
Procesos
Seleccionar el docente a ser modificado. Ingresar los cambios respectivamente Guardar la información Se despliega un mensaje que muestra que los datos se han modificado correctamente.
Salidas
3.1.8 Requerimiento funcional 8: ELIMINACIÓN DEL REGISTRO DE DOCENTES
Introducción
El administrador elige al docente que desea eliminar, el sistema lo busca en la base de datos y lo elimina
Entradas
Seleccionar la opción eliminar docente
Procesos
Se escoge al docente que se desea eliminar y se confirma con la petición requerida
Salidas
Se despliega un mensaje que muestra que el docente ha sido eliminado
96
3.1.9 Requerimiento funcional 9: CANCELAR DATOS DOCENTE
Introducción
Permite deshacer ingreso, modificación y eliminación de nueva información de los docentes
Entradas
Cuando se ingresa, modifica o elimina información de los docentes se puede cancelar dicha petición.
Procesos
Seleccionar la opción cancelar para deshacer la información ingresada
Salidas
Se limpian los campos donde se ingresa los datos y se bloquean dichos campos
3.1.10 Requerimiento funcional 10: BUSCAR DOCENTES INGRESADOS EN EL SISTEMA
Introducción
Entradas
El administrador ingresa el nombre o el tipo de cargo que ocupa el docente que desea encontrar, el sistema lo busca en la base de datos y finalmente se muestra los datos del mismo. Nombre del docente Tipo de cargo que desea buscar
Procesos
En la opción filtro escribir el nombre o tipo de cargo del docente que desea buscar
Salidas
Se filtra y muestra solo la información de lo que se busco
3.1.11 Requerimiento funcional 11: INGRESO DE REGISTRO DE ASIGNATURAS
Introducción
El administrador ingresa la información requerida de las asignaturas a crearse
Entradas
Datos referentes a las asignaturas.
Procesos
Se Ingresa los datos de la asignatura y se procede a guardar la información
Salidas
Se despliega un mensaje que muestra que los datos se han guardado con éxito y con su Id correspondiente.
97
3.1.12 Requerimiento funcional 12: MODIFICACIÓN DEL REGISTRO DE ASIGNATURAS
Introducción
Permite efectuar cambios en el registro de las asignaturas ante posibles errores o cambios.
Entradas
Datos a modificar de la asignatura
Procesos
Seleccionar la asignatura a ser modificada. Ingresar los cambios respectivamente Guardar la información Se despliega un mensaje que muestra que los datos se han modificado correctamente.
Salidas
3.1.13 Requerimiento funcional 13: ELIMINACIÓN DEL REGISTRO DE ASIGNATURAS
Introducción El administrador elige la asignatura que desea eliminar, el sistema lo busca en la base de datos y lo elimina Entradas
Se escoge la asignatura que se desea eliminar y se confirma con la petición requerida
Procesos
Seleccionar la asignatura a ser modificada. Ingresar los cambios respectivamente Guardar la información Se despliega un mensaje que muestra que la asignatura ha sido eliminada
Salidas
3.1.14 Requerimiento funcional 14: CANCELAR DATOS ASIGNATURA
Introducción
Permite deshacer ingreso, modificación y eliminación de nueva información de la asignatura
Entradas
Cuando se ingresa, modifica o elimina información de las asignaturas se puede cancelar dicha petición.
Procesos
Seleccionar la opción cancelar para deshacer la información ingresada
Salidas
Se limpian los campos donde se ingresa los datos y se bloquean dichos campos
98
3.1.15 Requerimiento funcional 15: BUSCAR ASIGNATURAS INGRESADAS EN EL SISTEMA
Introducción
Entradas
El administrador ingresa la carrera, curso, asignatura o docente que desea encontrar, el sistema lo busca en la base de datos y finalmente se muestra los datos del mismo. Carrera, cursos, asignatura o nombre del docente
Procesos
En la opción filtro escribir la información de lo que desea buscar
Salidas
Se filtra y muestra solo la información de lo que se busco
3.1.16 Requerimiento funcional 16: CREACIÓN DE HORARIOS POR DOCENTE
Introducción Entradas Procesos
Salidas
El administrador selecciona al docente que desea asignarle un horario de clases. Docente que se desea darle un horario de clases Seleccionar al docente Luego seleccionar el día y hora que se le desea dar en el horario de clases Elegir la carrera, curso y asignatura que el docente va a enseñar Se guarda la información que se ha asignado respectivamente acerca de los horarios de clases de los docentes
3.1.17 Requerimiento funcional 17: CREACIÓN DE HORARIOS POR CURSO
Introducción
El administrador selecciona la carrera y el curso para asignarle un horario de clases.
Entradas
Carrera y curso que se desea darle un horario de clases
Procesos
Selecciona la carrera y el curso Luego seleccionar el día y hora que se le desea dar en el horario de clases Elegir la asignatura que se desea dar en ese horario de clases Se guarda la información que se ha asignado respectivamente acerca de los horarios de clases
Salidas
99
3.1.18 Requerimiento funcional 18: ELIMINACIÓN DE HORARIOS POR DOCENTE
Introducción
El administrador selecciona al docente que desea eliminar un horario de clases ya establecido anteriormente.
Entradas
Docente que se desea eliminar un horario de clases
Procesos
Seleccionar al docente Elegir la carrera, curso y asignatura que desea eliminar del docente Se guarda la información que se ha asignado respectivamente acerca de los horarios de clases de los docentes
Salidas
3.1.19 Requerimiento funcional 19: ELIMINACIÓN DE HORARIOS POR CURSO
Introducción
El administrador selecciona la carrera y el curso para eliminar un horario de clases.
Entradas
Carrera, asignatura y curso que se desea quitar del horario de clases
Procesos
Selecciona la carrera, el curso y docente Elegir la asignatura que se desea quitar del horario de clases
Salidas
Se guarda la información que se ha asignado respectivamente acerca de los horarios de clases
3.1.20 Requerimiento funcional 20: REPORTE POR DOCENTE
Introducción
El administrador selecciona un curso para mostrar el reporte solicitado.
Entradas
Curso que se desea mostrar
Procesos
Selecciona el curso
Salidas
En un listado se muestra la información solicitada
100
3.1.21 Requerimiento funcional 21: REPORTE POR ASIGNATURA
Introducción
El administrador selecciona un curso y docente para mostrar el reporte solicitado.
Entradas
Docente y curso que se desea mostrar
Procesos
Selecciona curso Selecciona docente
Salidas
En un listado se muestra la información solicitada
3.1.22 Requerimiento funcional 22: REPORTE DE HORARIOS POR CURSO
Introducción
El administrador selecciona el tipo de curso y un curso.
Entradas
Curso que se desea mostrar
Procesos
Selecciona tipo de curso Selecciona un curso
Salidas
En un listado se muestra la información solicitada
3.1.23 Requerimiento funcional 23: REPORTE DE HORARIOS POR DOCENTE
Introducción
El administrador selecciona tipo docente y un docente para mostrar el reporte solicitado.
Entradas
Docente que se desea mostrar
Procesos
Selecciona tipo de docente Selecciona un docente
Salidas
En un listado se muestra la información solicitada
101
3.2 Requisitos comunes de las interfaces 3.2.1 Interfaces de Usuario
Se utiliza una interfaz html para garantizar la compatibilidad con diversos sistemas que tengan la capacidad de navegar en un sitio web.
3.2.2 Interface de Hardware - Mouse
- Teclado - Computadora - Monitor - Impresora
3.2.3 Interface de Software -
Sistema Operativo: Indefinido
-
Navegador Web: compatible con W3C y Ajax
-
Impresora
3.2.4 Interface de Comunicaciones
Red local (LAN) para empresas que funcionen al interior de un único inmueble.
3.3
Requerimientos de rendimiento
Para nuestro sistema hemos previsto una velocidad de respuesta de 2.5 SEGUNDOS por promedio tomando en cuenta la velocidad de las máquinas que fueron requeridas por nosotros, así como también las funciones desde las más sencillas hasta las más
102
complejas. En cuanto a los fallos que pueden presentarse con nuestro producto, como empresa hemos previsto un intervalo de SEIS MESES entre cada fallo. En el momento de presentarse alguna falla, dependiendo del tipo de desperfecto que se presente, el tiempo para reparación está comprendido entre UN MINUTO y DOS HORAS como máximo.
3.4
Restricciones de diseño
3.4.1 Estándares a seguir -Modelo Entidad-Relación -Metodología RUP (Rational Unified Process) -Modelo UML (Unified Modeling Language)
3.4.2 Limitaciones de hardware
Capacidad de almacenamiento del Servidor en cuanto al disco duro por posible crecimiento de la BBD.
3.4.3 Limitaciones de software Las aplicaciones web se limitan al ser ejecutadas en una arquitectura cliente – servidor, específicamente debido a que la parte del lado del cliente es ejecutada en un navegador web y no en el sistema operativo directamente como una aplicación de escritorio. El navegador web tiene limitaciones de seguridad que le impiden usar gran cantidad de mejoría y procesamiento. Debido a que el sistema web que se desarrolla es de bajo consumo computacional, estas limitaciones no afectan su óptimo funcionamiento.
103
3.5
Requisitos No funcionales
3.5.1 Disponibilidad Por su costo y necesidad por parte de las empresas nuestro producto, podrá a futuro ser mayormente difundido y por lo tanto disponible en cuanto sea requerido por cualquier empresa que desee obtener sus beneficios, para lo cual decidimos implementar mayor información al respecto en nuestra dirección de correo electrónico daorozcod@gmail.com.
3.5.2 Seguridad Garantizamos la calidad de nuestro producto siempre y cuando no se manipule la base de datos o el sistema por terceros.
3.5.3 Mantenibilidad Se efectuara visitas para realizar el respectivo mantenimiento DOS veces al año, este podrá ser preventivo, y en caso que el cliente lo requiera se realizara el Mantenimiento correctivo.
3.5.4 Transferibilidad Nuestro sistema al ser un proyecto realizado para la Unidad Educativa “Sagrados Corazones” no podrá ser transferido bajo ningún motivo a cualquier entidad o terceras personas si así lo desearan, en caso de que esto suceda ya queda bajo la responsabilidad de la Unidad Educativa. 3.5.5 Exactitud Considerando los parámetros necesarios, nuestro sistema depende de la calidad y tipo de datos ingresados, SGA presenta un grado de exactitud de CERO CIFRAS DECIMALES para las notas de las asignaturas y DOS CIFRAS DECIMALES para el caso de los promedios generales en los datos desplegados y que sean de tipo numérico.
104
ANEXO 2
105
Script de la Base de Datos /*===============TABLA ASIGNATURA============*/ CREATE TABLE asignaturas ( asi_id integer NOT NULL, cur_id smallint NOT NULL, asi_des character varying(50), doc_id integer NOT NULL, asi_horclaanu smallint NOT NULL, asi_tip character(3), asi_est character(1) NOT NULL );
ALTER TABLE public.asignaturas OWNER TO sagcor; COMMENT ON COLUMN asignaturas.asi_id IS 'Identificador de la asignatura'; COMMENT ON COLUMN asignaturas.cur_id IS 'Identificador del curso asociado a la asignatura'; COMMENT ON COLUMN asignaturas.asi_des IS 'Descripción de la asignatura'; COMMENT ON COLUMN asignaturas.doc_id IS 'Identificador del docente'; COMMENT ON COLUMN asignaturas.asi_horclaanu IS 'Horas clases del año lectivo. Según el art. 172 del Reglamento de la LOEI, un estudiante reprueba una asignatura si sus inasistencias exceden el 10% de horas de clases del año lectivo. Se debe definir al inicio del año lectivo.'; COMMENT ON COLUMN asignaturas.asi_tip IS 'Tipo de asignatura: ''BAS'' (Básica), ''COM'' (Complementaria), ''TRC'' (Tronco Común), ''PEI'' (Proyecto e identidad Institucional), ''INV'' (Investigación), ''OPT'' (Optativas)'; COMMENT ON COLUMN asignatura.asi_est IS 'Estado de la asignatura: A= activa, D=deshabilitada '; CREATE SEQUENCE asignaturas_asi_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
ALTER TABLE public.asignaturas_asi_id_seq OWNER TO sagcor; ALTER SEQUENCE asignaturas_asi_id_seq OWNED BY asignaturas.asi_id;
/*===============TABLA CURSO============*/ CREATE TABLE cursos ( cur_id integer NOT NULL, cur_des character varying(20) NOT NULL, cur_cupmax smallint, cur_cupact smallint, doc_id integer NOT NULL, cur_niv smallint, cur_tip smallint,
106
cur_est carácter(1) NOT NULL, prd_id integer NOT NULL ); ALTER TABLE public.cursos OWNER TO sagcor; COMMENT ON COLUMN cursos.cur_id IS 'Identificador del curso'; COMMENT ON COLUMN cursos.cur_des IS 'Descripción del curso'; COMMENT ON COLUMN cursos.cur_cupmax IS 'Cupo máximo del curso'; COMMENT ON COLUMN cursos.cur_cupact IS 'Cupo actual del curso'; COMMENT ON COLUMN cursos.doc_id IS 'Identificador del docente tutor del curso'; COMMENT ON COLUMN cursos.cur_niv IS 'Nivel del curso'; COMMENT ON COLUMN cursos.cur_tip IS 'Tipo del curso: General Básica (0), Primero de Bachillerato en Ciencias (1), Segundo de Bachillerato en Ciencias (2), Tercero de Bachillerato en Ciencias (3), Primero de Bachillerato Técnico (4), Segundo de Bachillerato Técnico (5), Tercer de Bachillerato Técnico (6)'; COMMENT ON COLUMN cursos.cur_est IS 'Estado del curso: A=Activo, D=Deshabilitado'; COMMENT ON COLUMN cursos.prd_id IS 'Identificador de periodos'; CREATE SEQUENCE cursos_cur_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
ALTER TABLE public.cursos_cur_id_seq OWNER TO sagcor; ALTER SEQUENCE cursos_cur_id_seq OWNED BY cursos.cur_id;
/*===============TABLA DOCENTE============*/ CREATE TABLE docentes ( doc_id integer NOT NULL, doc_cedpas character varying(20) NOT NULL, doc_nom character varying(45) NOT NULL, doc_ape character varying(45) NOT NULL, usu_id integer, doc_med Boolean, doc_tit character varying(20), doc_corele character varying(50), doc_est character(1) NOT NULL );
ALTER TABLE public.docentes OWNER TO sagcor; COMMENT ON COLUMN docentes.doc_id IS 'Identificador del docente'; COMMENT ON COLUMN docentes.doc_cedpas IS 'Cédula/Pasaporte del docente'; COMMENT ON COLUMN docentes.doc_nom IS 'Nombres del docente'; COMMENT ON COLUMN docentes.doc_ape IS 'Apellidos del docente'; COMMENT ON COLUMN docentes.usu_id IS 'Identificador del usuario del sistema'; COMMENT ON COLUMN docentes.doc_med IS 'Docente medio tiempo: False (Tiempo completo), True (Medio Tiempo)'; COMMENT ON COLUMN docentes.doc_corele IS 'Correo electrónico del docente'; COMMENT ON COLUMN docentes.doc_est IS 'Estado ''A'' activo ''D'' inactivo';
107
CREATE SEQUENCE docentes_doc_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
ALTER TABLE public.docentes_doc_id_seq OWNER TO sagcor; ALTER SEQUENCE docentes_doc_id_seq OWNED BY docentes.doc_id;
/*===============TABLA HORARIO============*/ CREATE TABLE horarios ( hor_id integer NOT NULL, hor_hor character varying(15), asi_id smallint NOT NULL, cur_id smallint NOT NULL, doc_id smallint NOT NULL ); ALTER TABLE public.horarios OWNER TO sagcor; COMMENT ON COLUMN horarios.hor_id IS 'Identificador del horario'; COMMENT ON COLUMN horarios.hor_hor IS 'Hora del horario'; COMMENT ON COLUMN horarios.asi_id IS 'Identificador de la asignatura'; COMMENT ON COLUMN horarios.cur_id IS 'Identificador del curso'; COMMENT ON COLUMN horarios.doc_id IS 'Identificador del docente'; CREATE SEQUENCE horarios_hor_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; ALTER TABLE public.horarios_hor_id_seq OWNER TO sagcor; ALTER SEQUENCE horarios_hor_id_seq OWNED BY horarios.hor_id;
/*===============TABLA PARAMETROS============*/ CREATE TABLE parametros ( par_id character varying(10) NOT NULL, par_des character varying(100) NOT NULL, par_val character varying(240) NOT NULL, ); ALTER TABLE parametros OWNER TO sagcor; COMMENT ON COLUMN parametros.par_id IS 'Identificador del parametro'; COMMENT ON COLUMN parametros.par_des IS 'Descripci贸n del parametro'; COMMENT ON COLUMN parametros.par_val IS 'Valorizaci贸n del parametro';
108
/*===============FUNCIÓN ELIMINAR ASIGNATURA============*/ CREATE FUNCTION fn_antes_eliminar_asignatura() RETURNS trigger LANGUAGE plpgsql AS $$ BEGIN delete from horarios where asi_id=OLD.asi_id; RETURN OLD; END; $$; ALTER FUNCTION public.fn_antes_eliminar_asignatura() OWNER TO sagcor;
/*===============FUNCIÓN MODIFICAR ASIGNATURA============*/ CREATE FUNCTION fn_antes_modificar_asignatura() RETURNS trigger LANGUAGE plpgsql AS $$ BEGIN IF NEW.doc_id <> OLD.doc_id OR NEW.cur_id <> OLD.cur_id THEN delete from horarios where asi_id=OLD.asi_id; END IF; RETURN NEW; END; $$;
ALTER FUNCTION public.fn_antes_modificar_asignatura() OWNER TO sagcor;
/*============FUNCIÓN BUSCAR ASIGNATURA POR CURSO============*/ CREATE FUNCTION mej_bus_asi_dir(vcur_id integer) RETURNS SETOF record LANGUAGE plpgsql AS $$ declare tabla record;--variable que devolvera los registros de asignatura en base al id del docente begin for tabla in select asi_id,asi_des from asignaturas where cur_id=vcur_id --Obtención de las asignaturas. loop--Ciclo para retorno de asignaturas. return next tabla ;--Retorno de los registros con asignaturas. end loop;--Fin de ciclo para retorno de asignaturas. return; end $$; ALTER FUNCTION public.mej_bus_asi_dir(vcur_id integer) OWNER TO sagcor; COMMENT ON FUNCTION mej_bus_asi_dir(vcur_id integer) IS 'Función que retorna las asignaturas de un determinado curso';
109
/*==========FUNCIÓN BUSCAR ASIGNATURA POR DOCENTE============*/ CREATE FUNCTION mej_bus_asi_doc(vcur_id integer, vdoc_id integer) RETURNS SETOF record LANGUAGE plpgsql AS $$ declare tabla record;--Variable que retornará los registro de las asignaturas en base al curso y el id del docente. begin for tabla in select asi_id,asi_des from asignaturas where doc_id=vdoc_id and cur_id=vcur_id-Obtención de las asignaturas. loop--Ciclo para retorno de asignaturas. return next tabla ;--Retorno de los registros con asignaturas. end loop;--Fin de ciclo para retorno asignaturas. return; end $$; ALTER FUNCTION public.mej_bus_asi_doc(vcur_id integer, vdoc_id integer) OWNER TO sagcor;
COMMENT ON FUNCTION mej_bus_asi_doc(vcur_id integer, vdoc_id integer) IS 'Función que retorna asignatura en bas al docente.';
/*===============FUNCIÓN BUSCAR CURSO============*/ CREATE FUNCTION mej_bus_cur_dir() RETURNS SETOF record LANGUAGE plpgsql AS $$ declare tabla record;--Variable que retornará los cursos para el director. begin for tabla in select cur_id,cur_des from cursos order by cur_ord--Obtención de los cursos. loop--Ciclo para retorno de cursos. return next tabla ;--Retorno de los cursos. end loop;--Fin del ciclo para retorno de los cursos. return; end $$;
ALTER FUNCTION public.mej_bus_cur_dir() OWNER TO sagcor; COMMENT ON FUNCTION mej_bus_cur_dir() IS 'Función que retorna los cursos para la búsqueda de asignaturas por parte del director';
/*===============FUNCIÓN BUSCAR CURSO POR DOCENTE============*/ CREATE FUNCTION mej_bus_cur_doc(vdoc_id integer) RETURNS SETOF record LANGUAGE plpgsql AS $$ declare tabla record;--Variable que retornará los cursos en base al id del docente. begin
110
for tabla in select cur_id,cur_des from cursos where cur_id in(select cur_id from asignaturas where doc_id=vdoc_id group by cur_id) order by cur_ord --Obtención de los cursos. loop--Ciclo para retorno de los cursos. return next tabla ;--Retorno de los cursos. end loop;--Fin de ciclo para retorno de los cursos. return; end $$;
ALTER FUNCTION public.mej_bus_cur_doc(vdoc_id integer) OWNER TO sagcor; COMMENT ON FUNCTION mej_bus_cur_doc(vdoc_id integer) IS 'Función que retorna cursos en base al docente';
/*===============FUNCIÓN BUSCAR DOCENTE============*/ CREATE FUNCTION mej_bus_doc_id(vusu_id integer) RETURNS integer LANGUAGE plpgsql AS $$ declare id integer;--Variable que contendrá el id del docente basado en el usuario. begin select doc_id into id from docentes where usu_id=vusu_id ;--Obtención del id del docente. return id;--Retorno del id del docente. end $$;
ALTER FUNCTION public.mej_bus_doc_id(vusu_id integer) OWNER TO sagcor; COMMENT ON FUNCTION mej_bus_doc_id(vusu_id integer) IS 'Función que retorna el id del docente basado en el id del usuario';
/*==========FUNCIÓN BUSCAR DOCENTE Y ASIGNATURA============*/ CREATE FUNCTION mej_bus_doc_mat(vasi_id integer) RETURNS SETOF record LANGUAGE plpgsql AS $$ declare tabla record;--Variable que retornará al docente y la asignatura. begin for tabla in select doc_nom,doc_ape,cur_des from docentes doc,cursos cur where doc.doc_id in(select doc_id from asignaturas where asi_id=vasi_id) and cur_id in(select cur_id from asignaturas where asi_id=vasi_id)--Obtención de l docente y la asignatura. loop--Ciclo para el retorno del docente y asignatura. return next tabla ;--Retorno del docente y la asignatura. end loop;--Fin de ciclo para el retorno del docente y la asignatura. return; end $$;
111
ALTER FUNCTION public.mej_bus_doc_mat(vasi_id integer) OWNER TO sagcor; COMMENT ON FUNCTION mej_bus_doc_mat(vasi_id integer) IS 'Función que busca el nombre del docente y del curso en base a la asignatura.';
/*===============FUNCIÓN BUSCAR NOTAS DE DOCENTE============*/ CREATE FUNCTION mej_bus_not_doc(vasi_id integer, vparqui integer) RETURNS SETOF record LANGUAGE plpgsql AS $$ declare tabla record; pro integer; begin pro=0;
case(cast(vparqui as integer)) WHEN 1 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val)/5)<7 as bajo,(sum(cal_val)/5) prom from calificaciones where cal_tippar > 0 and cal_tippar < 6 and cal_par=1 and cal_qui=1 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom loop return next tabla ; end loop; WHEN 2 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val)/5)<7 as bajo,(sum(cal_val)/5) prom from calificaciones where cal_tippar > 0 and cal_tippar < 6 and cal_par=2 and cal_qui=1 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom loop return next tabla ; end loop; WHEN 3 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val)/5)<7 as bajo,(sum(cal_val)/4) prom from calificaciones where cal_tippar > 0 and cal_tippar < 6 and cal_par=3 and cal_qui=1 and cal_est='A'
112
and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom loop return next tabla ; end loop; WHEN 4 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val))<7 as bajo,(sum(cal_val)) prom from calificaciones where cal_tippar=10 and cal_qui=1 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom loop return next tabla ; end loop; WHEN 5 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val)/5)<7 as bajo,(sum(cal_val)/5) prom from calificaciones where cal_tippar > 0 and cal_tippar < 6 and cal_par=1 and cal_qui=2 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom loop return next tabla ; end loop; WHEN 6 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val)/5)<7 as bajo,(sum(cal_val)/5) prom from calificaciones where cal_tippar > 0 and cal_tippar < 6 and cal_par=2 and cal_qui=2 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom loop return next tabla ; end loop; WHEN 7 THEN for tabla in
113
select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val)/5)<7 as bajo,(sum(cal_val)/5) prom from calificaciones where cal_tippar > 0 and cal_tippar < 6 and cal_par=3 and cal_qui=2 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom loop return next tabla ; end loop; WHEN 8 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val))<7 as bajo,(sum(cal_val)) prom from calificaciones where cal_tippar=10 and cal_qui=2 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom loop return next tabla ; end loop; END CASE; return ; end $$; ALTER FUNCTION public.mej_bus_not_doc(vasi_id integer, vparqui integer) OWNER TO sagcor; COMMENT ON FUNCTION mej_bus_not_doc(vasi_id integer, vparqui integer) IS 'Función que permite buscar los promedio inferiores a 7 para el plan de mejoras.';
/*===============PRIMARY KEY============*/ ALTER TABLE ONLY asignaturas ADD CONSTRAINT pk_asignaturas PRIMARY KEY (asi_id); ALTER TABLE ONLY cursos ADD CONSTRAINT pk_cursos PRIMARY KEY (cur_id); ALTER TABLE ONLY docentes ADD CONSTRAINT pk_docentes PRIMARY KEY (doc_id); ALTER TABLE ONLY horarios ADD CONSTRAINT pk_horarios PRIMARY KEY (hor_id); ALTER TABLE ONLY parametros ADD CONSTRAINT pk_parametros PRIMARY KEY (par_id);
114
/*===============UNIQUE KEY============*/ ALTER TABLE ONLY docentes ADD CONSTRAINT uk_docentes UNIQUE (usu_id); ALTER TABLE ONLY horarios ADD CONSTRAINT uk_horarios_cursos UNIQUE (hor_hor, cur_id); ALTER TABLE ONLY horarios ADD CONSTRAINT uk_horarios_docentes UNIQUE (hor_hor, doc_id);
/*===============FOREIGN KEY============*/ ALTER TABLE ONLY horarios ADD CONSTRAINT fk_asi_id_ref_pk_asignaturas FOREIGN KEY (asi_id) REFERENCES asignaturas(asi_id) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE ONLY asignaturas ADD CONSTRAINT fk_cur_id_ref_pk_cursos FOREIGN KEY (cur_id) REFERENCES cursos(cur_id) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE ONLY horarios ADD CONSTRAINT fk_cur_id_ref_pk_cursos FOREIGN KEY (cur_id) REFERENCES cursos(cur_id) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE ONLY asignaturas ADD CONSTRAINT fk_doc_id_ref_pk_docentes FOREIGN KEY (doc_id) REFERENCES docentes(doc_id) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE ONLY cursos ADD CONSTRAINT fk_doc_id_ref_pk_docentes FOREIGN KEY (doc_id) REFERENCES docentes(doc_id) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE ONLY horarios ADD CONSTRAINT fk_doc_id_ref_pk_docentes FOREIGN KEY (doc_id) REFERENCES docentes(doc_id) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE ONLY docentes ADD CONSTRAINT fk_usu_id_ref_pk_usuarios FOREIGN KEY (usu_id) REFERENCES usuarios(usu_id) ON UPDATE CASCADE ON DELETE RESTRICT;
/*===============TRIGGER EDITAR ASIGNATURA ============*/ CREATE TRIGGER bef_edit_asig BEFORE UPDATE ON asignaturas FOR EACH ROW EXECUTE PROCEDURE fn_antes_modificar_asignatura();
/*===============TRIGGER ELIMINAR ASIGNATURA ============*/ CREATE TRIGGER bef_elim_asig BEFORE DELETE ON asignaturas FOR EACH ROW EXECUTE PROCEDURE fn_antes_eliminar_asignatura();
115
ANEXO 3
116
117
ANEXO 4
118
119
ANEXO 5
120
121
122
ANEXO 6
123
Diccionario de Datos Proyecto: ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DEL MÓDULO DE CREACIÓN DE HORARIOS
124
ÍNDICE DE CONTENIDOS 1.
INTRODUCCIÓN .................................................................................... 126
2.
TABLAS ..................................................................................................... 126
2.1
Parametrización ..................................................................................................... 126
2.2
Lista de Tablas ...................................................................................................... 126
2.2.1
Tabla Asignatura ................................................................................................... 127
2.2.2
Tabla Cursos ......................................................................................................... 127
2.2.3
Tabla Docentes...................................................................................................... 128
2.2.4
Tabla Horarios ...................................................................................................... 129
3.
FUNCIONES ............................................................................................. 130
3.1
Parametrización ..................................................................................................... 130
3.2
Lista de Funciones ................................................................................................ 130
3.2.1
Función fn_antes_eliminar_asignatura ................................................................. 131
3.2.2
Función fn_antes_modificar_asignatura ............................................................... 131
3.2.3
Función mej_bus_asi_dir ...................................................................................... 132
3.2.4
Función mej_bus_asi_doc ...................................................................................... 132
3.2.5
Función mej_bus_cur_dir ...................................................................................... 133
3.2.6
Función mej_bus_cur_doc ..................................................................................... 133
3.2.7
Función mej_bus_doc_id ....................................................................................... 134
3.2.8
Función mej_bus_doc_mat .................................................................................... 134
3.2.9
Función mej_bus_not_doc ..................................................................................... 135
4.
TRIGGERS ................................................................................................ 138
4.1
Parametrización ..................................................................................................... 138
4.2
Lista de Triggers ................................................................................................... 138
4.2.1
Trigger bef_edit_asig ............................................................................................ 139
4.2.2
Trigger bef_elim_asig ........................................................................................... 139
125
LISTA DE TABLAS
Tabla 1: Lista de Tablas ........................................................................................ 126 Tabla 2: Tabla asignatura ...................................................................................... 127 Tabla 3: Restricciones Tabla asignatura ............................................................... 127 Tabla 4: Tabla de Cursos ...................................................................................... 127 Tabla 5: Restricciones Tabla Cursos ..................................................................... 128 Tabla 6: Tabla de Docentes ................................................................................... 128 Tabla 7: Restricciones Tabla Docentes ................................................................. 128 Tabla 8: Tabla de Horarios.................................................................................... 129 Tabla 9: Restricciones de la Tabla Horarios ......................................................... 129 Tabla 10: Tabla de Parámetros.............................................................................. 129 Tabla 11: Restricciones de la Tabla Parámetros ................................................... 130 Tabla 12: Lista de Funciones ................................................................................ 130 Tabla 13: Función fn_antes_eliminar_asignatura ................................................. 131 Tabla 14: Función fn_antes_modificar_asignatura ............................................... 131 Tabla 15: Función mej_bus_asi_dir ...................................................................... 132 Tabla 16: Función mej_bus_asi_doc..................................................................... 132 Tabla 17: Función mej_bus_cur_dir ..................................................................... 133 Tabla 18: Función mej_bus_cur_doc .................................................................... 133 Tabla 19: Función mej_bus_doc_id ...................................................................... 134 Tabla 20: Función mej_bus_doc_mat ................................................................... 134 Tabla 21: Función mej_bus_not_doc .................................................................... 138 Tabla 22: Lista de Triggers ................................................................................... 138 Tabla 23: Trigger bef_edit_asig ............................................................................ 139 Tabla 24: Trigger bef_elim_asig ........................................................................... 139
126
1. INTRODUCCIÓN El presente documento contiene el diccionario de datos en el cual se detalla específicamente las características lógicas de los datos utilizados por el Módulo de Creación de Horarios referente al Sistema de Gestión Académica.
2. TABLAS 2.1 Parametrización Cada tabla del Módulo de Creación de Horarios inicia con el nombre propio que se le ha designado a la tabla en el cual define su contenido.
2.2
Lista de Tablas
A continuación se enlista las tablas correspondientes al Módulo de creación de Horarios con su respectiva descripción.
N.-
Nombre de la Tabla
Descripción
1
Asignatura
Tabla que contiene las asignaturas impartidas en la Unidad Educativa
2
Curso
Tabla que contiene la descripción de los cursos
3
Docente
Tabla que contiene información de los docentes
4
Horario
Tabla que almacena los horarios de clase realizados
5
Parámetros
Tabla que almacena la información detallada de la Institución
Tabla 1: Lista de Tablas Fuente: Los autores
127
2.2.1
Tabla Asignatura
N.-
Nombre de Columna
Tipo de Datos
Null
1
asi_id
Integer
No
2
cur_id
No
3
asi_des
No
Descripción de la asignatura
4
doc_id
Smallint Character varying(50) Integer
Código secuencial de cada asignatura Código secuencial de los Cursos
No
5
asi_horclaanu
Smallint
No
6 7
asi_tip asi_est
Character (3) Character (1)
No No
Código secuencial del Docente Cantidad de Horas de la asignatura Tipo de la asignatura Estado de la asignatura
Comentarios
Tabla 2: Tabla asignatura Fuente: Los autores
Restricciones Nombre
Tipo
pk_asignaturas fk_cur_id_ref_pk_cursos fk_doc_id_ref_pk_docentes
PRIMARY KEY FOREIGN KEY FOREIGN KEY
Columna Local
Tabla Ref.
Columna de Ref.
cur_id
Cursos
cur_id
doc_id
Docente
doc_id
asi_id
Tabla 3: Restricciones Tabla asignatura Fuente: Los autores
2.2.2
Tabla Cursos
N.-
Nombre de Columna
Tipo de Datos
Null
1
cur_id
Integer
No
2 3 4
cur_des cur_cupmax cur_cupact
Character varying(20) Smallint Smallint
No No No
5
doc_id
Integer
No
6
cur_niv
Smallint
No
7 8
cur_tip cur_est
Smallint Character(1)
No No
9
prd_id
Integer
No
Tabla 4: Tabla de Cursos Fuente: Los autores
Comentarios Código secuencial de los Cursos Descripción del Curso Cupo máximo del curso Cupos actuales del cursos Código secuencial de los Docentes Nivel al que pertenece el curso Tipo de Curso Est Characterdo del curso Identific Characterdor de periodos
128
Restricciones Nombre
Columna Local
Tipo
pk_cursos
PRIMARY KEY
cur_id
fk_doc_id_ref_p k_docentes
FOREIGN KEY
doc_id
Tabla Ref.
Columna de Ref.
Docente
doc_id
Tabla 5: Restricciones Tabla Cursos Fuente: Los autores
2.2.3
Tabla Docentes
N.-
Nombre de Columna
Tipo de Datos
Null
1
doc_id
Integer
No
2
doc_cedpas
Character varying(20)
No
3
doc_nom
Character varying(45)
No
4
doc_ape
Character varying(45)
No
5
usu_id
Integer
No
6
doc_med
Boolean
No
7
doc_tit
Character varying(20)
No
8
doc_corele
Character varying(50)
No
9
doc_est
Character (1)
No
Comentarios Código secuencial de los Docentes Cédula de identidad del Docente Nombre del Docente Apellido del Docente Código secuencial de los Usuarios Docente medio tiempo(false), tiempo completo(true) Titulo del docente Correo electrónico del docente Estado del Docente
Tabla 6: Tabla de Docentes Fuente: Los autores
Restricciones Nombre
Tipo
Columna Local
pk_docentes
PRIMARY KEY
doc_id
fk_usu_id_ref_pk_usuar FOREIGN KEY ios
usu_id
Tabla 7: Restricciones Tabla Docentes Fuente: Los autores
Tabla Ref.
Columna de Ref.
Usuarios
usu_id
129
2.2.4
Tabla Horarios
N.-
Nombre de Columna
Tipo de Datos
Null
1
hor_id
Integer
No
2
hor_hor
Character varying(15)
No
3
asi_id
Smallint
No
4
cur_id
Smallint
No
5
doc_id
Smallint
No
Comentarios Cรณdigo secuencial de los Horarios Hora que se le asignado un horario Cรณdigo secuencial de las asignaturas Cรณdigo secuencial de los Cursos Cรณdigo secuencial de los Docentes
Tabla 8: Tabla de Horarios Fuente: Los autores
๏ ท
Restricciones
Nombre
Tipo
Columna Local
Tabla Ref.
Columna de Ref.
pk_horarios
PRIMARY KEY
hor_id
fk_asi_id_ref_pk_asignaturas
FOREIGN KEY
asi_id
asignaturas
asi_id
fk_cur_id_ref_pk_cursos fk_doc_id_ref_pk_docentes
FOREIGN KEY FOREIGN KEY
cur_id doc_id
cursos docentes
cur_id doc_id
Tabla 9: Restricciones de la Tabla Horarios Fuente: Los autores
2.2.5
Tabla Parรกmetros
N.-
Nombre de Columna
Tipo de Datos
Null
1
par_id
Character varying(10)
No
Identificador del parรกmetro
2
par_des
Character varying(100)
No
Descripciรณn del parรกmetro
3
par_val
Character varying(240)
No
Valorizaciรณn del parรกmetro
Tabla 10: Tabla de Parรกmetros Fuente: Los autores
Comentarios
130
Restricciones Nombre
Tipo
Columna Local
pk_parametros
PRIMARY KEY
par_id
Tabla Ref.
Columna de Ref.
Tabla 11: Restricciones de la Tabla Parámetros Fuente: Los autores
3. FUNCIONES 3.1
Parametrización
Cada función del Módulo de Creación de Horarios inicia con el prefijo “fn” y “mej” seguido de un nombre corto en el cual define su contenido.
3.2 Lista de Funciones A continuación se enlista las funciones correspondientes al Módulo de creación de Horarios con su respectiva descripción. N.-
Nombre de la Función
Descripción
1
fn_antes_eliminar_asignatura
2
fn_antes_modificar_asignatura Función que permite modificar la asignatura
Función que permite eliminar la asignatura
3
mej_bus_asi_dir
Función que permite buscar una asignatura por curso, recibiendo como parámetro el id del curso
4
mej_bus_asi_doc
Función que permite buscar una asignatura por docente, recibiendo como parámetro el id del curso y el id del docente
5
mej_bus_cur_dir
Función que permite buscar Cursos
6
mej_bus_cur_doc
Función que permite buscar Curso por docente, recibiendo como parámetro el id del docente
7
mej_bus_doc_id
Función que permite buscar docente, recibiendo como parámetro el id del usuario
8
mej_bus_doc_mat
9
mej_bus_not_doc
Función que permite buscar docente y asignatura, recibiendo como parámetro el id de la asignatura Función que permite buscar notas por docente, recibiendo como parámetro el id de la asignatura y parte del parcial
Tabla 12: Lista de Funciones Fuente: Los autores
131
3.2.1 Función fn_antes_eliminar_asignatura
CÓDIGO CREATE FUNCTION fn_antes_eliminar_asignatura() RETURNS trigger LANGUAGE plpgsql AS $$ BEGIN delete from horarios where asi_id=OLD.asi_id; RETURN OLD; END; $$;
Tabla 13: Función fn_antes_eliminar_asignatura Fuente: Los autores
3.2.2 Función fn_antes_modificar_asignatura
CÓDIGO
CREATE FUNCTION fn_antes_modificar_asignatura() RETURNS trigger LANGUAGE plpgsql AS $$ BEGIN IF NEW.doc_id <> OLD.doc_id OR NEW.cur_id <> OLD.cur_id THEN delete from horarios where asi_id=OLD.asi_id; END IF; RETURN NEW; END; $$;
Tabla 14: Función fn_antes_modificar_asignatura
Fuente: Los autores
132
3.2.3 Función mej_bus_asi_dir
CÓDIGO CREATE FUNCTION mej_bus_asi_dir(vcur_id integer) RETURNS SETOF record LANGUAGE plpgsql AS $$ declare tabla record;--variable que devolvera los registros de asignatura en base al id del docente begin for tabla in select asi_id,asi_des from asignaturas where cur_id=vcur_id --Obtención de las asignaturas. loop--Ciclo para retorno de asignaturas. return next tabla ;--Retorno de los registros con asignaturas. end loop;--Fin de ciclo para retorno de asignaturas. return; end $$;
Tabla 15: Función mej_bus_asi_dir Fuente: Los autores
3.2.4 Función mej_bus_asi_doc
CÓDIGO CREATE FUNCTION mej_bus_asi_doc(vcur_id integer, vdoc_id integer) RETURNS SETOF record LANGUAGE plpgsql AS $$ declare tabla record;--Variable que retornará los registro de las asignaturas en base al curso y el id del docente. begin for tabla in select asi_id,asi_des from asignaturas where doc_id=vdoc_id and cur_id=vcur_id--Obtención de las asignaturas. loop--Ciclo para retorno de asignaturas. return next tabla ;--Retorno de los registros con asignaturas. end loop;--Fin de ciclo para retorno asignaturas. return; end $$;
Tabla 16: Función mej_bus_asi_doc Fuente: Los autores
133
3.2.5 Función mej_bus_cur_dir CÓDIGO CREATE FUNCTION mej_bus_cur_dir() RETURNS SETOF record LANGUAGE plpgsql AS $$ Declare tabla record;--Variable que retornará los cursos para el director. Begin for tabla in select cur_id,cur_des from cursos order by cur_ord--Obtención de los cursos. loop--Ciclo para retorno de cursos. return next tabla ;--Retorno de los cursos. end loop;--Fin del ciclo para retorno de los cursos. return; End $$;
Tabla 17: Función mej_bus_cur_dir Fuente: Los autores
3.2.6 Función mej_bus_cur_doc CÓDIGO CREATE FUNCTION mej_bus_cur_doc(vdoc_id integer) RETURNS SETOF record LANGUAGE plpgsql AS $$ Declare tabla record;--Variable que retornará los cursos en base al id del docente. Begin for tabla in select cur_id,cur_des from cursos where cur_id in(select cur_id from asignaturas where doc_id=vdoc_id group by cur_id) order by cur_ord --Obtención de los cursos. loop--Ciclo para retorno de los cursos. return next tabla ;--Retorno de los cursos. end loop;--Fin de ciclo para retorno de los cursos. return; End $$;
Tabla 18: Función mej_bus_cur_doc Fuente: Los autores
134
3.2.7 Función mej_bus_doc_id
CÓDIGO CREATE FUNCTION mej_bus_doc_id(vusu_id integer) RETURNS integer LANGUAGE plpgsql AS $$ Declare id integer;--Variable que contendrá el id del docente basado en el usuario. Begin select doc_id into id from docentes where usu_id=vusu_id ;--Obtención del id del docente. return id;--Retorno del id del docente. End $$; Tabla 19: Función mej_bus_doc_id Fuente: Los autores
3.2.8 Función mej_bus_doc_mat CÓDIGO CREATE FUNCTION mej_bus_doc_mat(vasi_id integer) RETURNS SETOF record LANGUAGE plpgsql AS $$ Declare tabla record;--Variable que retornará al docente y la asignatura. Begin for tabla in select doc_nom,doc_ape,cur_des from docentes doc,cursos cur where doc.doc_id in(select doc_id from asignaturas where asi_id=vasi_id) and cur_id in(select cur_id from asignaturas where asi_id=vasi_id)--Obtención de l docente y la asignatura. loop--Ciclo para el retorno del docente y asignatura. return next tabla ;--Retorno del docente y la asignatura. end loop;--Fin de ciclo para el retorno del docente y la asignatura. return; End $$; Tabla 20: Función mej_bus_doc_mat Fuente: Los autores
135
3.2.9 Función mej_bus_not_doc
CÓDIGO CREATE FUNCTION mej_bus_not_doc(vasi_id integer, vparqui integer) RETURNS SETOF record LANGUAGE plpgsql AS $$ Declare tabla record; pro integer; begin pro=0; case(cast(vparqui as integer)) WHEN 1 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val)/5)<7 as bajo,(sum(cal_val)/5) prom from calificaciones where cal_tippar > 0 and cal_tippar < 6 and cal_par=1 and cal_qui=1 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom Loop return next tabla ; end loop; WHEN 2 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val)/5)<7 as bajo,(sum(cal_val)/5) prom from calificaciones where cal_tippar > 0 and cal_tippar < 6 and cal_par=2 and cal_qui=1 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom
136
Loop return next tabla ; end loop; WHEN 3 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val)/5)<7 as bajo,(sum(cal_val)/4) prom from calificaciones where cal_tippar > 0 and cal_tippar < 6 and cal_par=3 and cal_qui=1 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom Loop return next tabla ; end loop; WHEN 4 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val))<7 as bajo,(sum(cal_val)) prom from calificaciones where cal_tippar=10 and cal_qui=1 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom Loop return next tabla ; end loop; WHEN 5 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val)/5)<7 as bajo,(sum(cal_val)/5) prom from calificaciones where cal_tippar > 0 and cal_tippar < 6 and cal_par=1 and cal_qui=2 and cal_est='A' and asi_id=vasi_id
137
group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom Loop return next tabla ; end loop; WHEN 6 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val)/5)<7 as bajo,(sum(cal_val)/5) prom from calificaciones where cal_tippar > 0 and cal_tippar < 6 and cal_par=2 and cal_qui=2 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom Loop return next tabla ; end loop; WHEN 7 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select calificaciones.est_id,calificaciones.asi_id,(sum(cal_val)/5)<7 as bajo,(sum(cal_val)/5) prom from calificaciones where cal_tippar > 0 and cal_tippar < 6 and cal_par=3 and cal_qui=2 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom Loop return next tabla ; end loop; WHEN 8 THEN for tabla in select estudiantes.est_id,est_nomcom,est_apecom,round(prome.prom,2) from ( select subdoc.est_id,subdoc.prom from (select
138
calificaciones.est_id,calificaciones.asi_id,(sum(cal_val))<7 as bajo,(sum(cal_val)) prom from calificaciones where cal_tippar=10 and cal_qui=2 and cal_est='A' and asi_id=vasi_id group by calificaciones.est_id,calificaciones.asi_id) as subdoc where subdoc.bajo='t' or subdoc.bajo='true') as prome inner join estudiantes on estudiantes.est_id=prome.est_id order by est_nomcom,est_apecom Loop return next tabla ; end loop; END CASE; return ; End $$; Tabla 21: Función mej_bus_not_doc Fuente: Los autores
4. TRIGGERS 4.1 Parametrización Cada Triggers del Módulo de Creación de Horarios inicia con el prefijo “bef” seguido de un nombre corto en el cual define su contenido.
4.2 Lista de Triggers A continuación se enlista los triggers correspondientes al Módulo de creación de Horarios con su respectiva descripción. N.-
Nombre de la Función
1
bef_edit_asig
Trigger que se utiliza para la edición de datos de la tabla asignatura
2
bef_elim_asig
Trigger que se utiliza para la eliminación de datos de la tabla asignatura
Descripción
Tabla 22: Lista de Triggers Fuente: Los autores
139
4.2.1 Trigger bef_edit_asig
CÓDIGO CREATE TRIGGER bef_edit_asig BEFORE UPDATE ON asignaturas FOR EACH ROW EXECUTE PROCEDURE fn_antes_modificar_asignatura();
Tabla 23: Trigger bef_edit_asig Fuente: Los autores
4.2.2 Trigger bef_elim_asig
CÓDIGO CREATE TRIGGER bef_elim_asig BEFORE DELETE ON asignaturas FOR EACH ROW EXECUTE PROCEDURE fn_antes_eliminar_asignatura(); FOR EACH ROW EXECUTE PROCEDURE fn_antes_modificar_asignatura();
Tabla 24: Trigger bef_elim_asig Fuente: Los autores
140
ANEXO 7
141
Manual de Usuario del Sistema Proyecto: ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DEL MÓDULO DE CREACIÓN DE HORARIOS
142
ÍNDICE DE CONTENIDOS
1.
INTRODUCCIÓN .................................................................................... 144
2.
COMPONENTES PRINCIPALES DEL MODULO DE HORARIOS 144
3.
FORMULARIO PRINCIPAL DE CURSO ............................................ 145
4.
FORMULARIO PRINCIPAL DE DOCENTE ...................................... 147
5.
FORMULARIO PRINCIPAL DE ASIGNATURA ............................... 148
6.
FORMULARIO PRINCIPAL DE HORARIOS .................................... 149
7.
REPORTE DE LA MALLA CURRICULAR ........................................ 151
143
ÍNDICE DE ILUSTRACIONES
Ilustración 1: Menú Principal correspondiente al Módulo de Creación de Horario ................................................................................................................................ 144 Ilustración 2: Formulario de Curso ...................................................................... 145 Ilustración 3: Formulario que muestra información de los cursos ....................... 146 Ilustración 4: Formulario de Docente ................................................................... 147 Ilustración 5: Información de Docentes Ingresados en el Sistema ....................... 147 Ilustración 6: Reporte de Docente ........................................................................ 148 Ilustración 7: Formulario de asignaturas .............................................................. 148 Ilustración 8: Reporte de asignatura ..................................................................... 149 Ilustración 9: Formulario de Horarios .................................................................. 149 Ilustración 10: Establecer Horario de clases ........................................................ 150 Ilustración 11: Ejemplo de Horario realizado ...................................................... 151 Ilustración 12: Reporte de Malla Curricular ........................................................ 151
144
MANUAL DE USUARIO DEL SISTEMA 1. INTRODUCCIÓN El presente manual tiene como finalidad servir de guía para conocer el funcionamiento del Módulo de Creación de Horarios, así para describir las funciones principales de cada uno de sus componentes.
El siguiente módulo de creación de horarios está dirigido a los usuarios finales que utilizaran el sistema, se asume que el lector dispone de las habilidades necesarias para utilizar el sistema.
2. COMPONENTES PRINCIPALES DEL MODULO DE HORARIOS En la parte lateral izquierda del sistema se encuentra las diferentes opciones que ofrece el menú de la aplicación, entre ellas se puede escoger Cursos, Asignaturas, Docente y Horarios cada uno con sus correspondientes acciones a realizar.
Ilustración 1: Menú Principal correspondiente al Módulo de Creación de Horario Fuente: Los autores
145
3. FORMULARIO PRINCIPAL DE CURSO Formulario que permite administrar la información de un curso en la Institución Educativa.
Ilustración 2: Formulario de Curso Fuente: Los autores
A continuación se detallan las funciones principales de cada botón:
Nuevo: Habilita los campos para el ingreso de información que permite crear un nuevo registro para la entidad Guardar: Guarda en la base de datos un nuevo registro creado o los cambios realizados en un registro editado Cancelar: Cancela la información que se esté ingresando en el formulario Reporte: Muestra información que se encuentra almacenada en la base de datos
146
Filtro: Filtra la información que se encuentra almacenada, permitiendo realizar de manera más rápida y eficiente la búsqueda que desea
Editar: Habilita los campos del formulario seleccionado para editarlos
Eliminar: Elimina el registro seleccionado previa confirmación
Ilustración 3: Formulario que muestra información de los cursos Fuente: Los autores
147
4. FORMULARIO PRINCIPAL DE DOCENTE Formulario que permite administrar la informaciรณn de docentes que pertenecen dentro de la Instituciรณn Educativa.
Ilustraciรณn 4: Formulario de Docente Fuente: Los autores
Ilustraciรณn 5: Informaciรณn de Docentes Ingresados en el Sistema Fuente: Los autores
148
Ilustraci贸n 6: Reporte de Docente Fuente: Los autores
5. FORMULARIO PRINCIPAL DE ASIGNATURA Formulario
que
permite
administrar
la
informaci贸n
correspondientes que forman parte de la Instituci贸n Educativa.
Ilustraci贸n 7: Formulario de asignaturas Fuente: Los autores
de
las
asignaturas
149
Ilustraci贸n 8: Reporte de asignatura Fuente: Los autores
6. FORMULARIO PRINCIPAL DE HORARIOS Formulario que permite crear un horario de clases para los docentes con sus respectivas asignaciones de clases impartidas en la Unidad Educativa.
Ilustraci贸n 9: Formulario de Horarios Fuente: Los autores
150
A continuación se detallan las funciones principales de cada botón:
Horarios: Selecciona el tipo de horarios que desea realizar, ya sea por Cursos o Docentes
Seleccionar Curso: Selecciona el curso que desea darle un horario de clases con sus respectivos docentes. Visto: Confirma la selección de horario y curso especificado
Una vez confirmado el horario que desea ingresar al sistema, escoger el día, hora y asignatura que se va a implantar dentro del horario de clases establecido por la Unidad Educativa para de esta manera evitar posibles errores de choque de materias.
Ilustración 10: Establecer Horario de clases Fuente: Los autores
151
Finalmente de esta manera queda el horario realizado anteriormente.
Ilustración 11: Ejemplo de Horario realizado Fuente: Los autores
7. REPORTE DE LA MALLA CURRICULAR En el siguiente reporte se muestra la información de la malla curricular que se ha establecido dentro del sistema y que se encuentra almacenada dentro de su base de datos, permitiéndonos conocer como está distribuido las asignaturas y los docentes que imparten dichas materias con sus respectivos horas de clases.
Ilustración 12: Reporte de Malla Curricular Fuente: Los autores
152
ANEXO 8
153
Manual Técnico del Sistema Proyecto: ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DEL MÓDULO DE CREACIÓN DE HORARIOS
154
ÍNDICE DE CONTENIDOS
1.
INTRODUCCIÓN .................................................................................... 156
2.
REQUERIMIENTOS DEL SISTEMA ................................................... 157
2.1
Requisitos para el servidor .................................................................................... 157
2.2
Requisitos para el cliente ...................................................................................... 157
3.
INSTALACIÓN DE CENTOS 7 ............................................................. 158
3.1 Seleccionado el disco de instalación como dispositivo de arranque, inicia el gestor de arranque del instalador. ...................................................................................................... 158 3.2 Seleccionar el idioma español de ecuador ................................................................... 158 3.3 Seleccionar el menú "Destino de la Instalación" ......................................................... 159 3.4 Escoger el disco duro y configurar particionado automático ....................................... 159 3.5 Seleccionar el menú "Red y nombre de Host" ............................................................. 160 3.6 Activar la red, se puede establecer la dirección ip estática o automática ..................... 160 3.7 Comenzar la instalación ............................................................................................... 161 3.8 La instalación ha comenzado pero hace falta configurar la clave de root.................... 161 3.9 Establecer la clave de root ........................................................................................... 162 3.10 No es necesario crear un usuario convencional. ........................................................ 162 3.11 Al finalizar la instalación se debe reiniciar el equipo, retirar el medio de instalación.163 3.12 Al reiniciar se obtiene la consola del sistema. ........................................................... 163
4.
CONFIGURACIÓN POST-INSTALACIÓN......................................... 164
4.1 Establecer una dirección IP, en este caso no necesitamos IPv6. .................................. 164 4.2 Actualizar el sistema .................................................................................................... 165 4.3 Instalar PostgreSQL 9.3 ............................................................................................... 165
155
ร NDICE DE GRAFICOS
Grafico 1: Seleccionando el disco de instalaciรณn.................................................. 158 Grafico 2: Seleccionamos el idioma ..................................................................... 158 Grafico 3: Seleccionar Destino de la Instalaciรณn .................................................. 159 Grafico 4: Escoger el disco duro y configurar las particiones .............................. 159 Grafico 5: Seleccionamos la Red y el nombre de Host ......................................... 160 Grafico 6: Activamos la red .................................................................................. 160 Grafico 7: Comenzar la instalaciรณn ....................................................................... 161 Grafico 8: Configuramos la clave del root ............................................................ 161 Grafico 9: Establecemos la clave de root .............................................................. 162 Grafico 10: Ajuste de usuario ............................................................................... 162 Grafico 11: Finalizando el proceso de instalaciรณn ................................................ 163 Grafico 12: Consola del sistema ........................................................................... 163
156
MANUAL TÉCNICO DEL SISTEMA
1. INTRODUCCIÓN El presente manual tiene como finalidad servir de guía para conocer la correcta instalación y configuración del Sistema de Gestión Académica. El siguiente Sistema de Gestión Académica está dirigido al personal técnico capacitado y responsable de la instalación y configuración inicial del, se asume que el lector dispone de las habilidades necesarias para utilizar el sistema.
Este manual está dividido en 4 secciones principales:
Requerimientos del sistema: Se especifica los requisitos de hardware y software adecuados para el funcionamiento del sistema
Instalación del servidor Centos 7: Se describe el proceso de instalación del sistema
Instalar los prerrequisitos en el servidor: Se especifica los requisitos que tiene el servidor para que el sistema pueda funcionar
Creación de la Base de Datos: Especificamos la base de datos que se utilizará para el funcionamiento del sistema y los requisitos que se necesitan.
Configuración del Sistema: Se realiza las configuraciones básicas para que el sistema pueda comenzar a funcionar y se verifica que todo ha sido instalado correctamente.
157
2. REQUERIMIENTOS DEL SISTEMA A continuación se detallan los requisitos mínimos que se necesitan para el correcto funcionamiento del sistema.
2.1
Requisitos para el servidor HARDWARE
CPU 2Ghz, 2 núcleos Memoria RAM 2Gb Disco duro 100Gb Conexión de red Ethernet 10/100 Mbps 1 puerto USB ó lector de DVD
SOFTWARE
2.2
Sistema operativo RHEL 6, 7 o compatible Servidor web Apache v2 PHP 5.4, extensiones: o php-pgsql o php-mysql o php-mcrypt o php-mbstring o php-xml o php-gd o php-pdo PostgreSQL 9.3 extensiones o postgresql93-server o postgresql93-contrib
Requisitos para el cliente HARDWARE
CPU 1Ghz
SOFTWARE Navegador compatible con W3C, css, html5 y ajax
Memoria RAM 256Mb Almacenamiento 100Mb Impresora (Opcional) Conexión de red WiFI 802.11b o Ethernet 10/100 Mbps
Sistema operativo indistinto, en el que se pueda instalar un navegador web
158
3. INSTALACIÓN DE CENTOS 7 3.1 Seleccionado el disco de instalación como dispositivo de arranque, inicia el gestor de arranque del instalador.
Grafico 26: Seleccionando el disco de instalación Fuente: Los autores
3.2 Seleccionar el idioma español de ecuador
Grafico 2: Seleccionamos el idioma Fuente: Los autores
159
3.3 Seleccionar el men煤 "Destino de la Instalaci贸n"
Grafico 3: Seleccionar Destino de la Instalaci贸n Fuente: Los autores
3.4 Escoger el disco duro y configurar particionado autom谩tico
Grafico 4: Escoger el disco duro y configurar las particiones Fuente: Los autores
160
3.5 Seleccionar el menú "Red y nombre de Host"
Grafico 5: Seleccionamos la Red y el nombre de Host Fuente: Los autores
3.6 Activar la red, se puede establecer la dirección ip estática o automática
Grafico 6: Activamos la red Fuente: Los autores
161
3.7 Comenzar la instalaci贸n
Grafico 7: Comenzar la instalaci贸n Fuente: Los autores
3.8 La instalaci贸n ha comenzado pero hace falta configurar la clave de root
Grafico 8: Configuramos la clave del root Fuente: Los autores
162
3.9 Establecer la clave de root
Grafico 9: Establecemos la clave de root Fuente: Los autores
3.10 No es necesario crear un usuario convencional.
Grafico 10: Ajuste de usuario Fuente: Los autores
163
3.11 Al finalizar la instalaci贸n se debe reiniciar el equipo, retirar el medio de instalaci贸n.
Grafico 11: Finalizando el proceso de instalaci贸n Fuente: Los autores
3.12 Al reiniciar se obtiene la consola del sistema.
Grafico 12: Consola del sistema Fuente. Los autores
164
4. CONFIGURACIÓN POST-INSTALACIÓN 4.1 Establecer una dirección IP, en este caso no necesitamos IPv6.
a. vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
b. El UUID va a variar en cada instalación y HWADDR es la dirección MAC de la tarjeta de red.
c. Para empezar el modo de edición, presionar la tecla "i", en la parte inferior izquierda aparecerá el indicador "-- INSERT --".
d. El contenido del archivo deberá quedar de la siguiente manera, la dirección IP, máscara, broadcast, y Gateway se deberán configurar en función de los requerimientos en la red en la que operará el sistema. HWADDR="08:00:27:23:6E:F9" TYPE="Ethernet" BOOTPROTO="static" DEFROUTE="yes" PEERDNS="yes" PEERROUTES="yes" IPV4_FAILURE_FATAL="no" IPADDR=192.168.100.103 NETWORK=192.168.100.0 NETMASK=255.255.255.0 BROADCAST=192.168.100.255 GATEWAY=192.168.100.1 DNS1=8.8.8.8 DNS2=8.8.4.4 NAME="enp0s3" UUID="658d946b-fabd-4093-8aa8-b5e367213ccc" ONBOOT="yes" e. Para guardar los cambios y salir del archivo presionar la siguiente combinación de teclas de forma secuencial: Esc :
165
X f. Reiniciar el servicio network systemctl restart network.service
Establecer fecha y hora a. Para establecer la fecha del sistema, formato Año, Mes, Día, Hora, Minuto, Segundo date –set “2015-01-15 12:00:00” b. Para establecer la fecha en el Bios hwclock –set –date= “2015-01-15 12:00:00”
4.2 Actualizar el sistema
a. yum -y update b. reiniciamos el sistema reboot
4.3 Instalar PostgreSQL 9.3
a. Ingresar al sitio oficial de postgresql para yum (gestor de paquetes de RHEL) http://yum.postgresql.org/ b. Seleccionar la versión 9.3 c. Buscar la versión para Centos7 en el siguiente enlace http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.31.noarch.rpm
166
Este paquete RPM es para instalar el repositorio, ejecutamos el comando: yum –y install http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdgcentos93-9.3-1.noarch.rpm d. Habiendo instalado el repositorio se procede a buscar e instalar yum search Postgresql Se denota que existen dos versiones disponibles para la instalación, la oficial de Centos y la del repositorio de PostgreSQL, instalar la 9.3 yum –y install postgresql93 postgresql93-contrib postgresql93-server
Inicializar el directorio de base de datos /usr/pgsql-9.3/bin/postgresql93-setup initdb
Habilitar el servicio para que arranque con el sistema systemctl enable postgresql-9.3.service
Configurar postgresql.conf para habilitar conexiones tcp y se permita el uso de contraseñas encriptadas
167
vi /var/lib/pgsql/9.3/data/postgresql.conf habilitar y modificar las siguientes líneas para que queden así: listen_addresses = '*' password_encryption = on guardar cambios “Esc : x”
Configurar pg_hba.conf para determinar los hosts que pueden acceder al sgbd desde la red por medio de autenticación con contraseña md5. vi /var/lib/pgsql/9.3/data/pg_hba.conf Comentar la línea: #host
all
all
127.0.0.1/32
ident
agregar las líneas: host
all
all
::1/128
md5
host
all
all
0.0.0.0/0
md5
guardar cambios “Esc : x”
Iniciar el servicio systemctl start postgresql-9.3.service
En caso de necesitar reiniciar el servicio por haber modificado un archivo de configuración: systemctl restart postgresql-9.3.service
Establecer una contraseña para el usuario postgres y crear usuario para el sistema web. su – postgres cd psql alter user postgres with password 'micLavesegUra736.'; create user sagcor with password 'miotRaclVeseGura391-'; Control + D Exit
168
e. Instalar Servidor Web
Agregar el repositorio EPEL para poder instalar php-mcrypt requerido por laravel. Entrar
en
el
espejo
http://mirror.espoch.edu.ec/fedora-
epel/7/x86_64/ Buscar
el
paquete
http://mirror.espoch.edu.ec/fedora-
epel/7/x86_64/e/epel-release-7-5.noarch.rpm Es el instalador del repositorio para Centos7, procedemos a instalar yum
–y
install
http://mirror.espoch.edu.ec/fedora-
epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Instalar apache, php y demás dependencias yum -y install httpd php php-pdo php-pgsql php-mysql php-xml php-gd php-mbstring php-mcrypt Editar el archivo de configuración httpd.conf vi /etc/httpd/conf/httpd.conf Tiene formato XML, se debe buscar las secciones “<Directory
/>”
y
“<Directory
"/var/www/html">”,
modificar la siguiente línea en ambas. AllowOverride All Esto es requerido por el framework Laravel para redireccionar las vistas dinámicamente. Guardar los cambios “Esc : x”
Editar archivo de configuración php.ini vi /etc/php.ini Establecer un tiempo de ejecución de hasta 2 minutos para el script que sube las notas al sitio web.
169
max_execution_time = 120 Establecer zona horaria date.timezone = america/Guayaquil
Habilitar el servicio httpd para que inicie con el sistema e iniciar el servicio systemctl enable httpd.service systemctl start httpd.service
f. Configuración de firewall
En RHEL7 se ha cambiado el servicio iptables que se venía usando en versiones anteriores por firewalld, cabe recalcar que ambos siguen usando el comando iptables.
Permitir el acceso a postgresql-server desde otro host en la red. firewall-cmd --zone=public --add-port=5432/tcp --permanent firewall-cmd –reload
Permitir el acceso al servicio web desde otro host en la red. firewall-cmd --zone=public --add-service=http --permanent firewall-cmd –reload
El servicio ssh para acceso remoto y transferencia de archivos con sftp está habilitado por defecto, caso contrario: firewall-cmd --zone=public --add-service=ssh --permanent firewall-cmd –reload
g. Instanciar base de datos
Usar
el
programa
pgAdminIII
http://www.pgadmin.org/
desde
el
sitio
web
oficial
170
Para subir el script de la base de datos es necesario conectar al servidor desde un host que tenga instalado pgAdminIII, con las credenciales configuradas Host: 192.168.100.103 (según archivo de configuración ifcfgenp0s3) Puerto: 5432 Usuario: postgres Clave: micLavesegUra736.
Crear una base de datos llamda UESSCC Click derecho en Databases dentro de la conexión recientemente creada New Database… Name: UESSCC Owner: sagcor Click en OK Click derecho en la base UESSCC Restore Seleccionar en FileName el archivo BDD.backup adjunto en el medio de instalación del sistema Click Restore, esperar unos minutos. Desconectar de pgAdminIII
Deshabilitar el acceso remoto por seguridad, sólo es necesario cuando se requiere subir un backup a la base de datos. firewall-cmd
--zone=public
--remove-port=5432/tcp
permanent firewall-cmd –reload
h. Copiar el sistema desde el medio de instalación hacia el servidor
Se usa el protocolo ssh Host: 192.168.100.103
--
171
Puerto: 22 Usuario: root Clave: la establecida en la instalación Directorio: /var/www/html
Desde Windows se puede usar el programa WinSCP.
Desde Linux se puede montar la carpeta con nautilus o usar el comando scp scp web/* root@192.168.100.103:/var/www/html/
i. Configuración de Secure Enterprise Linux y demás permisos
Permitir al servicio httpd conectarse a la red y a bases de datos. setsebool -P httpd_can_network_connect on setsebool -P httpd_can_network_connect_db on
Limpiar caché y permitir al framework laravel escribir el carpetas requeridas para generar vistas chcon-thttpd_sys_rw_content_t /var/www/html/matpag/app/storage/* chcon-thttpd_sys_rw_content_t var/www/html/notas/app/storage/* cd /var/www/html/matpag php artisan cache:clear chmod -R 777 app/storage/ php artisan dump-autoload cd /var/www/html/notas php artisan cache:clear chmod -R 777 app/storage/ php artisan dump-autoload
172
j. Configuración de credenciales de acceso del sistema a la base de datos
vi /var/www/html/configuracion.php
línea 56: $this->setBase('UESSCC'); $this->setClave('miotRaclVeseGura391-'); $this->setHost('127.0.0.1'); $this->setPuerto('5432'); $this->setUsuario('sagcor');
Guardar cambios “Esc : x”
k. Verificar inicio del sistema
En un navegador desde un host en la misma red que el servidor abrir el sitio web correspondiente a la IP del mismo. http://192.168.100.103 Usuario: MA304LOEISA Clave: Cre404encsec
Al iniciar sesión le pedirá que cambie su contraseña
El usuario administrador tiene acceso al módulo de usuarios y configuraciones, desde donde podrá administrar la conexión con el sitio web donde se publicarán las notas, y crear usuarios del sistema con los diferentes perfiles disponibles.
l. Recomendaciones de Seguridad
Es apropiado en el caso de publicar el sistema en Internet con una dirección IP pública o con redirección de puertos, adquirir / utilizar un certificado SSL para proteger a los usuarios de ataques informáticos de tipo “Man in The Middle”
173
Es recomendable cambiar el puerto por defecto de ssh, y complementar con aplicaciones como fail2ban que permiten vanear la ip del cliente que tenga varios intentos fallidos de ingresar al servidor con el protocolo ssh, esto previene ataques de fuerza bruta.
No mantener el puerto de postgresql-server (5432/tcp) visible para toda la red, si se establecen contraseñas débiles, un atacante podría modificar la información de la base de datos. Ej.: notas, estudiantes, matrículas, entre otros.
174
ANEXO 9
175
Diagrama de BDD completa Proyecto: ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DEL MÓDULO DE CREACIÓN DE HORARIOS
176
ď&#x192;&#x2DC;
Base de Datos del sistema completo