Está en la página 1de 35

Tecnológico Nacional de México

Instituto Tecnológico de Celaya

Taller de Investigación I

Alumno(s): Morales Martínez Andrés


Romero Pérez Juan Manuel

Profesor: José Salvador Sosa De Santiago


ÍNDICE
I. PLANTEAMIENTO DEL PROBLEMA 1
II. TEMA 1
III. JUSTIFICACIÓN DEL PROBLEMA 1
IV. OBJETIVOS 1
IV.1. Objetivo general 1
IV.2. Objetivos específicos 2
V. HIPÓTESIS 2
VI. MARCO HISTÓRICO 2
VII. MARCO CONCEPTUAL 3
VII.1. Deficiencias visuales 3
VII.2. Clasificación de las deficiencias visuales 3
VII.3. Consecuencias de las deficiencias visuales 4
VII.4. Tratamientos y métodos para corregir las deficiencias visuales 4
VII.5. Reconocimiento óptico de caracteres (OCR) 5
VII.6. Algoritmo del OCR 5
VII.7. Métodos de implementación del OCR 6
VII.8. Aplicaciones del OCR 7
VII.9. Aplicaciones móviles 9
VII.10. Herramientas de desarrollo de aplicaciones móviles 10
VII.11. Metodologías para el desarrollo de las aplicaciones móviles 11
VIII. MARCO DE REFERENCIA 13
IX. DESARROLLO 14
IX.1. Cronograma 14
IX.2. Encuesta 15
IX.3. Plan de gráficas e interpretación de los resultados 16
IX.4. Determinación de la muestra 19
X. Bibliografía 20
I. PLANTEAMIENTO DEL PROBLEMA

En la actualidad, existen varias personas con alguna deficiencia visual, es por ello que se
ha observado que existen personas que recurren a su dispositivo móvil (Smartphone), con
el fin de utilizar su cámara, para ampliar algunos textos o caracteres que les son difíciles
de identificar o leer. Este problema afecta a estudiantes, personas de edad avanzada o
público general con alguna deficiencia visual. Dado que esto afecta de tal manera que las
personas no logran distinguir correctamente los caracteres de un texto, provocando una
mala lectura o comprensión de dicho texto. Del mismo modo en algunas personas afecta
en la distinción de objetos, dado que no logran visualizar correctamente los objetos de
tamaño diminuto. Por otro lado, de no dar una posible solución a este problema, pudieran
ocurrir dichos problemas, tal es el caso en las personas de edad avanzada, pudieran
tomar un medicamento por otro dado que no logran leer o distinguir correctamente los
medicamentos. Como consiguiente los estudiantes de no solucionar este problema,
pudieran tener una mala comprensión del texto con el cual están trabajando.

II. TEMA

Visualización de caracteres a través de una aplicación móvil.

III. JUSTIFICACIÓN DEL PROBLEMA

Las personas con deficiencia visual podrán recurrir a su dispositivo móvil para visualizar
mejor un texto. Gracias a una aplicación que tanto estudiantes como personas de edad
avanzada, con ciertas deficiencias visuales. Podrán distinguir correctamente los
caracteres de un texto difícil de leer, facilitando de esta manera la lectura y comprensión
de dicho texto. De igual manera con la aplicación se podrán distinguir objetos que
regularmente no logran visualizarse correctamente debido a su tamaño diminuto. Las
personas con edad avanzada no tendrán problemas en la lectura de las etiquetas de sus
medicamentos. Por otro lado, los estudiantes tendrán una mejor comprensión de los
textos de tamaño diminuto, que les son difícil de leer. Todo esto con la ayuda de la
aplicación que contara con el reconocimiento óptico de caracteres y automatizara la
lectura de textos con tamaño de letra pequeña.

IV. OBJETIVOS

IV.1. Objetivo general

Facilitar la visualización de caracteres pequeños, a través de una aplicación móvil que


permita el reconocimiento de caracteres para brindar una mejor lectura.

1
IV.2. Objetivos específicos

● Identificar las posibles consecuencias que pueden tener las personas con deficiencia
visual y realizar una investigación sobre el OCR.
● Determinar el algoritmo de reconocimiento de caracteres y corroborar su
funcionamiento.
● Definir las herramientas a utilizar para diseñar la interfaz de la aplicación.
● Evaluar el software previamente terminado.

V. HIPÓTESIS

Demostrar que es posible facilitar la lectura de textos de tamaño diminuto de una manera
rápida y segura mediante la implementación de los OCR a través de una aplicación móvil,
favoreciendo a las personas que cuentan con alguna deficiencia visual.

VI. MARCO HISTÓRICO


En la actualidad, se estima que en México existen 2 millones 237 mil personas con
deficiencia visual. De las cuales un 30% son deficiencias de primer grado, un 5% de
segundo grado y el resto son personas con ceguera. Sin embargo, un 50% de las
personas que tienen alguna deficiencia de 1° y 2° grado, no cuentan con algún dispositivo
que les permita mejorar su visión.

