Vous êtes sur la page 1sur 38

DATOS GENERALES PROYECTO INTEGRADOR

Tipo de Proyecto Desarrollo Tecnológico

Título del Proyecto Desarrollo de aplicación móvil que ayude a los animales
en situación de peligro y sin hogar.
Áreas Línea de Desarrollo

1. Tecnologías de 1.1 Software Móvil


Información y 1.2 Base de datos
comunicación 1.3 Informática, computación y comunicación.

2. Estrategias de 2.1 Estrategias de comercialización y técnicas online.


comercialización y
técnicas online

AUTORES

No. Apellidos y Nombres


1 Cobos Rodriguez Josue Miguel
2 Delgado Santana Hugo Anthony
3 Peso Mera Kevin Alexander
4 Heredia Mera Brayan Sebastian

PROFESORES

No. Asignaturas Apellidos y Nombres


1 Proyecto Integrador I Arteaga Vera José Cristóbal
2 Programación Móvil Joffre Edgardo Panchana Flores
3 Ingeniería de Software Robert Wilfrido Moreria Centeno
4 Análisis y Diseño de Bases Elsa Patricia Vera Burgos
de Datos
1. GENERALIDADES

1.1. Resumen

Este proyecto describe el desarrollo de aplicaciones móviles en la


plataforma de “Android Studio” para consultar el catálogo de productos de
cualquier empresa. También presenta un análisis del mercado de la
industria comercial, los teléfonos inteligentes que usan y la mayoría de las
aplicaciones utilizadas por los usuarios, a fin de establecer la relación entre
la tecnología móvil y su uso en los segmentos del mercado de productos
varios. Además, se justifica las herramientas de desarrollo utilizadas y la
metodología Scrum.

En conclusión, esta aplicación ofrece un servicio eficaz al momento de


enviar información de algún anima en peligro a determina organización, la
cual recibirá parámetros tales como la ubicación, fotos una descripción del
animal y los datos de quien envía la información. Es una app muy útil para
los que están interesados en poder ayudar de una manera fácil y rápida.
Una estructura móvil que se conecta a una fuente de datos aplicando
procesos de extracción de datos para así generar las tablas de contenido
de los productos.
Se usaría una fuente de datos BD (cualquier origen), para consumir datos
que serán visualizados en la app móvil, lo importante es entregas una app
bien estructurada y con una presentación y funcionalidad óptima.
ABSTRACT

This project describes the development of mobile applications in the "Android


Studio" platform to consult the catalog of products of any company. We also
present a market analysis of the commercial industry, the smartphones they use
and most of the applications that are used for users, a year-end relationship in
the various products market. The development tools used and the Scrum
methodology are also justified.

In this sense, the application offers the service. The information refers to the
information. It is a very useful application for those who are interested in power
in an easy and fast way.
A mobile structure that connects to a data source Application of the data
extraction processes to generate the tables of contents of the products.
A BD data source (any origin) is used, for the consumption of data displayed in
the mobile application, the important thing is to deliver a well-structured
application with optimal presentation and functionality.
1.2. Introducción

A medida que la recesión se prolonga, más y más personas se enfrentan a


cambios de estilo de vida que nunca habría considerado antes. Algunos hogares
incluso encuentran necesario echar por la borda "uno de la familia", dejando las
mascotas que ya no pueden permitirse. Pero siempre ha habido abandono de
animales con o sin crisis y es un tema muy preocupante. Cada año, gente en
todo el mundo abandona millones de perros y gatos. Sin embargo, la moda ha
domesticado a otros animales, que se consideran exóticos, y que ahora están
aumentando su población considerablemente, lo que conlleva a que comiencen
a ser abandonados también. Esto ha resultado en protectoras especializadas en
estas especies, que se suman a los perros y a los gatos y de los que no se
poseen estadísticas aún. Por difícil que sea, los dueños deben tomar el tiempo y
la responsabilidad de hablar con alguien de uno-a-uno e intentar resolver el
problema.
2. DESCRIPCIÓN DEL ESCENARIO DE TRABAJO

2.1. Entidad/Institución de aplicación

Instituciones Caritativas: Es indispensable en este tipo de instituciones ya que


la app trabaja en torno a la ayuda de animales y los cuales serán vistos por la
institución y los clientes de una manera más rápida y a la mano en una plataforma
virtual que muestre los productos y sus actualizaciones.
Comunidad en general que desee obtener los servicios de la app: Animal
Help le mostrará al usuario una actualización de animales perdidos y en peligro,
además la capacidad de comunicar la perdida de alguno así tener llegar a mas
gente que podría haberlo encontrado.

3. PROBLEMATIZACIÓN

3.1. Planteamiento de problema.

La tenencia irresponsable, reproducción descontrolada, falta de


información entre otras razones han hecho que en ciertos lugares
del mundo la cantidad de perros y gatos que habitan en las calles
aumenten.
Hay personas deseosas de ayudar de alguna manera a los
animales en peligro, pero la falta de recursos o información de
cómo hacerlo disminuye el interés, al no existir ninguna aplicación
asociada directamente con un refugio en la Ciudad de Manta se
dificulta la comunicación y la agilidad con la que se lleva acabo
aquel proceso.
3.2. Delimitación del problema

 Delimitación espacial: El desarrollo de la App se le dará la solución en


la ciudad de Manta – Manabí – Ecuador.
 Delimitación temporal: La solución a la problemática se la realizará
