Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TRABAJO DE GRADO
SHINAHOTA, 2023
1 CAPITULO 2
MARCO TEORICO
2 CAPITULO 2
MARCO TEORICO
2.1 ESQUEMA DEL MARCO TEORICO
continuación, se proyecta el esquema de la fundamentación teórica.
Arquitectura Vista de
de software diseño
Vista de
interacción
Vista de
despliegue
Teoría Requerimiento Requerimiento
principal Etapa de Definición de s funcionales s en hardware
para preliminar requerimiento Requerimiento y
solucionar s s no software
el problema funcionales
9-34
Etapa de
análisis Metodología
XP
Aspectos Teorías
Primer Segundo Tercer nivel Cuarto nivel
nivel nivel
Teoría de la
especialida Motores Tipos de Características
d gráficos motores Ventajas
gráficos
Renderizado
Características
HTTP, HTTPS Ventajas
Servidor
Sintaxis de Características
C++ programación ventajas
Sintaxis de Características
C# programación ventajas
Otras La Misión
teorías Universida Visión
d Organigrama
26-34
2.2 CONTENIDO DEL MARCO TEORICO
A continuación, se muestra el contenido de la fundamentación teórica.
Cuadro 6: Contenido del marco teórico
OBJETIVOS ACCIONES TEORIAS
ESPECIFICOS
OBJETIVOS ACCIONES TEORIAS
ESPECIFICOS
-Modelado de las
OSP1 diseñar y instalaciones en 3d -Unreal engine
desarrollar una aplicación
móvil funcional que -Enderezado de la -Android studio
permita a los usuarios infraestructura virtual
explorar virtualmente las -C#
instalaciones de la UAT -Modelado de la interfaz de
usuario
OSP2 recolectar
información detallada -Recolectar información
sobre los programas básica -Encuestas
académicos, cursos -Entrevistas
instalaciones y otros -Entrevistar al personal de -Cuestionarios
aspectos relevantes de la la UEBU
oferta académica -
27-34
2.3 DESARROLLO DEL MARCO TEORICO
Una aplicación móvil es un pequeño paquete de software que sirve para resolver una
o varias tareas en específico. Son similares a los conocidos procesadores de texto,
las hojas de cálculo, los programas de diseño y edición de video de los ordenadores
de escritorio, pero con una complejidad menor y optimiza datos para el contexto
móvil. (Serna, 2016).
Aplicaciones nativas
Este tipo de aplicaciones utilizan los lenguajes de programación nativos del sistema
operativo y utilizan todo el potencial de hardware de los terminales a través de
paquetes de desarrollo del sistema. Por ejemplo, en Android las aplicaciones nativas
se desarrollan en el lenguaje Java y se instalan como un paquete específico que se
distribuye a través de los mercados de aplicaciones C y Swift, Windows Phone con
C# y BlackBerry con Java. (Serna, 2016).
a) Características
b) Ventajas
26-34
Mayor personalización
Disponibilidad en las tiendas de aplicaciones
Mayor fidelización de los usuarios
Aplicaciones hibridas
a) Características
b) Ventajas
27-34
Este tipo de aplicaciones se presenta como una respuesta enriquecida a los
tradicionales sitios o servicios en línea. Su apariencia e interfaz puede ser similar a la
de una aplicación nativa, pero se diferencia en que utiliza en su totalidad tecnologías
web. Una característica común en estas aplicaciones es su adaptación a móviles con
técnicas como el responsive y adaptative design. (Serna, 2016).
a) Características
Se ejecuta directamente desde el navegador
No necesita instalación
Utilizan lenguajes conocidos con muchos navegadores, tales como HTML y
CSS.
Las actualizaciones se suben directamente al servidor donde la aplicación se
encuentra alojada
b) Ventajas
Solución rápida y económica
Menos exigencias y se pueden crear en menor tiempo
Accesible para todos los usuarios, utilicen iOS, Android, una tableta o un PC.
No requieren conocimientos previos de informática
Trabajan en cualquier momento y en cualquier lugar del mundo siempre que
tenga conexión a internet.
Un sistema operativo móvil es como los Mac OS, Windows o Linux, pero con
funciones más simplificadas. Estos, vienen instalados en dispositivos como tabletas,
teléfonos inteligentes, cámaras fotográficas, relojes, entre otros, y permiten por lo
general una interacción enriquecida a través de pantallas táctiles. Sistemas como
Android y iOS (Serna, 2016).
2.3.2.1 Android
26-34
apuesta principal de la Open Handset Alliance, agrupación de más de 80 empresas
lideradas por Google. (Serna, 2016).
a) Características
Es de código abierto
Tiene diferentes versiones que le permiten trabajar en diferentes dispositivos
como relojes, tabletas, teléfonos móviles, coches, entre otros.
Ofrece una amplia variedad de aplicaciones disponibles en la tienda de
Google Play.
Permite la personalización de la interfaz y la configuración del dispositivo.
Ofrece integración nativa con la nube de Google
b) Ventajas
Mayor libertad y diversidad
Mayor variedad de dispositivos disponibles
Amplia variedad de aplicaciones disponibles
Integración nativa con la nube de Google
Buena usabilidad y opciones de personalización.
Admite el cambio de aplicaciones predeterminadas
2.3.2.2 iOS
a) Características
Es un sistema operativo cerrado
Ofrece una interfaz fácil e intuitiva
Ofrece una mayor seguridad
Ofrece un mejor rendimiento de la batería.
Ofrece una sincronización entre dispositivos sencilla
27-34
Ofrece exclusividad en las nuevas aplicaciones.
b) Ventajas
Mayor seguridad
Mejor rendimiento
Sincronización entre dispositivos sencilla
Exclusividad en las nuevas aplicaciones.
Excelente usabilidad
Actualizaciones de software constantes
Mayor filtro y exclusividad dentro del mercado de aplicaciones.
Interfaz intuitiva
A) Características
Interfaz dinámica con pantalla de inicio Live Tiles, que adopta un estilo de
mosaicos dinámicos en forma vertical
Motor de búsqueda predeterminado Bing, que se mantiene en los dispositivos
lanzados por Microsoft
Integración con servicios de Microsoft, como OneDrive para el
almacenamiento en la nube
Antena que permite conectividad wi-fi 802.11b/gy Bluetooth, acelerómetro,
sensores de proximidad y luz, y motor de vibración
B) Ventajas
Optimización del sistema operativo
Conectividad eficiente
26-34
Accesibilidad mejorada
Integración con servicios de Microsoft, lo que facilita el uso de aplicaciones y
servicios de la empresa
Actualizaciones para todos los dispositivos, a pesar de los rumores que
sugerían lo contrario
Una base de datos es una colección o depósito de datos, donde estos se encuentran
lógicamente relacionados entre sí. Se toma un modelo del mundo real para poder
trabajar con esos datos a través de aplicaciones y programas, es muy importante
que una base de datos represente la realidad tal y como es, así como sus distintas
condiciones las bases de datos evolucionan constantemente. (Capel, 2015).
La base de datos o modelo relacionales fue definida por Edgar Frank Codd a finales
de los años 60; en 1970 publicaría un documento que llevaba por nombre A
Relational Model of data for Large Shared Data Banks, es aquella que representa los
datos y las relaciones entre los datos mediante una colección de tablas, cada una
con un nombre único, donde una fila de una tabla representa una relación entre un
conjunto de valores. (Capel, 2015).
a) ORM
b) MySQL
27-34
SQL (Structured Query Language) es un lenguaje de consulta estructurado, surgido
de un proyecto de investigación de IBM para el acceso a bases de datos
relacionales. Actualmente se ha convertido en un estándar de lenguaje de bases de
datos, y la mayoría de los sistemas de bases de datos lo soportan, desde sistemas
para ordenadores personales, hasta grandes ordenadores.
26-34
2.3.5 Modelo de desarrollo de software
2.3.5.1 Modelo XP
Los principios y prácticas son de sentido común pero llevadas al extremo, de ahí
proviene su nombre. Kent Beck, el padre de XP, describe la filosofía de XP en [2] sin
cubrir los detalles técnicos y de implantación de las prácticas. Posteriormente, otras
publicaciones de experiencias se han encargado de dicha tarea. A continuación,
presentaremos las características esenciales de XP organizadas en los tres
apartados siguientes: historias de usuario, roles, proceso y prácticas (Beck, 1999).
Figura 1: modelo XP
27-34
Un motor gráfico es un conjunto de rutinas de programación que permite diseñar,
crear y producir el funcionamiento de un videojuego. Dentro de los aspectos que
incluye un motor gráfico, se cuenta –por ejemplo– el renderizado de gráficos que
vemos en pantalla; el desarrollo de las físicas que nos permiten observar de qué
manera se generan las colisiones entre los objetos que aparecen en las imágenes; la
inteligencia artificial que utilizan los personajes. (https://es.digitaltrends, 2022).
Unreal Engine
Sweeney se dio cuenta de que crear un motor de juego genérico que pudiera ser
utilizado para desarrollar diferentes tipos de juegos ahorraría tiempo y esfuerzo en el
desarrollo de videojuegos. Así que comenzó a trabajar en un motor de juego,
inicialmente llamado «Unreal», que sería utilizado para su próximo proyecto de
videojuego, también llamado «Unreal». (https://www.somosxbox, 2023).
a) Ventajas:
Puedes usar Unreal Engine 4 como gustes y cuanto gustes, y solo tendrás
que pagar una vez que tu proyecto esté terminado.
Ofrece una interfaz fácil de usar y una amplia variedad de herramientas
para el desarrollo de videojuegos.
Ofrece una amplia variedad de recursos y documentación en línea.
Ofrece una gran calidad gráfica y de renderizado.
Ofrece una amplia variedad de opciones de personalización.
26-34
Ofrece una gran comunidad de usuarios y desarrolladores que comparten
recursos y conocimientos.
b) Desventajas:
Ocupa mucho espacio en disco duro y consume bastante memoria
Puede haber una disminución en el rendimiento debido a la gran cantidad
de recursos y herramientas.
Puede haber una curva de aprendizaje para aprender a utilizar el motor.
Puede haber problemas de compatibilidad con algunos dispositivos y
sistemas operativos
Puede haber problemas de estabilidad y errores en el motor.
CryEngine
Ventajas:
27-34
CryEngine 3, la última versión, facilita la creación de entornos de juego de alta
calidad.
Desventajas:
2.3.7 Renderizado
2.3.8 Servidor
26-34
conforme progresaba la tecnología, terminaron superando en tamaño a los
ordenadores de sobremesa, por lo que el término microcomputadora resultaba un
tanto inapropiado. (https://www.paessler, 2023).
2.3.8.1 Https
2.3.8.2 Http
No obstante, existe un problema importante con una conexión HTTP: los datos que
se transfieren a través de una conexión HTTP no están encriptados, por lo que se
corre el riesgo de que atacantes externos accedan, y roben, la información.
Cualquier información transmitida a través de HTTP no es privada.
(https://es.semrush, 2021).
a) Características
Cifrado: Los datos intercambiados se cifran para mantener seguros de
miradas indiscretas
Integridad de los datos: Los datos no pueden ser modificados ni
dañados durante la transferencia
Autenticación: Garantizar que la información que el usuario envía llega
al destino correcto y queda registrado tal y como ha sido escrito
Verificación de identidad: Garantiza que la información que el usuario
envía llega al destino correcto y queda registrado tal y como ha sido
escrito
27-34
Certificado SSL: HTTPS utiliza el certificado de un proveedor externo
para asegurar y proteger una conexión y así verificar que el sitio sea
legítimo.
Conexión segura y cifrada: HTTPS crea una conexión segura y cifrada
entre un navegador y un servidor, y protege la capa de comunicación
entre ambos.
b) Ventajas
Mayor seguridad: HTTPS cifra los datos que se intercambian entre el
navegador y el servidor, lo que hace que sea más difícil para los
atacantes interceptar y leer la información
Mejora la confianza y credibilidad: Al mostrar el candado verde en la
barra de direcciones del navegador, HTTPS indica que la conexión es
segura y que el sitio web es auténtico, lo que aumenta la confianza del
usuario.
Protección frente a ataques: HTTPS ayuda a proteger contra ataques
de phishing y otros tipos de ataques cibernéticos
Mejora el posicionamiento SEO: Google ha anunciado que HTTPS es
un factor de clasificación en su algoritmo de búsqueda, lo que significa
que los sitios web que utilizan HTTPS pueden tener una ventaja en los
resultados de búsqueda.
Favorece las ventas: Al mejorar la confianza del usuario, HTTPS puede
aumentar las conversiones y las ventas en un sitio web.
Mejora la satisfacción del usuario: Al ganar en confianza y seguridad, el
usuario quedará más satisfecho con su experiencia en la web
2.3.9 C++
26-34
2.3.10 Sistemas de calidad.
Las empresas necesitan servicios de alta calidad para darles a sus clientes
experiencias favorables con el artículo que comercializan. Los sistemas de calidad, a
través de complejos y minuciosos trabajos de diseño, ejecución y administración,
alinean todos los elementos involucrados hacia un mismo fin. (concordia, 2017).
ISO 9000-3 Es una norma derivada de la norma ISO 9001 dedicada a el proceso de
desarrollo con calidad del software. Desde que la ISO 9001 fue escrita para ser
utilizada por toda clase de industrias, es regularmente difícil interpretarla para el
desarrollo de software, por lo cual se publicó la ISO 90003 “Guía para la aplicación
de ISO 9001 para el desarrollo, implementación y mantenimiento de software”.
27-34
La ISO 9000-3 nos proporciona una guía útil que nos sirve para detectar y corregir
una serie de problemas de los productos software, consiguiendo tras su aplicación
una mejora en la calidad (https://blog-jmda, 2017).
Referencias Bibliográficas
Libros.
Bass, L., Clements, P. & Kazman, R. (2012). Software Architecture in Practice (3d
Edition). Addison-Wesley Professional. Beck, K., Beedle, M., van B
Beck, K.. "Extreme Programming Explained. Embrace Change", Pearson Education,
1999. Traducido al español como: "Una explicación de la programación extrema.
Aceptar el cambio", Addison Wesley, 2000.
Gonzales Morcillo, C. (2007) Novatica Revista de la Asociación de Técnicos de
Informática, España.
Serna. S. (2016). Diseño de interfaces en aplicaciones móviles. España: RA-
MA.
Consultas en línea:
-Object Relational Mapping Obtenido de
https://www2.deloitte.com/es/es/pages/technology/articles/que-es- orm.html Fecha de
consulta: 21/09/23 Hora de consulta: 14:56 pm
-http://www.visualstudio. (2014). Desarrollo de aplicaciones. Obtenido de
http://www.visualstudio.com/es-es/explore/application-development-vs.aspx
-https://www.paessler. (2023) Servidores. Obtenido de
https://www.paessler.com/es/it-explained/server
-https://es.semrush. (2021). Definición https http. Obtenido de
https://es.semrush.com/blog/que-es-https/
-concordia. (2017). Sistemas de calidad: ¿qué son y cómo funcionan?
Obtenido de https://www.universidadlaconcordia.edu.mx/blog/index.php/sistemas-de-
calidad
-https://selenerouvier. (2018). ISO 12207 Obtenido de
https://selenerouvier.github.io/EstandarISO12207/
- https://blog-jmda. (20 de septiembre 2017). ISO 9000-3. Obtenido de
https://blog-jmda-ci22996515.blogspot.com/2017/09/que-es-iso-9000-3la-iso-9001-
es-una.html
26-34
-https://openwebinars. (22 de julio 2019). Qué es C++: Características y
aplicaciones. Obtenido de https://openwebinars.net/blog/que-es-cpp/
Unreal engine Obtenido de https://www.somosxbox.com/que-es-unreal-engine-como-
funciona-y-por-que-es-tan-famoso/986474. Fecha de consulta: 21/09/23. Hora de
consulta: 16:16pm.
Motores gráficos, (2022) Obtenido de https://es.digitaltrends.com/videojuego/que-es-
un-motor-grafico/ Fecha de consulta: 21/09/23. Hora de consulta: 17:46
Requerimientos funcionales no funcionales Obtenido de
https://es.slideshare.net/CristobalFicaV/requerimiento-funcional-y-no-funcional.
Fecha de consulta: 21/09/23. Hora de consulta: 17:51
27-34