• No se han encontrado resultados

Aplicación web - móvil para la gestión de los procesos de tutorías y acompañamiento de la carrera de sistemas de Uniandes

N/A
N/A
Protected

Academic year: 2020

Share "Aplicación web - móvil para la gestión de los procesos de tutorías y acompañamiento de la carrera de sistemas de Uniandes"

Copied!
126
0
0

Texto completo

(1)

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES “UNIANDES”

FACULTAD DE SISTEMAS MERCANTILES CARRERA DE SISTEMAS

PROYECTO DE INVESTIGACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN SISTEMAS E INFORMÁTICA

TEMA:

APLICACIÓN WEB – MÓVIL PARA LA GESTIÓN DE LOS PROCESOS DE TUTORÍAS Y ACOMPAÑAMIENTO DE LA CARRERA DE SISTEMAS

DE UNIANDES

AUTOR: GUASHCOCUJILEMA LUIS FRANKLIN

TUTOR: ING. BAÑO NARANJO FREDDY PATRICIO

(2)

APROBACIÓN DEL TUTOR DEL TRABAJO DE TITULACIÓN

CERTIFICACIÓN:

Quien suscribe, legalmente CERTIFICA QUE: el presente trabajo de titulación realizado por el Sr. GUASHCO CUJILEMA LUIS FRANKLIN, estudiante de la carrera de Sistemas, Facultad de Sistemas Mercantiles, con el tema “APLICACIÓN WEB-MÓVIL PARA LA GESTIÓN DE PROCESOS DE TUTORÍAS Y ACOMPAÑAMIENTO, DE LA UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES “UNIANDES” ha sido prolijamente revisado, y cumple con todos los requisitos establecidos en la normativa pertinente de la Universidad Regional Autónoma de los Andes UNIANDES por lo que apruebo su presentación.

Ambato, abril de 2019

(3)

DECLARACIÓN DE AUTENTICIDAD

Yo, Guashco Cujilema Luis franklin, estudiante de la Carrera de Sistemas, Facultad de Sistemas Mercantiles, declaro que todos los resultados obtenidos en el presente trabajo de investigación, previo a la obtención del título de INGENIERO EN SISTEMAS E INFORMÁTICA, son absolutamente originales, auténticos y personales; a exclusión de las citas, por lo que son de mi exclusiva responsabilidad.

Ambato, abril de 2019

GUASHCO CUJILEMA LUIS FRANKLIN CI.0603822396

(4)

DERECHOS DE AUTOR

Yo, Guashco Cujilema Luis franklin, declaro que conozco y acepto la disposición constante en el literal d) Art 85 del Estatuto de la Universidad Regional Autónoma de los Andes Uniandes, que en su parte pertinente textualmente dice: El Patrimonio de la UNIANDES, está constituido por: La propiedad intelectual sobre las investigaciones, trabajos científicos o técnicos, proyectos profesionales y consultoría que se realicen en la Universidad o por cuenta de ella.

Ambato, abril de 2019

GUASHCO CUJILEMA LUIS FRANKLIN CI.0603822396

(5)

DEDICATORIA

A Dios y a mis padres dedico este trabajo por haberme apoyado e

impulsado siempre a continuar con mi preparación profesional.

Por ellos y para toda la juventud estudiosa que en la actualidad utiliza las

nuevas herramientas tecnológicas en el campo educativo, para favorecer el

aprendizaje y la formación de seres humanos capaces de enfrentarse a los

desafíos que presenta el nuevo milenio.

(6)

AGRADECIMIENTO

A las Autoridades de la

Universidad Regional Autónoma de los Andes UNIANDES

de manera especial al personal docente que labora en la institución,

por compartir sus conocimientos y experiencia,

con el fin de integrar a nuevos profesionales que sean un gran aporte a la

sociedad. Al Ing. Freddy Baño por su constancia y valiosa colaboración

como tutor de Tesis en la elaboración de mi trabajo.

(7)

RESUMEN

En las carreras de Sistemas y Software de Uniandes, se presenta dificultades al realizar la gestión de procesos de tutorías y acompañamiento, ya que no poseen herramientas ni mecanismos, que ayuden a realizar, de forma rápida y eficiente la gestión de procesos antes mencionados.

En base a ello se plantea el presente trabajo de investigación “APLICACIÓN

WEB-MÓVIL PARA LA GESTION DE PROCESOS DE TUTORÍAS Y

ACOMPAÑAMIENTO”, el cual permitirá automatizar la gestión de procesos de tutorías y acompañamiento, complementando el manejo de administración referente a horarios, inscripción, reservas e información para tutorías y acompañamiento más rápido y conciso.

En el Capítulo I, se destaca la importancia y el conocimiento que tienen las aplicaciones web en nuestra vida cotidiana, lo que nos facilitan obtener y modificar información de manera inmediata, además se fundamenta las herramientas de desarrollo y la gestión de tutorías y acompañamiento.

En segunda instancia, de acuerdo con los objetivos establecidos, se realiza la investigación de campo con la finalidad de obtener la información necesaria para el desarrollo de la aplicación web y la fundamentación del problema, esto se realizó en base a entrevista y encuestas, dándonos información indispensable para la elaboración del proyecto.

(8)

ABSTRACT

In the Computer and Software careers of Uniandes, University there are difficulties at the

moment of performing the process management of tutoring and follow up because there

are not tools or ways that can help to carry out the process management in an efficient

and quick way.

Based on the situation mentioned before, the present investigation work proposes an

“APPLICATION OF A MOBILE WEB FOR THE PROCESS MANAGEMENT OF TUTORING AND FOLOW UP”; which will allow to automate the process management

of tutoring and follow ups by complementing the administration management regarding

schedules, enrollment, booking and information for a faster and concise tutoring and

follow up.

Chapter I analyzes the importance and knowledge that web applications have in our daily

lives, it facilitated to obtain and modify information in a fast way; in addition, the tools

for development and the management of tutoring and follow up are substantiated.

Secondly, according to the objectives established, there is a field investigation which aim

is to obtain the necessary information for the development of a web application and the

problem substantiation. It was based in an interview and surveys where it was possible to

get important information for the project development.

Finally, a mobile web application was developed for the process management of tutoring

and follow up by the use of free software technologies such as PHP, Java, Ajax with a

MVC architecture in the web application; also, the database MySQL was used as operator

of the database. The aim of the mobile web application is to automate processes which

will allow an adequate administration in the restraint of academic tutoring and follow up

helping to obtain immediate and real time information which can contribute to improve

the teaching and learning process.

(9)

ÍNDICE GENERAL

APROBACIÓN DEL TUTOR DEL TRABAJO DE TITULACIÓN DECLARACIÓN DE AUTENTICIDAD

DEDICATORIA AGRADECIMIENTO RESUMEN

ÍNDICE GENERAL ÍNDICE DE TABLAS ÍNDICE DE ILUSTRACIÓN

INTRODUCCIÓN ...1

Actualidad e importancia ...1

Problema de investigación ...3

Objetivos de Investigación ...4

Objetivo General ...4

Objetivo especifico ...4

CAPÍTULO I ...5

FUNDAMENTACIÓN TEÓRICA...5

1.1. Antecedentes de la investigación ...5

1.2. Actualidad del objeto de estudio de la investigación ...6

1.2.1. Historia del Internet ...6

1.2.1.1. Definición...6

1.2.2. Internet y la Web ...7

1.2.2.1. Web 1.0 ...7

1.2.2.2. Web 2.0 ...8

1.2.2.3. Web 3.0 ...8

1.2.2.4. Aplicaciones web...8

(10)

1.2.3.1. Internet por Cable ...9

1.2.3.2. Internet Inalámbrico ...9

1.2.3.3. Satelital ... 10

1.2.4. Navegadores web ... 10

1.2.4.1. El protocolo HTTP ... 10

Cliente /Servidor ... 10

1.2.4.2. Sitio web (web site) ... 11

1.2.4.3. Portal web ... 12

1.2.4.4. Dominio ... 12

1.2.5. Arquitectura de las aplicaciones web ... 13

1.2.5.1. Lenguajes del lado del cliente ... 13

