89
SISTEMA WEB PARA EL APOYO A LA VISUALIZACIÓN DE ESPACIOS ACADÉMICOS DE LOS SALONES POR MEDIO DE CÓDIGOS QR PARA LOS ESTUDIANTES DEL PROYECTO CURRICULAR DE TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS EN LA FACULTAD TECNOLÓGICA DE LA UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS JHONATAN SCHNEIDER MORENO GONZÁLEZ 20092078057 PEDRO LUIS REYES LUNA 20112068053 UNIVERSIDAD FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS BOGOTÁ 2016

SISTEMA WEB PARA EL APOYO A LA VISUALIZACIÓN DE …repository.udistrital.edu.co/bitstream/11349/3237/1... · sistema web para el apoyo a la visualizaciÓn de espacios acadÉmicos

Embed Size (px)

Citation preview

SISTEMA WEB PARA EL APOYO A LA VISUALIZACIÓN DE ESPACIOS ACADÉMICOS DE LOS SALONES POR MEDIO DE CÓDIGOS QR PARA LOS

ESTUDIANTES DEL PROYECTO CURRICULAR DE TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS EN LA FACULTAD TECNOLÓGICA DE LA

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

JHONATAN SCHNEIDER MORENO GONZÁLEZ

20092078057

PEDRO LUIS REYES LUNA

20112068053

UNIVERSIDAD FRANCISCO JOSÉ DE CALDAS

FACULTAD TECNOLÓGICA

TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS

BOGOTÁ 2016

SISTEMA WEB PARA EL APOYO A LA VISUALIZACIÓN DE ESPACIOS ACADÉMICOS DE LOS SALONES POR MEDIO DE CÓDIGOS QR PARA LOS

ESTUDIANTES DEL PROYECTO CURRICULAR DE TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS EN LA FACULTAD TECNOLÓGICA DE LA

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

JHONATAN SCHNEIDER MORENO GONZÁLEZ

20092078057

PEDRO LUIS REYES LUNA

20112068053

PROYECTO PRESENTADO COMO REQUISITO PARA OPTAR POR EL TÍTULO DE TECNÓLOGO DE SISTEMATIZACIÓN DE DATOS

TUTOR

JOSÉ VICENTE REYES MOZO

INGENIERO DE SISTEMAS

UNIVERSIDAD FRANCISCO JOSÉ DE CALDAS

FACULTAD TECNOLÓGICA

TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS

BOGOTÁ 2016

NOTA DE ACEPTACIÓN

__________________________________________________

__________________________________________________

__________________________________________________

__________________________________________________

Jurado 1

ING. JOHANNA DEL PILAR DUEÑAS GALINDO

TUTOR

ING. JOSÉ VICENTE REYES MOZO

Bogotá 07 abril de 2016

Tabla de contenidos RESUMEN.............................................................................................................. 1

ABSTRACT ............................................................................................................ 2

INTRODUCCIÓN .................................................................................................... 3

1. SISTEMA WEB ................................................................................................ 4

1.1 TÍTULO ...................................................................................................... 4

1.2 TEMA ........................................................................................................ 4

1.3 PLANTEAMIENTO DEL PROBLEMA ........................................................ 4

1.3.1 Descripción ......................................................................................... 4

1.3.2 Planteamiento del problema ................................................................ 5

2 OBJETIVOS .................................................................................................. 5

1.4.1 Objetivo General ................................................................................. 5

1.4.2 Objetivos Específicos .......................................................................... 6

1.5 ALCANCES Y LIMITACIONES DEL SISTEMA DE INFORMACIÓN .......... 6

1.5.1 Alcances ............................................................................................. 6

1.5.2 Limitaciones ........................................................................................ 7

1.6 JUSTIFICACIÓN ........................................................................................ 7

1.7 MARCO DE REFERENCIA ....................................................................... 8

1.7.1 Marco Histórico ................................................................................... 8

1.7.2 Marco Teórico ..................................................................................... 9

1.7.3 Marco Conceptual ............................................................................. 13

1.7.4 Marco Metodológico .......................................................................... 14

1.8 FACTIBILIDAD ........................................................................................ 17

1.8.1 Factibilidad de desarrollo................................................................... 17

1.9 CRONOGRAMA ...................................................................................... 20

3 FASE DE ANÁLISIS ...................................................................................... 21

3.1 ANÁLISIS DE REQUERIMIENTOS ......................................................... 21

3.1.1 Requerimientos Funcionales y no funcionales................................... 21

3.2 DIAGRAMA DE FUNCIONES .................................................................. 22

3.3 DEFINICIÓN DE ACTORES .................................................................... 34

3.4 LISTA PRELIMINAR DE CASOS DE USO .............................................. 34

3.4.1 Administrador .................................................................................... 34

3.4.2 Cliente ............................................................................................... 36

3.5 DIAGRAMAS DE CASOS DE USO ......................................................... 38

3.5.1 General ............................................................................................. 38

3.6 DEFINICIÓN DE CASOS DE USO .......................................................... 39

3.6.1 Administrador .................................................................................... 39

3.6.2 Cliente ............................................................................................... 48

3.7 DIAGRAMA DE ACTIVIDAD .................................................................... 50

3.7.1 Administrador .................................................................................... 50

3.7.2 Cliente ............................................................................................... 56

3.8 DIAGRAMA DE SECUENCIA .................................................................. 58

3.8.1 Administrador .................................................................................... 58

3.8.2 Cliente ............................................................................................... 61

3.9 DIAGRAMA DE COLABORACIÓN .......................................................... 61

3.9.1 Administrador .................................................................................... 61

3.9.2 Cliente ............................................................................................... 65

3.10 DIAGRAMA DE ESTADO ..................................................................... 66

3.10.1 Administrador ................................................................................. 66

3.10.2 Cliente............................................................................................ 71

3.11 SELECCIÓN DE HERRAMIENTA ........................................................ 72

4. FASE DE DISEÑO......................................................................................... 72

4.1.1 DICCIONARIO DE DATOS .................................................................. 72

4.2 DIAGRAMA DE CLASES ......................................................................... 76

4.3 MODELO RELACIONAL .......................................................................... 77

CONCLUSIONES ................................................................................................. 77

BIBLIOGRAFÍA ..................................................................................................... 78

ANEXOS .............................................................................................................. 80

Lista de tablas

Tabla 1: Factibilidad Económica Recursos Humanos ........................................... 18

Tabla 2: Factibilidad Económica Recursos Técnicos ............................................ 19

Tabla 3: Factibilidad Económica Costo Total ........................................................ 19

Tabla 4: Requerimientos funcionales .................................................................... 22

Tabla 5: Requerimientos NO funcionales .............................................................. 22

Tabla 6: Definición de actor Administrador ........................................................... 34

Tabla 7: Definición de actor Cliente ...................................................................... 34

Tabla 8: Lista preliminar de casos de uso - Administrador .................................... 36

Tabla 9: Lista preliminar de casos de uso – Cliente .............................................. 37

Tabla 10: Definición de casos de uso - CU01: Ingreso al sistema........................ 40

Tabla 11: Definición de casos de uso - CU02: Insertar datos ............................... 41

Tabla 12: Definición de casos de uso - CU03: Consultar datos ........................... 42

Tabla 13: Definición de casos de uso - CU04: Modificar datos ............................ 43

Tabla 14: Definición de casos de uso - CU05: Eliminar datos .............................. 44

Tabla 15: Definición de casos de uso - CU06: Papelera de reciclaje ................... 45

Tabla 16: Definición de casos de uso - CU07: Gestionar código QR ................... 46

Tabla 17: Definición de casos de uso - CU08: Gestionar comentarios ................. 48

Tabla 18: Definición de casos de uso - CU09: Consultar datos ........................... 49

Tabla 19: Definición de casos de uso - CU10: Hacer un comentario ................... 50

Tabla 20: Diccionario de datos - Answer coments ................................................ 72

Tabla 21: Diccionario de datos – classrooms ........................................................ 73

Tabla 22: Diccionario de datos – comments ......................................................... 73

Tabla 23: Diccionario de datos – courses ............................................................. 73

Tabla 24: Diccionario de datos – persons ............................................................. 74

Tabla 25: Diccionario de datos - schedules_teachers ........................................... 74

Tabla 26: Diccionario de datos – schedules .......................................................... 74

Tabla 27: Diccionario de datos - users .................................................................. 75

Lista de ilustraciones

Ilustración 1: Fases Vs. Disciplinas, metodología RUT ......................................... 15

Ilustración 2: Cronograma de actividades ............................................................. 20

Ilustración 3: Diagrama de flujo – Ingreso al sistema como administrador ............ 22

Ilustración 4: Diagrama de flujo – Insertar datos como administrador ................... 23

Ilustración 5: Diagrama de flujo – Consultas como administrador ......................... 24

Ilustración 6: Diagrama de flujo – Modificar datos como administrador ................. 25

Ilustración 7: Diagrama de flujo – Eliminar datos como administrador .................. 26

Ilustración 8: Diagrama de flujo – Gestionar códigos QR (bloques) ...................... 27

Ilustración 9: Diagrama de flujo – Gestionar códigos QR (profesores) .................. 28

Ilustración 10: Diagrama de flujo – Gestionar comentarios ................................... 29

Ilustración 11: Diagrama de flujo – Consultas como usuario ................................. 30

Ilustración 12: Diagrama de flujo – Consultar horarios por salones ....................... 31

Ilustración 13: Diagrama de flujo – Consultar horarios por profesores .................. 32

Ilustración 14: Diagrama de flujo – Hacer un comentario ...................................... 33

Ilustración 15: Diagrama de caso de uso general - Administrador ........................ 38

Ilustración 16: Diagrama de actividad - Ingreso al sistema ................................... 50

Ilustración 17: Diagrama de actividad - Insertar datos .......................................... 51

Ilustración 18: Diagrama de actividad - Consultar datos ....................................... 51

Ilustración 19: Diagrama de actividad - Modificar datos ........................................ 52

Ilustración 20: Diagrama de actividad - Eliminar datos .......................................... 52

Ilustración 21: Diagrama de actividad - Papelera de reciclaje ............................... 53

Ilustración 22: Diagrama de actividad - Gestionar códigos QR ............................. 54

Ilustración 23: Diagrama de actividad - Gestionar comentarios ............................ 55

Ilustración 24: Diagrama de actividad - Consultar datos ....................................... 56

Ilustración 25: Diagrama de actividad - Hacer un comentario ............................... 57

Ilustración 26:Diamagrama de secuencia - Ingresar al sistema ............................ 58

Ilustración 27:Diamagrama de secuencia - Consultar datos ................................. 59