dentro de un lapso de 4 meses aproximadamente.
 Delimitación del contenido: El aspecto específico se basa dentro en el
área de la educación, refiriéndose específicamente a las actividades
académicas del usuario, y así, mediante un recordatorio, ayudar a mejorar
el rendimiento académico del usuario.

4. OBJETIVOS

4.1. Objetivo general.

 Desarrollar una aplicación que permita transmitir información sobre


animales en peligro a un refugio

4.2. Objetivos específicos

 Desarrollar una interfaz que permita publicar y adquirir información sobre


animales en peligro
 Determinar requisitos técnicos de usuario

 Diseñar la infraestructura de una base de datos estable que genere tablas


de contenido.
 Desarrollar una app informativa cuya base de datos contenga catálogos
de productos, la cual será visible a la mano del refugio desde cualquier
dispositivo inteligente.
5. JUSTIFICACIÓN

EL presente proyecto de crear una app móvil surge de la necesidad de


aprendizaje tanto a nivel educativo como profesional. La app desarrollada en
este proyecto presenta una plataforma la cual generara una tabla de contenido
de productos varios para su comercialización.
Dicho proyecto de la aplicación móvil se enfoca en obtener información rápida y
al instante de un determinado producto para una determinada empresa, es por
ello que esta app brindará estos servicios de información detallada de los
productos de la empresa contratante de la app.
Enfocándonos en la necesidad de los usuarios en el mundo del comercio y
marketing, conlleva al desarrollo de esta app móvil la cual contara con una
plataforma fácil de usar y que interactúe con el usuario.
La app móvil será una aplicación en la cual contenga una base de datos con
tablas de contenido la cual a través de la extracción de datos de los productos
de la empresa, estos se hagan visibles al cliente y la actualización del stock se
realice de una manera automática.

6. RESULTADOS E IMPACTOS ESPERADOS

6.1.1. Aplicación móvil: Se encargará de administrar el catálogo de los


productos, mediante la selección de los productos de stock, los cuales se
almacenan en una base de datos, la cual contendrá todos los productos de la
empresa.

6.1.2. Base de datos: contendrá una cantidad determinada de productos, y con


la actualización se irá actualizando dicha base de datos incluyendo con el paso
del tiempo nuevos productos. En ella también se almacenara el registro de
usuario o cliente el cual tendrá acceso a esa lista de productos de la empresa.

6.2. Impactos Esperados


6.2.1. Impacto en la comunidad en general.
 Alcanzar nivel y espacio en el mercado en área de información
digital.
 Generar una interacción entre personas
 Satisfaccion de los usuarios mediante esta app
 Bases de datos compactas las cuales se actualicen
 Generar impacto a nivel de aplicación para los usuarios la cual será
muy útil al momento de la obtención de un producto.
 Presentación de la app en la feria de proyectos de fin de semestre
de la Facultad de Ciencias Informáticas de la ULEAM.

7. MARCO TEÓRICO REFERENCIAL

7.1. Android Studio

Android Studio es el entorno de desarrollo integrado (IDE) oficial para el


desarrollo de aplicaciones para Android y se basa en IntelliJ IDEA . Además del
potente editor de códigos y las herramientas para desarrolladores de IntelliJ,
Android Studio ofrece aún más funciones que aumentan tu productividad durante
la compilación de apps para Android, como las siguientes:

 Un sistema de compilación basado en Gradle flexible.


 Un emulador rápido con varias funciones.
 Un entorno unificado en el que puedes realizar desarrollos para todos los
dispositivos Android.
 Instant Run para aplicar cambios mientras tu app se ejecuta sin la necesidad de
compilar un nuevo APK.
 Integración de plantillas de código y GitHub para ayudarte a compilar funciones
comunes de las apps e importar ejemplos de código.
 Gran cantidad de herramientas y frameworks de prueba.
 Herramientas Lint para detectar problemas de rendimiento, usabilidad,
compatibilidad de versión, etc.
 Compatibilidad con C++ y NDK
 Soporte incorporado para Google Cloud Platform, lo que facilita la integración de
Google Cloud Messaging y App Engine.
7.1.1. Estructura del proyecto

Cada proyecto en Android Studio contiene uno o más módulos con archivos de
código fuente y archivos de recursos. Entre los tipos de módulos se incluyen los
siguientes:

 módulos de apps para Android


 módulos de bibliotecas
 módulos de Google App Engine

De manera predeterminada, Android Studio muestra los archivos de tu proyecto


en la vista de proyectos de Android, como se muestra en la figura 1. Esta vista
se organiza en módulos para proporcionar un rápido acceso a los archivos de
origen clave de tu proyecto.

Todos los archivos de compilación son visibles en el nivel superior


de Secuencias de comando de Gradle y cada módulo de la aplicación contiene
las siguientes carpetas:

 manifests: contiene el archivo AndroidManifest.xml.


 java: contiene los archivos de código fuente de Java, incluido el código de prueba
JUnit.
 res: Contiene todos los recursos, como diseños XML, cadenas de IU e imágenes
de mapa de bits.
7.1.2. Interfaz de usuario

La ventana principal de Android Studio consta de varias áreas lógicas que se


identifican en la figura 3.

1. La barra de herramientas te permite realizar una gran variedad de


