Análisis, diseño e implementación del módulo de creación de horarios

Page 1

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

ďƒ˜

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

ďƒ˜

Base de Datos del sistema completo


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.