En 1953, Shepard fundó Intelligent Machines Research Corporation (IMR), comenzando a


fabricar el primero de varios sistemas del OCR usados para operaciones comerciales.
Mientras que Gismo y los últimos sistemas de IMR, utilizaron análisis de imagen, en
comparación con el carácter que emparejaba, pudiendo aceptar una cierta variación de la
fuente.

El primer sistema comercial fue instalado en Readers Digest en 1955, que, muchos años
más tarde, fue donado por al museo Smithsonian, donde fue puesto en la exhibición. El
segundo sistema fue vendido a los Standard Oil Company de California para leer
impresiones en tarjetas de crédito para propósitos de facturación, además se vendieron
muchos más sistemas a compañías petroleras.

El servicio postal de Estados Unidos ha estado utilizando las máquinas de OCR para
clasificar el correo desde que 1965, basados en la tecnología ideada sobre todo por el
inventor prolífico Jacob Rabinow. El primer uso del OCR en Europa sucedió en la oficina
de Gran Bretaña.

Los sistemas reconocedores el texto impreso a mano han gozado de éxito comercial estos
últimos años. Entre éstos están dispositivos de asistencia personales digitales (PDA) tales
como los Palm OS. Apple es pionero en esta tecnología. Los algoritmos usados en estos
dispositivos toman ventaja del orden, velocidad y dirección de las líneas o segmentos
individuales en su entrada son conocidos.

Para problemas más complejos del reconocimiento, se usan los sistemas de

2
reconocimiento inteligente de caracteres, pues las redes neuronales artificiales que los
componen trabajan indiferentes a las transformaciones lineales y no lineales del proceso

3
de reconocimiento. Una variante del OCR es el OMR (optical mark recognition) que se
utiliza para reconocimiento de marcas. Una aplicación sería la corrección automática de
exámenes de tipo test, en los que la respuesta correcta se rodea con un círculo, tipo PSU.

Los software y motores de reconocimiento OCR no son perfectos. Existen software de


reconocimiento OCR que dan mejores resultados o mayor efectividad que otros. El OCR,
combinado con otras técnicas, es una herramienta ideal para que personas con
deficiencias visuales puedan tener acceso a documentos e información. Por lo tanto, si los
resultados que obtenemos no son satisfactorios una de las opciones que tenemos es
buscar otras alternativas de software o utilizar distintos motores de conversión.

Es por ello por lo que se busca el desarrollo de una aplicación móvil que cuente con la
menor cantidad posible de limitaciones. Considerando la optimización de errores de
aplicaciones ya existentes y tratar de brindar una mejor experiencia hacia el usuario. Por
lo cual, será posible la implementación de la digitalización de textos para brindar una
mayor amplitud en el tamaño de las letras, con la finalidad de ayudar a las personas con
deficiencia visual a tener una mejor lectura del texto capturado.

VII. MARCO CONCEPTUAL

VII.1. Deficiencias visuales

Un déficit o discapacidad ocular se define con base en la agudeza o campo visual.


Hablamos de déficit cuando en uno de los dos ojos existe una reducción considerable de
la agudeza visual, afectando aun con el uso de gafas. O bien existe una disminución
importante del campo visual del ojo.

El déficit visual tiende a originarse por un errado desarrollo de los órganos visuales, o
como consecuencia de accidentes donde los ojos resultaron lesionados. O también por el
padecimiento de patologías que afectan la vista. Dentro de esas destaca la diabetes, las
cataratas, el glaucoma y el tracoma. (Optica San Pedro, 2021)

Se establece que una persona con deficiencia visual es aquella persona que, con la mejor
corrección posible solamente puede ver o distinguir, aunque con gran dificultad, algunos
objetos a una distancia muy corta. Por tanto, se determina que, las personas con
deficiencia visual, a diferencia de aquellas con ceguera, conservan todavía un resto de
visión útil para su vida diaria (desplazamiento, tareas domésticas, lectura, etc.). En
términos ópticos, de la misma manera que la ceguera, el grado de deficiencia visual se
cuantifica mediante la agudeza visual del paciente y su campo visual. Dicha deficiencia
visual se clasifica en moderada (la persona percibe objetos y caracteres impresos a pocos
centímetros sin necesidad de ayudas ópticas) y severa (la persona percibe volúmenes y
colores, objetos y caracteres impresos a pocos centímetros con ayudas ópticas, gafas,
lupas, etc). (Spec Savers Opticas, 2021)

VII.2. Clasificación de las deficiencias visuales

La Clasificación Internacional de Enfermedades 11 (2018) categoriza el deterioro de la

4
visión en dos grupos: distante de presentación y cercana de presentación.

5
Deterioro de la visión distante:
● Leve: agudeza visual inferior a 6/12 o igual o superior a 6/18.
● Moderado: agudeza visual inferior a 6/18 o igual o superior a 6/60.
● Grave: agudeza visual inferior a 6/60 o igual o superior a 3/60.
● Ceguera: agudeza visual inferior a 3/60.