1.2.5.2. Lenguajes del lado del servidor ... 13

1.2.6. Ingeniería de software ... 14

1.2.6.1. Importancia de ingeniería de software ... 14

1.2.6.2. Marco del trabajo para el proceso ... 14

1.2.6.2. Ciclo de vida de desarrollo de sistema ... 15

Planificación ... 16

Análisis ... 16

Diseño... 16

Desarrollo de software ... 16

Implantación ... 17

Mantenimiento ... 17

1.2.7. Bases de datos ... 17

1.2.7.1. Sistema de base de datos ... 18

1.2.7.2. Modelo de base de datos relacional ... 19

1.2.7.3. Importancia de Modelos de datos ... 20

(11)

Restricción ... 20

1.2.7.5. El modelo jerárquico... 20

1.2.7.6. Modelo de red... 21

1.2.7.7. Modelo relacional ... 21

1.2.7.8. Modelo Entidad Relación ... 21

1.2.8. Herramientas de Desarrollo web ... 22

1.2.8.1. JavaScript ... 22

1.2.8.2. Java ... 23

1.2.8.3. Python ... 23

1.2.8.4. PHP (Hypertext Preprocesor) ... 23

1.2.8.5. Perl ... 24

1.2.8.6. Ruby ... 24

1.2.8.7. El concepto de infraestructura digital (Framework) ... 24

1.2.8.8. JQuery ... 25

1.2.8.9. El Modelo Vista Controlador (MVC: Model-View-Controllers) ... 25

1.2.9. Sistemas operativos ... 25

1.2.9.1. Servidor para el desarrollo de aplicaciones... 25

Servidor Apache... 25

El proceso de acceso a base de datos en web ... 26

WAMP Server ... 27

XAMPP ... 27

1.2.10. Aplicación web móvil ... 27

1.2.10.1. Web Móvil ... 28

1.2.10.2. Dispositivos móviles ... 28

Android ... 28

iOS ... 29

(12)

Herramientas y lenguajes nativos ... 29

Herramientas Multiplataforma ... 30

Navegadores ... 30

1.2.10.4. Base de Datos para aplicaciones móviles ... 31

1.2.10.5. Sistemas Gestores de Bases de datos móviles ... 31

1.2.11. Sistema operativo Android ... 32

1.2.11.1. Historia ... 32

1.2.11.2. Versiones de Android ... 32

1.2.11.3. Estructura ... 33

Linux kernel ... 33

Librareis ... 33

Android Runtime ... 34

Application Framework ... 34

Application ... 34

1.2.11.4. Entorno de Desarrollo ... 35

1.2.12. Gestión académica ... 35

1.2.12.1. Introducción a gestión académica ... 35

1.2.12.2. Concepto de gestión académica ... 36

1.2.12.3. Concepto de tutorías académicas... 36

CAPÍTULO II ... 38

DISEÑO METODOLÓGICO Y DIAGNÓSTICO ... 38

2.1. Paradigma y Tipo de Investigación ... 38

2.1.1. Paradigma Asumido ... 38

2.2. Modalidad y Tipos de Investigación ... 38

2.2.1. Investigación cualitativa ... 38

2.2.2. Investigación cuantitativa ... 38

(13)

2.2.4. Investigación bibliográfica... 39

2.3. Procedimiento para la Búsqueda y Procesamiento de los Datos ... 39

2.3.1. Población ... 39

2.3.2. Muestra ... 40

2.4. Plan de recolección de la información... 40

2.4.1. Técnicas e instrumentos de recolección de información ... 40

2.4.2. Técnicas ... 40

2.4.2.1. Entrevista ... 40

2.4.2.2. Encuesta ... 40

2.4.3. Instrumentos ... 41

2.4.3.1. Cuestionario ... 41

2.5. Plan de Procesamiento y Análisis de la Información ... 41

2.5.1. Análisis e Interpretación de los Resultados ... 41

2.5.2. Análisis de entrevista aplicada al responsable del proceso de Tutoría y Acompañamiento ... 52

2.5.3. Indicador valorado: Ejecución del proceso de tutoría ... 52

2.5.4. Evaluación y análisis de la información obtenida a través de entrevista y encuesta ... 52

2.6. Resumen ... 53

CAPITULO III ... 54

PROPUESTA ... 54

3.1. Tema ... 54

3.2.1. Objetivo General ... 54

3.2.2. Objetivo especifico ... 54

3.3. Desarrollo de la propuesta ... 55

3.3.1. Análisis del desarrollo de la aplicación web ... 55

(14)

Software ... 56

Diagrama de secuencia ... 60

Diagrama de secuencia administrador ... 60

3.3.3. Diseño ... 62

Diseño interfaz ... 64

Entradas y salidas ... 64

Entradas ... 64

Salidas ... 64

Administración del sistema ... 65

Diseño de base de datos... 66

3.3.4. Codificación ... 68

Aplicación web ... 68

3.3.5. Pruebas ... 73

Conclusiones ... 79

Recomendaciones ... 80 Bibliografía

(15)

ÍNDICE DE TABLAS

Tabla 1. Población... 39

Tabla 2. Realización de Tutorías ... 42

Tabla 3.Gestión de Tutorías... 43

Tabla 4.Consenso de cronograma y horario de tutorías ... 44

Tabla 5. Formas de seguimiento de Alumnos en el proceso de tutorías ... 45

Tabla 6. Derivación para proceso de acompañamiento ... 46

Tabla 7. Realización de informes de los procesos de tutorías ... 47

Tabla 8. Entrega de informes de procesos de tutorías y acompañamiento... 48

Tabla 9. Aplicación para realizar tutorías y acompañamiento ... 49

Tabla 10. Procesos de tutorías y acompañamiento ... 50

(16)

ÍNDICE DE ILUSTRACIÓN

Ilustración 1. Realización de Tutorías ... 42

Ilustración 2. Gestión de Tutorías ... 43

Ilustración 3. Consenso de cronograma y horario de tutorías ... 44

Ilustración 4. Formas de seguimiento de Alumnos en el proceso de tutorías ... 45

Ilustración 5. Derivación para proceso de acompañamiento ... 46

Ilustración 6. Realización de informes de los procesos de tutorías ... 47

Ilustración 7. Entrega de informes de procesos de tutorías y acompañamiento ... 48

Ilustración 8. Aplicación para realizar tutorías y acompañamiento ... 49

Ilustración 9. Procesos de tutorías y acompañamiento ... 50

Ilustración 10. Gestión de tutorías y acompañamiento ... 51

Ilustración 11. Caso de uso Administrador ... 57

Ilustración 12. Caso de uso Docente ... 57

Ilustración 13. Caso de uso Alumno ... 58

Ilustración 14. Diagrama de secuencia Administrador ... 60

Ilustración 15. Diagrama de secuencia Docente ... 61

Ilustración 16. Diagrama de secuencia Alumno ... 61

Ilustración 17. Formulario principal Administrador ... 64

Ilustración 18. Formulario reserva tutoría Docente ... 65

Ilustración 19. Formulario Administrador ... 68

Ilustración 20. Inicio de Sesión... 74

(17)

1

INTRODUCCIÓN

Actualidad e importancia

De acuerdo (Consejo Nacional de Planificaciòn, 2017), el presente proyecto de investigación responde a los objetivos 1, 2 y 5 del Plan Nacional del Buen Vivir 2017 – 2021, puesto que los mismos tienen directa relación con la educación de calidad y la utilización de Tecnologías de la Información y Comunicación con la finalidad de contribuir con el desarrollo del país.

De acuerdo (Consejo Nacional de Planificaciòn, 2017), el objetivo 1 del PNBV 2017 – 2021 menciona en una de las partes de su fundamento que para que exista una calidad educativa se debe “pensar en el aprendizaje en sentido amplio y crítico, no en la simple transmisión de conocimientos, sino en el desarrollo de capacidades para preguntar y generar conocimiento, en el impulso a destrezas y talentos, en la realización de las personas y su felicidad.”

