PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO
Dirección Académica - Escuela de Sistemas
DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA WEB, UTILIZANDO HERRAMIENTAS OPEN SOURCE PARA EL CONTROL ACADÉMICO DE LA ESCUELA DE CONDUCCIÓN DEL INSTITUTO TECNOLÓGICO SUPERIOR LOS ANDES DE SANTO DOMINGO; PERIODO 2016 – 2017
Trabajo de Titulación previo a la obtención del título de Ingeniero de Sistemas y Computación
Línea de Investigación: Estudio, Diseño e Implementación de Software.
Autor: STEEVEN XAVIER ERAS CHANCAY CÉSAR ISAAC FREIRE CALDERÓN Director: MG. LUIS JAVIER ULLOA MENESES
Santo Domingo – Ecuador Agosto, 2017
ii
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO
Dirección Académica - Escuela de Sistemas
HOJA DE APROBACIÓN
DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA WEB, UTILIZANDO HERRAMIENTAS OPEN SOURCE PARA EL CONTROL ACADÉMICO DE LA ESCUELA DE CONDUCCIÓN DEL INSTITUTO TECNOLÓGICO SUPERIOR LOS ANDES DE SANTO DOMINGO; PERIODO 2016 – 2017 Línea de Investigación: Estudio, Diseño e Implementación de Software.
Autores: STEEVEN XAVIER ERAS CHANCAY CÉSAR ISAAC FREIRE CALDERÓN
Luis Javier Ulloa Meneses, Mg.
f.
DIRECTOR DEL TRABAJO DE TITULACIÓN
William Javier Ocampo Pazos, Mg.
f.
CALIFICADOR
Diego Ricardo Salazar Armijos, Mg.
f.
CALIFICADOR
Margot Elisa Guaraca Moyota, Mg.
f.
DIRECTORA DE LA ESCUELA DE SISTEMAS Santo Domingo – Ecuador Agosto, 2017
iii
DECLARACIÓN DE AUTENTICIDAD Y RESPONSABILIDAD
Yo, Steeven Xavier Eras Chancay portador de la cédula de ciudadanía N. º 1722351416. Declaro que los resultados obtenidos en la investigación que presento como informe final, previo a la obtención del Grado de Ingeniero en sistemas son absolutamente originales, auténticos y personales. En tal virtud, declaro que el contenido, las conclusiones y los efectos legales y académicos que se desprenden del trabajo propuesto de investigación y luego de la redacción de este documento son y serán de mi sola y exclusiva responsabilidad legar y académica.
STEEVEN ERAS CI 1722351416
iv
DECLARACIÓN DE AUTENTICIDAD Y RESPONSABILIDAD
Yo, César Isaac Freire Calderón portador de la cédula de ciudadanía N. º 1718358011. Declaro que los resultados obtenidos en la investigación que presento como informe final, previo a la obtención del Grado de Ingeniero en sistemas son absolutamente originales, auténticos y personales. En tal virtud, declaro que el contenido, las conclusiones y los efectos legales y académicos que se desprenden del trabajo propuesto de investigación y luego de la redacción de este documento son y serán de mi sola y exclusiva responsabilidad legar y académica.
CÉSAR FREIRE CI 1718358011
v
AGRADECIMIENTO
Agradezco a Dios y a mis padres por ser el mayor apoyo en mi vida universitaria, por día tras día darme la fortaleza para perseverar, por brindarme la oportunidad de culminar otro escalón importante en mi vida, y así luego de varios años de esfuerzo y preparación convertirme en profesional. A la Pontifica Universidad Católica Sede Santo Domingo por haber sido el centro de enseñanza y formarme con sentido ético y profesional. Finalmente, a todos los docentes que apoyaron en mi formación académica, compartiendo sus conocimientos con apertura, veracidad, rigurosidad y sentido crítico para desenvolverme en el de área de sistemas contribuyendo de esta manera al desarrollo de la provincia y el país. César Freire
Este proyecto es fruto de una vida de trabajo, por eso quiero agradecer a personas que directa o indirectamente me apoyaron en el proceso de mi vida estudiantil, agradezco a mis padres, mi principal inspiración, las personas responsables de mis creencias y mi forma de ser. A mi Alma Máter mi segundo hogar en estos últimos años, y fuente de mis conocimientos. Y para terminar a mis docentes, las personas encargadas de brindarme todas las armas necesarias, para en un futuro cercano convertirme en un gran profesional. Steeven Eras
vi
DEDICATORIA
Dedico este trabajo principalmente a Dios, por haberme dado la vida, acompañarme en este proceso académico y permitirme el haber llegado hasta este momento tan importante de mi formación profesional. De igual manera este trabajo va dedicado a mis padres por el apoyo y motivación constante a lo largo de este camino, ya que ha sido fundamental para el cumplimiento de mis objetivos y poder sobresalir de cada obstáculo presentado hasta al fin de este estudio. César Freire
Este trabajo va dedicado a mi familia, principalmente a mis padres Edwin y Deciy y a mis hermanos Jimmy Andrés y Belén, mi fuente de inspiración para solventar las distintas vicisitudes con las que me encontré durante este proceso de aprendizaje universitario. A mis abuelos y tíos, personas que con sus consejos me alentaron a seguir adelante. Finalmente, a los Nh4+1, ese grupo de amigos que con el tiempo se convirtieron en mis hermanos. Steeven Eras
vii
RESUMEN
Actualmente las personas viven en un mundo innovador y tecnológico, que a través de la inspiración y el conocimiento en los últimos años se ha logrado importantes avances en el campo de la informática; sobre todo en la optimización y automatización de diferentes problemas tanto en campos profesionales como en tareas cotidianas, la implementación de una solución tecnológica ayuda a realizar una tarea ahorrando tiempo y recursos. El presente proyecto de titulación muestra el desarrollo e implementación de un sistema web académico, mediante la utilización de herramientas open source, para el control académico de la Escuela de Conducción del Instituto Tecnológico Superior los Andes de Santo Domingo. Permitiéndole al instituto tener una herramienta que contribuya en la automatización de procesos académicos de la misma. Para el presente proyecto se utilizó la investigación cuantitativa que permitió la recolección de datos importantes sobre los procesos académicos y que con ayuda de una metodología de desarrollo de software ágil como es eXtreme Programming se logró desarrollar e implantar un software de calidad basado en herramientas open source, que beneficia al personal administrativo de la Escuela de Conducción del ITS “Los Andes”, ya que al fin cuentan con un sistema web académico que les permite realizar de manera automática y rápida los procesos académicos, para de esta manera sea una de las instituciones de vanguardia dentro de la región.
viii
ABSTRACT Today people live in an innovative and technological world, which through inspiration and knowledge in recent years has made significant progress in the field of computing, especially in the optimization and automation of different problems both in professional fields and in daily tasks, the implementation of a technological solution helps to perform a task saving time and resources. The present project of tittle degree shows the development and implementation of an academic web system, by means of the use of open source tools, for the academic control of the Driving School of the High Technological Institute of the Andes of Santo Domingo. Allowing the institute to have a tool that contributes in the automation of academic processes of the same. For the present project we used quantitative research that allowed the collection of important data about academic processes and with the help of an agile software development methodology such as eXtreme Programming we were able to develop and implement quality software based on open source tools, which benefits the administrative staff of the Driving School of the HTI "Los Andes", because they finally have an academic web system that allows them to automatically and quickly carry out the academic processes, in order to be one of the institutions of vanguard within the region.
ix
ÍNDICE CONTENIDOS
1.
INTRODUCCIÓN............................................................................................................ 1
2.
PLANTEAMIENTO DEL PROBLEMA ......................................................................... 3
2.1.
Antecedentes del ITS “Los Andes” .............................................................................................. 3
2.2.
Problema de investigación ............................................................................................................ 4
2.3.
Justificación de la investigación ................................................................................................... 5
2.4.
Objetivos de investigación ............................................................................................................ 7
3.
2.4.1.
Objetivo General ............................................................................................................. 7
2.4.2.
Objetivos específicos ...................................................................................................... 7
MARCO REFERENCIAL ............................................................................................... 8
3.1. Ley Orgánica de Trasporte Terrestre Tránsito y Seguridad Vial ..................................... 8 3.2. De las licencias de conducir ............................................................................................. 8 3.3. De las categorías y tipos de licencias ............................................................................... 9 3.4. Escuelas de capacitación profesional en Ecuador .......................................................................... 10 3.5.
De los Alumnos .......................................................................................................................... 10
3.6.
Gestión digital y académica ........................................................................................................ 11
3.7.
Plataformas para la educación .................................................................................................... 12
3.8.
IDENTIFICCIÓN DE LA INSTITUCIÓN ................................................................................ 13
3.9.
3.8.1.
Distributivo de las materias de la Escuela de Conducción, licencia tipo “C”. .............. 13
3.8.2.
Planificación académica del ITS LOS ANDES ............................................................ 13
3.8.3.
Requisitos para ingreso a la Escuela de Conducción .................................................... 14
Origen de Internet ....................................................................................................................... 14
3.10. Internet en la actualidad .............................................................................................................. 15
3.11. La Web 2.0 ..................................................................................................................... 15 3.12. La Web 3.0 ................................................................................................................................. 15 3.13. Tecnología de la información ..................................................................................................... 16 3.14. Aplicaciones Web ....................................................................................................................... 16 3.15. Servidores Web........................................................................................................................... 17 3.16. Ingeniería de software................................................................................................................. 17 3.17. Lenguajes de Programación ........................................................................................................ 17 3.18. Arquitectura cliente-servidor ...................................................................................................... 18 3.18.1.
Cliente ........................................................................................................................... 18
3.18.2.
Servidor ......................................................................................................................... 19
x 3.18.3.
Características de la arquitectura Cliente/Servidor ....................................................... 19
3.19. Arquitectura y Plataformas de desarrollo ................................................................................... 20 3.19.1.
Java EE (Enterprise Edition) ......................................................................................... 20
3.19.2.
AMP .............................................................................................................................. 20
3.19.3.
CGI/Perl ........................................................................................................................ 21
3.19.4.
ASP.Net ........................................................................................................................ 21
3.20. Lenguajes de desarrollo web ...................................................................................................... 21 3.20.1.
PHP ............................................................................................................................... 22
3.20.2.
Lenguaje JavaScript ...................................................................................................... 23
3.20.3.
Lenguaje ASP.NET ....................................................................................................... 23
3.20.4.
JSP................................................................................................................................. 23
3.20.5.
Python ........................................................................................................................... 24
3.20.6.
Tabla comparativa de los lenguajes de desarrollo......................................................... 24
3.21. Sistema Gestor de base de datos ................................................................................................. 25 3.21.1.
PostgreSQL ................................................................................................................... 25
3.21.2.
SQL Server.................................................................................................................... 26
3.21.3.
DB2 ............................................................................................................................... 26
3.21.4.
MySQL ......................................................................................................................... 27
3.21.5.
ORACLE....................................................................................................................... 27
3.22. Que es un framework .................................................................................................................. 28 3.22.1.
AngularJS ...................................................................................................................... 29
3.23. Metodologías de desarrollo de software ..................................................................................... 29 3.23.1.
Metodologías Ágiles ..................................................................................................... 31
3.23.2.
Manifiesto Ágil ............................................................................................................. 31
3.23.3.
eXtreme Programming (XP) ......................................................................................... 32
3.23.4.
Scrum ............................................................................................................................ 33
3.23.5.
Kanban .......................................................................................................................... 34
3.23.6.
Crystal Clear ................................................................................................................. 34
3.23.7.
Comparación y selección de metodologías ................................................................... 35
4.
METODOLOGÍA DE LA INVESTIGACIÓN .............................................................. 36
4.5.
Diseño / Tipo de investigación ................................................................................................... 36
4.6.
4.5.1.
Enfoque cuantitativo-deductivo .................................................................................... 36
4.5.2.
Investigación Exploratoria ............................................................................................ 36
4.5.3.
Investigación Descriptiva .............................................................................................. 36
Población / Universo................................................................................................................... 37
xi 4.7.
Muestra ....................................................................................................................................... 37
4.8.
Instrumentos de recogida de datos .............................................................................................. 38
4.9.
4.8.1.
Entrevista ...................................................................................................................... 38
4.8.2.
Encuestas....................................................................................................................... 38
Técnicas de Análisis de Datos .................................................................................................... 39
4.10. Metodología de desarrollo de software .......................................................................... 39 4.10.1 Metodología XP (Extreme Programming) .................................................................................. 39 4.10.1.1
Características de la metodología XP ....................................................................... 39
4.10.1.2
Fases de la metodología XP ...................................................................................... 40
4.10.1.3
Instrumentos usados en XP ....................................................................................... 41
4.10.1.4
El Proceso de desarrollo en XP ................................................................................. 43
5
RESULTADOS .............................................................................................................. 44
5.1
Análisis y Discusión de los resultados........................................................................................ 44 5.1.1
Tabulación de la Encuesta realizada al personal docente de ITS “LOS ANDES” .......... 44
5.1.2
Entrevista realizada a la vicerrectora del ITS “LOS ANDES” ..................................... 50
5.1.3 Entrevista realizada al experto en sistemas de la Escuela de Conducción del ITS “LOS ANDES”. ...................................................................................................................................... 51 5.1.4 5.2
Entrevista a la secretaria de la Escuela de Conducción del ITS “LOS ANDES”. ........ 52
Proceso XP ................................................................................................................................. 53 5.2.1.
Fase 1: Planificación del proyecto ................................................................................ 53
5.2.2
Fase 2: Diseño ............................................................................................................... 72
5.2.3
Fase 3: Codificación ..................................................................................................... 82
5.2.4
Fase 4: Pruebas.............................................................................................................. 92
5.3
Conclusiones ............................................................................................................................... 97
5.4
Límites y Recomendaciones ....................................................................................................... 98
5.5
Lista de Referencias .................................................................................................................... 99
GLOSARIO ........................................................................................................................................ 101 ANEXOS ............................................................................................................................................ 102
xii
ÍNDICE TABLAS
Tabla 1 Modelo Básico ............................................................................................................ 13 Tabla 2 Modelo especialidad ................................................................................................... 13 Tabla 3 Lenguajes de desarrollo .............................................................................................. 24 Tabla 4 Manejadores de BD .................................................................................................... 28 Tabla 5 Metodología de desarrollo .......................................................................................... 30 Tabla 6 Disponibilidad de cuenta de correo electrónico .......................................................... 44 Tabla 7 Automatización de procesos académicos ................................................................... 45 Tabla 8 Eficiencia de ingreso de notas y asistencia ................................................................. 46 Tabla 9 Implementación de sistema web académico ............................................................... 46 Tabla 10 Importancia de las TICs ............................................................................................ 47 Tabla 11 Nivel de tecnología del instituto ............................................................................... 48 Tabla 12 Mejora de rendimiento académico a través de las TICs ........................................... 49 Tabla 13 Conocimiento de la problemática por parte de las autoridades ................................ 50 Tabla 14 Requerimientos generales del sistema web académico ............................................ 51 Tabla 15 Conocimiento de los procesos académicos ............................................................... 52 Tabla 16 Calendario de trabajo ................................................................................................ 53 Tabla 17 Esfuerzo de trabajo ................................................................................................... 53 Tabla 18 Plantilla Historia de usuario ...................................................................................... 54 Tabla 19 Historia de usuario-crear usuarios ............................................................................ 55 Tabla 20 Historia de usuario-modificar usuarios ..................................................................... 55 Tabla 21 Historia de usuario-restablecer contraseña ............................................................... 56 Tabla 22 Historia de usuario-reporte usuarios ......................................................................... 57 Tabla 23 Historia de usuario-creación de periodo académico ................................................. 57 Tabla 24 Historia de usuario-modificación de periodo académico ......................................... 58 Tabla 25 Historia de usuario-registro de cursos ...................................................................... 59 Tabla 26 Historia de usuario-modificación de cursos.............................................................. 59 Tabla 27 Historia de usuario-registro de estudiantes ............................................................... 60 Tabla 28 Historia de usuario-modificación de estudiantes ...................................................... 60 Tabla 29 Historia de usuario-ingreso asignaturas .................................................................... 61 Tabla 30 Historia de usuario-modificación de asignaturas ...................................................... 61 Tabla 31 Historia de usuario-registro de docentes ................................................................... 62 Tabla 32 Historia de usuario-modificación docentes............................................................... 63 Tabla 33 Historia de usuario de registro de calificaciones ...................................................... 63 Tabla 34 Historia de usuario-modificación de calificaciones .................................................. 64 Tabla 35 Historia de usuario-registro asistencia ...................................................................... 64 Tabla 36 Historia de usuario-modificación de asistencia ........................................................ 65 Tabla 37 Historia de usuario-registro de horario ..................................................................... 65 Tabla 38 Historia de usuario-registro de horario .................................................................... 66 Tabla 39 Historia de usuario-reporte de horario ..................................................................... 66 Tabla 40 Plan de entrega .......................................................................................................... 68
xiii
Tabla 41 Plan de iteración........................................................................................................ 69 Tabla 42 Plan de iteración 2..................................................................................................... 70 Tabla 43 Plan de iteración 3..................................................................................................... 71 Tabla 44 Plan de iteración 4..................................................................................................... 72 Tabla 45 Tarjeta CRC 1-parametrizacion del sistema ............................................................. 74 Tabla 46 Tarjeta CRC 2-administración de usuarios ............................................................... 75 Tabla 47 Tarjeta CRC 3-administración de matricula ............................................................. 76 Tabla 48 Tarjeta CRC 4-administración de calificaciones ...................................................... 77 Tabla 49 Tarjeta CRC 5-administración de asistencia ............................................................. 78 Tabla 50 Tarjeta CRC 5-administración de asistencia ............................................................. 79 Tabla 51 Prueba de funcionalidad-administración de usuario ................................................. 92 Tabla 52 Prueba de funcionalidad-administrativa de matriculación........................................ 93 Tabla 53 Prueba de funcionalidad-administración de calificaciones ....................................... 94 Tabla 54 Prueba de funcionalidad-administración de asistencia ............................................. 95 Tabla 55 Prueba de funcionalidad-administración de horarios............................................... 96
xiv
ÍNDICE FIGURAS Figura 1. Disponibilidad de cuenta electrónica........................................................................ 44 Figura 2. Automatización de procesos académicos ................................................................. 45 Figura 3. Eficiencia de ingreso de notas y asistencias ............................................................. 46 Figura 4. Implementación de sistema web académico............................................................. 47 Figura 5. Importancia de las TICs............................................................................................ 48 Figura 6. Nivel de tecnología del instituto ............................................................................... 49 Figura 7. Mejora de rendimiento académico a través de las TICs ........................................... 50 Figura 8. Diseño lógico de la base de datos. ............................................................................ 80 Figura 9. Diseño físico de la base de datos. ............................................................................. 81 Figura 10. Página principal del sistema ................................................................................... 87 Figura 11. Error en el ingreso de credenciales. ........................................................................ 87 Figura 12. Ingreso de credenciales correctas. .......................................................................... 88 Figura 13. Registro de usuarios. .............................................................................................. 88 Figura 14. Administracción de usuarios. ................................................................................. 89 Figura 15. Reportes de usuarios. .............................................................................................. 89 Figura 16.Registro de periodo académico. .............................................................................. 90 Figura 17. Administración de periodo académico. .................................................................. 90 Figura 18. Administración de usuarios. ................................................................................... 90 Figura 19. Administración de materias. ................................................................................... 91 Figura 20. Registro de calificaciones. ...................................................................................... 91 Figura 21. Control de calificaciones. ....................................................................................... 91 Figura 22. Reportes de materias............................................................................................... 92 Figura 23. Carta de impacto del proyecto. ............................................................................. 103 Figura 24. Carta de aceptación del proyecto. ......................................................................... 104 Figura 25. Carta de entrega-aceptación del proyecto............................................................. 105
xv
ÍNDICE ANEXOS ANEXO 1.Carta de impacto del proyecto ............................................................................. 103 ANEXO 2. Carta de aceptación del proyecto ........................................................................ 104 ANEXO 3. Carta de entrega-aceptación del proyecto ........................................................... 105 ANEXO 4. Entrevista a personal admistrativo de la Escuela de Conducción del Instituto Tecnológico Superior Los Andes........................................................................................... 105 ANEXO 5. Cuestionario de preguntas para los docentes de la Escuela de Conducción del Instituto Tecnològico Superior Los Andes. ........................................................................... 108
1
1. INTRODUCCIÓN La Programación Web es la que se ejecuta sobre la plataforma de Internet, ya sea para desarrollo de páginas web estáticas, dinámicas, aplicaciones debido a que las empresas se ven en la impetuosa necesidad de automatizar sus procesos, de esa forma pueden optimizar tiempo y recursos que les permita estar a la vanguardia en la actualidad. El presente trabajo de investigación tiene como objetivo la implementación de un sistema web académico, para la Escuela de Conducción del ITS “Los Andes”, en donde se recabo información mediante una búsqueda minuciosa seleccionando los datos más reales que estén ligados a la actualidad del proyecto por ello las fuentes bibliográficas utilizadas fueron extraídas de libros consultados en nuestra universidad, artículos científicos encontrados en portales académicos y además información proporcionada por personal administrativo de la institución. Este trabajo despliega los siguientes capítulos: En el capítulo I se exhibe la introducción previo al desarrollo de los siguientes apartados. En el capítulo II se presenta el planteamiento del problema, los antecedentes, problema de investigación, justificación y los objetivos generales y específicos que busca cumplir esta Tesis. En el capítulo III se menciona a la variable dependiente que está formada por información básica sobre el ITS “Los Andes” que mediante la búsqueda que se realizó se consideró importante para contribuir con el proceso de investigación como es Ley Orgánica de Trasporte Terrestre Tránsito y Seguridad Vial, De las licencias de conducir, De las categorías y tipos de licencias, Escuelas de capacitación profesional En el Ecuador, Creación, autorización y funcionamiento de las Escuelas de Conducción, De los Alumnos, Sistemas de gestión digital y académica, y Plataformas para la educación. De igual manera en este capítulo mencionamos a la variable independiente que nos brinda información importante para ayudarnos en la elaboración del sistema como son Origen de la red de redes Internet, Los inicios, Informática e Internet en la actualidad, La Web 2.0, La web 3.0, Tecnología de la información, Sistemas de información, Herramientas de desarrollo, Lenguajes de programación, Aplicación Web, Servidores Web, Servidores de aplicaciones web, Sistema Gestor de base de datos,
2 Metodología de desarrollo de software, Plataforma de desarrollo, PHP, y por ultimo Gestor de base de datos PostgreSQL. Puntos importantes que nos ayudaran en este proceso de automatización.
En el Capítulo IV se aborda los aspectos relacionados con la metodología de investigación y metodología de desarrollo de software, de igual manera los resultados obtenidos. Finalmente, en el Capítulo V se despliegan las conclusiones y recomendaciones de esta Tesis.
3
2. PLANTEAMIENTO DEL PROBLEMA 2.1.
Antecedentes del ITS “Los Andes” La Escuela de Conducción del Instituto Tecnológico Los Andes, es un establecimiento
educativo que capacita conductores para la obtención de licencias profesionales de conducción, abalada por la AGENCIA NACIONAL DE TRANSITO DEL ECUADOR (ANT), que es la institución gubernamental encargada de la aprobación de las escuelas de conducción en el país. En la actualidad el Instituto Tecnológico Los Andes, ofrece cursos para la obtención de licencias Tipo “C” y Tipo “C1” con una duración de 6 meses, en dos modalidades; presencialvespertino donde se dictan clases de lunes a viernes y semipresencial-diurno con un horario que incluyen clases los días sábados y domingos, los cursos tienen una capacidad máxima de 30 personas, determinado así por la ANT, es por eso que la cantidad de cursos que tiene la Escuela de Conducción depende en gran medida a la demanda del mercado. Como toda institución de educación, necesita llevar un registro de calificaciones eficiente y de la misma manera crear horarios de clases para cada periodo académico, considerando que existen 10 materias (en promedio) para cada tipo de licencia y un mínimo de 1 curso por cada tipo de licencia, lo que implica un trabajo minucioso y exhaustivo por parte del personal académico de la Escuela de Conducción antes, durante y al final de cada periodo académico. Luego de realizar la visita in situ y la respectiva reunión con las autoridades de la institución educativa, se logró constatar que tiene un inapropiado control del registro de calificaciones que provoca un inconformidad del personal docente; por otro lado presenta un deficiente proceso en el registro de graduados, existiendo un tiempo excesivo para la entrega de documentos oficiales; otra problemática de la institución es la manera inadecuada que se elabora los horarios académico porque se utiliza una considerable cantidad de recursos y personal para la estructuración de un horario académico ya que se lo realiza de una manera manual. Luego de este análisis se puede concluir que existe un deficiente control académico en la Escuela de Conducción del Instituto Tecnológico Superior “Los Andes”.
4
2.2.
Problema de investigación El presente proyecto de investigación responderá a la siguiente problemática: ¿Cómo mejorar el control académico de las Escuelas de Conducción del Instituto
Tecnológico Superior “Los Andes”? El ITS LOS ANDES es una institución prestigiosa, con una larga trayectoria educativa en la provincia, que con el pasar de los años aumenta cada vez más el número de alumnos matriculador por periodo académico, pero, así como aumenta la demanda por los cursos de la Escuela de Conducción, de la misma forma aparecen problemáticas al no contar con la infraestructura necesaria para brindar un servicio de calidad a un número elevado de personas a la vez. La principal problemática que afecta al ITS LOS ANDES es la falta de agilidad a la hora de realizar un control académico adecuado de la Escuela de Conducción, como lo es la matriculación de estudiantes, elaboración de horarios, registro de calificaciones, entre otros al no disponer de herramientas adecuadas que faciliten cada uno de estos procesos. Teniendo en cuenta el problema principal se procede a dividirlo en las siguientes interrogantes para un mayor entendimiento del mismo: ¿Cuáles son los procesos que se realizan para control académico de una Escuela de Conducción? ¿Cuáles son las metodologías de desarrollo de software, herramientas y recursos que se podrían utilizar para el desarrollo de un sistema web? ¿Cuál es la funcionalidad y patrón arquitectónica del sistema web académico?
5
2.3.
Justificación de la investigación Actualmente gracias al desarrollo continuo de las TECNOLOGIAS DE LA
INFORMACION Y LAS COMUNICACIONES (TIC), se está optando por la creación de sistemas web para las empresas, ya que de esta forma se puede automatizar un sin números de procesos que a corto plazo representaran un ahorro significativo de tiempo y recursos económicos. Hernández y Greguas (2011) indican que los estándares web, son las respuestas más eficaces a la rápida y continua evolución tecnológica que experimenta la red. En su artículo científico Albarracín, Erazo y Palacios (2014). mencionan que las TIC se han convertido en un catalizador de los procesos organizacionales, sin lugar a dudas se constituyen en herramientas de apoyo a la gestión empresarial, promoviendo la construcción de estrategias orientadas a la competitividad y la innovación, generando así sostenibilidad para la organización y la sociedad. Aun así, la incorporación de las TIC al ámbito de la empresa es un proceso complejo, pues involucra multiplicidad de dimensiones. En nuestro país, esto fácilmente se puede comprobar, ya que según datos del (Instituto Nacional de Estadística y Censo, 2015), se menciona que a nivel nacional solo el 8.6% de la población accedió a internet durante el año 2015 desde su lugar de trabajo, es por eso que la realización de este proyecto es de vital importancia para el ITS “Los Andes”, ya que asentara las bases para próximos proyectos relacionados con las áreas de las TIC en la institución. La automatización de procesos académicos en el ITS “Los Andes”, se plantea con la finalidad de optimizar los servicios para poder brindar la información de una forma rápida y actualizada, que conlleve a un progreso institucional, que eleve los estándares de calidad, que le permitan crecer como institución y como una institución formadora de conductores profesionales a nivel nacional. Este proyecto a parte de los investigadores se realizará con el apoyo constante del departamento de sistemas del ITS LOS ANDES, ya que en conjunto se decidirá la plataforma en la que será programado el sitio web, siempre pensando que un futuro si, la institución decide implementar nuevos sistemas, puedan utilizar como base el nuestro y de esta forma facilitar la migración de datos. El sistema web ayudara al personal de institución, pero además a los estudiantes, ya que la mayoría son personas que tienen jornadas de trabajo y el poco tiempo disponible que poseen
6
no será desperdiciado en días de matriculación ya que ay es cuando el sistema colapsa y sufre de retardos al momento de procesar la información, haciendo que los interesados en matricularse pasen mucho tiempo esperando para ingresar sus datos, y mucha de las veces tengan que volver a ingresar sus datos por varios intentos ya que toca reiniciar el sistema porque este no reacciona, de igual manera al momento de ingresar las notas y requerir de un reporte por estudiante este sistema no cuenta información solicitada y no se pueda brindar con este servicio lo mismo pasa con la planificación de horarios que se la realiza de forma manual y el control de asistencia. El impacto del proyecto se lo plantea a largo plazo para que el ITS LOS ANDES goce de los beneficios que brindan las tecnologías de la información y comunicación; además se crean canales de mejoramiento y desarrollo ya que se lo realiza con herramientas de distribución libre, es decir trabajar con software que tengamos la libertad de estudiarlo, modificarlo, agregarle contenido y que utilice plataformas diferentes como Windows, Unix, Linux y servidores web como CGI, Apache, con esto resolveríamos el problema de licencias y permisos como es PHP como lenguaje de programación y MySQL como sistema gestor de base de datos.
7
2.4.
Objetivos de investigación
2.4.1. Objetivo General Implementar un sistema web académico, mediante la utilización de herramientas open source, para el control académico de la Escuela de Conducción del Instituto Tecnológico Superior los Andes de Santo Domingo.
2.4.2. Objetivos específicos •
Establecer los procesos académicos que son necesarios para el control académico de la Escuela de Conducción.
•
Investigar herramientas open source y metodologías de desarrollo de software actuales, para definir cuáles serían las más convenientes en el desarrollo de un sistema web.
•
Desarrollar un sistema web para el control académico de la Escuela de Conducción del ITS LOS ANDES.
8
3. MARCO REFERENCIAL A lo largo del proceso para la creación del sistema web para el ITS los Andes se ha tomado como referencia conceptualizaciones de autores relevantes, relacionados con objeto de estudio. Adicionalmente, se ha tomado como referentes proyectos nacionales e internacionales similares al tema de estudio o que tienen relación con el mismo.
3.1.
Ley Orgánica de Trasporte Terrestre Tránsito y Seguridad Vial Art. 1.- El presente Reglamento establece las normas de aplicación a las que están sujetos los conductores, peatones, pasajeros, automotores, operadoras de transporte, y vehículos de tracción humana, animal y mecánica que circulen, transiten o utilicen las carreteras y vías públicas o aquellas privadas abiertas al tránsito y transporte terrestre en el país. (Reglamento a la Ley Orgánica de Trasporte Terrestre, Transito y Seguridad Vial, 2012, pág. 1).
3.2.
De las licencias de conducir Art. 125.- Ninguna persona podrá conducir vehículos a motor dentro del territorio nacional sin poseer los correspondientes títulos habilitantes otorgados por las autoridades competentes de tránsito, o un permiso de conducción, en el caso de menores adultos que hayan cumplido los 16 años de edad quienes deberán estar acompañados por un mayor de edad que posea licencia de conducir vigente, o algún documento expedido en el extranjero con validez en el Ecuador, en virtud de la ley, de tratados o acuerdos internacionales suscritos y ratificados por el Ecuador. (Reglamento a la Ley Orgánica de Trasporte Terrestre, Transito y Seguridad Vial, 2012, pág. 29). Art. 126.- Los certificados y los títulos de conductor no profesional y profesional, respectivamente, otorgados por las Escuelas de Conducción, Institutos Técnicos de Educación Superior, Universidades y Escuelas Politécnicas, autorizados por el Directorio de la Agencia Nacional de Tránsito, incluido el SECAP y FEDESOMEC, constituyen requisito único e indispensable para otorgar las respectivas licencias de conducir a través de las Unidades Administrativas correspondientes. Las mencionadas instituciones, para los efectos de la Ley y este Reglamento, se regirán bajo los parámetros establecidos en los reglamentos que expida la ANT. (Reglamento a la Ley Orgánica de Trasporte Terrestre, Transito y Seguridad Vial, 2012, pág. 29).
Art. 128.- No se otorgará licencia para conducir vehículos a motor a quien no presente el correspondiente título o certificado de conductor profesional o no profesional, respectivamente, debidamente conferido por las escuelas, institutos técnicos, escuelas politécnicas y universidades autorizados. Las licencias de conductor profesional y no profesional se concederán a los ciudadanos que cumplan con los siguientes requisitos:
9 1. Ser mayor de edad; 2. Título o certificado de conductor profesional o no profesional respectivamente; en el caso de los aspirantes a conductores profesionales, el curso se deberá aprobar, además, con una asistencia a clases de al menos el 95%. 3. Aprobar los exámenes médicos, psicosensométricos, y teórico-prácticos correspondientes. El examen médico previsto será un examen visual, el mismo que también podrá ser realizado a través de equipos psicosensométricos; 4. Haber aprobado la educación básica para licencias no profesionales (A, B y F); y, haber aprobado el primero de bachillerato para licencias profesionales (A1, C, C1, D, D1, E, E1 y G). 5. Cédula de ciudadanía; y; 6. Certificado de votación vigente. (Reglamento a la Ley Orgánica de Trasporte Terrestre, Transito y Seguridad Vial, 2012, pág. 30).
3.3.
De las categorías y tipos de licencias Art. 132.- Las licencias para conducir serán de las siguientes categorías: No profesionales,
Profesionales y Especiales: A.
No profesional:
1. Tipo A: Para conducción de vehículos motorizados como: ciclomotores, motocicletas, cuadrones; 2. Tipo B: Para automóviles y camionetas con acoplados de hasta 1,75 toneladas de carga útil o casas rodantes. Excepcionalmente, los automóviles y camionetas con acoplados de hasta 1.75 toneladas de carga útil de propiedad del Estado, podrán ser conducidos por los funcionarios y servidores públicos que posean licencia tipo B en las circunstancias y cumpliendo con los requisitos determinados en la normativa aplicable expedida por la contraloría General del Estado; 3. Tipo F: Para automotores especiales adaptados de acuerdo a discapacidad. B.
Profesionales:
1. Tipo C1: Para vehículos policiales, ambulancias militares, municipales, y en general todo vehículo del Estado ecuatoriano de emergencia y control de seguridad. 2. Tipo C: Para taxis convencionales, ejecutivos, camionetas livianas o mixta hasta 3.500 kg, hasta 8 pasajeros; vehículos de transporte de pasajeros de no más de 25 asientos y los comprendidos en el tipo B. 3. Tipo D1: Para escolares- institucional y turismo, hasta 45 pasajeros. 4. Tipo D: Para servicio de pasajeros (intracantonales, interprovinciales, intra-provinciales, intrarregionales y por cuenta propia); y para vehículos del Estado ecuatoriano comprendidos en el tipo B y no considerados en el tipo C1.
10 5. Tipo E1: Para ferrocarriles, auto ferros, motobombas, trolebuses, para transportar mercancías o substancias peligrosas y otros vehículos especiales. 6. Tipo E: Para camiones pesados y extra pesados con o sin remolque de más de 3,5 toneladas, tráiler, volquetas, tanqueros, plataformas públicas, cuenta propia, otros camiones y estatales con estas características. 7. Tipo G: Para maquinaria agrícola, maquinaria pesada, equipos camineros (tractores, motos niveladoras, retroexcavadoras, montacargas, palas mecánicas y otros). 8. Tipo A1: Para conducir mototaxis o tricimotos de servicio comercial, y del tipo A. Las licencias comprendidas en la categoría profesional habilitan también conducir los vehículos especificados en el tipo B. C.
Especiales:
1. Permiso internacional de conducir. 2. Licencia de conductor andino. Las licencias de conducir profesionales tipo C1, C, D1, DE1 y E, autorizan además la conducción de los vehículos previstos para la licencia de conducir no profesional tipo B. (Reglamento a la Ley Orgánica de Trasporte Terrestre, Transito y Seguridad Vial, 2012, págs. 30-31).
3.4. Escuelas de capacitación profesional en Ecuador Art. 259.- Las escuelas de conducción, institutos técnicos de educación superior, universidades, escuelas politécnicas, SECAP y FEDESOMEC, para poder brindar los cursos de formación de chóferes profesionales y no profesionales, y los cursos para recuperación de puntos en las licencias de conducir, deberán ser previamente autorizadas por el Directorio de la ANT, conforme al reglamento específico que expida. Los institutos técnicos de educación superior, universidades y escuelas politécnicas, deberán, además, suscribir un convenio con el Director Ejecutivo de la ANT para poder operar. Los cursos específicos que se impartan en las entidades antes mencionadas deberán ser, a su vez, previamente autorizados por el Director Ejecutivo de la ANT. (Resolución No. 010-DIR-2015-ANT REGLAMENTO DE ESCUELAS DE CAPACITACIÓN PARA CONDUCTORES PROFESIONALES, 2015).
3.5. De los Alumnos “Art. 51.- Se consideran alumnos de la Escuela de Capacitación para Conductores Profesionales - ECCP, a los aspirantes a obtener el título de conductor. Previa la matriculación en los cursos de capacitación, el alumno deberá cumplir con los requisitos constantes en el presente reglamento.” (Resolución No. 010-DIR-2015-ANT REGLAMENTO DE ESCUELAS DE CAPACITACIÓN PARA CONDUCTORES PROFESIONALES, 2015, pág. 19) Art. 52.- Los aspirantes a obtener el título de conductor profesional deberán someterse a las pruebas psicológicas y psicosensométricas en la Escuela de Capacitación para Conductores Profesionales - ECCP y médicas en un centro de salud legalmente autorizado, con el objeto de
11 determinar si reúnen los requisitos que les permitan alcanzar un nivel psíquico, sensorial y físico de idoneidad para la conducción, previa su matriculación. Una vez aprobados los exámenes antes referidos, para ser admitidos y extenderles su matrícula como alumnos, deberán cumplir los requisitos establecidos en el presente Reglamento. (Resolución No. 010-DIR-2015ANT REGLAMENTO DE ESCUELAS DE CAPACITACIÓN PARA CONDUCTORES PROFESIONALES, 2015, pág. 19). “Art. 53.- Al momento de la matrícula, los alumnos adquieren la obligación de observar los horarios respectivos de la Escuela de Capacitación para Conductores Profesionales - ECCP. Cualquier inasistencia, deberán justificarla con el Inspector; sin embargo, para los efectos de aprobación del curso, respecto a la asistencia, deberá tomarse en consideración lo previsto en el presente Reglamento.” (Resolución No. 010-DIR-2015-ANT REGLAMENTO DE ESCUELAS DE CAPACITACIÓN PARA CONDUCTORES PROFESIONALES, 2015, pág. 19).
3.6.Gestión digital y académica De acuerdo con Silva, R., Cruz, E., Méndez, I., & Rodríguez, J. (2013). El mejoramiento de los centros educativos es la mayor amenaza que poseen estas instituciones, ya que la falta de planificación y asesoramiento educativo pone en riesgo el cierre de instituciones dejando de lado el principio fundamental que busca la educación que es el proceso mediante el cual se trasmite conocimientos y valores, por medio del pensamiento e imaginación y que debería ser eficaz en todo momento para poder ofrecer a los estudiantes educación de calidad. (p. 104). En el ITS LOS ANDES lo que se pretende es mejorar el servicio del personal administrativo y docentes, en la toma de decisiones y agilización de recursos porque se pretende automatizar al menos 4 de los procesos clave mediante el modelado de procesos, con el desarrollo de aplicaciones Web. Las aplicaciones automatizan parte de las actividades administrativas, almacenando y organizando la información de tal manera que se puedan realizar búsquedas eficientes y reportes concretos de acuerdo a las necesidades de cada uno de los perfiles, además de brindar el beneficio de acceso a la información casi desde cualquier sitio durante las 24 horas del día. Con ello se pretende que las funciones administrativas agreguen valor, mejorando el sistema académico que viene a representar una de las partes más importantes en una institución, ya que está involucrado con toda la gestión académica y esto brindará una mayor agilidad para responder a las oportunidades de nuestro contexto, y así cumplir apropiadamente con las funciones sustantivas del ITS LOS ANDES.
12
Como mencionan Alonso, A., Chacón, J., & López, M. (2015). En el ámbito educativo la presencia de aulas virtuales significa un cambio rotundo de la manera tradicional de enseñar ya que con las aulas tecnológicas se practica una metodología de estudioaprendizaje más avanzada practicando pedagogías más innovadoras, y, por otro lado, se mejoran los aprendizajes de los estudiantes, dando como resultado una exitosa trasformación en la gestión educativa. (p. 143).
3.7. Plataformas para la educación Según Ledo, V., Josefina, M., Dopico, R., Moraima, D. & Martínez Hernández, G. (2014). Las plataformas para la educación son las herramientas tecnológicas que sirven para entregar y distribuir los cursos al usuario final mediante la interacción vía Internet, usando entornos de visualización amigables con el estudiante y el docente para su fácil uso, hoy en día muy utilizadas en áreas universitarias. Desde este punto de vista, el valor de la web 2.0, plataformas virtuales y redes sociales pueden llegar a una alianza, al poner el énfasis en la creación más que en el consumo, en la descentralización del contenido, proceso de enseñanzaaprendizaje y adquisición de competencias. (p. 412). Ellos nos hablan sobre la infraestructura tecnológica en que se soporta todo el proceso de la gestión educativa y del aprendizaje, considerando que debiera abarcar las principales funciones, como es: gestionar usuarios, recursos educacionales requeridos y actividades de formación, a través de herramientas de trabajo colaborativo y de comunicación, matrícula, administración del acceso y seguridad, control y seguimiento del proceso de aprendizaje, evaluaciones, generación de informes, gestión de servicios de comunicación como foros de discusión, videoconferencias, chat y correos. (p. 610). Como menciona Alonso, A., Chacón, J., & López, M. (2015). Un Sistema de Gestión del Aprendizaje en general puede decirse que es un software que permite la creación y gestión de entornos de aprendizaje en línea de manera fácil y automatizada. Estas plataformas ofrecen grandes posibilidades de comunicación y colaboración entre los diferentes actores en el proceso de aprendizaje es una herramienta informática y telemática que se organiza en función de los objetivos formativos, de forma integral asociado a los principios de intervención psicopedagógica y organizativa. (p. 144).
13
3.8. IDENTIFICCIÓN DE LA INSTITUCIÓN 3.8.1. Distributivo de las materias de la Escuela de Conducción, licencia tipo “C”. Tabla 1 Modelo Básico Modelo Básico
MÓDULO EDUCACION VIAL LEY Y REGLAMENTO MECÁNICA BÁSICA COMPUTACIÓN PRIMEROS AUXILIOS EDUCACIÓN AMBIENTAL RELACIONES HUMANAS INGLÉS GEOGRAFÍA URBANA TOTAL
HORAS 40 60 40 20 20 20 40 40 40 320
Nota: Distributivo de las materias de la Escuela de Conducción, Básico. Fuente: Normativa Interna del Instituto Tecnológico Superior los Andes, 2017.
licencia
tipo
C,
Modelo
Nota: Distributivo de las materias de la Escuela de Conducción, licencia tipo Especialidad. Fuente: Normativa Interna del Instituto Tecnológico Superior los Andes, 2017.
C,
Modelo
Tabla 2 Modelo especialidad Modelo Especialidad
MÓDULO TEORÍA DE LA CONDUCCIÓN PRACTICAS DE LA CONDUC. PSICOLOGÍA APLICADA C. ATENCIÓN AL CLIENTE TOTAL
HORAS 40 40 40 40 160
3.8.2. Planificación académica del ITS LOS ANDES El ITS LOS ANDES distribuye en módulos las materias que de dictan a los estudiantes, por ello planifica que cada módulo a dictarse este conformado por trabajos en equipo, estudio de casos, pruebas prácticas y teóricas, de donde se evaluaran estas actividades obteniendo el promedio final del módulo, de la misma manera habrá supletorios para aquellos estudiantes que no completen su puntuación. Todas las actividades que se desarrollaran serán evaluadas sobre 20 puntos, de las cuales se sumaran y se dividirán para su promedio en donde
14
se aplicara una regla de 3 para obtener la nota final.
3.8.3. Requisitos para ingreso a la Escuela de Conducción El ITS LOS ANDES ofrece la licencia de conducción tipo C, para lo cual los requisitos que impone para el ingreso de los estudiantes son: 1.
Licencia tipo B o 1er. Año de Bachillerato aprobados y notariados.
2.
Tipo sanguíneo por medio de la cruz roja.
3.
4 fotografías tamaño carnet a color.
4.
Planilla de servicio básico del domicilio (luz, agua, teléfono).
5.
2 copias a color de cedula y papeleta de votación
6.
Ser mayor de edad.
3.9. Origen de Internet El origen de internet es un proyecto militar del departamento de defensa de los Estados Unidos denominado ARPANET (Red de la Agencia de Proyectos de Investigación Avanzados). A finales de los años 60, en plena guerra fría, el departamento se dio cuenta de lo vulnerable que resultaba para la transmisión de información la red telefónica, por tal motivo encargo a la agencia ARPA el desarrollo de una tecnología más segura para redes de comunicación, de tal forma que la inactividad de parte de la red no impidiera que la información llegue a su destino. (Pérez Villa, 2014, pág. 67) Así fue como se inventó la tecnología de conmutación de paquetes que es la base de internet y de sus protocolo básico IP (Internet Protocol): la información se divide en porciones denominadas paquetes, cada uno de los cuales además contiene información para que cada paquete pueda moverse por la red de forma independiente; si parte de la red queda destruida, los paquetes son redirigidos utilizando rutas alternativas con el objetivo de que lleguen a su destino, es decir, se convierte en una especie de organismo autosuficiente. (Pérez Villa, 2014,
15
pág. 67).
3.10. Internet en la actualidad Uno de los hechos más importantes en la evolución de internet, fue la creación del lenguaje HTML por un grupo de científicos de Ginebra, quienes en 1990 realizan el primer servidor Web llamado World Wide Web (WWW), la introducción de esto en el mundo de la internet, fue el paso más importante de la informática moderna. La famosa WWW, es lo que de forma simplificada conocemos como la Web, La World Wide Web se basa en hipertextos, es decir, páginas en las que se pueden insertar hipervínculos. Estos conducen al usuario de una página web a otra o a otro punto de esa web, aunque muchas personas tienen en consideración erróneamente que Internet y Web son la misma cosa, la verdad es que la Web, es parte de Internet. (Pérez Villa, 2014, pág. 68).
3.11. La Web 2.0 Este posicionamiento y este rediseño de Internet van más allá de los programadores de las páginas, está dirigido al usuario para que pueda interactuar con la red y el mismo genere su propio contenido. La Web 2.0 es un concepto que intenta diferenciarse de la Web 1.0, considerada como páginas Web únicamente compuestas por código HTML estático. La evolución de Internet ha estado dirigida los últimos años hacia el dinamismo de sus páginas, la conexión con motores de búsqueda de bases de datos y, sobre todo, con el contenido social de Internet. En si la Web 2.0 se caracteriza por aquellas páginas en las que el usuario final participa tanto del contenido como del propio diseño de la interfaz y de las funciones. (Pérez Villa, 2014, pág. 71).
3.12. La Web 3.0 La Web 3.0 o Web semántica, es aquella donde las actividades de los usuarios se analizan en detalle. La Web 3.0 es una extensión del World Wide Web en el que se puede expresar no sólo lenguaje natural, también se puede utilizar un lenguaje que se puede entender,
16
interpretar utilizar por agentes software, permitiendo de este modo encontrar, compartir e integrar la información más fácilmente. La Web 3.0 es más inteligente, los usuarios pueden hacer búsquedas más cercanas al lenguaje natural. Uno de los más claros ejemplos es SIRI, el asistente personal de los teléfonos inteligentes de la compañía Apple, la cual utiliza procesamiento del lenguaje natural para responder preguntas, hacer recomendaciones y realizar acciones mediante la delegación de solicitudes hacia un conjunto de servicios web. (Jimenez, 2013, pág. 10).
3.13. Tecnología de la información La tecnología de la información radica en un conjunto de herramientas que habilitan a las personas para trabajar con la información en forma digital. Este conjunto de herramientas permite la obtención y el uso de la información a fin de visualizar y entender el medio ambiente, tener mayor control sobre éste y crear soluciones a problemas y situaciones específicas. Las empresas utilizan la tecnología de información para realizar funciones y lograr metas establecidas, como, por ejemplo, incrementar la productividad de los empleados al reducir el tiempo que dedican para efectuar sus funciones, minimizando errores y por consiguiente menores costos. (González, y otros, 2010, pág. 2).
3.14. Aplicaciones Web El impacto de la Web ha propiciado la aparición de una gran cantidad de tecnologías, librerías, herramientas y estilos arquitectónicos para desarrollar una aplicación web. En la ingeniería software se denomina aplicación web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicación software que se codifica en un lenguaje soportado por los navegadores web, y en la que se confía la ejecución de la aplicación al navegador. Actualmente son populares por lo práctico al permitir una comunicación más fluida y dinámica en la computación Cliente-Servidor. (Moreira, 2012).
17
3.15. Servidores Web Están a cargo de aceptar las solicitudes aludidas a páginas o componentes de la web a través de la convención http o https y devolver las consecuencias de la demanda, que es generalmente un activo facilitado en el servidor. Normalmente, el programa se acerca al servidor web para el activo que el cliente necesita, para finalmente obtener ese activo y hacer una interpretación de ello si es importante para su cliente discernible forma; es decir, la interpretación HTML lo hace el navegador. En general los servidores web actuales actúan de servidores de aplicaciones una vez que se les instala el software pertinente. Por ello cuando se habla de servidores web, en realidad también hablamos de servidores de aplicaciones web. (Sánchez, 2012, pág. 15-16).
3.16. Ingeniería de software Como menciona Sommerville (2011). La ingeniería de software es el método de la informática que comprende los aspectos de la elaboración de software, ofrece modelos o prototipos de desarrollo, que son un panorama de las acciones que ocurren durante el desarrollo de software desde los primeros pasos hasta concluir con el producto final por ello se intenta establecer el orden de las etapas involucradas y los criterios de evolución asociadas entre estas etapas, buscando obtener resultados de calidad. (p. 7).
3.17. Lenguajes de Programación Un lenguaje de programación es una forma sencilla para que los seres humanos sepan dar instrucciones a un dispositivo. Los programas de las computadoras modernas constan de secuencias de instrucciones que decodifican como secuencias de dígitos numéricos que podrían entender dichas computadoras. El sistema de codificación se conoce como lenguaje máquina, que es el lenguaje nativo de una computadora. Desafortunadamente, la codificación de programas en lenguaje máquina es una tarea pesada y dificultosa, ya que sus instrucciones son secuencias de O y 1, que para las personas son muy difíciles de recordar y manipular. En consecuencia, requieren lenguajes de programación "amigables con el programador" que permitan escribir los programas para poder "charlar" con facilidad con las computadoras.
18
El proceso de traducción de un programa fuente, escrito en un lenguaje de alto nivel a un lenguaje máquina comprensible por el ordenador, se ejecuta mediante programas llamados "traductores". Los traductores de lenguaje son programas que convierten a su vez los programas fuente escritos en lenguajes de alto nivel a código máquina. Los traductores se dividen en compiladores, un programa que traduce los programas fuente escritos en lenguaje de alto nivel a lenguaje máquina e intérpretes que es un traductor que toma un programa fuente, lo traduce y, a continuación, lo ejecuta. (Joyanes, 2013, pág. 26).
3.18. Arquitectura cliente-servidor Como sugieren Avendaño, M., Mariel, B., & Rugarcía, Z. (2012). La arquitectura Cliente-Servidor desde el punto de vista funcional, se puede definir como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la información en forma transparente aún en entornos multiplataforma. En el modelo cliente servidor, el cliente envía un mensaje solicitando un determinado servicio a un servidor es decir se hace una petición, y este envía uno o varios mensajes con la respuesta ósea provee el servicio. Esta arquitectura permite distribuir físicamente los procesos y los datos en forma más eficiente lo que en computación distribuida afecta directamente el tráfico de la red, reduciéndolo grandemente. (p. 14).
3.18.1. Cliente Según Avendaño, M., Mariel, B., & Rugarcía, Z. (2012). El cliente es el proceso de transformación de información que busca traducir los requerimientos que menciona el usuario y de esta manera hacerlos accesibles al servidor que se utilice, actividad conocida como frontend que se encarga de la distribución, administración y dispersión de la información. (p. 15). Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos: • Dirigir la interfaz de usuario. • Involucramiento con el usuario.
19
• Resolver la lógica de la aplicación y hacer confirmaciones específicas. • Formar requerimientos de bases de datos. • Recoger efectos del servidor. • Preparar resultados.
3.18.2. Servidor Como señalan Avendaño, M., Mariel, B., & Rugarcía, Z. (2012). Es el proceso comisionado de estar a la mira de variados clientes que hacen peticiones de algún recurso dirigido por él. Al proceso servidor se le conoce con la expresión back-end. El servidor normalmente manipula todas las funciones relacionadas con la totalidad de las reglas del negocio y los recursos de datos. (p. 15). Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes puntos: • Admitir los requerimientos de bases de datos que hacen los clientes. • Resolver requerimientos de bases de datos. • Preparar datos para trasmitirlos a los clientes. • Resolver la lógica de la aplicación y hacer confirmaciones específicas a nivel de bases de datos.
3.18.3. Características de la arquitectura Cliente/Servidor Por su parte Ofareli, R. (2010). Resume las características básicas de una arquitectura Cliente/Servidor en: Servicio. El ambiente cliente/servidor conforma una relación entre procesos que se ejecutan en equipos separados. El proceso servidor ofrece servicios, mientras que los clientes los solicitan.
20
Recursos compartidos. Los servidores regulan el acceso a los recursos comunes por parte de los clientes. Protocolos asimétricos. Los clientes pueden pertenecer a una amplia variedad de tecnologías, y son los responsables por iniciar las solicitudes de servicios. Un servidor es un ente pasivo que se encuentra en espera permanente por dichas solicitudes.
3.19. Arquitectura y Plataformas de desarrollo La primera elección antes de comenzar a programar una aplicación web es la arquitectura que se va a utilizar. Hoy en día, podemos elegir entre algunas como, por ejemplo:
3.19.1. Java EE (Enterprise Edition) Es una plataforma de desarrollo de código orientada a la programación de aplicaciones, puede trabajar con diferentes gestores de bases de datos, además contiene una multitud de librerías y especificaciones para el desarrollo de aplicaciones de representación modular. Internamente en esta arquitectura existen diferentes tecnologías como las páginas JSP y los servlets, uno y otro orientados a la generación dinámica de páginas web, o los EJB, mecanismos que habitualmente contribuyen a la lógica de la aplicación web. (Comesaña, 2016, pág. 9).
3.19.2. AMP Forma de las abreviaturas de Apache, MySQL y PHP/Perl/Python. Las dos iniciales hacen referencia al servidor web Apache y al servidor de base de datos MySQL, la última pertenece al lenguaje de programación utilizado, que puede ser PHP, Perl o Python, Dependiendo del sistema operativo que se maneje para el servidor, se utilizan las siglas LAMP (para Linux), WAMP (para Windows) o MAMP (para Mac). Asimismo, es viable emplear demás componentes, como el gestor de bases de datos PostgreSQL en lugar de MySQL, componentes que manejan una arquitectura de código libre (open source) perteneciendo a una gran comunidad que la soporta y la afluencia de aplicaciones de código libre aprovechables. (Comesaña, 2016, pág. 9).
21
3.19.3. CGI/Perl Es la combinación de dos componentes: Perl, un potente lenguaje de código libre creado originalmente para la administración de servidores, y CGI, un estándar para permitir al servidor web ejecutar programas genéricos, escritos en cualquier lenguaje como Python, que devuelven páginas web (HTML) como resultado de su ejecución. Es la más primitiva de las arquitecturas que comparamos aquí. El principal inconveniente de esta combinación es que CGI es lento, aunque existen métodos para acelerarlo. Por otra parte, Perl es un lenguaje muy potente con una amplia comunidad de usuarios y mucho código libre disponible. (Comesaña, 2016, pág. 10).
3.19.4. ASP.Net Es la arquitectura comercial propuesta por Microsoft para el desarrollo de aplicaciones. Es la parte de la plataforma .Net destinada a la generación de páginas web dinámicas. Proviene de la evolución de la anterior tecnología de Microsoft, ASP. El lenguaje de programación puede ser Visual Basic.Net o C#. La arquitectura utiliza el servidor web de Microsoft, IIS, y puede obtener información de varios gestores de bases de datos entre los que se incluye, como no, Microsoft SQL Server. Una de las mayores ventajas de la arquitectura .Net es que incluye todo lo necesario para el desarrollo y el despliegue de aplicaciones. Por ejemplo, tiene su propio entorno de desarrollo, Visual Studio, aunque hay otras opciones disponibles. La mayor desventaja es que se trata de una plataforma comercial de código propietario. (Comesaña, 2016, pág. 10). Luego de comparar las distintas arquitecturas y plataformas de desarrollo hemos llegado a la conclusión de irnos por el lado de arquitectura AMP ya que para realizar las distintas pruebas del sistema necesitamos utilizar el servidor WAMP para Windows e ir de la mano con PHP como lenguaje y PostgreSQL como base de datos. 3.20. Lenguajes de desarrollo web Con la necesidad de mejorar el contenido de las aplicaciones web de estáticas a dinámicas, los lenguajes de programación han evolucionado a la par con la interacción de los
22
datos con el usuario a través de la aplicación web. A continuación, se describen los lenguajes de desarrollo web más destacados:
3.20.1. PHP PHP es, actualmente el lenguaje más interesante para crear scripts del lado del servidor. Esto quiere decir, que no es el navegador el que ejecuta el código, sino un servidor que aloja la página web junto con su lógica de negocios, permitiendo una compatibilidad mucho más amplia en la visualización de la página en diferentes navegadores. Muchos proveedores ofrecen PHP, ya que se puede enlazar fácilmente con bases de datos MySQL o PostgreSQL de forma muy sencilla y segura. Una página PHP se crea en principio como página HTML y se guarda con la extensión. php y el código estará incluido dentro de los símbolos <? php y?>. (Spona, 2010, pág. 15). En su artículo Pavón (2011). Hace referencia a que la principal ventaja de PHP es ser un lenguaje de programación gratuito y, por tanto, todo el mundo puede utilizarlo sin ningún coste, frente a otros lenguajes cuyo software es necesario comprar para su utilización. Debido al diseño de PHP, también es posible crear aplicaciones con una interfaz gráfica para el usuario, también llamada GUI, utilizando la extensión PHP-GTK. También puede ser usado desde la línea de órdenes, esta versión de PHP se llama PHP CLI (Command Line Interface). Además, es posible utilizar PHP para generar archivos PDF, Flash, así como imágenes en diferentes formatos, entre otras cosas. (p.16). Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, DB2, Microsoft SQL Server, Firebird y SQLite; lo cual permite la creación de Aplicaciones web muy robustas. PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos tales como UNIX, Linux, Windows y Mac OS X, y puede interactuar con los servidores de web más populares ya que existe en versión CGI, módulo para Apache, e ISAPI. (p.17).
23
3.20.2. Lenguaje JavaScript Es un lenguaje interpretado, no requiere compilación es utilizado principalmente en el desarrollo de páginas web. Es similar a Java. Todos los navegadores en sus últimas versiones interpretan código Javascript. El código Java script puede ser integrado dentro de las páginas web. Para evitar incompatibilidades el World Wide Web Consortium (W3C) diseño un estándar denominado DOM sus ventajas son que es un lenguaje de scripting seguro y fiable los scripts tienen capacidades limitadas por razones de seguridad, el código Java script se ejecuta en el cliente, liberando de carga al servidor. (Gauchat, 2012, pág. 87).
3.20.3. Lenguaje ASP.NET Este es un lenguaje comercializado por Microsoft, y usado por programadores para desarrollar sitios web. ASP.NET es el sucesor de la tecnología ASP, fue lanzada a los clientes mediante una táctica de mercado llamada .NET. El ASP.NET fue perfeccionado para solucionar las restrictivas que brindaba su precedente ASP. Establecido para desarrollo web se lo puede utilizar con C#, VB.NET o J#. Entre sus ventajas tenemos que es completamente orientado a objetos, controles de usuario personalizados, división entre la capa de aplicación o diseño y el código de igual manera facilita el mantenimiento de grandes aplicaciones, tiene un incremento de velocidad de respuesta en el servidor y posee mayor seguridad, su desventaja es que es propietario. (Guérin, 2015, pág. 79).
3.20.4. JSP Está orientado a desarrollar páginas web en Java. JSP es un lenguaje multiplataforma, creado para ejecutarse del lado del servidor. JSP fue desarrollado por Sun Microsystems. Comparte ventajas similares a las de ASP.NET, desarrollado para la creación de aplicaciones web potentes. Posee un motor de páginas basado en los servlets de Java. Para su funcionamiento se necesita tener instalado un servidor Tomcat. Sus Características son: Programación en capas, las páginas son compiladas en la primera petición, permite separar la parte dinámica de la estática en las páginas web, los archivos se encuentran con la extensión (jsp), el código JSP puede ser incrustado en código HTML. (Gutiérrez, 2014, pág. 3).
24
3.20.5. Python Es un lenguaje de programación poderoso y fácil de aprender. Cuenta con estructuras de datos eficientes y de alto nivel y un enfoque simple pero efectivo a la programación orientada a objetos su elegante sintaxis y su tipado dinámico, junto con su naturaleza interpretada, hacen de éste un lenguaje ideal para scripting y desarrollo rápido de aplicaciones en diversas áreas y sobre la mayoría de las plataformas. El intérprete de Python y la extensa biblioteca estándar están a libre disposición en forma binaria y de código fuente para las principales plataformas desde el sitio web de Python y puede distribuirse libremente. Python te permite separar tu programa en módulos que pueden reusarse en otros programas en Python. Viene con una gran colección de módulos estándar que puedes usar como base de tus programas, o como ejemplos para empezar a aprender a programar en Python. Es un lenguaje interpretado, lo cual puede ahorrarte mucho tiempo durante el desarrollo ya que no es necesario compilar ni enlazar. (Fernández, 2012, pág. 1).
3.20.6. Tabla comparativa de los lenguajes de desarrollo Tabla 3 Lenguajes de desarrollo Lenguajes de desarrollo web
Habilidad de aprendizaje Paginas dinámica Distribución del lenguaje Habilidad de diseño Licencia Conexión
PHP Alta
JavaScript JSP Python Media Media Alta
Asp.Net Alta
si
si
si
si
Si
Lenguaje estructurado y POO Media
Scripting
POO
Multiparadigma Scripting y POO
Media
Alta
Media
Alta
Libre si
Libre no
Libre si
Libre si
Privada si
Nota: Lenguajes de desarrollo web. Fuente: Análisis de herramientas para la implementación del sistema, 2017.
Actualmente existen diferentes lenguajes de programación para desarrollo en la web, estos han ido surgiendo debido a las tendencias y necesidades de las plataformas por ello hemos realizando una comparación entre algunos de los distintos lenguajes de desarrollo que existen y adoptamos utilizar PHP por sus diferentes características.
25
3.21. Sistema Gestor de base de datos “Se define un sistema gestor de base de datos (SGDB), como el conjunto de herramientas que facilitan la consulta, uso y actualización de una base de datos” (López, Castellano, & Ospina, 2011, pág. 15).
Como objetivos principales de los SGBD constan los siguientes: Independencia de datos: Los programas de aplicación deben verse lo menos afectados posibles por cambios realizados en datos que no se usan. Integridad de los datos: La información almacenada en la base de datos, debe cumplir ciertos requisitos de calidad, para ello hace falta, en el instante de ingresar los valores de los datos, que éstos se recolecten debidamente, y que posteriormente no se deterioren. Seguridad de los datos: A la información almacenada en la BD sólo pueden acceder las personas autorizadas y de la forma autorizada.
3.21.1. PostgreSQL El gestor de base de datos PostgreSQL es un sistema de gestión de bases de datos objeto-relacional, difundido bajo el permiso de BSD y código fuente accesible sin restricciones. Es el marco de administración de bases de datos de código abierto más eficaz disponible y en sus formas más recientes no tiene nada que envidiar a otras bases de datos empresariales. PostgreSQL utiliza un modelo de cliente / servidor y utiliza multiprocesamiento en contraposición a multihilos para garantizar la solidez del marco. Una decepción en uno de los procedimientos no influirá en el resto y el marco seguirá funcionando. El último arreglo de la creación es 9.3. Sus cualidades especializadas lo convierten en una destacada entre las bases de datos más intensas y potentes del mercado. Su avance se inició hace 16 años, y en este tiempo, la estabilidad, el control, el vigor, la sencillez de organización y el uso de las normas han sido las cualidades que se han considerado en medio de su mejora. PostgreSQL funciona muy bien con mucha información y con una alta simultaneidad de clientes que llegan al sistema. (Varga, Cherry, & D'Antoni, 2016, pág. 35) Posee las siguientes características como: Puede operar bajo las plataformas Windows,
26
Mac OS, Linux, BSD y UNIX, cumple con las características ACID, soporta caracteres UNICODE, maneja la tabla temporal e integridad referencial, tamaño máximo de la base de datos: ilimitado, tamaño máximo por tabla: 32 TB, longitud máxima de números: 64 bits, rango de fechas: -4713 — 5,874,897.
3.21.2. SQL Server SQL Server en un DBMS desarrollado por Microsoft para el manejo de bases de datos robustas sobre el sistema operativo Windows, dicho manejador nos proporciona muchas ventajas para su interacción con desarrollos de .NET. (Varga, Cherry, & D'Antoni, 2016, pág. 40). Nos ofrece estas características: Opera bajo la plataforma Windows, cumple con las características ACID, soporta caracteres UNICODE, maneja la tabla temporal, integridad referencial y GUI, tamaño máximo de la base de datos: 524,258 TB (32767 archivos de 16 TB), tamaño máximo por tabla: 524,258 TB, longitud máxima de números: 64 bits, rango de fechas: 0000 — 9999, como medidas de seguridad incluye: Encriptación de datos, reglas de complejidad para contraseñas, ejecución sin privilegios, auditoría, limitación de recursos, separación de rangos de usuario y certificación CC EAL4+.
3.21.3. DB2 DB2 es un popular DBMS surgido en 1982, creado por Informix, empresa que fue adquirida por IBM en el año 2001. Este manejador, dependiendo de su versión, está diseñado para poder trabajar en dispositivos que van desde PDA (Personal Digital Assistent) hasta mainframes. (Casillas, Gibert, & Pérz, 2014, pág. 67) . La última versión de este software propietario nos ofrece las siguientes características: Puede operar bajo las plataformas Windows, Linux y UNIX, cumple con las características ACID, soporta caracteres UNICODE, maneja la tabla temporal, integridad referencial y GUI. e) Tamaño máximo de la base de datos: 512 TB, tamaño máximo por tabla: 512 TB, longitud máxima de números: 64 bits. h) Rango de fechas: 0001 — 9999, como medidas de seguridad incluye: Encriptación de datos, separación de rangos de usuario, reglas de complejidad para
27
contraseñas, ejecución sin privilegios, auditoría, limitación de recursos y certificación CC EAL4+.
3.21.4. MySQL MySQL es un muy popular DBMS con millones de instalaciones alrededor del mundo, proveyendo de acceso a múltiples usuarios a todas estas bases de datos. Fue desarrollado por MySQL AB que, ahora como 102 subsidiaria de Sun Microsystems, distribuye este software bajo licencias libres (GNU) y propietarias (versión Enterprise). La primera versión fue lanzada en 1996. (Casillas, Gibert, & Pérz, 2014, pág. 70). La última nos ofrece las siguientes características: Puede operar bajo las plataformas Windows, Mac OS, Linux, BSD, Symbian, Solaris y UNIX, cumple con las características ACID, soporta parte de los caracteres UNICODE, maneja la tabla temporal e integridad referencial, tamaño máximo de la base de datos: “ilimitada”, tamaño máximo por tabla: 2 GB (16 GB en Solaris), longitud máxima de números: 64 bits, rango de fechas: 1000 — 9999, como medidas de seguridad incluye: Encriptación de datos, y ejecución sin privilegios.
3.21.5. ORACLE ORACLE es un poderoso DBMS desarrollado por Software Development Laboratories (hoy en día ORACLE Corporation). Este software propietario está destinado a trabajar con bases de datos robustas. (Casillas, Gibert, & Pérz, 2014, pág. 74) Características que nos ofrece la última versión (11g): Puede operar bajo las plataformas Windows, Mac OS, Linux y UNIX, cumple con las características ACID, soporta caracteres UNICODE, maneja la tabla temporal, integridad referencial, tamaño máximo de la base de datos: ilimitado, tamaño máximo por tabla: 4 GB x tablespace, longitud máxima de números: 128 bits, rango de fechas: -4712 — 9999. 103, como medidas de seguridad incluye: Encriptación de datos, protección contra ataques de fuerza bruta, reglas de complejidad para contraseñas, auditoría, limitación de recursos, y certificación CC EAL4+.
28 Tabla 4 Manejadores de BD Manejadores de BD
Plataformas soportadas
ACID Tamaño máximo de BD Tamaño máximo por tabla Longitud máxima de números Certificaciones
DB2 Windows, Linux, Unix
ORACLE Windows, Mac OS, Linux y UNIX
PostgreSQL Windows, Mac OS, Linux, BSD y UNIX
SQL Server Windows
Si 512 TB
MySQL Windows, Mac OS, Linux, BSD, Symbian, Solaris y UNIX Si Ilimitado
Si Ilimitado
Si Ilimitado
Si 524,258 TB
512 TB
2 GB
4 GB x tablespace
32 TB
64 bits
64 bits
CC, EAL4+
128 bits
EAL4+
64 bits
64 bits
EAL1
EAL4+
Nota: Comparativa de manejadores Base de Datos. Fuente: Análisis de herramientas para la implementación del sistema, 2017.
Como sistema gestor de la base de datos escogimos PostgreSQL por la experiencia de haber trabajado con la herramienta, teniendo así un mayor dominio en su uso y rendimiento, llegando a rescatar que es un sistema de gestión de bases de datos objeto-relacional, difundido bajo el permiso de BSD y código fuente accesible sin restricciones, de igual manera se puede trabajar con la arquitectura vista controlador de modelo cliente-servidor.
3.22.
Que es un framework El concepto framework se emplea en muchos ámbitos del desarrollo de sistemas
software en general, con el término framework, nos estamos refiriendo a una estructura software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación. En otras palabras, un framework se puede considerar como una aplicación genérica incompleta y configurable a la que podemos añadirle las últimas piezas para construir una aplicación concreta. Los objetivos principales que persigue un framework son: acelerar el proceso de desarrollo, reutilizar código ya existente y promover buenas prácticas de desarrollo como el uso de patrones, un framework Web, por tanto, podemos definirlo como un conjunto de componentes que componen un diseño reutilizable que facilita y agiliza el desarrollo de
29
sistemas Web. (Gutiérrez, 2014, pág. 1).
3.22.1. AngularJS AngularJS es un proyecto de código abierto, realizado en Javascript que contiene un conjunto de librerías útiles para el desarrollo de aplicaciones web y propone una serie de patrones de diseño para llevarlas a cabo. En pocas palabras, es lo que se conoce como un framework para el desarrollo, en este caso sobre el lenguaje Javascript con programación del lado del cliente. AngularJS está pisando fuerte, aunque su primera versión fue en 2009, se ha hecho muy popular a finales de 2012 y 2013 está en pleno auge. Tanto que ya se habla de una nueva technology stack como antes era LAMP (Linux + Apache + MySQL + PHP) ahora la tendencia es MEAN (MongoDB/Mongoose + ExpressJS + AngularJS + NodeJS), lo que también se traduce a aplicaciones JavaScript End-to-End. (Azaustre, 2014, pág. 10).
3.23. Metodologías de desarrollo de software La metodología de desarrollo de software se refiere un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo de un sistema de información, permitiendo que el desarrollo de sistemas de información sea de forma estructurada, ordenada y basada en estándares que harán que todo el proceso de desarrollo tenga un monitoreo constante, mitigando posibles fallas durante el proceso. Es así que, durante décadas las metodologías se han ido evolucionando, e incrementado en número, pretendiendo abarcar la gran mayoría de los entornos de trabajo, pero evidentemente es muy difícil abarcar la totalidad de estos entornos, por lo que en los últimos años las metodologías denominadas ágiles son las que han surgido como marcos de trabajo para la diversidad de entornos a los que el mundo está expuesto actualmente. Cada metodología de desarrollo intenta solventar lo que, con la experiencia obtenida a lo largo de los años, han determinado como importante para la implementación en cada entorno de trabajo, sin embargo, no todas las metodologías de desarrollo son adaptables a todos los entornos de trabajo, por lo que la correcta selección de éstas, permitirá que el desarrollo de software sea mucho más
30
rápido, efectivo y sobre todo que satisfaga las necesidades de cada cliente específico. (González, y otros, 2010, págs. 17-18) . Existen diferentes modelos y metodologías que han sido en los últimos años herramientas de apoyo para el desarrollo del software, dentro de las cuales existen dos grandes grupos, metodologías tradicionales y metodologías agiles. A continuación, se define esquemáticamente algunas de las principales diferencias entre estos dos grupos de metodologías:
Tabla 5 Metodología de desarrollo Metodologías de desarrollo
METODOLOGIAS TRADICIONALES Basadas en normas provenientes de estándares seguidos por el entorno de desarrollo. Resistencia al cambio. Proceso controlado con numerosas políticas y normas.
METODOLOGIA AGILES Basadas en heurísticas provenientes de prácticas de producción de código. Preparadas para cambios durante el proyecto. Proceso menos controlado, con pocos principios
El cliente interactúa con el equipo de desarrollo mediante reuniones. Contrato prefijado.
El cliente es parte del equipo de desarrollo.
La arquitectura del software es esencial y se expresa mediante modelos desde el principio.
Menos énfasis en la arquitectura del software. Se va definiendo en el desarrollo.
Entre las metodologías tradicionales podemos citar: -RUP (Rational Unified Procces). -MSF (Microsoft Solution Framework). -Win-Win Spiral Model. -Iconix.
Entre las metodologías agiles podemos citar: -XP (Extreme Programming). -Scrum. -Crystal Clear. -Kanban
No existe contrato tradicional.
Nota: Comparativa de Metodologías de desarrollo. Fuente: Freire, C. & Eras, S, Resultado obtenido de las diferentes características, 2017.
De acuerdo con esta comparativa este proyecto se inclinará por las metodologías ágiles ya que son mejores y van de la mano con la actualidad en desarrollo de software.
31
3.23.1. Metodologías Ágiles Las metodologías agiles constituyen un nuevo enfoque en el desarrollo de software, estas son mejor aceptadas por los desarrolladores de sistemas que las metodologías convencionales debido a la simplicidad de sus reglas y prácticas, su orientación a quipos de desarrollo de pequeño tamaño, su flexibilidad ante los cambios y su ideología de colaboración.
La organización The agile Alliance, tiene como concepto de ágil lo siguiente: La capacidad de crear y responder al cambio con el fin de tener éxito en un entorno incierto y turbulento (Alliance Agile, 2015). Y como concepto de desarrollo de software ágil lo siguiente: Es un término genérico para un conjunto de métodos y prácticas basadas en los valores y principios expresados en el manifiesto ágil. Las soluciones evolucionan a través de la colaboración entre, equipos multi-funcionales de autoorganización que utilizan las prácticas apropiadas para su contexto (Alliance Agile, 2015). Es decir, el objetivo de las metodologías de desarrollo ágiles es la respuesta eficaz al cambio, en donde se desconoce lo que pueda suceder, basándose en el manifiesto ágil en donde se encuentra los principios básicos que las metodologías ágiles practican para maximizar la eficiencia y eficacia de los sistemas de información.
3.23.2. Manifiesto Ágil Como establecen Gimson, Gil & Rossi (2012), estos principios son las características que diferencian un proceso ágil de uno tradicional. Dos de ellos hacen referencias a generalidades, luego hay seis que tienen que ver directamente con el proceso de desarrollo de software a seguir y cuatro que están más directamente relacionados con el equipo de desarrollo, en cuanto metas a seguir y organización del mismo. (p. 3-4). 1) la prioridad es satisfacer al cliente mediante entregas de software tempranas y continuas; 2) los cambios en los requerimientos son aceptados; 3) software que funcione se entrega frecuentemente, con el menor intervalo posible entre
32
entregas; 4) el cliente y los desarrolladores deben trabajar juntos a lo largo del proyecto; 5) el proyecto se construye en base a individuos motivados; 6) el dialogo cara a cara es el método más eficiente y efectivo para comunicar información dentro del equipo; 7) el software que funcione es la medida principal del progreso; 8) los procesos ágiles promueven el desarrollo sostenido; 9) la atención continua a la excelencia técnica y al buen diseño mejora la agilidad; 10) la simplicidad es esencial; 11) las mejores arquitecturas, requerimientos y diseños surgen de equipos auto organizados, y 12) el equipo reflexiona en cómo ser más efectivos, y ajusta su comportamiento en consecuencia. Aunque los creadores e impulsores de las metodologías ágiles más populares han suscrito el manifiesto ágil, cada metodología tiene características propias y hace hincapié en algunos aspectos más específicos como veremos a continuación:
3.23.3. eXtreme Programming (XP) La programación extrema o eXtreme Programming (XP) es una metodología de desarrollo de la ingeniería de software formulada por Kent Beck. Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una
33
aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos. Se puede considerar la programación extrema como la adopción de las mejores metodologías de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinámica durante el ciclo de vida del software.
3.23.4. Scrum El corazón del enfoque Scrum es la creencia que la mayoría de los desarrollos de sistemas tienen las bases filosóficas erróneas, Ken Schwaber afirma que el desarrollo de sistemas no es un proceso definido como asumen las metodologías rigurosas, sino un proceso empírico. Un proceso empírico requiere un estilo completamente diferente de administración. Los procesos empíricos, a diferencia de los rigurosos, no pueden repetirse consistentemente, requieren por lo tanto monitoreo y adaptación constante. Scrum comienza con la premisa que el mundo es complicado y por lo tanto no se puede predecir o planear definitivamente lo que se entregará, cuando se entregará y que calidad y costo tendrá, por ello Scrum tienen un énfasis en la administración de proyecto. Esta metodología, SCRUM, se centra en la gestión del proyecto y puede aplicarse a otros proyectos que no tienen que ver con el desarrollo de software. Busca el trabajo cooperativo de equipos multidisciplinares altamente productivos. Define sprints de duración fija y determina una serie de reuniones a realizar a lo largo del proyecto. Como resultado de cada sprint se entrega un incremento. Plantea realizar un monitoreo del proceso y una adaptación constante. Actualmente es uno de los métodos ágiles que más está creciendo. En el primer Scrum se usaron todas las prácticas ingenieriles de XP y sentaron las bases de la ingeniería actual. La mayoría de los equipos con alta performance usan conjuntamente SCRUM y XP. Es difícil obtener un Scrum con velocidad extrema sin las prácticas ingenieriles de XP. Por otro lado, no se puede escalar XP sin Scrum.
34
3.23.5. Kanban Kanban es un sistema muy simple que se basa principalmente en: Visualización del flujo de trabajo, Limitación del trabajo en proceso, Medición y Gestión del Flujo y Mejora incremental. Tal como lo mencionan los autores de esta metodología, son justamente los métodos simples los que generan los menores trastornos y generalmente los más sustentables beneficios. Esta metodología puede verse como un sistema transparente y visual de limitación del trabajo en curso y arrastre (pull) del valor. Ayuda a entregar valor promoviendo el flujo y exponiendo los cuellos de botella, las colas, el impacto de los defectos, los costos económicos y por lo tantos el desperdicio. Kanban, tal como uno de sus mayores exponentes David Anderson afirma, ha demostrado ser útil en equipos que realizan desarrollo Ágil de software, pero también están ganando fuerza en equipos que utilizan métodos más tradicionales. Kanban se está introduciendo como parte de iniciativas Lean para transformar la cultura de las organizaciones y fomentar la mejora continua. Kanban dentro de un proyecto o en un área tiene que ser adaptado a su contexto y a sus características específicas.
3.23.6. Crystal Clear Esta metodología se centra en las personas, la interacción, comunicación directa, habilidades, talentos con la convicción que son éstos quienes tienen el efecto mayor en el desempeño, dejando al proceso en un segundo lugar. Cada equipo tiene un conjunto distinto de talentos y habilidades y por lo tanto cada equipo debe utilizar un proceso de desarrollo adaptado a él. Minimiza el proceso significativamente, una de las razones para realizar ésto es que exige que la ubicación del equipo esté en un solo lugar físico. Es una metodología ágil con la cual el equipo no solo va haciendo evolucionar los entregables sino el proceso mismo de desarrollo. Tal vez la contribución más importante es ofrecer las Siete Propiedades de los Proyectos Exitosos. Alistair ha estudiado proyectos ágiles exitosos y ha identificado rasgos comunes entre ellos. Estas propiedades llevan al proyecto al
35
éxito; en cambio su ausencia pone en riesgo el proyecto.
3.23.7. Comparación y selección de metodologías Para poder seleccionar una metodología se debe tener en cuenta el entorno de trabajo en donde se va a desarrollar, ya que cada metodología se enfoca en aspectos y funciones diferentes, lo que las diferencia unas de otras, es decir, la correcta selección de una metodología permitirá que el desarrollo de software sea exitoso, permitiendo obtener las mejores retribuciones posibles tanto para el cliente como para la entidad que desarrolla. Mediante la tabla comparativa de metodologías podemos escoger la más óptima de acuerdo con sus características para el desarrollo del sistema académico, como pudimos observar las metodologías tradicionales son predictivas, lo que las hace vulnerables a los cambios constantes que el ITS “Los Andes” puede experimentar en las decisiones de las autoridades. De igual manera se menciona que el proceso de las metodologías tradicionales es rígido, lo que impide tener un acercamiento al entorno a la que el instituto se ve expuesto. En adición a esto, la tabla muestra que las metodologías tradicionales generan una documentación extensa, lo que demoraría aún más el tiempo de desarrollo del sistema. Es por ello que la selección de la metodología de desarrollo adecuada para el instituto se centra en las metodologías ágiles, pero para ello debemos escoger cuál de ellas es la apropiada para el proyecto entre estas tenemos Scrum, XP, Crystal Clear, Kanban. Sabiendo esto debemos seleccionar la que se mas se apegue a la realidad del instituto, dentro del cual la participación del cliente, la entrega incremental y el adoptar el cambio, son los factores más relevantes, en donde XP, tiene una mayor relevancia en conclusión se puede determinar que para él instituto, la metodología de desarrollo XP, es la que más se apega a la realidad institucional.
36
4. METODOLOGÍA DE LA INVESTIGACIÓN 4.5. Diseño / Tipo de investigación 4.5.1. Enfoque cuantitativo-deductivo Según Sampieri, Fernández & Baptista (2016), el enfoque cuantitativo es secuencial y probatorio ya que cada etapa precede a la siguiente y no podemos eludir pasos, donde el orden es riguroso, aunque desde luego, podemos redefinir alguna fase así mismo parte de una idea que va acotándose y, una vez delimitada, se derivan objetivos y preguntas de investigación, se revisa la literatura y se construye un marco o una perspectiva teórica. De las preguntas se determinan variables y se miden en un determinado contexto, se analizan las mediciones obtenidas utilizando métodos estadísticos, y se extrae una serie de conclusiones. Es por ello que nuestro enfoque de estudio será el enfoque cuantitativo ya que nos ofrece la posibilidad de generalizar los resultados más ampliamente, otorgándonos control sobre los fenómenos de estudio, así como un punto de vista basado en conteos así mismo nos brinda una gran posibilidad de repetición y se centra en puntos específicos de tales fenómenos. Por consiguiente, para este proyecto se utilizarán la investigación exploratoria y descriptiva, ya que nos permitan recoger la mayor información posible acerca de los procesos y actividades que debe realizar el sistema para tener total satisfacción por parte de la institución.
4.5.2. Investigación Exploratoria Este tipo de investigación nos ayudara para una mayor penetración y comprensión del problema, determinando todas las necesidades que tiene el ITS “Los Andes” previo a la recolección de datos, para así tomar en cuenta todos los aspectos que se consideren importantes para automatizar el proceso académico.
4.5.3. Investigación Descriptiva La investigación descriptiva nos permitirá especificar las propiedades, características y rasgos importantes en nuestro fenómeno de estudio.
37
4.6.
Población / Universo La población es el conjunto de personas de los que se desea conocer algo en una
investigación. Población: Nuestra población está conformada por el personal del Departamento Informático que lo compone una persona, el personal del departamento administrativo que está conformado por la Secretaria del ITS “Los Andes” quien es la encargada de trabajar directamente con el sistema, el Sr. Rector y la Sra. Vicerrectora quienes son los que nos dieron apertura para recabar la información necesaria para desarrollar el software y por último los Docentes que forman parte de este proceso académico, por lo tanto contamos con 13 personas: 1 miembro del departamento informático. 1 secretaria. 1 rector. 1 vicerrectora. 9
4.7.
docentes.
Muestra La muestra es una porción reducida pero representativa de la población, y cuya
característica principal es que nos brinda la mayor cantidad de información precisa acerca de la población, Como nuestra muestra es mínima es la misma que la población es decir 13 personas: 1 miembro del departamento informático. 1 secretaria. 1 rector. 1 vicerrectora.
38
9
4.8.
docentes.
Instrumentos de recogida de datos Las técnicas de recolección de datos son importantes ya que permiten definir los
requerimientos deseados para poder abordar el problema y ofrecer soluciones, recolectando información a través del contacto directo entre el sujeto investigador y el objeto de estudio, es decir con la realidad. Existen varias técnicas de recolección de datos sin embargo utilizaremos la entrevista y encuestas, para recabar información pertinente de parte de la persona encargada de realizar los procesos académicos de la Escuela de Conducción del ITS “Los Andes”.
4.8.1. Entrevista Técnica orientada a establecer contacto directo con las personas que se considera fuente de información. Se realizará entrevistas al personal informático y administrativo que estará a cargo del manejo y mantenimiento del sistema web académico. Primero realizamos la entrevista a la Sra. Vicerrectora de la institución fueron 4 preguntas, en donde nos facilitó información, luego procedimos a efectuar la entrevista al administrador de sistemas realizando 6 preguntas acerca de las herramientas de desarrollo y por último realizamos 8 preguntas a la secretaria del instituto sobre la situación actual que tiene el proceso académico. Los modelos de las preguntas realizadas en la entrevista se encuentran en el anexo 1.
4.8.2. Encuestas Las encuestas realizadas fueron sometidas a los docentes de la institución por medio de un cuestionario como instrumento en la recogida de datos la cual contenía 7 preguntas cerradas las cuales nos ayudarán a determinar que procedimiento adoptar para la realización del sistema académico. Además, se presentó en un formato impreso para su desarrollo y proceder a la tabulación. El modelo de la encuesta se encuentra en el anexo 2.
39
4.9.
Técnicas de Análisis de Datos El análisis de datos consiste en la realización de las operaciones a las que el
investigador someterá los datos con la finalidad de alcanzar los objetivos del estudio. Técnica Cuantitativa de acuerdo con Sampieri, Fernández & Baptista (2016), expresa que este tipo de técnica es aquella en la que los datos se presentan en forma numérica. Nos ayudan a organizar la información que obtenemos en la recolección de datos, de esta forma la información se vuelve detectable, ubicable y trazable.
4.10. Metodología de desarrollo de software 4.10.1Metodología XP (Extreme Programming) Es una metodología mucho más arriesgada, versátil y flexible para el desarrollo de software. Esta propuesta metodológica fue denominada extrema porque lleva a límites extremos algunos elementos y actividades comunes de la forma tradicional de programar, de ahí proviene su nombre. 4.10.1.1Características de la metodología XP Comunicación: Los programadores están en constante comunicación con los clientes para satisfacer sus requisitos y responder rápidamente a los cambios de los mismos. Muchos problemas que surgen en los proyectos se deben a que después de concretar los requisitos que debe cumplir el programa, no hay una revisión de los mismos, pudiendo dejar olvidados puntos importantes. Simplicidad: Codificación y diseños simples y claros. Muchos diseños son tan complicados que cuando se quieren ampliar resulta imposible hacerlo y se tienen que desechar y partir de cero. Realimentación (Feedback): Mediante la realimentación se ofrece al cliente la posibilidad de conseguir un sistema apto a sus necesidades ya que se le va mostrando el proyecto a tiempo para poder ser cambiado y poder retroceder a una fase anterior para rediseñarlo a su gusto.
40
Coraje: Se debe tener coraje o valentía para cumplir los tres puntos anteriores; Hay que tener valor para comunicarse con el cliente y enfatizar algunos puntos, a pesar de que esto pueda dar sensación de ignorancia por parte del programador, hay que tener coraje para mantener un diseño simple y no optar por el camino más fácil y por último hay que tener valor y confiar en que la realimentación sea efectiva.
4.10.1.2Fases de la metodología XP 4.10.1.2.1 Fase 1: Planificación del Proyecto En esta fase se debe hacer una recopilación de todos los requerimientos del proyecto, también debe haber una interacción con el usuario, y se debe planificar que es lo que se quiere para el proyecto y así lograr los objetivos finales. El proceso de reunión de requisitos se intensifica y se centra especialmente en el software. Dentro del proceso de análisis, es fundamental que, a través de una colección de requerimientos funcionales y no funcionales, el desarrollador o desarrolladores del software comprendan completamente la naturaleza de los programas que deben construirse para desarrollar la aplicación, la función requerida, comportamiento, rendimiento e interconexión.
4.10.1.2.2 Fase 2: Diseño. El diseño es el primer paso en la fase de desarrollo de cualquier producto o sistema de ingeniería. De acuerdo con Pressman, R. (2010) el objetivo del diseño es producir un modelo o representación de una entidad que se va a construir posteriormente. Lo más recomendable es realizar diseños simples que hagan todo lo menos complicado posible tanto para el usuario como para el desarrollador y de esta manera obtener un diseño entendible e implementarle en menos tiempo y sin mucho esfuerzo. En esta fase se obtiene el Modelo Relacional, la arquitectura de la aplicación.
41
4.10.1.2.3 Fase 3: Codificación Esta actividad consiste en traducir el diseño, en una forma legible por la máquina es decir la creación del código fuente. En esta fase de la codificación los clientes y los desarrolladores del proyecto deben estar en comunicación para poder codificar todo los necesario para el proyecto que se requiere, en esta fase está incluido todo lo de codificación o programación por parte de los desarrolladores del proyecto. La codificación debe hacerse ateniendo a estándares de codificación ya creados. Programar bajo estándares mantiene el código consistente y facilita su comprensión y escalabilidad.
4.10.1.2.4 Fase 4: Pruebas Uno de los pilares de la metodología XP es el uso de test para comprobar el funcionamiento de los códigos que vayamos implementando. Una vez que se ha generado código, comienzan las pruebas del software o sistema que se ha desarrollado. De acuerdo con Pressman, R. (2010), el proceso de pruebas se centra en los procesos lógicos internos del software, asegurando que todas las sentencias se han comprobado, y en los procesos externos funcionales, es decir, la realización de las pruebas para la detección de errores.
4.10.1.3 Instrumentos usados en XP Dentro de los instrumentos usados en XP resaltan las historias de usuarios como el instrumento principal de la metodología. Además, se utilizan otros artefactos como las tareas de ingeniería o programación y las tarjetas CRC (Tarjetas de Clases, Responsabilidades y Colaboración).
4.10.1.3.1 Historias de Usuario Las historias de usuario son la técnica utilizada en XP para especificar los requisitos del software. Representan una breve descripción del comportamiento del sistema. Se trata de tarjetas de papel en las cuales el cliente describe brevemente las características que el sistema debe poseer, sean requisitos funcionales o no funcionales. Se emplea terminología del cliente
42
sin lenguaje técnico, se realiza una historia de usuario por cada característica principal del sistema. Se emplean para hacer estimaciones de tiempo y para el plan de lanzamientos. El tratamiento de las historias de usuario es muy dinámico y flexible, en cualquier momento las historias de usuario pueden romperse, reemplazarse por otras más específicas o generales, añadirse nuevas o ser modificadas. Cada historia de usuario es lo suficientemente comprensible y delimitada para que los programadores puedan implementarla en unas semanas, para efectos de planificación, las historias pueden ser de una a tres semanas de tiempo de programación (para no superar el tamaño de una iteración).
4.10.1.3.2 Roles XP En este apartado se describen los roles de acuerdo con la propuesta original de Beck, si bien en otras fuentes de información aparecen algunas variaciones y extensiones de roles en XP. Los roles originales fueron: Programador, Cliente, Encargado de Pruebas, Encargado de Seguimiento, Entrenador, Consultor y Gestor. Programador: es el encargado de escribir las pruebas unitarias y producir el código del sistema. Cliente: escribe las historias de usuario y las pruebas funcionales para validar su implementación. Además, asigna la prioridad a las historias de usuario y decide cuáles se implementan en cada iteración buscando aportar mayor valor al negocio. Encargado de pruebas (Tester): ayuda al cliente a escribir las pruebas funcionales. Ejecuta las pruebas regularmente, difunde los resultados en el equipo y es responsable de las herramientas de soporte para pruebas. Encargado de seguimiento (Tracker): proporciona realimentación al equipo en el proceso XP. Su responsabilidad es verificar el grado de acierto entre las estimaciones realizadas y el tiempo real dedicado. Entrenador (Coach): es responsable del proceso global. Es el líder del equipo y quien toma las decisiones importantes. Consultor: es un miembro externo del equipo con un conocimiento específico en algún
43
tema necesario para el proyecto. Guía al equipo para resolver un problema específico. Gestor (Big boss): es el vínculo entre clientes y programadores, ayuda a que el equipo trabaje efectivamente creando las condiciones adecuadas. Su labor esencial es de coordinación
4.10.1.4 El Proceso de desarrollo en XP El desarrollo es la pieza clave de todo el proceso XP. Todas las tareas tienen como objetivo realizar el desarrollo a la máxima velocidad, sin interrupciones y siempre en la dirección correcta. A grandes rasgos, el ciclo de desarrollo se puede simplificar en los siguientes pasos: El cliente define el valor de negocio a implementar. El programador estima el esfuerzo necesario para su implementación. El cliente selecciona qué construir, de acuerdo con sus prioridades y las restricciones de tiempo. El programador construye ese valor de negocio. Vuelve al paso 1. En todas las iteraciones de este ciclo tanto el cliente como el programador aprenden. N o se debe presionar al programador a realizar más trabajo que el estimado, ya que se perderá calidad en el software o no se cumplirán los plazos. De la misma forma el cliente tiene la obligación de manejar el ámbito de entrega del producto, para asegurarse que el sistema tenga el mayor valor de negocio posible con cada iteración. El ciclo de vida ideal de XP consiste en seis fases: Exploración, Planificación de la Entrega, Iteraciones, Producción, Mantenimiento y Muerte del Proyecto.
44
5
RESULTADOS
5.1 Análisis y Discusión de los resultados 5.1.1 Tabulación de la Encuesta realizada al personal docente de ITS “LOS ANDES” Pregunta 1: ¿Usted dispone de una cuenta de correo electrónico? Tabla 6 Disponibilidad de cuenta de correo electrónico Disponibilidad de cuenta de correo electrónico
SI 100%
NO
NOSE
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
Cuenta de correo electrónico NOSE NO 0%
SI
SI 100% NO NOSE
Figura 1. Disponibilidad de cuenta electrónica Fuente: Santo Domingo. PUCE SD. 2017.
ANALISIS En los resultados obtenidos podemos observar que todos los docentes de esta institución poseen por lo menos una cuenta de correo electrónico, ya que todos contestaron que si en la pregunta obteniendo un 100% de aceptación.
45
Pregunta 2: ¿Considera usted que se necesita automatizar los procesos académicos de la Escuela de Conducción? Tabla 7 Automatización de procesos académicos Automatización de procesos académicos
SI 30%
NO 0%
NOSE 70%
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD
Automatizacion de procesos académicos
SI 30% NO 0%
NOSE 70%
SI
NO
NOSE
Figura 2. Automatización de procesos académicos Fuente: Santo Domingo., PUCE SD. 2017.
ANALISIS El resultado obtenido señala que el 70% de los docentes encuestados ven factible que los procesos académicos de la Escuela de Conducción sean automatizados.
Pregunta 3: ¿Cree usted que el ingreso de notas y asistencias se realiza eficientemente?
46 Tabla 8 Eficiencia de ingreso de notas y asistencia Eficiencia de ingreso de notas y asistencia
SI 30%
NO 20%
NOSE 50%
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD
Ingreso de notas
SI 30%
NOSE 50%
NO 20%
SI
NO
NOSE
Figura 3. Eficiencia de ingreso de notas y asistencias Fuente: Santo Domingo. PUCE SD. 2017
ANALISIS Del resultado podemos apreciar que solo un 30% de los docentes encuestados creen que el ingreso de notas y asistencias se realiza de una manera eficiente. Pregunta 4: ¿Ve conveniente implementar un sistema web académico que facilite el ingreso de notas y asistencias de los alumnos? Tabla 9 Implementación de sistema web académico Implementación de sistema web académico
SI 70% Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD
NO 10%
NOSE 20%
47
Implementacion de un sistema web NOSE 20%
NO 10%
SI 70%
SI
NO
NOSE
Figura 4. Implementación de sistema web académico Fuente: Santo Domingo. PUCE SD. 2017
ANALISIS La mayoría de los docentes aprueba la implementación de sistema web académico que facilite el ingreso de notas y asistencias con un 70% de aceptación.
Pregunta 5: ¿Usted considera importante invertir en TICs? Tabla 10 Importancia de las TICs Importancia de las TICs
SI 90% Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD
NO 0%
NOSE 10%
48
Importancia de las TICS NO 0%
NOSE 10%
SI 90% SI
NO
NOSE
Figura 5. Importancia de las TICs Fuente: Santo Domingo. PUCE SD. 2017
ANALISIS El 90% de los encuestados consideran importante invertir en TIC para mejoramiento de la institución.
Pregunta 6: ¿Considera que el nivel de tecnología en ITS “LOS ANDES” es? Tabla 11 Nivel de tecnología del instituto Nivel de tecnología del instituto
EXELENTE 60%
BUENO 0%
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD
REGULAR 40%
MALO 0%
49
Nivel de tecnología del instituto
REGULAR 40%
EXELENTE; 60%
EXELENTE
BUENO
REGULAR
MALO
Figura 6. Nivel de tecnología del instituto Fuente: Santo Domingo. PUCE SD. 2017
ANALISIS El estándar de tecnología de la institución de acuerdo con el criterio de los docentes se encuentra en excelente con un 60%, pero también obtenemos un porcentaje de docentes que opinan que se debe mejorar.
Pregunta 7: ¿Desde su experiencia, considera que la implementación de las TICs propicia un mejor rendimiento académico? Tabla 12 Mejora de rendimiento académico a través de las Mejora de rendimiento académico a través de las TICs
SI 25% Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD
NO 5%
NOSE 70%
50
Rendimiento academico SI 25%
NO 5% NOSE 70%
SI
NO
NOSE
Figura 7. Mejora de rendimiento académico a través de las TICs Fuente: Santo Domingo. PUCE SD. 2017
ANALISIS Solo el 25% de los encuestados cree poco importante invertir en TIC para mejora del rendimiento académico en una institución.
5.1.2 Entrevista realizada a la vicerrectora del ITS “LOS ANDES” Tabla 13 Conocimiento de la problemática por parte de las autoridades Conocimiento de la problemática por parte de las autoridades
PREGUNTA ¿Cuáles son sus responsabilidades en el ITS “LOS ANDES”?
RESPUESTA Principalmente me encargo de la logística de la Escuela de Conducción al inicio de cada periodo académico
¿Está al tanto de la existencia de alguna problemática que se presente en la institución?
Si
¿Cuál es?
Tengo entendido que el sistema académico que se utiliza tiene algunas fallas lo cual evita trabajar con eficiencia a la secretaria
51
¿En caso de poder plantear una solución podrá facilitarnos el acceso al ITS “LOS ANDES” así como personal que aporte a la recolección de la información necesaria para implementar la solución?
Por supuesto
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
ANALISIS
Luego de haber realizado la entrevista, la vicerrectora del ITS “LOS ANDES”, constata que existen inconvenientes con el sistema que actualmente utiliza esta institución por tal motivo da el visto bueno para que se proceda a la implementación de un nuevo sistema web académico.
5.1.3 Entrevista realizada al experto en sistemas de la Escuela de Conducción del ITS “LOS ANDES”. Tabla 14 Requerimientos generales del sistema web académico Requerimientos generales del sistema web académico
PREGUNTA ¿Cuáles son sus responsabilidades en el ITS “LOS ANDES”?
RESPUESTA Soy el encargado del área informática del instituto.
¿Cuál es el problema que demanda una solución?
El sistema académico de la institución es obsoleto.
¿En qué lenguaje de programación debe ser creado el sistema? ¿Alguna razón en particular para justificar su elección del gestor de base de datos?
De preferencia php. Queremos implementar un sistema de contabilidad y este gestor nos facilitara la migración de datos.
¿Quién manejará la solución?
La secretaria.
¿Quiénes más tendrán acceso al sistema de información?
A parte de la secretaria, la vicerrectora, los docentes y Yo como encargado del área de informática.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
52 ANALISIS
Con esta entrevista al encargado del área de sistemas del ITS “LOS ANDES”, se puedo obtener las plataformas de desarrollo en la que solicitan sean programado el sistema además de informar el porqué de la elección de estas herramientas.
5.1.4 Entrevista a la secretaria de la Escuela de Conducción del ITS “LOS ANDES”. Tabla 15 Conocimiento de los procesos académicos Conocimiento de los procesos académicos
PREGUNTAS ¿Cuáles son sus responsabilidades en el ITS “LOS ANDES”?
RESPUESTAS Matriculación de alumnos, asignación de materias a profesores, ingreso de notas.
¿Presenta algún tipo de inconvenientes al realizar estas tareas?
Si
¿Cuáles son?
El sistema que manejo actualmente no es muy bueno, resulta tedioso a la hora de realizar varias de mis responsabilidades
¿Cuál es el proceso que seguir para la matriculación de un nuevo alumno?
Tomar todos sus datos personales
¿Cuál es el proceso que seguir para la creación de un nuevo periodo académico?
Elegir las materias que se impartirán y asignar los docentes
¿En base a que se manejan los estándares de evaluación a los estudiantes?
A los estándares que nos envía la Agencia Nacional de Tránsito
¿Necesita la generación de algún tipo de reporte académico?
SI
¿Cuáles son?
De notas y actas de grado
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
53 ANALISIS La secretaria del ITS “LOS ANDES” brindo la información necesaria acerca de los procesos académicos que ella realiza y los cuales deben ser implementados en el sistema web académico además de mencionar otras tareas entre las cuales la creación de reportes académicos.
5.2 Proceso XP 5.2.1. Fase 1: Planificación del proyecto 5.2.1.1 Técnicas de días ideales Uno de los pasos más complejos del proceso de desarrollo de software es la fase de estimación, puesto que en gran medida el éxito de un proyecto depende de este paso inicial tanto en tiempo como en costo; la mayoría de proyectos una vez empiezan a ser desarrollados, presentan inconvenientes que no se detectaron en el proceso de estimación, o en ocasiones los proyectos quedaron inconclusos y se van modificando a medida que se avanza en el desarrollo. Tabla 16 Calendario de trabajo Calendario de trabajo CALENDARIO DE TRABAJO MES
SEMANAS
DÍAS
HORAS
1
4
5
4
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
Tabla 17 Esfuerzo de trabajo Esfuerzo de trabajo ESFUERZO DESARROLLADO PERSONA
DÍA
HORA
2
1
4
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
= 1 punto de historia
54
5.2.1.2 Historias de usuario El primer paso de cualquier proyecto que siga la metodología X.P es definir las historias de usuario con el cliente. Las historias de usuario tienen la misma finalidad que los casos de uso, pero con algunas diferencias: En esta parte del documento se analizara el proceso de desarrollo del software para el sistema web académico, haciendo referencia a las historias de usuario de mayor relevancia para el cliente que se ha estructurado tomando como base las políticas y directrices implementadas por el ITS los Andes. A continuación, se presenta una plantilla de Historia de Usuario con una breve descripción de las partes que la componen. Tabla 18 Plantilla Historia de usuario Plantilla Historia de usuario Historia de usuario Número: (identificador de historia de usuario)
Nombre: (nombre de historia de usuario)
Usuario: (usuario -perfil- que especifica la historia de usuario) Prioridad en negocio: Alta/Media/Baja Riesgo en desarrollo: Alta/Media/Baja
Descripción: Como
Quiero Para (funcionalidad del sistema)
Escenarios de prueba: Dado Cuando Entonces
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
Iteración asignada: (número de iteración) asignada) Puntos estimados: (estimación realizada por el equipo de desarrollo)
55
5.2.1.2.1 Historias de usuario generadas
Tabla 19 Historia de usuario-crear usuarios Plantilla Historia de usuario-crear usuarios Historia de Usuario – Crear Usuarios Historia de usuario Número: 1
Nombre: Crear Usuarios
Usuario: Administrador Prioridad en negocio: Alta
Iteración asignada: 1
Riesgo en desarrollo: Media
Puntos estimados: 4
Descripción: COMO administrador QUIERO ingresar, modificar la información de usuarios PARA asignarles un perfil con sus respectivos privilegios. Escenarios de prueba: Dado la creación de usuarios CUANDO se pulse el botón guardar, ENTONCES se presenta el mensaje de creación correcta. Dado el ingreso de datos incorrectos en la creación de usuarios CUANDO se pulse el botón guardar, ENTONCES se presenta el mensaje de alerta. Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD. Tabla 20 Historia de usuario-modificar usuarios Plantilla Historia de usuario-modificar usuarios Historia de Usuario – Modificar Usuario Historia de usuario Número: 2
Nombre: Modificar Usuarios
Usuario: Administrador Prioridad en negocio: Alta
Iteración asignada: 1
Riesgo en desarrollo: Media
Puntos estimados: 2
Descripción: COMO administrador QUIERO poder modificar la información de los usuarios PARA tener sus datos actualizados
56 Escenarios de prueba: Dado la modificación de información de un usuario CUANDO se pulse el botón guardar, ENTONCES se presenta el mensaje de modificación correcta. Dado el ingreso de un dato en un campo de manera incorrecta en la modificación de datos de un usuario CUANDO se pulse el botón guardar, ENTONCES se presenta el mensaje de alerta. Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
Tabla 21 Historia de usuario-restablecer contraseña Plantilla Historia de usuario-restablecer contraseña Historia de Usuario – Restablecer Contraseña Historia de usuario Número: 3
Nombre: Restablecer Contraseña
Usuario: Administrador Prioridad en negocio: Alta
Iteración asignada: 1
Riesgo en desarrollo: Alta
Puntos estimados: 3
Descripción: COMO administrador QUIERO poder restablecer la contraseña de acceso al sistema PARA tener una alternativa de acceso al sistema en caso de pérdida de contraseña.
Escenarios de prueba: Dado el ingreso de información en el formulario de restablecimiento de contraseña CUANDO se pulse el botón guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó correctamente.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
57 Tabla 22 Historia de usuario-reporte usuarios Plantilla Historia de usuario-reporte usuarios Historia de Usuario – Reporte Usuarios Historia de usuario Número: 4
Nombre: Reporte Usuarios
Usuario: Administrador Prioridad en negocio: Baja
Iteración asignada: 4
Riesgo en desarrollo: Baja
Puntos estimados: 2
Descripción: COMO administrador QUIERO poder generar un reporte de los usuarios del sistema PARA tener un respaldo físico de la información de los usuarios.
Escenarios de prueba: Dado el ingreso de información de todos los usuarios al sistema CUANDO se pulse el botón de generar reporte, ENTONCES se presenta un reporte en una ventana emergente en formato pdf.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD. Tabla 23 Historia de usuario-creación de periodo académico Plantilla Historia de usuario- Creación de periodo académico Historia de Usuario – Creación de periodo académico Historia de usuario Número: 5
Nombre: Creación de periodo académico
Usuario: secretaria Prioridad en negocio: Alta
Iteración asignada: 1
Riesgo en desarrollo: Alta
Puntos estimados: 4
Descripción: COMO secretaria QUIERO poder crear un periodo académico eligiendo las fechas de inicio y fin del periodo PARA establecer el tiempo de duración del mismo.
58 Escenarios de prueba: Dado el ingreso de datos para la creación de un nuevo periodo académico CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito. Dado la creación de un periodo académico mientras uno se mantenga activo CUANDO se pulse el botón de guardar, ENTONCES el periodo académico creado debe generarse con el estado de pendiente.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD. Tabla 24 Historia de usuario-modificación de periodo académico Plantilla Historia de usuario- modificación de periodo académico Historia de Usuario – Modificación de periodo académico Historia de usuario Número: 6
Nombre: Modificación de periodo académico
Usuario: secretaria Prioridad en negocio: Alta
Iteración asignada: 1
Riesgo en desarrollo: Media
Puntos estimados: 2
Descripción: COMO secretaria QUIERO poder modificar o actualizar las fechas de inicio o final de periodo académico PARA solventar alguna eventualidad que se pueda presentar.
Escenarios de prueba: Dado la modificación de datos un periodo académico CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito. Dado la modificación de datos de periodo académico y se deje campos obligatorios en blanco CUANDO se pulse el botón guardar, ENTONCES se presenta el mensaje de alerta. Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
59 Tabla 25 Historia de usuario-registro de cursos Plantilla Historia de usuario- registro de cursos Historia de Usuario – Registro de cursos Historia de usuario Número: 7
Nombre: Registro de cursos
Usuario: secretaria Prioridad en negocio: Alta
Iteración asignada: 2
Riesgo en desarrollo: Media
Puntos estimados: 3
Descripción: COMO secretaria QUIERO registrar la creación de un nuevo curso PARA indicar a qué tipo de licencia pertenece, la modalidad de estudio y la capacidad máxima de alumnos.
Escenarios de prueba: Dado el ingreso de toda la información necesaria en el registro de un curso CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito. Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD. Tabla 26 Historia de usuario-modificación de cursos Plantilla Historia de usuario- modificación de cursos Historia de Usuario – Modificación de cursos Historia de usuario Número: 8
Nombre: Modificación de cursos
Usuario: secretaria Prioridad en negocio: Alta
Iteración asignada: 2
Riesgo en desarrollo: Media
Puntos estimados: 2
Descripción: COMO secretaria QUIERO poder modificar o actualizar la información de un curso PARA solucionar algún inconveniente que se presente al momento de registrar los datos. Escenarios de prueba: Dado la modificación de información de un curso CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
60 Tabla 27 Historia de usuario-registro de estudiantes Plantilla Historia de usuario- registro de estudiantes Historia de Usuario – Registro de estudiantes Historia de usuario Número: 9
Nombre: Registro de estudiantes
Usuario: secretaria Prioridad en negocio: Alta
Iteración asignada: 2
Riesgo en desarrollo: Baja
Puntos estimados: 3
Descripción: COMO secretaria QUIERO poder registrar la información de nuevos estudiantes PARA matricularlos en determinados cursos de acuerdo con su interés y conveniencia.
Escenarios de prueba: Dado el ingreso de toda la información necesaria en el registro de un estudiante CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito. Dado el ingreso de un número de cedula invalido de un estudiante CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje de alerta.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD. Tabla 28 Historia de usuario-modificación de estudiantes Plantilla Historia de usuario- modificación de estudiantes Historia de Usuario – Modificación de estudiantes Historia de usuario Número: 10
Nombre: Modificación de estudiantes
Usuario: secretaria Prioridad en negocio: Alta
Iteración asignada: 2
Riesgo en desarrollo: Baja
Puntos estimados: 2
Descripción: COMO secretaria QUIERO poder modificar o actualizar la información de un estudiante PARA solucionar algún inconveniente que se presente al momento de registrar los datos.
61 Escenarios de prueba: Dado la modificación de información de un estudiante CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD. Tabla 29 Historia de usuario-ingreso asignaturas Plantilla Historia de usuario- ingreso asignaturas Historia de Usuario – Ingresar asignaturas Historia de usuario Número: 11
Nombre: Ingresar asignaturas
Usuario: secretaria Prioridad en negocio: Alta
Iteración asignada: 2
Riesgo en desarrollo: Baja
Puntos estimados: 3
Descripción: COMO secretaria QUIERO poder ingresar asignaturas a los respectivos cursos PARA tener una administración académica adecuada.
Escenarios de prueba: Dado el intento de ingreso una misma materia dos veces al mismo curso CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje de alerta.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD. Tabla 30 Historia de usuario-modificación de asignaturas Plantilla Historia de usuario- modificación de asignaturas Historia de Usuario – Modificar asignaturas Historia de usuario Número: 12
Nombre: Modificar asignaturas
Usuario: secretaria Prioridad en negocio: Alta
Iteración asignada: 2
Riesgo en desarrollo: Baja
Puntos estimados: 2
62 Descripción: COMO secretaria QUIERO poder modificar el nombre de determinada asignatura a un curso PARA solucionar algún inconveniente que se presente al momento de registrar los datos.
Escenarios de prueba: Dado la modificación de información de una asignatura CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD. Tabla 31 Historia de usuario-registro de docentes Plantilla Historia de usuario- registro de docentes Historia de Usuario – Registro de docentes Historia de usuario Número: 13
Nombre: Registro de docentes
Usuario: secretaria Prioridad en negocio: Alta
Iteración asignada: 3
Riesgo en desarrollo: Baja
Puntos estimados: 3
Descripción: COMO secretaria QUIERO poder registrar la información de nuevos docentes PARA poder asignarles las respectivas materias a impartir.
Escenarios de prueba: Dado el ingreso de toda la información necesaria en el registro de un docente CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito. Dado el ingreso de un número de cedula invalido de un docente CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje de alerta. Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
63 Tabla 32 Historia de usuario-modificación docentes Plantilla Historia de usuario- modificación docentes Historia de Usuario – Modificar docentes Historia de usuario Número: 14
Nombre: Modificar docentes
Usuario: Administrador Prioridad en negocio: Alta
Iteración asignada: 3
Riesgo en desarrollo: Baja
Puntos estimados: 2
Descripción: COMO secretaria QUIERO poder modificar o actualizar la información de un docente PARA solucionar algún inconveniente que se presente al momento de registrar los datos.
Escenarios de prueba: Dado la modificación de información de un curso CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD. Tabla 33 Historia de usuario de registro de calificaciones Plantilla Historia de usuario- registro de calificaciones Historia de Usuario – Registro de calificaciones Historia de usuario Número: 15
Nombre: Registro de calificaciones
Usuario: Docente Prioridad en negocio: Media
Iteración asignada: 3
Riesgo en desarrollo: Alta
Puntos estimados: 3
Descripción: COMO docente QUIERO poder ingresar las calificaciones de los estudiantes PARA tener un control académico de cada una de las asignaturas que imparte un profesor. Escenarios de prueba: Dado el ingreso de calificaciones de un estudiante CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito. Dado el ingreso de una calificación superior a 20 o inferior a 0 CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje de alerta. Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
64 Tabla 34 Historia de usuario-modificación de calificaciones Plantilla Historia de usuario- modificación de calificaciones Historia de Usuario – Modificación de calificaciones Historia de usuario Número: 16
Nombre: Modificación de calificaciones
Usuario: Administrador Prioridad en negocio: Media
Iteración asignada: 3
Riesgo en desarrollo: Alta
Puntos estimados: 2
Descripción: COMO docente QUIERO poder modificar las calificaciones de los estudiantes PARA solucionar algún inconveniente que se presente al momento de registrar los datos.
Escenarios de prueba: Dado la modificación de calificaciones de un estudiante CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD. Tabla 35 Historia de usuario-registro asistencia Plantilla Historia de usuario- registro asistencia Historia de Usuario – Registro de asistencias Historia de usuario Número: 17
Nombre: Registro de asistencias
Usuario: Administrador Prioridad en negocio: Media
Iteración asignada: 3
Riesgo en desarrollo: Alta
Puntos estimados: 3
Descripción: COMO docente QUIERO poder ingresar las asistencias de los estudiantes PARA poder tener un registro de asistencia adecuado de los estudiantes.
Escenarios de prueba: Dado el ingreso de las faltas de un estudiante CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
65 Tabla 36 Historia de usuario-modificación de asistencia Plantilla Historia de usuario- modificación de asistencia Historia de Usuario – Modificación de asistencias Historia de usuario Número: 18
Nombre: Modificación de asistencias
Usuario: Administrador Prioridad en negocio: Media
Iteración asignada: 3
Riesgo en desarrollo: Alta
Puntos estimados: 2
Descripción: COMO docente QUIERO poder modificar las asistencias de los estudiantes PARA solucionar algún inconveniente que se presente al momento de registrar los datos.
Escenarios de prueba: Dado la modificación de asistencias de un estudiante CUANDO se pulse el botón de guardar, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
Tabla 37 Historia de usuario-registro de horario Plantilla Historia de usuario- registro de horario Historia de Usuario – Registro de horarios Historia de usuario Número: 19
Nombre: Registro de horarios
Usuario: secretaria Prioridad en negocio: Media
Iteración asignada: 4
Riesgo en desarrollo: Alta
Puntos estimados: 4
Descripción: COMO secretaria QUIERO poder generar un horario de clases PARA poder tener una distribución automática de las asignaturas de clase.
Escenarios de prueba: Dado el registro de las materias de cada curso CUANDO se pulse el botón de generar horario, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
66 Tabla 38 Historia de usuario-registro de horario Plantilla Historia de usuario- modificación de horario Historia de Usuario – Modificación de horarios Historia de usuario Número: 20
Nombre: Modificación de horarios
Usuario: secretaria Prioridad en negocio: Media
Iteración asignada: 4
Riesgo en desarrollo: Alta
Puntos estimados: 2
Descripción: COMO docente QUIERO poder modificar el horario de clase PARA solucionar algún inconveniente que se presente al momento de registrar los datos.
Escenarios de prueba: Dado la modificación de horario de clase CUANDO se pulse el botón de generar horario, ENTONCES se presenta un mensaje indicando que la operación se realizó con éxito.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD. Tabla 39 Historia de usuario-reporte de horario Plantilla Historia de usuario- reporte de horario Historia de Usuario – Reporte de horarios Historia de usuario Número: 21
Nombre: Reportes de información del sistema
Usuario: Administrador Prioridad en negocio: Baja
Iteración asignada: 4
Riesgo en desarrollo: Baja
Puntos estimados: 7
Descripción: COMO docente QUIERO poder generar un reporte de la información registrada en el sistema PARA tener un respaldo físico de la información.
67 Escenarios de prueba: Dado el ingreso de información de los estudiantes al sistema CUANDO se pulse el botón de generar reporte, ENTONCES se presenta un reporte en una ventana emergente en formato pdf. Dado el ingreso de información de los docentes al sistema CUANDO se pulse el botón de generar reporte, ENTONCES se presenta un reporte en una ventana emergente en formato pdf. Dado el ingreso de calificaciones de los estudiantes al sistema CUANDO se pulse el botón de generar reporte, ENTONCES se presenta un reporte en una ventana emergente en formato pdf. Dado la generación automática de horarios CUANDO se pulse el botón de generar reporte, ENTONCES se presenta un reporte en una ventana emergente en formato pdf.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
5.2.1.3 Plan de Entrega El Plan de Entrega está compuesto por iteraciones de no más de tres semanas. En la primera iteración se puede intentar establecer una arquitectura del sistema que pueda ser utilizada durante el resto del proyecto. Esto se logra escogiendo las historias que fuercen la creación de esta arquitectura, sin embargo, esto no siempre es posible ya que es el cliente quien decide qué historias se implementarán en cada iteración (para maximizar el valor de negocio). Al final de la última iteración el sistema estará listo para entrar en producción.
68 Tabla 40 Plan de entrega Plantilla Plan de entrega
PLAN DE ENTREGA PRIORIDAD DE N° 1 2 3 4
HISTORIA Crear Usuarios Modificar Usuarios Restablecer Contraseña Reporte Usuarios
NEGOCIO
RIESGO EN DESARROLLO ITERACIONES ESTIMACIÓN
Alta
Media
1
4
Alta
Media
1
2
Alta
Alta
1
3
Baja
Baja
4
2
Alta
Alta
1
4
Creación de periodo
5
académico Modificación de periodo
6
académico
Alta
Alta
1
2
7
Registro de cursos
Alta
Media
2
3
8
Modificación de cursos
Alta
Media
2
2
9
Registro de estudiantes
Alta
Baja
2
3
Modificación de
10
estudiantes
Alta
Baja
2
2
11
Ingresar asignaturas
Alta
Baja
2
3
12
Modificar asignaturas
Alta
Baja
2
2
13
Registro de docentes
Alta
Baja
3
3
14
Modificar docentes
Alta
Baja
3
2
15
Registro de calificaciones
Media
Alta
3
3
Modificación de
16
calificaciones
Media
Alta
3
2
17
Registro de asistencias
Media
Alta
3
3
Modificación de
18
asistencias
Media
Alta
3
2
19
Registro de horarios
Media
Alta
4
4
20
Modificación de horarios
Media
Alta
4
2
Baja
Baja
4
7
Reportes de información
21
del sistema
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
69
5.2.1.4 Plan de Iteraciones Las iteraciones son fundamentales en la Metodología XP dado que al comienzo de cada ciclo de iteración se seleccionan las historias de usuario descritas en el Plan de Entrega y que serán implementadas según el orden correspondiente. En el caso de la presente investigación se dividió en cuatro iteraciones, cada una de tres semanas, con semanas de 5 días laborables y 4 horas de trabajo diaria, tal y como se indica en el apartado de técnicas de días ideales de este trabajo escrito. Tabla 41 Plan de iteración Plantilla Plan de iteración
ITERACIONES
HISTORIA Crear Usuarios
Modificar Usuarios
Restablecer Contraseña
PLAN DE ITERACIÓN ESTIMA TAREA CIÓN INGENIERÍA 4 Crear diseño de la Base de Datos Validar diseño de base de datos 2
DURACIÓN DE SEMANAS
2 1
Validar información de formularios. Crear página 3
ESTIMACIÓ N 2
Diseño de formulario de recuperación de contraseña
1 2
1 Creación de diseño de actualización de contraseña
1 Creación de periodo académico
Modificació n de periodo académico
4
2
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
3
Crear diseño de Interfaz para creación de periodo académico
3
Crear diseño de la Base de Datos
1
Validación de Datos en la Base de Datos.
2
70
Tabla 42 Plan de iteración 2 Plantilla Plan de iteración
PLAN DE ITERACIÓN ITERACIONES
HISTORIA
ESTIMACIÓN
TAREA INGENIERÍA
ESTIMACIÓN
DURACIÓN DE SEMANAS
Diseño de Interfaz para registro de curso 2 Registro de cursos Modificación de cursos
2
3 2
Registro de estudiantes
Modificación de estudiantes
Modificar asignaturas
1 2
2 3
Ingresar asignaturas
Crear diseño de la Base de Datos Validar diseño de base de datos Diseño de Interfaz para registro de estudiantes
2 3
2
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
Crear diseño de la Base de Datos Validar diseño de base de datos Diseño de Interfaz para ingreso de asignaturas Validar diseño de base de datos
1
2
3 2
3
71
Tabla 43 Plan de iteración 3 Plantilla Plan de iteración
PLAN DE ITERACIÓN ITERACIONES
HISTORIA
ESTIMACIÓN
TAREA INGENIERÍA
ESTIMACIÓN
DURACIÓN DE SEMANAS
Diseño de Interfaz para registro de curso 2 Registro de docentes Modificar docentes
3 2
Diseño de Interfaz para registro de calificaciones
Registro de calificaciones
3 3 Modificación de calificaciones
Registro de asistencias
Crear diseño de la Base de Datos Validar diseño de base de datos
2
3
Crear diseño de la Base de Datos Validar diseño de base de datos Diseño de Interfaz para registro de asistencias Crear diseño de la Base de Datos
1 2
2 3 1
2
2
1 Modificación de asistencias
2
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
Validar diseño de base de datos
2
72
Tabla 44 Plan de iteración 4 Plantilla Plan de iteración
PLAN DE ITERACIÓN ITERACIONES
HISTORIA
Reporte Usuarios
4
Registro de horarios
ESTIMACIÓN
TAREA INGENIERÍA
Consulta a la base de datos Diseño y generación de reporte de Usuario 2
ESTIMACIÓN
DURACIÓN DE SEMANAS
1
1 Diseño de Interfaz para presentación de horario 3
4
3
Crear diseño de la Base de Datos 1
Modificación de horarios
Reportes de información del sistema
2
Validación de datos en la Base de Datos Consultas a la base de datos
2 3
7 Diseño y generación de reportes 4
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
5.2.2
Fase 2: Diseño La metodología X.P sugiere que hay que conseguir diseños simples y sencillos
procurando hacerlo todo lo menos complicado posible para conseguir un diseño fácilmente entendible y evaluar el esfuerzo desarrollado. En la segunda fase definimos el diseño de la base de datos en su diseño lógico y físico como resultado de la base funcional que tiene el sistema.
73
5.2.2.1 Tarjetas CRC Las Tarjetas CRC o Tarjetas Clase-Responsabilidad-Colaborador ayudan al desarrollador a tener una concepción orientada a objetos de la realidad que se va a modelar y programar. La especificación de estas tarjetas es sencilla, se expone en la parte superior la Clase a la que pertenece el objeto, en una columna a la izquierda se detallan las Responsabilidades que tiene a cargo dicha clase, y en otra columna a la derecha los Colaboradores que ayudan a la clase principal a cumplir sus objetivos y responsabilidades. 5.2.2.1.1 Especificación de Tarjetas CRC
Escenario N° 1. Parametrización del sistema -
Propósito del escenario i. Parametrización de la información del sistema ii. Actualización de la información de contacto iii. Actualización de la información del webmail iv. Actualización de información de informes (impresión de formularios y resoluciones).
74 Tabla 45 Tarjeta CRC 1-parametrizacion del sistema Tarjeta CRC 1- parametrización del sistema
Tarjeta CRC Número: 1
Escenario: Parametrización del sistema
Nombre CRC: Sistema Responsabilidades Mantener el registro de la información del sistema
Visualización de la actual configuración
Colaboradores
Métodos
dbController
getAll
dbController
getAll
Observaciones: -
Los métodos son llamados directamente de la clase “route”
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
II. -
Escenario N° 2. Registro y administración de usuarios Propósito del escenario i. Registrar la información de usuarios ii. Modificar los datos de un usuario existente a. Restablecer usuario b. Restablecer contraseña iii. Generación de reportes de usuarios.
75
Tabla 46 Tarjeta CRC 2-administración de usuarios Tarjeta CRC 2--administración de usuarios
Tarjeta CRC Número: 2
Escenario: Administración de usuarios
Nombre CRC: userController Responsabilidades
Colaboradores
Métodos
Registrar nuevos usuarios
dbController
saveSome
Editar datos de los usuarios
dbController
setSome
Generar un informe de usuarios
reporteController
reporte_usuario
Observaciones: -
Los métodos son llamados directamente de la clase “route”
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
III. -
Escenario N° 3. Administración de estudiantes Propósito del escenario i. Registrar la información de los estudiantes ii. Modificar los datos de un estudiante existente iii. Registrar la información de los docentes iv. Modificar los datos de un docente existente v. Generar informe de estudiantes
76
vi. Generar informe de docentes Tabla 47 Tarjeta CRC 3-administración de matricula Tarjeta CRC 3-administración de matricula
Tarjeta CRC Número: 3
Escenario: Administración de matriculación
Nombre CRC: operadoraController Responsabilidades
Colaboradores
Métodos
Registrar estudiantes
dbController
saveSome
Editar datos de estudiantes
dbController
setSome
Registrar docentes
dbController
saveSome
Editar datos de docentes
dbController
setSome
Generar informe de estudiantes
reporteController
reporte_student
Generar informe de docentes
reporteController
reporte_teacher
Observaciones: -
Los métodos son llamados directamente de la clase “route”
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
IV.
-
Escenario N° 4. Administración de calificaciones
Propósito del escenario i. Registrar la información de las calificaciones ii. Modificar los datos de una calificación existente iii. Generar un informe de las calificaciones
77
Tabla 48 Tarjeta CRC 4-administración de calificaciones Tarjeta CRC 4-administración de calificaciones
Tarjeta CRC Número: 4
Escenario: Administración de calificaciones
Nombre CRC: operadoraController Responsabilidades
Colaboradores
Métodos
Registrar nueva calificación
dbController
saveSome
Editar los datos de una calificación
dbController
setSome
Generar informe de calificación
reporteController
reporte_calificación
Observaciones: Los métodos son llamados directamente de la clase “route” Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
V. -
Escenario N° 5. Administración de asistencias Propósito del escenario i. Registrar la información de asistencias ii. Modificar los datos de una asistencia existente iii. Generar un informe de las asistencias
78 Tabla 49 Tarjeta CRC 5-administración de asistencia Tarjeta CRC 5-administración de asistencia
Tarjeta CRC Número: 5
Escenario: Administración de asistencia
Nombre CRC: operadoraController Responsabilidades
Colaboradores
Métodos
Registrar asistencia
dbController
saveSome
Editar los datos de una asistencia
dbController
setSome
Generar informe de asistencia
reporteController
reporte_asistencia
Observaciones: Los métodos son llamados directamente de la clase “route” Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
VI. -
Escenario N° 6. Administración de horarios Propósito del escenario i. Registro de horarios ii. Modificar los datos de un horario existente iii. Generar un informe de los horarios
79 Tabla 50 Tarjeta CRC 5-administración de asistencia Tarjeta CRC 6-administración de horarios
Tarjeta CRC Número: 5
Escenario: Administración de horarios
Nombre CRC: operadoraController Responsabilidades
Colaboradores
Métodos
Registrar de horarios
dbController
saveSome
Editar los datos de un horario
dbController
setSome
Generar informe de horarios
reporteController
reporte horarios
Observaciones: Los métodos son llamados directamente de la clase “route” Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
5.2.2.2 Diseño de la base de datos En el diseño de la base de datos expresaremos los datos recogidos en las reuniones con los miembros del ITS LOS ANDES que utilizamos para especificar el script de creación de base de datos, tablas, disparadores, y procedimientos almacenados. El objetivo principal de un SGBD es proporcionar un entorno que sea tanto conveniente como eficiente para las personas que lo usan para la recuperación y almacenamiento de la información. Los sistemas de bases de datos se diseñan para almacenar grandes cantidades de información según lo describen Silberschtz & Korth (2015).
80
5.2.2.2.1 Diseño de lógico de la base de datos
Figura 8. Diseño lógico de la base de datos. Fuente: Santo Domingo. Investigación de campo, PUCE SD. 2017.
81
5.2.2.2.2 Diseño físico de la base de datos
Figura 9. Diseño físico de la base de datos. Fuente: Santo Domingo. Investigación de campo, PUCE SD. 2017.
82
5.2.2.2.3 Diccionario de datos El diccionario de datos (Ver Anexo 3) especifica todos los datos que pertenecen a un sistema de una forma organizada. En otras palabras, es un repositorio de los datos o elementos que conforman el sistema, se listan cada uno de ellos con los detalles y descripciones de los mismos.
5.2.2.2.4 Script de la base de datos El script de la base de datos es un archivo, (Ver Anexo 6) generalmente se encuentra escrito en código del lenguaje PostgreSQL las sentencias e instrucciones que dan vida y mueven la base de datos de un sistema informático.
5.2.3
Fase 3: Codificación
MENU PRINCIPAL DEL SISTEMA var APP_NAME = "ITS Los Andes"; var APP_HEADER = "UND"; var appLabels = { es:{ APP_NAME:APP_NAME, APP_HEADER:APP_HEADER, LB_HOME_MSG:"Bienvenidos a <br>" + APP_NAME, LB_HOME_LINK:"Inspecciones", LB_MSG:"Mensaje de inicio ......", LB_LANG_SPANISH:"Español", LB_LANG_ENGLISH:"Ingles", // ******************** MENU ******************* LB_HOME:"Inicio", LB_ADMIN:"Administración", LB_INSTITUTION:"Institución", LB_SCHOOLYEAR:"Año Lectivo", LB_MENU_MAIN:"NAVEGACIÓN PRINCIPAL", LB_PROFILE:"Perfil", LB_USERS:"Usuarios", LB_CONFIG:"Configuración", LB_PARAMETERS:"Parámetros", LB_SYSTEM:"Sistema", LB_TRASH:"Papelera", LB_WEBMAIL:"WebMail", LB_PROFILES:"Perfiles de usuario",
83 LB_REPORTS:"Reportes", LB_STATS:"Estadísticas", LB_HELP:"Ayuda", // INSTITUTION LB_MATTERS:"Materias", LB_GRADES:"Grados", LB_TEACHERS:"Docentes", LB_STUDENTS:"Studiantes", LB_COURSES:"Cursos", // SUBMENU LB_FORMS:"Formularios", LB_REQUIREMENTS:"Requerimientos", LB_MANDATORY:"R. Requeridos", LB_QUESTIONS:"Preguntas", LB_TAXES:"Tasas", LB_ACTIVITIES:"Actividades comerciales", LB_CIIU:"CIIU v4.0", LB_ENTITIES:"Entidades", LB_LOCALS:"Establecimientos", LB_INSPECTIONS:"Inspecciones", LB_PERMITS:"Permisos de funcionamiento", LB_DUPLICATES:"Duplicados", LB_SELFINSPECTIONS:"AutoInspecciones", LB_CITATIONS:"Citaciones", LB_REQUEST_DUPLICATES:"Solicitar duplicado", LB_PRINT_DUPLICATES:"Imprimir duplicados", // TOOLBAR MESSAGES_NOTIFY:"Tienes {{x}} mensajes", SHOW_ALL:"Ver todos",
CONEXION A LA BASE DE DATOS <?php namespace app; /** * Description of connectDB * connectDB.php hereda la conexión de la base de datos junto con los métodos de acceso a los registros del sistema, * este proceso se ha realizado de forma semi-automatizada ya que se ha realizado procesos con recursividad * con la finalidad de optimizar recursos (memoria en sistema en el caso de generar variables auxiliares) */ // Clase hija, Hereda métodos de clase de model, lo que le permite acceder a los métodos aún cuando estos no sean // declarados en la presente clase class connectDB { private $db; public $estado=false; public $mensaje='No se pudo completar la transacción.. <br>'; protected $schemaList='main'; protected $entityModel; protected $sufijoTb='tb_'; // Método: Constructor, crea instancia de PDO public function __construct() {
84 try { extract($this->getConfig('db')[session::$sysName]); $this->db=new \PDO("$driver:dbname=$db;host=$host", "$user", "$pass"); $this->entityModel=$this->getConfig(false,'model'); } catch(PDOException $e) { echo json_encode(array('mensaje'=>$e->getMessage(), 'estado'=>false)); exit; } } // Método: Restablecer los mensaje de respuesta de conexión private function resetMessage(){ $this->estado=false; $this->mensaje='No se pudo completar la transacción.. <br>'; } // Realiza la consulta comprobando si existen errores private function testErrorPDO($sql){ $this->resetMessage(); $sql=$this->prepare($sql); $sql->execute(); $myError=$sql->errorInfo(); if($myError[0]!=0){ echo json_encode(array('mensaje'=>$this>mensaje.$myError[2],'estado'=>false)); exit; } return $sql; } // Ejecuta las consultas sql public function consulta($sql){ return $this->testErrorPDO($sql); } // Test de consulta activando pruebas de error (mensajes db) public function prepare($sql){ $this->db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_WARNING); $this->db->setAttribute(\PDO::ATTR_EMULATE_PREPARES, false); return $this->db->prepare($sql); } // ************************************* findAll protected function findAll($str){ $sql=$this->testErrorPDO($str); return $sql->fetchAll(\PDO::FETCH_ASSOC); } // ************************************* findOne protected function findOne($str){ $sql=$this->testErrorPDO($str); return $sql->fetch(\PDO::FETCH_ASSOC); } protected function findById($id,$tb){ extract($this->getParams($tb)); $str=$this->getSQLSelect($tb,[],"WHERE $serial=$id"); $sql=$this->testErrorPDO($str); return $sql->fetch(\PDO::FETCH_ASSOC); } // Retorna el listado de registro a partir de una consulta sql anterior public function fetch_sql($sql, $type='fetch'){
85 return $sql->$type(\PDO::FETCH_ASSOC); } // Retorna el nuemero de registros de una consulta sql anterior public function numRows($sql,$auto=false){ return $this->num_rows($sql,$auto); } public function num_rows($sql, $auto=false){ if($auto) $sql=$this->consulta($sql); return $sql->rowCount(); } // Realiza la consulta sql, preparando los mensaaje que serán presentados con la respuesta public function execute($sql){ $this->resetMessage(); $sql=$this->prepare($sql); $exec=$sql->execute(); $this->estado=($exec > 0 ? true : false); $this->mensaje=($exec< 1 ? $this->mensaje.$sql->errorInfo()[2] : 'Transacción completa!'); }
DESCRIPCION DE CONTROLADORES <?php namespace app; /** * Description of controller * controller.php permite heredar parte de los métodos a controladores como usuario * conexión de datos, los cuales realizan las consultas respectivas * ***************************** FUNCIONES ***************************** * 1. Permite establecer conexión con la base de datos (cadena de conexión) * - Conexión de datos * - Métodos para acceder a los registros * 2. Obtener parametrización del sistema * - Información del sistema * - Parametrización de formularios y resoluciones imprimibles * 3. Obtener información en tiempo de ejecución del sistema (indispensable para sesión de usuarios) * */ class controller extends connectDB { // Método 1: Constructor public function __construct(){ parent::__construct(); } // ******* MÉTODOS PARA EL PARÁMETROS DEL SISTEMA // Método 2: Obtiene la fecha del sistema en base a la ubicación public function getConfig($index,$file='config'){ $json=json_decode(file_get_contents(SRC_PATH."config/$file.json"),true); return is_bool($index)?$json:$this->joinCrudMngr($index); } private function joinCrudMngr($index){ $config=json_decode(file_get_contents(SRC_PATH."config/config.json"),true); $crud=json_decode(file_get_contents(SRC_PATH."config/crud.json"),true); return array_merge($config,$crud)[$index];
86 } public function setConfig($data,$file='model'){ $myFile=SRC_PATH."config/$file.json"; $fh=fopen($myFile,'w'); if($fh){ fwrite($fh, json_encode($data,JSON_PRETTY_PRINT)); fclose($fh); } } public function getFecha($formato='Y-m-d'){ $dias=array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sábado"); $meses=array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiem bre","Octubre","Noviembre","Diciembre"); if($formato=='complete')return $dias[date('w')].", ".date('d')." de ".$meses[date('n')-1]. " del ".date('Y'); elseif($formato=='full')return date('"l jS \of F Y h:i:s A'); else return date($formato); } // Retornar los parámetros del sistema public function getSetting(){ return $this->findAll($this->getSQLSelect("params")); } // ************ MÉTODOS PARA RETORNAR MENSAJE: PHP - AJAX // Setear mensaje en formato array para retornar como json public function setJSON($msg, $est=false){ return array('mensaje'=>$msg, 'estado'=>$est); } // Retornar mensaje a ajax public function getJSON($json){ // Json AutoDeclare if(!is_array($json)) $json=$this->setJSON($json); // json es un conjunto de datos presentados como un archivo json echo json_encode($json,JSON_PRETTY_PRINT); exit; } public function e301(){ $this->getJSON($this->setJSON('¡Lamentablemente no cuenta con permisos para realizar la operación!')); } // Retornar mensaje: No se encuetra la petición que desea realizar public function failJSON($metodo){ $this->getJSON($this->setJSON("La acción que desea ralizar no se encuentra en los métodos: $metodo")); } public function testEmpty($data){ return (empty($data)||$data==''||!isset($data))?false:true; } // Desvincular array public function recursive_replace($row,$path){ foreach($row as $key=>$val){ $path = (is_array($val))?$this>recursive_replace($val,$path):preg_replace('/{{'.$key.'}}/', $val, $path); } return $path;
87 } }
5.2.3.1 Interfaces de los mรณdulos de Programaciรณn Los colores de la interfaz hacen referencia a los colores significativos de la instituciรณn azul, blanco y rojo.
Figura 10. Pรกgina principal del sistema Fuente: Santo Domingo. PUCE SD. 2017.
Figura 11. Error en el ingreso de credenciales. Fuente: Santo Domingo. PUCE SD. 2017.
88
Figura 12. Ingreso de credenciales correctas. Fuente: Santo Domingo. PUCE SD. 2017.
Figura 13. Registro de usuarios. Fuente: Santo Domingo. PUCE SD. 2017.
89
Figura 14. Administracciรณn de usuarios. Fuente: Santo Domingo. PUCE SD. 2017.
Figura 15. Reportes de usuarios. Fuente: Santo Domingo. PUCE SD. 2017.
90
Figura 16.Registro de periodo académico. Fuente: Santo Domingo. PUCE SD. 2017.
Figura 17. Administración de periodo académico. Fuente: Santo Domingo. PUCE SD. 2017.
Figura 18. Administración de usuarios. Fuente: Santo Domingo. PUCE SD. 2017.
91
Figura 19. Administraciรณn de materias. Fuente: Santo Domingo. PUCE SD. 2017.
Figura 20. Registro de calificaciones. Fuente: Santo Domingo. PUCE SD. 2017.
Figura 21. Control de calificaciones. Fuente: Santo Domingo. PUCE SD. 2017.
92
Figura 22. Reportes de materias. Fuente: Santo Domingo. Investigación de campo, PUCE SD. 2017.
5.2.4
Fase 4: Pruebas Las pruebas de aceptación en la presente disertación de grado se han realizado a través
de la agrupación de historias de usuario para comprobar la funcionalidad a través del test. En total se ha realizado tres pruebas de aceptación de acuerdo a los módulos que contiene la aplicación. Tabla 51 Prueba de funcionalidad-administración de usuario Prueba de funcionalidad-administración de usuario Prueba de funcionalidad ID Caso de prueba: 01
Nombre caso de prueba: Administración de Usuarios
Módulo/sección a evaluar: Módulo Administración
Historia de usuario asociada: 1-2-3-4
Descripción: Se testea el correcto funcionamiento del Módulo Administración comprobando que todas las validaciones se plasmen y se satisfagan los criterios de aceptación de las historias de usuario involucradas en el test. Pre-condiciones •
El usuario principal debe loguearse en el sistema
93 Pasos y condiciones de ejecución • • • • •
El usuario designado ingresa al módulo de administración de usuarios Se despliega el formulario de ingreso de usuarios en donde se coloca toda la información, y se dará clic en “Ingresar” La modificación y/o actualización de la información de los usuarios registrados se podrá realizar y los cambios se reflejarán automáticamente El restablecimiento de la contraseña del usuario registrado se realizará desde la ventana de Login a través del correo electrónico ingresado. Los cambios se guardarán con éxito
Resultado esperado. • •
Se guardan todos los datos correspondientes al registro El sistema muestra una notificación informando que la transacción se realizó exitosamente Exitoso
Falló
Estado de prueba X Errores asociados: Ninguno Post-condiciones: El Usuario registrado puede acceder al sistema
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
Tabla 52 Prueba de funcionalidad-administrativa de matriculación Prueba de funcionalidad-administración de matriculación Prueba de funcionalidad ID Caso de prueba: 02
Nombre caso de prueba: Administración de matriculación
Módulo/sección a evaluar: Módulo de matriculación
Historia de usuario asociada: 5-6-7-8-9-10-1112-12-13-14-15-16
Descripción: Se testea el correcto funcionamiento del Módulo de matriculación comprobando que todas las validaciones se cumplan y se satisfagan los criterios de aceptación de las historias de usuario involucradas en el test. Pre-condiciones •
El usuario principal debe loguearse en el sistema
Pasos y condiciones de ejecución • • • •
El usuario designado ingresa al módulo de matriculación Se despliega el formulario de ingreso estudiantes en donde se coloca toda la información, y se dará clic en “Ingresar” La modificación y/o actualización de la información de los estudiantes registrados se podrá realizar y los cambios se reflejarán automáticamente Los cambios se guardarán con éxito
94 Resultado esperado. • •
Se guardan todos los datos correspondientes al registro El sistema muestra una notificación informando que la transacción se realizó exitosamente Exitoso
Falló
Estado de prueba X Errores asociados: Ninguno Post-condiciones: El Usuario registrado puede acceder al sistema
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
Tabla 53 Prueba de funcionalidad-administración de calificaciones Prueba de funcionalidad-administración de calificaciones Prueba de funcionalidad ID Caso de prueba: 03
Nombre caso de prueba: Administración de calificaciones
Módulo/sección a evaluar: Módulo Administración (Sección usuarios)
Historia de usuario asociada: 17-18-19
Descripción: Se testea el correcto funcionamiento del Módulo Calificaciones comprobando que todas las validaciones se cumplan y se satisfagan los criterios de aceptación de las historias de usuario involucradas en el test. Pre-condiciones •
El usuario principal debe loguearse en el sistema
Pasos y condiciones de ejecución • • • •
El usuario designado ingresa al módulo de calificaciones Se despliega el formulario de ingreso de calificaciones en donde se coloca toda la información, y se dará clic en “Ingresar” La modificación y/o actualización de la información de las calificaciones registradas se podrá realizar y los cambios se reflejarán automáticamente Los cambios se guardarán con éxito
Resultado esperado. • •
Se guardan todos los datos correspondientes al registro El sistema muestra una notificación informando que la transacción se realizó exitosamente Exitoso Estado de prueba X
Falló
95 Errores asociados: Ninguno Post-condiciones: El Usuario registrado puede acceder al sistema
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
Tabla 54 Prueba de funcionalidad-administración de asistencia Prueba de funcionalidad-administración de asistencia
Prueba de funcionalidad ID Caso de prueba: 04
Nombre caso de prueba: Administración de asistencia
Módulo/sección a evaluar: Módulo Asistencias
Historia de usuario asociada: 20-21-22
Descripción: Se testea el correcto funcionamiento del Módulo Asistencias comprobando que todas las validaciones se cumplan y se satisfagan los criterios de aceptación de las historias de usuario involucradas en el test. Pre-condiciones •
El usuario principal debe loguearse en el sistema
Pasos y condiciones de ejecución • • • •
El usuario designado ingresa al módulo de asistencias Se despliega el formulario de ingreso de faltas de los estudiantes en donde se coloca toda la información, y se dará clic en “Ingresar” La modificación y/o actualización de la información de las faltas de los estudiantes registrados se podrá realizar y los cambios se reflejarán automáticamente Los cambios se guardarán con éxito
Resultado esperado. • •
Se guardan todos los datos correspondientes al registro El sistema muestra una notificación informando que la transacción se realizó exitosamente Exitoso Estado de prueba X
Errores asociados: Ninguno Post-condiciones: El Usuario registrado puede acceder al sistema
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
Falló
96 Tabla 55 Prueba de funcionalidad-administración de horarios Prueba de funcionalidad-administración de horarios Prueba de funcionalidad ID Caso de prueba: 05
Nombre caso de prueba: Administración de horarios.
Módulo/sección a evaluar: Módulo horarios
Historia de usuario asociada: 23-24-25
Descripción: Se testea el correcto funcionamiento del Módulo Administración de horarios comprobando que todas las validaciones se cumplan y se satisfagan los criterios de aceptación de las historias de usuario involucradas en el test. Pre-condiciones •
El usuario principal (Administrador) debe estar logueado
Pasos y condiciones de ejecución • • • •
El usuario designado ingresa al módulo de administración de horarios. Se despliega el formulario de generación de horarios. La modificación y/o actualización de la información de los usuarios registrados se podrá realizar y los cambios se reflejarán automáticamente Los cambios se guardarán con éxito
Resultado esperado. • •
Se guardan todos los datos correspondientes al registro El sistema muestra una notificación informando que la transacción se realizó exitosamente Exitoso Estado de prueba X
Errores asociados: Ninguno Post-condiciones: El Usuario registrado puede acceder al sistema.
Nota: Fuente: Freire, C. & Eras, S. (2017). PUCE SD.
Falló
97
5.3 Conclusiones •
El desarrollo del proyecto nos permitió adquirir conocimiento acerca de las
diferentes herramientas involucradas en el análisis, diseño e implementación de un sistema web académico utilizando herramientas de software libre, que nos facilitaron el desarrollo del proyecto sin costos adicionales ya que estas permiten su uso sin ninguna restricción de por medio. •
La metodología de software XP fue la más adecuada para nuestro proyecto
después de compararla con otras, ya que nos facilitó el desarrollo del trabajo de grado al ser una metodología enfocada a cubrir los requisitos que la Escuela de Conducción del ITS “Los Andes” nos solicitó, adoptándola como la mejor metodología de desarrollo de acuerdo con lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinámica durante el ciclo de vida del software. •
Con la elaboración del proyecto se benefició el personal administrativo de la
Escuela de Conducción del ITS “Los Andes”, al contar con un sistema web académico que permite realizar de manera rápida y segura los procesos educativos que realizaba, convirtiéndose en una institución competitiva en la región que brinde servicios de calidad. •
Se empleó instrumentos de recogida de datos, como entrevista y encuestas con
el afán de obtener información relevante sobre el estado actual de la institución educativa, para de acuerdo con esto tomar las medidas adecuadas en el desarrollo del sistema. •
El módulo de horarios permitirá una gestión más ágil al momento de iniciar un
periodo académico ya que remplaza la exhaustiva tarea de realizarlo manualmente, y de esta manera la institución agilizará su proceso de distribución horaria siendo más precisa y optima al momento de asignar docentes, materias y cursos.
98
5.4 Límites y Recomendaciones •
Capacitar al personal de administrativo y educativo de la Escuela de Conducción
del ITS “Los Andes” para la administración del sistema web académico de tal manera que no tengan inconvenientes en la utilización del mismo. •
Para el correcto uso del sistema web, es preferible la utilización del navegador
Google Chrome por su mejor rendimiento, ya que este navegador se adapta mejor al contexto actual de los ordenadores. •
Para futuros proyectos informáticos se recomienda la utilización de
metodologías de desarrollo de software agiles, particularmente la metodología de eXtreme Programming, ya que implementa una forma de trabajo que permite fácilmente adaptarse a distintas circunstancias. •
Utilizar herramientas de software libre para una mejor compatibilidad en
diferentes sistemas operativos y por medio de esto poder migrar datos si así se lo requiera.
99
5.5 Lista de Referencias
ALLIANCE AGILE. (2015). Agile Aliance https://www.agilealliance.org/agile101/what-is-agile/
Org.
Obtenido
de
Alonso, A., Chacón, J., & López, M. (2015). Las tabletas y lagestion de los contenidos digitales en los centros escolares. Iberoamericana de Educación, 67. Avendaño, M., Mariel, B., & Rugarcía, Z. (2012). Cliente-Servidor, Implementación de un reconocedor de voz gratuito a el sistema de ayuda a invidentes Dos-Vox en español. Universidad de las Américas Puebla. Departamento de Ingeniería en Sistemas Computacionales, 14-15. Azaustre, C. (2014). Desarrollo web agil con AngularJS. Madred-España: Copyright, Books. Casillas, L., Gibert, M., & Pérz, Ó. (2014). Base de datos en MySQL. UOC. Comesaña, J. (2016). DESARROLLO WEB ENTORNO SERVIDOR. Desarrollo de aplicaciones Web. España - Sevilla: Github. Espinoza, H. (2013). Analisis y diseño de un sistema de gestión de seguridad de información basado en la norma ISO/IEC 27001: 2005 para una empresa de producción y comercialización de producto de consumo masivo. PONTIFICA UNIVERSIDAD CATOLICA DEL PERU. Fernández, A. (2012). Python al descubierto. España: Grupo RC. Gauchat, J. (2012). El gran libro de HTML5. CSS3, y Javascript. Barcelona-España: Maracombo. Gimson, L., Gil, G., & Rossi, G. (2012). Metodologías ágiles y desarrollo basado en conocimiento. Universidad Nacional de la Plata. Facultad de Informatica. González, M., Lankenau, D., Lankenau, M., Valdez, M., Almaguer, A., Dieck, M., . . . Garza, M. (2010). Tencologías de la información. Monterrey: Mc Graw Hill. Guérin, B. (2015). ASP.NET en C# con Visual Studio. Diseño y desarrollo de aplicaciones we. Barcelona-España: ENI. Gutiérrez, J. (2014). Que es un framework web. 1-14. Jimenez, J. (2013). Aplicaciones Web. Madrid: Macmillan Iberia. Joyanes, L. (2013). Fundamentos generales de programación. Mexico D.F: Mc Graw Hill. López, I., Castellano, J., & Ospina, J. (2011). Bases de Datos. México D.F: Alfaomega.
100
Martinez, R. (2010). http://www.postgresql.org.es/sobre_postgresql. http://www.postgresql.org.es/sobre_postgresql
Obtenido
de
Morales, J. (2013). Sistemas de informacion en la empresa. Barcelona: UOC. Moreira, V. (2012). Las aplicaciones web en el entorno empresarial. Latencia, 1. Normativa Interna del Instituto Tecnico Superior los Andes. (2016). Direccion Academica. Santo Domingo. Pavón, J. (2011). Creación de un portal con Php y MySQL. México D.F: Alfaomega. Perales, F. (2016). Ruby El mejor amigo de un desarrollador. Obtenido de https://www.rubylang.org/es/ Pérez Villa, J. D. (2014). Introducción a la informáticca. Madrid: Anaya Multimedia. Pressman, R. (2010). Ingeniería del software. Un enfoque prático . Mexico: McGrawHill. Reglamento a la Ley Orgánica de Trasporte Terrestre, Transito y Seguridad Vial. (2012). Resolución No. 010-DIR-2015-ANT REGLAMENTO DE ESCUELAS CAPACITACIÓN PARA CONDUCTORES PROFESIONALES. (2015).
DE
Sampieri, R., Fernández, C., & Baptista, L. (2016). Metodologia de la Investigación. MCGrawHill. Sánchez, J. (2012). Servidores de http://jorgesanchez.net/#web/iaw/iaw1.pdf
Aplicación
Web.
Obtenido
de
Secretaria Nacional de Planificación y Desarrollo. (2013). Plan Nacional para el Buen Vivir. Ecuador: SENPLADES. Silva, R., Cruz, E., Mendez, I., & Rodriguez, J. (2013). Sistemas de Gestion Digital para mejorar los procesos administrativos de Instituciones de Educación Superior: Universidad Autónoma Metropolitana. 52(2), 104-134. Spona, H. (2010). Programación de bases de datos con MySQL y PHP. México D.F: Alfaomega. Varga, S., Cherry, D., & D'Antoni, J. (2016). Intoducing Microsoft SQL Server. Washintong: Microsoft Corporation.
101
GLOSARIO PHP: (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web y que puede ser incrustado en HTML. (Spona, 2010, pág. 15) AngularJS: (comunalmente llamado "Angular.js" o "AngularJS 1"), es un framework de JavaScript de código abierto, mantenido por Google, que se utiliza para crear y mantener aplicaciones web de una sola página. (Azaustre, 2014, pág. 10) Base de datos: Colección de archivos de datos, de tipo histórico, utilizados para consultas específicas de algún tema en particular. (López, Castellano, & Ospina, 2011, pág. 15) Cliente: Programa que demanda servicios de otra computadora llamada servidor, y se hace cargo de la interacción necesaria con el usuario. (Avendaño, Mariel, & Rugarcía, 2012, pág. 15) Código fuente: Programa escrito en un lenguaje de programación de alto nivel por un programador. Es solo un archivo de texto simple que contiene la secuencia de operaciones que la computadora deberá ejecutar, en una forma simple de entender por una persona que sepa programar en dicho lenguaje. (Gauchat, 2012, pág. 72) HTTP (HiperText Transfer Protocol). Protocolo de transferencia de hipertexto. Es el protocolo que permite navegar por la WWW. (Gauchat, 2012, pág. 85) Interfaz: Conexión entre dos componentes de hardware, entre dos aplicaciones o entre un usuario y una aplicación. También llamada por el término en inglés interfase. (Moreira, 2012, pág. 34) Lenguaje de programación: Conjunto de sentencias utilizadas para escribir secuencias de instrucciones para ser ejecutadas en una computadora. (Joyanes, 2013, pág. 26)
102
ANEXOS
103
ANEXO 1.Carta de impacto del proyecto
Figura 23. Carta de impacto del proyecto. Fuente: Santo Domingo. PUCE SD. 2017.
104
ANEXO 2. Carta de aceptaciรณn del proyecto
Figura 24. Carta de aceptaciรณn del proyecto. Fuente: Santo Domingo. PUCE SD. 2017.
105
ANEXO 3. Carta de entrega-aceptaciรณn del proyecto
Figura 25. Carta de entrega-aceptaciรณn del proyecto. Fuente: Santo Domingo. PUCE SD. 2017.
106
ANEXO 4. Entrevista a personal administrativo de la Escuela de Conducción del Instituto Tecnológico Superior Los Andes.
ENTREVISTA #1: PREGUNTAS PARA VICERECTOR DE LA ESCUELA DE CONDUCCION DEL ITS LOS ANDES 1. ¿Cuáles son sus responsabilidades en el ITS “LOS ANDES”?
2. ¿Está al tanto de la existencia de alguna problemática que se presente en la institución? 3. ¿Cuál es?
4. ¿En caso de poder plantear una solución podrá facilitarnos el acceso al ITS “LOS ANDES” así como personal que aporte a la recolección de la información necesaria para implementar la solución? ENTREVISTA #2: PREGUNTAS PARA EXPERTO EN SISTEMAS DE LA ESCUELA DE CONDUCCION DEL ITS LOS ANDES 1. ¿Cuáles son sus responsabilidades en el ITS “LOS ANDES”?
2. ¿Cuál es el problema que demanda una solución?
3. ¿Cuáles son las características el sistema para satisfacer la problemática?
4. ¿Qué información va a ser procesada?
5. ¿En qué lenguaje de programación debe ser creado el sistema?
6. ¿Cuál debe ser el gestor de base de datos?
7. ¿Alguna razón en particular para justificar su elección del gestor de base de datos?
107
8. ¿Quién manejará la solución?
9. ¿Quiénes más tendrán acceso al sistema de información?
10. ¿Se intentó implementar anteriormente un sistema parecido? ENTREVISTA #3: PREGUNTAS PARA LA SECRETARIA DE LA ESCUELA DE CONDUCCION DEL ITS LOS ANDES 1. ¿Cuáles son sus responsabilidades en el ITS “LOS ANDES”?
2. ¿Presenta algún tipo de inconvenientes al realizar estas tareas?
3. ¿Cuáles son?
4. ¿Cuál es el proceso que seguir para la matriculación de un nuevo alumno?
5. ¿Cuál es el proceso que seguir para la creación de un nuevo periodo académico?
6. ¿Cuál es el proceso que seguir para la elaboración los horarios de clase?
7. ¿Cuáles son los requisitos que debe aprobar un estudiante para superar el curso de conducción?
8. ¿En base a que se manejan los estándares de evaluación a los estudiantes?
9. ¿Necesita la generación de algún tipo de reporte académico?
10. ¿Cuáles son
108
ANEXO 5. Cuestionario de preguntas para los docentes de la Escuela de Conducción del Instituto Tecnológico Superior Los Andes.
1. ¿Usted dispone de una cuenta de correo electrónico? Si NO NOSE 2. ¿Considera usted que se necesita automatizar los procesos académicos de la Escuela de Conducción? Si NO NOSE 3. ¿Cree usted que el ingreso de notas y asistencias se realiza eficientemente? Si NO NOSE
4. ¿Ve conveniente implementar un sistema académico que facilite el ingreso de notas y asistencias de los alumnos? Si NO NOSE
5. ¿Usted considera importante invertir en TICs? Si NO NOSE
6. ¿Considera que el nivel de tecnología en ITS “LOS ANDES” es? Si NO NOSE 7. ¿Desde su experiencia, considera que la implementación de las TICs propicia un mejor rendimiento académico? Si NO NOSE