Anteproyecto

26
ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO FACULTAD DE INFORMÁTICA Y ELECTRÓNICA Anteproyecto de TRABAJO DE GRADO Título DESARROLLO DE UN SISTEMA INFORMÁTICO PARA LA DISTRIBUCIÓN DE CARGA HORARIA Y ESPACIO FÍSICO ASIGNADO A DOCENTES Y ESTUDIANTES DE LA ESPOCH” Presentado por : Alex Salvador Tipán López Dario Eugenio Garcia Gaibor Director de Tesis: Jorge Ernesto Huilca Palacios Escuela: Ingeniería en Sistemas Tipo de Trabajo de Titulación: Práctico, Investigativo

description

Guia para un anteproyecto.

Transcript of Anteproyecto

Page 1: Anteproyecto

ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZOFACULTAD DE INFORMÁTICA Y ELECTRÓNICA

Anteproyecto de

TRABAJO DE GRADO

Título “DESARROLLO DE UN SISTEMA INFORMÁTICO PARA LA DISTRIBUCIÓN DE CARGA HORARIA Y ESPACIO FÍSICO ASIGNADO A DOCENTES

Y ESTUDIANTES DE LA ESPOCH”

Presentado por: Alex Salvador Tipán López Dario Eugenio Garcia Gaibor

Director de Tesis: Jorge Ernesto Huilca Palacios

Escuela: Ingeniería en Sistemas

Tipo de Trabajo de Titulación: Práctico, Investigativo

Fecha de presentación del anteproyecto:

Para uso del Vicedecanato:

APROBADO: ( ) RECHAZADO: ( )

PRIMERA MATRÍCULA: ( ) SEGUNDA MATRICULA: ( )

CULMINADO: ( )

Page 2: Anteproyecto

1. TITULO DEL ANTEPROYECTO DEL TRABAJO DE GRADODESARROLLO DE UN SISTEMA INFORMÁTICO PARA LA DISTRIBUCIÓN DE CARGA HORARIA Y ESPACIO FÍSICO ASIGNADO A DOCENTES Y ESTUDIANTES DE LA ESPOCH.

2. INFORMACIÓN GENERAL

2.1. PROPONENTES:

NOMBRE: Alex Salvador Tipán LópezCEDULA: 1600539751CÓDIGO: 5712E-MAIL: [email protected]: Ingeniería en SistemasCARRERA: Ingeniería en Sistemas

NOMBRE: Dario Eugenio Garcia GaiborCEDULA: 2100555966CÓDIGO: 5178E-MAIL: [email protected]: Ingeniería en SistemasCARRERA: Ingeniería en Sistemas

2.2. DIRECTOR DEL TRABAJO DE TITULACIÓN:

NOMBRE: Jorge Ernesto Huilca PalaciosCEDULA: 0602613200E-MAIL: [email protected] [email protected]

2.3. EMPRESA / INSTITUCIÓN DONDE SE APLICARÁ EL TRABAJO:NOMBRE: ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO “ESPOCH”DIRECCIÓN: Panamericana Sur km 1 1/2, Riobamba - Ecuador

2.4. ALINEACIÓN DEL TRABAJO DE TITULACIÓN

Objetivo (s) / Política (s) del Plan

Nacional de Buen Vivir:

Objetivo 4.Fortalecer las capacidades y potencialidades de la ciudadanía.Políticas4.4. a Fortalecer estándares de calidad.4.4.b. Establecer mecanismos de apoyo y seguimiento a la gestión de las instituciones

Área de Investigación ESPOCH: Ciencias Tecnológicas.

Línea(s) de Investigación ESPOCH: Tecnologías de la Información, comunicación, procesos industriales y biotecnológicos.

Programa de Investigación ESPOCH. Programa para el desarrollo de aplicaciones de software para procesos de gestión y administración pública y privada.Educación.

Page 3: Anteproyecto

Línea de Investigación de la Carrera: Programa para el desarrollo de aplicaciones de software para procesos de gestión y administración pública y privada.Educación.

Tabla 1: Alineación del trabajo de investigaciónFuente: www.buenvivir.gob.es, www.espoch.edu.ec

3. FORMULACIÓN GENERAL DEL PROYECTO DEL TRABAJO DE GRADO

3.1 PLANTEMIENTO DEL PROBLEMA / ANTECEDENTES

En la Escuela Superior Politécnica de Chimborazo se puede crear un proceso automatizado que evite los cruces de horarios y mejore la distribución de espacios físicos para docentes y estudiantes, facilitando el acceso a esta información.

Ya que es necesario realizar cada semestre una planificación de la carga horaria de las escuelas, que consiste en asignar a los profesores las asignaturas que van a dictar en el siguiente período académico y el horario de clases que van a tener que cumplir, así como las aulas y laboratorios que van a utilizar.