Ilustración 28:Diamagrama de secuencia - Insertar datos .................................... 59

Ilustración 29:Diamagrama de secuencia - Modificar datos .................................. 60

Ilustración 30: Diagrama de colaboración - Ingreso al sistema ............................ 61

Ilustración 31: Diagrama de colaboración - Insertar datos ................................... 62

Ilustración 32: Diagrama de colaboración - Consultar datos ................................ 62

Ilustración 33: Diagrama de colaboración - Modificar datos ................................. 63

Ilustración 34: Diagrama de colaboración - Eliminar datos................................... 63

Ilustración 35: Diagrama de colaboración - Papelera de reciclaje ........................ 64

Ilustración 36: Diagrama de colaboración - Gestionar códigos QR ...................... 64

Ilustración 37: Diagrama de colaboración - Gestionar comentarios ..................... 65

Ilustración 38:Diagrama de colaboración - Consultar datos .................................. 65

Ilustración 39: Diagrama de colaboración - Hacer un comentario ......................... 66

Ilustración 40: Diagrama de estado - Ingreso al sistema ....................................... 66

Ilustración 41: Diagrama de estado - Insertar datos .............................................. 67

Ilustración 42: Diagrama de estado – Consultas ................................................... 67

Ilustración 43: Diagrama de estado – Modificar datos ........................................... 68

Ilustración 44: Diagrama de estado – Eliminar datos ............................................ 68

Ilustración 45: Diagrama de estado – Papelera de reciclaje .................................. 69

Ilustración 46: Diagrama de estado – Gestionar códigos QR ................................ 70

Ilustración 47: Diagrama de estado – Gestionar comentarios ............................... 70

Ilustración 48: Diagrama de estado – Consultar datos .......................................... 71

Ilustración 49: Diagrama de estado – Hacer un comentario .................................. 71

Ilustración 50: Modelo relacional ........................................................................... 77

GLOSARIO

FUNCIÓN: Es un grupo de instrucciones que realizan ciertas acciones dentro de un programa.

PROGRAMACIÓN: Es el proceso de diseñar, desarrollar, crear, codificar, depurar un programa que realice las accione deseadas.

INTERFAZ: Es la parte de un programa que permite el flujo de información entre un

usuario y la aplicación, o entre la aplicación y otros programas o periféricos. Esa

parte de un programa está constituida por un conjunto de comandos y métodos que

permiten estas intercomunicaciones.

CONTRASEÑA: Una contraseña es un código o una palabra que se utiliza para

acceder a datos restringidos de un ordenador.

APLICACIÓN: Es aquel que hace que el computador coopere con el usuario en la

realización de tareas típicamente humanas, tales como gestionar una contabilidad

o escribir un texto.

ALGORITMO: Es un conjunto ordenado y finito de operaciones que permite hallar

la solución de un problema.

INTERNET: Red informática de comunicación internacional que permite el

intercambio de todo tipo de información entre sus usuarios.

PROCESO: Se refiere a la ejecución de diversas instrucciones por parte del

microprocesador, de acuerdo a lo que indica un programa.

PDF: Es un documento de tipo portable de almacenamiento utilizado en documentos digitales. Este formato está compuesto por imágenes vectoriales, mapas de bits y texto.

WEB: Información electrónica que se encuentra adaptada en la www (Word Wide Web) su contenido varía en imágenes, videos, sonidos, texto, enlaces, etc. Se puede acceder por medio de un navegador.

NAVEGADOR: Es un programa que permite el acceso a internet o en concreto a una página web, interpretando los diferentes tipos de archivos que contiene esta para mostrar y visualizar la información de buena manera.

1

RESUMEN

Este proyecto tiene como objetivo, desarrollar un sistema de información web que contenga los datos de espacios académicos, salones, laboratorios y profesores, para los estudiantes de sistematización de datos. Lo que ayudaría a tener esta información (incluyendo horarios de atención a estudiantes) de manera oportuna, en cualquier momento y espacio con una conexión a internet.

El presente proyecto de grado, pertenece a la modalidad de monografía, el cual se

está desarrollando utilizando la metodología RUP [19], su objetivo principal es el

software de alta calidad reuniendo elementos de modelos de procesos generales,

partiendo de una perspectiva dinámica sobre la faces del modelo sobre el tiempo,

estática que muestra las actividades del proceso que se representan y práctica que

ilustra buenas prácticas durante el proceso, partiendo por la recolección de

información necesaria hasta el modelamiento del negocio por medio de diagramas

UML.

Iniciaremos con el análisis de requerimientos funcionales y no funcionales, los

cuales contribuyen con vista general de lo que se va a realizar en la aplicación y la

forma en la que se mostrará el sistema de información, luego, se pasará a realizar

los diagramas de casos de uso, junto con la definición de la lista preliminar de los

diagramas en mención, seguido de los diagramas de flujo, en donde, estos, serán

de utilidad para definir lo que realizará el sistema, a continuación, se efectuará el

diseño de los diagramas de actividad, secuencia, colaboración y estados, los cuales

tienen como función puntualizar todo el modelado del negocio. Finalmente se

entrará a la fase de diseño, mostrando el diccionario de datos y diagrama de clases,

clausurando con el modelo de interfaz.

2

ABSTRACT

This project has as aim, develop a web information system that contains the information of academic spaces, classrooms, laboratories and teachers, for the students of systematizing of information. It would help to be had by this information (including schedules of attention to students) of an opportune way, at any time and I spread with a connection Internet.

The present project of degree, it belongs to the modality of monograph, which is developing using the methodology RUP [19], his principal aim is the software of high quality assembling model elements of general processes, departing from a dynamic perspective on the faces of the model on the time, statics that shows the activities of the process that are represented and practice that illustrates good practices during the process, dividing for the compilation of necessary information up to the modeling of the business by means of graphs UML.

We will initiate with the analysis of functional and not functional requirements, which contribute with general sight of what is going to be realized in the application and the form in the one that will show herself the information system, then, will happen to realize to him the graphs of cases of use, together with the definition of the preliminary list of the graphs in mention, followed by the flow charts, where, these, they will be of usefulness to define what will realize the system, later, there will be effected the design of the graphs of activity, sequence, collaboration and conditions, which have as function specify the whole shaped one of the business. Finally, it will be entered to the phase of design, showing the dictionary of information and graph of classes, closing with the model of interface.

3

INTRODUCCIÓN

El presente proyecto tiene como objetivo principal desarrollar un sistema de

información web que contenga los datos de espacios académicos, salones,

laboratorios y profesores enfocado al Proyecto Curricular de Tecnología en

Sistematización de datos perteneciente a la facultad tecnológica de la Universidad

Distrital Francisco José de Caldas. Ayudando a centralizar y a presentar la

información con alta disponibilidad a los estudiantes del programa académico en

mención.

Inicialmente se definirá las etapas de desarrollo, describiendo el planteamiento del

problema, delimitando objetivos, alcances y limitaciones, en un marco de

conceptualización para mostrar qué tan viable es el proyecto. Consecutivamente,

se podrá visualizar la fase de análisis en donde se describe puntualmente el

modelado del negocio por medio de requerimientos del sistema, funciones,

definición de actores, entre otros, utilizando el modelamiento UML.

Asimismo, se detalla la fase de diseño donde se muestra el diccionario de datos, el

diagrama de clases, modelo relacional e interfaz. Para finalizar encontraremos la

fase de implementación, pruebas y testeo, en el cual se detalla la documentación

para declarar clases, métodos, variables, procedimientos, etc. Añadiendo los

resultados de las pruebas realizadas al sistema de información WEB y se

especificará lo requisitos de software y hardware para utilizar la página.

4

1. SISTEMA WEB

1.1 TÍTULO

Sistema web para el apoyo a la visualización de espacios académicos de los salones por medio de códigos QR para los estudiantes del proyecto curricular de tecnología en sistematización de datos en la facultad tecnológica de la Universidad Distrital Francisco José de Caldas.

1.2 TEMA

Consulta dinámica, código QR, horarios, navegación web, PDF.

1.3 PLANTEAMIENTO DEL PROBLEMA

1.3.1 Descripción

El Proyecto Curricular en Sistematización de datos perteneciente a la facultad

tecnológica de la Universidad Distrital Francisco José de Caldas, actualmente

cuenta con un sistema de información en todo lo que se refiere a horarios

académicos de profesores, estudiantes, salones y laboratorios de informática, pero

¿Esta información está disponible para todos(as) los(as) estudiantes pertenecientes

al Proyecto Curricular, o a la comunidad en general? ¿Es posible saber las horas

de atención de los profesores de planta, medio y tiempo completo a estudiantes a

través de una aplicación? En el caso de que un profesor desee realizar una clase

extra ¿puede saber con certeza qué aula o laboratorio está disponible? ¿Existe una

aplicación que muestre esta información a cualquier momento y en cualquier parte?

Los horarios de los salones y laboratorios estaban disponibles en una hoja tamaño

carta adherida a la entrada del mismo, que contenía las materias, horas en las que

se desarrollaban y el nombre del profesor. Aunque actualmente no están en el aula,

el sistema Cóndor tampoco permite tener acceso a la información como se quisiera,

lo que causa confusiones en algunas ocasiones, a estudiantes nuevos y profesores

con una misma aula asignada.

Las horas de atención a estudiantes, de los profesores de medio tiempo, tiempo

completo y de planta, se pueden ver en la coordinación del proyecto curricular a

través de una carpeta que contiene estos datos, pero a esta información no se

5

puede acceder en determinados casos, como por ejemplo fuera de los horarios de

atención o cuando no es posible el ingreso.

En ciertas circunstancias, algunos profesores requieren de una sala o laboratorio

libre, en ese momento, es preciso que el profesor o algún estudiante busquen un

espacio para determinadas actividades académicas. Con sólo ingresar a una

aplicación que tenga esta información, sería mucho más sencilla la búsqueda y sin

tantas pérdidas de tiempo.

No existe una aplicación que muestre los horarios de atención de los profesores,

aulas, laboratorios de informática y la disponibilidad de los mismos. Es necesario

implementar una solución que, involucre facilidades a los estudiantes y profesores

de acceder a esta información, evitando confusiones e implicando un menor gasto

en recursos de papelería (ecológica).

Un sistema web que permita reunir esta información, optimizaría tiempos al

momento de buscar a un profesor, encontrar un lugar disponible para actividades

académicas, evitar estudiantes o profesores perdidos, además de esto, ecológico,

económico y práctico para los usuarios de la sede tecnológica.

1.3.2 Planteamiento del problema