Deterioro de la visión cercana:

● Agudeza visual cercana inferior a N6 o M.08 a 40 cm con la corrección existente.

La experiencia individual del deterioro de la visión varía dependiendo de muchos factores,


entre ellos la disponibilidad de intervenciones de prevención y tratamiento, el acceso a la
rehabilitación de la visión (incluidas ayudas técnicas, como gafas o bastones blancos), y el
hecho de si la persona tiene problemas debido a la inaccesibilidad de los edificios, los
medios de transporte y la información. (Optica San Pedro, 2021)

VII.3. Consecuencias de las deficiencias visuales

Una deficiencia visual desencadena limitaciones en la ejecución de actividades cotidianas


en quien la padezca. A una persona con déficit visual le es más complejo llevar a cabo
situaciones vitales en su día a día. Los factores familiares, sociales, personales y
contextuales se ven alterados en estos pacientes.

Las limitaciones van en función de la etapa del paciente. Cuando nos referimos a los
niños, sus limitaciones son diferentes a las de un adulto mayor. En un niño el proceso de
enseñanza es más complicado, la educación escolar se ve alterada a causa de la
deficiencia visual que el pequeño padezca. Su desenvolvimiento social también se torna
lento hasta que el menor aprende a sobrellevar su discapacidad visual.

Ahora, en caso de una persona mayor, una deficiencia visual genera limitaciones al querer
salir por sí solo fuera de casa. Además, preparar alimentos, hacer compras, manejar
dinero, entre otras.

Cualquiera que sea el caso, el proceso de adaptación es de vital importancia para que los
pacientes puedan incorporarse con normalidad a la sociedad. El hecho de padecer un
déficit visual no los hace diferentes, solo que necesitan emplear mecanismos especiales
para llevar al día sus labores. Pero todo es posible mientras se les apoye y se les brinde
el tratamiento adecuado. (Optica San Pedro, 2021)

VII.4. Tratamientos y métodos para corregir las deficiencias visuales

Antes de aplicar un tratamiento en específico, el profesional médico debe determinar la


causa y el grado de la discapacidad visual. No para todos los tipos de déficit se aplica el
mismo tratamiento. Sin embargo, por lo general suelen adaptarse los siguientes métodos:
● Dispositivos de aumento para la visión. (Optica San Pedro, 2021)
● Mando de la diabetes.
● Cirugía de cataratas.
● Control del glaucoma.

6
● Adaptación de lentes correctores.

7
● Cirugía de láser o crioterapia (congelamiento) para la retinopatía.
● Ayudas visuales.

VII.5. Reconocimiento óptico de caracteres (OCR)

El OCR (Optical Character Recognition) es un software de reconocimiento de texto que


saca de una imagen el texto que contiene y lo transforma en cadenas de caracteres para
guardarlos en un formato que se pueda utilizar en programas de edición de texto.
Cuando tenemos una imagen (ya sea una fotografía o un documento que hayamos
escaneado), el texto que contiene forma parte de esa imagen, al igual que cualquier
elemento de esta (un dibujo o un esquema, por ejemplo). Pues bien, si necesitamos
extraer ese texto para poder editarlo, necesitamos un programa de OCR que reconozca
dicho texto y lo transforme en una cadena de caracteres (ya sea ASCII o Unicode) y
posteriormente copiar esta cadena a un programa de edición para ya poder trabajar con
ella, con el consiguiente ahorro de tiempo al no tener que teclear este texto. (Signaturit,
2021)

VII.6. Algoritmo del OCR

Para reconocer los caracteres, el software inspecciona la imagen pixel a pixel, buscando
formas que coincidan con los rasgos de los caracteres. En función del nivel de
complejidad o grado de desarrollo del software, éste buscará coincidencias con los
caracteres y fuentes disponibles en el programa, o tratará de identificar los caracteres a
través del análisis de sus características.
El OCR puede analizar los elementos del documento (bloques de texto, imágenes,
tablas…), examinando los espacios en blanco y descomponiendo el texto en líneas,
palabras y caracteres. (Signaturit, 2021)

Todos los algoritmos de ROC tienen la finalidad de poder diferenciar un texto de una


imagen cualquiera. Para hacerlo se basan en cuatro etapas:

1. Binarización o caracterización.
2. Fragmentación o segmentación de la imagen.
3. Adelgazamiento de los componentes.
4. Comparación con patrones.

Binarización

La mayor parte de algoritmos de ROC parten como base de una imagen binaria (dos
colores). Por lo tanto, es conveniente convertir una imagen de escala de grises, o una de
color, en una imagen en blanco y negro, de tal forma que se preserven las propiedades
esenciales de la imagen. Una forma de hacerlo es mediante el histograma de la imagen,
donde se muestra el número de píxeles para cada nivel de grises que aparece a la
imagen. Para binarizarla tenemos que escoger un umbral adecuado, a partir del cual
todos los píxeles que no lo superen se convertirán en negro y el resto en blanco.
Mediante este proceso obtenemos una imagen en blanco y negro donde quedan
claramente marcados los contornos de los caracteres y símbolos que contiene la imagen.
A partir de aquí podemos aislar las partes de la imagen que contienen texto (más

8
transiciones entre blanco y negro).