Esta tarea está a cargo de los directores de cada escuela, quienes son los encargados de generar el horario de clases, asignando a cada curso las asignaturas que según la malla curricular tienen que cubrir los estudiantes matriculados en dicho curso. Además, para cada grupo de estudiantes se tiene que asignar el aula que van a utilizar y el o los laboratorios que necesitarán dependiendo de las asignaturas y de la necesidad del profesor que la imparta.

Cada profesor de la ESPOCH tiene asignado además un puesto de trabajo en una de las salas de profesores que hay en los edificios y en la cual tiene que permanecer un tiempo específico para cumplir sus actividades adicionales a las de impartición de clases. Dichos puestos de trabajo son asignados igualmente por los directores de escuela en coordinación y aprobación del decanato y el vicedecanato de su facultad.

Así mismo, cada grupo de estudiantes tiene asignada un aula específica para recibir sus clases. Esta asignación es realizada en función del número de estudiantes del curso y del número de pupitres disponibles, en este espacio de trabajo de los estudiantes. Nuevamente, los directores de las escuelas son los encargados de realizar dicha distribución de aulas, intentando siempre cubrir las necesidades del curso.

Como existen profesores que tienen asignada carga horaria en más de una escuela de su Facultad, los directores tienen que ponerse de acuerdo entre ellos para manejar las jornadas de clases de tal manera que no existan cruces en los horarios que manejan los profesores.

Los directores deben coordinar con los técnicos informáticos de su facultad la asignación de los laboratorios para los cursos en las asignaturas que requieren el uso de los equipos, igualmente evitando el cruce de horarios de los profesores y la optimización del uso de los laboratorios, es decir deben revisar el número de equipos y de estudiantes que van a hacer uso del inmobiliario.

Los espacios físicos para el desarrollo de las asignaturas en la ESPOCH en clases y evaluaciones se impartirán en las aulas físicas, laboratorios, talleres y lugares autorizados por el (la) decano(a) de la facultad, coordinador(a) de Extensiones o director(a) de centros de apoyo Académico. [1]

Page 4: Anteproyecto

La distribución de carga horaria en la ESPOCH se contempla de la siguiente manera:

a) Los docentes a tiempo completo con nombramiento, tendrán una dedicación efectiva de 30 horas semanales; obligatoriamente distribuidas en los cinco días laborables de la semana.[2]

b) Los docentes a tiempo parcial con nombramiento, tendrán una dedicación efectiva de 10 horas semanal. [2]

c) Docentes contratados horas – clase. [2]

d) Los docentes con funciones directivas tendrán una dedicación exclusiva. [2] Las horas de dedicación de los docentes se sujetarán al horario de trabajo de la unidad académica, de conformidad a las unidades académicas planificarán la distribución académica del docente de la siguiente manera. [2]

a) DOCENTES A TIEMPO COMPLETO 1 asignatura ------------- 20 - 22 Horas Clase 2 asignaturas ------------- 18 - 20 Horas Clase 3 a 4 asignaturas ------------- 16 - 18 Horas Clase

b) DOCENTES A TIEMPO PARCIAL 1 asignatura ------------- 8 - 10 Horas Clase 2 asignaturas ------------- 6 - 8 Horas Clase c) DOCENTES CONTRATADOS HORAS - CLASE DE (4 a 24 horas clase hasta cuatro asignaturas). [2]

3.2 JUSTIFICACIÓN DEL TRABAJO DE GRADO

3.2.1 JUSTIFICACIÓN TEÓRICA

AngularJS es Javascript. 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 y permite producir un HTML que, de manera declarativa, genere aplicaciones que sean fáciles de entender incluso para alguien que no tiene conocimientos profundos de informática. El objetivo es producir un HTML altamente semántico, es decir, que cuando lo leas entiendas de manera clara qué es lo que hace o para qué sirve cada cosa. [3]

NodeJs es un intérprete Javascript del lado del servidor que cambia la noción de cómo debería trabajar un servidor. Su meta es permitir a un programador construir aplicaciones altamente escalables y escribir código que maneje decenas de miles de conexiones simultáneas en una sólo una máquina física. [4]

PostgreSQL hace una de las bases de datos más potentes y robustas del mercado. Su desarrollo comenzó hace más de 16 años, y durante este tiempo, estabilidad, potencia, robustez, facilidad de administración e implementación de estándares han sido las características que más se han tenido en cuenta durante su desarrollo. PostgreSQL

Page 5: Anteproyecto

funciona muy bien con grandes cantidades de datos y una alta concurrencia de usuarios accediendo a la vez a el sistema.[5]

HTML5 es una nueva versión del lenguaje de marcación HTML, sino una agrupación de diversas especificaciones concernientes al desarrollo web. Es decir, HTML 5 no se limita sólo a crear nuevas etiquetas, atributos y eliminar aquellas marcas que están en desuso o se utilizan inadecuadamente, sino que va mucho más allá.[6]

