UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA INFORMÁTICA AUTOMATIZACIÓN DEL PROCESO DE REGISTRO DE NOTAS Y DISCIPLINA EN EL COLEGIO DE BACHILLERATO TABACUNDO Trabajo de graduación, previo a la obtención del título de Ingeniero en Informática. AUTOR: Oscar Fernando Morocho Guachalá TUTOR: Ing. Alicia Lorena Andrade Bazurto QUITO - ECUADOR 2015 DEDICATORIA Este trabajo quiero dedicar a mi padre Luis Morocho y a mi madre María Guachalá por darme su apoyo, consejos y su infinito amor y cariño a su manera. Gracias mamá y papá por darme la educación con su sacrificio y esfuerzo de cada día tan solo para dejarme la mejor herencia del mundo que es mi carrera y mi futuro. A mis hermanos Juana, Sonia y Diego quienes siempre están a mi lado para brindarme todo su cariño y palabras de aliento para seguir adelante y superar cada obstáculo que se presenta. A mis profesores que estuvieron en el proceso por brindarme todos sus conocimientos dentro de lo cual fue mi carrera, sino a todos los de la vida, porque cada uno de ellos aportó a formar parte de lo que soy, son parte fundamental de este crecimiento como persona y como estudiante. A toda mi familia por el amor y cariño que siempre me han brindado y por estar siempre pendientes de mi salud y bienestar. ii AGRADECIMIENTO En primer lugar a Dios por darme salud necesaria para culminar éste sueño tan anhelado y por cuidar a toda mi familia ya que ellos son el pilar fundamental en mi desarrollo como profesional. Quiero expresar mi agradecimiento y compromiso con el Colegio de Bachillerato Tabacundo especialmente con Lic. Juan Laverde Rector de la Institución, ya que me facilitó la información y los recursos necesarios para la realización y desarrollo de este proyecto de tesis. Un agradecimiento especial a la prestigiosa Universidad Central del Ecuador, ya que fue un excelente lugar de formación y estudio, y en especial por todo lo que me ha brindado a nivel personal y profesionalmente. A mis familiares por todo el apoyo incondicional brindado durante la carrera estudiantil, con sus continuas motivaciones de superación. Y a todas aquellas personas que en forma directa e indirectamente contribuyeron a que este trabajo de tesis pudiera llevarse a cabo. iii AUTORIZACIÓN DE AUTORÍA INTELECTUAL iv CERTIFICADOS TUTOR En calidad de Tutor del proyecto de investigación: AUTOMATIZACIÓN DEL PROCESO DE REGISTRO DE NOTAS Y DISCIPLINA EN EL COLEGIO DE BACHILLERATO TABACUNDO, presentado y desarrollado por la señor: Oscar Fernando Morocho Guachalá, para aprobar el Tema del Trabajo de Graduación, previo a la obtención del Título de Ingeniero Informático considero que el Proyecto reúne los requisitos necesarios. En la ciudad de Quito, a los 28 días del mes de abril de 2015. Atentamente. Ing. Alicia Lorena Andrade Bazurto TUTOR DE TESIS v vi CALIFICACIÓN TRABAJO DE GRADUACIÓN vii viii CONTENIDO DEDICATORIA ............................................................................................................... ii AGRADECIMIENTO ..................................................................................................... iii AUTORIZACIÓN DE AUTORÍA INTELECTUAL .......................................................iv CERTIFICADOS TUTOR ................................................................................................. v CALIFICACIÓN TRABAJO DE GRADUACIÓN ....................................................... vii LISTA DE CUADROS .................................................................................................. xiii LISTA DE FIGURAS .....................................................................................................xiv RESUMEN....................................................................................................................... xv ABSTRACT ....................................................................................................................xvi CERTIFICACIÓN DE TRADUCCIÓN ....................................................................... xvii TÍTULO DEL TRADUCTOR ..................................................................................... xviii INTRODUCCIÓN ............................................................................................................. 1 CAPÍTULO 1 ..................................................................................................................... 3 1. PRESENTACIÓN DEL PROBLEMA ....................................................................... 3 1.1. Planteamiento del Problema ................................................................................ 3 1.2. Formulación del Problema .................................................................................. 4 1.3. Interrogantes de la Investigación ......................................................................... 4 1.4. Objetivos de la Investigación .............................................................................. 5 1.4.1. Objetivo General .................................................................................................... 5 1.4.2. Objetivos Específicos.............................................................................................. 5 1.5. Justificación ......................................................................................................... 5 1.6. Alcance ................................................................................................................ 6 ix CAPÍTULO 2 ..................................................................................................................... 9 2. REVISIÓN BIBLIOGRÁFICA .................................................................................. 9 2.1. Antecedentes. ...................................................................................................... 9 2.2. Fundamentación Teórica. .................................................................................... 9 2.2.1. Ingeniería de Software. .......................................................................................... 9 2.2.2. Programación Orientada a Objetos. .................................................................... 10 2.2.3. Lenguaje Java ....................................................................................................... 11 2.2.4. Servidor de Aplicaciones ...................................................................................... 24 2.2.5. Base de datos Postgres ........................................................................................ 27 2.2.6. Jasper report ........................................................................................................ 30 2.2.7. El Proceso Unificado de Rational (RUP) ............................................................... 31 2.2.8. UML ...................................................................................................................... 35 2.2.9. Requerimientos funcionales ................................................................................ 37 2.2.10. Requerimientos no funcionales ........................................................................... 37 2.3. Hipótesis ............................................................................................................ 37 CAPÍTULO 3 ................................................................................................................... 38 3. MARCO METODOLÓGICO................................................................................... 38 3.1. Diseño de la Investigación ................................................................................ 38 3.1.1. Justificación .......................................................................................................... 38 3.1.2. Tipo de Investigación ........................................................................................... 38 3.1.3. Carácter ................................................................................................................ 39 3.2. Fase de Inicio ..................................................................................................... 39 3.2.1. Hitos y Entregables .............................................................................................. 39 3.2.2. Acta de Inicio del Proyecto .................................................................................. 40 3.2.3. Conformación del Equipo del proyecto. .............................................................. 42 3.3. Fase de Elaboración Análisis Y Diseño ............................................................ 44 3.3.1. Plan de Gestión de Riesgos .................................................................................. 45 x 3.3.2. Identificación de Requerimientos Funcionales. ................................................... 47 3.3.3. Identificación de Requerimientos no Funcionales ............................................... 51 3.3.4. Identificación de Actores ..................................................................................... 53 3.3.5. Identificación de Casos de Uso ............................................................................ 55 3.3.6. Diagramas de caso de Uso ................................................................................... 55 3.3.7. Diagramas de Secuencia ...................................................................................... 74 3.3.8. Diagrama de Estados............................................................................................ 78 3.3.9. Diseño de modelo Entidad – Relacional .............................................................. 81 3.3.10. Definición de Arquitectura del Sistema ............................................................... 82 3.3.11. Determinación de Herramientas Tecnológicas .................................................... 83 3.4. Fase de Construcción. ........................................................................................ 85 3.4.1. Estructura de los programas fuentes. .................................................................. 86 3.4.2. Definición de Estándares de la Interfaz. .................................................................... 87 3.4.3. Distribución de Secciones de Página.......................................................................... 87 3.4.4. Fuentes....................................................................................................................... 88 3.4.5. Alineación................................................................................................................... 88 3.4.6. Colores ....................................................................................................................... 88 3.4.7. Uso de Imágenes .................................................................................................. 89 3.4.8. Navegación ........................................................................................................... 90 3.4.9. Definición de Estándares de Codificación. ........................................................... 90 3.4.10. Definición de Estándares de Base de Datos ......................................................... 90 3.5. Fase de Transición. ............................................................................................ 91 3.5.1. Plan de Pruebas.......................................................................................................... 91 3.5.2. Plan de Capacitación. ................................................................................................. 94 3.5.3. Acta de Entrega Recepción. ....................................................................................... 95 CAPITULO 4 ................................................................................................................... 97 4. MARCO ADMINISTRATIVO ................................................................................ 97 4.1. Recursos ............................................................................................................ 97 xi 4.2. Presupuesto ........................................................................................................ 98 4.3. Cronograma ..................................................................................................... 100 CAPÍTULO 5 ................................................................................................................. 102 5. CONCLUSIONES Y RECOMENDACIONES ..................................................... 102 5.1. Conclusiones ................................................................................................... 102 5.2. Recomendaciones ............................................................................................ 103 BIBLIOGRAFÍA ........................................................................................................... 104 TERMINOLOGÍA BÁSICA ......................................................................................... 105 ANEXOS ....................................................................................................................... 108 A. Manual de Usuario .......................................................................................... 108 B. Manual de Instalación ..................................................................................... 151 C. Manual Técnico ............................................................................................... 194 xii Sirendi – Sistema de Registro de Notas y Disciplina LISTA DE CUADROS Tabla 1 Acta de Inicio del Proyecto – Fuente Propia ............................................................................. 42 Tabla 2 Conformación del Equipo del Proyecto – Fuente Propia......................................................... 43 Tabla 3 Posibles Riesgos del Proyecto ..................................................................................................... 47 Tabla 4 Descripción administración sirendi ........................................................................................... 57 Tabla 5 Descripción gestión académica ................................................................................................... 57 Tabla 6 Descripción gestión reporte/consulta ......................................................................................... 58 Tabla 7 Descripción gestión notificaciones ............................................................................................. 59 Tabla 8 Descripción gestión usuarios ...................................................................................................... 61 Tabla 9 Descripción gestión cursos .......................................................................................................... 62 Tabla 10 Descripción gestión reporte notas ............................................................................................ 62 Tabla 11 Descripción gestión paralelos ................................................................................................... 63 Tabla 12 Descripción gestión materias .................................................................................................... 64 Tabla 13 Descripción gestión horarios .................................................................................................... 65 Tabla 14 Descripción gestión años lectivos ............................................................................................. 65 Tabla 15 Descripción gestión acceso sistema .......................................................................................... 66 Tabla 16 Descripción gestión notificaciones ........................................................................................... 67 Tabla 17 Descripción gestión datos docente ............................................................................................ 68 Tabla 18 Descripción gestión enviar notificaciones ................................................................................ 69 Tabla 19 Descripción gestión consulta/reportes ..................................................................................... 70 Tabla 20 Descripción gestión notas.......................................................................................................... 70 Tabla 21 Descripción gestión asistencia .................................................................................................. 71 Tabla 22 Descripción gestión datos estudiante/representante ............................................................... 72 Tabla 23 Descripción gestión consulta/reportes ..................................................................................... 73 Tabla 24 Descripción gestión enviar notificaciones ................................................................................ 74 Tabla 25 Requerimiento de cambio, crece de horario ........................................................................... 86 Tabla 26 Colores sistema .......................................................................................................................... 89 Tabla 27 Requerimiento de cambio, disponibilidad de tiempo ............................................................. 92 Tabla 28 Funcionalidad a probar ............................................................................................................ 93 Tabla 29 Requerimiento de cambio, ajuste de defectos ......................................................................... 93 Tabla 30 Plan de capacitación .................................................................................................................. 94 Tabla 31 Presupuesto ................................................................................................................................ 99 xiii Sirendi – Sistema de Registro de Notas y Disciplina LISTA DE FIGURAS Ilustración 1 Máquina Virtual De JAVA ............................................................................................... 12 Ilustración 2 Arquitectura JEE6 ............................................................................................................. 13 Ilustración 3 Arquitectura JSF ................................................................................................................ 16 Ilustración 4 Ciclo de vida de un JSF ...................................................................................................... 17 Ilustración 5 Primefaces 5.0 ..................................................................................................................... 18 Ilustración 6 Componentes de Postgresql ............................................................................................... 28 Ilustración 7 Ciclo de vida RUP ............................................................................................................... 32 Ilustración 8 Fases de RUP ....................................................................................................................... 33 Ilustración 9 Identificación de Actores .................................................................................................... 54 Ilustración 10 Diagrama caso de uso general ......................................................................................... 56 Ilustración 11 Diagrama caso de uso administrador .............................................................................. 60 Ilustración 12 Diagrama caso de uso docente ......................................................................................... 67 Ilustración 13 Diagrama caso de uso estudiante/representante ............................................................ 71 Ilustración 14 Notación diagrama de secuencia ..................................................................................... 74 Ilustración 15 Diagrama de secuencia login ............................................................................................ 75 Ilustración 16 Diagrama de secuencia gestión usuarios ......................................................................... 75 Ilustración 17 Diagrama de secuencia ingreso nota/asistencia .............................................................. 76 Ilustración 18 Diagrama de secuencia reportes ...................................................................................... 76 Ilustración 19 Diagrama de secuencia consulta notas ............................................................................ 77 Ilustración 20 Diagrama de secuencia envió notificación ...................................................................... 77 Ilustración 21 Diagrama de estado ingreso al sistema ........................................................................... 79 Ilustración 22 Diagrama de estado gestión de usuarios ......................................................................... 79 Ilustración 23 Diagrama de estado ingreso notas ................................................................................... 80 Ilustración 24 Diagrama de estado consulta notas ................................................................................. 80 Ilustración 25 Diagrama de estado reportes ........................................................................................... 81 Ilustración 26 Diseño modelo entidad - relación .................................................................................... 82 Ilustración 27 Modelo físico ..................................................................................................................... 83 Ilustración 28 Arquitectura del sistema .................................................................................................. 82 Ilustración 29 Estructura aplicación ear ................................................................................................. 87 Ilustración 30 Distribución de sección de paginas .................................................................................. 88 Ilustración 31 Cronograma .................................................................................................................... 101 xiv Sirendi – Sistema de Registro de Notas y Disciplina RESUMEN AUTOMATIZACIÓN DEL PROCESO DE REGISTRO DE NOTAS Y DISCIPLINA EN EL COLEGIO DE BACHILLERATO TABACUNDO El tema de tesis que aquí se presenta, trata sobre el desarrollo de un sistema de automatización del proceso de notas y disciplina en el Colegio de Bachillerato Tabacundo. El mismo que ha sido desarrollado con la finalidad de permitir agilizar el proceso de registro, envío y entrega de notas a los señores representantes y estudiantes mediante la utilización de un sistema web al cual las personas que cumpla los requisitos mínimos pueda acceder sin contratiempo alguno. La solución tecnológica que se planteo fue el desarrollo de una aplicación web basada en Java, bajo la especificación JEE6, servidor Jboss 7.1.1, base de datos PostgresSQL. En este proyecto se describe el Proceso Unificado de Rational (RUP) conjuntamente con el Lenguaje Unificado de Modelado UML para preparar todos los esquemas del sistema en la etapa de diseño. Posteriormente se procedió con las pruebas necesarias, la implantación del aplicativo y finalmente se conjetura ciertas conclusiones y recomendaciones en el desarrollo del sistema informático. DESCRIPTORES: INGENIERÍA DE SOFTWARE/ JAVA/ JEE6/ JBOOS/ POSTGRESSQL/ RUP xv Sirendi – Sistema de Registro de Notas y Disciplina ABSTRACT AUTOMATIZATION OF THE GRADES REGISTRATION PROCESS AND DISCIPLINE IN TABACUNDO HIGH SCHOOL This thesis is about the automatization of a system development of grades and discipline process in Tabacundo High School. It has been developed to improve the record process, mailing and grades delivery to the legal representative or students by using a web system to which people who fulfill the minimal requirements could access without any problem. The technical solution considered was the development of a web application based on Java, under JEE6 specification, Jboss 7.1.1 server, PostgresSQL database. This project describes the Rational Unified Process (RUP) together with the Unified Modeling Language UML to prepare all the schemes of the system at the design stage. Then carry out the required tests, the implementation of the application of the and finally conclude conclusions and recommendations relating to the development of the computer system. DESCRIPTORS: SOFTWARE ENGINEERING/ JAVA/ JEE6/ JBOOS/ POSTGRESSQL/ RUP xvi Sirendi – Sistema de Registro de Notas y Disciplina CERTIFICACIÓN DE TRADUCCIÓN xvii Sirendi – Sistema de Registro de Notas y Disciplina TÍTULO DEL TRADUCTOR xviii Sirendi – Sistema de Registro de Notas y Disciplina INTRODUCCIÓN Debido a que los Sistemas de Información (SI) y las Tecnologías de Información (TI) han cambiado la forma en que operan las organizaciones actuales, ya que a través de su uso se logran importantes mejoras, pues automatizan los procesos operativos, suministran una plataforma de información necesaria para la toma de decisiones y, lo más importante, su implantación logra ventajas competitivas o reducir la ventaja de los rivales de esta Institución. El Colegio de Bachillerato “Tabacundo” es una Institución educativa fiscal mixta de nivel secundario, que viene prestando sus servicios desde el año de 1970,localizado en la cabecera cantonal de Pedro Moncayo que se encuentra en el centro de Tabacundo con un área extensa que está ubicado en la Gonzáles Suárez 558 y Panamericana. En el interior cuenta aproximadamente con 40 aulas incluido avanzados laboratorios de química, física, anatomía e informática. Existen tres secciones diurna, vespertina y nocturna. En la mañana aproximadamente existen 800 alumnos de octavo a decimo. En la tarde existe aproximadamente 400 alumnos entre primero a tercero de bachillerato. En la noche aproximadamente de 300 alumnos entre octavo y tercero de bachillerato, en el año lectivo 2014-2015 tiene aproximadamente un total de 1500 alumnos. El propósito del Sistema de manera general es aplicar una metodología para ser incluida en la propuesta de desarrollo de Implementación de un Sistema de registro de notas y disciplina para el envío a representantes en el Colegio de Bachillerato “Tabacundo”. Como primer paso en las fases de análisis y diseño es realizar el estudio de los procesos y actividades que están inmersos en la actividad educativa del Colegio de Bachillerato “TABACUNDO”, de la cual se podrá identificar los puntos más críticos donde la intervención manual será innovada a procesos automatizados para optimizar recursos, costo y tiempo en su ejecución. 1 Sirendi – Sistema de Registro de Notas y Disciplina Como segundo paso en las fases de implementación y pruebas se construirá la solución que automatiza los procesos, cuyo producto final estará en el sistema de registro de notas y disciplina para el Colegio de Bachillerato “Tabacundo”. Tercer paso en la fase de instalación se procederá con la puesta en producción del sistema en las oficinas administrativas de la Institución específicamente en el área de secretaria. 2 Sirendi – Sistema de Registro de Notas y Disciplina CAPÍTULO 1 1. PRESENTACIÓN DEL PROBLEMA 1.1. Planteamiento del Problema De conformidad con lo prescrito en el Art. 146 del Reglamento a la Ley Orgánica de Educación Intercultural, “El año lectivo se debe desarrollar en un régimen escolar de dos (2) quimestres en todas las instituciones educativas públicas, fiscomisionales y particulares, y debe tener una duración mínima de doscientos (200) días de asistencia obligatoria de los estudiantes para el cumplimiento de actividades educativas, contados desde el primer día de clases hasta la finalización de los exámenes del segundo quimestre”. Esto ha generado que la Institución educativa cambie el manejo administrativo para el registro de notas y disciplina. Entre los problemas que se presentan en el manejo administrativo académico están: El cambio de registro de los aportes trimestrales a quimestrales dio paso a que el control de asistencia y de ingreso de notas se realice a través de formularios para que cuyos datos luego sean transcritos a hojas electrónicas. Para la generación de reportes quimestrales se usan hojas electrónicas y los datos se ingresan estudiante por estudiantes. El ineficiente acceso a la información. Esta situación ha causado una serie de inconvenientes y molestias para los actores identificados: instituciones, docentes, estudiantes, representantes, entre otros; entre los principales citamos: La Institución no dispone de un mecanismo eficiente para manejar y hacer llegar la información a los representantes y otros grupos de interés. 3 Sirendi – Sistema de Registro de Notas y Disciplina La Secretaria no puede emitir los reportes quimestrales a tiempo, debido a la demora en la trascripción de los datos. Los datos de los estudiantes, representantes y docentes no están organizados. Falta de comunicación e información oportuna entre los representantes y la Institución sobre el rendimiento académico de los estudiantes. La Institución no cuenta con un medio de información permanente, fácil y de acceso eficiente. 1.2. Formulación del Problema ¿Cómo proveer de un sistema informático que vaya acorde a las normativa y ordenanzas legales de la Institución educativa, el mismo que permita optimizar el proceso de registro de notas y disciplina para que con ello se pueda incrementar la eficiencia y eficacia de la Institución, además de fomentar la confianza de los estudiantes, docentes, representantes y personal de la Institución? 1.3. Interrogantes de la Investigación ¿Cómo identificar las necesidades y requerimientos de forma eficaz y efectiva de las personas involucradas en la administración académica? ¿Cómo podemos conocer y gestionar la información relevante de manera clara y oportuna? ¿Cómo podemos asegurar el soporte, escalabilidad y adaptación a los diferentes procesos y posibles cambios futuros en la gestión? ¿Cómo saber la situación estudiantil de los beneficiarios de una manera transparente que vaya acorde a las necesidades, misión y visión de la Institución? ¿Cómo utilizar las metodologías, técnicas y herramientas de tecnologías de la información para mejorar los procesos identificados? 4 Sirendi – Sistema de Registro de Notas y Disciplina 1.4. Objetivos de la Investigación 1.4.1. Objetivo General Mejorar la eficiencia operacional del colegio mediante la automatización del proceso de registro de notas y disciplina, que incluye la asignación de cursos, materias, docentes y estudiantes del colegio de Bachillerato Tabacundo en un sistema orientado web. 1.4.2. Objetivos Específicos Dado los problemas enunciados anteriormente se han establecido los siguientes objetivos específicos para el proyecto: Optimizar el proceso de ingreso de notas y disciplina mediante la automatización de actividades manuales y el rediseño del proceso. Disminuir el tiempo de espera para la entrega de información de notas y disciplina de los estudiantes mediante la generación de reportes predefinidos. Mejorar la comunicación entre los grupos de interés mediante el uso de correo electrónico para el envío de notificaciones con información relevante. Facilitar y agilizar el registro datos personales de estudiantes, representantes y docentes mediante la automatización de este proceso y mantener un solo punto de entrada de información. Facilitar a los interesados la información del estudiante mediante reportes con información actualizada y disponible el 100% del tiempo. Utilizar tecnología de información para mejorar la situación actual mediante el desarrollo de un sistema modular, flexible y seguro, orientado a un ambiente web que utilice la intranet del colegio, para aprovechar este recurso ampliamente disponible. 1.5. Justificación Luego de haber realizado el estudio en el Colegio de Bachillerato “Tabacundo”, se determinó que con el aumento de estudiantes en los últimos años se registró una cantidad de información mayor, estos procesos se realizan sin mecanismos adecuados de control y verificación que agilicen, garanticen y organicen la información y el proceso 5 Sirendi – Sistema de Registro de Notas y Disciplina de manera segura, enfrentando el riesgo de pérdida o alteración de la información, por esta razón se consideró que el desarrollo del Sistema Informático es de vital importancia para la Institución Educativa, el cual servirá para mejorar su operación, además de compartir reportes de las notas y disciplina que tiene el representado en la Institución (estudiante) y al representante sin necesidad que acuda a la Institución, logrando brindar servicios modernos y sistematizados acorde a la realidad de los tiempos y la tecnología disponible. 1.6. Alcance La finalidad es satisfacer los requerimientos del personal docente y administrativo de Colegio de Bachillerato “Tabacundo”, por lo tanto se desarrollaran los siguientes módulos: Módulo de gestión de notas, Módulo de control de acceso, Módulo de Notificaciones, Módulo de registro curricular, que permite la administración automatizada del proceso académico. Módulo de Control de Acceso o Registro de usuarios para ingresar al sistema, cada usuario tendrá un clave y nombre de usuario único para acceder al sistema, por motivos de seguridad, el administrador tendrá la opción de reiniciar la clave del usuario, estableciéndola con el nombre de usuario, al primer acceso de un usuario, si este tiene la clave por defecto, se le obligara a cambiarla, o Las claves deben cumplir los estándares definidas por las mejores prácticas y la administración. o Definición de roles y perfiles de acceso los cuales podrán ser personalizados por el administrador del sistema, de acuerdo a la función que tenga cada usuario. o Desde el módulo es posible gestionar a escala individual, toda la información referente al usuario del establecimiento educativo. Limitaciones: 6 Sirendi – Sistema de Registro de Notas y Disciplina o Los usuarios que se encuentran dentro de la red de la Institución educativa podrán ingresar al sistema de acuerdo con las políticas de seguridad para cada rol. o Permitirá generar reportes predefinidos sobre toda la trayectoria del usuario (Estudiante), con información existente desde la operación del sistema. Módulo de registro curricular o Registro de estudiantes y representantes. o Registro de materias. o Registro de docentes. o Asignación de horarios y paralelos en los que se dictaran las clases. Módulo de Notas o Información central que involucra la interacción de varios actores con diferente rol. o Permite almacenar, actualizar y consultar la información de las materias a dictar en el periodo lectivo. o En el caso de los docentes, el módulo deberá permitir el ingreso de las notas de los diferentes estudiantes de acuerdo a la materia en la que el docente este asignado, como también del quimestre o exámenes de aportes que los estudiantes hayan realizado. Debido a que el docente puede dar varias materias a varios cursos, se deberá presentar la opción de ingreso de notas por materia y por curso. Limitaciones: o El ingreso de notas quedará limitado por periodos de tiempo en donde el docente podrá efectuar esta operación; si el docente accede a la página fuera del periodo de ingreso de notas, solamente podrá observar y obtener reportes predefinidos de notas de los cursos y las materias a las que da clases. o Permitirá generar reportes predefinidos de notas a nivel de docente, estudiante y materia por periodo lectivo. 7 Sirendi – Sistema de Registro de Notas y Disciplina Módulo de Notificaciones o Notificaciones con envío de correo electrónico de los resultados predefinidos de disciplina, aportaciones y exámenes, además se garantizará la información entregada a sus representantes sobre los resultados de la materia. o Permitir el envío masivo de notificaciones hacia los docentes, estudiantes y representantes con boletines informativos. o Este servicio podrá ser manejado por un rol que podrá crear, modificar, enviar y borrar notificaciones a docentes y estudiantes, como también el rol docente generara tipo de notificaciones personalizadas hacia sus estudiantes. o En cuanto a su implementación comprenderá el proceso de envió de notas y disciplina a los representantes de modo automático o por requerimiento mismo que se controlara por roles. o Mantener registros de las notificaciones generadas Limitaciones: o La información de las notas y disciplina enviada a los estudiantes, representantes o docentes será responsabilidad de usuario que envía la notificación. 8 Sirendi – Sistema de Registro de Notas y Disciplina CAPÍTULO 2 2. REVISIÓN BIBLIOGRÁFICA 2.1. Antecedentes. Al presente trabajo, no le precede ningún proyecto similar luego de buscar las referencias de tesis en la biblioteca de la Universidad Central del Ecuador. Este trabajo surge en base a la problemática actual que se tiene en el Colegio de Bachillerato Tabacundo del Cantón Pedro Moncayo. Durante mucho tiempo el Colegio de Bachillerato “TABACUNDO”; debido a los procesos, actividades y necesidades básicas de la dependencia no se han realizado proyectos informáticos de gran trascendencia que den atención a sus necesidades, por lo cual la recopilación de información de cada uno de los estudiantes ha sido recopilada de forma poco eficiente lo que no permite un aprovechamiento de sus recursos y tecnología para dar un mejor servicio. Las dificultades del manejo de información surge, a través del tiempo ya que con el transcurrir de los años el colegio ha ido ganando prestigio en la parroquia de Tabacundo, siendo reconocido como un Colegio que tiene muchos logros amas de ser el primer Colegio del Cantón, de esta manera el alumnado viene incrementándose y nuevos desafíos con el manejo de información histórica de difícil acceso 2.2. Fundamentación Teórica. Las bases teóricas sobre la cual se sustenta el presente trabajo investigativo son: Ingeniería de Software, Metodología RUP, Programación Orientada a Objetos. 2.2.1. Ingeniería de Software. 1 La ingeniería del software es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde las etapas iníciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza. Éste es abstracto e 1 (Recuperado el 30 de enero del 2015) de Ingeniería de Software, IanSommerville. 9 Sirendi – Sistema de Registro de Notas y Disciplina intangible. No está restringido por materiales, o gobernado por leyes físicas o por procesos de manufactura. De alguna forma, esto simplifica la ingeniería del software ya que no existen limitaciones físicas del potencial del software. Sin embargo, esta falta de restricciones naturales significa que el software puede llegar a ser extremadamente complejo y, por lo tanto, muy difícil de entender. En general, los ingenieros de software adoptan un enfoque sistemático y organizado en su trabajo, ya que es la forma más efectiva de producir software de alta calidad. Sin embargo, aunque la ingeniería consiste en seleccionar el método más apropiado para un conjunto de circunstancias, un enfoque más informal y creativo de desarrollo podría ser efectivo en algunas circunstancias. 2.2.2. Programación Orientada a Objetos. 2 Es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. Los objetos son entidades que tienen un determinado estado, comportamiento (método) e identidad: La POO difiere de la programación estructurada tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programación estructurada anima al programador a pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la programación estructurada solo se escriben funciones que procesan datos. Los programadores que emplean POO, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos. 2 (Recuperado el 05 de marzo del 2015) de http://www.etnassoft.com/biblioteca/introduccion-a-laprogramacion-orientada-a-objetos-con-java/ 10 Sirendi – Sistema de Registro de Notas y Disciplina 2.2.3. Lenguaje Java 3 Java es un lenguaje de programación orientado a objetos, eso implica que su concepción es muy próxima a la forma de pensar humana. Es un lenguaje de alto nivel y sus características más importantes son: Es un lenguaje que es compilado, generando ficheros de clases compilados, pero estas clases compiladas son en realidad interpretadas por la máquina virtual java. Siendo la máquina virtual de java la que mantiene el control sobre las clases que se estén ejecutando. Es un lenguaje multiplataforma: El mismo código java que funciona en un sistema operativo funcionará en cualquier otro sistema operativo que tenga instalada la máquina virtual java. Es un lenguaje seguro: La máquina virtual al ejecutar el código java realiza comprobaciones de seguridad, además el propio lenguaje carece de características inseguras, como por ejemplo los punteros. Gracias al API de java podemos ampliar el lenguaje para que sea capaz de, por ejemplo, comunicarse con equipos mediante red, acceder a bases de datos, crear páginas HTML dinámicas, crear aplicaciones visuales al estilo Windows. Java está diseñado para que un programa escrito en este lenguaje sea ejecutado independientemente de la plataforma (hardware, software y sistema operativo) en la que se esté actuando. Esta portabilidad se consigue haciendo de Java un lenguaje interpretado y compilado que actúa de la siguiente manera: Se coge el código fuente, se compila a un lenguaje intermedio cercano al lenguaje máquina pero independiente del ordenador y el sistema operativo en que se ejecuta (llamado en el mundo Java bytecodes). Finalmente, se interpreta ese lenguaje intermedio por medio de un programa denominado máquina virtual de Java (JVM), que sí depende de la plataforma. 3 (Recuperado el 01 de febrero del 2015) de http://www.mundojava.net/caracteristicas-dellenguaje.html?Pg=java_inicial_4_1.html 11 Sirendi – Sistema de Registro de Notas y Disciplina Ilustración 1 Máquina Virtual De JAVA Los java bytecodes permiten el ya conocido “write once, run anywhere” (compila una sola vez y ejecútalo donde quieras). Podemos compilar nuestros programas a bytecodes en cualquier plataforma que tenga el compilador Java. Los bytecodes luego pueden ejecutarse en cualquier implementación de la máquina virtual de Java (JVM). Esto significa que mientras el ordenador tenga un JVM, el mismo programa escrito en Java puede ejecutarse en Windows, Solaris, iMac, Linux, etc. 2.2.3.1. Plataforma JEE6 4 La Plataforma JEE6 es una colección de especificaciones que definen una infraestructura para desarrollar aplicaciones distribuidas multicapa (3-tier, n-tier). Algunas de las características nuevas de la plataforma son: Perfiles: Java EE 6 introduce el concepto de perfiles, distintas configuraciones específicas de la plataforma para distintos fines. El primero en ser introducido en esta versión es el Web Profile, un perfil más liviano que usa únicamente lo necesario para desarrollos web. Productividad del desarrollo: Apuntando las configuraciones a más anotaciones y menos configuración XML. 4 (Recuperado el 02 de febrero del 2015) de http://slideplayer.es/slide/1125381/ 12 Sirendi – Sistema de Registro de Notas y Disciplina Nuevas especificaciones: EJB 3.1, Java API for RESTful Web Services (JAXRS), Contextos e inyección de dependencias (CDI), JPA 2, y más. La especificación de JEE6 define su arquitectura basándose en los conceptos de capas, containers, componentes, servicios y las características de cada uno de éstos. JEE6 proporciona librerías API de servicios web, modelos de componente, gestión y comunicación que lo convierten en el estándar para implementar aplicaciones SOA (arquitectura orientada a servicios) empresariales y aplicaciones web de nueva generación que permite tener un perfil web y varios perfiles. Ilustración 2 Arquitectura JEE6 La capa del cliente: Esta capa corresponde lo que se encuentra en el computador del cliente. Es la interfaz gráfica del sistema y se encarga de interactuar con el usuario a través del navegador web. JEE6 tiene soporte para diferentes tipos de clientes incluyendo HTML, applets Java y aplicaciones Java. La capa web: Se encuentra en el servidor web y contiene la lógica de presentación que se utiliza para generar una respuesta al cliente. Recibe los datos del usuario desde la capa cliente y basado en éstos, genera una respuesta apropiada a la solicitud. JEE6 utiliza en esta capa las componentes Java Servlets, JavaServer Faces para crear los datos que se enviarán al cliente. 13 Sirendi – Sistema de Registro de Notas y Disciplina La capa de lógica de negocio: Se encuentra en el servidor de aplicaciones y contiene el núcleo de la lógica del negocio de la aplicación. Provee las interfaces necesarias para utilizar el servicio de componentes del negocio. Los componentes del negocio interactúan con la capa de datos y son típicamente implementadas como componentes EJB. La capa de Datos: Esta capa es responsable del sistema de información de la empresa o Enterprise Information System (EIS) que incluye bases de datos, sistema de procesamiento de datos y sistemas legados. Las características de la plataforma JEE 6 son: Portable: La famosa frase de Sun ‘Escribe una Vez, usa en cualquier parte’ tiene un gran poder de convocatoria, si se escribe la aplicación en una máquina Windows o Linux y cuando se haya terminado puede utilizarse en cualquier plataforma para la que haya disponible una Máquina Virtual Java (JVM). Especifica una sintaxis para los nombres JNDI (Java Naming and Directory Interface) que debe ser la misma en todos los servidores de aplicaciones. EJB 3.0 especifica un contenedor embebido que es un API estándar para ejecutar EJBs dentro de un ambiente JSE (Java Estándar Edition), facilitando las pruebas. Escalable: Se puede añadir nuevos componentes JEE6 a una aplicación Web por ejemplo un aumento de usuarios, sin tener que escribir todo el código de nuevo. Perfiles: Java EE6 introduce el concepto de perfiles, distintas configuraciones específicas de la plataforma para distintos fines. El primero en ser introducido en esta versión es el Web Profile, un perfil más liviano que usa únicamente lo necesario para desarrollos web. Productividad del desarrollo: Se usan anotaciones en lugar de archivos de configuración en la capa Web. Servlets, JSF, Managed Beans, convertidores, validadores son ahora clases anotadas con archivos de configuración xml opcionales (el faces-config.xml es opcional). 14 Sirendi – Sistema de Registro de Notas y Disciplina Para crear EJBs locales, no es necesario definir la interface. Pueden ser desplegados directamente en un war (web archive) sin tener que empaquetarlos previamente en un jar (java archive). Mayor diversidad de componentes: Se agregan nuevas especificaciones como: DI 1.0, Managed Beans 1.0, Bean Validation 1.0, JAX – RS 1.1. Se mejoran algunas existentes, JPA 2.0 se agregan colecciones de tipos de datos simples bloqueo pesimista, mejoras en JPQL, llamadas asíncronas Servicio de timer enriquecido para calendarizar tareas Singleton Session Bean, JSF 2.0 Soporte para Ajax JAX-RS 1.1, creación de RESTFUL Web Services Anotados. 2.2.3.2. Tecnología JSF 5 La tecnología Java Server Faces es un framework de interfaz de componentes de usuarios del lado del servidor para las aplicaciones web basadas en la tecnología Java. Los principales componentes de la tecnología JSF son: Una API para representar componentes de Interfaz de Usuario (UI) y gestionar su estado. Manejar eventos, validar en el servidor y conversión de datos. Definir la navegación de páginas. Soporte de internacionalización y accesibilidad. Para el desarrollo de aplicaciones de negocio se utiliza frecuentemente el patrón de diseño MVC Modelo Vista Controlador (Model View Controller) que además es sencillo de implementar en las aplicaciones web. En este patrón el modelo es modificable por las funciones de negocio. Estas funciones son solicitadas por el usuario mediante el uso de un conjunto de vistas de la aplicación que solicitan dichas funciones de negocio a través de un controlador, que es el módulo que recibe las peticiones de las vistas y las procesa. Se suele clasificar en dos tipos a las aplicaciones basadas en MVC: 5 (Recuperado el 04 de febrero del 2015) de http://es.wikipedia.org/wiki/JavaServer_Faces 15 Sirendi – Sistema de Registro de Notas y Disciplina Tipo 1. Las vistas conocen la acción que se va a invocar en su petición, normalmente la función esta cableada dentro de la vista Tipo 2. El controlador introduce un conjunto de reglas que mapean a las peticiones con las funciones, controlando además el flujo de navegación por la aplicación. Un ejemplo de aplicaciones de tipo 1 son las que se construyen utilizando JSF o ASP.NET y como ejemplo de tipo 2 serían las creadas con Struts. 6 JSF es un framework MVC que simplifica principalmente la interacción de las interfaces de un usuario de cualquier tipo: Ordenador, PDA, Móvil, entre otros, en aplicaciones con tecnología JEE. A través de los Managed Bean se podrá interactuar con los eventos de los controles de la interfaz del cliente y poder enviarlas a las clases que se encuentran en el servidor de aplicaciones. Ilustración 3 Arquitectura JSF Los ciclos de vida por las que pasa una petición JSF desde que se recibe en el servidor hasta que se genera la página HTML resultante son las siguientes: 1. Restaurar la vista (restore view). En este paso se obtiene el árbol de componentes correspondiente a la vista JSF de la petición. Si se ha generado 6 (Recuperado el 10 de febrero del 2015) de https://javajeecastellano.wordpress.com/2014/01/08/jsf22migracion-managed-beans-a-cdi-con-maven/ 16 Sirendi – Sistema de Registro de Notas y Disciplina antes se recupera, y si es la primera vez que el usuario visita la página, se genera a partir de la descripción JSF. 2. Aplicar los valores de la petición (apply request values). Una vez obtenido el árbol de componentes, se procesan todos los valores asociados a los mismos. Se convierten todos los datos de la petición a tipos de datos Java y, para aquellos que tienen la propiedad inmediate se validan adelantándose a la siguiente fase. 3. Procesar las validaciones (process validations). Se validan todos los datos. Si existe algún error, se encola un mensaje de error y se termina el ciclo de vida, saltando al último paso (renderizar respuesta). 4. Actualizar los valores del modelo (update model values). Cuando se llega a esta fase, todos los valores se han procesado y se han validado. Se actualizan entonces las propiedades de los beans gestionados asociados a los componentes. 5. Invocar a la aplicación (invoke application). Cuando se llega a esta fase, todas las propiedades de los beans asociados a componentes de entrada (input) se han actualizado. Se llama en este momento a la acción seleccionada por el usuario. 6. Renderizar la respuesta (render response). Se ejecutan las acciones y eventos solicitados para la página, si es necesario se realiza la navegación. Si se encontraron errores durante las fases se mostrara la página original con los mensajes de error que haya en la cola. Ilustración 4 Ciclo de vida de un JSF 17 Sirendi – Sistema de Registro de Notas y Disciplina Al final de cada una de las fases, se comprueba si hay algún evento que debe ser procesado en esa fase en concreto y se llama a su manejador. A las clases java que se asocian a los formularios JSF se les denomina backend beans ya que son los beans (clases java) que están detrás del formulario. Estos beans se referencian en el fichero de configuración de JSF en el apartado de managed beans, ya que son beans gestionados por el controlador JSF. Este se encarga de su construcción y destrucción automáticas cuando es necesario. Las ventajas de JSF 2.0. Simplifica la utilización de componentes en las páginas web con la utilización de templates, facelets y la composición de componentes. Provee soporte predefinido para la tecnología Ajax ya que es parte de la especificación y el uso de anotaciones. La utilización del archivo faces-config.xml es opcional gracias a las anotaciones proporcionadas por el Framework. Tenemos un nuevo ámbito de las variables de entornos (manager bean) que es la de View, se puede realizar varias acciones mientras no cambie de página. Dado que Facelets es la configuración por default en lugar de JSP, no se necesita agregar jars ni configurar nada adicional en el faces-config.xml ni en el web.xml. 2.2.3.3. Primefaces 5.0 Ilustración 5 Primefaces 5.0 18 Sirendi – Sistema de Registro de Notas y Disciplina 7 PrimeFaces es una librería de componentes visuales open source desarrollada y mantenida por Prime Technology, una compañía Turca de IT especializada en consultoría ágil, JSF, Java EE y Outsourcing. Las principales características de PrimeFaces son: o Soporte nativo de Ajax, incluyendo Push/Comet. o Kit para crear aplicaciones web para móviles. o Es compatible con otras librerías de componentes, como JBoss RichFaces. o Uso de JavaScript no intrusivo (no aparece en línea dentro de los elementos, sino dentro de un bloque <script>). o Es un proyecto open source, activo y bastante estable entre versiones Algunos inconvenientes podrían ser: o Al utilizar el soporte de Ajax tenemos que indicarlo explícitamente, por medio de atributos específicos de cada componente. No podemos utilizar el soporte de Ajax de JSF 2 (mediante<f:ajax>) con los componentes de PrimeFaces. 2.2.3.4. Java Persistence API 8 Es un API (clases, interfaces, anotaciones) para la persistencia de objetos, es decir el esqueleto para la persistencia, que abstrae de las bases de datos y brinda un estándar para persistir los datos en java. Mapea automáticamente nuestras clases en la base de datos de manera transparente, y utilizando un estándar, lo cual entre otras cosas nos permite poder migrar de cualquier 7 (Recuperado el 15 de febrero del 2015) de http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=introduccionPrimefaces 8 (Recuperado el 20 de febrero del 2015) de http://www.clubensayos.com/Tecnolog%C3%ADa/TutorialDe-Jpa/1900449.html 19 Sirendi – Sistema de Registro de Notas y Disciplina motor de base de datos, y poder compartir código o trabajar en equipo sin ningún problema. Un fichero muy importante que tenemos que crear a parte de las clases “Entity” es el fichero “persistence.xml”, en este fichero vamos a indicar precisamente que clases son Entity, sobre qué base de datos vamos a atacar, y cuál es la política de creación de esta base de datos. Tiene los datos de la conexión a la base de datos, la cual ya debe estar creada anteriormente. En el caso de las tablas no es necesario, JPA automáticamente crea las tabas necesarias a partir de las tablas que poseamos. Java Persistence API consta de tres áreas: o El API de JPA. o El lenguaje de query: Es el lenguaje de consultas similar al SQL pero se usan objetos (entidades) los joins entre entidades se hace automáticamente haciendo referencia a los objetos. o El mapeo de los metadatos objeto/relacional. Para usar JPA se necesita alguna librería que implemente el api de JPA, existen algunas librerías que lo implementan como: Hibernate, Toplink, OpenJpa, EclipseLink, entre otras. 2.2.3.5. Hibernate 9 Es marco de trabajo para el desarrollo de aplicaciones empresariales en Java Características principales: o Es una implementación del estándar JPA en el archivo de persistence.xml le atamos el estándar a la implementación. o En el mapeo Objeto/Relacional soporta el mapeo de relaciones complejas de objetos, claves simples y compuestas, mapeo de superclases y relaciones de 9 (Recuperado el 22 de febrero del 2015) de http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=hibernate 20 Sirendi – Sistema de Registro de Notas y Disciplina herencia de clases, el uso de Lazy/Eager para carga liviana y pesada de objetos relacionados, actualizaciones y eliminación de datos en cascada. o Se tiene un Hibernate Dialect para cada motor de base de datos. o Debe especificar el dialecto de la base de datos (Oracle, DB2, PostgreSQL, etc). o La configuración de acceso a datos también puede hacerse mediante JNDI para nombrar un datasource. 2.2.3.6. Enterprise Java Beans (EJB) 10 EJB (Enterprise Java Beans) es un modelo de programación que nos permite construir aplicaciones Java mediante objetos ligeros (como POJO's). Cuando construimos una aplicación, son muchas las responsabilidades que se deben tener en cuenta, como la seguridad, transaccionalidad, concurrencia, etc. El estandar EJB nos permite centrarnos en el código de la lógica de negocio del problema que deseamos solucionar y deja el resto de responsabilidades al contenedor de aplicaciones donde se ejecutará la aplicación. El contenedor de aplicaciones Un contenedor de aplicaciones es un entorno que provee los servicios comunes a la aplicación que desea ejecutar. Dichos servicios incluyen la creación, mantenimiento y destrucción de nuestros objetos de negocio, así como los servicios mencionados en el punto anterior, entre otros. Aunque el contenedor es responsable de la gestión y uso de dichos recursos/servicios, podemos interactuar con él para que nuestra aplicación haga uso de los servicios que se ofrecen (normalmente mediante metadatos). Una vez escrita nuestra aplicación EJB, podemos desplegarla en cualquier contenedor compatible con EJB, beneficiándonos de toda el trabajo tras bastidores que el contenedor gestiona por nosotros. De esta manera la lógica de negocio se mantiene independiente de otro código que pueda ser necesario, resultando en código que es más fácil de escribir y mantener 10 (Recuperado el 25 de febrero del 2015) de http://www.davidmarco.es/articulo/introduccion-a-ejb-3-1-i 21 Sirendi – Sistema de Registro de Notas y Disciplina La especificación EJB 3.1 11 La especificación EJB 3.1 es parte de la plataforma JavaEE 6, desarrollada y mantenida por Sun Microsystems (ahora parte de Oracle Corporation). JavaEE 6 provee diversas API's para la construcción de aplicaciones empresariales, entre ellas EJB, JPA, JMS, y JAX-WS. Cada una de ellas se centra en un área específica, resolviendo así problemas concretos. Además, cada API está preparada para funcionar en compañía de las demás de forma nativa, y por tanto en su conjunto son una solución perfectamente válida para desarrollar una aplicación end-to-end. Desde la versión 3.0, EJB no impone ninguna restricción ni obligación a los objetos de negocio de implementar una API en concreto. Dicho de otro modo, se puede escribir dichos objetos de negocio usando POJO's, facilitando entre otras cosas la reutilización de componentes y la tarea de testearlos. Por otro lado, el uso de POJO's para encapsular la lógica de negocio proporciona un modelo simple que es altamente reutilizable (Se debe recordar que la reutilización de clases es un concepto básico y esencial en programación orientada a objetos). Se Debe tener en cuenta que un POJO no actuará como un componente EJB hasta que haya sido empaquetado, desplegado en un contenedor EJB y accedido por dicho contenedor (por ejemplo a petición de un usuario). Una vez que un POJO definido como EJB haya sido desplegado en el contenedor, se convertirá en uno de los tres siguientes componentes (dependiendo del como lo hayamos definido): o Session Bean o Message-Driven Bean o Entity Bean Descripción de cada tipo de componente. Session Beans 11 (Recuperado el 25 de febrero del 2015) de http://www.davidmarco.es/articulo/introduccion-a-ejb-3-1-i 22 Sirendi – Sistema de Registro de Notas y Disciplina Los componentes Session Beans (Beans de Sesión) son los componentes que contienen la lógica de negocio que requieren los clientes de nuestra aplicación. Son accedidos a través de un proxy (también llamado vista, término que utilizaré en adelante) tras realizar una solicitud al contenedor. Tras dicha solicitud, el cliente obtiene una vista del Session Bean, pero no el Session Bean real. Esto permite al contenedor realizar ciertas operaciones sobre el Session Bean real de forma transparente para el cliente (como gestionar su ciclo de vida, solicitar una instancia a otro contenedor trabajando en paralelo, etc). Los componentes Session Bean pueden ser de tres tipos: o Stateless Session Beans o Stateful Session Beans o Singletons Los componentes Stateless Session Beans (Beans de Sesión sin Estado, a partir de ahora SLSB) son componentes que no requieren mantener un estado entre diferentes invocaciones. Los SLSB son creados y destruidos a discreción del contenedor, y puesto que no mantienen estado son muy eficientes a nivel de uso de memoria y recursos en el servidor. Los componentes Stateful Session Beans (Beans de Sesión con Estado, a partir de ahora SFSB), al contrario que SLSB, sí que mantienen estado entre distintas invocaciones realizadas por el mismo cliente. Esto permite crear un estado conversacional (como el carrito de la compra en una tienda online, que mantiene los objetos que hemos añadido mientras navegamos por las diferentes páginas), de manera que acciones llevadas a cabo en invocaciones anteriores son tenidas en cuenta en acciones posteriores. Son menos eficientes a nivel de uso de memoria y recursos en el servidor que los SLSB. Los componentes Singleton son un nuevo tipo de Session Bean introducido en EJB 3.1. Un Singleton es un componente que puede ser compartido por muchos clientes, de manera que una y solo una instancia es creada. A nivel de eficiencia en uso de memoria 23 Sirendi – Sistema de Registro de Notas y Disciplina y recursos son indiscutiblemente los mejores, aunque su uso está restringido a resolver ciertos problemas muy específicos. Message-Driven Beans Los componentes Message-Driven Beans (Beans Dirigidos por Mensajes, a partir de ahora MDB) son componentes de tipo listener que actúan de forma asíncrona. Su misión es la de consumir mensajes (por ejemplo eventos que se producen en la aplicación), los cuales pueden gestionar directamente o enviar (derivar) a otro componente. Los MDB actúan sobre un proveedor de mensajería, por ejemplo Java Messaging System (JMS es además soportado de forma implícita por la especificacion EJB). Al igual que los Stateless Session Beans, los Message-Driven Beans no mantienen estado entre invocaciones. Entity Beans Los componentes Entity Beans (Beans de Entidad, a partir de ahora EB) son representaciones de información (en forma de POJO's) que es almacenada en una base de datos. El encargado de gestionar los EB es EntityManager, un servicio que es suministrado por el contenedor y que está incluido en la especificación Java Persistence API (JPA - API de Persistencia en Java). JPA es parte de EJB desde la versión 3.0 de esta última. Al contrario que los Session Beans y los Message-Driven Beans, los Entity Beans no son componentes del lado del servidor. En otras palabras, no trabajamos con una vista del componente, si no con el componente real 2.2.4. Servidor de Aplicaciones 12 En informática, se denomina servidor de aplicaciones a un servidor en una red de computadores que ejecuta ciertas aplicaciones. 12 (Recuperado el 15 de febrero del 2015) de https://williamrsl.wordpress.com/servidor-de-aplicaciones/ 24 Sirendi – Sistema de Registro de Notas y Disciplina Usualmente se trata de un dispositivo de software que proporciona servicios de aplicación a las computadoras cliente. Un servidor de aplicaciones generalmente gestiona la mayor parte de las funciones de lógica de negocio y de acceso a los datos de la aplicación. Los principales beneficios de la aplicación de la tecnología de servidores de aplicación son la centralización y la disminución de la complejidad en el desarrollo de aplicaciones. Existen fabricantes que tienen a disposición del público un servidor Web básico y otro con multitud de extensiones fuertemente integradas al que llaman servidor de aplicaciones. A modo de ejemplo se muestra un listado con los productos de algunas empresas bien conocidas: BEA Weblogic Server Borland AppServer Allaire ColdFusion Lotus Domino Netscape application server Oracle application server Sybase Enterprise Server IBM WebSphere 2.2.4.1. Jboss 7 13 Es un servidor de aplicaciones que proporciona servicios que soportan la ejecución y disponibilidad de las aplicaciones, tareas relacionadas con el mantenimiento de la seguridad y del estado, acceso a datos y persistencia entre otros. Características: Es rápido. 13 (Recuperado el 20 de febrero del 2015) de http://asteriscus.com/presentacion/presentacion%20A71922.pdf 25 Sirendi – Sistema de Registro de Notas y Disciplina Ligero. Núcleo modular. Despliegue en caliente y en paralelo. Administración elegante. Administración de dominios. Construido con componentes de primera clase. Tiene un único archivo de configuración standalone.xml para todo tipo de bases de datos, en el cual se coloca un dataSource para conectarse a la base de datos requerida. La diferencia principal el servidor de aplicaciones siete, se puede iniciar en uno de dos modos de operación diferentes: 1.- Dominio administrado: Permite administrar múltiples instancias de servidores desde un mismo punto de control. 2.- Instancia de servidor independiente: Es un proceso autónomo, más de un servidor independiente se puede ejecutar y administrarse de forma independiente, varias instancias pueden juntarse para formar un clúster de alta disponibilidad. Existen dos versiones de JBoss 7 Web Profile (Java EE6 Certificado) Everthing (Java EE6 No Certificado): no está disponible aún. La versión del servidor que utilizamos es Jboss web perfil está orientada a la ejecución de aplicaciones Web. El beneficio del servidor es la consola web de administración. Esta consola es una aplicación GWT (Google Web Tolkit) lo cual la hacen mucho más rica en su funcionamiento. Dentro de esta podemos hacer varias actividades de administración, como son: Configuración de los datasource. Configuración de los logs. Configuración de los conectores web y virtual host. 26 Sirendi – Sistema de Registro de Notas y Disciplina Realizar deployments con la posibilidad de, habilitar, deshabilitar, subir y eliminar aplicaciones. Configuración de los puertos. La consola web no es la única forma de acceder a la interfaz nativa de administración. Tenemos estás cuatro opciones: La consola web que como vimos es limitada. Con un cliente de línea de comando, muy completo por cierto. Una API java que se puede acceder directamente con java remoting. Una API REST-like para enviar comando por http. 2.2.5. Base de datos Postgres 14 PostgreSQL es un sistema de gestión de bases de datos objeto-relacional, distribuido bajo licencia BSD y con su código fuente disponible libremente. PostgreSQL utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la estabilidad del sistema. Un fallo en uno de los procesos no afectará el resto y el sistema continuará funcionando, incluye características de la orientación a objetos, como puede ser la herencia, tipos de datos, funciones, restricciones, disparadores, reglas e integridad transaccional. A continuación se presenta de manera general los componentes más importantes en un sistema PostgreSQL. 14 (Recuperado el 01 de marzo del 2015) de http://www.postgresql.org.es/sobre_postgresql 27 Sirendi – Sistema de Registro de Notas y Disciplina Ilustración 6 Componentes de Postgresql Aplicación cliente: Esta es la aplicación cliente que utiliza PostgreSQL como administrador de bases de datos. La conexión puede ocurrir vía TCP/IP o sockets locales. 28 Sirendi – Sistema de Registro de Notas y Disciplina Demonio postmaster: Este es el proceso principal de PostgreSQL. Es el encargado de escuchar por un puerto/socket por conexiones entrantes de clientes. También es el encargado de crear los procesos hijos que se encargaran de autentificar estas peticiones, gestionar las consultas y mandar los resultados a las aplicaciones clientes. Ficheros de configuración: Los 3 ficheros principales de configuración utilizados por PostgreSQL, postgresql.conf, pg_hba.conf y pg_ident.conf Procesos hijos postgres: Procesos hijos que se encargan de autentificar a los clientes, de gestionar las consultas y mandar los resultados a las aplicaciones clientes. PostgreSQL share buffer cache: Memoria compartida usada por POstgreSQL para almacenar datos en caché. Write-Ahead Log (WAL): Componente del sistema encargado de asegurar la integridad de los datos (recuperación de tipo REDO). Kernel disk buffer cache: Caché de disco del sistema operativo. Disco: Disco físico donde se almacenan los datos y toda la información necesaria para que PostgreSQL funcione. Características La última serie de producción es la 9.3. Sus características técnicas la hacen una de las bases de datos más potentes y robustos del mercado. Su desarrollo comenzó hace más de 16 años, y durante este tiempo, estabilidad, potencia, robustez, facilidad de administración e implementación de estándares han sido las características que más se han tenido en cuenta durante su desarrollo. PostgreSQL funciona muy bien con grandes cantidades de datos y una alta concurrencia de usuarios accediendo a la vez al sistema. DBMS Objeto-Relacional. PostgreSQL aproxima los datos a un modelo objeto-relacional, y es capaz de manejar complejas rutinas y reglas. Ejemplos de su avanzada funcionalidad son consultas SQL 29 Sirendi – Sistema de Registro de Notas y Disciplina declarativas, control de concurrencia multi-versión, soporte multi-usuario, transactions, optimización de consultas, herencia, y arrays. Altamente Extensible. PostgreSQL soporta operadores, funciones métodos de acceso y tipos de datos definidos por el usuario. Soporte SQL Comprensivo. PostgreSQL soporta la especificación SQL99 e incluye características avanzadas tales como las uniones (joins) SQL92. Integridad Referencial. PostgreSQL soporta integridad referencial, la cual es utilizada para garantizar la validez de los datos de la base de datos. API Flexible La flexibilidad del API de PostgreSQL ha permitido a los vendedores proporcionar soporte al desarrollo fácilmente para el RDBMS PostgreSQL. Lenguajes Procedurales PostgreSQL tiene soporte para lenguajes procedurales internos, incluyendo un lenguaje nativo denominado PL/pgSQL. Este lenguaje es comparable al lenguaje procedural de Oracle, PL/SQL. Otra ventaja de PostgreSQL es su habilidad para usar Perl, Python, o TCL como lenguaje procedural embebido. Cliente Servidor PostgreSQL usa una arquitectura proceso-por-usuario cliente/servidor. Esta es similar al método del Apache 1.3.x para manejar procesos. Hay un proceso maestro que se ramifica para proporcionar conexiones adicionales para cada cliente que intente conectar a PostgreSQL. 2.2.6. Jasper report 15 JasperReports es una poderosa y flexible solución de código abierto para la generación y gestión de informes. JasperReports es un módulo que dispone de un depósito de 15 (Recuperado el 01 de marzo del 2015) de http://www.abartiateam.com/jasperreports 30 Sirendi – Sistema de Registro de Notas y Disciplina archivos que usa un sistema de carpetas, una aplicación web que muestra todos los informes que están en el depósito y un visor de dichos informes. La aplicación web permite subir todos los informes creados, e inmediatamente estos estás disponibles para todos los usuarios. Si por ejemplo, un informe dispone de algún parámetro, se puede crear un nuevo formulario que permita al usuario introducir nuevos parámetros y exportarlo al formato PDF. La interfaz gráfica para realizar reportes es ireport que facilita la extracción de datos de la base y nos genera dos archivos .jasper y .jrxml quienes permite generar reportes desde la aplicación JEE6 utilizando una clase generadora. 2.2.7. El Proceso Unificado de Rational (RUP) 16 RUP es una metodología sólida, con documentación que apoya el ciclo de vida evolutivo incremental, además de orientarse al desarrollo de componentes secundando el desarrollo orientado a objetos RUP es un proceso de ingeniería de software que provee un enfoque disciplinado para la asignación de tareas y responsabilidades dentro de una organización. Su principal objetivo es asegurar la producción de software de alta calidad que satisfaga las necesidades de sus usuarios finales dentro de un presupuesto y tiempo predecibles. Debido a las características que posee de ser una herramienta flexible, le permite un marco de trabajo más amplio el cual puede ser adaptado tanto a empresas grandes como pequeñas y puede ser modificada para ajustarse a la forma de trabajo de una compañía El Proceso Unificado tiene dos dimensiones: Un eje horizontal que representa el tiempo y muestra los aspectos del ciclo de vida del proceso a lo largo de su desenvolvimiento Un eje vertical que representa las disciplinas, las cuales agrupan actividades de una manera lógica de acuerdo a su naturaleza. 16 (Recuperado el 05 de marzo del 2015) de http://portalingenieriadesoftware.wikispaces.com/Modelo+de+proceso+de+Software 31 Sirendi – Sistema de Registro de Notas y Disciplina La primera dimensión representa el aspecto dinámico del proceso conforme se va desarrollando, se expresa en términos de fases, iteraciones e hitos (milestones). La segunda dimensión representa el aspecto estático del proceso: cómo es descrito en términos de componentes del proceso, disciplinas, actividades, flujos de trabajo, artefactos y roles. Ilustración 7 Ciclo de vida RUP 2.2.7.1. Características de RUP o Interactivo. Refinamiento sucesivo o Controlado. Gestión de requisitos y control de cambios o Construcción de modelos o Centrado en arquitectura o Desarrollo de software basado en componentes o Conducido por los casos de uso o Soporta técnicas OO (Orientadas a objetos) uso del UML o Configurable o Fomenta al control de calidad del software o Soportado por herramientas 32 Sirendi – Sistema de Registro de Notas y Disciplina o Reconoce que las necesidades del usuario y sus requerimientos no se pueden definir completamente al principio. o Permite evaluar tempranamente los riesgos en lugar de descubrir problemas en la integración final del sistema. Reduce el costo del riesgo a los costos de un solo incremento. o Acelera el ritmo del esfuerzo de desarrollo en su totalidad debido a que los desarrolladores trabajan para obtener resultados claros a corto plazo. o Distribuye la carga de trabajo a lo largo del tiempo del proyecto ya que todas las disciplinas colaboran en cada iteración. Facilita la reutilización del código teniendo en cuenta que se realizan revisiones en las primeras iteraciones lo cual además permite que se aprecien oportunidades de mejoras en el diseño o El proceso de desarrollo está dividido en Fases a lo largo del tiempo cada una de las cuales tiene objetivos específicos y un conjunto de “artefactos” definidos que deben alcanzarse. La duración de cada fase depende del equipo y del producto a generar. A su vez, cada fase puede tener una o más iteraciones y cada iteración sigue el modelo en cascada pasando por las distintas disciplinas. Cada iteración termina con una liberación del producto. 2.2.7.2. Fases de la Metodología RUP Se divide en 4 fases secuenciales como lo indica la siguiente figura, y en cada extremo de una fase se realiza una evaluación para determinar si se cumplió con los objetivos de la fase. Ilustración 8 Fases de RUP Cada fase produce una nueva versión del producto. 33 Sirendi – Sistema de Registro de Notas y Disciplina Fase de Inicio Durante esta fase de inicio las iteraciones se centran con mayor énfasis en las actividades de modelamiento de la empresa y en sus requerimientos. Esta fase se centra más en buscar o planear todo lo que la empresa requiera para luego utilizar sus recursos mejorando y dándole una visión de lo que se espera plantear en el proyecto. El objetivo de esta fase es identificar las principales entradas, salidas, controles y recursos del proceso empresarial que se desea automatizar. Esto permite evidenciar hacia donde se debe enfocar los esfuerzos durante todo el proyecto. Además de ello en esta etapa se determinara con claridad y en detalle lo que el sistema debe hacer, es decir, su funcionalidad y operatividad. Los diagramas de análisis que se usan son los diagramas de casos de uso, diagramas de estado, diagramas de secuencia, tablas de decisión, entre otros. Para una mejor comprensión y disgregación del proceso de desarrollo esta fase se lo ha dividido en dos etapas las cuales son: o Estudio del Negocio o Análisis Fase de Elaboración Durante esta fase de elaboración, se centran al desarrollo de los casos de uso tomando como base la de diseño, como lo dice la elaboración lleva una serie de requerimientos una serie de pasos; el modelo de la organización, el análisis y el diseño se van acumulando las actividades y para empezar una parte de implementación mediante desarrollo de la fase de inicio que va a ser orientada a la base de la construcción de todas las especificaciones de la arquitectura del diseño. Hasta obtener una diseño bien construido. Esta etapa busca determina cómo el sistema solventará la funcionalidad establecida en la fase de inicio. Se debe definir con detalle las entidades lógicas que requiere el sistema, mecanismos de programación, algoritmos del procesamiento de datos, esquemas de 34 Sirendi – Sistema de Registro de Notas y Disciplina seguridad, el mejor uso de la plataforma tecnológica, arquitectura de la solución y entre otros aspectos. Fase de Construcción Durante la fase de construcción, se lleva a cabo la construcción del producto por medio de una serie de iteraciones las cuales se seleccionan algunos Casos de Uso, se define su análisis y después el diseño y se procede a su implantación y sus respectivas pruebas. En esta fase se realiza una serie de cascadas para cada ciclo, se realizan tantas iteraciones hasta que se termine la nueva implementación y el producto esté listo para ser enviado al usuario. El objeto de esta fase son las de: o Implementar los modelos de diseño (programación) o Realizar las pruebas de aseguramiento de calidad o Liberar paquete de software de calidad Se desarrollará de manera incremental el software hasta obtener su versión final y realizar las pruebas del mismo para verificar su correcto funcionamiento. Consecutivamente, se elaborará el manual de usuario y del sistema. Fase de Transición Durante esta fase de transición se busca garantizar que el producto este bien preparado para su entrega al usuario. Es una fase que puede tener muchos cambios a la hora de la entrega. Se obtendrá la certificación por parte del contratante y se entregará la documentación del proyecto, manual de usuario, y se procederá al empaquetamiento del producto. 2.2.8. UML El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que comprende el desarrollo de software. UML entrega una forma de modelar cosas 35 Sirendi – Sistema de Registro de Notas y Disciplina conceptuales como lo son procesos de negocio y funciones de sistema, además de cosas concretas como lo son escribir clases en un lenguaje determinado, esquemas de base de datos y componentes de software reusables. Diagramas UML Un diagrama es la representación gráfica de un conjunto de elementos con sus relaciones. En concreto, un diagrama ofrece una vista del sistema a modelar. Para poder representar correctamente un sistema, UML ofrece una amplia variedad de diagramas para visualizar el sistema desde varias perspectivas. UML incluye los siguientes diagramas: o Diagrama de casos de uso. o Diagrama de clases. o Diagrama de objetos. o Diagrama de secuencia. o Diagrama de estados. o Diagrama de actividades. o Diagrama de componentes. o Diagrama de despliegue. Los diagramas más interesantes (y los más usados) son los de casos de uso, clases y secuencia, por lo que nos centraremos en ellos. Diagramas de Comportamiento Los cinco diagramas de comportamiento de UML son usados para visualizar, especificar, construir y documentar los aspectos dinámicos de un sistema. Se puede pensar en los aspectos dinámicos como las representaciones de las partes cambiantes del sistema. o Diagrama de casos de uso: Muestra el conjunto de casos de uso (incluyendo sus relaciones). Estos diagramas se utilizan para ilustrar la vista del caso de uso del sistema. o Diagrama de secuencia: Es un diagrama de interacción que enfatiza el orden en tiempo de los mensajes. o Diagrama de colaboración: Es un diagrama de interacción que enfatiza la organización estructural de los objetos que envían y reciben mensajes. El diagrama 36 Sirendi – Sistema de Registro de Notas y Disciplina de colaboración muestra un conjunto de objetos, las ligas entre ellos y los mensajes enviados y recibidos por dichos objetos. o Diagrama de estado: Muestra una máquina de estado, consistente en estados, transiciones, eventos y actividades. Estos diagramas enfatizan el comportamiento ordenado por eventos de un objeto. o Diagrama de actividad: Muestra el flujo de una actividad a otra dentro del sistema. Ha sido diseñado para mostrar una visión simplificada de lo que ocurre durante una operación o suceso. 2.2.9. Requerimientos funcionales Son declaraciones de los servicios que debe proporcionar el sistema, de la manera en que éste debe reaccionar a entradas particulares y de cómo se debe comportar en situaciones particulares. En algunos casos, los requerimientos funcionales de los sistemas también pueden declarar explícitamente lo que el sistema no debe hacer. 2.2.10. Requerimientos no funcionales Son restricciones de los servicios o funciones ofrecidos por el sistema. Incluyen restricciones de tiempo, sobre el proceso de desarrollo y estándares. Los requerimientos no funcionales a menudo se aplican al sistema en su totalidad. Normalmente apenas se aplican a características o servicios individuales del sistema. 2.3. Hipótesis Principal: Con el diseño de este sistema informático se mejorará el proceso ingreso de notas y disciplina para mantener informado al representante y mejorar el rendimiento de los estudiantes, optimizando el proceso académico y operativo existente en la actualidad. Secundaria: Con el uso de este sistema se agilizará el acceso a la información de docentes, estudiantes, materias y representantes que periódicamente se realiza el ingreso de notas y disciplina para el envío a los representantes. 37 Sirendi – Sistema de Registro de Notas y Disciplina CAPÍTULO 3 3. MARCO METODOLÓGICO Nuestro sistema se basará en la metodología RUP, la cual nos permitirá desarrollar software de forma adecuada, modelarlo visualmente, usar arquitecturas basadas en componentes, verificación continua de la calidad, manejar los requerimientos y cambios necesarios, con lo cual garantizaremos que el sistema sea eficiente. 3.1. Diseño de la Investigación En base al conocimiento, experiencia en cuanto a las diferentes metodologías existentes para el desarrollo de sistemas informáticos, podemos mencionar que una de las metodologías estándar que se adapta a las necesidades de la organización y que ha sido exitosamente aplicada en el análisis, diseño implementación y documentación de sistemas informáticos ha sido la metodología RUP. 3.1.1. Justificación Se utilizará la metodología antes descrita debido a que presenta una visión genérica donde sus procesos se dividen en cuatro fases: inicio, elaboración, construcción y transición. Con esto mantiene al cliente (en nuestro caso la Institución educativa) en constante contacto con los resultados obtenidos en cada incremento, de esta forma el tiempo de entrega se reduce considerablemente ya que el modelo incremental al final de cada incremento entrega un producto completamente operacional. 3.1.2. Tipo de Investigación El presente trabajo tiene como objetivo comprender, analizar y resolver el problema existente en el ingreso de notas y disciplina para el envío a los representantes lo cual implica que el tipo de investigación que se realizara es una Investigación de Campo, específicamente del tipo Estudio de Casos. Se aplicará para la elaboración del sistema informático, el análisis respectivo, las encuestas, entrevistas y observación científica para poder culminar nuestra investigación 38 Sirendi – Sistema de Registro de Notas y Disciplina y cumplir con la meta que se ha propuesto, que no es más que encontrar una solución correcta y concreta aplicando un control adecuado de los datos en la Institución. 3.1.3. Carácter En la investigación que se va a realizar, se deberá realizar un profundo trabajo de entendimiento, encontrar las interdependencias y relaciones existentes entre los diferentes entes existentes y luego de ello realizar un minucioso análisis, por tal motivo la investigación en cuestión obtendrá un carácter exploratorio e interpretativo. 3.2. Fase de Inicio El objetivo en esta etapa del proceso consiste en identificar las principales entradas, salidas, controles y recursos del proceso empresarial que se desea automatizar, en resumen esta etapa consiste en realizar un estudio del negocio. Permitirá evidenciar hacia donde deberá enfocarse los esfuerzos durante todo el proyecto. Esta fase se enfatiza en el inicio del proyecto con reuniones de coordinación general, donde se plantean los objetivos, entregables, plazos, fechas y demás factores que definen la traza del proyecto. Se genera el Acta de Inicio del proyecto y el documento del plan de trabajo revisado y aprobado por el beneficiario. 3.2.1. Hitos y Entregables En cada fase de la metodología usada para el desarrollo del proyecto, se pretende obtener los siguientes Hitos y Entregables. Fase de Inicio a. Acta de Inicio del Proyecto b. Plan de Trabajo y Metodología Fase de Elaboración Análisis Y Diseño a. Documento de requerimientos funcionales b. Documento de requerimientos no funcionales c. Documento de diagramas y especificación de Casos de Uso d. Documento de diagramas de Secuencias 39 Sirendi – Sistema de Registro de Notas y Disciplina e. Documento de diagramas de Estados f. Documento de diseño de Modelo Entidad- Relación g. Documento de definición de Plataforma Tecnológica h. Documento de definición de Arquitectura del Sistema Fase de Construcción a) Estructura de Programas b) Definición de Estándares de la Interfaz c) Definición de Estándares de Codificación d) Definición de Estándares de Base de Datos Fase de Transición a. Documento de manual de usuario b. Documento de manual de Instalación. c. Acta de Entrega 3.2.2. Acta de Inicio del Proyecto El 1 de septiembre del 2014 el Colegio de Bachillerato Tabacundo, representante Sr Rector Juan Laverde y Oscar Fernando Morocho Guachalá, elaboran el ACTA DE INICIO del proyecto, en el cual se establecen la fecha de inicio, el tiempo de elaboración. La fecha de inicialización. Los costes, el objeto tras la finalización del proyecto y sobre todo los artefactos a entregarse en las diferentes fases del desarrollo del proyecto. Proyecto Automatización Del Proceso De Registro De Notas Y Disciplina En El Colegio De Bachillerato Tabacundo. Fecha de Inicio Plazo Fecha de 1 de septiembre del 2014 25 Semanas 26 de Enero del 2015 Finalización Monto USD 0.00 40 Sirendi – Sistema de Registro de Notas y Disciplina Equipo Principal Sr. Juan Laverde Lic. Marco Calvache Sra. Marisol Aldaz Sr. Oscar Morocho – Desarrollador. Objetivo Levantamiento, diseño de procesos e implementación de un sistema informático que permita registrar y enviar las notas de los estudiantes a los representantes mediante electrónico. Productos Semana 1: Fase de Inicio a. Acta de Inicio del Proyecto b. Plan de Trabajo y Metodología c. Diagramas Semana 2: Fase de Elaboración Análisis Y Diseño a. Documento de requerimientos funcionales b. Documento de requerimientos no funcionales c. Diagramas y especificación de Casos de Uso d. Diagramas de Secuencias e. Diagramas de Estados f. Diseño de Modelo Entidad- Relación g. Definición de Plataforma Tecnológica h. Definición de Arquitectura del Sistema i. Determinación de Herramientas Tecnológicas Semana 5: Fase de Construcción a. Construcción (programación y pruebas unitarias) b. Certificación del Sistema Semana 25: Fase de Transición d. Sistema instalado e. Acta de capacitación a usuarios finales f. Manual de usuario g. Manual técnico. 41 correo Sirendi – Sistema de Registro de Notas y Disciplina h. Informe Final Tabla 1 Acta de Inicio del Proyecto – Fuente Propia El proyecto puede ser modificado mediante requerimientos de cambio. 3.2.3. Conformación del Equipo del proyecto. El equipo desarrollador, tiene repartidas las responsabilidades de la siguiente forma, basándose en la metodología RUP. Nivel de Control. Rol Responsabilidades Jefatura de TIC Responsables Aprueba toda la documentación generada como parte del proyecto. Aprueba la metodología y procesos de Ing. Ximena Guerrón Ing. Arturo Bedón gestión de proyectos. Comité de Jefatura áreas de TIC Tecnología Jefatura Dpto. Desarrollo Organizacional Ing. Alicia Andrade Aprueban y priorizan los planes y programas TIC Jefatura de Planificación y Proyectos Revisa metodología y procesos de gestión de proyectos. Revisa documentos de alto nivel. Revisa y consolida informes de estado. Consolida y gestiona las respuestas a los riesgos. 42 Sr. Oscar Morocho Sirendi – Sistema de Registro de Notas y Disciplina Nivel Operativo Rol Responsabilidades Propietario del Jefe del área Responsable o usuario Sr. Juan Laverde responsable del producto. Producto Aprueba el documento o requerimiento del proyecto. Líder del Proyecto Lidera y gestiona el proyecto en Sr. Oscar Morocho su totalidad. Realiza el monitoreo y control de las actividades del proyecto y genera los informes de estado con la participación de los miembros de equipo. Arquitecto de la Diseña soluciones de acuerdo a Sr. Oscar Morocho las necesidades planteadas. Solución Desarrollador de la Construye solución(Analista de acuerdo sistemas, Ing. Sistemas) Administrador de pruebas la con solución de Sr. Oscar Morocho especificaciones funcionales. Prueba la solución, se asegura Sr. Oscar Morocho que todos los inconvenientes sean identificados y direccionados. Usuario Experimentado Mejora la usabilidad de la Sr. Juan Laverde solución Asegura que la solución sea efectiva y acorde a las especificaciones funcionales. Tabla 2 Conformación del Equipo del Proyecto – Fuente Propia 43 Sirendi – Sistema de Registro de Notas y Disciplina 3.3. Fase de Elaboración Análisis Y Diseño La fase de elaboración es la encargada de determinar la solución técnica del proyecto, mediante la cual se define la arquitectura de hardware y software, componentes, módulos y datos de un sistema de cómputo para satisfacer los requerimientos del cliente. El diseño con el uso de UML representa los conceptos y técnicas para estudiar el dominio del problema y se defina una arquitectura sólida de la solución, excluyendo los elementos de mayor riesgo para el desarrollo del sistema, de igual manera se realizará un plan para el resto del desarrollo. El objeto en esta fase del proceso consiste en los siguientes: o Especificar la arquitectura de la solución o Identificar y definir las entidades, objetos, componentes e interfaces de software o Definir un prototipo no funcional de la interfaz gráfica (pantallas) o Especificar estándares de programación o Detallar plan de pruebas de calidad de software Tomando como materia prima el análisis realizado en la etapa anterior, se inicia la etapa de diseño. Aquí, la participación de los usuarios finales disminuye gradualmente mientras que la persona a cargo del proyecto es más intensa. Esta etapa se busca determina CÓMO el sistema solventaría la funcionalidad requerida en la etapa de análisis. Se debe especificar con detalle las entidades lógicas que requiere el sistema, mecanismos de programación, algoritmos del procesamiento de datos, esquemas de seguridad, plataforma tecnológica, arquitectura y entre otros aspectos. Los artefactos en esta fase son: diagramas de componentes, clases y modelo físico de datos, los cuales están orientados a usuarios técnicos. El resultado de esta etapa es un documento técnico del diseño del sistema. Este documento es de extremo valor en las etapas de mantenimiento posteriores, aquí se encuentran los detalles de los aspectos técnicos más importantes del sistema. Este documento requiere la revisión de la contraparte técnica del cliente. 44 Sirendi – Sistema de Registro de Notas y Disciplina Lo recomendable es unificar el resultado de la etapa de análisis y diseño en un solo documento final. Los artefactos que se obtendrá una vez finalizada esta fase son los siguientes: o Requerimientos Funcionales y No funcionales o Diagramas y especificación de Casos de Uso o Diagramas de Secuencias o Diagramas de Estados 3.3.1. Plan de Gestión de Riesgos Esta etapa comprende el descubrimiento de los posibles riesgos del proyecto. De igual manera se definen las posibles acciones a tomarse. PROYECTO Riesgos Objeto Afectado Modelamiento incorrecto de la TIEMPO base de datos para el sistema DESARROLLO Acción Realizar el diseño de modelo de base de datos junto con los stakeholders e identificando correctamente los requerimientos del sistema para un funcionamiento óptimo. Se sugiere el modelo entidadrelación. Uso de herramientas CASE para disminuir el tiempo de desarrollo. Diseño Incorrecto Arquitectónico TIEMPO DESARROLLO Verificar mediante distintos diagramas ya sea de flujo de datos que permitan identificar si el sistema funcionará como el cliente desea. Consultar con conocedoras del tema. Funcionamiento Inadecuado TIEMPO del Software Requerido DESARROLLO 45 personas Verificar la correcta configuración del software para evitar conflictos, gestionar mediante manuales de Sirendi – Sistema de Registro de Notas y Disciplina instalación. Diseño Incorrecto de la Página TIEMPO Web DESARROLLO El diseño de la página web se sugiere se lo haga conjuntamente con el cliente del sistema, para minimizar sus cambios. Cambios en el Sistema una vez TIEMPO Concluido DESARROLLO Definir el alcance y las limitaciones del sistema, utilizar la metodología que permita definir de manera correcta los requerimientos. En caso de existir medir la magnitud del cambio a realizarse. Cambios en Requerimientos Iniciales Analizar el tiempo de implementación, acorde a la disponibilidad se podrá realizarlo o contemplarlo como posible cambio para una siguiente versión del producto. los TIEMPO TRANSCURRIDO PRODUCTO Riesgos Objeto Afectado Acción Falta de Recursos Teóricos de TIEMPO COSTO Recurrir a consultas más los Requerimientos Hardware DESARROLLO avanzadas y personalizadas para y Software Presentados una mayor comprensión. Buscar nuevas alternativas tecnológicas que lleguen a nuestro objetivo principal. Dificultad en Encontrar los TIEMPO COSTO Recurrir a sitios web que permitan Requerimientos de Software DESARROLLO la descarga del software requerido Detallados Anteriormente o buscar en tiendas de software. Si fuese difícil la obtención del software recurrir a la compra vía web. El tiempo estimado para TIEMPO COSTO Realizar un análisis del tiempo a desarrollar el software esta DESARROLLO emplearse en cada una de las subestimado. tareas de desarrollo y si es posible realizar un ajuste de tiempos y 46 Sirendi – Sistema de Registro de Notas y Disciplina cambiar el calendario de trabajo. NEGOCIO Riesgos Objeto Afectado Acción La no Culminación de una TIEMPO COSTO Reprogramar el cronograma de Tarea en el Tiempo DESARROLLO actividades ajustándolo al tiempo Establecido límite establecido con la entrega de productos. El Requerimiento de un TIEMPO nuevo evento que no conste DESARROLLO en la Planificación del Proyecto. En caso de una tarea sencilla procurar optimizar el tiempo para que no afecte el cronograma y actividades. Para una tarea compleja será necesario la reprogramación del cronograma. Cambio Organizacional TIEMPO DESARROLLO Definir Actas de las reuniones y acuerdos realizados con la directiva anterior. Tabla 3 Posibles Riesgos del Proyecto 3.3.2. Identificación de Requerimientos Funcionales. El análisis de requisitos permite determinar a los objetos de dominio, las relaciones entre objetos que intervienen en el problema, los actores, los objetivos y responsabilidades principales que realizan. Administración Deberá permitir el acceso de los usuarios, verificando sus datos ingresados y permitiendo acceder a los distintos módulos validando su acceso. El sistema deberá permitir al administrador ingresar, actualizar y eliminar los datos de la institución. El sistema deberá permitir al administrador ingresar, actualizar y eliminar los registros de los docentes, estudiantes, representantes y de los usuarios del sistema. 47 Sirendi – Sistema de Registro de Notas y Disciplina El sistema deberá permitir al administrador ingresar, actualizar y eliminar los registros de cursos, paralelos, secciones, materias, horarios, y especialidades. El sistema deberá permitir al administrador ingresar, actualizar y eliminar el servidor de correo electrónico. El sistema deberá permitir al administrador ingresar, actualizar y eliminar registros de los roles del sistema. El sistema deberá permitir al administrador ingresar, actualizar y eliminar el acceso y seguridad a los usuarios del sistema. El sistema deberá permitir al administrador asignar cursos, paralelos, años lectivos, especialidades, secciones, horarios a docentes y estudiantes. El sistema deberá permitir al administrador emitir reportes de los usuarios, docentes, estudiantes y representantes. Registro de Notas El sistema permitirá que los docentes de la institución puedan ingresar y actualizar las notas de cada uno de los estudiantes vía internet. Se requiere almacenar la siguiente información: Notas del periodo quimestral. o Un examen quimestral, que corresponde al 20% de la nota total del quimestre. o El promedio de tres notas parciales, que corresponderá al 80% de la nota total del quimestre. o Cada nota parcial corresponderá a un bloque curricular, y será el promedio de cinco evaluaciones: cuatro formativas y una sumativa. o Evaluaciones Formativas: corresponden cuatro elementos y cada uno es calificado sobre 10 y será distribuidas de la siguiente manera: Trabajos académicos independientes (tareas), actividades individuales en clase, actividades grupales en clase y lecciones. o Evaluaciones sumativas es escrita y busca evaluar los aprendizajes alcanzados en una unidad o bloque curricular y es calificado sobre 10. 48 Sirendi – Sistema de Registro de Notas y Disciplina o Para obtener la nota parcial se suman las calificaciones de las cinco evaluaciones y se promedia. Nota promedio anual del aprendizaje se obtiene al sumar las notas de cada quimestre y se divide para dos. Examen de recuperación o de la mejora del promedio. El examen de recuperación tiene como objetivo dar la oportunidad de mejorar los promedios y se ofrece a cualquier estudiante que hubiere aprobado la asignatura con un promedio inferior a diez (10). Examen supletorio. Si un estudiante hubiere obtenido un puntaje promedio anual de cinco (5) a seis coma nueve (6,99) sobre diez como nota final de cualquier asignatura, podrá rendir un examen supletorio acumulativa. Examen remedial. Si un estudiante hubiere obtenido un puntaje promedio anual menor a cinco sobre diez (5/10) como nota final de cualquier asignatura o no aprobare el examen supletorio. Examen de gracia. En el caso de que un estudiante reprobare un examen remedial de una sola asignatura, podrá asistir al grado o curso siguiente de manera temporal, hasta rendir un examen de gracia un mes después del inicio de clases. Evaluación del comportamiento de estudiantes, No afecta la promoción de los estudiantes y regirse a la siguiente escala: o A = muy satisfactorio Lidera el cumplimiento de los compromisos establecidos para la sana convivencia social. o B = satisfactorio Cumple con los compromisos establecidos para la sana convivencia social. o C = poco satisfactorio Falla ocasionalmente en el cumplimiento de los compromisos establecidos para la sana convivencia social. o D = mejorable Falla reiteradamente en el cumplimiento de los compromisos establecidos para la sana convivencia social. 49 Sirendi – Sistema de Registro de Notas y Disciplina o E = insatisfactorio No cumple con los compromisos establecidos para la sana convivencia social. Control de asistencias. Accesos al sistema Es necesario gestionar el acceso a las diferentes funcionalidades del sistema para lo cual se debe mostrar un listado con todas las funcionalidades que posee el sistema, para lo cual el acceso a las funcionalidades será mediante la asignación de roles. Roles En el transcurso del tiempo siempre existirá la necesidad de que un usuario especifico realice una tarea específica en algún flujo de información, a estas tareas se les llamara acciones y la agrupación de ella vendrá a ser lo que se llamara rol. Estos roles al igual como lo demás deberá mostrarse en una lista el cual se podrá filtrarse mediante su descripción y la información a mostrarse será la misma, deberá tener la opción para modificar la descripción y modificar las diferentes acciones que poseerá estos roles. Usuarios del Sistema Deberá permitir crear tantos usuarios como sea necesarios para la administración del sistema, una vez creados a estos usuarios deberá permitir asignar el rol, deberá existir la opción para agregar nuevos roles al usuario actual y de la misma manera quitarlos o temporalmente inactivarlos. Reportes Usuarios Debe permitir la generación documentos de los usuarios activos en los diferentes formatos como son: o PDF 50 Sirendi – Sistema de Registro de Notas y Disciplina o Excel La información que deberá mostrar será: el nombre, número de cedula, estado en el sistema y estado civil. Reportes de Notas El sistema deberá permitir al docente, representantes y estudiante generar reportes como: o Notas por Curso o Notas por año o Notas por quimestre o Notas por docente El sistema deberá permitir generar y mostrar el record académico del estudiante. Reporte de Asistencia. Se mostrara un reporte de asistencia del estudiante, se filtrara acorde a los siguientes criterios: nombre, cedula, curso, quimestre o año lectivo. La información a mostrarse será la siguiente: o Cédula o Nombres o Estado o Porcentaje asistencia a clases Notificaciones El sistema deberá permitir él envió de información mediante correo electrónico de las notas a los estudiantes y representantes controlado por el docente. El sistema deberá permitir el envío masivo de notificaciones mediante correo electrónico hacia los docentes, estudiantes y representantes como boletines informativos. 3.3.3. Identificación de Requerimientos no Funcionales Como requerimientos no funcionales se ha considerado lo siguiente: 51 Sirendi – Sistema de Registro de Notas y Disciplina Desempeño Asegurar la confiabilidad, seguridad y el desempeño de la aplicación informática a los usuarios que interactuaran con el sistema. En este sentido la información almacenada podrá ser actualizada y consultada de forma permanente y simultáneamente, sin que se vea perjudicado el tiempo de respuesta. Escalabilidad El sistema debe tener la capacidad de permitir futuros cambios en el negocio, modificar o eliminar funcionalidades después de su construcción y puesta en funcionamiento. Usabilidad El sistema debe permitir un uso fácil y familiar para el usuario final. El sistema debe presentar mensajes de error, advertencia de manera clara y transparente y permitan al usuario identificar el tipo de error, advertencia y comunicarse con el administrador del sistema. Flexibilidad El sistema debe ser diseñado y construido con los mayores niveles de flexibilidad en cuanto a la parametrización de información, de manera que la administración del sistema sea realizada por un módulo funcional en el sistema. Instalación El sistema debe ser fácil de instalar en todas las plataformas de hardware y software. Mantenimiento El sistema deberá estar correctamente documentado cada uno de los componentes de software que forman parte de la solución propuesta deberán estar debidamente documentados tanto en el código fuente como en los manuales técnicos y de usuario. Seguridad El ingreso se validara por medio de la cédula y contraseña diferente para cada usuario. 52 Sirendi – Sistema de Registro de Notas y Disciplina Cada usuario tendrá habilitadas las funciones que únicamente pueden realizar en un módulo determinado. Respecto a la confidencialidad, el sistema debe estar en capacidad de rechazar accesos o modificaciones indebidos. El sistema debe validar automáticamente la información contenida en los formularios de ingreso. En el proceso de validación de la información, se deben tener en cuenta aspectos tales como obligatoriedad de campos, longitud de caracteres permitida por campo, manejo de tipos de datos, etc. Arquitectura La solución debe ser basada en una solución web. La solución debe operar de manera independiente del navegador que se utilice. La solución deberá ser basada en tecnologías open source. 3.3.4. Identificación de Actores En el análisis se pudo distinguir cuatro tipos de actores que están en constante interacción con el sistema, sea de forma directa o indirecta. Los actores son: Administrador Docente Estudiante Representante 53 Sirendi – Sistema de Registro de Notas y Disciplina Ilustración 9 Identificación de Actores Actor Administrador: Representa al encargado del mantenimiento de la base de datos. Su trabajo consiste en dar insertar, eliminar y actualizar los usuarios del sistema así como también de los cursos, paralelos, secciones, años lectivos, horarios, especialidades, envió de notificaciones mediante el uso de correo electrónico registrado en el sistema, etc. Todo su trabajo podrá ser realizado a través de la aplicación, previa autenticación. Actor Docente: Representa la persona encargada del ingreso de notas, asistencias y del envío de información de las notas obtenidas por los estudiantes hacia los estudiantes y representantes mediante el uso del correo electrónico, según los permisos correspondientes. 54 Sirendi – Sistema de Registro de Notas y Disciplina Actor Estudiante: Representa la persona que usará el sistema ocasionalmente para revisión de información sobre notas, asistencias, los cursos, horarios y docentes, así como participará en el de envió de notificaciones mediante el uso de correo electrónico registrado en el sistema Actor Representante: Representa la persona que usará el sistema ocasionalmente para revisión de información sobre notas, asistencias, los cursos, horarios y docentes de los estudiantes para los cuales es representante, también participará en el de envió de notificaciones mediante el uso de correo electrónico registrado en el sistema. 3.3.5. Identificación de Casos de Uso Los diagramas de casos de uso documentan el comportamiento de un sistema desde el punto de vista del usuario. Por lo tanto los casos de uso determinan los requisitos funcionales del sistema, es decir, representan las funciones que un sistema puede ejecutar. Su ventaja principal es la facilidad para interpretarlos, lo que hace que sean especialmente útiles en la comunicación con el cliente. Para identificar los casos de uso, previamente se ha identificado los actores. 3.3.6. Diagramas de caso de Uso A continuación se definen los casos de uso del sistema el cual permitirá identificar las diferentes funcionalidades del sistema. 55 Sirendi – Sistema de Registro de Notas y Disciplina 3.3.6.1. Diagrama caso de uso general Ilustración 10 Diagrama caso de uso general Caso de Uso Administración SIRENDI CU1 Actores Administrador Tipo Primario Precondición Ingresar al Sistema como Administrador Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 02/10/2014 5 Flujo Normal 56 Versión 1.0 Sirendi – Sistema de Registro de Notas y Disciplina Acción Actor Respuesta Sistema 1. El usuario ingresa su cédula y clave para iniciar sesión. 2. El sistema procesa y autentica al usuario. 5. El usuario elige el sub menú para realizar una acción. 3. El sistema carga los módulos iniciales. 6. El usuario registra, edita, elimina, consulta datos en el formulario del sistema. 4. El sistema identifica el id del menú y cargar sus respectivos sub menús. 7. El sistema graba, o muestra los datos en el formulario. Tabla 4 Descripción administración sirendi Caso de Uso Gestión Académica CU2 Actores Docente Tipo Primario Precondición Ingresar al Sistema como Docente Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 02/10/2014 Versión 1.0 5 Flujo Normal Acción Actor Respuesta Sistema 1. El usuario ingresa su cédula y clave para iniciar sesión. 2. El sistema procesa y autentica al usuario. 5. El usuario elige el sub menú para realizar una acción. 3. El sistema carga los módulos iniciales. 6. El usuario registra, edita, elimina, consulta datos en el formulario del sistema. 4. El sistema identifica el id del menú y cargar sus respectivos sub menús. 7. El sistema graba, o muestra los datos en el formulario. Tabla 5 Descripción gestión académica 57 Sirendi – Sistema de Registro de Notas y Disciplina Caso de Uso Gestión Reporte/Consulta CU3 Actores Administrador, Docente, Representante, Estudiante Tipo Primario Precondición Ingresar al Sistema como Administrador o Docente o Representante o Estudiante. Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 02/10/2014 Versión 1.0 5 Flujo Normal Acción Actor Respuesta Sistema 1. El usuario ingresa su cédula y clave para iniciar sesión. 2. El sistema procesa y autentica al usuario. 5. El usuario elige el sub menú para realizar una acción. 3. El sistema carga los módulos iniciales. 6. El usuario consulta datos del sistema o ejecuta la acción para generar un reporte. 4. El sistema identifica el id del menú y cargar sus respectivos sub menús. 7. El sistema muestra los datos de la consulta o genera el reporte solicitado por el usuario con los respectivos filtros. Tabla 6 Descripción gestión reporte/consulta Caso de Uso Gestión Notificaciones CU4 Actores Administrador, Docente, Representante, Estudiante Tipo Primario Precondición Ingresar al Sistema como Administrador o Docente o Representante o Estudiante. Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 05/10/2014 5 58 Versión 1.0 Sirendi – Sistema de Registro de Notas y Disciplina Flujo Normal Acción Actor Respuesta Sistema 1. El usuario ingresa su cédula y clave para iniciar sesión. 2. El sistema procesa y autentica al usuario. 5. El usuario elige el sub menú para realizar una acción. 3. El sistema carga los módulos iniciales. 6. El usuario consulta datos de los usuarios existentes en el sistema mediantes los filtros elegidos. 4. El sistema identifica el id del menú y cargar sus respectivos sub menús. 7. El sistema muestra los datos de la consulta. 8. El usuario elige a los usuarios que desea enviar la notificación y realiza la acción de enviar. 9. El sistema envía las notificaciones mediante correo electrónico a cada uno de los usuarios. 10. El sistema responde con un mensaje de éxitos o error al envió de las notificaciones. Tabla 7 Descripción gestión notificaciones 59 Sirendi – Sistema de Registro de Notas y Disciplina 3.3.6.2. Diagrama caso de uso administrador Ilustración 11 Diagrama caso de uso administrador Caso de Uso Gestión Usuarios CU5 Actores Administrador Tipo Primario Precondición Ingresar al Sistema como Administrador Postcondición Puede gestionar las funcionalidades del sistema 60 Sirendi – Sistema de Registro de Notas y Disciplina Autor Oscar Morocho Fecha 05/10/2014 Versión 1.0 5 Flujo Normal Acción Actor Respuesta Sistema 1. El usuario dentro del sistema puede seleccionar el sub menú usuarios. 3. El sistema muestra un listado de los usuarios de la base de datos en una tabla con toda la información disponible. 2. El usuario realiza la consulta de los usuarios existentes mediante filtros de búsqueda. 6. El sistema ejecuta la acción realizada por el usuario en la base de datos. 5. El usuario puede crear, editar o eliminar usuarios de la tabla de resultados. 7. El sistema responde con mensaje de éxitos o error. un Tabla 8 Descripción gestión usuarios Caso de Uso Gestión Cursos CU6 Actores Administrador Tipo Primario Precondición Ingresar al Sistema como Administrador Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 05/10/2014 Versión 1.0 5 Flujo Normal Acción Actor Respuesta Sistema 1. El usuario dentro del sistema puede seleccionar el sub menú cursos. 3. El sistema muestra un listado de los cursos de la base de datos en una tabla con toda la información disponible. 2. El usuario realiza la consulta de los cursos existentes mediante filtros de búsqueda. 5. El sistema ejecuta la acción realizada por el usuario en la base de datos. 4. El usuario puede crear, editar o 61 Sirendi – Sistema de Registro de Notas y Disciplina eliminar cursos de la tabla de resultados. 6. El sistema responde con mensaje de éxitos o error. 8. El usuario puede asignar paralelos o especialidades a los cursos existentes en la base de datos. un 9. El sistema ejecuta la acción para asignar los paralelos o especialidades en la base de datos. 10. El sistema responde con éxito o error. Tabla 9 Descripción gestión cursos Caso de Uso Gestión Reporte Notas CU7 Actores Administrador Tipo Primario Precondición Ingresar al Sistema como Administrador Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 08/10/2014 Versión 1.0 5 Flujo Normal Acción Actor Respuesta Sistema 1. El usuario dentro del sistema puede acceder a los sub menús de record Estudiantil y de reportes generales. 3. El sistema muestra un listado con los resultados obtenidos de la base de datos en una tabla con toda la información disponible. 2. El usuario puede elegir los filtros que dese para realizar la búsqueda. 5. El sistema ejecuta la acción realizada por el usuario en la base de datos. 4. El usuario tiene la opción de exportar a Excel o pdf la información que visualiza. 6. El sistema responde con un mensaje de éxitos o error al momento de exportar los reportes. Tabla 10 Descripción gestión reporte notas 62 Sirendi – Sistema de Registro de Notas y Disciplina Caso de Uso Gestión Paralelos CU8 Actores Administrador Tipo Primario Precondición Ingresar al Sistema como Administrador Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 08/10/2014 Versión 1.0 5 Flujo Normal Acción Actor 1. Respuesta Sistema El usuario dentro del sistema puede seleccionar el sub menú paralelo. 3. El sistema muestra un listado de los paralelos de la base de datos en una tabla con toda la información disponible. 2. El usuario realiza la consulta de los paralelos existentes mediante filtros de búsqueda. 5. El sistema ejecuta la acción realizada por el usuario en la base de datos. 4. El usuario puede crear, editar o eliminar cursos de la tabla de resultados. 6. El sistema responde con mensaje de éxitos o error. Tabla 11 Descripción gestión paralelos Caso de Uso Gestión Materias CU9 Actores Administrador Tipo Primario Precondición Ingresar al Sistema como Administrador Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 08/10/2014 5 Flujo Normal 63 Versión 1.0 un Sirendi – Sistema de Registro de Notas y Disciplina Acción Actor Respuesta Sistema 3. El usuario dentro del sistema puede 3. El sistema muestra un listado de las seleccionar el sub menú materia. materias de la base de datos en una tabla 4. El usuario realiza la consulta de las con toda la información disponible. materias existentes mediante filtros 5. El sistema ejecuta la acción realizada de búsqueda. por el usuario en la base de datos. 4. El usuario puede crear, editar o 6. El sistema responde con un mensaje de eliminar materias de la tabla de éxitos o error. resultados. 8. El sistema ejecuta la acción sobre la 7. El usuario puede asignar cursos a base de datos. una materia 9. El sistema responde con un mensaje de éxito o error. Tabla 12 Descripción gestión materias Caso de Uso Gestión Horarios CU10 Actores Administrador Tipo Primario Precondición Ingresar al Sistema como Administrador Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 08/10/2014 Versión 1.0 5 Flujo Normal Acción Actor 3. El usuario dentro del sistema puede seleccionar el sub menú horario. 4. 4. Respuesta Sistema 5. El usuario realiza la consulta de los horarios existentes mediante filtros de búsqueda. El sistema muestra un listado de los horarios de la base de datos en una tabla con toda la información disponible. 5. El usuario puede crear, editar o eliminar horarios de la tabla de resultados. El sistema ejecuta la acción realizada por el usuario en la base de datos. 6. El sistema responde con un mensaje de éxitos o error. 64 Sirendi – Sistema de Registro de Notas y Disciplina Tabla 13 Descripción gestión horarios Caso de Uso Gestión Año Lectivo CU11 Actores Administrador Tipo Primario Precondición Ingresar al Sistema como Administrador Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 10/10/2014 Versión 1.0 5 Flujo Normal Acción Actor 3. Respuesta Sistema El usuario dentro del sistema 3. El sistema muestra un listado de los puede seleccionar el sub menú años lectivos de la base de datos en una Año Lectivo. tabla con toda la información disponible. 4. El usuario realiza la consulta de 5. El sistema ejecuta la acción realizada los años lectivos existentes por el usuario en la base de datos. mediante filtros de búsqueda. 6. El sistema responde con un mensaje de 4. El usuario puede crear, editar o éxitos o error. eliminar los años lectivos en el caso que el sistema lo permita de la tabla de resultados. Tabla 14 Descripción gestión años lectivos Caso de Uso Gestión Acceso Sistema CU12 Actores Administrador Tipo Primario Precondición Ingresar al Sistema como Administrador Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 10/10/2014 5 65 Versión 1.0 Sirendi – Sistema de Registro de Notas y Disciplina Flujo Normal Acción Actor Respuesta Sistema 1. El usuario dentro del sistema puede seleccionar el sub menú acceso sistema. 3. 2. El usuario realiza la consulta de los accesos al sistema existentes mediante filtros de búsqueda. El sistema muestra un listado de los accesos al sistema que están actualmente de la base de datos en una tabla con toda la información disponible. 5. El sistema ejecuta la acción realizada por el usuario en la base de datos. 4. El usuario puede crear o editar accesos al sistema de la tabla de resultados. 6. El sistema responde con mensaje de éxitos o error. 7. El usuario puede asignar los roles disponibles a cada acceso al sistema el cual será accedidos por los usuarios que tengan dicho rol. un 8. El sistema ejecuta la acción realizada por el usuario en la base de datos. 9. El sistema responde con mensaje de éxitos o error. un Tabla 15 Descripción gestión acceso sistema Caso de Uso Gestión Notificaciones CU13 Actores Administrador Tipo Primario Precondición Ingresar al Sistema como Administrador Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 10/10/2014 Versión 1.0 5 Flujo Normal Acción Actor Respuesta Sistema 1. El usuario dentro del sistema puede seleccionar el sub menú informativo que se encuentra en el menú de notificación. 3. El sistema muestra un listado de los usuarios de la base de datos en una tabla con toda la información disponible. 66 Sirendi – Sistema de Registro de Notas y Disciplina 2. El usuario realiza la consulta de los usuarios existentes mediante filtros de búsqueda. 5. El sistema ejecuta la acción realizada por el usuario y envía el informativo a los usuarios elegidos. 4. El usuario puede elegir el usuario o los usuarios a los que desea enviar un informativo. 6. El sistema responde con un mensaje de éxitos o error a terminar de enviar los informativos mediante correo electrónico. Tabla 16 Descripción gestión notificaciones 3.3.6.3. Diagrama caso de uso docente Ilustración 12 Diagrama caso de uso docente 67 Sirendi – Sistema de Registro de Notas y Disciplina Caso de Uso Gestión Datos Docente CU14 Actores Docente Tipo Primario Precondición Ingresar al Sistema como Docente Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 10/10/2014 Versión 1.0 5 Flujo Normal Acción Actor Respuesta Sistema 1. El usuario dentro del sistema puede seleccionar el sub menú docente. 2. El sistema muestra en un formulario los datos del docente. 4. El sistema ejecuta la acción realizada por el usuario en la base de datos. 3. El usuario puede actualizar la información que se presenta en el formulario. 6. El sistema guarda el archivo elegido en el caso de cargar el archivo al sistema. 5. El usuario puede visualizar los horarios de clases o cargar archivos que le pertenecen 7. El sistema responde con mensaje de éxitos o error. Tabla 17 Descripción gestión datos docente Caso de Uso Gestión Enviar Notificaciones CU15 Actores Docente Tipo Primario Precondición Ingresar al Sistema como Docente Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 11/10/2014 5 Flujo Normal 68 Versión 1.0 un Sirendi – Sistema de Registro de Notas y Disciplina Acción Actor Respuesta Sistema 3. El usuario dentro del sistema puede seleccionar el sub menú informativo que se encuentra en el menú de notificación. 4. El sistema muestra un listado de los usuarios de la base de datos en una tabla con toda la información disponible. 4. El usuario realiza la consulta de los usuarios existentes mediante filtros de búsqueda. 7. El sistema ejecuta la acción realizada por el usuario y envía el informativo a los usuarios elegidos. 5. El usuario puede elegir el usuario o los usuarios a los que desea enviar un informativo. 8. El sistema responde con un mensaje de éxitos o error a terminar de enviar los informativos mediante correo electrónico. Tabla 18 Descripción gestión enviar notificaciones Caso de Uso Gestión Consulta/Reportes CU16 Actores Docente Tipo Primario Precondición Ingresar al Sistema como Docente Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 11/10/2014 Versión 1.0 5 Flujo Normal Acción Actor Respuesta Sistema 1. El usuario dentro del sistema puede realizar consultas mediante el ingreso de los filtros de búsqueda. 2. El sistema muestra un listado de la consulta realizada en la base de datos en una tabla con toda la información disponible. 3. El usuario dentro del sistema puede realizar reportes mediante el ingreso de los filtros de búsqueda. 4. El sistema ejecuta la acción realizada por el usuario y genera el reporte que puede ser en Excel o PDF 5. El sistema responde con mensaje de éxitos o error. 69 un Sirendi – Sistema de Registro de Notas y Disciplina Tabla 19 Descripción gestión consulta/reportes Caso de Uso Gestión Notas CU17 Actores Docente Tipo Primario Precondición Ingresar al Sistema como Docente Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 11/10/2014 Versión 1.0 5 Flujo Normal Acción Actor Respuesta Sistema 1. El usuario dentro del sistema puede ingresar notas. 3. El sistema muestra un listado de los estudiantes de la base de datos en una tabla con toda la información de las notas a ingresar 2. El usuario realiza la consulta de los cursos, materias y estudiantes para el ingreso de notas para los estudiantes. 5. El sistema ejecuta la acción realizada por el usuario en la base de datos. 4. El usuario puede crear y editar las notas de los estudiantes que tiene a su cargo. 6. El sistema responde con mensaje de éxitos o error. Tabla 20 Descripción gestión notas Caso de Uso Gestión Asistencia CU18 Actores Docente Tipo Primario Precondición Ingresar al Sistema como Docente Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 11/10/2014 5 70 Versión 1.0 un Sirendi – Sistema de Registro de Notas y Disciplina Flujo Normal Acción Actor Respuesta Sistema 1. El usuario dentro del sistema puede ingresar las asistencias. 3. El sistema muestra un listado de los estudiantes de la base de datos en una tabla con toda la información de las asistencias a ingresar. 2. El usuario realiza la consulta de los cursos, materias y estudiantes para el ingreso de las asistencias de los estudiantes. 5. El sistema ejecuta la acción realizada por el usuario en la base de datos. 4. El usuario puede crear y editar las asistencias de los estudiantes que tiene a su cargo. 6. El sistema responde con mensaje de éxitos o error. Tabla 21 Descripción gestión asistencia 3.3.6.4. Diagrama de caso de uso Estudiante/Representante Ilustración 13 Diagrama caso de uso estudiante/representante 71 un Sirendi – Sistema de Registro de Notas y Disciplina Caso de Uso Gestión Datos Estudiante/Representante Actores Docente, Representante Tipo Primario Precondición Ingresar al Sistema como Estudiante o Representante Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 12/10/2014 CU20 Versión 1.0 5 Flujo Normal Acción Actor Respuesta Sistema 1. El usuario dentro del sistema puede seleccionar el sub menú que le permita ver la información en un formulario. 2. El sistema muestra en un formulario los datos del usuario. 4. El sistema ejecuta la acción realizada por el usuario en la base de datos. 3. El usuario puede actualizar la información que se presenta en el formulario. 5. El sistema guarda la información ingresada 7. El usuario puede visualizar los horarios de clases. 6. El sistema responde con mensaje de éxitos o error. Tabla 22 Descripción gestión datos estudiante/representante Caso de Uso Gestión Consulta/Reportes CU21 Actores Estudiante, Representante Tipo Primario Precondición Ingresar al Sistema como Estudiante, Representante Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 12/10/2014 5 Flujo Normal 72 Versión 1.0 un Sirendi – Sistema de Registro de Notas y Disciplina Acción Actor Respuesta Sistema 1. El usuario dentro del sistema puede realizar consultas mediante el ingreso de los filtros de búsqueda. 2. El sistema muestra un listado de la consulta realizada en la base de datos en una tabla con toda la información disponible. 3. El usuario dentro del sistema puede realizar reportes mediante el ingreso de los filtros de búsqueda. 4. El sistema ejecuta la acción realizada por el usuario y genera el reporte que puede ser en Excel o PDF 5. El sistema responde con mensaje de éxitos o error. un Tabla 23 Descripción gestión consulta/reportes Caso de Uso Enviar Notificaciones CU22 Actores Estudiante, Representante Tipo Primario Precondición Ingresar al Sistema como Estudiante, Representante Postcondición Puede gestionar las funcionalidades del sistema Autor Oscar Morocho Fecha 02/09/2014 Versión 1.0 5 Flujo Normal Acción Actor Respuesta Sistema 1. El usuario dentro del sistema puede seleccionar el sub menú informativo que se encuentra en el menú de notificación. 3. El sistema muestra un listado de los usuarios de la base de datos en una tabla con toda la información disponible. 2. El usuario realiza la consulta de los usuarios existentes mediante filtros de búsqueda. 5. El sistema ejecuta la acción realizada por el usuario y envía el informativo a los usuarios elegidos. 4. El usuario puede elegir el usuario o los usuarios a los que desea enviar un informativo. 6. El sistema responde con un mensaje de éxitos o error a terminar de enviar los informativos mediante correo electrónico. 73 Sirendi – Sistema de Registro de Notas y Disciplina Tabla 24 Descripción gestión enviar notificaciones 3.3.7. Diagramas de Secuencia Los diagramas de secuencia tienen como finalidad mostrar la forma en que se relacionan los componentes del sistema a través del tiempo, desde el inicio hasta el fin de la operación, también permiten ver la vida de cada componente a lo largo de la ejecución y el tipo de mensaje por medio de los cuales se comunican entre ellos. La forma correcta de interpretar estos diagramas es seguirlos de arriba hacia abajo y de izquierda a derecha, de acuerdo a la notación UML. Notación de Diagramas de secuencia Ilustración 14 Notación diagrama de secuencia 74 Sirendi – Sistema de Registro de Notas y Disciplina 3.3.7.1. Diagrama de secuencia login Ilustración 15 Diagrama de secuencia login 3.3.7.2. Diagrama de secuencia de gestión usuarios Ilustración 16 Diagrama de secuencia gestión usuarios 75 Sirendi – Sistema de Registro de Notas y Disciplina 3.3.7.3. Diagrama de secuencia Ingreso Notas/Asistencia Ilustración 17 Diagrama de secuencia ingreso nota/asistencia 3.3.7.4. Diagrama de secuencia reportes Ilustración 18 Diagrama de secuencia reportes 76 Sirendi – Sistema de Registro de Notas y Disciplina 3.3.7.5. Diagrama de secuencia consulta notas Ilustración 19 Diagrama de secuencia consulta notas 3.3.7.6. Diagrama de secuencia envío notificación Ilustración 20 Diagrama de secuencia envió notificación 77 Sirendi – Sistema de Registro de Notas y Disciplina 3.3.8. Diagrama de Estados Diagrama de estados es una técnica conocida para describir el comportamiento de un sistema. Describe los estados en los que puede pasar un objeto en particular y la manera cómo cambia el estado dicho objeto. Muestra la secuencia de estados por los que pasa un caso de uso, un objeto a lo largo de su vida, o todo el sistema. En él se indican qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera. Estado: Identifica el periodo de tiempo en el cual el objeto está esperando una operación. Eventos: Es una ocurrencia que puede causar la transición de un estado a otro de un objeto. Esta ocurrencia se puede dar por varias razones: Condición que toma el valor de verdadero o falso Recepción de una señal de otro objeto en el modelo. Recepción de mensaje. Paso de cierto periodo de tiempo, después de entrar al estado a cierta hora y fecha en particular. Transición: Una transición simple es una relación entre dos estados que indica que un objeto en el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son satisfechas. Estado Inicial: Representa el estado inicial de la secuencia. Estado Final: Representa el estado final de la secuencia. 78 Sirendi – Sistema de Registro de Notas y Disciplina 3.3.8.1. Diagrama de estado ingreso al sistema Ilustración 21 Diagrama de estado ingreso al sistema 3.3.8.2. Diagrama de estado gestión de usuarios Ilustración 22 Diagrama de estado gestión de usuarios 79 Sirendi – Sistema de Registro de Notas y Disciplina 3.3.8.3. Diagrama de estado ingreso notas Ilustración 23 Diagrama de estado ingreso notas 3.3.8.4. Diagrama de estado consulta notas Ilustración 24 Diagrama de estado consulta notas 80 Sirendi – Sistema de Registro de Notas y Disciplina 3.3.8.5. Diagrama de estado reportes Ilustración 25 Diagrama de estado reportes 3.3.9. Diseño de modelo Entidad – Relacional De acuerdo al análisis realizado con la metodología seleccionada una de los artefactos a realizarse es el diseño de un modelo relacional que soporte los requerimientos y necesidades. 81 Sirendi – Sistema de Registro de Notas y Disciplina 3.3.9.1. Diagrama Modelo - Relacional Ilustración 26 Diseño modelo entidad - relación 82 Sirendi – Sistema de Registro de Notas y Disciplina 3.3.9.2. Modelo Físico Ilustración 27 Modelo físico 83 3.3.10. Definición de Arquitectura del Sistema A continuación se detalla la Arquitectura seleccionada para el Sistema Informático para el Colegio De Bachillerato Tabacundo. En base a las tecnologías disponibles actualmente, se presenta la siguiente arquitectura diseñada, que cumple con los estándares de comunicación a nivel mundial y de desarrollo, el diseño siguiente es orientado a una aplicación web empresarial, el cual permite a los usuarios acceder a la aplicación desde cualquier lugar siempre y cuando el servidor y el cliente se encuentren en la misma red. Además la arquitectura generada, es de n capas y basada en el modelo MVC (ModeloView-Controller), brindándonos total independencia entre las capas de nuestra aplicación. A continuación presentamos la Arquitectura del Sistema Informático. Ilustración 28 Arquitectura del sistema Tal como se indica, la arquitectura JEE6 permite definir n capas, para cada una de éstas n capas, que se utilicen, sé deben definir los componentes a utilizar en cada una de las mismas. 82 Como se indica en el Gráfico, para el caso de la tesis se establecen las siguientes capas: Capa de Presentación, Capa de Negocio y Capa de Datos. 3.3.10.1. Capa de Presentación Es la que ve el usuario (también se la denomina "capa de usuario"), para lo cual se utilizará páginas jsp y páginas xhtml y para darle un aspecto más vistoso y con gran funcionalidad se utilizará la librería Primefaces 5.0 que posee una biblioteca variada de componentes que soportan Ajax. Como ya se mencionó antes también se utilizará Java Beans y Java Mail API 1.4.5 Los primeros conocidos también como Bancking Beans (Clases Controladoras) serán los encargados de receptar los eventos desde las páginas xhtml. Java Mail API 1.4.5 se le utilizará para envío de notificaciones como por ejemplo para recuperar la clave del usuario o para enviar boletines informativos, etc. 3.3.10.2. Capa de Lógica de Negocio Está capa se encargará de la lógica de la aplicación web. Se utilizará EJB 3.0 y una implementación de Java Persistence Api (JPA 2.0). Hibernate es una herramienta que consume poca memoria, ofrece un lenguaje de consulta llamado Hibernate Query Language (HQL por sus siglas en inglés) y su alto rendimiento, hacen que se escoja Hibernate por su clara ventaja sobre las otras implementaciones. 3.3.10.3. Capa de Datos Es donde residen los datos y es la encargada de acceder a los mismos. En esta capa se utilizará un Gestor de Base de Datos de acuerdo al motor que se elija más adelante. 3.3.11. Determinación de Herramientas Tecnológicas Una vez seleccionada la arquitectura del sistema, el siguiente paso es explicar el conjunto de APIS y las tecnologías a usar, en cada una de las capas del sistema. Las tecnologías de desarrollo Open Source está creciendo exponencialmente a nivel mundial, de hecho existen cientos de aplicaciones reconocidas mundialmente que usan 83 tecnologías Open Source, en nuestro país desde hace pocos años promueve a las entidades públicas el uso de software libre, por todo lo dicho anteriormente, se ha optado por el uso de tecnologías Open Source para el desarrollo del Proyecto, las cuales se detallan a continuación. 3.3.11.1. Lenguaje Programación Como se había mencionado anteriormente la plataforma tecnológica usada en el desarrollo del presente proyecto será con Java bajo la especificación JEE6 para aplicaciones empresariales con la versión 7 del JDK(Java development Kit), que es hoy en día el lenguaje más seguro y estable para aplicaciones empresariales, además que nos brinda la ventaja de independencia del Sistema operativo. 3.3.11.2. Sistema Gestor de Base de Datos Parte fundamental de cualquier aplicación es el almacenamiento de datos, para ello vamos usar el SGBD PostgreSQL en su versión 9.3.5, que es la versión que actualmente es la última estable, además de brindar gran compatibilidad con el lenguaje de programación escogido. 3.3.11.3. Servidor de aplicaciones JEE Hay varios servidores de aplicación no privativos para ejecutar aplicaciones web. Como se especificó el uso del componente EJB 3.0, se necesita que el servidor también sea un contenedor EJB, por lo cual se ha elegido el servidor Jboss 7.1. Jboss AS 7.1 es la alternativa de capas de servicio que está dentro de los estándares abiertos de reconocimiento mundial, además goza de la popularidad de la propuesta gubernamental ecuatoriana; lo primordial en este caso es cumplir estándares y especificaciones tanto de comunicaciones tipo http, HTTPS, TCP/IP, SOAP, WSDL, UDDI, XML. XHTML, entre otros. 3.3.11.4. Entorno de Desarrollo (IDE) El IDE, que nos brinda gran facilidad para integrar todas las herramientas nombradas anteriormente es Eclipse IDE, usaremos la versión Juno de este entorno de desarrollo 84 Integrado, además goza de gran aceptación y nos ayuda en la generación automática de código fuente. 3.3.11.5. Herramientas CASE La herramienta CASE que se usara en todo el diseño del sistema es Power Designer 16.1, que es una herramienta flexible y de fácil manejo, además de cumplir con los estándares UML, para diseño de sistemas informáticos. 3.4. Fase de Construcción. Una vez realizado el análisis y diseño del presente proyecto se prosigue con la construcción, misma que contempla el desarrollo iterativo e incremental del producto conjuntamente con el cliente, es preciso establecer reuniones frecuentemente con el cliente en el desarrollo del proyecto para ir afinando el sistema. Como artefactos en esta fase se tendrá lo siguiente: o Estructura de Programas o Definición de Estándares de la Interfaz o Definición de Estándares de Codificación o Definición de Estándares de Base de Datos Requerimiento de cambio en funcionalidad del sistema PCR-001 Cruce de horario Proyecto Automatización Del Proceso De Registro De Notas Y Disciplina En El Colegio De Bachillerato Tabacundo. Fecha 15 de noviembre del 2014 Fuentes Lic. Juan Laverde Autores Lic. Juan Laverde Descripción El cambio solicitado consiste en: Control de asignación de materia/horario al docente Los elementos directamente afectados por el cambio son: Impacto Directo El módulo de administración del proyecto 85 Justificación El tiempo de finalización de desarrollo del proyecto El cambio solicitado se considera necesario por: Evitar el cruce de horario en la asignación de materia/horario al dicente. Alternativas Otras posibles alternativas para abordar la situación descrita son: Ninguna Consecuencias del En caso de rechazar el cambio, las posibles consecuencias son: Rechazo Fecha Cruce de horario Información almacenada innecesaria. de 20 de Diciembre del 2014 Resolución Comentarios Tabla 25 Requerimiento de cambio, crece de horario 3.4.1. Estructura de los programas fuentes. La estructura del programa como se mencionó anteriormente es un propuesta basada en la web para lo cual siguiente los estándares de programación de java, se ha pensado desarrollar una aplicación empresaria para lo cual los diferentes módulos estarán empaquetados en un fichero EAR (Enterprice Archive), este tipo de ficheros son desplegados en un servidor de aplicaciones que soportan la especificación JEE6, la estructura del fichero es la siguiente: 86 Ilustración 29 Estructura aplicación ear 3.4.2. Definición de Estándares de la Interfaz. Para la capa de presentación se definió el uso de la tecnología JSF bajo la especificación 2.0, se ha propuesto tecnología primefaces y páginas xhtml cada una con su respectivo Managed Bean. 3.4.3. Distribución de Secciones de Página La Distribución de secciones de la página se lo ha diseñado de la forma que sea lo más amigable al usuario final para lo cual se ha diseñado la siguiente distribución: 87 Ilustración 30 Distribución de sección de paginas 3.4.4. Fuentes Para la definición de las fuentes en la página web se utilizara sólo fuentes Arial y Verdana. Existen otros elementos de maquetación relacionados con la presentación de la fuente y con los que podemos jugar para hacer la página más atractiva. Algunos ejemplos son el uso de la negrita y la cursiva, distintos tamaños de letra y cambiar el color del primer plano o color de fondo de las letras. 3.4.5. Alineación Los títulos, textos y fechas se alinearan siempre a la izquierda, los números se alinearan a la izquierda Una excepción lo contribuye el pie de página, que se alineara al centro. 3.4.6. Colores El sistema como tema los colores que podrá tener son los siguientes. Color Código de Color 88 #437CB2 #FFFFFF #82BA00 #008A17 Tabla 26 Colores sistema 3.4.7. Uso de Imágenes Al incluir gráficos en la web será de elegir el formato correcto para cada tipo de imagen de manera que se logre una correcta relación entre la calidad visual de la misma y su peso en Kb. Los formatos de imágenes a utilizar serán: JPG (Joint Photographic Experts Group = Grupo de Expertos Fotográficos Unidos). Sus características son: Número de colores: Admite una paleta de hasta 16 millones de colores. PNG (Portable Network Graphics). Proporciona un formato compresión de imágenes sin pérdida. Las características de este formato son: Color indexado hasta 256 colores y True Color hasta 48 bits por pixel. 89 3.4.8. Navegación La navegación de todas las páginas será de forma muy similar, tendrá una página en la cual se enliste todas las entidades, un enlace en cada grilla para editar la entidad, un botón en la barra de tareas para insertar una nueva entidad, un botón de buscar. La pantalla de edición tendrá la información de la entidad en la barra de herramientas contara con los siguiente botones: refrescar (Refresca la pantalla), Nuevo (Crea una nueva entidad), Guardar (Almacena la información de la entidad), Eliminar (Elimina la entidad), Regresar (Regresa a la página anterior). Entidad se entender todos los objetos de negocios de la aplicación. 3.4.9. Definición de Estándares de Codificación. Para el presente proyecto siguiendo los estándares de la especificación JEE6, en la capa de negocio se utilizará EJBs (Enterprice Jaca Beans) y para controlar la transacción se usara JTA (Java Transaction Api), como capa de persistencia se utilizara JPA 2.0 con la implementación de hibérnate. 3.4.10. Definición de Estándares de Base de Datos La base de datos diseñada para la aplicación Sirendi, consta de 28 tablas que definen la estructura del almacén de datos. Este será nuestro punto de partida, para toda la definición de estándares y nombres de componente. En Postgres definimos los nombres de las tablas todas con minúsculas y cada palabra separada de un guion bajo “_”. Para los nombres de la tabla quedara de la siguiente manera con las siglas del alias del sistema y con el nombre de la tabla: sir_estudiante. Para los campos de las tablas quedará de la siguiente manera con las siglas del nombre de la tabla y el nombre del campo: est_codigo. 90 3.5. Fase de Transición. Esta fase contempla la fase final de la metodología RUP y está enfocada en la implantación, pruebas, preparación y entrega del producto final. Esta fase agrupa las actividades que se realiza previo la puesta en producción del sistema como tal. Los artefactos que se obtendrán en esta fase serán los siguientes: Preparación de los datos para la carga del Sistema Plan de Pruebas. Preparación del Plan de Capacitación de Usuarios. Acta de Entrega del Sistema. 3.5.1. Plan de Pruebas. El objetivo de esta tarea es verifica el buen funcionamiento del sistema desarrollado a través de verificación de cumplimiento de requerimientos no funcionales. El proceso y los pasos a realizarse se encuentran en el manual de usuario. Previo al plan de pruebas debe realizarse la tarea de preparar los datos iniciales del sistema, los cuales se disgregan en las siguientes tareas. 1. Configuración de parámetros de la aplicación. 2. Configuración de usuarios y accesos iniciales Requerimiento de cambio por disponibilidad de tiempo PCR-001 Disponibilidad de Tiempo Proyecto Automatización Del Proceso De Registro De Notas Y Disciplina En El Colegio De Bachillerato Tabacundo. Fecha 02 de Marzo del 2015 Fuentes Lic. Marcho Calvache, Lic. Juan Laverde Autores Lic. Juan Laverde 91 El cambio solicitado consiste en: Disponibilidad de tiempo para realizar la pruebas necesarias Los elementos directamente afectados por el cambio son: Descripción Impacto Directo El tiempo de finalización de desarrollo del proyecto El cambio solicitado se considera necesario por: Justificación No haber disponibilidad de personal calificada para las pruebas Otras posibles alternativas para abordar la situación descrita son: Alternativas Ninguna Consecuencias del En caso de rechazar el cambio, las posibles consecuencias son: Rechazo El proyecto no tendría las pruebas suficientes y necesarias para garantizar la culminación con éxito. de 11 de Abril del 2015 Fecha Resolución Comentarios Tabla 27 Requerimiento de cambio, disponibilidad de tiempo Funcionalidades a Probar Tema Gestión de Usuarios del sistema, representantes, docentes, estudiantes y administradores. Gestión de horarios, cursos, paralelos, materias, secciones, años lectivos Gestión de configuración de correo Gestión de Ingreso de notas y asistencias Gestión de notificaciones 92 Tabla 28 Funcionalidad a probar Requerimiento de cambio ajuste de defectos PCR-001 Ajuste de defectos Proyecto Automatización Del Proceso De Registro De Notas Y Disciplina En El Colegio De Bachillerato Tabacundo. Fecha 16 de Marzo del 2015 Fuentes Lic. Marcho Calvache Autores Lic. Juan Laverde Descripción El cambio solicitado consiste en: Ajuste en la asignación de estudiante al curso Ajuste en la creación de reporte estudiante/docente Ajuste en el envió de notificaciones para todos los usuarios del sistema Los elementos directamente afectados por el cambio son: Impacto Directo El módulo de administración, estudiante, docente y representante. Justificación El tiempo de finalización de desarrollo del proyecto El cambio solicitado se considera necesario por: La correcta asignación de cursos a los estudiantes y la generación de los reportes correspondientes. Alternativas Otras posibles alternativas para abordar la situación descrita son: Ninguna Consecuencias del En caso de rechazar el cambio, las posibles consecuencias son: Rechazo Fecha Estudiantes asignados a cursos incorrectos Inconsistencia en la información almacenada de 28 de Abril del 2015 Resolución Comentarios Tabla 29 Requerimiento de cambio, ajuste de defectos 93 3.5.2. Plan de Capacitación. El plan de capacitación se realizara mediante un previo acuerdo en los días de disponibilidad. El proceso se realizara siguiendo los siguientes pasos: Tema Duración Facilitador Introducción 1 Hora Oscar Morocho Descripción de Módulos 3 Horas Oscar Morocho Inicio de Sesión 1 Horas Oscar Morocho Gestión de Usuarios del sistema, 4 Horas Oscar Morocho representantes, docentes, estudiantes y administradores. Gestión de horarios, cursos, 6 Horas Oscar Morocho paralelos, materias, secciones, años lectivos Gestión de configuración de correo 1 Horas Oscar Morocho Gestión de Ingreso de notas y 6 Horas Oscar Morocho 1 hora Oscar Morocho asistencias Gestión de notificaciones Tabla 30 Plan de capacitación 94 3.5.3. Acta de Entrega Recepción. ACTA DE ENTREGA – RECEPCION FIN DE PROYECTO 1.- COMPARECIENTES. En el Cantón Pedro Moncayo, Parroquia de Tabacundo, en el Colegio de Bachillerato Tabacundo a los 04 días del mes de Mayo del 2015, comparecen a la firma de la presente Acta de Entrega – Recepción de cumplimiento del proyecto AUTOMATIZACIÓN DEL PROCESO DE REGISTRO DE NOTAS Y DISCIPLINA EN EL COLEGIO DE BACHILLERATO TABACUNDO - SIRENDI para el COLEGIO DE BACHILLERATO TABACUNDO, realizada por el Sr. Oscar Fernando Morocho Guachalá como proyecto de tesis. Por una parte el Sr. Oscar Morocho, en su calidad de contratista, por otra parte el Colegio de Bachillerato Tabacundo en su calidad de contratante y representado para este acto por el Sr. Rector Juan Laverde. 2-. ANTECEDENTES EL COLEGIO DE BACHILLERATO ha solicitado al Sr. Oscar Morocho realizar la construcción del sistema informático AUTOMATIZACIÓN DEL PROCESO DE REGISTRO DE NOTAS Y DISCIPLINA EN EL COLEGIO DE BACHILLERATO TABACUNDO - SIRENDI. Esta propuesta fue presentada y posteriormente aceptada por el COLEGIO NACIONAL TABACUNDO. Se ha realizado la implementación del sistema antes mencionado, y la versión del producto ha sido concluida y realizada en las siguientes fechas. Inicio del proyecto: 15 de Septiembre del 2014 Fin del Proyecto: 04 de Mayo del 2015 La entrega de este aplicativo en las instalaciones del COLEGIO DE BACHILLERATO TABACUNDO contempla: Versión 1 del aplicativo Web SIRENDI Capacitación a Usuarios Documentación (Manual de Usuario y Técnico) 95 Código Fuente (Sistema Web) A la fecha de la presente acta, EL COLEGIO DE BACHILLERATO TABACUNDO certifica haber recibido del contratista la documentación y los programas acordados en la Propuesta de desarrollo de la aplicación SIRENDI. EL COLEGIO DE BACHILLERATO TABACUNDO da fe del fiel cumplimiento de los requerimientos y estar a entera satisfacción de los servicios y entregables provistos por el Sr Oscar Morocho. 96 CAPITULO 4 4. MARCO ADMINISTRATIVO 4.1. Recursos Recurso Institucional (Universidad) Tribunal de Trabajo de Graduación. Tutores de Trabajo de Graduación. Revisores. Recursos Empresariales (Institución Educativa) Asesores. Equipos. o PC Servidor. Recursos del Egresado Laptop HP ENVY Intel core i5 8 GB RAM. Dispositivos de Almacenamiento Internet. Investigador. Sr. Oscar Fernando Morocho Guachalá.(Análisis, Diseño Desarrollo Implementación) Servicios básicos. o Luz. o Teléfono. Materiales Bibliográficos 97 4.2. Presupuesto Un cálculo aproximado sobre los gastos que requiere el proyecto en el diseño, análisis, desarrollo e implementación seria acorde al siguiente cuadro: FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA ESCUELA DE CIENCIAS PRESUPUESTO PARA TESIS DE GRADO ÍTEM RUBRO d N° 1 Unida Cantida Valor Valor d N° unitar $ rubro $ io RECURSOS INSTITUCIONALES UCE 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 SUBTOTAL UCE 0.00 2 0.00 RECURSOS INTITUCIÓN: Colegio De Bachillerato Tabacundo Materias primas: • • Material de laboratorio: • • 0.00 0.00 0.00 Uso de equipo de la Institución 0.00 0.00 0.00 Personal de apoyo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Horas 0.00 0.00 0.00 0.00 0.00 SUBTOTAL COLEGIO TABACUNDO 3 RECURSOS HUMANOS Tutor de trabajo de graduación Tribunal de trabajo de graduación Investigador (autor de trabajo de grado) gr ado) SUBTOTAL RECURSO HUMANOS 4 RECURSOS MATERIALES Material de escritorio: • Resma de papel • Cartucho de tinta B/N Lexmark• 98 Cartucho a color Lexmark • Copias Suministros de Oficina Varios 30 1.00 30.00 DVDs DVD 12 2.00 24.00 Copias Hojas 300 0.05 15.00 Material bibliográfico: • Internet Internet 6 • fotocopias de libros Transcripción borrador trabajo de grado Meses Hojas 600 Empastado de Trabajo de grado Libros 3 3.00 180.0 0.40 0 20 240.0 60.00 0 549.00 SUBTOTAL RECURSOS MATERIALES 5 Otros: Varios Varios 1 SUBTOTA OTROS 50 50.00 50.00 599.0 IMPREVISTOS ( 5% ) 0 29.95 TOTAL DEL PRESUPUESTO 628,9 5 RESUMEN DE FINANCIAMIENTO UCE 0.00 COLEGIO TABACUNDO 0.00 ALUMNO 628.95 DATOS DEL ALUMNO NOMBRE: OSCAR MOROCHO Tabla 31 Presupuesto 99 4.3. Cronograma El cuadro siguiente muestra el cronograma de actividades distribuido en días, el cual se presenta a continuación. 100 Ilustración 31 Cronograma 101 CAPÍTULO 5 5. CONCLUSIONES Y RECOMENDACIONES 5.1. Conclusiones El proyecto fue concluido exitosamente de acuerdo a las especificaciones de los usuarios del Colegio de Bachillerato Tabacundo, perteneciente a la Parroquia de Tabacundo, Cantón Pedro Moncayo de la provincia de Pichincha, en lo que corresponde al registro de notas y disciplina en un sistema web que les permita enviar los aportes de los estudiantes a sus respectivos representantes. Como resultado del análisis se ha podido diseñar e implementar un sistema informático utilizando software libre el cual permite a los docentes, representantes y estudiantes tener acceso al sistema y visualizar toda la información disponible de acuerdo a su rol en el sistema. El desarrollo de esta investigación ha permitido que los representantes de cada uno de los estudiantes estén enterados sobre las notas obtenidas en cada una de las materia, sin la necesidad de esperar a la entrega de los aportes quimestrales, dando como consecuencia la disminución de estudiantes con malas notas. La aplicación permite reducir los tiempos de registros de las notas y asistencia de los estudiantes, mediante la automatización de procesos que antiguamente se realizaban en Excel. Respecto al análisis de requerimiento, se tuvieron algunos inconvenientes con los usuarios finales, ya que al momento de realizar la entrega de proyecto se tuvo que hacer varias modificaciones. 102 5.2. Recomendaciones Los proyectos de tesis, son una forma de obtener una experiencia laboral, ya que en su desarrollo se deben utilizar varios estándares, normas de implementación de software, poniendo al estudiante en situaciones que se asemejan a una situación laboral. Durante el desarrollo de este proyecto, se presentan varias etapas y cada una de estas involucra un grado de complejidad, por lo que cada una de estas debe ser resuelta de la mejor manera para tener un proyecto de calidad. Se sugiere registrar las notas obtenidas por los estudiante y enviar a los representantes para que estos tenga conocimiento de los resultados obtenidos y puedan tomar una acción frente a sus estudiantes para que mejoren sus notas. Se recomienda que la persona para dar soporte y mantenimiento del sistema desarrollado sea un docente en informática. Dicha persona tendrá un rol de administrador ya que se requiere tener cierto conocimiento de informática, programación Web y manejo de bases de datos con lo que dicha persona podrá operar con total facilidad la funcionalidad del aplicativo que utiliza ésta dependencia. Cabe la pena mencionar que se debe mantener actualizado la base de datos para así lograr que la información sea confiable. 103 BIBLIOGRAFÍA 1. http://www.mundojava.net/caracteristicas-dellenguaje.html?Pg=java_inicial_4_1.html 2. http://picandocodigo.net/2010/lanzamiento-de-java-ee-6-caracteristicasservidores-y-material/ 3. http://expertojava.ua.es/j2ee/publico/jsf-2012-13/sesion03apuntes.html#La+arquitectura+JSF 4. http://javajeecastellano.blogspot.com/2014/01/jsf22-integrado-ejb3x-cdi.html 5. http://expertojava.ua.es/j2ee/publico/jsf-2012-13/sesion01-apuntes.html 6. http://rupmetodologia.blogspot.com/ 7. https://es.scribd.com/doc/62349561/Fase-Elaboracion-RUP 8. http://es.slideshare.net/pablolopez65/86535551-ciclodevidajsf 9. http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=hibernate 10. http://www.utvm.edu.mx/OrganoInformativo/orgJul07/RUP.htm 11. http://users.dsic.upv.es/asignaturas/facultad/lsi/ejemplorup/ (EXCELENTE RUP) 12. http://www.monografias.com/trabajos99/requerimientos-rup-fiat/requerimientosrup-fiat.shtml 13. http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/479 104 TERMINOLOGÍA BÁSICA JEE6: Java Enterprise Edition. JAVA: Java es un lenguaje de programación por objetos creado por Sun Microsystems, Inc. que permite crear programas que funcionan en cualquier tipo de ordenador y sistema operativo. Jboss: Es un servidor de aplicaciones Java EE de código abierto implementado en Java puro. Al estar basado en Java, JBoss puede ser utilizado en cualquier sistema operativo para el que esté disponible la máquina virtual de Java. Postgres: es un sistema de gestión de bases de datos objeto-relacional (ORDBMS) basado en el proyecto POSTGRES, de la universidad de Berkeley. API: Es una Interfaz de Programación de Aplicaciones (API: por sus siglas en inglés) provista por los creadores del lenguaje Java, y que da a los programadores los medios para desarrollar aplicaciones Java MVC: Es un patrón en el cual se separan los componentes de una aplicación en tres capas, la capa de datos, la capa de interfaz y la capa lógica. RUP: es un proceso de desarrollo de software desarrollado por la empresa Rational Software, actualmente propiedad de IBM. SIRENDI: Sistema de registro de notas y disciplina. TIC: Tecnología de la Información y la Comunicación. FTP: Protocolo de Transferencia de Archivos. Eclipse: Eclipse es un IDE (Integrated Development Environment, entorno integrado de desarrollo) para Java muy potente. Es libre y fue creado originalmente por IBM. Se está convirtiendo en el estándar de facto de los entornos de desarrollo para Java. IRC: protocolo de comunicación en tiempo real basado en texto. IDE: Entorno integrado de desarrollo. JSE: Estándar que permite crear aplicaciones de tareas comunes y generales. 105 JEE: Plataforma Java para desarrollo de aplicaciones móviles. JAX-RS: Java API for RESTful Web Services es una API del lenguaje de programación Java que proporciona soporte en la creación de servicios web de acuerdo con el estilo arquitectónico Representational State Transfer (REST). JAX-WS: Java API for XML Web Services (JAX-WS) es una API de Java para la creación de servicios web. EJB: Son una de las API que forman parte del estándar de construcción de aplicaciones empresariales J2EE (ahora JEE) de Oracle Corporation (inicialmente desarrollado por Sun Microsystems). MAC: Es un identificador de 48 bits (6 bloques hexadecimales) que corresponde de forma única a una tarjeta o dispositivo de red. IP: Protocolo de Internet. Licencia BSD: es la licencia de software otorgada principalmente para los sistemas BSD (Berkeley Software Distribution). Es una licencia de software libre permisiva como la licencia de OpenSSL o la MIT License. HTTP: Protocolo de transferencia de hipertextos. HTML: Lenguaje de marcas de hipertexto. XML: Lenguaje de marcas extensible. SSL: Capa de conexión segura. JSR: Java Specification Request. SQL: Lenguaje de consulta estructurado. JDBC: Es una API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java, independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede, utilizando el dialecto SQL del modelo de base de datos que se utilice. POO: Programación orientado a objetos. 106 JPA: Interfaz de Persistencia Java. JMS: Servicio de Mensajes Java. POJO: Objeto Java Plano Antiguo. XUL: Lenguaje basado en XML para la interfaz de usuario. GNU GPL: Licencia Pública General de GNU. SDK: Kit de desarrollo de software. CASE: Conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software. ISO: Organización Internacional para la Estandarización. IDEF: Metodología para modelado funcional de procesos. UML: Lenguaje Unificado de Modelado. TCP/IP: Protocolo de Control de Transmisión/Protocolo de Internet. SGBD: Sistema Gestor de Base de Datos. SOAP: Simple Object Access Protocol. WSDL: Lenguaje de Descripción de Servicios Web. UDDI: Catálogo de negocios de Internet denominado Universal Description. JAAS: Java Authentication and Authorization Service. Localhost: Publicación de páginas en el servidor propio del equipo. 107 ANEXOS A. Manual de Usuario UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA. CARRERA DE INFORMÁTICA MANUAL DE USUARIO AUTOMATIZACIÓN DEL PROCESO DE REGISTRO DE NOTAS Y DISCIPLINA EN EL COLEGIO DE BACHILLERATO TABACUNDO AUTOR: Oscar Fernando Morocho Guachalá TUTOR: Ing. Alicia Lorena Andrade Bazurto QUITO - ECUADOR 2015 108 Introducción Es una herramienta informática utilizada para el registro de notas y disciplina con el fin de enviar a los representantes del Colegio de Bachillerato “Tabacundo”. Este sistema cuenta con una interfaz amigable que permite al usuario el fácil manejo de cada uno de los procesos que maneje esta dependencia. Adicionalmente cuenta con las seguridades pertinentes para el uso personal autorizado. 109 exclusivo del 1 Generalidades 1.1 Acerca de este manual El presente manual de usuario se lo ha realizado con el objetivo de que los usuarios aprendan sobre este nuevo sistema de ingreso de notas y disciplina, implementado en el Colegio Bachillerato “Tabacundo”, para que así se familiarice con este nuevo sistema, si no con las nuevas tecnologías que aparecen con el pasar del tiempo. El manual está dividido en tres partes fundamentales las cuales son: La primera parte muestra la simbología, es decir imágenes que se volverán comunes para el usuario, y que con el transcurso del tiempo el mismo podrá familiarizarse con las definiciones. En la segunda parte muestra la parte de ingreso al sistema, y la pantalla principal en la que se hará una descripción corta de cada uno de los ítems del menú. En la tercera parte hace una descripción más detallada de cada una de las fases que conforman éste sistema de ingreso de notas y su funcionalidad paso a paso. 1.2 Simbología En la primera parte daré a conocer las simbologías más utilizadas por el usuario al momento de utilizar el sistema de ingreso de notas. Actualizar cambios Buscar Nuevo Cargo Editar Asignación Eliminar Guardar cambios Cancelar cambios 110 La busque se ha realizado con éxito La configuración no se puede eliminar 1.3 Ingreso al Sistema Está pantalla permite el ingreso al sistema; el usuario debe digitar su número de cedula y Clave; y presionar sobre el botón Ingresar tal como se muestra en la figura siguiente, los datos que se ingresan se los proporciona al momento de registrarse, si usted no está registrado, el administrador realizará el ingreso de su información, con el fin de otórgale un usuario y clave para que pueda ingresar al sistema. Figura 1 ingreso al sistema En el caso de que se haya olvidado la contraseña aparecerá el siguiente mensaje, el cual deberá ingresar su E- mail, con el fin de recuperar su contraseña al E- mail ingresado. 111 Figura 1 Recuperación de la contraseña 1.4 Ingreso al sistema administrador 1.4.1 Ingreso Como Rol Administrador menú configuración. Una vez ingresada de manera correcta al sistema, se habilitan todas las opciones del sistema tal como se muestra en la figura: Figura 2 Ingreso de la pantalla del administrador. 1.4.1.1 Submenú horario. En este submenú se encuentra la configuración de horarios, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. 112 Figura 3Configuración de horarios. Una vez ingresado al submenú de horario, el sistema debe permitir crear un horario para eso se debe ingresar el nombre, la descripción del día de la semana y finalizar presionando el botón de guardar o el botón de cancelar, así como se muestra en la imagen siguiente. Figura 4 Ingresar nombre y descripción Una vez creado el día de la semana ya se puede visualizar todos los días creados, como se muestra en la siguiente imagen en la cual tiene las opciones de editar y eliminar. 113 Figura 5 Asignación de días a la semana Después de haber ingresado los días de la semana, se procede a crear las horas para los días de la semana para lo cual debemos elegir la opción asignar horas y se nos presentará la siguiente imagen en donde debemos ingresar la hora de inicio, hora de finalización y el orden de la hora de la semana. Figura 6 Asignar el inicio y la finalización de la hora Una vez creado una hora del día de la semana ingresamos nuevamente en la opción asignar horas y se nos mostrará el día de la semana con todas las horas creadas, como lo podemos ver en la imagen. 114 Figura 7 Días y horas creadas 1.4.1.2 Submenú paralelo En este submenú se encuentra la configuración de paralelo, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. Figura 8 Configuración de paralelo Una vez ingresado al submenú de paralelo, el sistema debe permitir crear un nuevo paralelo para se debe hacer clic en la opción se despliega la siguiente imagen en donde se ingresa nombre y el estado para lo cual puede ser activo a inactivo. 115 Figura 9 Nuevo paralelo Después de haber ingresado el paralelo, el sistema nos permite editar, o eliminar siempre y cuando el sistema lo permita. Figura 10 Agregado nuevo paralelo 1.4.1.3 Submenú sección En este submenú se encuentra la configuración de sección, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. 116 Figura 11 Configuración de sección Una vez ingresado al submenú de sección, el sistema debe permitir crear una nueva sección para eso debe hacer clic en la opción por ende se despliega la siguiente imagen en donde se ingresa nombre, descripción y estado para lo cual puede ser activo a inactivo. Figura 12Ingresar datos de la sección Una vez ingresado las secciones correspondientes, el sistema nos permite editar o eliminar las secciones, así como se muestra en la imagen. 117 Figuran13 Datos de la sección ingresados correctamente. 1.4.1.4 Submenú especialidad. En este submenú se encuentra la configuración de especialidad, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. Figura 14 Configuración de especialidades. Una vez ingresado al submenú de especialidad, el sistema debe permitir crear una nueva especialidad para aquellos debe hacer clic en la opción por ende se despliega la siguiente imagen en donde se ingresa nombre, descripción y estado para lo cual puede ser activo a inactivo. 118 Figura 15 Ingreso de datos Una vez ingresado la especialidad, el sistema nos permite editar o eliminar las secciones, así como se muestra en la imagen. Figuran16 Datos ingresados correctamente 1.4.1.5 Submenú curso de Bachillerato. En este submenú se encuentra la configuración de cursos, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. 119 Figura 17Configuración de curso Una vez ingresado al submenú de curso, el sistema debe permitir crear un nuevo curso al hacer clic en la opción por ende se despliega la siguiente imagen en donde se ingresa nombre, sección, descripción y estado para lo cual puede ser activo a inactivo y damos clic en el botón guardar o cancelar Figura 18 Ingresar datos Después de haber ingresado el curso, el sistema nos permite editar, eliminar, asignar paralelos, y asignar especialidades así como se muestra en la imagen. Figura 19 Los datos fueron ingresados correctamente Para asignar un paralelo a cada curso se debe ubicar en el campo asignar paralelos y dar clic en , en la cual aparece la siguiente imagen. 120 Figura 20 Asignación de paralelos a cada curso Para seleccionar los paralelos nos ubicamos en el campo seleccione y damos clic en el ítem y finalmente damos clic en el botón guardar, o en el botón cancelar. Para asignar especialidades a cada curso nos ubicamos en el campo asignar especialidades y damos clic en el ítem , en el cual aparece la siguiente imagen. Figura 21 Asignación de especialización a cada curso Para seleccionar las especialidades nos ubicamos en el campo seleccione y damos clic en el ítem y finalmente damos clic en el botón guardar, o en el botón cancelar. 1.4.1.6 Submenú Materia En este submenú se encuentra la configuración de materia, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. 121 Figura 22 Configuración de materias Una vez ingresado al submenú de materia, el sistema debe permitir crear una nueva materia a dar clic en la opción por ende se despliega la siguiente imagen en donde se ingresa nombre, descripción y el estado. Figura 23 Ingresar datos Después de haber ingresado la materia, el sistema nos permite editar, eliminar asignar cursos a cada una de las materias así como se muestra en la imagen. 122 Figura 24 Los datos fueron ingresados correctamente Para asignar cursos a cada materia se debe ubicar en el campo asignar cursos y dar clic en , en la cual aparece la siguiente imagen. Figura 25 Asignación de materias a cada curso Para seleccionar los cursos nos ubicamos en el campo seleccione y damos clic en el ítem y finalmente damos clic en el botón guardar, o en el botón cancelar. 1.4.1.7 Submenú docente En este submenú se encuentra la configuración de docente, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. 123 Figura 26 Configuración de docente Una vez ingresado al submenú de docente, el sistema debe permitir ingresar los datos personales del docente a dar clic en la opción por ende se despliega la siguiente imagen en donde se ingresa nombre, apellidos, cedula, fecha de nacimiento, titulo, e-mail, genero, estado civil, teléfono, celular, dirección, fecha de ingreso, rol, estado por finalizar hacer clic en el botón guardar o en el botón cancelar. Figura 27 Ingreso de datos Después de haber ingresado los datos personales del docente, el sistema nos permite editar, eliminar, asignar materias y asignar tutor de curso así como se muestra en la imagen. 124 Figura 28 Los datos fueron ingresados correctamente Para asignar una materia a cada docente se debe ubicar en el campo asignar materia y dar clic en , en la cual aparece la siguiente imagen. Figura 29 Asignar materias a cada docente Para seleccionar una materia nos ubicamos en el campo elegir materia, elegir horario y damos clic en el ítem y finalmente damos clic en el botón guardar, o en el botón cancelar. Para asignar tutor de curso se debe ubicar en el campo asignar tutor de curso y dar clic en , en la cual aparece la siguiente imagen. 125 Figura 30 Asignar tutor de curso Para asignar tutor de curso nos ubicamos en el campo seleccione y llenamos las siguientes ítem , y finalmente damos clic en el botón guardar, o en el botón cancelar. 1.4.1.8 Submenú Servicio de correo En este submenú se encuentra la configuración servicio de correo, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. Figura 31 Configuración de correo 126 Una vez ingresado al submenú de configuración de correo, el sistema debe permitir ingresar estos campos de manera obligatoria los cuales son: cuenta, puerto, contraseña y servidor, para una correcta configuración del servidor de correos, finalmente se termina haciendo clic en el botón aceptar. 1.4.1.9 Submenú de rol En este submenú se encuentra la configuración de rol, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen Figura 32 Configuración de rol Una vez ingresado al submenú de rol, el sistema debe permitir ingresar los roles que se manejara a nivel de todo el sistema a dar clic en la opción por ende se despliega la siguiente imagen en donde se ingresa nombre, descripción estado. Figura 33 Ingresar datos para un nuevo rol 127 Después de haber ingresado el nuevo rol de proceder a hacer clic en el botón a guardar o cancelar, y se presenta la siguiente imagen en la cual podemos editar o eliminar. Figuran34 Datos ingresados correctamente 1.4.1.10 Submenú registro de año lectivo En este submenú se encuentra la configuración de registro de año lectivo, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. Figura 35 Configuración de registro de año lectivo Una vez ingresado al submenú registro de ingresar en años lectivo a dar clic en la opción año lectivo, el sistema debe permitir por ende se despliega la siguiente imagen en donde se ingresa año de inicio, año de finalización, fecha de inicio, 128 fecha de finalización, descripción y estado por finalizar hacemos clic en el botón guardar o cancelar. Figura 36 Nuevo registro académico Después de haber ingresado los datos, el sistema nos permite editar, eliminar, asignar quimestres como se muestra en la imagen. Figura 37 Los datos fueron ingresados correctamente Para asignar un quimestre al año lectivo se debe ubicar en el campo asignar quimestre y dar clic en , para lo cual se debe ingresar los siguientes datos: nombre, descripción, estado, fecha de inicio, y fecha de finalización, por finalizar se hace clic en el botón guardar o cancelar. 129 Figura 38 Asignar nuevo Quimestre 1.2.1.11 Submenú de acceso al sistema En este submenú se encuentra la configuración de acceso al sistema, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. Figura 39 Configuración de acceso al sistema Una vez ingresado al submenú acceso al sistema, el sistema debe permitir crear el menú y el submenú del sistema para manejar las distintas funcionalidades que ofrece el sistema. 130 A dar clic en la opción se despliega la siguiente imagen en donde se crea el menú y submenú de las funcionalidades del sistema, para crear el menú se necesita ingresar en los capos modulo y nombre en la pantalla , por finalizar hacemos clic en el botón guardar o cancelar. Figura 40 Ingresar modulo para el acceso del nuevo sistema Para crear el submenú debemos habilitar el campos submenú se habilitara el combo del menú, donde se seleccionara una de las opciones, ingresamos los campos módulo, nombre estado y uro. Por finalizar se hace clic en el botón guardar con cancelar. Figura 41Habilitar menú y submenú. Después de haber ingresado los datos, el sistema nos permite editar, eliminar y asignar rol como se muestra en la imagen. 131 Figura 42 Los todos han sido ingresados correctamente. Para asignar un rol al submenú se debe ubicar en el campo asignar rol y dar clic en , en la cual aparece la siguiente imagen. Figura 43 Asignación de rol Para seleccionar el rol nos ubicamos en el campo seleccione y damos clic en el ítem y finalmente damos clic en el botón guardar, o en el botón cancelar. 1.4.1.12 Submenú representante En este submenú se encuentra la configuración de representante, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. 132 Figura 44 Configuración de representante Una vez ingresado al submenú de representante, el sistema debe permitir ingresar los datos personales del representante a dar clic en la opción por ende se despliega la siguiente imagen en donde se ingresa nombre, apellidos, cedula, fecha de nacimiento, e-mail, teléfono, celular, dirección, rol, estado y por finalizar hacer clic en el botón guardar o en el botón cancelar. Figura 45 Ingresar datos del nuevo representante Después de haber ingresado los datos, el sistema nos permite editar, eliminar y asignar estudiantes como se muestra en la imagen. 133 Figura 46 Los datos han sido correctamente ingresados Para asignar un estudiante al representante se debe ubicar en el campo asignar estudiante y dar clic en , en la cual aparece la siguiente imagen. Figura 47 Asignar estudiante al representante Para seleccionar un estudiante nos ubicamos en el campo seleccione y damos clic en el ítem y finalmente damos clic en el botón guardar, o en el botón cancelar. 1.4.1.13 Submenú usuario del sistema En este submenú se encuentra la configuración de usuario del sistema, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. 134 Figura 48 Configuración de acceso al sistema Una vez ingresado al submenú de usuario del sistema, el sistema debe permitir ingresar los datos personales del usuario del sistema a dar clic en la opción por ende se despliega la siguiente imagen en donde se ingresa nombre, apellidos, cedula, fecha de nacimiento, e-mail, teléfono, celular, dirección, rol, estado y por finalizar hacer clic en el botón guardar o en el botón cancelar. Figura 49 Ingresar datos del nuevo usuario del sistema Después de haber ingresado los datos del usuario del sistema, el sistema nos permite editar y eliminar como se muestra en la imagen. 135 Figura 50 Los datos fueron ingresados correctamente 1.4.2 Ingreso con rol administrador menú administración 1.4.2.1 Submenú usuario En este submenú se encuentra la administración del usuario, en el cual el encargado de esta configuración es el administrador tal como lo muestra la siguiente imagen. Figura 51 Administración del usuario Una vez ya ingresado a este submenú de usuario se procede a llenar los datos los cuales son: nombre, apellido, cedula, fecha de nacimiento, e-mail teléfono, celular dirección, edad, contraseña y observaciones, por finalizar se debe pulsar en el botón actualizar. 136 1.4.3 Ingreso como rol administrativo menú reporte 1.4.3.1 Record estudiantil En el submenú record estudiantil nos permite consultar las notas de los estudiantes por año lectivo o de su record estudiantil. Figura 52 Record estudiantil 1.4.3.2 Reportes generales En el submenú de reportes generales, nos permite exportar reporte a puf, para los estudiantes, docentes y notas de los estudiantes. 137 Figura 53 Reportes genéreles Para ver los reportes de los estudiantes damos clic en la opción .para lo cual se presente la siguiente imagen. Figura 54 Raportes del estudiante Se pueden generales reportes de los estudiantes de acuerdo a los siguientes filtros de búsqueda, filtros de búsqueda: año lectivo, curso y sección, para general el reporte presionamos el botón generar reporte. 138 Figura 55 Eexportado notas al puf Para ver los reportes de los docentes damos clic en la opción presente la siguiente imagen. Figura 56Reportes del docente 139 . Para lo cual se Se pueden generales reportes de los docentes de acuerdo a los siguientes filtros de búsqueda, filtros de búsqueda: año lectivo, curso y sección, para general el reporte presionamos el botón generar reporte. Figura 57Exportado datos del docente al puf. Para ver los reportes de notas damos clic en la opción . Para lo cual se presente la siguiente imagen. Figura 58Reporte de notas Se pueden generar reportes de notas de acuerdo a los siguiente filtro de búsqueda el cual es el año lectivo y presionamos el botón generar reporte. 1.4.4 Ingreso como rol administrativo menú notificación. 1.4.4.1 Submenú informativo 140 En el submenú informativo nos permite enviar botellines informativos a todos los usuarios del sistema, solo se enviaran a los que marquen el ítem , así como se muestra la siguiente imagen. Figura 59 Enviar notificación 1.5 Ingreso al sistema docente Una vez ingresada de manera correcta al sistema, se habilitan todas las opciones del sistema tal como se muestra en la figura: Figura 60 Ingreso de la pantalla docente 1.5.1. Ingreso como rol docente menú administración 1.5.1.1. Submenú docente 141 En este submenú se encuentra la administración de docente, el encargado de esta configuración es el docente, en el cual le permite actualizar sus datos personales, a la vez le permite ver y cargar archivos, también le permite ver sus horarios de clases, tal como lo muestra la siguiente imagen. Figura 61Administración de docente Para descargar o ver los diferentes archivos se debe presionar en el botón y se despliega la siguiente pantalla, en la cual puede descargar con eliminar archivos. Figura 62 Descargar o eliminar archivos. Para ver los horarios designados se debe presionar en el botón Y se despliega la siguiente pantalla. Figura 63 Vedificación de horarios. 142 , 1.5.2 Ingreso como rol docente menú registro 1.5.2.1 Submenú notas. En este submenú se encuentra el registro de notas, en el cual el encargado de ingresarlas notas es el docente tal como lo muestra la siguiente imagen Figura 64Ingreso de notas Para ingresar las notas de los estudiantes se debe llenar los siguientes combos: materia, curso y quimestre, y por finalizar damos en invar notas y las notas y las notas se enviaran a los respectivos estudiantes y representantes. Así como se muestra en la siguiente imagen. Figura 65 Envió de notas 1.5.3 Ingreso como rol docente menú resorte 1.5.3.1 Submenú docente En este submenú se encuentra la opción generar reporte, en el cual el encargado de ingresarlas notas es el docente tal como lo muestra la siguiente imagen 143 Figura 66 Buscar docente Se pueden generales reportes del docente de acuerdo a los siguientes filtros de búsqueda, filtros de búsqueda: cedula, nombre, apellido y estado, para general el reporte presionamos el botón generar reporte. Figura 67 Generar reporte 1.5.4 Ingreso como rol docente menú notificación 1.5.4.1 Submenú informativo 144 En el submenú informativo nos permite enviar botellines informativos a todos los usuarios del sistema, solo se enviaran a los que marquen el ítem , así como se muestra la siguiente imagen. Figura 68 Submenú informativo 1.6. Ingreso al sistema estudiante Una vez ingresada de manera correcta al sistema, se habilitan todas las opciones del sistema tal como se muestra en la figura: Figura 69 Pantalla ingreso al sistema estudiante 1.6.1. Ingreso como rol estudiante menú administración. 1.6.1.1. Submenú estudiante En este submenú se encuentra el administrador estudiante, en el cual el estudiante puede revisar sus notas, así como lo muestra la siguiente imagen. 145 Figura 70 Administración del estudiante Una vez ingresado al submenú estudiante, el sistema debe permitir ingresar los datos personales del estudiante en donde se ingresa nombre, apellidos, cedula, fecha de nacimiento, titulo, e-mail, genero, estado civil, teléfono, celular, dirección, fecha de ingreso, rol, estado y por finalizar hacer clic en el botón actualizar, posterior mente presionar el botón verificar horario y se despliega la siguiente pantalla Figura 71 Verificación de horarios 1.6.2. Ingreso como rol estudiante menú reporte. 1.6.2.1. Submenú record estudiantil 146 En este submenú se encuentra la opción record estudiantil, en el cual el encargado es el estudiante tal como lo muestra la siguiente imagen. Figura 72 Reporte general de notas Una vez ya ingresado al submenú es estudiante puede verificar las notas anuales, para ver necesita presionar el botón informe anual. Figura 73 Verificación de notas 1.6.3. Ingreso como rol estudiante menú notificación. 1.6.3.1. Submenú informativo En el submenú informativo nos permite enviar botellines informativos a todos los usuarios del sistema, solo se enviaran a los que marquen el ítem muestra la siguiente imagen. 147 , así como se Figura 74 Pantalla informativa 1.7. Ingreso al sistema representante. Una vez ingresada de manera correcta al sistema, se habilitan todas las opciones del sistema tal como se muestra en la figura: Figura 75 Pantalla inicio al sistema representante 1.7.1. Ingreso como rol representante menú administración. 1.7.1.1. Submenú representante 148 En este submenú se encuentra el administrador representante, en el cual el representante debe actualizar sus datos personales, una vez ya actualizados debe presionar en el botón actualizar, tal como lo muestra la siguiente imagen. Figura 76Administración de representante 1.7.2. Ingreso como rol representante menú reporte 1.7.2.1. Submenú record estudiantil En este submenú se encuentra el administrador representante, en el cual el representante puede ver las notas del estudiante tal como lo muestra la siguiente imagen. Figura 77 Verificación de notas por el representante 1.7.3. Ingreso como rol representante menú notificación 1.7.3.1. Submenú informativo 149 En el submenú informativo nos permite enviar botellines informativos a todos los usuarios del sistema, solo se enviaran a los que marquen el ítem muestra la siguiente imagen. Figura 78 Submenú informativo 150 , así como se B. Manual de Instalación UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA. CARRERA DE INGENIERÍA INFORMÁTICA AUTOMATIZACIÓN DEL PROCESO DE REGISTRO DE NOTAS Y DISCIPLINA EN EL COLEGIO DE BACHILLERATO TABACUNDO MANUAL DE INSTALACIÓN DE SOFTWARE AUTOR: Oscar Fernando Morocho Guachalá TUTOR: Ing. Alicia Lorena Andrade Bazurto QUITO - ECUADOR 2015 151 1 Generalidades 1.1 Introducción Este documento es una guía para el personal encargado de dar soporte al Sistema: “AUTOMATIZACIÓN DEL PROCESO DE REGISTRO DE NOTAS Y DISCIPLINA EN EL COLEGIO DE BACHILLERATO TABACUNDO”, el cual describe los requerimientos de hardware, herramientas utilizadas. El aplicativo está desarrollado, utilizando la arquitectura JEE6, que implementa el patrón de diseño MVC (Modelo-Vista-Controlador), que se basa en separar la fuente de datos, de la interacción del usuario con la aplicación. El presente manual va dirigido a personas con conocimientos técnicos en el área de informática. 1.1 Objetivo Guiar al usuario técnico en la instalación de las herramientas usadas para el desarrollo e implementación del sistema informático “Automatización Del Proceso De Registro De Notas y Disciplina En El Colegio De Bachillerato Tabacundo”. 2 Requerimientos Técnicos Para proceder a la instalación de las herramientas, se debe cumplir con una serie de requisitos, los cuales permitirán que la instalación concluya con éxito sin ningún contratiempo. 152 2.1 Requerimientos de Software SOFTWARE UTILIZADO Sistema Operativo Windows 7 Ultimate 32 bits o superior Máquina virtual de Java (JVM) JDK (jdk-7u67-windows-i586) Entorno de Desarrollo Integrado (IDE) Eclipse Juno 32 bit Motor de Base de Datos PostgresSQL 9.3.5 Servidor de Aplicaciones JBoss 7.1.1 Diseñador de Reportes IReport 5.6.0 Browser o Navegador Mozilla Firefox 32.0 o superior (Recomendado). 2.2 Requerimientos de Hardware REQUERIMIENTO DE HARDWARE REQUISITO Procesador CARACTERISTICAS CARACTERISTICAS MINIMAS RECOMENDADAS Computador con Computador con procesador core 2 Duo o procesador Intel Core i5, Superior Core i7 153 Memoria RAM 2 GB 4 GB Espacioen Disco 20 GB 300 GB Video 1024 x 728 1024 x 728 Lector de CD/DVD. Puertos USB 3 Instalación del software 3.1 Instalación JDK Para la instalación del JDK nos dirigimos al CD y buscamos el directorio “ProgramasInstaladores\Software 32 bits” dentro de este directorio encontraremos el ejecutable de nombre: jdk-7u67-windows-i586.exe como se muestra en la Figura 1. Figura 79 Instalador JDK 32 bits Dar doble clic sobre el instalador para iniciar con el asistente de instalación del JDK. Tenemos que seguir los pasos que nos indique. En el caso que necesitemos permisos sobre el control de la cuenta de usuario nos indicará la siguiente pantalla. 154 Figura 80 Control de Permisos para instalar el JDK Dar en clic en si para continuar con la instalación y nos mostrará la pantalla de bienvenida de la instalación de JDK. Figura 81 Pantalla de Bienvenida Instalador JDK. Luego de presionar clic en “Next o Siguiente” deberemos escoger la ruta de instalación para el JDK, para este caso se debe dejar la ruta marcada por defecto por el instalador. 155 Figura 82 Ruta de Instalación de JDK Presionar el botón “Next o Siguiente” para continuar con la instalación, esperamos unos minutos mientras se ejecuta la instalación de JDK. Finalizada la barra de progreso, automáticamente nos mostrará el asistente de instalación de JRE debiendo indicar el PATH de instalación del mismo. Dejar la configuración que nos muestre por defecto el instalador y presionar clic en “Next o Siguiente”. Figura 83 Ruta (Path) de Instalación de JRE. Se tendrá un progreso de instalación para el JRE que no toma mucho tiempo, finalizado esto ya estará lista la instalación tanto de JDK como de JRE. Deberemos dar clic en “Close” o cerrar para dar por terminada la instalación. 156 Figura 84 Fin instalación JDK y JRE. CONFIGURACION DE LA VARIABLE DE ENTORNO JAVA_HOME Acceder a “Equipo”. Una forma rápida de acceso es presionar las teclas WINDOWS + E simultáneamente. En esta pantalla presionaremos clic derecho y en el menú desplegable que nos muestre daremos clic en “Propiedades”. Figura 85 Acceso a propiedades de Mi Equipo En la ventana que se presente nos ubicaremos en el lado izquierdo de la pantalla el menú “Configuración Avanzada del Sistema” accedemos al mencionado menú dando un clic. 157 Figura 86 Configuración avanzada del Sistema Se abre la siguiente pantalla en la cual se debe ubicar en la pestaña “Opciones avanzadas” y se debe ubicar en el botón “Variables de Entorno” en la parte inferior derecha de la pantalla desplegable mostrada y accedemos a la misma. Figura 87 Pantalla de Propiedades del Sistema Ya en la pantalla variable de entorno nos ubicamos en la sección Variables de Sistema y creamos una nueva variable. 158 Figura 88 Pantalla de variables de entorno En nombre de variable colocamos JAVA_HOME y en valor de la variable colocamos la ruta de instalación de JDK por defecto será C:\Program Files\Java\jdk1.7.0_67\jre y clic en aceptar en todas las pantallas desplegables que se hayan abierto para guardar los cambios ejecutados en las variables del sistema. Figura 89 Creación variable de entorno JAVA_HOME Para verificar la correcta instalación abriremos una nueva consola de comandos CMD. Para abrir de forma rápida presionar las teclas WINDOWS + R simultáneamente. Nos 159 mostrará la ventana EJECUTAR COMANDOS del sistema Windows y escribiremos el comando “cmd” en minúsculas seguido de esto daremos clic en aceptar. Figura 90 Ventana ejecutar comamdos de Windows Para comprobar que java y su variable de entorno está instalada exitosamente digitamos el comando “java -version” en la línea de comandos que tenemos desplegada. El resultado debe ser algo parecido a la siguiente figura. Figura 91 Verificación instalación de Java Con esto se ha finalizado la correcta instalación del JDK y JRE y se puede decir que JAVA se instaló exitosamente en nuestro sistema operativo. 3.2 Instalación PostgreSQL 9.3.5 160 Para la instalación del PostgreSQL 9.3.5 nos dirigimos al CD y buscamos el directorio “Programas-Instaladores\Software 32 bits” dentro de este directorio encontraremos el ejecutable de nombre: postgresql-9.3.5-1-windows.exe como se muestra en la Figura. Figura 92 Instalador PostgresSQL 9.3.5 32 bits Dar doble clic sobre el instalador para iniciar con el asistente de instalación del PostgreSQL 9.3.5 Tenemos que seguir los pasos que nos indique. En el caso que necesitemos permisos sobre el control de la cuenta de usuario nos indicará la siguiente pantalla. Figura 93 Control de Permisos Dar en clic en si para continuar con la instalación y nos mostrará la pantalla de bienvenida de la instalación del PostgreSQL 9.3.5. 161 Figura 94 Bienvenida instalador Postgre SQL 9.3.5 Hacemos clic en siguiente y se nos muestra la siguiente pantalla. Aquí definimos el lugar el directorio donde será instalado el Sistema Gestor de Base De DatosPostgreSQL 9.3.5, para nuestro caso dejamos la opción por defecto. Figura 95 Directorio de instalación PostgreSQL 9.3.5 162 Hacemos clic en siguiente y se nos presentara la siguiente pantalla, en esta parte definimos el directorio donde se almacenara base de datos, para nuestro caso dejamos la opción por defecto. Es recomendable que en ambos casos no modifiquemos los directorios para facilidad de configuraciones futuras. Figura 96 Directorio de datos para PostgreSQL 9.2 Ingresamos la clave “postgres2015”, para el super usuario de la base de datos, dar clic en siguiente. Figura 97 Ingreso de clave para súper usuario de base de datos 163 En la configuración del puerto dejamos la que viene por defecto, es decir el puerto 5432. Clic en siguiente. Figura 98 Configuración del puerto específico de base de datos Las opciones avanzadas dejamos la configuración avanzada por defecto es decir Configuracion Regional por defecto “DEFAULT LOCALE” presionamos clic en “siguiente” y nos indicará que estamos listos para iniciar la instalación en una última pantalla, de igual forma damos clic en siguiente. 164 Figura 99 Opciones avanzadas de instalación de PostgreSQL Figura 100 Pantalla Listo para instalar PostgreSQL 9.3.5 Esperaremos unos minutos mientras se ejecuta la instalación de PostgreSQL 9.3.5. 165 Figura 101 Progreso de instalación del PostgreSQL 9.3.5 Al finalizar el progreso nos indicará una nueva pantalla que la instalación ha finalizado exitosamente. Luego nos preguntará si deseamos instalar el StackBuilder de PostgreSQL dejaremos el check desmarcado y dar clic en “terminar”. Figura 102 Finalización de instalación PostgreSQL 3.2.1 Creación de un rol super usuario Para crear un rol super usuario “sirendi” que es el que será el dueño de la base de datos que crearemos posteriormente nos dirigimos a Inicio, Todos Los programas, PostgresSQL 9.3.5 y damos clic en el programa pgAdmin III como muestra en la pantalla. 166 Figura 103 Accediendo a pgAdmin III En el lado izquierdo de la pantalla del programa nos mostrará los servidores de base de datos disponibles. Daremos doble clic en el Servidor por defecto que nos muestre y nos pedirá nuestra clave de acceso digitaremos la clave de súper usuario ingresada en la instalación que es “postgres2015” y daremos clic en aceptar. 167 Figura 104 Ingreso de clave en Servidor de base de datos PostgreSQL 9.3.5 Si ingresamos correctamente la contraseña estamos listos para crear el rol. Rol supe usuario Para la creación nos debemos ubicar sobre el icono “Login Roles” como muestra en la pantalla y clic en “New Login Role”. Figura 105 Creación de rol En la pantalla que se presenta muestra la pestaña “Properties” en donde debemos ingresar el nombre del rol con el cual queremos que se cree en este caso es: sirendi 168 Figura 106 Ingreso del nombre del rol Para definir la contraseña del rol que estamos creando nos ubicamos en la pestaña “Definition” e ingresa la nueva contraseña la cual es sirendi2015 como se puede ver en la pantalla. Figura 107 Nueva contraseña para de rol sirendi Para definir los permisos que debe tener este rol nos ubicamos en la pestaña “Role Privileges” y marcamos todos los creck como se muestra en la pantalla y para finalizar la creación del nuevo rol damos clic en el botón OK. 169 Figura 108 Asignación de privilegios a rol sirendi 3.2.2 Creación de Base de datos sirendi Para la creación de la base de datos “sirendi” nos debemos ubicar sobre el icono “Database” como muestra en la pantalla y clic en “New DataBase”. Figura 109 Creación de nueva base de datos 170 Ingresamos el nombre de nuestra base de datos “sirendi” y escogemos como propietario al súper usuario “sirendi” que creamos anteriormente. Clic en ok para finalizar la creación. Figura 110 Credenciales de base de datos sirendi Creada la base de datos debemos acceder a ella, para esto damos doble clic en “Databases” y seguido de esto doble clic en la nueva base de datos creada “sirendi”. Figura 111 Confirmación de base de datos sirendi creada 171 3.2.3 Restauración de Base de Datos sirendi Una vez creado la base de datos el siguiente paso es cargas nuestra base de datos con los datos iniciales para efectos del caso lo cargamos a partir de un Bachup ubicado en la carpeta “Base-Datos” que está dentro del CD con el nombre “sirendi.backup” de la siguiente manera: En la base de datos “sirendi” realizamos clic derecho y seleccionamos “Restore…”. Figura 112 Opcion para restaurar la base de datos Ahora seleccionamos el archivo de nuestra base de datos con los parámetros de carga siguientes: o File Option Format: Custom or tar Rolename: sirendi o Restore Options #1 Pre-data (seleccionado) Data(seleccionado) 172 Post-data(seleccionado) Las opciones restantes dejamos el valor por defecto y presionamos el control “Restore”, finalizada la carga presionamos el control “Done”. Es importante indicar que esta base de datos contendrá: Perfiles y Roles creado. Usuarios del Sistema. Datos iniciales del sistema. A continuación se muestra la configuración bajo las cuales se debe cargar la base de datos: Figura 113 Directorio donde está la base sirendi .backup 173 Figura 114 Elección de secciones para restaurar Si la restauración de la base de datos fue todo un éxito se debe tener el siguiente mensaje y luego dar clic en “Done” para finalizar. Figura 115 Restauración de la base de datos sirendi backup con éxito 3.3 Instalación del Servidor Jboss 174 Nos dirigimos al CD y ubicamos en la carpeta “Programas-Instaladores” y ejecutamos el archivo “jboss-as-7.1.1.Final.exe” se nos presentara la siguiente pantalla: Figura 116 Instalador de jboss-as-7.1.1.Final En “Carpeta de destino” especificamos el lugar donde va estar situado nuestro servidor de aplicaciones para nuestro caso lo haremos en el siguiente directorio {Directorio del servidor de aplicaciones}=C: \Java\Servidor\ damos clic en “Instalar” e inicia el proceso de descompresión de nuestro servidor. Figura 117 Descompresión de jboss-as-7.1.1.Final 175 Una vez realizado esto podremos observar la siguiente carpeta jboss-as-7.1.1.Final en el siguiente directorio; C:\Java\Servidor Figura 118 Directorio de descompresión de jboss-as-7.1.1.Final Ahora agregaremos el conector de postgresql al servidor jboss-as-7.1.1.Final, para lo cual nos ubicamos en el CD y en la carpeta “Codigo-Fuente” copiar el siguiente .jar “postgresql-9.3-1102.jdbc4.jar” y lo pegamos respectivamente al directorio siguiente {Directorio del servidor de aplicaciones}=\jboss-as-7.1.1.Final\standalone\deployments, como se puede ver en la pantalla. Figura 119 Conector postgresql-9.3 en el directorio de jboos para deployar 3.3.1 Creación del usuario de administración de JBoss 7.1.1 176 Creamos un usuario para la consola de administración. Para ello ejecutamos el script C:\Java\Servidor\jboss-as-7.1.1.Final\bin\add-user.bat, como se ve en la siguiente pantalla. Figura 120 Creación del usuario de administración de Jboss 7.1.1 Ahora se nos muestra la consola donde crearemos el usuario administrador del jboss 7.1.1 para lo cual ingresaremos la siguiente información, Tipo de usuario: <a> Management user, Realm: La dejamos por defecto y dar enter, Username: dminjboss, Password: admin2015, luego escribir yes para aceptar, como se uestra en la imagen y con eso ya tenemos creado el usuario administrador de jboss 7.1.1 177 Figura 121 Información del usuario administrador de jboss 7.1.1 Consola de Administración Ahora accedemos al directorio local “C:\Java\Servidor\jboss-as-7.1.1.Final\bin” y dentro de este directorio ubicamos el archivo standalone.bat. Lo ejecutamos haciendo doble clic sobre el mismo. Comprobamos la consola de administración. Abrimos el navegador y escribimos la siguiente dirección: http://localhost:9990. Ingresamos las credenciales del usuario que acabamos de crear: Username: adminjboss, Password: admin2015, si ingresamos correctamente veremos la siguiente pantalla. 178 Figura 122 Creación del Datasource Para crear el datasource nos ubicamos en Profile y damos clic, luego nos mostrara en el lado izquierdo la opción de Connector y elegimos Datasources para luego dar clic en el botón Add, como se muestra en la pantalla. Figura 123 Añadir un nuevo datasource 179 Ahora se presenta la siguiente pantalla en la cual debemos ingresar la siguiente información como se muestra en la pantalla y damos “Next” Figura 124 Creación del datasource Luego se presentan la siguiente pantalla en la cual debemos elegir el driver de conexión a la base de datos postgresql-9.3 y dar clic en “next”. Figura 125 Elegir driver de conexión 180 Para continuar se procede a ingresar la siguiente información como se muestra en la pantalla (jdbc:postgresql://localhost:5432/sirendi) en donde el Username: sirendi y el Password: sirendi2015. Figura 126 Ingreso del usuario de la base de datos Para habilitar el JTA nos ubicamos en la pestaña Connection y le damos clic en el botón “Edit”. 181 Figura 127 Editar la conexión de datasource Ahora marcamos la opción del check en JTA y damos clic en el botón sabe. Figura 128 Habilitar JTA 182 Ahora se procede a habilitar el datasource dando clic en el botón “Enable” y probar la conexión a la base de datos. Figura 129 Probar la conexión a la base de datos Finalmente para probar la correcta configuración y probar la conexión a la base de datos damos clic en el botón “Test Connection” Figura 130 Test connection Si todo fue correcto se presentara la siguiente pantalla con la confirmación de éxito. 183 Figura 131 Éxito en test connection 3.4 Instalación Eclipse Juno Para la instalación del Eclipse Juno SR2 nos dirigimos al CD y buscamos el directorio “Programas-Instaladores” dentro de este directorio encontraremos el ejecutable de nombre: Eclipse-Juno-SR2-win32.exe., le damos doble clic para que inicie el proceso de instalación como se puede ver en la pantalla Figura 132 Instalador eclipse juno Eclipse-Juno-SR2-win32.exe 184 En “Carpeta de destino” especificamos el lugar donde va estar situado nuestro IDE de desarrollo Eclipse Juno para nuestro caso lo haremos en el siguiente directorio {Directorio del IDE}=C:\ damos clic en “Instalar” e inicia el proceso de descompresión de nuestro Eclipse Juno. En el caso que nos pida permisos del control de cuentas de usuarios le damos clic en SI, para continúan con la instalación. Figura 133 Control de Permisos para instalar el Eclipse Juno Pantalla que muestra mientas se descomprime el eclipse Juno, esto puede dudar unos minutos. 185 Figura 134 Descompresión del Eclipse Juno Una vez realizado esto podremos observar la siguiente carpeta Eclipse-Juno-SR2win32 en el siguiente directorio; C:\ Figura 135 Directorio donde está el Eclipse Juno Nos ubicamos en el directorio donde se extrajo nuestro IDE y en la carpeta “EclipseJuno-SR2-win32” se podrá visualizar el siguiente archivo “eclipse.exe” 186 Figura 136 Ubicación eclipse.exe Hacemos doble clic sobre el archivo indicado y se nos mostrará la siguiente ventana: Figura 137 Cargando Eclipse Juno 187 Figura 138 Directorio de Trabajo La sección marcada en rojo especifica el directorio donde se ubicara el espacio de trabajo, si deseamos cambiarlo podemos realizarlo haciendo clic en el control “Browse…” para nuestro caso escribiremos esa la dirección que se muestra en el cuadro en rojo y presionamos el control “OK” una vez cargado nuestro IDE podremos visualizar la siguiente ventana. 188 Figura 139 Pantalla de presentación de eclipse Ahora procedemos a cargar el código fuente del proyecto, nos ubicamos ahora en el CD y en el directorio “Codigo-Fuente” y ejecutamos el archivo “workspaceSirendi.exe”. Figura 140 Archivo de código fuente sirendi Al dar doble clic se ejecutará el instalador y se presentara la siguiente pantalla. 189 Figura 141 Instalar workespace del proyecto sirendi En “Carpeta de destino” especificamos el lugar donde va estar situado nuestro espacio de trabajo para nuestro caso lo haremos en el siguiente directorio {Directorio del Workspace}=C: \Workspace\WorkspaceSirendi damos clic en “Instalar” e inicia el proceso de descompresión de nuestro código fuente. Figura 142 Descompresión del WorkspaceSirendi. 4 ANEXOS 190 4.1 Respaldos Base de datos Aquí se muestra con respaldar una base de datos con el objetivo de mantener nuestra información respaldada en otros lugares y no solo depender de la base de datos. Para obtener el respaldo deberemos acceder al programa pgAdmin III y conectarnos con nuestras credenciales (postgres2015) a la base. Figura 143 Pantalla de ingreso a la base de datos Una vez conectado sobre la base de datos rirendi daremos clic derecho y escogeremos la opción Backup. 191 Figura 144 Opción Backup base de datos sirendi La extensión de nuestros archivos puede ser del tipo dmp,sql o backup con minúsculas. Escogeremos la ruta donde deseamos guardar y el nombre del archivo. El tipo de formato Plain (Plano) y clic en el botón BACKUP. Algo parecido a la siguiente figura. Figura 145 Archivo y formato Backup base de datos sirendi Dependiendo de la capacidad de procesamiento de la máquina sobre la cual está instalado el servidor de base de datos, este procedimiento puede tomar algunos minutos. 192 Cuando este proceso haya finalizado tendremos un mensaje de retorno 0. Esto ya nos indica que el backup fue exitoso. Daremos clic en el botón Done (Listo). Figura 146 Backup realizado exitosamente. 193 C. Manual Técnico UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA. CARRERA DE INFORMÁTICA MANUAL TÉCNICO AUTOMATIZACIÓN DEL PROCESO DE REGISTRO DE NOTAS Y DISCIPLINA EN EL COLEGIO DE BACHILLERATO TABACUNDO. AUTOR: Oscar Fernando Morocho Guachalá TUTOR: Ing. Alicia Lorena Andrade Bazurto QUITO - ECUADOR 2015 194 1 Generalidades 1.1 Introducción Este documento es una guía para el personal encargado de dar soporte al Sistema: “AUTOMATIZACIÓN DEL PROCESO DE REGISTRO DE NOTAS Y DISCIPLINA EN EL COLEGIO DE BACHILLERATO TABACUNDO”, el cual describe los requerimientos de hardware, herramientas utilizadas y la estructura de todo el proyecto. El aplicativo está desarrollado, utilizando la arquitectura JEE6, que implementa el patrón de diseño MVC (Modelo-Vista-Controlador), que se basa en separar la fuente de datos, de la interacción del usuario con la aplicación. El presente manual va dirigido a personas con conocimientos técnicos en el área de informática. 1.2 Objetivo Guiar al usuario técnico en la instalación de las herramientas usadas para el desarrollo e implementación del sistema informático “Automatización Del Proceso De Registro De Notas y Disciplina En El Colegio De Bachillerato Tabacundo”. 1.3 Simbología La simbología utilizada en este documento técnico es la siguiente: Working set: Icono que representa el espacio de trabajo java, utilizado para el código fuente del aplicativo. Proyecto EAR: Ícono que representa el proyecto ear del aplicativo. Módulo EJB: Ícono que representa el módulo EJB del aplicativo. Módulo JPA: Ícono que representa el módulo JPA del aplicativo. 195 Módulo WEB: Ícono que representa el módulo WEB del aplicativo. Proyecto JAVA: Ícono que representa el proyecto java que contiene el módulo EJB del aplicativo. Proyecto JAVA WEB: Ícono que representa el proyecto java web que contiene el módulo web del aplicativo. Archivo de PERSISTENCIA: Ícono que representa el archivo .xml que contiene la configuración del acceso a la fuente de datos. Paquete: Ícono que representa los paquetes en los cuáles se organizan cada uno de los archivos fuentes, de acuerdo a la función para lo cual son utilizados. Clase Java: Ícono que representa una clase java que contiene el código fuente específico para alguna funcionalidad del aplicativo. Archivo properties: Ícono que representa un archivo de propiedades, en el cual se configuran los distintos parámetros que necesita el aplicativo para su funcionamiento. Librerías: Ícono que representa las librerías necesarias para ejecutar el proyecto. Carpeta: Ícono que representa las carpetas ubicadas dentro de la aplicación, las mismas que contienen estructuras de archivos. Archivo CSS: Ícono que representa la hoja de estilos utilizada para el diseño de la interfaz del aplicativo. 196 Archivo JS: Ícono que representa los archivos java script utilizados para hacer dinámica la interfaz del aplicativo. Archivo xhtml: Ícono que representa los archivos jsf, que contienen el código necesario para el desarrollo de la interfaz del aplicativo. Archivo xml: Ícono que representa el archivo xml, utilizado para configuraciones de seguridad y mapeo de datos. Archivo xml: Ícono que representa los archivos xml, utilizados para la configuración del contexto del aplicativo, y la declaración de los backingBeans y navegabilidad de la aplicación. 1.4 Nomenclatura La nomenclatura utilizada en este aplicativo sigue las convenciones de escritura (codificación) del lenguaje java, que se detalla a continuación: Paquetes: El nombre de los paquetes se escribe en letras minúsculas. Clases: La primera letra del nombre debe ser mayúscula, si son varias palabras se debe intercalar entre mayúsculas y minúsculas. Método: los nombres deben tener letras minúsculas, si son varias palabras la primera letra de cada palabra debe ser mayúscula. Variables: Se emplea la primera letra minúscula, y letras mayúsculas para separar el resto de las palabras que contenga el nombre de la variable. Constantes: Se usa letras mayúsculas para definir todo el nombre de las constantes y si el mismo está conformado por varias palabras se las separa con el guión inferior. 2 Estructura Código Fuente 2.1 Estructura de la Aplicación 197 2.2 Descripción de los módulos El aplicativo contiene los siguientes módulos: sirendiEAR : Enterprise Archives (EAR) sirendiEJB: Enterprise Java Bean (EJB) sirendiJPA: Java Persistence API sirendiWEB: Web. 2.2.1 Módulo sirendiEAR EAR (Enterprise Archive) es un formato de archivo que permite encapsular uno o más módulos en un solo archivo para que el despliegue los diferentes módulos, en un servidor de aplicaciones y lo realice de forma ordenada y coherente. Los módulos que 198 componen el archivo EAR se los configura en el archivo .project. Contiene archivos XML llamados descriptores de depliegue que describen cómo realizar dicha operación. 2.2.2 Módulo sirendiEJB Este proyecto EJB (Enterprise Java Beans), nos va a permitir centrarnos en el desarrollo de la lógica de negocio de este mencionado sistema que está basado en componentes que nos va a permitir que la programación se flexibles y reutilizable. Los Ejb serán del tipo Stateless (sin estado). Con esta tecnología es posible desarrollar aplicaciones empresariales sin tener que crear de nuevo los servicios de transacción, seguridad, persistencia, concurrencia y lo que se pueda necesitar en el proceso de creación de una aplicación; permitiendo a los desarrolladores enfocarse en la implementación de la lógica de negocio. 199 2.2.3 Módulo sirendiJPA Es una capa de persistencia que nos va a permitir mapear nuestra base de datos la cual es utilizada por nuestro sistema, la cual es mapeada por JPA. Java Persistence API (JPA) proporciona un modelo de persistencia basado en POJO's para mapear bases de datos relacionales en Java. La persistencia de Java fue desarrollada por expertos de EJB 3.0 como parte de JSR 220, aunque su uso no se limita a los componentes software EJB. Se puede utilizar en aplicaciones web y aplicaciones clientes. JPA que es una abstracción que está por encima de JDBC lo que permite ser independiente de SQL. Todas las clases y anotaciones de esta API se encuentran en el paquete javax.persistence 200 2.2.4 Módulo sirendiWEB Este es un proyecto web, el cual permite controlar los eventos realizados por el cliente en la interfaz de la aplicación, de igual manera es el encargado de gestionar las respuestas de los servicios ubicados en el módulo sirendiEJB. Contiene los siguientes directorios: Java Resources. Carpeta que contiene las clases java, correspondientes a los controladores de la capa web de la arquitectura JEE. WebContent. 201 Esta carpeta contiene las páginas XHTML utilizando JSF 2.0, además utilizamos Primefaces 5.0 que es una biblioteca de componentes web. Dentro de la estructura que diseño web tenemos: css: Definición de estilos usados en las plantillas de las pagina xhtml. images: Imágenes utilizadas para el diseño de los componentes web agrupados por su lugar de utilización. js: Código JavaScript que genera las ventanas emergentes. pages: páginas xhtml agrupadas por tipos de usuario que las utilizan. 3 Despliegue de la aplicación. Para el despliegue de la aplicacion nos dirigimos al CD y buscamos el directorio “Codigo-Compilado” dentro de este directorio encontraremos el ejecutable de nombre: sirendiEAR.ear copiamos este archivo. En nuestro servidor local accedemos al directorio “C:\Java\Servidor\jboss-as7.1.1.Final\standalone\deployments” y dentro de este directorio pegamos el archivo copiado en el paso anterior. El directorio ahora deberá quedar de la siguiente manera. 202 Ahora accedemos al directorio local “C:\Java\Servidor\jboss-as-7.1.1.Final\bin” y dentro de este directorio ubicamos el archivo standalone.bat. Lo ejecutamos haciendo doble clic sobre el mismo. Esperaremos a que el servidor termine de levantarse. Una vez terminado este proceso tendremos una pantalla como la siguiente. Finalmente para comprobar que el sistema deployo correctamente abriremos un navegador de internet, de preferencia Mozilla Firefox. Digitamos la URL “http:// 203 localhost:8080/sirendiWEB/” Si todo estuvo correcto tendremos la pantalla de login del sistema. Accederemos con la cedula “1720882115” y para contraseña “admin”. Esto nos indicará que el proceso se completó con éxito. 204
© Copyright 2025 ExpyDoc