De acuerdo (Consejo Nacional de Planificaciòn, 2017), también en el objetivo 2 del PNBV 2017-2021 manifiesta “En una sociedad del conocimiento, el lenguaje tiene relación con las nuevas tecnologías de la información y la comunicación (lenguajes audiovisuales, informáticos, entre otros); es decir, el conocimiento articulado a la vida y el multilingüismo como factor para el desarrollo de capacidades prácticas para actuar en el mundo.”, y una de las metas del objetivo 5 del PNVB 2017 – 2021 es “Incrementar de 4,6 a 5,6 el Índice de Desarrollo de Tecnologías de la Información y Comunicación a 2021.

(18)

2

Se puede mencionar también que el presente proyecto de investigación tiene directa relación con el objetivo de la matriz productiva de impulsar la investigación científica y tecnológica en los sectores productivos, en la Zona 3, Asimismo se relaciona con la Agenda Local del Gobierno Provincial de la Prefectura de Tungurahua ya que en uno de sus objetivos sectoriales manifiesta que hay que potenciar al Cantón Ambato como polo de desarrollo industrial y agroindustrial, bajo los criterios de competitividad, desarrollo de tecnología de punta, cultura societaria y bursátil, mano de obra tecnificada y vinculación con los centros de investigación de las universidades del cantón y del país

Se espera un incremento importante de la oferta en educación superior y un mayor acceso a la misma; la intención, es vincular de manera clara la oferta de carreras de tercer y cuarto nivel con la demanda laboral, tanto aquella presente como la que se proyecta a futuro. El sistema educativo será de calidad, algo que se verá reflejado en los resultados de evaluaciones nacionales e internacionales para estudiantes y maestros.

En el presente proyecto se pretende mejorar en el área administrativa de gestión de procesos de tutorías en la Universidad Regional Autónoma de los Andes Uniandes que se dedica a la educación de tercer y cuarto nivel académico, una de las gestiones importantes es realizar la gestión de procesos de tutorías para una formación adecuada de los estudiantes.

El Ecuador en los últimos años ha comenzado a realizar cambios en su matriz productiva mediante la tecnología y conocimiento en los actuales procesos administrativos, productivos y de servicios, mediante ha estos cambios el presente proyecto cumple con los valores necesarios en este ámbito ya que no solo busca incorporar la tecnología en la gestión de procesos de tutorías, sino que a su vez hace uso en un proceso del área administrativa de gestión de procesos de tutorías.

(19)

3

estudiantes una atención personalizada o grupal durante su proceso formativo, con el propósito de detectar de manera oportuna y clara los factores de riesgo que pueden afectar el desempeño académico de los estudiantes.

Problema de investigación

La Universidad Regional Autónoma de los Andes Uniandes, viene sirviendo a la sociedad de la provincia y del país con una educación académica formando profesionales responsables y competitivos.

En la carrera de sistemas de la Universidad Regional Autónoma de los Andes “UNIANDES” se presenta dificultades al momento de realizar la gestión de tutorías y acompañamiento, ya que no poseen herramientas ni mecanismos, que ayuden a las mismas realizar, de manera rápida y eficiente la gestión de procesos de tutorías y acompañamiento de forma correcta.

Luego de una observación preliminar en la carrera de sistemas se detectaron problemas tales como:

 Inadecuado manejo de fichas de tutorías, ya que al realizar de manera manual se cometen errores y con ello es necesario repetir toda la ficha.

 Inadecuado seguimiento del proceso de tutorías, ya que los docentes no tienen una planificación clara de sus horarios.

 Inadecuado manejo de cronogramas y horarios de acompañamiento.

 Poca información de contenidos y resultados impartidos en el proceso de acompañamiento.

 Demasiado tiempo en la generación de documentación relacionado con el proceso de tutorías.

(20)

4

Objetivos de Investigación

Objetivo General

Desarrollar una aplicación web – móvil para la gestión de procesos de tutorías y acompañamiento en la carrera de Sistemas/Software de la Universidad Regional Autónoma de los Andes Uniandes.

Objetivo especifico

 Determinar los referentes teóricos acerca de aplicaciones web – móvil y la gestión de procesos de tutorías y acompañamiento.

 Analizar la gestión de procesos de tutorías y acompañamiento en la carrera de sistemas en la Universidad Regional Autónoma de los Andes Uniandes.

 Definir una propuesta para mejorar la gestión de los procesos de las tutorías y acompañamiento en la carrera de sistemas de la Universidad Regional Autónoma de los Andes Uniandes.

Línea de Investigación

(21)

5

CAPÍTULO I

FUNDAMENTACIÓN TEÓRICA

1.1. Antecedentes de la investigación

En la investigación realizada por (Sani Centeno, 2017), se pretende mostrar la conveniencia y necesidad de impulsar en mayor medida la tutoría en el ámbito de la educación superior. Alude a los cambios que en el devenir histórico social se han dado en la educación, particularmente en la percepción y en las representaciones sociales tanto de la institución superior como del papel de los profesores y los estudiantes. Resalta el papel de la tutoría en relación con la reciente revaloración de la cultura juvenil, y la necesidad de tratar a los estudiantes como jóvenes en la perspectiva de una educación integral, no sólo en el plano cognoscitivo sino en todas sus dimensiones como personas.

La investigación realizada por (Cruz, 2015), se pretende que la sociedad de la información y el conocimiento exigen que las instituciones de educación superior optimicen recursos y realicen una gestión de procesos de manera efectiva, sin embargo, esto solo es posible con la implementación de sistemas informáticos que apoyen todos los procesos sean estos de índole administrativo o académico.

En la investigación realizada por (Martínez, 2017), se pretende mostrar que la gestión se caracteriza por una visión amplia de las posibilidades reales de una organización para resolver alguna situación o para alcanzar un fin determinado. Se define como el conjunto de acciones integradas para el logro de un objetivo a cierto plazo, es la acción principal de la administración y eslabón intermedio entre la planificación y os objetivos concretos que se pretende alcanzar.

(22)

6

diferenciar los roles, crear estructuras y ambientes apropiados, así como adaptar materiales y estratégicas al propósito y al contexto.

1.2. Actualidad del objeto de estudio de la investigación

1.2.1. Historia del Internet

De acuerdo (Saiz, 1999) , internet: Es una Red mundial y descentralizada de intercambio de información cuyo tamaño y el hecho de resultar de la unión de otras muchas redes menores, le ha hecho merecer el apelativo de “Red de Redes”. Su extraordinaria funcionalidad y su constante expansión hacen que sea la red informática más popular entre los usuarios de todo el planeta, y esto se debe en gran medida a una de sus principales características, la descentralización. En Internet no existen distintas jerarquías que conviertan dentro de ella a unos en más importantes que otros a priori; si una parte de la Red cae eventualmente, el resto no se verá afectado, manteniéndose en perfecto estado de funcionamiento.

1.2.1.1. Definición

De acuerdo (Gutíerres González & López Goytia, 2016), en forma sencilla, internet se debe entender como la infraestructura integrada por servidores, redes, equipo de cómputo y medios de comunicación que en su conjunto integran una gran red de redes con cobertura a nivel mundial.

(23)

7

1.2.2. Internet y la Web

De acuerdo (Gutíerres González & López Goytia, 2016), el consorcio World Wide Web (W3C) es una comunidad internacional de trabajo conjunto para el desarrollo de estándares para la Web a nivel mundial. Una de sus actividades principales es la elaboración de estándares para el lenguaje de marcado de hipertexto (HTML) y su mejoramiento XCHTML. Entre los objetivos de la W3C también está facilitar el acceso a internet a cualquier persona sin importar donde se encuentre eliminando cualquier barrera cultural, ideológica o tecnológica; facilitar cualquier tipo de conectividad desde los distintos dispositivos de acceso con que se cuente además de cuidar cualquier uso que se dé a internet.

De acuerdo (Gutíerres González & López Goytia, 2016), hoy en día, el W3C es una organización reconocida mundialmente y está representada y dirigida por el inventor de la Web, Tim Berners-Lee, quien a finales de la década de 1980 propuso un sistema de comunicación al conectar híper texto, con internet obteniendo con esto una sola red de información que permitiera intercambiar y compartir la información almacenada en las computadoras de la red.

En un principio, pasar de un documento a otro y a otro sucesivamente, es decir recorrer varios documentos siguiendo sus diferentes enlaces dio paso a lo que hoy conocemos como navegar en la web. A partir de esta primera forma de navegación aparece la web 1.0.

