Está en la página 1de 14

UNIVERSIDAD TECNOLÓGICA DE TABASCO

DIVISIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y

COMUNICACIÓN.

PROYECTO DE INTEGRADORA II

Aplicación Móvil para la gestión de citas en el spa “Curandero Spa”

QUE PRESENTA EL ALUMNO DE TÉCNICO SUPERIOR

UNIVERSITARIO EN TI ÁREA DESARROLLO DE SOFTWARE

MULTIPLATAFORMA

EMPRESA

Curandero spa

ASESOR ACADÉMICO CO. ASESOR ACADEMICO

PARRILLA, CENTRO, TABASCO, ENERO 2024


Índice
INTRODUCCIÓN ............................................................................................................. 4

CAPITULO I. MARCO METODOLÓGICO ........................................................................... 5

1.1 Antecedentes y Justificación. ........................................................................................... 5

1.2.1 Objetivos...................................................................................................................... 5
1.2.2 Objetivo General ............................................................................................................................... 5

1.2.2 Objetivos Específicos .................................................................................................... 6

1.3 Alcance ........................................................................................................................... 6

1.4 Metodología de trabajo ................................................................................................... 6

CAPITULO II: REVISIÓN BIBLIOGRÁFICA ................................ ¡Error! Marcador no definido.

2.2 Aplicación Móvil .................................................................... ¡Error! Marcador no definido.

2.3 Tecnologías Móviles .............................................................. ¡Error! Marcador no definido.


Teléfonos inteligentes ................................................................................. ¡Error! Marcador no definido.
Tabletas ....................................................................................................... ¡Error! Marcador no definido.
Wearables .................................................................................................... ¡Error! Marcador no definido.
Aplicaciones móviles .................................................................................... ¡Error! Marcador no definido.
Tecnologías de conectividad móvil .............................................................. ¡Error! Marcador no definido.

2.4 Usabilidad ............................................................................. ¡Error! Marcador no definido.

2.5 Lenguajes de Programación Orientado a Objetos (Terminología) .......... ¡Error! Marcador no


definido.
Java: ............................................................................................................. ¡Error! Marcador no definido.
Kotlin ............................................................................................................ ¡Error! Marcador no definido.
Swift ............................................................................................................. ¡Error! Marcador no definido.
C# ................................................................................................................. ¡Error! Marcador no definido.

2.6 Bases de Datos para dispositivos móviles ............................... ¡Error! Marcador no definido.
SQLite ........................................................................................................... ¡Error! Marcador no definido.
Realm ........................................................................................................... ¡Error! Marcador no definido.
Firebase Realtime Database ........................................................................ ¡Error! Marcador no definido.
PostgreSQL ................................................................................................... ¡Error! Marcador no definido.
Couchbase Lite ............................................................................................. ¡Error! Marcador no definido.

2.7 Modelos de Desarrollo .......................................................... ¡Error! Marcador no definido.


Modelo de desarrollo nativo ....................................................................... ¡Error! Marcador no definido.
Modelo de desarrollo multiplataforma ....................................................... ¡Error! Marcador no definido.
Modelo de desarrollo web móvil ................................................................. ¡Error! Marcador no definido.
Modelo de desarrollo híbrido ...................................................................... ¡Error! Marcador no definido.

2.7.1 Patrones de diseño ............................................................. ¡Error! Marcador no definido.


Patrón de navegación .................................................................................. ¡Error! Marcador no definido.
Patrón de lista maestra-detalle ................................................................... ¡Error! Marcador no definido.
Patrón de tarjetas (cards) ............................................................................ ¡Error! Marcador no definido.
Patrón de formulario ................................................................................... ¡Error! Marcador no definido.
Patrón de búsqueda .................................................................................... ¡Error! Marcador no definido.
Patrón de notificaciones .............................................................................. ¡Error! Marcador no definido.

2.7.2 Guías de estilo .................................................................... ¡Error! Marcador no definido.


Material Design Android .............................................................................. ¡Error! Marcador no definido.
Human Interface Guidelines iOS .................................................................. ¡Error! Marcador no definido.
Fluent Design System Windows ................................................................... ¡Error! Marcador no definido.
Google Material Design for iOS GMD .......................................................... ¡Error! Marcador no definido.
INTRODUCCIÓN

Desde tiempos inmemoriales, la humanidad ha buscado en las aguas termales un refugio