¿Los datos de horarios de salones, laboratorios y profesores están disponible para todos(as) los(as) estudiantes pertenecientes al Proyecto Curricular en sistematización de la facultad tecnológica de la Universidad Distrital Francisco José de Caldas, o a la comunidad en general?

¿Es posible saber las horas de atención de los profesores de planta, medio y tiempo completo a estudiantes a través de una aplicación?

En el caso de que un profesor desee realizar una clase extra ¿puede saber con certeza qué aula o laboratorio está disponible?

¿Existe una aplicación que muestre esta información a cualquier momento y en cualquier parte?

2 OBJETIVOS

1.4.1 Objetivo General

Desarrollar un sistema de información web que contenga los datos de espacios académicos, salones, laboratorios y profesores. Enfocado al Proyecto Curricular de

6

Tecnología en Sistematización de datos perteneciente a la facultad tecnológica de la Universidad Distrital Francisco José de Caldas.

1.4.2 Objetivos Específicos

- Realizar un análisis que nos permita obtener requisitos de la información a

manejar.

- Recolectar información para la base de datos.

- Implementar el módulo de consulta, realizando la conexión con el formulario web.

- Implementar el módulo para generar códigos QR que contengan los datos de los

espacios académicos de determinado salón o laboratorio de informática

perteneciente al proyecto curricular Tecnología en Sistematización de Datos.

- Implementar el módulo para generar PDF’s al momento de consultar los horarios

de los salones.

- Implementar módulo de administración, creando un usuario que pueda ingresar a

gestionar (CRUD) la base de datos.

- Efectuar pruebas sobre cada uno de los módulos implementados y la página web.

1.5 ALCANCES Y LIMITACIONES DEL SISTEMA DE INFORMACIÓN

1.5.1 Alcances

Este sistema apoyará a los estudiantes pertenecientes al proyecto curricular de

sistematización de datos, que estén interesados en consultar los horarios de los

salones disponibles en la facultad tecnológica. Las características que tendrá el

sistema desarrollado son:

Permite la administración de la base de datos por medio de un usuario y

contraseña, esta gestión se hace desde la página web.

Genera códigos QR para su posterior impresión (esto únicamente lo puede

hacer el usuario administrador).

Generador del(os) horario(s) deseado(s) en archivo PDF para su descarga.

Permite acceder a la página web desde cualquier dispositivo móvil.

En la página principal muestra dinámicamente los salones o laboratorios

disponibles para uso académico.

Permite realizar consultas de horarios de salones y profesores. Para los

salones debe seleccionar el bloque en el mapa de la facultad, seguido del

7

salón particular de interés En el caso del horario de un profesor, debe

seleccionar el nombre y automáticamente se genera.

Admite ver la información de contacto (correo electrónico) del profesor en el

caso de búsqueda por profesores.

Opción de contacto para reportar algún problema o posible corrección en la

Base de Datos.

Irá enfocado a los estudiantes y profesores del proyecto curricular Tecnología en sistematización de datos de la Facultad tecnológica de la Universidad Distrital Francisco José de Caldas.

1.5.2 Limitaciones

No tiene una conexión directa con los servicios de la universidad o hipervínculo en la página de la misma.

El servicio sólo está disponible si tiene conexión a internet.

La lectura de códigos QR puede variar según la aplicación con que haga la acción.

La actualización de base de datos, la visualización y respuesta de mensajes del apartado de “contáctenos” puede ser lenta según la disponibilidad de quien esté designado como administrador.

1.6 JUSTIFICACIÓN

Existe gran variedad de sitios web que contienen información condensada de un

ente, teniéndola organizada y disponible para la comunidad que pertenece al

mismo, un ejemplo claro de esto, es la página gubernamental colombiana [18] Si

Virtual, la cual permite consultar todos los trámites que podemos realizar de manera

virtual y presencial, puntos de atención más cercanos por medio de un mapa

interactivo, plazos de fechas límites de trámites para estar al día con el estado y

mucho más. Esto es un claro ejemplo de que concentrar y presentar la información

tiene utilidad a la hora de que el usuario final requiera o necesite determinado dato.

Hoy por hoy la adquisición de información, está requiriendo mayor inmediatez,

fiabilidad, confiabilidad, portabilidad, disponibilidad. Es por eso que es conveniente

tener esa información condensada en un lugar de fácil acceso.

El Proyecto Curricular de tecnología de sistematización de datos, maneja la

información de los horarios de cada profesor, disponibles en una carpeta física para

ser consultados por quien lo desee; lastimosamente esta información en ocasiones

no está actualizada o disponible en cualquier momento, debido a que los horarios

de atención de la coordinación son de 9:00am a 5:00pm, añadiendo, que si se desea

8

conocer el email para hacer contacto con los profesores de manera electrónica es

necesario ingresar al sistema Cóndor; en pocas palabras esta información está

dispersa.

Por medio de la página web y la ayuda de los códigos QR, se logra el objetivo de

distribuir la información de los horarios de cada salón, que corresponden al proyecto

curricular de sistematización de datos en la facultad tecnológica, ayudando a los

estudiantes del mismo, para así poder ubicar sus aulas de clases y materias de una

mejor manera. Esto se obtiene de dos maneras, la primera es ingresando al sitio

web, en su página de inicio muestra la información de forma dinámica de los salones

o laboratorios disponibles para uso académico, además tiene un módulo de

búsqueda personalizada que muestra el horario de conveniencia o simplemente

para encontrar o contactar a un profesor. El otro modo disponible, es con la ayuda

del código QR ubicado a la entrada de cada aula, al realizar el escaneo por medio

de un dispositivo móvil, se obtiene un link para descarga un archivo en formato PDF,

que contiene la información detallada del horario que tiene el lugar en mención.

1.7 MARCO DE REFERENCIA

1.7.1 Marco Histórico

Nuestra aplicación no es la única existente con la función de centralizar información

y mostrarla por medio de códigos QR, a continuación, se muestra una aplicación

llamada QR UJTL, la cual se entrará a revisar y comprar con la nuestra.

PROYECTO INFORMACIÓN EN LÍNEA SOBRE LAS AULAS - QR UJTL [1]

¿Qué hace?

Es una página web que le permite a los estudiantes de la universidad Jorge Tadeo Lozano ubicar de forma ágil y oportuna la información sobre las cátedras que se dictan en cada aula y su ubicación física en el campus universitario, además cuenta con la posibilidad de generar códigos QR, estos se ubicarán en cada aula, al ser leídos con un smartphone serán redirigidos al portal mencionado previamente.

¿En qué se diferencia QR UJTL al proyecto?

La diferencia entre estos proyectos radica en la cobertura de información, el nuestro mostrará la información disponible para el proyecto curricular Tecnología en

9

sistematización de datos, además contará con un módulo que permitirá consultar los horarios de atención a estudiantes y las asignaturas dictadas de cada profesor.

1.7.2 Marco Teórico

LARAVEL [2]

Laravel es un framework para aplicaciones web con sintaxis expresiva y elegante.

Creemos que el desarrollo debe ser una experiencia agradable y creativa para que

sea verdaderamente enriquecedora. Laravel busca eliminar el sufrimiento del

desarrollo facilitando las tareas comunes utilizadas en la mayoría de los proyectos

web, como la autenticación, enrutamiento, sesiones y almacenamiento en caché.

También pretende hacer que el proceso de desarrollo sea agradable para el

desarrollador sin sacrificar funcionalidades de la aplicación. Desarrolladores felices

hacen mejor código. Con este fin, hemos intentando combinar lo mejor que hemos

visto en otros frameworks web, incluyendo frameworks de otros lenguajes, como

Ruby on Rails, ASP.NET MVC y Sinatra.

Es accesible, pero potente, ofreciendo herramientas poderosas necesarias para

aplicaciones de gran envergadura. Un espléndido contenedor de inversión de

control, sistema de migraciones expresivo, y un soporte para pruebas unitarias

estrechamente integrado, te entregan las herramientas que necesitas para construir

cualquier aplicación que te hayan encargado.

SYMPHONY [3]

Symfony es un completo framework diseñado para optimizar, gracias a sus

características, el desarrollo de las aplicaciones web. Para empezar, separa la

lógica de negocio, la lógica de servidor y la presentación de la aplicación web.

Proporciona varias herramientas y clases encaminadas a reducir el tiempo de

desarrollo de una aplicación web compleja. Además, automatiza las tareas más

comunes, permitiendo al desarrollador dedicarse por completo a los aspectos

específicos de cada aplicación. El resultado de todas estas ventajas es que no se

debe reinventar la rueda cada vez que se crea una nueva aplicación web.

Symfony está desarrollado completamente con PHP y ha sido probado con éxito en

sitios como Yahoo! Answers, delicious, DailyMotion y muchos otros sitios web de

primer nivel. Symfony es compatible con la mayoría de gestores de bases de datos,

como MySQL, PostgreSQL, Oracle y SQL Server de Microsoft. Se puede ejecutar

tanto en plataformas *nix (Unix, Linux, etc.) como en plataformas Windows.

10

ENTRUST [4]

Es un framework diseñado en php para agregar permisos basados en roles para

Laravel 4.2, facilitando el proceso de desarrollo de sistemas web que requieran

establecer restricciones a los módulos existentes en este.

SWIFTMAILER [5]

Es un framework que proporciona una gran cantidad de clases que realizan una

serie de tareas complejas, de modo que usted no tenga que hacerlo. Se puede

utilizar Swift Mailer dentro de una aplicación para que pueda disponer del envío de

mensajes de correo electrónico.

COMPOSER [6]

Composer es un gestor de dependencia para PHP. Compositor gestionará las

dependencias que se requieren en un proyecto por proyecto. Esto significa que

Compositor tirará en todas las bibliotecas, dependencias necesarias y gestionarlos

en un solo lugar.

SQL [7]

El SQL es el lenguaje estándar ANSI/ISO de definición, manipulación y control de

bases de datos relacionales. Es un lenguaje declarativo: sólo hay que indicar qué

se quiere hacer. En cambio, en los lenguajes procedimentales es necesario

especificar cómo hay que hacer cualquier acción sobre la base de datos. El SQL es

un lenguaje muy parecido al lenguaje natural; concretamente, se parece al inglés, y

es muy expresivo. Por estas razones, y como lenguaje estándar, el SQL es un

lenguaje con el que se puede acceder a todos los sistemas relacionales

comerciales.

SQL SERVER [8]

SQL Server es un sistema de gestión de bases de datos relacionales (RDBMS) de

Microsoft que está diseñado para el entorno empresarial. SQL Server se ejecuta en

T-SQL (Transact -SQL), un conjunto de extensiones de programación de Sybase y