Fragmentación o segmentación de la imagen

9
Este es el proceso más costoso y necesario para el posterior reconocimiento de
caracteres. La segmentación de una imagen implica la detección mediante procedimientos
de “etiquetado determinista” o estocástico de los contornos o regiones de la imagen,
basándose en la información de intensidad o información espacial.
Permite la descomposición de un texto en diferentes entidades lógicas, que han de ser
suficientemente invariables, para ser independientes del escritor, y suficientemente
significativas para su reconocimiento.
No existe un método genérico para llevar a cabo esta segmentación de la imagen que sea
lo suficientemente eficaz para el análisis de un texto. Aunque las técnicas más utilizadas
son variaciones de los métodos basados en proyecciones lineales.
Una de las técnicas más clásicas y simples para imágenes de niveles de grises consiste
en la determinación de los modos o agrupamientos (clústeres) a partir del histograma, de
tal forma que permitan una clasificación o umbralización de los píxeles en regiones
homogéneas.

Adelgazamiento de los componentes

Una vez aislados los componentes conexos de la imagen, se les tendrá que aplicar un
proceso de adelgazamiento para cada uno de ellos. Este procedimiento consiste en ir
borrando sucesivamente los puntos de los contornos de cada componente de forma que
se conserve su tipología.
La eliminación de los puntos ha de seguir un esquema de barridos sucesivos para que la
imagen continúe teniendo las mismas proporciones que la original y así conseguir que no
quede deforme.
Se tiene que hacer un barrido en paralelo, es decir, señalar los píxeles borrables para
eliminarlos todos a la vez. Este proceso se lleva a cabo para hacer posible la clasificación
y reconocimiento, simplificando la forma de los componentes.

Comparación con patrones

En esta etapa, se comparan los caracteres obtenidos anteriormente con unos teóricos
(patrones) almacenados en una base de datos. El buen funcionamiento del ROC se basa
en gran medida en una buena definición de esta etapa.
Existen diferentes métodos para llevar a cabo la comparación. Uno de ellos es el método
de proyección, en el cual se obtienen proyecciones verticales y horizontales del carácter
por reconocer, y se comparan con el alfabeto de caracteres posibles hasta encontrar la
máxima coincidencia. (Wikipedia, s.f.)

VII.7. Métodos de implementación del OCR

Existen otros métodos, por ejemplo:

● métodos geométricos o estadísticos

Consisten en extraer de los caracteres extraídos de la imagen, un conjunto de m medidas


(características) que constituyen la composición de un vector, donde dependiendo si es
método estadístico se busca una relación matemática entre la plantilla con el carácter
escogido o si es método geométrico se buscan sus componentes fundamentales como

10
son medidas topológicas (información de la continuidad de los pixeles, huecos, dimensión,
textura, entre otros atributos), superficies( regiones, perfiles, concavidades, bucles,

11
intersecciones).

● métodos estructurales

Estos métodos pasan por una esqueletización de los caracteres extraídos de la imagen,
quedando solamente los contornos interiores y exteriores con el fin de detectar una serie
de puntos singulares, de estos puntos se extraerá una información topológica.
Posteriormente, se forma un vector, que permite representar el carácter reconocido en
forma de símbolos o de gráficos. 

● métodos neuromiméticos

Están basados en la utilización de redes neuronales de todo tipo: perceptores multinivel,


catas de Kohonen, TDNN, RBF, neocognitrones, colonias corticales, etc. La mecánica
general es partir de una imagen con caracteres normalizados o de símbolos. Los
resultados obtenidos, son buenos con la condición de disponer de un gran número de
patrones para realizar el proceso de aprendizaje. La parte negativa de este proceso está
en los tiempos de aprendizaje ya que serán elevados por lo que se vuelve una tarea difícil,
determinar las causas de los errores.

● métodos markovianos (modelo oculto de Márkov)

Se basan en hacer tablas de búsqueda de secuencias de señales de caracteres, pero


variables en el transcurso del tiempo. Es algo parecido a un caché de reconocimiento de
caracteres. Esto en cuanto a almacenamiento, pero el proceso de reconocimiento,
combina el uso de un grafo (conjunto de objetos llamados vértices o nodos unidos por
enlaces llamados aristas o arcos, que permiten representar relaciones binarias entre
elementos de un conjunto.) y un proceso aleatorio en las transiciones del grafo así
como en su retroalimentación.

● métodos de Zadeh

Estos métodos basados en la lógica borrosa (busca que la clasificación entre los patrones
y el carácter detectado no sea tan brusca sino que se encuentre dentro de un rango para
ser considerada como reconocido), están muy bien adaptados al reconocimiento de
caracteres con un tipo de datos impreciso. (Wikipedia, s.f.)

VII.8. Aplicaciones del OCR