para la curación y el bienestar. En civilizaciones antiguas como los romanos, griegos y
egipcios, las aguas termales se consideraban fuente de poder curativo. En el siglo XVI, la
ciudad belga de Spa se destacó por sus aguas termales, dando origen al término "spa".
Este legado histórico ha evolucionado, convirtiendo a los balnearios y baños termales en
destinos populares para la relajación y el cuidado de la salud.
En este contexto arraigado en la tradición, surge la necesidad de adaptarse a las demandas
contemporáneas. Así, en este proyecto, explorara la creación de una aplicación móvil
innovadora destinada a gestionar las citas en un spa moderno que honra sus raíces,
Curandero Spa inspirado en la rica historia de los spas, se erige como un santuario de
bienestar que fusiona la tradición con las expectativas modernas.

El presente documento comprende de V capítulos, en el capítulo I expone los antecedentes


de la empresa junto con la justificación, objetivos y metodología, en este caso se utilizó el
modelo MVC (Modelo-Vista-Controlador) En el II se muestra el contexto teórico de las
herramientas que se utilizaron para el desarrollo de la aplicación estas son: (Firebase, Kotlin
y Android Estudio). El III incluye el resultado obtenido de la implementación de la aplicación
móvil y describe brevemente el proceso, así como la detección de problemas y necesidades
que tiene el spa. Para concluir en el apartado VI y V, las recopilación y referencias
bibliográficas.
CAPITULO I. MARCO METODOLÓGICO

1.1 Antecedentes y Justificación.

The Curandero Spa offers a variety of personal care and beauty services, including
massages, body treatments, facials, skincare, and manicure services. Currently, the spa
faces the challenge of not having a system to efficiently record and manage appointment
information. This lack has led to the idea of developing a mobile application that can
centralize and organize all appointment and service-related information.
The absence of an appointment management system creates difficulties for clients to
schedule or cancel appointments, relying solely on phone calls, which can be challenging
due to workload or clients not always calling during business hours. To address this
challenge, the development of a mobile application is proposed that not only facilitates
appointment management for clients but also alleviates the workload of spa staff.
1.2.1 Objetivos

1.2.2 Objetivo General

Analizar, Diseñar y Desarrollar una aplicación móvil para simplificar y optimizar el proceso
de programación de citas, ahorrar tiempo a los usuarios, facilitar la gestión de citas y mejorar
la comunicación entre los usuarios y el personal que brinda los servicios en Curandero Spa
ubicado en C. Antonia 206 Col.Casa Blanca de Villahermosa, Tabasco.
1.2.2 Objetivos Específicos

▪ Analizar el problema de usabilidad de la aplicación.


▪ Diseñar un maquetado para la visualización de la aplicación móvil.
▪ Diseñar una aplicación móvil con una interfaz sencilla e intuitiva.
▪ Implementar la aplicación móvil
▪ Documentar el desarrollo.
1.3 Alcance

Los módulos que se desarrollaran durante esta etapa son los siguientes:
▪ Agendar las citas.
▪ Visualizar las citas agendadas.
▪ Especificaciones de los servicios que ofrece el spa.
▪ Localización en el mapa de Google.
▪ Enviar mensaje de WhatsApp.

1.4 Metodología de trabajo

El modelo de desarrollo Vista-Controlador MVC, por sus siglas en inglés: Model-View-


Controller es un patrón arquitectónico ampliamente utilizado en el desarrollo de aplicaciones
de software. Proporciona una estructura organizativa que separa la lógica de la aplicación
en tres componentes principales: el modelo, la vista y el controlador. Cada componente
tiene responsabilidades específicas y se comunica con los demás de acuerdo con reglas
predefinidas.

1. Modelo: Es la representación de los datos y la lógica de negocio de la aplicación. El


modelo maneja la manipulación y gestión de los datos, así como la implementación de las
reglas y operaciones de la lógica empresarial. No tiene conocimiento directo de la vista o el
controlador, y notifica a los observadores (como la vista) sobre los cambios en los datos
mediante el uso de patrones como el patrón Observador.

2. Vista: Es la interfaz de usuario que se presenta al usuario. La vista se encarga de mostrar


los datos y proporcionar una experiencia visual al usuario. Recibe información del modelo
para mostrarla al usuario y también puede enviar eventos al controlador para indicar
acciones realizadas por el usuario.

3. Controlador: Actúa como intermediario entre la vista y el modelo. Recibe las interacciones
del usuario desde la vista y procesa las acciones correspondientes. Luego, actualiza el
modelo en consecuencia y notifica a la vista para que se actualice y muestre los cambios
apropiados. El controlador también puede recibir eventos externos y realizar acciones
adicionales, como invocar servicios o realizar validaciones.