1.2.2.1. Web 1.0

(24)

8

1.2.2.2. Web 2.0

De acuerdo (Gutíerres González & López Goytia, 2016), un conjunto de herramientas desarrolladas para un entorno más amplio de aplicaciones web en cuanto a usos y servicio que ofrecía, con facilidad de navegación e interacción entre usuarios de manera ágil y dinámica.

1.2.2.3. Web 3.0

De acuerdo (Gutíerres González & López Goytia, 2016), tiene referencia a la transformación de la web en una base de datos, una propuesta hacia la fabricación de contenidos accesible a múltiples buscadores y con la influencia de la inteligencia artificial.

1.2.2.4. Aplicaciones web

De acuerdo (Gutíerres González & López Goytia, 2016), es un documento o documentos electrónicos con información en diferentes formatos, ya sea texto, imágenes, audio, video o multimedia de acuerdo con el tipo de página que se trate. Esta puede estar almacenada en la computadora del usuario que la desarrolló o en su lugar ser almacenada en un servidor local o remoto. Una página puede estar integrada por una o varias páginas web para la elaboración, desarrollo de estas se utiliza el lenguaje HTML (Hypertext Markup Languaje).

Páginas web estáticas son las primeras páginas que se desarrollaron solo ofrecían información que no variaba, su contenido siempre era el mismo y permanecía así por diferentes periodos de tiempo, además que nos permitía alguna interacción con quien las consultaba.

(25)

9

alguna manera facilitaron y potenciaron la creación y desarrollo de una nueva generación de páginas a las que se les llamó “páginas web dinámicas.

1.2.3. Proveedores de Servicio o Acceso a Internet

De acuerdo (Gutíerres González & López Goytia, 2016), para tener acceso al servicio que ofrece internet, en la mayoría de los casos hay que contratarlos con las diferentes empresas o proveedores de este tipo de servicios que existen en el mercado.

De acuerdo (Rocha, 2005), el servicio WWW, o simplemente Web, se podría definir un amplio sistema multimedia de acceso a información heterogénea distribuida por toda la red en forma de documentos hipertextuales. Como ya fue comentando en la introducción de este capítulo, este servicio surgió en 1990 en el CERN, con el objetivo de facilitar la distribución de información entre equipos investigadores geográficamente dispersos. Se buscaba que los recursos disponibles en formatos electrónicos fuesen accesibles para cada investigador desde su propia terminal de forma clara y simple, posibilitando el salto entre elementos de información conexos- en definitiva, se trata de integrar todos los recursos existentes en una red hipertextual. Aunque el nacimiento del servicio se sitúa en 1990, es en 1991 cuando el sistema desarrollado en el CERN se abre a internet, apareciendo en 1992 el primer navegador web.

1.2.3.1. Internet por Cable

De acuerdo (Gutiérrez González, 2016), este tipo de servicio de internet se hace por cable coaxial, es empleado por compañías que proveen señal de televisión a través de cables. Una de sus principales características es que puede proporcionar un ancho de banda superior al que se puede obtener mediante líneas telefónicas.

1.2.3.2. Internet Inalámbrico

(26)

10

1.2.3.3. Satelital

De acuerdo (Gutíerres González & López Goytia, 2016), su conexión utiliza como medio señales satelitales. Los satélites ocupan diferente espacio de la órbita, lo que facilita su conexión prácticamente a cualquier ubicación dentro de nuestro planeta.

1.2.4. Navegadores web

De acuerdo (Gutíerres González & López Goytia, 2016), para visualizar las páginas web requerimos de un navegador, aplicaciones que por lo general está instalada o reside en la computadora del usuario o cliente, o en cualquiera de sus dispositivos móviles. Navegadores como Chrome, Internet Explore, Firefox y Opera entre otros se utilizan para acceder o prácticamente a cualquiera de los miles de millones de páginas que se encuentran almacenadas en los diferentes servidores ubicados alrededor del mundo y que conforman la WWW.

1.2.4.1. El protocolo HTTP

Para que se pueda dar un intercambio de información entre el cliente y el servidor bajo un ambiente web se utilizan algunos protocolos.

 HTTP (Hypertext Transport Protocol), utilizado para la transmisión de Hipertexto.

 HTTPS (Hypertext Transport Protocol Secure), usado para establecer una conexión de internet seguros.

 Mailto, empleado para envío de correo electrónico.

 FTP (File Transfer Protocol), utilizado para transferir archivos.

Cliente /Servidor

De acuerdo (Gutiérrez González, 2016), la forma de trabajo cliente/servidor es una de las más utilizadas sobre todo en ambiente distribuidos. Se basa principalmente en requerimientos de información que hacen los clientes a una entidad remota al que se le conoce como servidor.

(27)

11

su función un servidor provee y da servicios a varios clientes al mismo tiempo, entre los que destacan el acceso a datos, información, aplicaciones y sistemas que pueden acceder a su vez a grandes bases de datos.

De acuerdo (Gutíerres González & López Goytia, 2016), el servidor se encarga de satisfacer los requerimientos de información por parte del cliente para lo cual utilizan programas o procesos previamente definidos el cliente hace una petición de información a un servidor y este responde a dicha petición. Tanto el cliente como el servidor tienen sus propios programas y sus propias capacidades de procesamiento. Podemos encontrar servidores locales o remotos, mientras un cliente esté representado por algún tipo de dispositivo que puede ser fijo o móvil como en el caso de una computadora personal, una laptop, una tableta, un teléfono inteligente o un PDA.

 Servidor de impresión  Servidores web

 Servidores de archivos  Servidores de base de datos  Servidores de aplicaciones  Servidores de correo

 Servidores de nombres de dominio (DNS, Domain Name System)  Servidor proxy.

Los servidores de correo pueden operar requiriendo cierto tipo de protocolos como POP3 y SMTP. Su función es recibir el intercambio entre el servidor y el cliente.

1.2.4.2. Sitio web (web site)

De acuerdo (Gutíerres González & López Goytia, 2016), si lo que pretendemos es elaborar una página, una aplicación o un sistema que opere bajo un ambiente web, entonces debemos tener un espacio determinado en algún equipo de cómputo o servidor para almacenarlo a fin de que otros usuarios puedan consultarlo.

(28)

12

organizados de forma de jerarquía y que tienen relación entre sí. Tantos las páginas web como el propio sitio, deben estar en constante actualización.

1.2.4.3. Portal web

Un portal es un punto de entrada a un sitio web e integra toda una variedad de servicios que pueden ser de gran utilidad para los usuarios, entre los que destacan noticias, nuevas aplicaciones, estado del clima, buscadores, foros, juegos, correo electrónico y ofertas entre otros; es decir facilita la actividad de un usuario cuando está en internet.

1.2.4.4. Dominio

De acuerdo (Gutiérrez González, 2016), el término “dominio” se utiliza para identificar un sitio web. Es un nombre que puede estar compuesto por caracteres tanto alfabéticos como numéricos y se asocia una dirección física de una computadora o algún otro dispositivo que se conecta a Internet.

A dicho nombre se le conoce como dirección IP (Internet Protocolo o Protocolo de Internet). Al alojamiento de una página web en un servidor se le conoce como hosting (hospedaje) además de guardar las páginas, también almacena archivos con diferentes temas, bases de datos o cuentas de correo de otros usuarios. Esta acción se hace necesaria para ubicar e identificar la página; para que los usuarios puedan acceder a ella se requiere un nombre de dominio.

En internet podemos encontrar una infinidad de dominios que se basan en direcciones IP, por lo que se requiere de un servidor de nombres de dominio (DNS) que facilite la traducción de los nombres de dominios a direcciones IP.

 Es decir, el DNS traduce un nombre de dominio en una dirección IP o traduce una dirección IP en un dominio.

 Direcciones IP (Internet Protocol)

(29)

13

1.2.5. Arquitectura de las aplicaciones web

Las aplicaciones web se basan en una arquitectura cliente/servidor: por un lado, está el cliente y por otro lado el servidor. Existen diversas variantes de la arquitectura básica según como se implementen las diferentes funcionalidades de la parte servidor.