Microsoft que añaden varias características a SQL estándar, incluyendo control de

transacciones, excepción y manejo de errores, procesamiento fila, así como

variables declaradas.

XAMPP [9]

XAMPP, es un servidor de plataforma libre, es un software que integra en una sola

aplicación, un servidor web Apache, intérpretes de lenguaje de scripts PHP, un

servidor de base de datos MySQL, un servidor de FTP FileZilla, el popular

administrador de base de datos escrito en PHP, MySQL, entre otros módulos.

11

Te permite instalar de forma sencilla Apache en tu propio ordenador, sin importar tu

sistema operativo (Linux, Windows, MAC o Solaris). Y lo mejor de todo es que su

uso es gratuito.

SUMBLIME TEXT [10]

Sublime Text es un editor de texto y editor de código fuente está escrito en C++ y

Python para los plugins.1 Desarrollado originalmente como una extensión de Vim,

con el tiempo fue creando una identidad propia, por esto aún conserva un modo de

edición tipo vi llamado Vintage mode.

Se distribuye de forma gratuita, sin embargo, no es software libre o de código

abierto, se puede obtener una licencia para su uso ilimitado, pero él no disponer de

ésta no genera ninguna limitación más allá de una alerta cada cierto tiempo.

HTML [11]

Es un lenguaje que se utiliza fundamentalmente en el desarrollo de páginas web.

HTML es la sigla de HiperText Markup Language (Lenguaje de Marcación de

Hipertexto) es un lenguaje es se utiliza comúnmente para establecer la estructura y

contenido de un sitio web, tanto de texto, objetos e imágenes. Los archivos

desarrollados en HTML usan la extensión .htm o .html.

El lenguaje de HTML funciona por medio de “etiquetas” que describen la apariencia

o función del texto enmarcado. Este lenguaje puede llegar a incluir un script o código

que tenga incidencia en el comportamiento del navegador web de elección.

CSS [12]

CSS es un lenguaje de hojas de estilos creado para controlar el aspecto o

presentación de los documentos electrónicos definidos con HTML y XHTML. CSS

es la mejor forma de separar los contenidos y su presentación y es imprescindible

para crear páginas web complejas.

Separar la definición de los contenidos y la definición de su aspecto presenta

numerosas ventajas, ya que obliga a crear documentos HTML/XHTML bien

definidos y con significado completo (también llamados "documentos semánticos").

Además, mejora la accesibilidad del documento, reduce la complejidad de su

mantenimiento y permite visualizar el mismo documento en infinidad de dispositivos

diferentes.

AJAX [13]

Acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y XML), es

una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich

Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el

12

navegador de los usuarios mientras se mantiene la comunicación asíncrona con el

servidor en segundo plano. De esta forma es posible realizar cambios sobre las

páginas sin necesidad de recargarlas, mejorando la interactividad, velocidad y

usabilidad en las aplicaciones.

JQUERY [14]

Es una biblioteca de JavaScript, creada inicialmente por John Resig, que permite

simplificar la manera de interactuar con los documentos HTML, manipular el árbol

DOM, manejar eventos, desarrollar animaciones y agregar interacción con la técnica

AJAX a páginas web. Fue presentada el 14 de enero de 2006 en el BarCamp NYC.

jQuery es la biblioteca de JavaScript más utilizada

SELECT2 [15]

Es una librería desarrollada en jquery y ajax con el fin de mostrar resultados en

tiempo real consultados directamente en una base de datos.

XML [16]

XML (eXtensible Markup Language = Lenguaje de Marcas Extensible) no es un

lenguaje de marcas, sino un metalenguaje, es decir, el XML define las reglas

generales que debe cumplir un lenguaje de marcas y la manera de definir un

lenguaje de marcas.

El XML fue creado por el W3C a finales de los 90. El W3C se creó en 1994 para

tutelar el crecimiento y organización de la web. Su primer trabajo fue normalizar el

HTML, el lenguaje de marcas con el que se escriben las páginas web. Al crecer el

uso de la web, crecieron las presiones para ampliar el HTML. El W3C decidió que

la solución no era ampliar el HTML, sino crear unas reglas para que cualquiera

pudiera crear lenguajes de marcas adecuados a sus necesidades, pero

manteniendo unas estructuras y sintaxis comunes que permitieran compatibilizarlos

y tratarlos con las mismas herramientas. Ese conjunto de reglas es el XML, cuya

primera versión se publicó en 1998.

Lógicamente, el HTML no cumple las normas del XML ya que el HTML es anterior

al XML. El creador del HTML, Tim Berners-Lee, se basó en el SGML, otro conjunto

de reglas para la creación de lenguajes de marcas creado en los años 80 y más

complejo que el XML. Una vez creado el XML, el W3C aprobó en el año 2000 el

XHTML, una versión del HTML que sí que cumple las reglas del XML. El W3C

pretendió sin éxito que el HTML dejara de utilizarse y sólo se utilizara XHTML. Al no

conseguirlo, el W3C decidió retomar el desarrollo del HTML (incluyendo en él una

versión XHTML). No se espera que la próxima versión de HTML, el HTML 5, esté

terminada antes del 2014, pero los navegadores ya incorporan muchas de sus

características.

13

PHP [17]

PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor, y se trata

de un lenguaje de scripting para la programación de páginas dinámicas de servidor.

Es un lenguaje de tipo gratuito, y forma parte del software que se conoce como de

código abierto (Open Source). Es decir que se le pueden introducir modificaciones

y mejoras y ponerlas a disposición de los demás usuarios del mismo.

Otra característica importante es que se trata de un lenguaje multiplataforma, esto

quiere decir que la aplicación web desarrollada en PHP puede funcionar en casi

cualquier tipo de plataforma Windows, Unix/Linux (y sus diferentes versiones y

distribuciones). También ofrece soporte a los motores de base de datos más

populares (SQL Server, MySQL, PosgresSQL, Oracle, etc.), como así también

acceso ODBC (open database conectivity).

Una aplicación web basada en PHP necesita dos tipos de software. El primero es un servidor web que va a atender las peticiones de los usuarios y devolverá las páginas solicitadas. El servidor Apache, tanto su versión Windows como Linux es el más utilizado. El segundo software es el propio PHP, es decir el módulo que se va a encargar de interpretar y ejecutar los scripts que se soliciten al servidor.

1.7.3 Marco Conceptual

Administrador: Este es el rol encargado de manipular el CRUD implementado en

el módulo, además de generar los códigos QR necesarios.

Invitado: Este es el rol creado para que los usuarios que desean ingresar en el

sistema, puedan visualizar la información que desean consultar.

Filtro: Es un programa informático para procesar una corriente de datos.

Encriptar: En informática, convertir un texto normal en un texto codificado de forma

que las personas que no conozcan el código sean incapaces de leerlo.

Desencriptar: Descodificar mediante las claves adecuadas la información que

previamente se había encriptado.

Android: Las aplicaciones Android están creadas en el lenguaje de programación

orientado a objetos Java. El SDK de Android tiene un conjunto de herramientas que

permitirán compilar el código, incluyendo los datos y los recursos, y lo meterá

XML: XML (eXtensible Markup Language = Lenguaje de Marcas Extensible) no es

un lenguaje de marcas, sino un metalenguaje, es decir, el XML define las reglas

14

generales que debe cumplir un lenguaje de marcas y la manera de definir un

lenguaje de marcas.

Ajax: Acrónimo de Asynchronous JavaScript And XML (JavaScript asíncrono y

XML), es una técnica de desarrollo web para crear aplicaciones interactivas o RIA

(Rich Internet Applications).

JQuery: Es una biblioteca de JavaScript, que permite facilitar la manera de

interactuar con los documentos HTML, manipular el árbol DOM, manejar eventos,

desarrollar animaciones y agregar interacción con la técnica AJAX a páginas web.

1.7.4 Marco Metodológico

Rational Unified Process (RUP)

RUP es un procedimiento de desarrollo de software y junto con el Lenguaje

Unificado de Modelado (UML), compone la metodología estándar más manejada

para el análisis, implementación y documentación de sistemas orientados a objetos.

RUP soporta diagramas UML para aceptar y comprobar los sistemas que se estén

desarrollando.

Características principales:

Forma exacta de establecer tareas y responsabilidades.

Pretende implementar las mejores prácticas en Ingeniería de Software.

Desarrollo iterativo e incremental.

Administración de requerimientos.

Uso de arquitectura basada en componentes.

Control de cambios.

Modelado visual del software.

Verificación de la calidad del software.

Diseñado para ser flexible y extensible.

El RUP es un producto de Rational (IBM). Se identifica por ser iterativo e

incremental, estar enfocado en la arquitectura y guiado por los casos de uso.

Contiene artificios (que son los productos sensibles del proceso como, por ejemplo,

el modelo de casos de uso, el código fuente, etc.) y roles (papel que ejerce una

persona en un determinado momento, una persona puede desempeñar distintos

roles a lo largo del proceso).

Guiado por los casos de uso significa que se utilizan como artefacto básico para

para crear el comportamiento esperado del sistema, para certificar y comprobar la

15

arquitectura del sistema, para las pruebas y para la comunicación entre las personas

involucradas en el proyecto.

Centrado en la arquitectura significa que la arquitectura del sistema se utiliza

como un artefacto básico para conceptualizar, montar, gestionar y hacer crecer el

sistema en desarrollo.

Un proceso reiterado es aquel que involucra la gestión de un flujo de ejecutables

del sistema.

Un proceso incremental es aquel que involucra la continua unión de la arquitectura

del sistema para producir esos ejecutables, donde cada ejecutable reúne mejoras

incrementales sobre los otros.

Una iteración es un conjunto bien definido de acciones, con un plan y unos criterios

de valoración bien determinados, que acaba en una versión, bien interna o externa.

Ciclo de vida: El ciclo de vida RUP es una implementación del Desarrollo en espiral.

Fue creado enlazando los elementos en encadenamientos semi-ordenadas. El ciclo

de vida organiza las tareas en fases e iteraciones. RUP divide el proceso en cuatro

fases, dentro de las cuales se realizan varias iteraciones en número variable según

el proyecto y en las que se hace un mayor o menor hincapié en las distintas

actividades.

RUP presenta 2 dimensiones:

Tiempo.

Componentes.

En la Figura muestra cómo varía el esfuerzo asociado a las disciplinas según la fase

en la que se encuentre el proyecto RUP.

Ilustración 1: Fases Vs. Disciplinas, metodología RUT1

1 Ilustración tomada de: http://www.comoustedyasabe.com.ar/datos/Tercero/1er_cuatrimestre/Metodologias/Apuntes_CUYS/Apunte_Final.pdf