El patrón MVC busca lograr una separación clara de responsabilidades y promover la


modularidad, la reutilización y la mantenibilidad del código. Al dividir la lógica de la
aplicación en estos tres componentes, se facilita la gestión y evolución de cada uno de ellos
de forma independiente.

Es importante tener en cuenta que existen variaciones del patrón MVC, como el MVC de
dos capas (Modelo-Vista) o el MVC de tres capas (Modelo-Vista-Controlador) en el contexto
de aplicaciones web, donde se introduce una capa adicional para la gestión de la
persistencia de datos o la comunicación con servicios externos.

CAPITULO II. REVISIÓN BIBLIOGRAFICA

2.1 tecnologías web

Se hace referencia a la dimensión técnica en la creación de un sitio web. Los programadores web
se centran en la codificación y programación del sitio, empleando lenguajes tales como HTML, CSS,
JavaScript, entre otros. (María Coppola,2023)

2.2 Aplicaciones web

En el ámbito de la ingeniería, se conoce como aplicación web o software web a una herramienta que
los usuarios pueden emplear al acceder a un servidor a través de internet o de una intranet mediante
un navegador. (Antonio Manuel,2024)

2.3 Usabilidad
La usabilidad se refiere a la manera en que empleamos objetos, evaluando la facilidad con la que
los utilizamos y si nos permiten llevar a cabo nuestras necesidades o deseos. Es una cualidad de
facilidad de uso, principalmente asociada al software, pero aplicable a cualquier artefacto creado por
humanos. En líneas generales, un producto o aplicación se considera fácil de usar cuando cumple
eficientemente con la tarea para la que fue diseñado. (Laura Porto,2021)

2.4 Base de datos

Una base de datos se define como un conjunto organizado de datos estructurados, generalmente
almacenados de manera electrónica en un sistema informático. Por lo general, un sistema de gestión
de bases de datos (DBMS) supervisa esta información. La combinación de los datos, el DBMS y las
aplicaciones relacionadas se denomina sistema de bases de datos, comúnmente abreviado como
base de datos. (Etece,2023)

2.5 Modelos de bases de datos

Un modelo de base de datos es la estructura lógica que adopta la base de base datos, incluyendo
las relaciones y limitaciones que determinan cómo se almacenan y organizan y cómo se accede a
los datos. (Etece,2023)
• Modelo de base de datos relacional
• Modelo jerárquico
• Modelo de red
• Modelo orientado a objetos
• Modelo relacional de objetos
• Modelo entidad-relación
• Modelo de archivo invertido
• Modelo plano
• Modelo multidimensional
• Modelo semiestructurado
• Modelo de contexto
• Modelo asociativo
• Modelos de bases de datos NoSQL
2.5.1 Modelo de datos relacional

En el modelo de base de datos relacional, las tablas se conectan a través de un atributo común,
evitando la necesidad de estructuras jerárquicas. Cada tabla se asemeja a una hoja de cálculo,
organizando y relacionando datos. Los atributos definen tipos de datos, y cada fila tiene un valor
específico. Todas las tablas tienen una clave primaria única, y las relaciones entre tablas se
establecen mediante claves externas que hacen referencia a claves primarias de otras tablas. (Carlos
Herrera,2023)

Ilustración 1 Modelo de base de datos relacional

2.5.2 Modelo Entidad Relación


El modelo entidad-relación es básicamente el paso previo a uno modelo de bases datos relacional,
puesto que se trata de un diagrama elaborado a través de unos elementos básicos y su relación
entre ellos:

• Entidades (son los objetos que se representan en la base de datos).

• Atributos (son el contenido de la entidad, sus características). A los atributos se les asigna
un clave para distinguirlos de los demás registros.

• Relación (el vínculo que define la dependencia entre varias entidades).

• Cardinalidad (es la participación entre entidades, que pueden ser uno a uno, uno a varios o
varios a varios). (Pablo Flores,2022)
Ilustración 2Modelo entidad relación

2.6 Lenguajes de programación orientada a objetos