Desde la aparición de los algoritmos de ROC, han sido muchos los servicios que han
introducido estos procesos para aumentar su rendimiento y otros que se basan
completamente en estas tecnologías. A continuación, se muestran algunas de las más
destacables aplicaciones que utilizan el ROC.

Reconocimiento de texto manuscrito.

Las dificultades que podemos encontrar a la hora de reconocer un texto tipografiado, no


se pueden comparar con las que aparecen cuando queremos reconocer un texto
manuscrito. No todos escribimos de manera uniforme, y no todos escribimos de la misma
forma. El
reconocimiento de este tipo de textos continúa siendo un desafío. Para abordar este tipo
de problemas se han desarrollado técnicas y aplicaciones específicas a las que se les
llama Reconocimiento inteligente de caracteres o ICR (del inglés Intelligent Character
Recognition).
Aunque el texto se compone básicamente de caracteres individuales, la mayoría de los
algoritmos ROC no consiguen buenos resultados, ya que la segmentación de texto
continuo es un procedimiento complejo.
En el caso de reconocimiento de escritura manuscrita a la hora de corrección de
exámenes, existe la posibilidad, añadiendo un listado de léxico (nombres y apellidos) de
acercarse al 100% de acierto. A través de las casillas de respuesta ICR se pueden
reconocer palabras, como nombres de países, nombres de regiones, marcas comerciales,
en resumen, todo aquello que pueda ser integrado en una lista de palabras (léxico), el
cual puede ir aumentándose según las necesidades.
En el mundo real, a veces se puede llegar a comprender una frase cuando la hemos
terminado de leer. Automatizar este proceso implica una operación de niveles morfológico,
léxico y sintáctico que se consigue mediante el reconocimiento del habla continua. Para
llevar a cabo esa metodología, se utilizan algoritmos robustos que usan una segmentación
previa, debido a que se obtiene automáticamente con la descodificación.
Para facilitar el reconocimiento a veces la tecnología ICR requiere que en el documento
se tengan recuadros dentro de los cuales se introducen los caracteres manuscritos,
siendo obligatorio un carácter por recuadro. Habitualmente se utiliza para formularios que
debemos rellenar a mano y tenemos que poner en letras mayúsculas.

Reconocimiento de matrículas.

Una de las aplicaciones son los radares. Estos deben ser capaces de localizar una
matrícula de un vehículo con condiciones de iluminación, perspectiva y entorno variables.
En la etapa de segmentación, se buscan texturas similares a la de una matrícula y se
aísla el área rectangular que forma la matrícula.
Finalmente, se aplica un proceso de clasificación múltiple sobre el conjunto de píxeles
pertenecientes a la matrícula, proporcionando una cadena de caracteres que se tienen
que ajustar a un modelo conocido: el formato de una matrícula. Si aparece algún error, es
corregido.

Indexación con bases de datos.

Con el gran aumento de información publicada que ha tenido lugar en los últimos años,
cada vez son más los métodos que se emplean para organizar todo este material
almacenado en bases de datos. Uno de estos contenidos son las imágenes. Una de las
formas más corrientes de buscar imágenes es a partir de metadatos introducidos
manualmente por los usuarios. Actualmente han aparecido buscadores que proporcionan
la posibilidad de buscar imágenes mediante el texto que aparecen en ellas, como el
buscador DIRS (Document Image Retrieval System) que, mediante un algoritmo de ROC,
extrae el texto que aparece en la imagen y lo utiliza como metadato que podrá servir para
las búsquedas. Esta tecnología proporciona una posibilidad en la búsqueda de imágenes
y demuestra que el ROC aún puede dar mucho de sí.

Reconocimiento de datos estructurados con ROC Zonal.


Se usa para digitalizar de forma masiva grandes cantidades de documentos estructurados
o semiestructurados (facturas, nóminas, albaranes, pólizas, justificantes bancarios,
etcétera), catalogando automáticamente los documentos con los metadatos obtenidos y
archivándolos en formato digital de forma indexada para facilitar su posterior búsqueda.
Tiene el inconveniente de que es necesario diseñar previamente las plantillas, pero con
una buena configuración se ahorra mucho tiempo en el proceso de digitalización.
(Wikipedia, s.f.)

VII.9. Aplicaciones móviles

VII.9.1. Definición

Una aplicación móvil, también llamada app móvil, es un tipo de aplicación


diseñada para ejecutarse en un dispositivo móvil, que puede ser un teléfono
inteligente o una tableta. (Herazo, 2020)

VII.9.2. Tipos

● Aplicaciones de Juegos
1. Call of Duty
2. Candy Crush
3. Angry Birds

● Aplicaciones empresariales o de productividad


a) Gmail
b) Tribago
c) Booking

● Aplicaciones educativas
a) Duolingo
b) Classroom
c) Teams

● Aplicaciones de estilo de vida


a) Google fit
b) Ni una dieta más
c) Natural Remedies

● Aplicaciones de comercio móvil