acciones, como la ejecución de tu app y el inicio de herramientas de Android.
2. La barra de navegación te ayuda a explorar tu proyecto y abrir archivos
para editar. Proporciona una vista más compacta de la estructura visible en
la ventana Project.
3. La ventana del editor es el área donde puedes crear y modificar código.
Según el tipo de archivo actual, el editor puede cambiar. Por ejemplo,
cuando se visualiza un archivo de diseño, el editor muestra el editor de
diseño.
4. La barra de la ventana de herramientas se extiende alrededor de la parte
externa de la ventana del IDE y contiene los botones que te permiten
expandir o contraer ventanas de herramientas individuales.
5. Las ventanas de herramientas te permiten acceder a tareas específicas,
como la administración de proyectos, las búsquedas, los controles de
versión, etc. Puedes expandirlas y contraerlas.
6. En la barra de estado, se muestra el estado de tu proyecto y del IDE en sí,
como también cualquier advertencia o mensaje.

7.1.3. Sistema de compilación de Gradle


Android Studio usa Gradle como la base del sistema de compilación, con más
capacidades específicas de Android a través del complemento de Android para
Gradle. Este sistema de compilación se ejecuta en una herramienta integrada
desde el menú de Android Studio, y lo hace independientemente de la línea de
comandos. Puedes usar las funciones del sistema de compilación para lo
siguiente:
 Personalizar, configurar y extender el proceso de compilación;
 Crear múltiples APK para tu app, con diferentes funciones utilizando el
mismo proyecto y los mismos módulos;
 Volver a usar códigos y recursos entre conjuntos de archivos de origen.
Recurriendo a la flexibilidad de Gradle, puedes lograr todo esto sin modificar los
archivos de origen de tu app. Los archivos de compilación de Android Studio se
denominan build.gradle. Son archivos de texto sin formato que usan la sintaxis
Groovy para configurar la compilación con elementos proporcionados por el
complemento de Android para Gradle. Cada proyecto tiene un archivo de
compilación de nivel superior para todo el proyecto y archivos de compilación de
nivel de módulo independientes para cada módulo. Cuando importas un proyecto
existente, Android Studio genera automáticamente los archivos de compilación
necesarios.
7.1.4. Herramientas de depuración y perfil
Android Studio te ayuda a depurar y mejorar el rendimiento de tu código. Esto
incluye herramientas integradas de depuración y análisis de rendimiento.
Depuración integrada
Usa la depuración integrada para mejorar las revisiones de código en la vista del
depurador con verificación integrada de referencias, expresiones y valores de
variables. La información de depuración integrada incluye:
+valores de variables integradas; + objetos que hacen referencia a un objeto
seleccionado; + valores de retorno de métodos; + expresiones Lambda y de
operador; + valores de información sobre la herramienta.
Para habilitar la depuración integrada, en la ventana Debug, haz clic

en Settings y selecciona la casilla de verificación Show Values Inline.

Monitores de rendimiento
Android Studio proporciona monitores de rendimiento para que puedas realizar
de manera más sencilla un seguimiento del uso de CPU y memoria de tu app,
buscar objetos sin asignar, localizar pérdidas de memoria, optimizar el
rendimiento de los gráficos y analizar solicitudes de la red. Con tu app
ejecutándose en un dispositivo o emulador, abre la ventana de
herramientas Android Monitor y haz clic en la pestaña Monitors.
Para obtener más información sobre los monitores de rendimiento,
consulta Android Monitor.
Volcado de montón
Cuando controlas el uso de la memoria en Android Studio, puedes iniciar
simultáneamente la recolección de elementos no usados y volcar el montón de
Java a una captura instantánea del montón en un archivo de formato binario
HPROF específico de Android. El visor de HPROF muestra las clases, las
instancias de cada clase y un árbol de referencia para ayudarte a realizar el
seguimiento del uso de la memoria y encontrar fugas de memoria.
Para obtener más información acerca de cómo trabajar con volcados de montón,
consulta Volcado y análisis del montón de Java.
Seguimiento de asignaciones
Android Studio te permite realizar un seguimiento de la asignación de memoria
mientras controla el uso de esta. El seguimiento de la asignación de memoria te
permite controlar dónde se asignan los objetos cuando realizas ciertas acciones.
Conocer estas asignaciones te permite optimizar el rendimiento de tu app y el
uso de la memoria ajustando las llamadas del método relacionadas con las
acciones en cuestión.
Para obtener información acerca de cómo realizar un seguimiento y analizar
asignaciones, consulta Seguimiento de asignaciones.
Acceso a archivos de datos
Las herramientas del Android SDK, como Systrace, logcat y Traceview , generan
datos de rendimiento y depuración para un análisis detallado de la app.
Para ver los archivos de datos generados disponibles, abre la ventana de
herramientas Captures. En la lista de los archivos generados, haz doble clic en
uno para ver los datos. Haz clic con el botón secundario en cualquiera de los
archivos .hprof para convertirlos al formato de archivo .hprof estándar

7.2. Base de datos


Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden
almacenar datos de manera estructurada, con la menor redundancia posible.
Diferentes programas y diferentes usuarios deben poder utilizar estos datos. Por
lo tanto, el concepto de base de datos generalmente está relacionado con el
de red, ya que se debe poder compartir esta información. Generalmente se habla
de un "Sistema de información" para designar a la estructura global que incluye
todos los mecanismos para compartir datos.

Ilustración 1-Ejemplo de una base de datos

7.2.1. Administración de bases de datos