16

Incepción

Los principales Artefactos involucrados en la toma de requerimientos son:

Los modelos de Casos de Uso

La descripción de los Actores.

La descripción de la Arquitectura.

El Glosario de términos y el Prototipo de Interfaz de Usuario.

La fase inicial o de Incepción se centra más en la captura de requerimientos

pues se establecen los criterios de alcance y los conflictos, se valoran los

recursos necesarios y se define la eficacia del sistema.

Elaboración

Los principales Artefactos involucrados en el Análisis y el diseño son:

Las Clases de Análisis.

Las Realizaciones de Casos de Uso a nivel de Análisis.

Los Paquetes de Análisis y La descripción de la Arquitectura.

Identificar Actores y Casos de Uso.

Priorizar los Casos de Uso.

Detallar Casos de Uso.

Prototipo de la Interfaz de Usuario y Estructuración del Modelo de Casos de

Uso.

El Modelo de Diseño.

Las Clases de Diseño.

Las Realizaciones de Casos de Uso a nivel de Diseño.

Los Subsistemas a nivel de Diseño.

Las Especificaciones de Interfaces

El modelo de Deployment y la descripción de la Arquitectura.

La fase de Elaboración se centra en el análisis y diseño pues se analiza el ámbito

del problema, se crea una instauración arquitectónica del sistema y se tratan los

elementos de más alto conflicto para el proyecto.

Construcción

La fase de Construcción se centra en la implementación y el testing, ya que se

desarrolla iterativa e incrementalmente un producto completo para ser entregado en

la fase actual a la comunidad de usuarios.

Los principales Artefactos involucrados en la Implementación son:

El modelo de Implementación.

17

Los Componentes.

Los Subsistemas a nivel de Implementación.

Las Especificaciones de Interfaces.

La descripción de la Arquitectura y el Plan de Construcción e Integración.

Implementar la Arquitectura.

Integrar el Sistema.

Implementar Subsistemas.

Implementar Clases y Realizar Test de Unidades individuales.

Transición

En esta etapa se entrega el producto a los usuarios, lo que incluye construir,

entregar, entrenar, dar soporte y conservar el producto hasta que los usuarios estén

satisfechos.

Testing

Los Testing’ s (pruebas de software) son los procesos que permiten verificar, validar

y revelar la calidad de un producto software.

VERIFICAR: ¿Estamos creando el sistema de manera correcta?

VALIDAR: ¿Estamos diseñando el sistema correcto?

Las pruebas de software se integran dentro de las diferentes fases del Ciclo del

software dentro de la Ingeniería de software. Así se ejecuta un programa y mediante

técnicas experimentales se trata de descubrir que errores tiene.

1.8 FACTIBILIDAD

1.8.1 Factibilidad de desarrollo

1.8.1.1 Factibilidad Técnica

En el proyecto a realizar se hará el uso de herramientas tales como: Sublime Text, SQL Server 2008 R2, XAMPP. En Sublime Text se editarán los archivos HTML, PHP, CSS y JS. SQL Server se utilizará para crear la base de datos que almacenará la información de los horarios, profesores y salones, necesaria para brindar la máxima disponibilidad y confiabilidad de la misma, XAMPP lo usaremos como servidor local, para construir y realizar pruebas al sistema web.

1.8.1.2 Factibilidad Operativa

El desarrollo del proyecto se encuentra estimado en un tiempo considerable, cuenta con el respaldo de José Vicente Reyes Mozo (Tutor del Proyecto, de la Universidad Francisco José de Caldas). Y como gestores del proyecto Jhonatan Schneider

18

Moreno González y Pedro Luis Reyes, estudiantes de la Universidad Distrital quienes están optando por el título de tecnología en sistematización de datos.

1.8.1.3 Factibilidad Legal

Se cuenta por completo con el licenciamiento del software requerido para el desarrollo del proyecto y se trabajará teniendo en cuenta las leyes de normatividad de desarrollo de software. El software necesario sería: Windows 10 Single Language 64 bits, MySQL, Sublime Text 2 y XAMPP.

1.8.1.4 Factibilidad Económica

En el presente proyecto no se va a incurrir en gastos de software, más sin embargo si en hardware, requerido para pruebas y desarrollo.

La factibilidad económica del proyecto es alta, ya que lo que necesitamos en términos financieros son mínimo dos equipos de trabajo, asesorías de los tutores del proyecto, acceso a Internet y papelería para realizar el modelado del proyecto.

En las tablas que se presentaran a continuación se describe la factibilidad económica, identificando los costos de papelería, hardware, software y recursos humanos necesarios para la realización del proyecto de investigación que se propone.

Se dividió en tres aspectos, recursos humanos, recursos técnicos y otros recursos, la distinción de los recursos humanos se presenta en la Tabla 1 Factibilidad de Recursos Humanos.

Tipo Descripción Valor-Hora Cantidad Total

Tutor 1 Asesorías para la realización del proyecto, referente a la metodología.

$ 40.000 2 horas semanales (15 semanas)

$ 680.000

Desarrolladores

Dos (2) programadores que realicen la implementación de la solución.

$ 30.000 30 horas semanales (15 semanas)

$ 13.500.000

Total Recursos Humanos $ 14.180.000

Tabla 1: Factibilidad Económica Recursos Humanos

19

Aquí se presenta las asesorías que se tendrán y los gastos de los desarrolladores.

A continuación, en la Tabla 2 se presentarán los gastos de los recursos que se ostentan en el desarrollo del proyecto.

Recurso Descripción Valor Unitario

Cantidad Total

Computadores

Equipos portátiles para el desarrollo y las pruebas del sistema.

$ 1.000.000

$ 2.000.000

1 $ 3.000.000

Total Recursos Técnicos $ 3.000.000

Tabla 2: Factibilidad Económica Recursos Técnicos

Adicionalmente se muestran los gastos adicionales en la Tabla 3 que serán solventados por desarrolladores del proyecto.

Recurso Valor

Total Recursos Humanos $ 14.180.000

Total Recursos Técnicos $ 3.000.000

Total Otros recursos $ 300.000

Costos imprevistos (10%) $ 1.748.000

TOTAL COSTO $ 19.228.000

Tabla 3: Factibilidad Económica Costo Total

20

1.9 CRONOGRAMA

Ilustración 2: Cronograma de actividades

21

3 FASE DE ANÁLISIS

3.1 ANÁLISIS DE REQUERIMIENTOS

3.1.1 Requerimientos Funcionales y no funcionales

Requerimientos funcionales

Código Descripción Nombre Caso de uso

RF01

El sistema debe permitir al Administrador ingresar por medio de unas credenciales de acceso predefinidas.

CU - Módulo Administrador - Ingreso al sistema

RF02 El sistema debe contener una base de datos fácilmente administrable, por medio de la página web.

RF03

El sistema debe permitir al Usuario hacer consultas sobre los horarios de los profesores y salones

CU - Módulo de consultas - Consultar datos

RF04 El sistema debe permitir al Administrador ver notificaciones de reportes de Usuarios en tiempo real

CU - Módulo administrador - Ver comentarios

RF05 El sistema debe permitir al Usuario reportar un error relacionado con la página.

CU - Reportar un error

RF06 El sistema debe permitir al Administrador consultar registros de la base de datos.

CU - Módulo administrador - Consultar datos

RF07 El sistema debe permitir al Administrador agregar registros a la base de datos

CU - Módulo administrador - Agregar datos

RF08 El sistema debe permitir al Administrador modificar registros de la base de datos

CU - Módulo administrador - Modificar datos

RF09 El sistema debe permitir al Administrador eliminar registros de la base de datos.

CU - Módulo administrador - Eliminar datos

RF10

El sistema debe permitir al Administrador consultar los comentarios o reportes de problemas

CU - Módulo administrador - Ver comentarios

22

RF11

El sistema debe permitir al Administrador responder comentarios o reportes de problemas

CU - Módulo administrador - Responder comentarios

RF12 El sistema debe permitir generar códigos QR de los horarios almacenados en la base de datos.

CU - Módulo administrador - Código QR

Tabla 4: Requerimientos funcionales

Requerimientos NO funcionales

Código Descripción

RNF01 El sistema debe de tener los datos de contacto de los desarrolladores y administrador.

RNF02 El sistema debe contener el logo de la universidad y del aplicativo

RNF03 El sistema debe mostrar en nombre del módulo en el que se encuentra el usuario

RNF04 El sistema debe poderse visualizar en cualquier dispositivo

Tabla 5: Requerimientos NO funcionales

3.2 DIAGRAMA DE FUNCIONES

Ilustración 3: Diagrama de flujo – Ingreso al sistema como administrador

23

Ilustración 4: Diagrama de flujo – Insertar datos como administrador

24

Ilustración 5: Diagrama de flujo – Consultas como administrador

25

Ilustración 6: Diagrama de flujo – Modificar datos como administrador

26

Ilustración 7: Diagrama de flujo – Eliminar datos como administrador

27

Ilustración 8: Diagrama de flujo – Gestionar códigos QR (bloques)

28

Ilustración 9: Diagrama de flujo – Gestionar códigos QR (profesores)

29

Ilustración 10: Diagrama de flujo – Gestionar comentarios

30

Ilustración 11: Diagrama de flujo – Consultas como usuario

31

Ilustración 12: Diagrama de flujo – Consultar horarios por salones

32

Ilustración 13: Diagrama de flujo – Consultar horarios por profesores

33

Ilustración 14: Diagrama de flujo – Hacer un comentario

34

3.3 DEFINICIÓN DE ACTORES

ACTOR 1 ADMINISTRADOR

DESCRIPCION El actor administrador tiene acceso a todo el sistema. Gestiona

la base de datos, códigos QR y comentarios.

LIMITE El administrador la posibilidad de realizar operaciones de crear,

leer, actualización y eliminación de datos de la página web,

incluyendo la gestión de códigos QR y respuesta a comentarios

o reportes de errores por parte de los Clientes, este acceso se

logra por medio de unas credenciales de acceso, definidas con

anterioridad.

Tabla 6: Definición de actor Administrador

ACTOR 2 CLIENTE

DESCRIPCION El actor usuario es aquel que solo tiene acceso a consultas de

horarios de salones y profesores, además de la visualización

de reportes o comentarios.

LIMITE El usuario tiene acceso a una consulta completa de los

bloques, horarios académicos, materias, profesores, salones y

visualización de los códigos QR generados por las consultas

incluyendo puede ver y los comentarios o reportes de errores

de otros usuario y realizarlos.

Tabla 7: Definición de actor Cliente

3.4 LISTA PRELIMINAR DE CASOS DE USO