a) Amazon
b) Mercado libre
c) Linio

● Aplicaciones de entretenimiento
a) Facebook
b) Twitter
c) Instagram
(Herazo, 2020)
VII.9.3. Sistemas operativos

● Android (80% de usuarios lo usan)


● IOS (Mas del 10% de usuarios lo usan)
● Windows Phone

(Softcorp, 2010)

VII.9.4. Funcionamiento

El funcionamiento de las aplicaciones dependerá del contexto para el cual fue


desarrollada. No es lo mismo un funcionamiento de una aplicación de juegos que
una de comercio. Es por ello que su funcionamiento dependerá. Pero sin embargo
algo que, si podemos generalizar, es que permiten al usuario realizar actividades
profesionales, acceder a servicios, mantenerse informado, entre otro universo de
posibilidades. (Herazo, 2020)

VII.10. Herramientas de desarrollo de aplicaciones móviles

HERRAMIENTAS DE DESARROLLO

Las opciones de elección comenzarán por saber si queremos una aplicación exclusiva en
Android o iOS que contengan funciones específicas de esos sistemas operativos
optimizando su hardware o si queremos aplicaciones híbridas que puedan permitir un
desarrollo para ambos sistemas operativos e incluso adaptada como aplicación web que
permita la visualización desde un navegador.

Desarrollo Nativo (Android)

Kotlin es el lenguaje de desarrollo para aplicaciones móviles que ayudará a prevenir


errores de programación comunes en aplicaciones Android, que será fuertemente tipado y
que permitirá interoperar con código basado en Java, de forma que no limita
exclusivamente a este tipo de lenguaje.
Este lenguaje desde 2017 fue definido por Google como lenguaje de primer nivel para
desarrollo en Android, lo cual supuso soporte por parte de la compañía.

Desarrollo Nativo (iOS)

Para iOS, Mac Apple TV y Apple Watch, Swift es el lenguaje elegido por Apple para el
desarrollo de sus aplicaciones. Este lenguaje fuertemente tipado, que permitirá tener
menos errores durante el desarrollo, facilita el uso de patrones de programación funcional
y también gestionará de forma automática la memoria.
Como se trata de un desarrollo nativo tiene un mayor rendimiento en dispositivos Apple,
como ejemplo, en algoritmos de búsqueda tiene estimada una velocidad 2,6 veces mayor
que Objective-C y hasta 8,4 veces mayor que Python.

Desarrollo Semi-Híbrido

XAMARIN
Este entorno de desarrollo permitirá desarrollar apps nativas multiplataforma, que
permitirá
desarrollar utilizando código C# para la lógica y XAML para las vistas, todo el código
necesario para todas las plataformas. En un artículo anterior de nuestro blog ya hablamos
de Xamarin para el desarrollo multiplataforma.

IONIC

Hoy en día, una de las mejores alternativas para el desarrollo ágil de apps. Este entorno
de desarrollo utiliza estándares web como HTML, CSS y JavaScript, permitiendo obtener
una Progressive Web App (PWA) con la capacidad de trabajar en iOS y Android como una
aplicación nativa. No necesariamente tiene que instalar la aplicación en el teléfono ya que
permitirá acceder a través de un navegador, pero además añade la opción de generar
aplicaciones para publicar tanto en Google Play como en la App Store. Todo esto consigue
que una aplicación desarrollada con Ionic sea  accesible desde cualquier dispositivo por
navegador o como app.
También de la posibilidad de desarrollar para kioskos, que al igual que las PWA serán
multiplataforma y tendremos la opción de distribución por varios canales y siempre
enfocados a múltiples objetivos.

FLUTTER

Flutter es una herramienta creada por Google para el desarrollo de apps iOS y Android,
creada por Google. Con Flutter, a partir de un sólo código, se generan apps nativas tanto
para iOS como para Android. Es de lejos la trecnología de desarrollo de apps que más
crece en estos momentos, y ya tiene grandes usuarios como eBay, Tencent, Google,
o Realtor. (Casans, 2020)

VII.11. Metodologías para el desarrollo de las aplicaciones móviles

VII.11.1. Metodología ágil

La metodología ágil se basa en tener como principal característica realizar


entregas rápidas y continuas de software. Por ejemplo, en el marco de
trabajo scrum, el proyecto se divide en pequeñas partes que tienen que
completarse y entregarse en plazos cortos, llamados ‘sprints’. Así, en caso de
tener que modificar alguna cosa, solo se cambia la parte que queremos
cambiar.

VII.11.2. Modelo Waterfall (en cascada)

Es uno de los modelos de metodologías para el desarrollo de aplicaciones


móviles clásico. Esta aplicación sólo es adaptable cuando están totalmente
cerrados los requisitos y no van a cambiar. No hay retroalimentación entre las
fases en que se divide el proyecto. Por lo que cada fase se va cerrando de
forma secuencial. Todo el proceso está fijado por fechas límites y
presupuestos. Este modelo sólo es aconsejable para proyectos móviles muy
controlados y previsibles, no existe incertidumbre por lo que se quiere hacer ni
influyen los cambios en la industria.
VII.11.3. Desarrollo rápido de aplicaciones