Rápidamente surgió la necesidad de contar con un sistema de administración


para controlar tanto los datos como los usuarios. La administración de bases de
datos se realiza con un Sistema de Gestión de Bases de Datos (SGBD) también
llamado DBMS (Database Management System). El DBMS es un conjunto de
servicios (aplicaciones de software) que permite a los distintos usuarios un fácil
acceso a la información y proporciona las herramientas para la manipulación de
los datos encontrados en la base (insertar, eliminar, editar).

El DBMS puede dividirse en tres subsistemas: el sistema de administración de


archivos, cuya función es almacenar la información en un medio físico; el DBMS
interno, que sirve para ubicar la información en orden.
7.2.2. Cuáles son los DBMS más utilizados

Los principales sistemas de gestión de bases de datos son los siguientes: Borlan
Paradox, Filemaker, IBM,DB2, Ingres, Interbase, Microsoft_SQL_server, Micros
oft Access, Microsoft FoxPro, Oracle, Sybase, MySQL, PostgreSQL, mSQL y
SQL Server 11.

7.2.3. Modelos de bases de datos

Existen diferentes maneras de ordenar y organizar la información para que este


sea accesible para nosotros. No existe el sistema de base de datos perfecto: hay
que elegir aquella estructura que mejor se adapte a nuestras necesidades. Los
siguientes son los tipos más comunes:
 Las bases de datos jerárquicas construyen una estructura de jerarquía
con los datos que permite una estructuración muy estable cuando
gestionamos una gran cantidad de datos muy interrelacionados.
 Las bases de datos en red derivan de las jerárquicas pero mejoran la
gestión de datos redundantes manteniendo su rendimiento en consultas
de datos.
 Las bases de datos transaccionales están diseñadas para el envío y
recepción de datos a grandes velocidades y de forma continua. Su único
fin es la recepción y envío de información pero la gestión de
almacenamiento o redundancia están fuera de su propósito.
 Las bases de datos relacionales son las más utilizadas en aplicaciones
reales. La información se almacena siempre haciendo referencia a otra
por lo que se facilita la gestión y su uso por personal no especialista. En
este modelo el lugar y la forma donde se guarde la información es
secundario.
 Las bases de datos orientadas a objetos han surgido como concepto
tras la aparición de los sistemas de programación orientada a objetos.
 Las bases de datos documentales están especializadas en el
almacenamiento de textos completos, por lo que facilitan el tratamiento
informatizado de grandes cadenas de caracteres.
7.3. FIREBASE

Firebase se trata de una plataforma móvil creada por Google, cuya principal
función es desarrollar y facilitar la creación de apps de elevada calidad de una
forma rápida, con el fin de que se pueda aumentar la base de usuarios y ganar
más dinero. La plataforma está subida en la nube y está disponible para
diferentes plataformas como iOS, Android y web. Contiene diversas funciones
para que cualquier desarrollador pueda combinar y adaptar la plataforma a
medida de sus necesidades.
Firebase se inició cuando Google la compró en 2014, y seguidamente la fue
mejorando mediante la compra del equipo de Divshot.

7.3.1. Principales características de Firebase

Desarrollo: Firebase permite la creación de mejores apps, minimizando el


tiempo de optimización y desarrollo, mediante diferentes funciones, entre las que
destacan la detección de errores y de testeo, que supone poder dar un salto de
calidad a la app. Poder almacenar todo en la nube, testear la app o poder
configurarla de manera remota, son características destacables de la plataforma.
Analitica: Tener un control máximo del rendimiento de la app mediante métricas
analíticas, todo desde un único panel y de forma gratuita, es una de las ventajas
que ofrece Firebase respecto a la analítica web. Los datos analíticos que facilita
Firebase, facilita la toma de decisiones basadas y fundamentadas en datos
reales.
Poder de crecimiento: Permite gestionar de manera fácil todos los usuarios de
las aplicaciones, con el añadido de que se pueden captar nuevos usuarios,
mediante invitaciones o notificaciones.
Monetización: Mediante AdMob, Firebase permite que puedas ganar dinero.
Rapidez: Implementar Firebase puede ser fácil y rápido, gracias a su API que es
muy intuitiva, sostenida en un solo SDK. Con Firebase puedes centrar tus
esfuerzos en resolver los problemas de tus clientes y así poder evitar la pérdida
de tiempo en la creación de una infraestructura compleja.
Agilidad: Firebase ofrece apps multiplataforma con unas APIs integradas a SDK
individuales para iOS, Android y Javascript, de tal forma que se puede gestionar
diferentes apps sin necesidad de salir de la propia plataforma.
A la hora de gestionar y aprender a usar la plataforma, Firebase ofrece
documentación diversa de muy buena calidad, mediante ejemplos, tutoriales y
documentación complementaria sobre todos sus usos.
7.3.2. ¿Qué servicios nos ofrece?

Veamos, uno por uno, los servicios más destacados que nos ofrece Firebase
para trabajar de una manera más sencilla en nuestra aplicación.

Base de datos Realtime


Con la base en tiempo real de Firebase podrás guardar todos los datos que
requiera tu aplicación. Se lleva muy bien con React y su patrón reactivo que
permite actualizar los datos en los componentes automágicamente. Los datos se
almacenan en formato JSON y se pueden agregar reglas para permitir requests
con token o solo desde una URL por ejemplo.