3.4.1 Administrador

CU:01

Nombre: Ingresar al sistema

Descripción: El administrador únicamente podrá ingresar al sistema si tiene

las credenciales de inicio para poder ejercer las actividades que definen al

actor

Notas: El administrador debe tener con anterioridad las credenciales de

ingreso al sistema

35

CU:02

Nombre: Insertar datos

Descripción: El administrador podrá insertar registros a la base de datos por

medio de la página web, ingresando al módulo insertar datos, en esta parte

podrá agregar registros a: Bloques, horarios académicos, materias,

profesores y salones.

Notas: El administrador debe tener con anterioridad las credenciales de

ingreso al sistema

CU:03

Nombre: Consultar datos

Descripción: El administrador podrá consultar registros de la base de datos

por medio de la página web, ingresando al módulo consultar datos, en esta

parte podrá tener acceso a todos los datos de: Bloques, horarios académicos,

materias, profesores y salones.

Notas: El administrador debe tener con anterioridad las credenciales de

ingreso al sistema

CU:04

Nombre: Modificar datos

Descripción: El administrador podrá modificar registros de la base de datos

por medio de la página web, ingresando al módulo Modificar datos, en esta

parte podrá modificar registros de: Bloques, horarios académicos, materias,

profesores y salones.

Notas: El administrador debe tener con anterioridad las credenciales de

ingreso al sistema.

CU:05

Nombre: Eliminar datos (M)

Descripción: El administrador podrá eliminar registros temporalmente por

medio de la página web, ingresando a eliminar datos, seleccionando registros

de: Bloques, horarios académicos, materias, profesores o salones.

Notas: El administrador debe tener con anterioridad las credenciales de

ingreso al sistema.

Una vez realice la eliminación el registro cambiará de atributo internamente

para ser movido a la papelera de reciclaje.

CU:06

Nombre: Papelera de reciclaje

36

Descripción: El administrador podrá restaurar o eliminar permanentemente

registros de la base de datos por medio de la página web, ingresando al

eliminar datos y haciendo click en papelera de reciclaje, en esta operación

afecta a: Bloques, horarios académicos, materias, profesores y salones.

Notas: El administrador debe tener con anterioridad las credenciales de

ingreso al sistema

CU:07

Nombre: Códigos QR

Descripción: El administrador podrá generar una lista de códigos QR de

cada uno de los horarios de profesores o salones de manera completa o

selectiva por medio de consultas personalizadas sobre la base de datos a

través de la página web. Ingresando al módulo Códigos QR, en esta parte

podrá redimensionar el tamaño de los códigos QR a imprimir o eliminar uno

que no desee.

Notas: El administrador debe tener con anterioridad las credenciales de

ingreso al sistema

CU:08

Nombre: Gestionar comentarios

Descripción: El administrador podrá ver la lista de comentarios o reportes de

errores de cada uno de los Usuarios, podrá filtrar por fechas o usuarios y de

ser necesario, responder cada uno por medio de un botón. Ingresando al

módulo comentarios.

Notas: El administrador debe tener con anterioridad las credenciales de

ingreso al sistema Tabla 8: Lista preliminar de casos de uso - Administrador

3.4.2 Cliente

CU:09

Nombre: Consultar datos

Descripción: El Cliente podrá consultar registros de la base de datos por

medio de la página web, ingresando al módulo Consultas, en esta parte podrá

tener acceso a los horarios de: Horarios académicos por profesores y

salones.

Notas:

37

CU:10

Nombre: Enviar un comentario.

Descripción: El Cliente podrá enviar un comentario o reporte de error a través

de la opción Servicios > comentarios, en esta parte podrá tener acceso a una

interfaz en donde se solicita datos de manera obligatoria.

Notas: Tabla 9: Lista preliminar de casos de uso – Cliente

38

3.5 DIAGRAMAS DE CASOS DE USO

3.5.1 General

Ilustración 15: Diagrama de caso de uso general - Administrador

39

3.6 DEFINICIÓN DE CASOS DE USO

3.6.1 Administrador

IDENTIFICACION CASO DE USO ACTORES

01 Ingreso al sistema Administrador

OBJETIVO

Crear un caso para realizar el proceso de ingreso al sistema.

DESCRIPCIÓN

El actor administrador tiene acceso a todo el sistema. Gestiona la base de

datos, códigos QR y comentarios.

Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.

Alternativas y

excepciones

Error del sistema.

Validación de credenciales.

CURSO NORMAL DE LOS EVENTOS

ACCION DEL ACTOR RESPUESTA DEL SISTEMA

1. El actor administrador ingresa a la opción administración.

2. El actor administrador digita las

credenciales de acceso 3. El actor ingresa al módulo.

4. El sistema muestra la interfaz de inicio de sesión como administrador.

5. El sistema valida las credenciales ingresadas y muestra si son correctas o no.

6. El sistema muestra la interfaz del

sistema de Administrador.

PUNTOS DE INTERRUPCION

40

El Administrador puede volver al inicio.

El sistema puede interrumpir el proceso en el punto 5, si el usuario, no ingresa las credenciales correctas en el punto 2.

Tabla 10: Definición de casos de uso - CU01: Ingreso al sistema

IDENTIFICACION CASO DE USO ACTORES

02 Insertar datos Administrador

OBJETIVO

Crear un caso de uso para realizar el proceso de registro de nuevos datos en

el sistema.

DESCRIPCIÓN

El administrador podrá insertar registros a la base de datos por medio de la

página web, ingresando al módulo insertar datos, en esta parte podrá agregar

registros a: Bloques, horarios académicos, materias, profesores y salones.

Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.

El actor administrador debe verificar que el registro que vaya a ingresar no existe.

Alternativas y

excepciones

Error del sistema.

Validación de credenciales.

Validación de campos vacíos.

Validación de tipo de dato.

CURSO NORMAL DE LOS EVENTOS

ACCION DEL ACTOR RESPUESTA DEL SISTEMA

1. El actor administrador selecciona el módulo insertar datos.

2. El actor administrador digita el

nuevo registro.

4. El sistema muestra la interfaz de de cada uno de los ítems de la base de datos.

5. El sistema valida los campos vacíos y tipo de dato.

41

3. El actor administrador registra los datos deseados.

6. El sistema confirma guarda el registro ingresado en la base de datos.

PUNTOS DE INTERRUPCION

El Administrador puede cancelar el proceso.

El sistema puede interrumpir el proceso en el punto 5, si el usuario, no ingresa los campos obligatorios o tipo de datos correcto en el punto 2.

El guardado del registro no se podrá completar si el actor administrador no oprime en registrar.

Tabla 11: Definición de casos de uso - CU02: Insertar datos

IDENTIFICACION CASO DE USO ACTORES

03 Consultar datos Administrador

OBJETIVO

Crear un caso de uso que describa el proceso de consulta de datos.

DESCRIPCIÓN

El administrador podrá consultar registros de la base de datos por medio de la

página web, ingresando al módulo consultar datos, en esta parte podrá tener

acceso a todos los datos de: Bloques, horarios académicos, materias,

profesores y salones.

Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.

Alternativas y

excepciones

Error del sistema.

Validación de credenciales.

Validación de campos vacíos.

CURSO NORMAL DE LOS EVENTOS

ACCION DEL ACTOR RESPUESTA DEL SISTEMA

1. El actor administrador selecciona el módulo Consultar datos.

3. El sistema muestra la interfaz de cada uno de los ítems de la base de datos.

42

2. El actor administrador digita el dato a buscar.

4. El sistema valida campos vacíos.

PUNTOS DE INTERRUPCION

El Administrador puede cancelar el proceso.

El sistema puede interrumpir el proceso en el punto 4, si el usuario, digita estando el campo vacío en el punto 2.

Tabla 12: Definición de casos de uso - CU03: Consultar datos

IDENTIFICACION CASO DE USO ACTORES

04 Modificar datos Administrador

OBJETIVO

Crear un caso de uso que describa el proceso de modificar datos.

DESCRIPCIÓN

El administrador podrá modificar registros de la base de datos por medio de la

página web, ingresando al módulo Modificar datos, en esta parte podrá

modificar registros de: Bloques, horarios académicos, materias, profesores y

salones.

Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.

El actor Administrador debe validar los datos que va a modificar.

Alternativas y

excepciones

Error del sistema.

Validación de credenciales.

Validación de campos vacíos.

Validación de tipo de datos.

CURSO NORMAL DE LOS EVENTOS

ACCION DEL ACTOR RESPUESTA DEL SISTEMA

1. El actor Administrador selecciona el módulo Actualizar datos.

5. El sistema muestra la interfaz de cada uno de los ítems de la base de datos.

43

2. El actor Administrador selecciona el ítem (tabla) de interés.

3. El actor Administrador selecciona el registro a modificar.

4. El actor Administrador guarda los cambios.

6. El sistema muestra los datos de la tabla.

7. El sistema habilita los campos para que sean editables.

8. El sistema valida campos vacíos y

tipo de datos, muestra un mensaje de confirmación.

PUNTOS DE INTERRUPCION

El Administrador puede cancelar el proceso.

El sistema puede interrumpir el proceso en el punto 8, si hay un campo vació o un tipo de dato que no concuerda.

Tabla 13: Definición de casos de uso - CU04: Modificar datos

IDENTIFICACION CASO DE USO ACTORES

05 Eliminar datos Administrador

OBJETIVO

Crear un caso de uso que describa el proceso de eliminar datos.

DESCRIPCIÓN

El administrador podrá eliminar registros temporalmente por medio de la

página web, ingresando a eliminar datos, seleccionando registros de: Bloques,

horarios académicos, materias, profesores o salones.

Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.

El actor Administrador debe validar los datos que va a eliminar.

Alternativas y

excepciones

Error del sistema.

Validación de credenciales.

CURSO NORMAL DE LOS EVENTOS

ACCION DEL ACTOR RESPUESTA DEL SISTEMA

44

1. El actor Administrador selecciona el módulo Eliminar datos.

2. El actor Administrador selecciona

el ítem (tabla) de interés.

3. El actor Administrador selecciona lo(s) registro(s) a eliminar

4. El actor Administrador selecciona eliminar los datos seleccionados.

5. El actor Administrador confirma la eliminación de los registros.

6. El sistema muestra la interfaz de cada uno de los ítems de la base de datos.

7. El sistema muestra los datos de la tabla.

8. El sistema muestra los check de los registros seleccionados.

9. El sistema muestra un mensaje de confirmación.

10. El sistema cambia el atributo de los registros eliminados, para moverlos a la papelera.

PUNTOS DE INTERRUPCION

El Administrador puede cancelar el proceso.