CSS es un lenguaje (no un lenguaje de programación) utilizado para especificar el aspecto de una página web para diferentes dispositivos. Esto entra en contraste con HTML que es un lenguaje que define la estructura de un documento para su distribución por la web. El HTML le dice al navegador como se estructura el documento mientras que el CSS le dice cómo debe renderizarlo.[7]

CSS3 añade muchas capacidades nuevas a la especificación anterior. Aunque aún está en proceso de estandarizado y le queda un largo camino por recorrer, ya se ha hecho un hueco al lado de HTML5 y supone uno de los mayores adelantos en el diseño web actual.[6]

Representantes de Google, Yahoo y Mozilla indican como utilizan Node.js. En el 2010 Yahoo inicia el desarrollo de aplicaciones con Node.js, Bruno Fernández vicepresidente de plataformas indica que estuvieron buscando la forma de ejecutar JavaScript en el servidor y hace referencia a su tecnología YQL, pero cuando encontraron a Node dice que “Nuestros desarrolladores lo usaban para la carga de archivos”. Con esto en mente dedicaron invertir más tiempo con esta tecnología y la usaron por más de 12 meses en nuevos, al igual que google ha desarrollado muchas aplicaciones que usan JavaScript, un claro ejemplo es Gmail con 450000 líneas de código en JavaScript. De aquí que Google ve la necesidad de uso de Nodejs y AngularJS, mientras Mozilla indica que llevan utilizándolo por un buen tiempo. “Concretamente nos decidimos por Node debido a dos razones: El bajo consumo de memoria, y la segunda razón es las capacidades de criptografía con JavaScript”. [8]

3.2.2 JUSTIFICACIÓN APLICATIVA

La Escuela Superior Politécnica de Chimborazo no posee un proceso automatizado para la distribución de carga horaria, aulas, laboratorios, sala de tutorías para docentes y estudiantes respectivamente.

Este trabajo de grado tiene como objetivo desarrollar un sistema informático, accesible, usable que brinde las facilidades requeridas para el acceso a la información de la ubicación y horarios de clase asignados a través de un navegador web, con la ayuda del servicio de internet.

De acuerdo a los aspectos considerados, el proyecto a desarrollar tendrá las siguientes características, será orientado a la web, multiplataforma, creado con herramientas de distribución libre sin costo de licencia, el acceso a esta aplicación estará disponible solo en la intranet de la ESPOCH, poseerá políticas de seguridad basada en tipos de usuarios, al finalizar la fase de desarrollo se realizará unas pruebas con los datos de la Escuela de Ingeniería en Sistemas para finalmente cumplir con la fase de presentación de resultados, este proyecto no contempla el desarrollo de una aplicación móvil así como tampoco la implantación del mismo en la ESPOCH.

Page 6: Anteproyecto

Figura 1: Estructura del Sistema Informático Fuente: Alex Tipán, Dario Garcia

Módulos contemplados en el sistema:

MÓDULO DE ADMINISTRADOR: Realizará una supervisión y administración de la información generada en todo el sistema así como también la asignación de usuarios a los módulos de autoridades y creación de los periodos académicos.

MÓDULO DE VICEDECANO: Permitirá el registro, consulta, modificación y eliminación de los datos del docente, materia, aulas, laboratorios, sala de profesores, cursos de su respectiva facultad.

MÓDULO DE DIRECTOR.- Permitirá la creación de los registros para la carga horaria asignando un docente, un curso, una materia y un aula o laboratorio en una hora y día especifico, en el periodo académico actual.

MÓDULO DE DOCENTES.- Permitirá la consulta de la carga horaria, laboratorio, aula y su sala de tutorías asignados en función de sus asignaturas.

MÓDULO DE ESTUDIANTE.- Permitirá la consulta de la carga horaria, laboratorio, aula y ver la sala de tutorías en base a sus asignaturas.

Nota: Los usuarios de estos módulos podrá acceder a través de su número de cedula en el caso que no decida modificar su usuario y contraseña.

3.3 OBJETIVOS

3.3.1 OBJETIVOS GENERALES

Page 7: Anteproyecto

Desarrollar un sistema informático para la distribución de carga horaria y espacio físico asignado a docentes y estudiantes de la ESPOCH.

3.3.2 OBJETIVOS ESPECÍFICOS

Diagnosticar el estado actual en la distribución de carga horaria y espacios físicos de docentes y estudiantes de la ESPOCH.

Investigar conceptos, características de AngularJS, NodeJs para el diseño y desarrollo del sistema informático en la distribución de carga horaria y espacios físicos en la ESPOCH.

Desarrollar el Sistema informático basados en la metodología ágil SCRUM que faciliten los procesos de distribución de carga horaria, aulas, laboratorios, sala de profesores.

Evaluar funcionalidad, usabilidad y accesibilidad del sistema de distribución de carga horaria y espacios físicos, con los docentes y estudiantes de la ESPOCH.

3.4 MARCO TEÓRICO