Autenticación
Es un servicio que nos simplifica el inicio de sesión y la gestión de la misma en
nuestra aplicación. Si la usamos en aplicaciones web es extremadamente fácil
de configurar, sobretodo si usamos el proveedor de Google, aun así si usamos
otros de los disponibles (Correo/Contraseña, Teléfono, Facebook, Twitter,
GitHub, Anónimo) también es muy fácil, sólo es un paso más en el caso de las
redes.

Almacenamiento
Este serivicio es muy bueno para aplicaciones que requieran guardar archivos
del usuario. También nos sirve si queremos subir estáticos ya que existe un
botón desde la interfaz o podemos programar algo. En mi caso lo he usado para
subir imágenes desde un formulario y no he tenido ningún tipo de problemas.
Como la base de datos, tiene reglas que podemos configurar.

Hosting
Este servicio es uno de mis favoritos. Con una colección de estáticos (o de
archivos que han pasado ya el proceso de build) podemos subir una aplicación
y esta automágicamente contará con SSL y HTTP2. Si tenemos una app con
Angular o Firebase podemos hacer un build desde nuestros ordenadores y subir
estos archivos generados y nos funcionarán sin problemas. Si necesitamos un
Backend tendríamos que subirlo a otro lugar o hacer uso de las Cloud Functions
.
Laboratorio de tests para Android
Los desarrolladores de Android se habrán planteado la encrucijada que produce
muchas veces a la hora de probar una aplicación. Existen múltiples modelos de
dispositivos con diferentes versiones y diseño del OS, así como diferentes
sensores. Este sericio nos ofrece la posibilidad de probar los tests de nuestra
aplicación en los entornos que configuremos (Dispositivo, versión del OS…).
Informes sobre fallos
Con esta utilidad podemos detectar los errores que aparezcan en nuestras
aplicaciones de iOS y Android así como poder erradicarlos a tiempo. Esta
herramienta próximamente dará paso a Crashlytics de Fabric, que se integrará
como una herramienta más. A día de hoy podemos usar ambos pero mi
recomendación es que uses Crashlytics pues es la herramienta que se instaurará
en el futuro.

Monitoreo de rendimiento
Esta herramienta te ayudará a medir el rendimiento de tu aplicación y el tiempo
que los usuarios pasan durante los diferentes procesos de la misma con el fin de
que puedas detectar problemas en el tiempo de carga y prevenirlos antes de que
causen cualquier otro tipo de problema o que los usuarios desinstalen tu
aplicación.

7.4. Definición de diagramas UML empleados

7.4.1. Diagramas de clase.

Un diagrama de clases sirve para visualizar las relaciones entre las clases que
involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y
de agregación, ya que una clase es una descripción de conjunto de objetos que
comparten los mismos atributos, operaciones, métodos, relaciones y semántica;
mostrando un conjunto de elementos que son estáticos, como las clases y tipos
junto con sus contenidos y relaciones. Un diagrama de clases está compuesto
por los siguientes elementos: Clase: atributos, métodos y visibilidad.
Relaciones: Herencia, Composición, Agregación, Asociación y Uso.
7.4.2. Diagrama de entidad-relación

Denominado por sus siglas como E-R. Este modelo representa a la realidad a
través de un esquema gráfico empleando la terminología de Entidades, que son
objetos que existen y son los elementos principales que se identifican en el
problema a resolver con el diagramado y se distinguen de otros por sus
características particulares denominadas Atributos.
El enlace que rige la unión de las entidades está representada por la relación del
modelo. En un DER, cada entidad se representa mediante un rectángulo, cada
relación mediante un rombo y cada dominio (conjunto donde toma valores el
atributo) mediante un círculo.
Mediante líneas se conectan las entidades con las relaciones, igual que las
entidades con los dominios, representando a los atributos.
7.5. Metodología Scrum

Scrum es un proceso en el que se aplican de manera regular un conjunto


de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el
mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras
y su selección tiene origen en un estudio de la manera de trabajar de equipos
altamente productivos.
En Scrum se realizan entregas parciales y regulares del producto final,
priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum
está especialmente indicado para proyectos en entornos complejos, donde se
necesita obtener resultados pronto, donde los requisitos son cambiantes o poco
definidos, donde la innovación, la competitividad, la flexibilidad y
la productividad son fundamentales.
Scrum también se utiliza para resolver situaciones en que no se está entregando
al cliente lo que necesita, cuando las entregas se alargan demasiado, los costes
se disparan o la calidad no es aceptable, cuando se necesita capacidad de
reacción ante la competencia, cuando la moral de los equipos es baja y la
rotación alta, cuando es necesario identificar y solucionar ineficiencias
sistemáticamente o cuando se quiere trabajar utilizando un proceso
especializado en el desarrollo de producto.

7.5.1. El proceso

En Scrum un proyecto se ejecuta en ciclos temporales cortos y de duración


fija (iteraciones que normalmente son de 2 semanas, aunque en algunos
equipos son de 3 y hasta 4 semanas, límite máximo de feedback de producto
real y reflexión). Cada iteración tiene que proporcionar un resultado completo, un
incremento de producto final que sea susceptible de ser entregado con el mínimo
esfuerzo al cliente cuando lo solicite.
El proceso parte de la lista de objetivos/requisitos priorizada del producto, que
actúa como plan del proyecto. En esta lista el cliente (Product Owner) prioriza
los objetivos balanceando el valor que le aportan respecto a su coste (que
el equipo estima considerando la Definición de Hecho) y quedan repartidos en
iteraciones y entregas.
Las actividades que se llevan a cabo en Scrum son las siguientes:

Planificación de la iteración
El primer día de la iteración se realiza la reunión de planificación de la iteración.
Tiene dos partes:

1. Selección de requisitos (4 horas máximo). El cliente presenta al equipo la lista


de requisitos priorizada del producto o proyecto. El equipo pregunta al cliente las
dudas que surgen y selecciona los requisitos más prioritarios que se compromete
a completar en la iteración, de manera que puedan ser entregados si el cliente
lo solicita.
2. Planificación de la iteración (4 horas máximo). El equipo elabora la lista de
tareas de la iteración necesarias para desarrollar los requisitos a que se ha
comprometido. La estimación de esfuerzo se hace de manera conjunta y los
miembros del equipo se auto asignan las tareas.

Ejecución de la iteración
Cada día el equipo realiza una reunión de sincronización (15 minutos
máximo), normalmente delante de un tablero físico o pizarra (Scrum Taskboard).
Cada miembro del equipo inspecciona el trabajo que el resto está realizando
(dependencias entre tareas, progreso hacia el objetivo de la iteración, obstáculos
que pueden impedir este objetivo) para poder hacer las adaptaciones necesarias
que permitan cumplir con el compromiso adquirido. En la reunión cada miembro
del equipo responde a tres preguntas:

 ¿Qué he hecho desde la última reunión de sincronización?


 ¿Qué voy a hacer a partir de este momento?
 ¿Qué impedimentos tengo o voy a tener?

Durante la iteración el Facilitador (Scrum Master) se encarga de que el equipo


pueda cumplir con su compromiso y de que no se merme su productividad.

 Elimina los obstáculos que el equipo no puede resolver por sí mismo.


 Protege al equipo de interrupciones externas que puedan afectar su compromiso
o su productividad.
Durante la iteración, el cliente junto con el equipo refinan la lista de requisitos
(para prepararlos para las siguientes iteraciones) y, si es necesario, cambian o
re-planifican los objetivos del proyecto para maximizar la utilidad de lo que se
desarrolla y el retorno de inversión.

Inspección y adaptación
El último día de la iteración se realiza la reunión de revisión de la iteración. Tiene
dos partes:

1. Demostración (4 horas máximo). El equipo presenta al cliente los requisitos


completados en la iteración, en forma de incremento de producto preparado para
ser entregado con el mínimo esfuerzo. En función de los resultados mostrados y
de los cambios que haya habido en el contexto del proyecto, el cliente realiza las
adaptaciones necesarias de manera objetiva, ya desde la primera iteración, re-
planificando el proyecto.
2. Retrospectiva (4 horas máximo). El equipo analiza cómo ha sido su manera de
trabajar y cuáles son los problemas que podrían impedirle progresar
adecuadamente, mejorando de manera continua su productividad. El Facilitador
se encargará de ir eliminando los obstáculos identificados.

7.6. Grafico de Gantt

El diagrama de Gantt es una herramienta para planificar y programar tareas a lo


largo de un período determinado. Gracias a una fácil y cómoda visualización de
las acciones previstas, permite realizar el seguimiento y control del progreso de
cada una de las etapas de un proyecto y, además, reproduce gráficamente las
tareas, su duración y secuencia, además del calendario general del proyecto.
Desarrollado por Henry Laurence Gantt a inicios del siglo XX, el diagrama se
muestra en un gráfico de barras horizontales ordenadas por actividades a
realizar en secuencias de tiempo concretas.
Las acciones entre sí quedan vinculadas por su posición en el cronograma. El
inicio de una tarea que depende de la conclusión de una acción previa se verá
representado con un enlace del tipo fin-inicio. También se reflejan aquellas cuyo
desarrollo transcurre de forma paralela y se puede asignar a cada actividad los
recursos que ésta necesita con el fin de controlar los costes y personal
requeridos.

7.6.1. Aportes del diagrama de Gantt a la gestión de proyectos


Para la gestión de proyectos, el Diagrama de Gantt se ha desvelado como un
método muy eficaz. Permite visualizar las actividades a realizar, la
interdependencia entre ellas y su planificación en el tiempo del proyecto.
Sus usos más frecuentes se vinculan a proyectos y planes de acción, procesos
de mejora e, incluso, resolución de problemas. En realidad, se puede utilizar
para planificar cualquier tipo de proceso simple, a ser posible de menos de
veinticinco tareas, y que esté definido temporalmente. En otras ocasiones se
emplea para fragmentar proyectos complejos en diferentes partes.

7.7. AnimalHelp en las tiendas de aplicaciones. Puntos fuertes y


debilidades de soluciones parecidas a la nuestra.

Se realizó la búsqueda de app similares a la nuestra y no se encontró ninguna


aplicación similar con la nuestra

8. METODOLOGÍA

8.1. Métodos y Técnicas de investigación

En este proyecto se hizo de las siguientes técnicas, que ayudaron a recopilar la


información sobre el problema del que se está hablando:

Fuente de información primaria


Es aquella información que se obtiene directamente de la realidad misma, sin
sufrir ningún proceso de elaboración previa. Son las que el investigador recoge
por sí mismo en contacto con la realidad.

 Observación: ésta técnica se aplicó para poder determinar cuál