Aunque existen muchas variaciones posibles, el sistema de Gestión Académica se encuentra normalmente estructurada como una aplicación de tres-capas. En su forma más común, el navegador web ofrece la primera capa, y un motor capaz de usar alguna tecnología web dinámica (ejemplo: PHP, Java Servlets o ASP, ASP.NET, ColdFusion, embPerl, Python (programming), etc.) que constituye la capa intermedia.

Por último, una base de datos constituye la tercera y última capa. Generalmente el navegador web manda peticiones a la capa intermedia que ofrece servicios valiéndose de consultas y actualizaciones a la base de datos y a su vez proporciona una interfaz de usuario.

1.2.5.1. Lenguajes del lado del cliente

La herramienta de programación al lado del cliente son HTML, CSS y JavaScript, aunque no hay que dejar de lado otras como, AJAX (Asychronous JavaScript And XML), XML y Applets de java, entre otros.

El HTML indica el navegador la forma en que se presentara la información, es decir, mediante texto imágenes video; así como su ubicación dentro de una página web.

1.2.5.2. Lenguajes del lado del servidor

(30)

14

1.2.6. Ingeniería de software

De acuerdo (Pressman, 2010), es el producto que los ingenieros de software construyen y después mantienen en el largo plazo. Incluye los programas que se ejecutan dentro de una computadora de cualquier tamaño y arquitectura, el contenido que se presenta conforme los programas se ejecuta y los documentos, tanto físico, como virtuales.

Los ingenieros de software lo construyen y lo mantienen y casi todos en el mundo industrializado lo usan de manera directa o indirecta.

1.2.6.1. Importancia de ingeniería de software

De acuerdo (Pressman, 2010), porque afecta de forma muy cercana todos los aspectos de nuestras vidas y se ha vuelto de omnipresente en el comercio la cultura y las actividades cotidianas.

El software de computadora se construye de la misma forma que cualquier producto de éxito mediante la aplicación de un proceso que conduzca a un resultado de alta calidad que satisfaga las necesidades de la gente que usará el producto. Se aplica un enfoque de ingeniería de software.

De acuerdo (Pressman, 2010), el mapa de carreteras que debe seguirse se llama proceso de software los ingenieros de software adaptan el proceso a sus necesidades y después lo siguen además la gente que ha solicitado el software tiene una función que desempeñar en el proceso de definirlo, construirlo y probarlo es importante porque ofrece estabilidad, control y organización a una actividad que puede volverse caótica si no se controla sin embargo un enfoque de ingeniería del software moderno debe ser ágil debe requerir solo aquellas actividades, controles y documentaciones apropiados para el equipo del proyecto y el producto que ha de producirse.

1.2.6.2. Marco del trabajo para el proceso

(31)

15

además el marco de trabajo de proceso abarca un conjunto de actividades sombrilla aplicables a lo largo del proceso del software.

Cada actividad dentro del marco contiene un conjunto de acciones de ingeniería de software es decir una serie de tareas relacionadas que produce un producto de trabajo en la ingeniería de software. Cada acción la forman tareas de tarea individuales que completan alguna parte del trabajo implicado por la acción.

Comunicación: Esta actividad del marco de trabajo implica una intensa colaboración y comunicación con los clientes además abarca la investigación de requisitos y otras actividades relacionadas.

Planeación: Esta actividad establece un plan para el trabajo de la ingeniería del software.

Modelado: Esta actividad abarca la creación de modelos que permiten al desarrollador y al cliente entender mejor los requisitos del software y el diseño que logrará satisfacerlos.

Construcción: Esta actividad combina la generación de código ya sea manual o automatizado y la realización de pruebas necesarias para descubrir errores en el código.

Despliegue: El software como entidad completa o incremento completado de manera parcial se entrega al cliente quien evalúa el producto recibido y proporciona información basada en su evaluación.

Los detalles del proceso del software serán muy diferentes en cada caso, pero las actividades dentro del marco permanecerán iguales.

1.2.6.2. Ciclo de vida de desarrollo de sistema

(32)

16

Planificación

De acuerdo (Bernal Torres, 2016), la función que pretende señalar y establecer prioridades sobre aquellas tecnologías y aplicaciones que producirán un beneficio para la organización o institución. Se puede determinar que el objetivo de esta fase consiste en decidir junto con el equipo humano de la institución donde se implementara el sistema, los problemas que solucionara a corto y largo plazo para lo cual se elabora el diseño de los esquemas generales de la manera más clara y precisa para posteriormente ser analizado para su desarrollo.

Análisis

Esta etapa conlleva el estudio del sistema actual de la institución y la definición de las necesidades reales de los usuarios para lo cual se debe tomar en cuenta las siguientes fases.

 Análisis de la viabilidad del proyecto.

 Análisis de los sistemas existentes del tratamiento de la información.  Definir las necesidades de usuarios y establecer prioridades.

Diseño

En esta etapa se realiza el diseño de la solución informática para satisfacer las necesidades que se presentan en la institución educativa mediante técnicas y herramientas informáticas.

Desarrollo de software

(33)

17

Implantación

Comienza a partir de las especificaciones del diseño técnico que se proporciona en la fase anterior para iniciar con el desarrollo del sistema, el cual una vez concluido se lo pone en funcionamiento para realizar las diferentes pruebas para obtener un informe real de su comportamiento en los procesos automatizados realizados en la institución.

Mantenimiento

De acuerdo (Bernal Torres, 2016), con respecto al mantenimiento de cualquier sistema implantado tiende a mantenerse en funcionamiento gracias a un conjunto de expertos entre los que están los analistas y los programadores que son los que desarrollan los sistemas informáticos.

El mantenimiento será necesario desde el momento que se detecten algunas deficiencias en los procesos que automatiza el sistema, aunque en la mayoría de los casos serán los propios usuarios los que notifiquen los problemas que pueden presentarse en las actividades académicas que desempeñan diariamente en la institución educativa.

1.2.7. Bases de datos

Para entender que pone en movimiento el diseño de base de datos es necesario entender la diferencia entre datos e información. Los datos son datos sin procesar. Las palabras sin modificar indican que los datos todavía no han sido procesados para revelar su significado.

La información es el resultado de procesar datos sin elaborar para dejar ver su significado. El procesamiento de datos puede ser tan sencillo como organizar éstos para revelar patrones, o tan complejos como hacer pronósticos o sacar inferencias con el uso de modelos estadísticos.

De acuerdo (Coronel, Morris, & Rob, 2014), una base de datos es una estructura computarizada, compartida e integrada que guarda un conjunto de:

(34)

18

Metadatos, o datos a cerca de datos, por medio de los cuales los datos del usuario final son integrados y manejados.

Los Metadatos dan una descripción de las características de los datos y del conjunto de relaciones que enlazan los datos encontrados dentro de la base de datos.

De acuerdo (Coronel, Morris, & Rob, 2014), un sistema de administración de base de datos (DBMS), es un conjunto de programas que manejan la estructura de base de datos y control l acceso de los datos guardados en ella.

1.2.7.1. Sistema de base de datos

De acuerdo (Coronel, Morris, & Rob, 2014), los problemas propios de los sistemas de archivos hacen bastante deseable un sistema de base de datos. Que está formado por datos relacionados lógicamente en solo depósito lógico (La etiqueta lógica refleja el hecho de que, aun cuando el depósito de datos parece ser una sola unidad para el usuario final, su contenido puede en realidad estar físicamente distribuido entre múltiples equipos de almacenamiento de datos o lugares).

Hardware: Se refiere a todos los equipos físicos del sistema; ejemplo computadoras, equipos de almacenamiento, impresoras, equipos de redes.

Software: aun cuando el software que se identifica con más facilidad es el DBMS en sí, para que el sistema de base de datos funcione a plenitud se requieren tres tipos de software: el sistema operativo, el DBMS y programas de aplicación y utilería. El software del sistema operativo maneja todos los componentes del hardware.

De acuerdo (Coronel, Morris, & Rob, 2014), el software del DBMS maneja la base de datos dentro del sistema de base de datos. Los programas de aplicación y utilerías se usan para tener acceso y manipular datos en el DBMS y manejar el ambiente de computadora en el que tiene lugar el acceso y la manipulación de datos.