PATRÓN DE DISEÑO MVCMVC es una propuesta de diseño de software utilizada para implementar sistemas donde se requiere el uso de interfaces de usuario. Surge de la necesidad de crear software más robusto con un ciclo de vida más adecuado, donde se potencie la facilidad de mantenimiento, reutilización del código y la separación de conceptos. [9].

Su fundamento es la separación del código en tres capas diferentes, acotadas por su responsabilidad, en lo que se llaman Modelos, Vistas y Controladores, o lo que es lo mismo, Model, Views & Controllers, si lo prefieres en inglés. En este artículo estudiaremos con detalle estos conceptos, así como las ventajas de ponerlos en marcha cuando desarrollamos. [9].

Estructura

ModelosEs la capa donde se trabaja con los datos, por tanto contendrá mecanismos para acceder a la información y también para actualizar su estado. Los datos los tendremos habitualmente en una base de datos, por lo que en los modelos tendremos todas las funciones que accederán a las tablas y harán los correspondientes selects, updates, inserts, etc. [9] VistasLas vistas, como su nombre nos hace entender, contienen el código de nuestra aplicación que va a producir la visualización de las interfaces de usuario, o sea, el código que nos permitirá renderizar los estados de nuestra aplicación en HTML. En las vistas nada más tenemos los códigos HTML y PHP que nos permite mostrar la salida. [9] ControladoresContiene el código necesario para responder a las acciones que se solicitan en la aplicación, como visualizar un elemento, realizar una compra, una búsqueda de información, etc. [9].

FRAMEWORK ANGULARJS PARA EL DESARROLLO

Page 8: Anteproyecto

Es un Javascript que tiene como intención hacer que los programadores mejoren la calidad de usar HTML, con la finalidad de crear q un código limpio, sencillo que personas sin conocimientos en el tema puedan entender.[3]

Lógicamente, AngularJS viene cargado con todas las herramientas que los creadores ofrecen para que los desarrolladores sean capaces de crear ese HTML enriquecido. La palabra clave que permite ese HTML declarativo en AngularJS es "directiva", que no es otra cosa que código JavaScript que mejora el HTML. Puedes usar el que viene con AngularJS y el que han hecho terceros desarrolladores, puesto que muchas personas están contribuyendo con pequeños proyectos -independientes del propio framework- para enriquecer el panorama de directivas disponibles. Hasta este punto serás un "consumidor de directivas", y finalmente cuando vayas tomando experiencia serás capaz de convertirte en un "productor de directivas", enriqueciendo tú mismo las herramientas para mejorar tu propio HTML. [3]

Ahora vamos a hacer un breve recorrido para nombrar y describir con unos pequeños apuntes aquellos elementos y conceptos que te vas a encontrar dentro de AngularJS. [3]

Primeramente tenemos que hablar sobre el gran patrón que se usa en Angular, el conocido Modelo, Vista, Controlador. [3]

Vistas: Será el HTML y todo lo que represente datos o información. Controladores: Se encargarán de la lógica de la aplicación y sobre todo de

las llamadas "Factorías" y "Servicios" para mover datos contra servidores o memoria local en HTML5.[3]

Modelo de la vista: En Angular el "Modelo" es algo más de aquello que se entiende habitualmente cuando te hablan del MVC tradicional, las vistas son algo más que el modelo de datos. En modo de ejemplo, en aplicaciones de negocio donde tienes que manejar la contabilidad de una empresa, el modelo serían los movimientos contables. Pero en una pantalla concreta de tu aplicación es posible que tengas que ver otras cosas, además del movimiento contable, como el nombre de los usuarios, los permisos que tienen, si pueden ver los datos, editarlos, etc. Toda esa información, que es útil para el programador pero que no forma parte del modelo del negocio, es a lo que llamamos el "Scope" que es el modelo en Angular.[3]

Angular promueve y usa patrones de diseño de software. En concreto implementa lo que se llama MVC, aunque en una variante muy extendida en el mundo de Javascript que luego comentaremos con más detalle. Básicamente estos patrones nos marcan la separación del código de los programas dependiendo de su responsabilidad. Eso permite repartir la lógica de la aplicación por capas, lo que resulta muy adecuado para aplicaciones de negocio y para las aplicaciones SPA (Single Page Aplication). [3]

Page 9: Anteproyecto

Figura 2: Descripción general del proceso que hace AngularJS. [10]