Esta metodología da énfasis en la obtención de un prototipo funcional de una


aplicación para posteriormente ir mejorándolo. Después va incluyendo más
funcionalidades y complejidad. Es recomendable el uso de patrones de diseño
bien conocidos para adaptarse a los cambios de requisitos. Dentro de las
metodologías para el desarrollo de aplicaciones móviles se suele usar cuando
los plazos de entrega son muy cortos. Se precisa tener un entregable de
forma inmediata. 

VII.11.4. Mobile-D

El objetivo de esta metodología es conseguir ciclos de desarrollo muy rápidos


en equipos muy pequeños. Se basa en metodologías para el desarrollo de
aplicaciones móviles conocidas pero aplicadas de forma estricta como:
extreme programming, Crystal Methodologies y Rational Unified Process. 

Esta metodología cuenta con 5 fases importantes que se deben cumplir:

a) Fase exploración: Se centra la atención en la planificación y en los


conceptos básicos del proyecto.

b) Fase de iniciación: En esta fase es donde se configura el proyecto


identificando y preparando todos los recursos necesarios.

c) Fase de producto: En esta fase es donde se usa el desarrollo dirigido


(TDD), antes de iniciar el desarrollo de una funcionalidad. Con el fin de
determinar que debe existir una prueba que verifique su funcionamiento.

d) Fase de estabilización: En esta fase se realizan las acciones de


integración para enganchar los posibles módulos separados en una única
aplicación.

e) Fase de pruebas: Una vez parado totalmente el desarrollo se pasa una


fase de testeo hasta llegar a una versión estable según lo establecido en
las primeras fases establecidas por el cliente.

(KeepCoding, 2021)
VIII. MARCO DE REFERENCIA
La presente investigación se llevo a cabo con la población mexicana, donde se obtuvo
que 2, 437, 000 personas cuentan con deficiencia visual de diferentes edades. Sin
embargo, debido a la pandemia presente se limito la población, a una muestra donde se
llevo a cabo en el municipio de Celaya, Gto. Con estudiantes del Tecnológico de Celaya y
personas externas que cuentan con alguna deficiencia visual.
IX. DESARROLLO
IX.1. Cronograma
IX.2. Encuesta

La siguiente encuesta tiene como finalidad, recabar información acerca del uso de la
aplicación Text and Speech, con el fin de conocer la experiencia y opinión de los usuarios.

1. ¿Ha utilizado la aplicación?

a) Si
b) No

2. ¿La aplicación te ha permitido leer textos pequeños que a simple vista no se


ven?

a) Si
b) Algunas veces.
c) No

3. ¿La aplicación le ha ahorrado tiempo en la lectura de textos pequeños?

a) Si
b) Algunas veces.
c) No

4. ¿Con qué frecuencia has usado la aplicación?

a) 1 vez
b) De 2 a 5 veces
c) De 5 a 10 veces
d) Mas de 10 veces

5. De acuerdo con su perspectiva ¿Cómo calificaría la aplicación?


a) Buena
b) Regular
c) Mala
d) No funciona

Posteriormente se realizó un formulario para aplicar la encuesta a diferentes usuarios que


han interactuado con la aplicación.

Formulario de encuesta
IX.3. Plan de gráficas e interpretación de los resultados

Los datos visualmente atractivos ayudan a los responsables de la toma de decisiones a


adquirir conocimientos e identificar patrones. Es por ello que, de acuerdo a las preguntas
de la encuesta realizada, su mejor interpretación seria en una gráfica de barras.

Las gráficas circulares se utilizan para representar los datos brutos de la encuesta. Las
gráficas de encuesta circulares son más cómodas para representar una proporción de
clasificación diferente, así como para comparar varias clasificaciones.

Pregunta 1

De los resultados de la primera pregunta se puede concluir que 50 de 50 personas


utilizaron la aplicación, a una muestra de 50 personas que se le aplicó la encuesta.

Pregunta 2

De los resultados obtenidos de la pregunta 2, se puede determinar que a 42 personas les


permitió leer textos que a simple vista no se ven. Sin embargo 7 personas determinaron
que solo algunas veces les fue útil y que a 1 persona no le permitió la lectura. Sin
embargo, esto se debe a que existen algunas variantes. Dentro de las cuales se
encuentra que se debe tener un teléfono que cuente con una buena cámara, con un buen
procesador para la ejecución de la aplicación. Podemos concluir que la aplicación
funciona, pero sin embargo tendrá en ocasiones variantes que provocará un mal
funcionamiento de la aplicación.
Pregunta 3

Con respecto a los resultados obtenidos en la pregunta 3, se pudo determinar que a 40