(35)

19

Administradores del sistema: Supervisan las operaciones generales del sistema de base de datos.

Administrador del sistema y base de datos: También conocido como DBA, maneja el DBMS y asegura que la base de datos se encuentre funcionando en forma correcta.

Los diseñadores de base de datos: Proyectan la estructura de base de datos. Son, en efecto, los arquitectos de una base de datos. Si el diseño de una base de datos es deficiente, incluso los mejores programadores de aplicación y los más dedicados DBA no pueden producir un ambiente útil para la base de datos.

Los analistas y programadores del sistema: Diseñan y ponen en práctica los programas de aplicación. Diseñan y crean pantallas para introducir datos, informes y procedimientos por medio de los cuales los usuarios finales tienen acceso y manipulan los datos de una base de datos.

Los usuarios finales: Son las personas que usan los programas de aplicación para ejecutar las operaciones diarias de una organización.

Procedimientos: Son las instrucciones y reglas que gobiernan el diseño y uso del sistema de base de datos.

Datos: La palabra datos comprende el conjunto de datos almacenados en la base de datos.

1.2.7.2. Modelo de base de datos relacional

(36)

20

1.2.7.3. Importancia de Modelos de datos

De acuerdo (Coronel, Morris, & Rob, 2014), los modelos de datos pueden facilitar la interacción entre el diseñador, el programador de aplicación y el usuario final. Un modelo bien diseñado puede incluso promover un mejor entendimiento de la organización para la cual se desarrolló el diseño de la base de datos. La importancia del modelo de datos no se puede exagerar los datos constituyen las unidades de información más elementales que un sistema emplea. Las aplicaciones son creadas para manejar datos y ayudar a transformarlos en información.

1.2.7.4. Elementos básicos de un modelo de datos

De acuerdo (Coronel, Morris, & Rob, 2014), los elementos básicos de todos los modelos de datos son: entidades, atributos, relaciones y restricciones. Una entidad es cualquier cosa (una persona, lugar, cosa o hecho). Acerca del cual se ha de conectar y guardar datos. Una entidad representa un tipo particular de objeto en el mundo real. Como una entidad representa un tipo particular de objeto, las entidades son distinguibles, es decir, cada vez que se representa una de ellas es única y distinta.

Restricción

Se aplica (Coronel, Morris, & Rob, 2014), se aplica a los datos las restricciones son importantes porque ayudan a asegurar la integridad de datos se expresan normalmente en forma de reglas una relación describe una asociación entre entidades.

1.2.7.5. El modelo jerárquico.

Se desarrolló en la década de 1960 para manejar grandes cantidades de datos para complejos proyectos de manufactura, como el cohete apolo que aterrizó en la Luna en 1969. Su estructura lógica básica está representada por un árbol invertido.

(37)

21

modelo jerárquico describe un conjunto de relaciones de uno a muchos entre un padre y sus segmentos hijos.

1.2.7.6. Modelo de red

En el modelo de red, el usuario percibe la base de datos de red como un conjunto de registros en relaciones, pero, a diferencia del modelo jerárquico el modelo de red permite que un registro tenga más de un padre. En tanto que el modelo de base de datos de red generalmente no se gusta en la actualidad, las definiciones de conceptos estándar de base de datos que emergieron con el modelo de red todavía se usan en modelos modernos de datos.

1.2.7.7. Modelo relacional

El modelo relacional fue introducido en la década de 1970 por E. F. Codd, de IBM en su destacado artículo científico a relational model off data for share databanks. El modelo relacional se presentó un importante avance para usuarios y diseñadores. Para usar una tecnología, el modelo relacional produjo una base de datos de transmisión automática para sustituir las bases de datos de transmisión estándar que le precedieron. Su sencillez conceptual preparó el terreno para una genuina revolución en las bases de datos.

1.2.7.8. Modelo Entidad Relación

Entidades: Una entidad es un objeto de interés para el usuario final. Una entidad se refiere al conjunto entidad y no a un caso de entidad individual.

Atributos: Los atributos son características de las entidades.

Relaciones. Una relación es una asociación entre entidades. Las entidades que participan en una relación se conocen también como participantes y cada relación se identifica con un nombre que la describe.

(38)

22

formato X, Y. El primer valor representa el número mínimo de entidades asociadas, en tanto que el segundo valor representa el número máximo de entidades asociadas.

1.2.8. Herramientas de Desarrollo web

De acuerdo (Gutíerres González & López Goytia, 2016), cuando se trata de desarrollar aplicaciones debemos considerar que, a fin de que sean lo más agiles y versátiles posibles, tendremos que realizar ciertas actividades de programación tanto del lado del usuario o cliente (front end) como del lado del servidor (back end), para lo cual debemos identificar que lenguaje debe utilizarse de cada lado.

A fin de ser objetivos, y con base en la temática de esta obra, mostramos una selección aventurada de los lenguajes y herramientas de desarrollo que consideramos como los más utilizados.

De acuerdo (Gutíerres González & López Goytia, 2016), se requiere establecer el lenguaje que servirá para definir y estructurar la interfaz con el usuario y lo que esta verá cuando acceda a la aplicación. Esto tiene que ver con la presentación que hagamos hacia el usuario de la aplicación, así como con el color, el tipo de texto, los títulos, las imágenes, los videos o los enlaces a otras páginas. Todo esto se puede lograr utilizando herramientas como CSS, HTML, Flash (si requerimos animaciones) o incluso el lenguaje JavaScript (si se necesita construir una buena interfaz con el usuario). Este tipo de herramientas normalmente facilitan la programación del lado del cliente, pues se ejecutan en el navegador del usuario.

1.2.8.1. JavaScript

(39)

23

1.2.8.2. Java

De acuerdo (Gutíerres González & López Goytia, 2016), java es un lenguaje de programación de alto nivel orientado a objetos que toma lo mejor del lenguaje C++ y de otros orientados a objetos. Lo desarrolló la compañía Sun Microsystems y, aunque existen diferentes adiciones de java, la edición J2EE (Java 2 Enterprise Edition) es utilizada para crear aplicaciones web dinámicas, con buen nivel de interacción con el usuario, con una amplia variedad de posibilidades de acceso a bases de datos y conectividad a diferentes redes.

1.2.8.3. Python

De acuerdo (Gutíerres González & López Goytia, 2016), en los últimos años este lenguaje interpretado, orientado a objetos, objetivo y multiplataforma se ha desarrollado con una gran aceptación y posicionamiento. Es un lenguaje sencillo y fácil de asimilar, su sintaxis es simple y clara, abstrae muchas de las complejidades de otros lenguajes como C o C++, además de permitir integrar en su programación algunas rutinas hechas en otros lenguajes. Cuenta con diferentes bibliotecas desarrolladas para el análisis científico y matemático (matrices, arreglos), algoritmos de biocomputación, tratamiento de cadenas de caracteres (Strings), números y archivos.

1.2.8.4. PHP (Hypertext Preprocesor)

De acuerdo (Gutíerres González & López Goytia, 2016), es uno de los primeros lenguajes utilizados para aplicaciones web dinámicas. Desarrollado en 1994 por Rasmus Lerdorf, a lo largo del tiempo ha tenido considerables cambios y adaptaciones (desde PHP3 hasta PHP5) que integran mejoras sobre el motor Zend. Incluye una interfaz de línea de comandos, soporte de datos XML y adaptación al protocolo IP versión 6, el código es interpretado por un servidor web, que luego puede ser usado en diferentes servidores y en distintos sistemas operativos y plataformas.

(40)

24

Es un lenguaje de programación libre que cuenta con una gran cantidad de funciones y una vasta comunidad de usuarios y desarrolladores, lo cual lo hace un lenguaje maduro y de gran aceptación. Su codificación también se incrusta dentro del código HTML.

1.2.8.5. Perl