NODEJS ENTORNO DE PROGRAMACIONNode.Js proporciona una manera fácil para construir programas de red escalables. ¿Cuál es el problema con los programas de servidor actuales? Hagamos cuentas. En lenguajes como Java™ y PHP, cada conexión genera un nuevo hilo que potencialmente viene acompañado de 2 MB de memoria. En un sistema que tiene 8 GB de RAM, esto da un número máximo teórico de conexiones concurrentes de cerca de 4.000 usuarios. A medida que crece su base de clientes, si usted desea que su aplicación soporte más usuarios, necesitará agregar más y más servidores. Desde luego, esto suma en cuanto a los costos de servidor del negocio, a los costos de tráfico, los costos laborales, y más. Además de estos costos están los costos por los problemas técnicos potenciales — un usuario puede estar usando diferentes servidores para cada solicitud, así que cualquier recurso compartido debe almacenarse en todos los servidores. Por todas estas razones, el cuello de botella en toda la arquitectura de aplicación Web (incluyendo el rendimiento del tráfico, la velocidad de procesador y la velocidad de memoria) era el número máximo de conexiones concurrentes que podía manejar un servidor.Node resuelve este problema cambiando la forma en que se realiza una conexión con el servidor. En lugar de generar un nuevo hilo de OS para cada conexión (y de asignarle la memoria acompañante), cada conexión dispara una ejecución de evento dentro del proceso del motor de Node. Node también afirma que nunca se quedará en punto muerto, porque no se permiten bloqueos y porque no se bloquea directamente para llamados E/S. Node afirma que un servidor que lo ejecute puede soportar decenas de miles de conexiones concurrentes.[4]

Programación orientada por eventos A muchos programadores se les ha hecho creer que la programación orientada a objetos es el diseño perfecto de programación y que no deben usar nada más. Node utiliza lo que se conoce como modelo de programación orientado por eventos. [4]

Node está extremadamente bien diseñado para situaciones en que usted esté esperando una gran cantidad de tráfico y donde la lógica del lado del servidor y el procesamiento requeridos, no sean necesariamente grandes antes de responder al cliente. Aquí hay algunos buenos ejemplos en donde Node haría un gran trabajo. [4]

Page 10: Anteproyecto

LENGUAJE DE MARCADO DE HIPERTEXTOS HTML5

El HTML5 es la versión más nueva del Lenguaje de Marcado de Hipertexto (código en que se programan los sitios web), y cambia los paradigmas de desarrollo y diseño web que se tenían al introducir herramientas notables como etiquetas que permiten la publicación de archivos de audio y video con soportes de distintos codecs; tags para que los usuarios dibujen contenidos en 2D y 3D; cambios en los llenados de formularios; y una web semántica mucho mejor aprovechada. [11].

La mayoría de los contenidos que se visualizan en los navegadores están hechos en HTML. Sin embargo, este lenguaje fue limitado a textos e imágenes estáticas. Hace mucho tiempo que se creó la tecnología Flash (en manos del gigante Adobe), de modo que los contenidos pudieran ser dinámicos e interactivos. De acuerdo a la misma compañía, el 99% de los usuarios de Internet la utilizan. [11].

LENGUAJE PARA DEFINIR HOJAS DE ESTILO CSS3

Hojas de estilo en cascada que viene acompañado de cambios novedosos ofreciendo un control total sobre los estilos y formatos asignados a los documentos y su gran fortaleza en la separación por capas que consiste en la división del código que puede ser reutilizable y posee un consistencia global con la capacidad de crear hojas de estilo global con un control de cambios que te permiten ver y adaptar los conforme a las necesidades del programador y peticiones del usuario.

CSS 3 todavía avanza un poco más en la dirección, de aportar más control sobre los elementos de la página. [12]

PLATAFORMA DE DESARROLLO WEBSTORM

Un entorno moderno de JavaScript debería siempre seguir el mismo ritmo que los avances en la tecnología del desarrollo web. WebStorm consigue este objetivo con el lanzamiento de nuevas actualizaciones en períodos de tiempo muy cortos y gracias a su perseverancia a la hora de detectar nuevas tendencias. [13]

WebStorm pone a disposición de los desarrolladores web profesionales cualquier nueva tecnología que quieran utilizar, así como todas las herramientas adecuadas:

- Soporte para CoffeeScript (incluye navegación, asistente de código, refactorización, comprobación de errores y mucho más) para ayudarle a sacar el máximo rendimiento a la concisión  y a la sencillez de lectura de esta extensión de JavaScript.[13]

- Integración con JSLint que permite nuevas inspecciones para verificar la calidad del código. [13]

- Soporte para Node.JS que le permitirá utilizar todo el potencial de este IDE para la edición y depuración de JavaScript en el lado servidor. "JavaScript se ha convertido en uno de los lenguajes más populares del momento y, como tal, merece tener pleno soporte en cualquier IDE", señaló Alexey Gopachenko, máximo responsable del proyecto WebStorm. "La clave en un entorno de desarrollo es aumentar la productividad de los desarrolladores, ofreciendo los mejores métodos para utilizar los últimos estándares y

Page 11: Anteproyecto

tecnologías. Tenemos en cuenta las opiniones de nuestros usuarios a la hora de diseñar nuevas actualizaciones y las lanzamos de forma regular, en períodos de tiempo cortos. Es por ello que WebStorm siempre se mantiene al día de las nuevas tecnologías." [13]

Estas son las principales nuevas características de WebStorm:

- Soporte para Node.JS- Soporte para CoffeeScript- Integración con JSLint- Pruebas unitarias de JavaScript mediante JsTestDriver- Detector inteligente de código duplicado para HTML, CSS y JavaScript- Mejoras importantes en la sincronización por FTP/SFTP- Soporte para TFS y  gráficos de revisiones de Git- Interfaz de usuario mejorada para todos los sistemas operativos soportados

GESTOR DE BASE DE DATOS POSTGRESQL

PostgreSQL es un sistema de gestión de bases de datos objeto-relacional, distribuido bajo licencia BSD y con su código fuente disponible libremente. Es el sistema de gestión de bases de datos de código abierto más potente del mercado y en sus últimas versiones no tiene nada que envidiarle a otras bases de datos comerciales. [5]

PostgreSQL utiliza un modelo cliente/servidor y usa multiprocesos en vez de multihilos para garantizar la estabilidad del sistema. Un fallo en uno de los procesos no afectará el resto y el sistema continuará funcionando. [5]

3.5 TEMARIO TENTATIVO DESGLOSADO, CAPÍTULOS, SUBCAPÍTULOS

El temario tentativo que se propone está compuesto de cuatro capítulos que abarcan todo el proceso de investigación que contribuyan con la consecución de los mismos. Los parámetros de investigación durante el proceso investigativo puede abordar nuevas necesidades por lo que está sujeto a cambios.

PORTADA. AGRADECIMIENTO.

DEDICATORIA. ÍNDICE DE ABREVIATURAS. ÍNDICE GENERAL. ÍNDICE DE FIGURAS. ÍNDICE DE TABLAS. INTRODUCCIÓN.

CAPÍTULO I

                    MARCO REFERENCIAL

1. FORMULACIÓN GENERAL DEL PROYECTO DE TESIS/MEMORIA.

                    1.1. ANTECEDENTES.                    1.2. JUSTIFICACIÓN.                                1.2.1. JUSTIFICACIÓN TEÓRICA.

Page 12: Anteproyecto

                                1.2.2. JUSTIFICACIÓN PRÁCTICA.                    1.3 OBJETIVOS.                                1.3.1 OBJETIVO GENERAL.                                1.3.2 OBJETIVOS ESPECÍFICOS.

CAPITULO II

                2. MARCO TEÓRICO.                   

            2.1. METODOLOGÍA DE DESARROLLO.                                 2.1.1. INTRODUCCIÓN.                                2.1.2. DEFINICIÓN.                                2.1.3. CARACTERÍSTICAS DE LA METODOLOGÍA.

                         2.2. HERRAMIENTAS DE DESARROLLO2.2.1. PATRÓN DE DISEÑO MVC

2.2.2. FRAMEWORK ANGULARJS2.2.3. NODEJS2.2.4. LENGUAJE DE MARCADO DE HIPERTEXTOS HTML52.2.5. LENGUAJE PARA DEFINIR HOJAS DE ESTILO CSS32.2.6. GESTOR DE BASE DE DATOS POSTGRESQL2.2.7. ENTORNO DE DESARROLLO WEBSTORM

CAPITULO III

        3. DESARROLLO DE LA APLICACIÓN.        3.1. ANÁLISIS                    3.1.1. LEVANTAMIENTO DE REQUERIMIENTOS.                    3.1.2. DEFINICIÓN DEL ESTÁNDAR A UTILIZAR.        3.2. DISEÑO.                    3.2.1. DISEÑO DE LA ARQUITECTURA DE LA APLICACIÓN.        3.3. DESARROLLO.                    3.3.1. DESARROLLO DE LA APLICACIÓN        3.4. IMPLEMENTACIÓN.                    3.4.1. EJECUCIÓN DE LA APLICACIÓN.

        CONCLUSIONES        RECOMENDACIONES        RESUMEN        GLOSARIO        ANEXOS        BIBLIOGRAFÍA

3.6 BIBLIOGRAFÍA

3.6.1 BIBLIOGRAFÍA GENERAL

Normas para la elaboración de Trabajos de investigación/Tesis en la Facultad de Informática y Electrónica. (Publicaciones)

3.6.2 BIBLIOGRAFÍA RELACIONADA AL TEMA

Page 13: Anteproyecto

[1] Electronica, F. d. (06 de Mayo de 2014). Plublicaciones. Obtenido de Plublicaciones: , http://espoch.edu.ec/index.php?action=facultades&id=4

[2] Electronica, F. d. (07 de Mayo de 2014). Plublicaciones. Obtenido de Plublicaciones: , http://espoch.edu.ec/index.php?action=facultades&id=4

[3] Alberto Basalo, M. A. (28 de Agosto de 2014). DesarrolloWeb. Obtenido de DesarrolloWeb: http://www.desarrolloweb.com/articulos/que-es-angularjs-descripcion-framework-javascript-conceptos.html