debería ser el sector más apropiado en el cual el uso de la aplicación
móvil tenga un uso apropiado para asi dar un buen uso de la
aplicación.
8.2. Métodos de
desarrollo
tecnológico (Metodologías SCRUM, XP, etc)
Para el desarrollo del proyecto, se utilizó la metodología ágil Scrum, debido a que nos ayuda a tener resultados anticipados, un
alineamiento entre el cliente y el equipo de desarrollo, además tiene una gran utilidad para proyectos cortos.
 Historias de usuario: son pequeñas descripciones de los requerimientos de un cliente y explica las funciones del
sistema.
 Sprint Backlog: A continuación se describe el Sprint Backlog, utilizado para mostrar una lista de las tareas por cada
historia creada:

Tabla 8.2.2: Sprint Backlog (PmoInformática 2012).


Reuniones Scrum: Su fin es mejorar la gestión de equipos y aumentar la productividad en la realización de
proyectos conjuntos, a continuación, se detalla un resumen de estas reuniones:

Reunión 1
Información de la empresa y proyecto:

Empresa / Organización Universidad Laica Eloy Alfaro de Manabí


Proyecto APLICACIÓN MÓVIL QUE MUESTRA INFORMACIÓN
SOBRE LOS ANIMALES EN SITUACIÓN DE PELIGRO
Y SIN HOGAR.

Información de la reunión:

Lugar Casa de Hugo


Fecha 13 de noviembre de 2018
Número de iteración / sprint 1
Personas convocadas a la  Delgado Hugo
reunión  Pezo Kevin
 Heredia Sebastian
 Josue Cobos
Personas que asistieron a la
reunión  Delgado Hugo
 Pezo Kevin
 Heredia Sebastian
 Josue Cobos
Formulario de reunión Scrum

¿Qué salió bien en la iteración? ¿Qué no salió bien en la iteración? ¿Qué mejoras vamos a implementar en la próxima
(aciertos) (errores) iteración? (recomendaciones de mejora continua)

 Se lograron crear  Ningún error.  Cada uno de los integrantes tengan las
exitosamente las pantallas herramientas necesarias para poder tener un
para el login del usuario. avance más rápido según lo planeado.
 Se pudieron guardar los
datos para la nueva cuenta
en la aplicación
 Se cumplió con el inicio
sesión con la cuenta creada
desde la app.

Reunión 2
Información de la empresa y proyecto:

Empresa / Organización Universidad Laica Eloy Alfaro de Manabí


Proyecto Aplicación móvil para la creación de un catálogo de
productos.
Información de la reunión:

Lugar Casa de Jonathan


Fecha 02 de junio de 2018
Número de iteración / sprint 2
Personas convocadas a la  Delgado Hugo
reunión  Pezo Kevin
 Heredia Sebastian
 Josue Cobos
Personas que asistieron a la  Delgado Hugo
reunión  Pezo Kevin
 Heredia Sebastian
 Josue Cobos

Formulario de reunión Scrum

¿Qué salió bien en la iteración? ¿Qué no salió bien en la iteración? ¿Qué mejoras vamos a implementar en la próxima
(aciertos) (errores) iteración? (recomendaciones de mejora continua)

 Se creó la base de datos  Problemas al momento de  Aportar con un mayor número de ideas para
para la app. conectar la base de datos con así poder darle una rápida solución a los
la aplicación móvil. inconvenientes que se nos presenten
Reunión 3

Información de la empresa y proyecto:

Empresa / Organización Universidad Laica Eloy Alfaro de Manabí


Proyecto Aplicación móvil para la creación de un catálogo de
productos.

Información de la reunión:

Lugar Casa de Gilbert


Fecha 02 de junio de 2018
Número de iteración / sprint 3
Personas convocadas a la  Delgado Hugo
reunión  Pezo Kevin
 Heredia Sebastian
 Josue Cobos
Personas que asistieron a la  Delgado Hugo
reunión  Pezo Kevin
 Heredia Sebastian
 Josue Cobos
Formulario de reunión Scrum

¿Qué salió bien en la iteración? ¿Qué no salió bien en la iteración? ¿Qué mejoras vamos a implementar en la próxima
(aciertos) (errores) iteración? (recomendaciones de mejora continua)

 Se logró generar el código  Ningún error  Fin del Sprint.


requerido que permite a la
empresa añadir un nuevo
producto en la base de
datos.

 Se pudieron solucionar los


errores de la iteración
(Sprint) anterior.

 Se consiguió poder hacer


la actualización del
catálogo de productos en
la base de datos desde la
aplicación
9. RECURSOS (EQUIPO DESARROLLO)
9.1. Humanos
Datos personales

Nombres Delgado Santana Hugo Anthony


Documento de Identidad 1316713005
Género Femenino ☐ Masculino ☐
Mestizo/a ☐ Indígena ☐
Grupo étnico Afroecuatoriano/a ☐ Montubio/a ☐
Blanco/a ☐ Otro/a ☐

Carrera Ingeniería en sistemas


Nivel(es) Cuarto nivel
Teléfono 095 995 8897
Celular 095 995 8897
Correos electrónicos e1316713005@live.uleam.edu.ec

Nombres \ Cobos Rodrigez Josue Miguel


Documento de Identidad 1350996532
Género Femenino ☐ Masculino ☐
Mestizo/a ☐ Indígena ☐
Grupo étnico Afroecuatoriano/a ☐ Montubio/a ☐
Blanco/a ☐ Otro/a ☐