El sistema puede interrumpir el proceso en el punto 9, si el Administrador, determina no eliminar los registros en el punto 5.

Tabla 14: Definición de casos de uso - CU05: Eliminar datos

IDENTIFICACION CASO DE USO ACTORES

06 Papelera de reciclaje Administrador

OBJETIVO

Crear un caso de uso que describa el proceso de restaurar o eliminar

permanentemente registros de la base de datos.

DESCRIPCIÓN

El administrador podrá restaurar o eliminar permanentemente registros de la

base de datos por medio de la página web, ingresando al módulo eliminar

datos y haciendo click en papelera de reciclaje, esta operación afecta a:

Bloques, horarios académicos, materias, profesores o salones.

Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.

45

Alternativas y

excepciones

Error del sistema.

Validación de credenciales.

CURSO NORMAL DE LOS EVENTOS

ACCION DEL ACTOR RESPUESTA DEL SISTEMA

1. El actor Administrador selecciona el módulo Papelera de reciclaje.

2. El actor Administrador selecciona

el ítem (tabla) de interés.

3. El actor Administrador selecciona los registros a restaurar o eliminar permanentemente.

4. El actor Administrador selecciona restaurar los registros elegidos.

5. El actor Administrador selecciona eliminar permanentemente los registros elegidos.

6. El sistema muestra la interfaz de cada uno de los ítems de la base de datos.

7. El sistema muestra los datos de la tabla.

8. El sistema muestra los check de los registros seleccionados.

9. El sistema cambia un atributo en la

BD de los registros y muestra un mensaje de confirmación.

10. El sistema eliminar permanentemente los registros de la Base de Datos.

PUNTOS DE INTERRUPCION

El Administrador puede cancelar el proceso.

El sistema puede interrumpir el proceso si no hay ningún elemento eliminado.

Tabla 15: Definición de casos de uso - CU06: Papelera de reciclaje

IDENTIFICACION CASO DE USO ACTORES

07 Gestionar Código QR Administrador

OBJETIVO

Crear un caso de uso que describa el proceso para crear, gestionar e imprimir

Códigos QR.

46

DESCRIPCIÓN

El administrador podrá generar una lista de códigos QR de cada uno de los

horarios de profesores o salones de manera completa o selectiva por medio

de consultas personalizadas sobre la base de datos a través de la página web.

Ingresando al módulo Códigos QR, en esta parte podrá redimensionar el

tamaño de los códigos QR a imprimir o eliminar uno que no desee.

Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.

Alternativas y

excepciones

Error del sistema.

Validación de credenciales.

CURSO NORMAL DE LOS EVENTOS

ACCION DEL ACTOR RESPUESTA DEL SISTEMA

1. El actor Administrador selecciona el módulo Código QR.

2. El actor Administrador selecciona

el número de bloque de interés.

3. El actor Administrador selecciona el número de salón de interés

4. El sistema muestra la interfaz con todos los Códigos QR de todos los salones separados por Bloques.

5. El sistema muestra los códigos QR pertenecientes a los salones del bloque seleccionado.

6. El sistema muestra los Códigos QR pertenecientes al salón seleccionado.

PUNTOS DE INTERRUPCION

El Administrador puede cancelar el proceso.

El Administrador puede interrumpir el proceso si decide editar el tamaño o eliminar un código que no deseado.

Tabla 16: Definición de casos de uso - CU07: Gestionar código QR

IDENTIFICACION CASO DE USO ACTORES

08 Gestionar comentarios Administrador

47

OBJETIVO

Crear un caso de uso que describa el proceso para gestionar comentarios

realizados por los clientes.

DESCRIPCIÓN

El administrador podrá ver la lista de comentarios o reportes de errores de

cada uno de los Usuarios, podrá filtrar por fechas o usuarios y de ser necesario,

responder cada uno por medio de un botón. Ingresando al módulo

comentarios.

Precondiciones El actor Administrador debe tener las credenciales (usuario y contraseña) para poder ingresar.

Alternativas y

excepciones

Error del sistema.

Validación de credenciales.

Validación de espacios vacíos

CURSO NORMAL DE LOS EVENTOS

ACCION DEL ACTOR RESPUESTA DEL SISTEMA

1. El actor Administrador selecciona el módulo Comentarios.

2. El actor Administrador lee los

comentarios o reportes.

3. El actor Administrador selecciona el comentario a responder.

4. El actor Administrador escribe la

respuesta.

5. El sistema muestra la interfaz con todos los comentarios o problemas reportados por los clientes.

6. El sistema disminuye el número de comentarios sin leer que muestra en las notificaciones.

7. El sistema muestra la interfaz con

los campos designados para responder.

8. El sistema valida campos vacíos y

registra la respuesta.

PUNTOS DE INTERRUPCION

El Administrador puede cancelar el proceso.

El sistema puede interrumpir el proceso en el punto 8 si encuentra un

48

campo vacío.

El Administrador no responde un comentario. Tabla 17: Definición de casos de uso - CU08: Gestionar comentarios

3.6.2 Cliente

IDENTIFICACION CASO DE USO ACTORES

09 Consultar datos Usuario

OBJETIVO

Crear un caso de uso que describa el proceso de consulta de datos.

DESCRIPCIÓN

El Cliente podrá consultar registros de la base de datos por medio de la página

web, ingresando al módulo Consultas, en esta parte podrá tener acceso a los

horarios académicos por profesores y salones.

Precondiciones El actor Cliente debe ingresar al menú desplegable de servicios para poder acceder al módulo.

Alternativas y

excepciones

Error del sistema.

Validación de datos.

Validación de espacios vacíos.

CURSO NORMAL DE LOS EVENTOS

ACCION DEL ACTOR RESPUESTA DEL SISTEMA

1. El actor Cliente selecciona entre Consulta por salones o por profesores.

2. El actor Cliente selecciona entre

el número de bloque en el mapa o nombre del profesor.

3. El actor Cliente Elige el salón.

5. El sistema muestra la interfaz con las dos selecciones de consulta.

6. El sistema muestra mapa de la facultad para seleccionar el Bloque o muestra un listado de profesores.

7. El sistema muestra el código QR generado de la consulta.

49

4. El actor Cliente, hace click en el

código QR.

8. El sistema genera el horario en

formato PDF.

PUNTOS DE INTERRUPCION

El Cliente puede cancelar el proceso.

El Cliente puede interrumpir el proceso en el punto 7, si, escanea el código QR con un dispositivo móvil.

Tabla 18: Definición de casos de uso - CU09: Consultar datos

IDENTIFICACION CASO DE USO ACTORES

10 Hacer un comentario Usuario

OBJETIVO

Crear un caso de uso que describa el proceso para hacer un comentario.

DESCRIPCIÓN

El Cliente podrá enviar un comentario o reporte de error a través de la opción

Servicios > comentarios, en esta parte podrá tener acceso a una interfaz en

donde se solicita datos de manera obligatoria.

Precondiciones El actor Cliente debe ingresar al menú desplegable de servicios para poder acceder al módulo.

Alternativas y

excepciones

Error del sistema.

Validación de datos.

Validación de espacios vacíos.

CURSO NORMAL DE LOS EVENTOS

ACCION DEL ACTOR RESPUESTA DEL SISTEMA

1. El actor Cliente selecciona la pestaña reportar un error.

2. El actor Cliente digita su

comentario.

3. El actor Cliente envía los datos

4. El sistema muestra la interfaz con los campos para digitar el reporte.

5. El sistema valida campos vacíos y

tipos de datos.

50

por medio de un botón. 6. El sistema muestra un mensaje de confirmación.

PUNTOS DE INTERRUPCION

El Cliente puede cancelar el proceso.

El Cliente puede interrumpir el proceso en el punto 5, si, el cliente ingresa campo vacíos o tipos de datos incorrectos.

Tabla 19: Definición de casos de uso - CU10: Hacer un comentario

3.7 DIAGRAMA DE ACTIVIDAD

3.7.1 Administrador

Ilustración 16: Diagrama de actividad - Ingreso al sistema

51

Ilustración 17: Diagrama de actividad - Insertar datos

Ilustración 18: Diagrama de actividad - Consultar datos

52

Ilustración 19: Diagrama de actividad - Modificar datos

Ilustración 20: Diagrama de actividad - Eliminar datos

53

Ilustración 21: Diagrama de actividad - Papelera de reciclaje

54

Ilustración 22: Diagrama de actividad - Gestionar códigos QR

55

Ilustración 23: Diagrama de actividad - Gestionar comentarios

56

3.7.2 Cliente

Ilustración 24: Diagrama de actividad - Consultar datos

57

Ilustración 25: Diagrama de actividad - Hacer un comentario

58

3.8 DIAGRAMA DE SECUENCIA

3.8.1 Administrador

Ilustración 26:Diamagrama de secuencia - Ingresar al sistema

59

Ilustración 27:Diamagrama de secuencia - Consultar datos

Ilustración 28:Diamagrama de secuencia - Insertar datos

60

Ilustración 29:Diamagrama de secuencia - Modificar datos

61

3.8.2 Cliente

3.9 DIAGRAMA DE COLABORACIÓN

3.9.1 Administrador

Ilustración 30: Diagrama de colaboración - Ingreso al sistema

62

Ilustración 31: Diagrama de colaboración - Insertar datos

Ilustración 32: Diagrama de colaboración - Consultar datos

63

Ilustración 33: Diagrama de colaboración - Modificar datos

Ilustración 34: Diagrama de colaboración - Eliminar datos

64

Ilustración 35: Diagrama de colaboración - Papelera de reciclaje

Ilustración 36: Diagrama de colaboración - Gestionar códigos QR

65

Ilustración 37: Diagrama de colaboración - Gestionar comentarios

3.9.2 Cliente

Ilustración 38:Diagrama de colaboración - Consultar datos

66

Ilustración 39: Diagrama de colaboración - Hacer un comentario

3.10 DIAGRAMA DE ESTADO

3.10.1 Administrador

Ilustración 40: Diagrama de estado - Ingreso al sistema

67

Ilustración 41: Diagrama de estado - Insertar datos

Ilustración 42: Diagrama de estado – Consultas

68

Ilustración 43: Diagrama de estado – Modificar datos

Ilustración 44: Diagrama de estado – Eliminar datos

69

Ilustración 45: Diagrama de estado – Papelera de reciclaje

70

Ilustración 46: Diagrama de estado – Gestionar códigos QR

Ilustración 47: Diagrama de estado – Gestionar comentarios

71

3.10.2 Cliente

Ilustración 48: Diagrama de estado – Consultar datos

Ilustración 49: Diagrama de estado – Hacer un comentario

72