[4] Abernethy, M. (14 de 06 de 2011). IBM developerWorks. Obtenido de IBM developerWorks: , https://www.ibm.com/developerworks/ssa/opensource/library/os-nodejs/[5] Rafael, M. (10 de Febrerp de 2010). Sobre PostgreSQL. Obtenido de Sobre PostgreSQL: , http://www.postgresql.org.es/sobre_postgresql[6] Alvarez, M. A. (14 de Octubre de 2009). desarrolloweb.com. Obtenido de Qué es HTML5:

http://www.desarrolloweb.com/articulos/que-es-html5.html[7] Campos, O. (25 de Junio de 2011). desarrollo y software. Obtenido de desarrollo y software:

http://www.genbetadev.com/desarrollo-web/breve-introduccion-a-css3[8] Beat, V. (24 de Mayo de 2012). Node.js Hispano. Obtenido de Node.js Hispano:

http://www.nodehispano.com/2012/05/como-google-mozilla-y-yahoo-utilizan-node-js-nodejs/

[9]Alvarez, M. A. (02 de Enero de 2014). desarrolloweb.com. Obtenido de desarrolloweb.com: http://www.desarrolloweb.com/articulos/que-es-mvc.html

[10] Basalo, A. (28 de Agosto de 2014). desarrolloweb.com. Obtenido de desarrolloweb.com: http://www.desarrolloweb.com/archivoimg/general/2996.jpg

[11]Erlandsen, M. (17 de Abril de 2012). Guioteca. Obtenido de Guioteca: http://www.guioteca.com/internet/%C2%BFque-es-html5-y-que-cambios-introduce/

[12] Alvarez, M. A. (09 de Junio de 2008). Desarrolloweb.com. Obtenido de Desarrolloweb.com: http://www.desarrolloweb.com/articulos/introduccion-css3.html

[13] PRAGA. (21 de Diciembre de 2011). PRNewswire. Obtenido de PRNewswire: http://www.prnewswire.com/news-releases/webstorm-30-el-ide-de-javascript-de-jetbrains-135982113.html

[14] Albaladejo, X. (13 de Septiembre de 2014). Proyectos Ágiles. Obtenido de Proyectos Ágiles: Available: http://www.proyectosagiles.org/planificacion-iteracion-sprint-planning. [Último acceso: 2015].

4. EJECUCIÓN DEL PROYECTO DE TRABAJO DE TITULACIÓN

4.1 MÉTODOS Y TÉCNICAS

4.1.1. MÉTODO DE INVESTIGACIÓN

Page 14: Anteproyecto

Dado que para el desarrollo de estudio los métodos que se van a emplear son métodos de investigación cualitativos, cuantitativos, puede darse el caso en el que sea necesario la combinación de diferentes métodos. Los métodos deductivos y empíricos encajan ente los que se denominan métodos de investigación cuantitativos y son especialmente apropiadas para el estudio de fenómenos u objetos naturales. Sin embargo el estudio de fenómenos culturales y sociales requiere de la utilización de entrevistas, cuestionarios, documentos a los que se denomina métodos cualitativos.

4.1.2. METODOLOGÍA DE DESARROLLO DE SOFTWARE

SCRUM es una metodología ágil y flexible para la gestión del desarrollo de software, que se enfatiza primordialmente en que el sistema pueda requerir cambios e incorporar o eliminar interacciones en el trascurso de su desarrollo.

Es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto. [14]

Beneficios

- Cumplimento de expectativas: El cliente establece sus expectativas indicando el valor que le aporta cada requisito / historia del proyecto, el equipo los estima y con esta información el Product Owner establece su prioridad.[14]

- Flexibilidad a cambios: Alta capacidad de reacción ante los cambios de requerimientos generados por necesidades del cliente o evoluciones del mercado. La metodología está diseñada para adaptarse a los cambios de requerimientos que conllevan los proyectos complejos.[14]

- Mayor calidad del software: La metódica de trabajo y la necesidad de obtener una versión funcional después de cada iteración, ayuda a la obtención de un software de calidad superior.[14]

- Mayor productividad: Se consigue entre otras razones, gracias a la eliminación de la burocracia y a la motivación del equipo que proporciona el hecho de que sean autónomos para organizarse. .[14]

- Reducción de riesgos: El hecho de llevar a cabo las funcionalidades de más valor en primer lugar y de conocer la velocidad con que el equipo avanza en el proyecto, permite despejar riesgos eficazmente de manera anticipada. [14]

4.1.3. TÉCNICAS

La principal fuente de información es el servicio de internet, lo que facilita el acceso a la información referente al tema de investigación, debido a que es una tecnología nueva en el campo de desarrollo de software.

En el análisis de las tecnologías, técnicas para la recopilación de información se ha determinado la entrevista, lluvia de ideas.

- Entrevista: La técnica de recolección de información más usada en el desarrollo de un sistema informático, donde se establece un dialogo con el usuario o usuarios de la ESPOCH en la recolección de requisitos y procesos en la distribución de carga horaria y espacios físicos.