De acuerdo (Gutíerres González & López Goytia, 2016), perl es un potente lenguaje de programación interpretado, creado por Larry Wall e inspirado en leguajes como C. En sus inicios fue utilizado para la gestión del sistema operativo UNIX y para la creación de aplicaciones CGI para la web. Con una gran orientación hacia la seguridad de las aplicaciones y los servidores. Al igual que otros lenguajes Perl permite gestionar bases de datos como MySQL, Oracle, Microsoft SQL. La mayor parte de programas que procesan formularios en internet están desarrollados en Perl.

1.2.8.6. Ruby

De acuerdo (Gutíerres González & López Goytia, 2016), es un lenguaje de programación interpretado libre, muy potente, orientado a objetos y multiplataforma, creado por Yukihiro Matsumoto en 1995. Tiene una gran capacidad para crear aplicaciones complejas de manera rápida con la ayuda de la infraestructura Rails (creada por David Heinemeier hansson en 2004). La infraestructura permite combinar el lenguaje Ruby con HTML. Además, Rails puede acceder a una gran variedad de bibliotecas, lo que facilita y agiliza la actividad de desarrollo de aplicaciones.

1.2.8.7. El concepto de infraestructura digital (Framework)

De acuerdo (Gutíerres González & López Goytia, 2016), es un entorno o ambiente de trabajo para desarrollo, es una herramienta auxiliar muy utilizada hoy en día junto con los lenguajes de programación.

(41)

25

1.2.8.8. JQuery

De acuerdo (Gutíerres González & López Goytia, 2016), jQuery es un muy conocido framework JavaScript libre y Open Source (código abierto) que se ejecuta del lado del cliente, la librería JQuery simplifica los comandos comunes de JavaScript, entre sus principales especificaciones tiene el de asegurar la flexibilidad que brinda para el correcto acceso a los elementos propios del documento HTML.

1.2.8.9. El Modelo Vista Controlador (MVC: Model-View-Controllers)

De acuerdo (Gutíerres González & López Goytia, 2016), el esquema Modelo-Vista-Controlador ha adquirido una enorme importancia, derivada de la creciente utilización de infraestructuras digitales para el desarrollo de aplicaciones web que se basan en su arquitectura. Propone especial atención en el desarrollo del interfaz, en donde el usuario es uno de los actores más importantes. Plantea la separación de código en diferentes áreas de responsabilidad. Se establece con base en la necesidad de un desarrollo más robusto, favoreciendo su mantenimiento, la reutilización de código y la separación de conceptos.

1.2.9. Sistemas operativos

No podemos dejar de lado las facilidades y la importancia que tienen los sistemas operativos, en donde operarán las aplicaciones web que se desarrollen, le brindan a los desarrolladores un amplio conjunto de herramientas y utilidades que les facilitará su trabajo.

Así como existen sistemas operativos grandes para equipos grandes y para soporte de aplicaciones de escritorio, también existen para dispositivos móviles con sus correspondientes lenguajes de programación.

1.2.9.1. Servidor para el desarrollo de aplicaciones

Servidor Apache

(42)

26

y de diseño modular, y se le puede adicionar una infinidad de módulos. Tiene la factibilidad de trabajar con una gran cantidad de lenguajes.

El servidor apache es robusto, estable y de alto rendimiento, se encarga de aceptar y dar curso a las peticiones de páginas que provienen de los usuarios que acceden al sitio web y gestionar su respuesta sin descuidar los aspectos de seguridad establecidos.

El proceso de acceso a base de datos en web

De acuerdo (Gutíerres González & López Goytia, 2016), a continuación, tenemos nuestra base de datos del lado del servidor, en este caso apache. Para acceder utilizaremos una interfaz del lado del cliente HTML y PHP; y para interactuar con la base de datos usaremos sentencias MySQL, que tras ejecutarlas podremos insertar y obtener datos almacenados.

El proceso esquematizado en el gráfico se explica a continuación:

 Observemos que el usuario o cliente realiza, mediante el navegador, una petición de visualización de una página web al servidor apache.

 El servidor busca en sus archivos internos la página requerida. Una vez localizada la devuelve el navegador, que la interprete y la visualice sin ningún problema, considera que la página contiene solo código HTML.

 Si la página tiene insertado código PHP, este es interpretado y se traduce a código HTML para que el navegador pueda mostrarlo correctamente.

(43)

27

 Los datos obtenidos mediante la base de datos se agregan mediante el navegador a la página web, y el servidor apache envía la página para que pueda ser visualizada por el usuario o cliente.

WAMP Server

De acuerdo (Torres Remon, 2014), actualmente se llama WAMP Server puesto a que antes era simplemente WAMP en considerado uno de los paquetes más usados para la implementación de aplicaciones con PHP, pues incorpora un conjunto de aplicaciones con el servidor Apache, el servidor de base de datos MySQL y el lenguaje de programación PHP. De ahí sus iniciales, la W hace referencia al sistema operativo Windows; eso quiere decir que también contamos con una versión para el sistema operativo Linux llamado LAMP.

Nombraremos una aplicación análoga al WAMP esta se usa muchas veces del sistema operativo o simplemente por elección del programador de aplicaciones:

XAMPP

 Cuenta con un servidor Apache  Cuenta con el servidor MySQL

 Cuenta con los lenguajes de programación PHP y Perl  Gestiona las transferencias de archivos FPT

 Adicionalmente cuenta con el servidor Tomcat para aplicaciones Servlets JSP.  Es un servidor local.

1.2.10. Aplicación web móvil

(44)

28

El término web móvil hace referencia a una red en la que el usuario puede acceder a distintos tipos de datos o información en cualquier formato, desde cualquier lugar, en cualquier momento y sin importar el dispositivo utilizado.

1.2.10.1. Web Móvil

De acuerdo (Gutíerres González & López Goytia, 2016), las características propias de los dispositivos móviles (tabletas o teléfonos inteligentes), es intuitiva y facilita la navegación a usuarios o clientes, se adapta a las dimensiones de la pantalla táctil o al teclado del dispositivo móvil por lo que facilita el acceso casi inmediato a datos o información. La tendencia en el uso de este tipo de aplicaciones a través de dispositivos móviles va en aumento y para muchos usuarios es una opción viable, sobre todo si están en constante movimiento respecto a su lugar de trabajo o actividad cotidiana.

1.2.10.2. Dispositivos móviles

De acuerdo (Gutíerres González & López Goytia, 2016), el dispositivo móvil en dispositivos que usuarios o personas pueden llevar consigo son reducidos en tamaño y caben en la palma de la mano o en algún de los bolsillos de la ropa, cuentan con una gran variedad de aplicaciones que van desde juegos, agendas, acceso a redes sociales, envió y recepción de correos, y realización de llamadas telefónicas entre muchas otras.

Son computadoras personales en pequeño, portátiles, versátiles y de gran ayuda para el control de actividades de trabajo y cotidianas.

Android

(45)

29

otros sin mayor problema, utiliza la máquina virtual Dalvik, capaz de ejecutar e interpretar código escrito en Java.

iOS

de acuerdo (Gutíerres González & López Goytia, 2016), el sistema operativo iOS desarrollado por Apple es un sistema operativo de tipo propietario, por lo que es exclusivo, es decir no puede ser instalado en otros equipos que no sean de Apple. En sus inicios fue desarrollado para dispositivos móviles del tipo iPhone (lanzado en junio del 2007) y posteriormente, se adaptaron para dispositivos iPod Touch, iPad y Apple Tv. Su antecesor es el sistema operativo conocido como Mac OS. La arquitectura de iOS se basa en cuatro capaz de abstracción.

1.2.10.3. Lenguajes de programación para dispositivos móviles

Para desarrollar aplicaciones móviles existen en el mercado una infinidad de herramientas desarrolladas para este fin, las cuales se explican a continuación.

Herramientas y lenguajes nativos

De acuerdo (Gutíerres González & López Goytia, 2016), cada plataforma (iOS, Android y Windows Phone entre otras) utilizan un lenguaje de programación diferente, herramientas propias y modalidades de programación particulares.

De acuerdo (Gutíerres González & López Goytia, 2016), android tiene una gran variedad de librerías de código abierto organizadas para mejorar la plataforma y agregar funcionalidad adicional adicionales. Java es uno de los lenguajes más utilizados (un lenguaje utilizado a objetos desarrollado por la compañía sun microsistema con la idea original de usarlo para la creación de páginas web), también existe el Android estudio (utiliza SDK, Software development Kit).