personas que la aplicación les ahorro tiempo en la lectura de textos pequeños. Por otro
lado, se encuentran 5 personas que solamente en algunas ocasiones les ahorro tiempo y
a 5 personas definitivamente no les ahorro tiempo. Sin embargo, nuevamente se debe a
variantes que se pueden presentar dependiendo el celular de cada usuario. Ya que en
algunos celulares, la cámara no tiene un bien enfoque, no detecta las imágenes de
manera clara, etc. Por lo cual, se puede concluir que la aplicación cumple con su objetivo
principal, puesto que a la gran mayoría de las personas les ahorro tiempo en la lectura de
los textos pequeños.

Pregunta 4

De acuerdo con los resultados obtenidos en la pregunta 5, se puede determinar que, de la


muestra de 50 personas, el 80% ha utilizado la aplicación en más de 2 ocasiones. Por lo
que, en base a su experiencia de usuario, se concluye que la aplicación ha sido utilizada
por los usuarios obteniendo un resultado satisfactorio. Puesto que les ha permitido
reconocer textos pequeños para poder realizar la lectura correspondiente.
Pregunta 5

De acuerdo con los resultados obtenidos dentro de la pregunta 5, podemos determinar


que un 80% de los usuarios, categorizan la aplicación como buena, resultándoles
eficiente. Sin embargo, el 10% restante se divide en un 14% que la categorizan como
regular y el 6% restante la categorizan como mala. De modo que, debido a las variantes
presentes en algunos casos hace que los usuarios tengan unca calificación menos sobre
la aplicación.
IX.4. Determinación de la muestra

Según la sociedad mexicana de oftalmología, estima que en México hay 2 437 000
personas con deficiencia visual. (comunicacion noticias, 2020)

N = 2,437,000 - población total

Z = 1.65 - Intervalo de confianza (90%)

p= 50% - Probabilidad de que el evento ocurra

q= 50% - Probabilidad de que el evento no ocurra

e = 5% - Porcentaje de error

2437000*1.65*1.65*0.5*0.5
𝑛= 0.05*0.05*2436999+1.65*1.65*0.05*0.05

𝑛 = 272. 219

En base a la fórmula para la determinación de la muestra, se obtiene que se debe


considerar 272 usuarios. Sin embargo, debido a causas de la pandemia presente, la
muestra se reduce a un 18% de la muestra. Por lo cual se determina una muestra de 50
personas, entre ellas personas en general con deficiencias visuales.
X. Bibliografía

Casans, A. (2020). hiberus blog. Obtenido de


https://www.hiberus.com/crecemos-contigo/mejores-herramientas-de-desarrollo-de
-apps-movil/
comunicacion noticias. (2020). Obtenido de
https://comunicacionnoticias.diputados.gob.mx/comunicacion/index.php/mesa/decl
aran-el-15-de-octubre-dia-nacional-de-las-personas-ciegas-y-con-otras-discapacid
ades-visuales#gsc.tab=0
FamilyConnect. (2021). Obtenido de
https://familyconnect.org/tecnologia-de-asistencia/acceder-a-informacion-impresa/
Herazo, L. (2020). An incubator. Obtenido de
https://anincubator.com/que-es-una-aplicacion-movil/
KeepCoding. (2021). Obtenido de
https://keepcoding.io/aprender/herramientas-desarrollo-de-apps/
library. (2021). Obtenido de
https://1library.co/article/m%C3%A9todos-de-reconocimiento-de-caracteres.zpngx5
4y
Optica San Pedro. (2021). Obtenido de
https://opticasanpedro.com/deficit-o-deficiencia-visual-tipos-limitaciones-y-tratamie
nto/
sercopi. (2020). Obtenido de
https://www.sercopilevante.com/que-son-las-aplicaciones-ocr-y-que-beneficios-tien
en/
Signaturit. (2021). Obtenido de
https://blog.signaturit.com/es/ocr-que-es-el-reconocimiento-optico-de-caracteres
Softcorp. (2010). Obtenido de
https://servisoftcorp.com/definicion-y-como-funcionan-las-aplicaciones-moviles/
Spec Savers Opticas. (2021). Obtenido de
https://www.specsavers.es/ayuda-y-preguntas/%C2%BFqu%C3%A9-es-deficiencia
-visual
Syntonize. (2019). Obtenido de
https://www.syntonize.com/metodologias-desarrollo-de-aplicaciones-moviles/
Unitag. (2019). Obtenido de
https://www.unitag.io/es/mobile-websites/what-is-the-difference-between-a-mobile-
application-and-a-mobile-webpage
Universidad Pablo De Olavide. (s.f.). Obtenido de
https://www.upo.es/biblioteca/servicios/inst_equip/lab/materialesapoyo/manuales_h
ardware/escaner_ps5000c/pagina_17.htm
Wikipedia. (s.f.). Reconocimiento Optico de Caracteres. Obtenido de
https://es.wikipedia.org/wiki/Reconocimiento_%C3%B3ptico_de_caracteres
xataka. (2021). Obtenido de
https://www.xataka.com.mx/investigacion/crean-dispositivo-que-permitira-a-los-cieg
os-y-debiles-visuales-usar-internet

También podría gustarte