Herencia: es el proceso mediante el cual los diseñadores tienen la capacidad de generar nuevas
clases basándose en una clase o en una jerarquía de clases ya existente y verificada. Esto permite
evitar el rediseño, modificación y verificación de la parte ya implementada, facilitando la creación de
objetos a partir de otros ya existentes.
Polimorfismo: se refiere a la capacidad de enviar un mensaje a un grupo de objetos con naturalezas
diversas. Los objetos que se utilizan de manera polimórfica deben cumplir con el requisito básico de
poder responder al mensaje que se les envía.
Encapsulación: se define como el ocultamiento del estado, es decir, de los datos miembro de un
objeto, permitiendo que estos solo puedan ser modificados mediante las operaciones
específicamente definidas para ese objeto.
Abstracción: es una técnica que implica aislar un elemento particular de su contexto o del resto de
elementos que lo rodean, centrándose en aquellos aspectos que son relevantes para un propósito
específico.
Interfaz: se refiere a la definición de los miembros de una clase o de varias clases. Cualquier clase
que implemente la interfaz debe contener todos los miembros definidos en ella.
Estos conceptos, extraídos del libro "Aprender la programación orientada a objetos con el lenguaje
C#" de Luc Gervais, publicado en 2016, son fundamentales en la programación orientada a objetos.

2.7 Modelos de desarrollo

Los modelos de desarrollo de software ofrecen un marco de trabajo usado para controlar el proceso
de desarrollo de sistemas de información, estos marcos de trabajo consisten en una filosofía de
desarrollo de programas la cual debe de contar con las herramientas necesarias para la asistencia
del proceso de desarrollo.
• Modelo en cascada: Este es el modelo en el cual se ordenan rigurosamente las etapas del
desarrollo del software, de esto se obtiene que el inicio de una etapa de desarrollo deba de
esperar el fin de la etapa anterior. De esto se obtiene que cualquier error detectado lleve al
rediseño del área de código afectado, lo cual aumenta de costo el desarrollo del proyecto.
(Isabel C, 2010)

Ilustración 3Modelo de Cascada

• Modelo de prototipos: Pertenece a los modelos evolutivos, en el cual el prototipo debe de


ser construido rápidamente y con la utilización escasa de recursos. El prototipo es construido
para mostrárselo al cliente, obtener críticas y retroalimentación, con lo cual se obtendrán los
requisitos específicos para la aplicación a partir de las metas graficas que son mostradas.
Las etapas de este modelo son:

1.Plan rápido

2.Modelo

3.Construcción del prototipo

4.Entrega y retroalimentación

5.Comunicacion

6.Entrega del desarrollo final

(Andrés Conejero,2012)
Ilustración 4Prototipos

• Modelo en espiral: Es el modelo en el cual las actividades se desarrollan en espiral, estas


actividades se realizan conforme se van seleccionando de acuerdo con el análisis de riesgo.
En cada iteración en este modelo, se deberán de tomar en cuenta los objetivos, las
alternativas que se deberán de tomar de acuerdo con las características, estas son
experiencia personal, requisitos a cumplir, las formas de gestión del sistema, entre
otros. (Galo Fariño R,2011)

Ilustración 5Modelo en espiral

• Desarrollo por etapas: Es similar al modelo por etapas, sin embargo, se diferencia en que,
al momento de la crítica o bien retro alimentación por parte del usuario final, no se obtendrán
completamente las características del software. Estas se irán descubriendo en el proceso
del avance del software, mediante la creación de las diferentes versiones del código.
Ilustración 6Modelo Etapas

• Desarrollo iterativo: Resuelve los problemas encontrados en el modelo en cascada, en


cual ofrece entornos de trabajo con técnicas para su correcta utilización. Este tipo de modelo
es esencial para el método de programación extrema.

Ilustración 7Desarrollo iterativo

• RAD o desarrollo de aplicaciones rápidas: Como su nombre lo indica permite la


construcción rápida de sistemas utilizables. Está compuesto por un grupo reducido de
personas incluyendo desarrolladores y testers del sistema.

Ilustración 8Modelo Rad

• Desarrollo concurrente: Se conoce como ingeniería concurrente y es utilizado en su


mayoría para aplicaciones cliente servidor, en el cual se describen los múltiples procesos
que ocurren simultáneamente en la aplicación. Una de las características de este proceso
es que está orientado a las necesidades del usuario, las decisiones de la gestión y los
resultados de las revisiones.

Ilustración 9Modelo concurrente

• Proceso unificado: Este proceso se distingue por la utilización de casos de uso, el cual
está centrado en la arquitectura y la utilización de iteraciones incrementales. Este es un
marco de trabajo extensible, el cual puede ser implementado hacia otros proyectos de
distintas organizaciones

Ilustración 10Modelo Unificado

También podría gustarte