- Lluvia de Ideas: Esta técnica se usa en el grupo de Investigación y desarrollo para identificar problemas y obtener alternativas de solución.

Page 15: Anteproyecto

4.2 RECURSOS NECESARIOS

4.2.1 HARDWARE

Características generales de hardware:

Equipo Características EstadoServidor de Base de Datos

Procesador: Intel(R) Core(TM) i7-3617U CPU @1.90 GHZMemoria RAM: 8.00 (7,87 GB utilizable)Disco Duro: 1TB

Disponible

Laptops para desarrollo

Procesador: Intel(R) Core(TM) i7-3517U CPU @1.90 GHZMemoria RAM: 8.00 (7,87 GB utilizable)Disco Duro: 500 GB

Disponible

Equipos Cliente Requisitos mínimos:Procesador: 533 MHzRAM: 128 MB

Accesible

Tabla 2: Características de HardwareFuente: Alex Tipán, Dario Garcia

4.2.2 SOFTWAREPara el desarrollo del Sistema informático se ha optado por utilizar en su mayoría software

de distribución gratuita.

Nombre Tipo UtilizaciónWebStorm 10.0 Software Plataforma de DesarrolloPosgreSql 9.3 Software Sistema de gestión de base

de datos.AngularJS Framework Vista.NodeJS Servidor Servidor web.Fedora 21, Windows 8.1pro Sistema Operativos Administrar aplicaciones.Microsoft Office 2013 Software Gestor de documentosMicrosoft Visio 2010 Herramienta CASE Diseño de Diagramas de

planificaciónPower Designer Herramienta CASE Diseño de la Base de Datos

Fuente: Alex Tipán, Dario Garcia

4.2.3 MATERIALES A UTILIZAR

MaterialMemorias USBDisco duro externoConexión a internet

Page 16: Anteproyecto

Utensillos de oficinaTabla 3: Descripción de Recursos Materiales

Fuente: Alex Tipán, Dario Garcia

4.3 PLAN GENERAL DE TRABAJO

Para el desarrollo del proyecto se ha divido el plan de trabajo en cuatro fases por la facilidad de obtención de información y requerimientos del sistema.

Fase de Recolección de Información: Es la primera fase, en la que se recopila toda la información necesaria para posteriormente analizarla, definir alternativas de solución como:

- Definir los indicadores.- Definir los usuarios involucrados.- Definir los reportes

Fase de Investigación: Esta fase corresponde a la situación actual que atraviesa la ESPOCH, en la distribución de carga horaria y espacios físicos para docentes y estudiantes por medio de la definición de requerimientos e información de la tecnología que se empleará como:- Aplicaciones donde ha sido usada las tecnologías que serán utilizadas.- Recopilar información sobre las herramientas a usar para el desarrollo del proyecto.

Fase de Desarrollo: En esta fase se procede a realizar la parte aplicativa del trabajo de grado que comprende la producción y puesta en marcha del software que comprende:

- Preparación del proyecto.- Análisis y diseño de la solución.- Análisis del diseño de la aplicación.- Desarrollo de la aplicación.- Pruebas.- Implementación.

Fase de Presentación de resultados: Es la fase final del trabajo de grado, donde se muestran los resultados obtenidos durante el proceso de investigación, desarrollo e implementación del sistema.

4.4 CRONOGRAMA TENTATIVO (GANTT)

El cronograma tentativo en el desarrollo del software es de 4 meses aproximadamente a partir de la aprobación del anteproyecto, dividido a las fases de desarrollo que se muestran el Diagraman Gantt para lo cual se adjunta al documento en el Anexo 1 que contiene la detalladamente el cronograma de trabajo.

4.5 PRESUPUESTO

A continuación se detalla el presupuesto planteado para el desarrollo del proyecto de tesis y el listado de materiales y recursos necesarios:

Page 17: Anteproyecto

Detalle Cant (mes).

Valor Unitario ($)

Valor Total ($) Fuente de financiamiento

Servicio de internet 4 50.00 200.00 Auto Financiado

Alimentación 4 400.00 1600.00 Auto Financiado

Vivienda 4 200.00 800.00 Auto Financiado

Movilización 4 60.00 240.00 Auto Financiado

Suministros de oficina 4 20.00 80.00 Auto financiado

Total 4 730.00 2920.00 Auto Financiado

Tabla 4: Detalle de costos de presupuestoFuente: Alex Tipán, Dario Garcia

5.6 FUENTE DE FINANCIAMIENTO

Los gastos del proyecto definidos en la tabla 4, con una duración aproximada de 4 meses

suman $2920.00 autofinanciados.

Page 18: Anteproyecto

ANEXO 1

CRONOGRAMA TENTATIVO PARA DESARROLLO DEL SISTEMA

Page 19: Anteproyecto

5. FIRMAS DE RESPONSABILIDAD

………………………………. ……………………………..…. ………………………………… Ing. Jorge Huilca Dario Garcia Alex Tipán DIRECTOR PROPONENTE PROPONENTE