(46)

30

Interface Builder. Adicionalmente existen frameworks de terceros que pueden ayudar significativamente en el desarrollo.

De acuerdo (Gutíerres González & López Goytia, 2016), Windows Phone tiene un entorno de desarrollo (Visual Studio) y utiliza el lenguaje de programación C# (es un lenguaje de programación orientado a objetos con mejoras de respecto de C y C++). Adicionalmente utiliza XAML (Extensible application Markup Languaje, un lenguaje de marcación para instanciar objetos .NET).

Herramientas Multiplataforma

De acuerdo (Gutíerres González & López Goytia, 2016), compilan a código nativo. La más utilizada es Xamarin, un conjunto de herramientas multiplataforma que cubre todas las opciones desde el código único como base. Xamarin es un IDE en la que se pueden crear aplicaciones que, como resultado final, generen aplicaciones nativas para iOS Android y Windows APPS está basada en el lenguaje C# de Microsoft y en la plataforma NET, contiene herramientas que facilitan la creación de aplicaciones para la gran mayoría de las plataformas, proporciona acceso directo nativo a las APEI de cada plataforma. Fabricantes como Nokia, Motorola, Siemens, Samsung y Sony Ericson, entre otros han desarrollado su propio sistema operativo, navegador y aplicaciones cada sistema operativo tiene sus diferencias.

Navegadores

De acuerdo (Gutíerres González & López Goytia, 2016), los fabricantes de dispositivos móviles también tratan de brindar nuevas y mejores herramientas de navegación e internet para los dispositivos móviles, las cuales son más ligeras y aprovechan los beneficios que ofrecen tanto el hardware como el software, dentro de los navegadores más utilizados encontramos los siguientes:

 Windows Phone de Internet Explore.  Chrome de Google Chrome.

 Firefox.

(47)

31

 Opera Mobile.  Android.

Muchos otros navegadores como Maxthon, Dolphin, Skyfire, Myriad y Netfront pueden funcionar en dispositivos móviles, muchos de ellos cumplen con los estándares definidos por W3C.

1.2.10.4. Base de Datos para aplicaciones móviles

La característica distintiva de una base de datos móvil radica en que es portátil, físicamente que independiente del servidor corporativo de base de datos y capaz de comunicarse con ese servidor desde sitios remotos para compartir datos corporativos. Se pueden acceder a los datos desde cualquier dispositivo que disponga de conexión a internet.

1.2.10.5. Sistemas Gestores de Bases de datos móviles

De acuerdo (Gutíerres González & López Goytia, 2016), los SGBD móviles se adaptan a los recursos limitados de las unidades móviles y proporcionan una serie de funcionalidades adicionales:

 Comunicación con el servidor centralizado de base de datos mediante técnicas de comunicación inalámbrica.

 Replicación de datos en el servidor centralizado de base de datos y en el dispositivo móvil.

 Sincronización de datos entre el servidor centralizado de base de datos y el dispositivo móvil.

 Gestión de datos en el dispositivo móvil.

 Análisis de los datos almacenados en dispositivo móvil.  Crear aplicaciones móviles personalizadas.

(48)

32

operativo multifuncional cuyo crecimiento y expansión en el mercado ha sido significativa.

Es posible llegar al desarrollo de aplicaciones con un alto grado de sofisticación, y aunque todavía hace falta llegar a una interoperabilidad total, las tecnologías cliente/servidor, los application servers, los webs services, el XML y la plataforma J2EE, junta que, con muchas de las tecnologías existentes, permitirán que en un tiempo no muy lejano podamos llegar a la interoperabilidad total.

1.2.11. Sistema operativo Android

De acuerdo (Hébuterne & Pérochon, 2014), son pocos los sistemas que han conocido una programación tan brillante como la que recientemente ha conocido el sistema Android. Hace todavía poco tiempo, el sistema Android solo estaba presente en smartphones. Más tarde, era posible encontrarlo, también, en televisores con conexión a Internet. En la actualidad, es el sistema operativo más extendido entre los smartphones. Muchos son los motivos de éxito. Uno de ellos es sin duda la amplia oferta de aplicaciones disponibles para su descarga (más de un millón en enero de 2014), que permiten cualquiera a personalizar su dispositivo Android.

1.2.11.1. Historia

De acuerdo (Luján Castillo, 2015), el sistema operativo Android fue desarrollado por la compañía Android Inc., fundad en el año 2003 que fue adquirida por Google en el 2005. La OHA (Open Handset Alliance) se fundó en 2007 y es comandada por compañías de la importancia de Google, HTC, LG entre otras. Esta alianza empresarial se encontraba trabajando detrás del producto Android al llegar el día del lanzamiento 2008.

Para Android ser un producto de OHA fue uno de los movimientos claves, ya que es una plataforma libre y que los fabricantes podían implementar y adaptar a sus dispositivos.

1.2.11.2. Versiones de Android

De acuerdo (Luján Castillo, 2015), las versiones de Android siempre reciben su nombre a partir de un postre, este va cambiando en orden alfabético y en el idioma inglés.

(49)

33

 C – Cupcake. Versión V1.5  D – Donut. Versión V 1.6  E – Éclair. Versión V 2.0  F – Froyo. Versión V 2.2  G – Gingerbread. Versión V 2.3  H – Honeycomb. Versión V 3.0  I – Icecream Sandwich. Version V 4.0  J – Jelly Bean. Versión V 4.1

 K – KitKat. Versión V 4.4  L – Lollipop. Versión V 5.0

1.2.11.3. Estructura

Android es un sistema operativo basado en el Kernel de Linux, a este se le suman otras capas en su estructura como la capa de librerías, la capa de Frameworks y l de aplicaciones. El sistema, además, cuenta con una máquina virtual, denominada ART.

Linux kernel

Esta capa es el corazón de Android, ya que en él se realiza el manejo de memoria, procesos, drivers y energía. Aquí es donde se logra la comunicación con el Hardware.

Librareis

En esta capa hallamos librerías nativas de Android que se encuentran escritas en C o C++ para realizar tareas específicas.

 Surface Manager: Gestiona el acceso a la pantalla.  Media Framework: Reproduce imágenes, audio y video.  SQLite: Base de datos SQLite.

 WebKit: Navegador nativo de Android.  SGL: Gráficos 2D.

 OpenGL: Gráficos 3D.

(50)

34

Android Runtime

De acuerdo (Luján Castillo, 2015), este componente hace poco era la máquina virtual Dalvik, actualmente la máquina virtual es ART. La máquina virtual de Android no es la misma de JVM o Java virtual Machine, por eso el código escrito en Java no es automáticamente funcional para Android.

Application Framework

Esta capa es visible para el desarrollador ya que los componentes que contiene forman parte de muchos de los desarrollos que estamos realizando.

 Activity Manager: Administra las actividades de nuestra aplicación y el ciclo de vida.

 Windows Manager: Administra lo que se muestra en la pantalla.

 Content Provider: Administra, dependiendo de cómo le indiquemos, algunos contenidos.

 View: Las vistas de elemento que son parte de la interfaz gráficas, como los mapas, cuadros de texto.

 Notificatión Manager: Administra las notificaciones.

 Package Manager: Administra los paquetes y nos permite el uso de archivos en otros paquetes.

 Telephony Manager: Administra las llamadas y los mensajes.

 Resource Manager: Administra los recursos d la aplicación, como los XML, sonidos, imágenes.

 Location Manager: Gestiona la posición geográfica.  Sensor Manager: Gestiona los sensores del dispositivo.

 Multimedia: Administra lo referente a video, audio e imágenes.

Application

Esta es la capa que interactúa con el usuario, la última dentro del sistema operativo. Aquí es donde hallamos las aplicaciones como las de mensaje, el navegador y todas las demás que utiliza el usuario en el funcionamiento diario en su dispositivo móvil.

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

dente: algunas decían que doña Leonor, "con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,

Y tendiendo ellos la vista vieron cuanto en el mundo había y dieron las gracias al Criador diciendo: Repetidas gracias os damos porque nos habéis criado hombres, nos

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)