Carrera Ingeniería en sistemas


Nivel(es) Cuarto nivel
Teléfono 0985719974
Celular 0985719974
Correos electrónicos e1350996532@live.uleam.edu.ec
Nombres Pezo Mera Kevin Alexander
Documento de Identidad 1315259000
Género Femenino ☐ Masculino ☐
Mestizo/a ☐ Indígena ☐
Grupo étnico Afroecuatoriano/a ☐ Montubio/a ☐
Blanco/a ☐ Otro/a ☐

Carrera Ingeniería en sistemas


Nivel(es) Cuarto nivel
Teléfono 0999 200 8448
Celular 0999 200 8448
Correos electrónicos e1315259000@live.uleam.edu.ec

Nombres Heredia Mera Bryan Sebastian


Documento de Identidad 1350188494
Género Femenino ☐ Masculino ☐
Mestizo/a ☐ Indígena ☐
Grupo étnico Afroecuatoriano/a ☐ Montubio/a ☐
Blanco/a ☐ Otro/a ☐

Carrera Ingeniería en sistemas


Nivel(es) Cuarto nivel
Teléfono 095 974 8690
Celular 095 974 8690
Correos electrónicos e1350188494@live.uleam.edu.ec
9.2. Materiales

Entrevista: El documento está dirigido hacia las personas que requieren ayudar
de una u otra forma a los animales en peligro, con el fin de proporcionar
información que el proyecto requiere.
Entorno de desarrollo integrado (IDE): La herramienta que se utiliza para
desarrollar la aplicación móvil. El IDE utilizado es Android Studio.
Sistema gestor de base de datos (SGBD): la herramienta utilizada para la
creación de la base de datos que almacenará la información de la aplicación. El
SGBD utilizado es: Firebase database.

9.3. Equipamiento

Equipos tecnológicos: los integrantes del equipo desarrollaron la aplicación en


dispositivos móviles y portátiles, para realizar las respectivas pruebas de la
aplicación.

Software para el desarrollo: los miembros trabajaron con las herramientas de


desarrollo con el sistema operativo Windows 10/8.

10. CRONOGRAMA – PLAN DE TRABAJO


10.1. Gráfico Gantt

Objetivos Específicos Cómo: Métodos- Técnicas Resultados – Entregables


Instrumentos

Establecer los procedimientos Revisión libros, artículos, Obtención de los resultados


y técnicas para el desarrollo de bibliográfica, elaboración de requeridos de los productos
la aplicación. una entrevista. colocados en la aplicación por
parte del usuario.

Determinar los requerimientos Observación, El análisis Documentación de los requisitos


para la aplicación móvil a nivel sobre el levantamiento de de software y hardware para el
de hardware y software requisitos del proyecto. funcionamiento de la aplicación
incluyendo al grupo de trabajo. móvil.
Implementar la base de datos y IDE Entorno de desarrollo Documento con las
procesos para la gestión de la integrado. especificaciones del diseño de la
aplicación SGBD Sistema de gestión de aplicación móvil y sus funciones
base de datos. básicas.
Metodología ágil de
desarrollo.

Establecer los diferentes Aplicación móvil que muestra


Crear los diferentes módulos o interfaces que se necesitan animales en peligro y su
interfaces con que contará la en la aplicación respectiva descripción en la base
aplicación. de datos.
11. DESARROLLO
11.1.1. Documento de la determinación de los requerimientos
funcionales.
Requerimientos funcionales
 Deberá crear un registro de usuarios en la base de datos de la aplicación..
 Permitirá la publicación de animales en peligro en el catálogo.
 Deberá ser accesible a través de un usuario y contraseña.
 Mostrará una descripción a detalle de cada animal al seleccionarlo.

Requerimientos no funcionales

 Permitir el ingreso de producto al sistema, a través de un código generado


automáticamente.
 Estabilidad del sistema.
 Interfaz del sistema debe ser simple, intuitiva, fácil de usar y aprender.
 Las plataformas que utilizar serán Android Jelly o superior.
 El lenguaje de programación a utilizar será Java.

11.1.2. Documento de Diseño de la base de datos y de la


infraestructura tecnológica de la solución de la aplicación.
 Diagrama de clases.

 Diccionario de datos
DICCIONARIO DE DATOS
Entidad Atributo Tipo de dato PK/FK Descripción
Usuario Id Entero Primary Key No nulo
Nombre Cadena No nulo
Apellido Cadena No nulo
Correo Cadena No nulo
Clave Cadena No nulo
Edad Entero No nulo
Animal/Publicación Id Entero Primary Key No nulo
Titulo Cadena No nulo
Descripción Cadena No nulo
Ubicación cadena No nulo
Imagen Entero No nulo

12. Bibliografía
•Wolfram Group. (2015). WolframAlpha (Versión 1.3.0.5329519)
[Aplicación Móvil]. Descargado de:
https://play.google.com/store/apps/details?id=com.wolfram.android.alpha
• Steele, J., & To, N. (2011). The Android developer's cookbook. Upper
Saddle River, NJ: Addison-Wesley.
• Conder, S., & Darcey, L. (2011). Android wireless application
development. Upper Saddle River, NJ: Addison-Wesley.
• McWherter, J. and Gowell, S. (2012). Professional mobile application
development. Indianapolis: Wiley.

Vous aimerez peut-être aussi