3.11 SELECCIÓN DE HERRAMIENTA

Elegimos el lenguaje de programación PHP junto al framework de desarrollo

LARAVEL 5 debido a las ventajas que nos brinda la unión de estos dos; en primera

medida las facilidades en tiempo de desarrollo que lleva producir una aplicación

utilizando este framework, también por la documentación que nos facilita el

desarrollo y la solución de problemas que surgen durante el mismo, además del

amplio sistema de paquetes y drivers que trae LARAVEL, facilitándonos la

configuración y ampliación con elementos como servidores de correo u ORM para

el manejo de bases de datos, en este caso mediante eloquent.

Aunque existen otros lenguajes de programación como java y python, los cuales

están enfocados a la web, son orientados a objetos y cuentan con una seria de

framework robustos y seguros, pero, optamos por PHP y LARAVEL debido a la

facilidad de desarrollo que presta el framework y a la baja curva de aprendizaje del

mismo, pues frameworks como por ejemplo JSF para java tienen un tiempo de

aprendizaje elevado, y el manejo de componentes, como primefaces o richface

llevan tiempo, razón por la cual PHP junto con este framework tienen ventaja

aunque otros lenguajes sean robustos y solventes.

4. FASE DE DISEÑO

4.1.1 DICCIONARIO DE DATOS

Nombre de la

tabla answer_comments

Columna Tipo Nulo Predeterminado Enlaces a

id (Primaria) int(10) No

answer varchar(255) No

comment_id int(10) No comments -> id

created_at timestamp No 0000-00-00 00:00:00

updated_at timestamp No 0000-00-00 00:00:00

Tabla 20: Diccionario de datos - Answer coments

Nombre de la tabla

Classrooms

Columna Tipo Nulo Predeterminado Enlaces a

73

id (Primaria) int(10) No

name varchar(30) No

block_id varchar(10) No blocks -> id

deleted_at timestamp Sí NULL

created_at timestamp No 0000-00-00 00:00:00

updated_at timestamp No 0000-00-00 00:00:00

Tabla 21: Diccionario de datos – classrooms

Nombre de la

tabla Comments

Columna Tipo Nulo Predeterminado Enlaces a

id (Primaria) int(10) No

email varchar(255) No

description varchar(255) No

type varchar(255) No

deleted_at timestamp Sí NULL

created_at timestamp No 0000-00-00 00:00:00

updated_at timestamp No 0000-00-00 00:00:00

Tabla 22: Diccionario de datos – comments

Nombre de la tabla

Courses

Columna Tipo Nulo Predeterminado Enlaces a

id (Primaria) int(10) No

name varchar(40) No

deleted_at timestamp Sí NULL

created_at timestamp No 0000-00-00 00:00:00

updated_at timestamp No 0000-00-00 00:00:00

Tabla 23: Diccionario de datos – courses

Nombre de la tabla

Persons

Columna Tipo Nulo Predeterminado Enlaces a

id (Primaria) int(10) No

name bigint(20) No

lastname varchar(30) No

phone varchar(30) Sí NULL

74

email varchar(255) No

type varchar(50) No

deleted_at timestamp Sí NULL

created_at timestamp No 0000-00-00 00:00:00

updated_at timestamp No 0000-00-00 00:00:00

Tabla 24: Diccionario de datos – persons

Nombre de la tabla

schedules_teachers

Columna Tipo Nulo Predeterminado Enlaces a

id (Primaria) int(10) No

classroom_id int(10) Sí NULL classrooms -> id

hour_start time Sí NULL

hour_end time Sí NULL

day varchar(20) Sí NULL

teacher_id int(10) Sí NULL persons -> id

deleted_at timestamp Sí NULL

created_at timestamp No 0000-00-00 00:00:00

updated_at timestamp No 0000-00-00 00:00:00

Tabla 25: Diccionario de datos - schedules_teachers

Nombre de la tabla

Schedules

Columna Tipo Nulo Predeterminado Enlaces a

id (Primaria) int(10) No

classroom_id int(10) No classrooms -> id

hour_id int(10) No hours -> id

day_id int(10) No days -> id

person_id bigint(20) No persons -> id

course_id int(10) No courses -> id

deleted_at timestamp Sí NULL

created_at timestamp No 0000-00-00 00:00:00

updated_at timestamp No 0000-00-00 00:00:00

Tabla 26: Diccionario de datos – schedules

75

Nombre de la tabla

users

Columna Tipo Nulo Predeterminado Enlaces a

id (Primaria) int(10) No

name varchar(255) No

email varchar(255) No

password varchar(255) No

remember_token varchar(100) Sí NULL

created_at timestamp No 0000-00-00 00:00:00

updated_at timestamp No 0000-00-00 00:00:00

Tabla 27: Diccionario de datos - users

76

4.2 DIAGRAMA DE CLASES

77

4.3 MODELO RELACIONAL

Ilustración 50: Modelo relacional

CONCLUSIONES

Implementar un sistema de información web que contenga los datos de

horarios de salones y profesores ayuda a los estudiantes de sistematización

de datos a encontrar rápidamente la información que necesitan en

determinado momento y espacio.

El efectuar la impresión de los códigos QR como alternativa a los horarios

convencionales ubicados a la salida de los salones, logra que la información

se vuelva portable por medio del PDF y consultable en cualquier momento al

estar en una página web. Además de ecológica al utilizar menos papel para

imprimir los horarios.

Tener un módulo de administración en la página protegido por medio de unas

credenciales es seguro para la información que se encuentra contenida, pero

el usuario que la administre, tendría que estar atento a los cambios que se

efectúen para mantener la información actualizada, sería bueno que en un

futuro se pudiera hacer una conexión directa con la base de datos del sistema

Cóndor.

78

El sistema podría llegar a ser implementado a una mayor escala, incluyendo

los demás proyectos curriculares y facultades de la universidad.

BIBLIOGRAFÍA

- [1] Rojas Cruz, Jeimy Lorena. Sistema de información web para la gestión de

inventarios implementando códigos QR. Trabajo de grado Tecnología en

Sistematización de Datos. Bogotá D.C: Universidad Distrital Francisco José de

Caldas. Facultad de Tecnología-Politécnica. 2014.

-[2] Laravel comunidad en español. Introducción. [En línea]. 2013. Disponible en

internet: http://laraveles.com/docs/4.2/introduction.

-[3] Libros Web. Symfony en pocas palabras. [En línea]. 2015. Disponible en

internet:

http://librosweb.es/libro/symfony_1_4/capitulo_1/symfony_en_pocas_palabras.html

-[4] Zizaco. Entrust (Laravel4 Package). [En línea]. 2014. Disponible en internet:

https://github.com/Zizaco/entrust/tree/1.0

-[5] Swift Mailer. SwitfMailer Introduction. [En línea]. 2015. Disponible en internet:

http://swiftmailer.org/docs/introduction.html

-[6] El lenguaje SQL. Introducción. [En línea]. 2015. Disponible en internet:

http://ocw.uoc.edu/computer-science-technology-and-multimedia/bases-de-

datos/bases-de-datos/P06_M2109_02149.pdf

-[7] Search Data Center. SQL server: definición. [En línea]. 2015. Disponible en

internet: http://searchdatacenter.techtarget.com/es/definicion/SQL-Server

-[8] Tecnopedia. Sublime Text editor de texto para desarrolladores. [En línea]. 2012.

Disponible en internet: http://www.tecnopedia.net/software/sublime-text-editor-de-

texto-para-desarrolladores/

-[9] Universidad de Murcia. Desarrollo de Aplicaciones Web Xampp. [En línea].

2014. Disponible en internet:

http://www.um.es/docencia/barzana/DAWEB/Desarrollo-de-aplicaciones-web-

Xampp.html

-[10] DefiniciónABC. Definición de HTML. [En línea]. 2015. Disponible en internet:

http://www.definicionabc.com/tecnologia/html.php

79

-[11] Libros Web. Introducción ¿Qué es CSS?. [En línea]. 2015. Disponible en

internet:

http://librosweb.es/libro/css/capitulo_1.html

-[12] Github. Select2 [En línea]. 2015. Disponible en internet:

https://select2.github.io/

-[13] W3 Schools. Select [En línea]. 2015. Disponible en internet:

http://www.w3schools.com/tags/tag_select.asp

-[14] jQuery. jQuery API. [En línea]. 2015. Disponible en internet:

https://api.jquery.com/

-[15] JavaScript. JavaScript. [En línea]. 2015. Disponible en internet:

https://www.javascript.com/

-[16] jQuery. AJAX. [En línea]. 2015. Disponible en internet:

https://api.jquery.com/category/ajax/

- [17] JOJOOA - TECNOLOGÍA, MARKETING Y CRM. Definición de PHP - ¿qué

es PHP?. [En línea]. 2012. Disponible en internet:

https://sites.google.com/site/jojooa/informatica-tecnologia/definicion-de-php-que-

es-php.

-[18] Si virtual. Gobierno en línea. [En línea]. Disponible en internet

https://www.sivirtual.gov.co/

-[19] GRUPO CUYS (COMO USTED YA SABE). Metodologías de desarrollo de

software. [En línea]. Disponible en internet:

http://www.comoustedyasabe.com.ar/datos/Tercero/1er_cuatrimestre/Metodologia

s/Apuntes_CUYS/Apunte_Final.pdf

- Marthe de Carvajal. Cómo Elaborar Y Presentar Un Trabajo Escrito. 4ª ed. Lugar

de edición: Barranquilla. Ediciones Uninorte. 1999. 257p.

- CUADRA, Dolores. Desarrollo de bases de datos. México. Alfaomega: Ra-Ma,

2008. 569p.

- MARTÍN SIERRA, Antonio J. Programador certificado Java 2. México. Alfaomega:

Ra-Ma. 2010. 620p.

- IAN SOMMERVILLE. Ingeniería del software, séptima edición. Madrid. Pearson

educación. 2005.

80

ANEXOS

Anexo 1:

El anexo uno hace referencia a los casos de uso específicos del proyecto, el anexo

mencionado se encuentra ubicado en el CD adjunto al anillado.

Anexo 2:

En este podemos encontrar el Manual del usuario programador, en donde se

especifica los requerimientos para poder ejecutar la página de manera local, debido

a que el proyecto curricular no ha reportado la aprobación o desaprobación para

implementar el sistema de información sobre los servidores de la Universidad. Este

manual lo podemos encontrar en el CD adjunto a este proyecto.

Anexo 3:

Al igual que los anteriores está ubicado en el CD que va junto al anillado. En este

caso es el Manual del usuario, en donde se explica detalladamente las

funcionalidades, características, procedimientos, entre otros.