Notas Módulo 2
Notas Módulo 2
Coordinación de la publicación
María Guadalupe Izquierdo Dyrzo
Autores
Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
Revisión técnica
Alejandro Talavera Rosales
Corrección de estilo
María Guadalupe Izquierdo Dyrzo
Diseño editorial
Lidia Angelina Castillo Peña
Editor
DR © Universidad Nacional Autónoma de México
Ciudad Universitaria, Coyoacán, CP. 04510, México, DF.
Todos los nombres propios de programas, sistemas operativos, equipos, hardware, etc. que aparecen en
estas notas son marcas registradas de sus respectivas compañías u organizaciones.
ISBN en trámite
Impreso y hecho en México
Módulo 2. Proceso de desarrollo móvil III
CONTENIDO
CONTENIDO ..................................................................................................................... III
MESOGRAFÍA ................................................................................................................... 48
Módulo 2. Proceso de desarrollo móvil 5
1
GENERALIDADES DEL
PROCESO DE DESARROLLO
DE APPS PARA MÓVILES
1
Alan M. Davis, Great Software Debates, Wiley-IEEE Computer Society Pr, 2004. ISBN: 978-0-471-67523-5.
6 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
El desarrollo de aplicaciones tampoco queda exenta de los mismos problemas que la ingeniería de
software, sino por el contrario, se requiere de prestar atención a nuevas áreas para su construcción
como la Experiencia de Usuario (UX), las políticas de los mercados de aplicaciones, los modelos de
negocio aplicables, e incluso, las nuevas capacidades que se agregan a los dispositivos.
En este módulo se presentará un proceso de desarrollo de aplicaciones para dispositivos
móviles, definido a partir de las experiencias obtenidas de equipos de desarrollo móvil tanto en
la UNAM como en instituciones privadas que actualmente atienden a este sector.
2
Apps para móviles, http://www.jappsoft.es/apps-para-moviles/
3
Asociación Española de Programadores Informáticos , http://www.asociacionaepi.es/soluciones-moviles/
8 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
Por su parte, la empresa mexicana tr3sco4 definió su proceso en los siguientes once pasos de
desarrollo:
4
El proceso de desarrollo de tr3sc,o http://www.tr3sco.com/process.html
Módulo 2. Proceso de desarrollo móvil 9
5
Fuggetta, A., “Il Processo Software, Aspetti strategici e organizzativi”, il Cardo editore in Venezia, 1995.
6
Clasificación presentada en el artículo ‘Diagramas de Procesos: Una extensión de diagramas de actividades de UML
para el modelado de procesos de software’ de Hanna Oktaba y Claudia Alquicira Esquivel.
7
Imagen tomada del artículo.
10 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
En los siguientes puntos se tratarán algunos de estos elementos de forma extensa para darles
su correcto contexto dentro del proceso a fin de comprenderlo mejor y poder emplearlo
correctamente en nuevos proyectos.
8
Artículo ‘Startup lessons Learned’ - Case Study: The Nordstrom Innovation Lab
(http://www.startuplessonslearned.com/2011/10/case-study-nordstrom-innovation-lab.html)
Módulo 2. Proceso de desarrollo móvil 11
Podemos concluir que un proceso definido contribuye tanto a la conformación del equipo de
trabajo como a su funcionamiento para alcanzar los objetivos de los proyectos que le son
asignados, ya que a cada integrante se le responsabiliza por la ejecución y seguimiento de una
o más actividades que le sean asignadas. Asimismo se puede tener el caso de que la
responsabilidad de una actividad se puede compartir entre varios roles.
Se hace hincapié en que los roles y su función depende de forma directa del proyecto, del
contexto de desarrollo y operación que se buscan.
9
El término producto se usará más que el de artefacto en lo que resta del trabajo
12 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
Traducido al desarrollo móvil, este tipo de aproximación tiene la ventaja de que al terminar
cada ciclo el producto resultante será cada vez una versión más completa de la aplicación a
construir.
Ahora bien, si en la especificación de la aplicación que va a desarrollarse debe consumir
información de sistemas externos, estos pueden requerir ser implementados, o en su caso,
adecuar dicho sistema a la par del desarrollo. Los productos derivados pueden ser varios, pero
no deben tratarse como ajenos al proyecto sino todo lo contrario.
Otra variante que se puede presentar durante un desarrollo móvil es cuando la aplicación que
se construye deberá de aprovechar las cualidades particulares de un dispositivo. En este
escenario se deberá evaluar la pertinencia del uso de estas cualidades para el desarrollo de la
aplicación. Esto va en el impacto en los recursos asignados y que pueden alterar el tiempo de
desarrollo, el costo total y la conformación final del equipo de trabajo. En este escenario es
común que las estimaciones de tiempo y demás recursos las realicen los miembros con mayor
dominio del proceso que se emplea.
Identificación
del
producto
Publicación
del
producto
Monetización
del
producto
Monitoreo
del
producto
Figura 8 – Vista general del proceso de desarrollo de aplicaciones para dispositivos móviles v1.0.
14 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
Cada una de las once fases del proceso se especializa en un conjunto de actividades específicas
a fin de abordar los aspectos más representativos que se presentan de forma común en el
desarrollo de la mayoría de las aplicaciones móviles.
Cabe señalar que al presente proceso se le debe de considerar como un modelo de
comparación, lo que significa que se debe adaptar y/o modificar con base en las necesidades y
contextos específicos del proyecto en que quiere adoptar como tal.
En el siguiente capítulo se presentarán a detalle las fases de este proceso.
Módulo 2. Proceso de desarrollo móvil 15
En el presente capítulo se describirán cada una de las fases que forman el proceso de desarrollo
definido hacia la creación de aplicaciones para dispositivos móviles. A fin de tener una mejor
comprensión de éstas, cada fase del proceso describirá los siguientes aspectos:
• Insumos.
• Objetivo.
• Roles participantes.
• Actividades.
• Productos finales.
Cada una de las fases tiene un Objetivo perfectamente establecido y su cumplimiento
representa un avance del proyecto en sí, mismo que es dirigido y a la vez medible.
Para iniciar cada fase se requiere contar con Insumos, mismos que se especifican y
representan aquellos productos que se emplean para la generación de otros. Aquellos
productos que se desarrollan para ser utilizados en otras fases o que representen la terminación
de la misma se denominan Productos finales.
Esta transformación de Insumo a Productos finales se lleva a largo de las distintas Actividades
que se han definido para esta fase. Es por ello que en cada fase se establecen también un
conjunto de Roles participantes que son los llevan a cabo dichas actividades.
Insumos
El insumo de esta fase está representado por alguno de los siguientes elementos:
• Solicitud de trabajo.
• Solicitud de cotización.
• Convocatoria de desarrollo de una aplicación.
16 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
Objetivo
Establecer el primer contacto a partir del interés en el desarrollo de una aplicación.
Roles participantes
Los roles participantes en esta fase son los siguientes:
• El representante del cliente.
• El representante del grupo de trabajo.
Actividades
Actividad Roles
Obtener los datos de contacto. § Representante del grupo de trabajo.
Definir la agenda de reuniones. § Representante del cliente.
§ Representante del grupo de trabajo.
Asistir a las reuniones programadas. § Representante del cliente.
§ Representante del grupo de trabajo.
Productos finales
El producto final de esta fase será la solicitud correspondiente.
Insumos
El insumo de esta fase es la solicitud de desarrollo obtenida de la fase Arranque del proyecto
móvil.
Objetivo
Identificar los alcances del proyecto de desarrollo que se pretende llevar a cabo.
Módulo 2. Proceso de desarrollo móvil 17
Roles participantes
Los roles participantes en esta fase son los siguientes:
• El representante del cliente.
• El representante del grupo de trabajo.
• El líder de proyecto.
• El equipo de trabajo.
Actividades
Actividad Roles
Definir el equipo de desarrollo. § Grupo de trabajo.
Identificar los requerimientos de § Representante del grupo de trabajo.
desarrollo. § Líder de proyecto.
Desarrollo de prototipos*. § Grupo de trabajo.
Signación de recursos. § Representante del cliente.
§ Representante del grupo de trabajo.
Aprobación del acta constitutiva del § Representante del cliente.
proyecto. § Representante del grupo de trabajo.
§ Líder de proyecto.
* Optativa.
Productos finales
El producto final será el acta de constitución del proyecto.
Insumos
El insumo de esta fase es el acta de constitución del proyecto.
Objetivo
Identificar todos los elementos gráficos que deben producirse para el proyecto, así como de las
especificaciones para la interacción del usuario con la aplicación.
Roles participantes
Los roles participantes en esta fase son los siguientes:
• El representante del cliente.
• El líder de proyecto.
• El diseñador gráfico.
• El experto en experiencia de usuario.
Actividades
Actividad Roles
Generar las propuestas gráficas. § Diseñador.
Agendar reuniones de seguimiento. § Líder de proyecto.
Aceptación de la propuesta de § Representante del cliente.
interfaces.
Presentación de la imagen corporativa § Representante del cliente.
del cliente.*
Generar la lista de recursos gráficos a § Diseñador gráfico.
producir.
Diseño los lineamientos para la § Experto en experiencia de usuario.
experiencia de usuario de la aplicación.
Aprobación. § Representante del cliente.
§ Representante del grupo de trabajo.
§ Líder de proyecto.
* Optativa.
Productos finales
Lista de elementos gráficos a producir.
Los puntos de calidad se pueden definir a partir de los estándares de calidad definidos por el
grupo de trabajo junto con aquellos definidos por los mercados de aplicaciones, así como
aquellos que establezca el cliente.
Insumos
El insumo de esta fase es el acta de constitución del proyecto para su cumplimiento.
Objetivo
Identificar los estándares de calidad aplicables a los productos que se construirán en el
proyecto.
Roles participantes
Los roles participantes en esta fase son los siguientes:
• El representante del cliente.
• El líder de proyecto.
• Administrador de calidad.
Actividades
Actividad Roles
Elaborar la propuesta de los puntos de § Administrador de calidad.
calidad por producto.
Presentar requerimientos de calidad § Representante del cliente.
para la aplicación.*
Aceptación de la propuesta de calidad. § Representante del cliente.
§ Líder de proyecto.
* Optativa.
Productos finales
Los productos finales son todos aquellos documentos que identifiquen los puntos de calidad
para los distintos artefactos que se desarrollen durante la vida del proyecto.
De igual forma se puede incluir cualquier tipo de documento que permita la mejor comprensión
de los componentes, módulos y sistemas en torno a una aplicación.
Por ejemplo, supongamos se tiene el caso de que la aplicación requiere consumir información
desde un sistema externo. Obviamente esto se debe representar tan claro como sea posible,
incluso para contribuir a la toma de decisiones en torno a los sistemas a construir o adaptar.
Esto implica que la modelación y diseño de todos los componentes debe resultar en su mejor
comprensión empleando óptimas representaciones tanto en funcionalidad como en su
integración con la aplicación.
Módulo 2. Proceso de desarrollo móvil 21
Insumos
El insumo de esta fase es el acta de constitución del proyecto.
Objetivo
Identificar los estándares de calidad aplicables a los productos que se construirán en el
proyecto.
Roles participantes
Los roles participantes en esta fase son los siguientes:
• El líder de proyecto.
• El desarrollador móvil.
Actividades
Actividad Roles
Definir la arquitectura de la aplicación. § Desarrollador móvil.
Elaborar y establecer los planes de § Líder de proyecto.
desarrollo de los productos de software. § Desarrollador móvil.
Productos finales
Los productos finales son todos aquellos documentos que identifiquen la arquitectura de la
aplicación así como de los demás componentes que son empleados para el funcionamiento de
la aplicación.
Insumos
Los productos finales de las siguientes fases:
• Diseño de Interfaces y experiencia de usuario.
• Definición de puntos de calidad del producto.
• Definición de la arquitectura del producto.
Objetivo
Contar con el sistema de consumo de datos para la aplicación a desarrollar.
Roles participantes
Los roles participantes en esta fase son los siguientes:
• El líder de proyecto.
• El desarrollador móvil.
• El desarrollador de sistemas.
Actividades
Actividad Roles
Identificación de las modificaciones del § Líder de proyecto.
sistema. § Desarrollador del sistema.
§ Desarrollador móvil.
Solicitar las modificaciones del sistema. § Líder de proyecto.
§ Desarrollador móvil.
Realizar los ajustes del sistema. § Desarrollador del sistema.
Generar la documentación del sistema § Desarrollador del sistema.
Productos finales
Los productos finales de esta fase los siguientes:
• Solicitudes de cambio, si aplican.
• Sistema de información adecuado al consumo de datos requeridos por la aplicación.
Módulo 2. Proceso de desarrollo móvil 23
Insumos
Los insumos de esta fase corresponden a los productos finales de las siguientes fases:
• Diseño de Interfaces y experiencia de usuario.
• Definición de puntos de calidad del producto.
• Definición de la arquitectura del producto.
En el caso de consumir datos desde un sistema externo, se incluyen los siguientes documentos:
• Especificación del consumo de datos desde el sistema.
Objetivo
Crear la aplicación solicitada con base en el análisis realizado por el equipo de trabajo en su
conjunto, cumpliendo con los puntos de calidad definidos e integrando las condiciones de
operación que se esperan de ésta.
Roles participantes
Los roles participantes en esta fase son los siguientes:
• El líder de proyecto.
• El desarrollador móvil.
• El diseñador gráfico.
• El experto en Experiencia de Usuario.
Actividades
Actividad Roles
Desarrollo de los productos del proyecto. § El líder de proyecto.
§ El desarrollador móvil.
§ El diseñador gráfico.
§ El experto en Experiencia de Usuario.
Desarrollo de la aplicación. § El líder de proyecto.
§ El desarrollador móvil.
§ El diseñador gráfico.
§ El experto en Experiencia de Usuario.
24 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
Productos finales
Los productos finales de esta fase son los siguientes:
• Los productos definidos en el proyecto.
• La aplicación funcional.
Insumos
El insumo de esta fase corresponde a la aplicación desarrollada por el equipo de trabajo en la
fase Construcción del producto.
Objetivo
Obtener la certificación del mercado correspondiente de la aplicación para su publicación.
Roles participantes
Los roles participantes en esta fase son los siguientes:
• El líder de proyecto.
• El desarrollador móvil.
• El diseñador gráfico.
• El experto en Experiencia de Usuario.
Módulo 2. Proceso de desarrollo móvil 25
Actividades
Actividad Roles
Envío de la aplicación para su § El líder de proyecto o el cliente, según el
certificación. caso.
Modificaciones de la aplicación. § El líder de proyecto.
§ El desarrollador móvil.
§ El diseñador gráfico.
§ El experto en Experiencia de Usuario.
Productos finales
Los productos finales de esta fase son los siguientes:
• La aplicación aprobada para su publicación.
Insumos
El insumo de esta fase corresponde a la aplicación desarrollada por el equipo de trabajo en la
fase Construcción del producto.
Objetivo
Obtener la certificación del mercado correspondiente de la aplicación para su publicación.
Roles participantes
Los roles participantes en esta fase son los siguientes:
• El cliente.
• El líder de proyecto.
Actividades
Actividad Roles
Publicación de la aplicación en el § En esta actividad puede ser desarrollada
mercado de aplicaciones. por cualquiera de los roles. Todo depende
de quién cuente con los elementos para
ello.
Productos finales
Los productos finales de esta fase son los siguientes:
• La aplicación publicada en el mercado de aplicaciones.
26 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
Si bien el modelo elegido queda definido, éste puede ser modificado a lo largo del tiempo, por
lo que se podrá ajustar según se requiera y bajo los lineamientos del mercado.
Otro importante elemento a tomar en cuenta son los comentarios que los usuarios comparten
por medio del mercado junto con una calificación que asignan a la aplicación. La Figura 13
muestra un ejemplo de los comentarios vertidos a una aplicación.
10
Para mayor referencia acerca de los reportes e indicadores de Apple con relación a la venta de aplicaciones, se
recomienda al lector consultar el documento ‘iTunes Connect - Sales and Trends Guide: App Store‘ localizado
en http://www.apple.com/itunesnews/docs/AppStoreReportingInstructions.pdf
Módulo 2. Proceso de desarrollo móvil 27
Hay que tomar en cuenta que la mayoría de las veces los comentarios describen las
experiencias de los usuarios al usar sus aplicaciones sin ninguna censura evidente. El problema
que conlleva esto es que se debe analizar cuáles tienen que ser atendidas, o en su caso,
representan una tendencia que deba ser considerada.
Insumos
El insumo de esta fase corresponde a cualquiera de los siguientes:
• Reportes sobre las ventas de la aplicación.
• Reportes de uso de la aplicación.
• Análisis de los comentarios registrados en los mercados.
• Análisis de los datos obtenidos directamente desde la aplicación.
Objetivo
Verificar que el modelo de negocios adoptado para la aplicación obtiene los resultados
esperados.
Roles participantes
Los roles participantes en esta fase son los siguientes:
• El cliente.
• El líder de proyecto.
Actividades
Actividad Roles
Análisis de los reportes obtenidos para § En esta actividad puede ser desarrollada
la aplicación. por cualquiera de los roles.
28 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
Productos finales
El producto final de esta fase es el documento de análisis de reportes que sobre la aplicación se
hayan obtenido para validar el modelo de negocio empleado.
Insumos
El insumo de esta fase corresponde a cualquiera de los siguientes:
• Reportes sobre las ventas de la aplicación.
• Reportes de uso de la aplicación.
• Análisis de los comentarios registrados en los mercados.
• Análisis de los datos obtenidos directamente desde la aplicación.
• Solicitud de cambio en la funcionalidad de la aplicación.
• Solicitud de cambio del modelo de negocio.
Objetivo
Evaluar los resultados obtenidos por la aplicación para en su caso crear una nueva versión de
ésta o lanzar un nuevo proyecto.
Roles participantes
Los roles participantes en esta fase son los siguientes:
• El cliente.
• El líder de proyecto.
Actividades
Actividad Roles
Análisis de los reportes y solicitudes § Esta actividad puede ser desarrollada por
obtenidos por parte de la aplicación. cualquiera de los roles.
Productos finales
El producto final de esta fase es el dictamen donde se presenta el comportamiento de la
aplicación, indicando además la pertinencia o no de una nueva versión y/o cambio en el modelo
de negocios.
Módulo 2. Proceso de desarrollo móvil 29
Como lo indica la Dra. Hanna Oktaba en su artículo ‘Los modelos no tienen la culpa’11, en la
actualidad nos encontramos invadidos por una amplia variedad de modelos, estándares y
certificaciones para el desarrollo de proyectos de software.
Así mismo, podemos citar casos como el del Nordstrom Innovation Lab, donde se puede
apreciar a un equipo de desarrollo de aplicaciones móviles bien organizado y perfectamente
coordinado para atender un proyecto. Incluso puede presumir el empleo de métodos ágiles en
la construcción de una aplicación12 móvil.
Pero a pesar de todos estos ejemplos que resultan motivantes, el problema de elegir un
esquema de trabajo o la adopción de un proceso de desarrollo, resultará en una tarea poco
trivial y con muchos retos asociados.
Lo anterior se debe a que si bien cualquiera que sea el proceso que deseamos adoptar, el factor
humano es muy determinante en el éxito o fracaso de esta empresa.
A fin de encontrar claridad en un ambiente lleno de retos y de cambios, los puntos más
relevantes que debemos tener siempre en mente para la selección de cualquier proceso son los
siguientes:
• Comprender que un proceso debe ser entendido en su contexto general de aplicación.
• Identificar los criterios de selección del grupo de desarrollo.
• Adoptar un proceso significa cambiar las formas en que se vienen haciendo las cosas y el
inicio puede ser desmotivador.
Pero no se debe caer en el error de considerar que la elección de un proceso o modelo de
desarrollo significa que el proyecto marchará sin problemas mayores. Por el contrario, un
proceso o modelo de desarrollo por sí mismo define un contexto propio y no necesariamente se
adapta al entorno donde se pretende aprovecharlo.
De los factores más relevantes que se deben considerar en su conjunto para el desarrollo de un
proyecto móvil están los siguientes:
• La selección de los integrantes del equipo de desarrollo.
• La selección de la metodología a seguir.
• Desarrollo de las habilidades según la plataforma de la aplicación.
11
El artículo se puede consultar en la siguiente dirección: http://sg.com.mx/revista/42/los-modelos-no-tienen-la-
culpa#.U-j7DvldXdo
12
Caso de estudio, la construcción de una aplicación de Nordstrom Innovation Lab
(http://www.youtube.com/watch?v=szr0ezLyQHY)
30 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
• Administración de la configuración.
• Selección y adaptación de las herramientas de desarrollo.
Cada uno de estos se explicará en los siguientes temas.
Figura 14 – Sitio de la empresa tr3sco indicando el empleo de Scrum en sus procesos de desarrollo
los procesos empleados para la construcción de aplicaciones, los más afectados serán aquellos
relacionados con el aseguramiento de la calidad, ya que deben cumplir con los requerimientos
no solo propios del grupo de desarrollo sino además del mercado.
Además, Apple condiciona la instalación de aplicaciones en sus dispositivos físicos a la
inscripción en su programa de desarrolladores. Lo anterior incluso a nivel de depuración y
pruebas. En este sentido Apple sugiere también un proceso y la conformación básica de un
equipo de desarrollo de aplicaciones para su plataforma móvil. Las Figuras 15 y 16 muestran
estas propuestas13.
13
Fuente: Guía para acelerar el desarrollo de apps internas (https://www.apple.com/mx/iphone/business/docs/In-
house_App_Accelerator_Guide.pdf)
Módulo 2. Proceso de desarrollo móvil 33
En el caso de Android, Google Play viene a ser el mercado de aplicaciones natural para la
publicación de las mismas14. Al ser Android una plataforma abierta se debe de considerar que
hay una gran cantidad de dispositivos donde cada uno de ellos cuenta con especificaciones
propias. Por ejemplo, las dimensiones de las pantallas vienen en una gran cantidad de tamaños
y resoluciones. La Figura 17 muestra los tamaños y grados de resoluciones generales de los
dispositivos con sistema operativo Android15.
Esta condición obliga a que los equipos de desarrollo incorporen mayores controles de calidad
para la evaluación de las interfaces gráficas de usuario. Google también ofrece su guía de
desarrollo16 donde establece criterios generales para el desarrollo de interface más que
condiciones estrictas para la aprobación.
Figura 18 – Detalle de los criterios técnicos para el uso de Fragments17 para Android.
14
Cabe señalar que en la plataforma Android, las aplicaciones pueden ser publicadas en otros mercados ajenos a
Google Play, se tiene el ejemplo del mercado de aplicaciones de Samsung (http://apps.samsung.com/).
15
Fuente: Supporting Multiple Screens (http://developer.android.com/guide/practices/screens_support.html).
16
Esta guía puede consultarse en http://developer.android.com/guide/practices/tablets-and-handsets.html.
17
Los fragments en Andriod son componentes gráficos y abstractos que permiten una nueva forma de construcción
de interfaces. Para mayor referencia se sugiere al lector consultar la siguiente referencia:
http://developer.android.com/guide/components/fragments.html
34 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
Con base en estas diferencias, los grupos de desarrollo tienden a estructurar sus equipos de
trabajo para conformarlos por plataforma, es decir, integran equipos altamente especializados
en cada plataforma para las cuales desarrolla.
18
Apache Subversión o SVN es un software para el control de versiones gratuito. Para mayor información se
recomienda al lector consultar la siguiente página: http://subversion.apache.org/
19
GitHub es un software de control de versiones. Para mayor información se recomienda al lector consultar la
siguiente página: https://github.com/Hispano/Guia-sobre-Git-Github-y-Metodologia-de-Desarrollo-de-Software-
usando-Git-y-Github.
36 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
Proyecto
en
línea
Organización
Equipo
propietario
Colaborador
1 Colaborador
2
Miembros
Repositorios Repositorios
Miembros Miembros
Colaborador
4 Colaborador
3
Repositorios Repositorios
En muchos casos las herramientas de desarrollo para aplicaciones móviles ya cuentan con las
opciones de configuración de repositorios para el control de versiones, apoyando con estas
tareas a los proyectos que se desarrollan.
Cada vez más aparecen nuevas herramientas de esta área y ahora tratan de aprovechar los
conceptos de cómputo en la nube para ello, como el caso del servicio Bitbucket21 donde se
puede llevar a cabo las operaciones de control de versiones.
Aun así, es importante que los grupos de desarrollo definan sus procedimientos de apoyo a las
labores de la Administración de la configuración para todo proyecto, además de ponerlas en
práctica y adecuarlas según requieran los equipos de trabajo y hacerlas parte de su disciplina
profesional.
20
Fuente: http://jkbdev.files.wordpress.com/2013/12/screen-shot-2013-12-22-at-10-44-07-pm.png
21
Para mayor información de este servicio se sugiere consultar el sitio oficial de Bitbucket: https://bitbucket.org/
38 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
Herramientas de monitoreo
En este rubro se ubican las herramientas que permiten el monitoreo de la aplicación a partir de
su interacción con el usuario. Esto puede permitir un proceso para el análisis del
comportamiento del usuario de forma clara y precisa. Según la herramienta se pueden obtener
informes sobre los módulos usados y de aquellos que son poco frecuentados en la aplicación.
La siguiente tabla presenta algunas herramientas para este fin.
El uso de este tipo de herramientas se debe apegar a las condiciones que estipulan los
mercados de aplicaciones sobre el uso de datos del usuario y su monitoreo.
Herramientas de gestión
Este rubro lo componen las herramientas que apoyan las actividades de la gestión de proyectos,
esto es, software desarrollador para atender algunos de los siguientes aspectos de un proyecto:
• La planificación de proyectos.
• El monitoreo y control del presupuesto.
• Colaboración y/o comunicación.
• Aseguramiento de la calidad.
• Gestión del software.
La siguiente tabla presenta algunas herramientas de este grupo.
22
Los Hitos ( en inglés Milestones), son eventos significativos a lo largo de un proyecto, que resaltan momentos
importantes en un proyecto, que por lo general se asocia con la entrega de un producto.
Módulo 2. Proceso de desarrollo móvil 41
4 SEGUIMIENTO DEL
PROYECTO
Para dar seguimiento a un proyecto de software como el que se plantea, se requiere entre otras
cosas identificar los distintos grupos de acciones que se llevan a cabo. Con base en el trabajo
‘Procesos en el desarrollo de Aplicaciones Móviles’23 de Ian Moisés Rangel Barragán, en el cual
propone un modelo de procesos especializados en el desarrollo móvil. Los tres procesos que se
identifican para el desarrollo móvil son los siguientes:
• Proceso de Administración del Proyecto.
• Proceso de Implementación del Software.
• Proceso de Mantenimiento del Software.
Además de otras actividades complementarias.
En las siguientes secciones se presentarán brevemente cada uno de estos procesos.
23
Para consultar el trabajo de Rangel se recomienda al lector la siguiente liga:
http://132.248.9.195/ptd2013/abril/300218002/Index.html
24
Definido en el documento ISO/IEC TR 29110-5-1-2 Management and engineering guide: Generic profile group:
Basic profile, http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=51153
Módulo 2. Proceso de desarrollo móvil 43
Planteamiento
Generación
del
problema
de
la
Idea
principal
Descripción
d el
Investigación
trabajo
a
realizar Preliminar
Minutas
Ejecución
del
p lan
del
proyecto
Evaluación
y
control
del
proyecto
Plan
de
liberación
Cierre
del
proyecto
Configuración
del
software Lecciones
aprendidas
Documento
de
aceptación
Mejoras
Plan
del
proyecto
Descripción
del
trabajo
Listas
de
validación Análisis
d e
Especificación
de
requerimientos
Requerimientos
d e
Software
Listas
de
verificación Descripción
de
la
Arquitectura
de
Software
Arquitectura
y
Diseño
Detallado
d el
Descripción
General/
Diseño
G eneral
Detallado
del
Software Particular
de
la
UI
Software
Casos/Escenarios
de
pruebas
Generales/Pasrticulares
para
integración,
usabilidad
y
Componentes
de
tienda
Software
Reporte
de
pruebas
Integración
y
Pruebas
d el
Software
Software
Configuración
de
Software
Listas
de
validación
Entrega
de
productos
Manual
de
Usuario
Descripción
del
trabajo
Planificación
del
Acuerdo
de
mantenimiento
Proceso
Configuración
del
Software
Protocolo
d e
Petición
de
Modificación
Petición
de
Modificación
Elementos
a
Acciones
de
Modificar Modificación
Configuración
del
Software
(Modificada)
Software
Reemplazo
del
actualizado Software
Documento
de
Finalización
d el
Terminado
de
Manteninmiento Mantenimiento
25
IEEE Standard 1219-1993
46 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
En este proyecto existen otras actividades que deberán incluirse de las cuales se listan las
siguientes:
• Pruebas de la aplicación con los lectores de NFC.
• Monitoreo del proceso de registro de usuarios.
• Validar la seguridad de la aplicación.
26
NFC – Near Field Communication, es una tecnología de comunicación de dispositivos de corto alcance (4-10 cm).
Para mayor referencia se sugiere al lector consultar el documento: Introduction to NFC
(http://www.adafruit.com/datasheets/Introduction_to_NFC_v1_0_en.pdf)
Módulo 2. Proceso de desarrollo móvil 47
Así mismo, se puede concluir que el equipo encargado del desarrollo de la aplicación deberá
incluir nuevos perfiles, ya que la tecnología que se emplea es específica y pueden producirse
errores entre los distintos dispositivos físicos que forman parte del sistema en su totalidad.
Lo anterior también impactará en los procesos que se han descrito, por lo que se tendrá que
adaptar al contexto del proyecto, a fin de garantizar que al terminar el desarrollo se habrá
construido la aplicación que se buscaba producir.
48 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
MESOGRAFÍA
Libros
• Tesis ‘Procesos en el desarrollo de aplicaciones para dispositivos móviles’
Ian Moisés Rangel Villagrán. Abril, 2013, Posgrado en Ciencia e Ingeniería de la
Computación, UNAM.
• The Agile Samurai: How Agile Masters Deliver Great Software
Jonathan Rasmusson, 2010, Pragmatic Bookshelf
Introducción
• http://www.marketingdirecto.com/especiales/mobile-marketing-blog/si-2011-fue-el-ano-
del-consumidor-movil-2012-sera-el-ano-del-valor/ (Julio, 2010)
• http://keremkosaner.wordpress.com/2008/03/10/comic-software-development-process/
• http://www.jappsoft.es/apps-para-moviles/ (Julio, 2010)
• http://www.asociacionaepi.es/soluciones-moviles/ (Julio, 2010)
• http://sg.com.mx/content/view/23 (Julio, 2010)
• http://arminluer.cl/archivos/7moSemestre/IngSoft/Lecturas/02%20ExtensionesUMLparaP
rocesos.pdf (Agosto, 2010)
• http://isescom.blogspot.mx/2013/08/desarrollo-en-cascada-vs-desarrollo.html (Julio,
2010)
• http://www.startuplessonslearned.com/2011/10/case-study-nordstrom-innovation-
lab.html (Julio, 2010)
• http://joshuaseiden.com/blog/2013/04/nordstrom-what-happened-next/ (Agosto, 2010)
• http://spanishpmo.com/index.php/que-es-un-milestone-o-hito/ (Julio, 2010)
UML
• http://www.monografias.com/trabajos28/proyecto-uml/proyecto-uml.shtml
(Agosto, 2010)
Módulo 2. Proceso de desarrollo móvil 49
NFC
• http://www.hidglobal.com/press-releases/hid-global-completes-worlds-first-series-nfc-
enabled-smartphone-pilots-open-doors-in (Agosto, 2010)
• http://www.hidglobal.com/sites/hidglobal.com/files/press_release/product_photos/hid-
netflix-unlock.jpg (Agosto, 2010)
Administración de la configuración
• http://asprotech.blogspot.mx/2009/06/administracion-de-la-configuracion.html
(Julio, 2010)
Github
• http://www.anchor.com.au/blog/2009/09/github-designing-success/ (Julio, 2010)
Herramientas
• http://cioperu.pe/fotoreportaje/13910/diez-herramientas-de-desarrollo-movil-que-estan-
a-la-vanguardia/ (Agosto, 2010)
• http://www.doonamisapps.com/app-development-strategies/ (Agosto, 2010)
• http://thenextweb.com/dd/2013/08/11/9-tools-to-help-you-measure-mobile-analytics/
IMGS
• http://www.marketingdirecto.com/wp-content/uploads/2012/02/movil-desarrollo.jpg
(Julio, 2010)
• http://keremkosaner.files.wordpress.com/2008/04/softwaredevelopment.gif (Julio, 2010)
• http://www.jappsoft.es/wp-content/uploads/2013/04/proceso-desarrollo-apps.jpg
(Julio, 2010)
• http://www.asociacionaepi.es/wp-content/uploads/2014/06/proceso_creacion_app2.jpg
(Julio, 2010)
• http://3.bp.blogspot.com/-fwY-x5e5GTg/Uhad3GFsC0I/AAAAAAAAAB0/-
t1nr3Eu45s/s1600/FasesIterativoIncremental.jpg (Julio, 2010)
• http://developer.android.com/images/fundamentals/fragments.png (Julio, 2010)
• http://r1.securityinfowatch.com/files/cygnus/image/SIW/2012/OCT/600x400/cell-with-
ad-series_10820980.jpg (Julio, 2010)
• http://3.bp.blogspot.com/_vCw4-
D_lqO4/SjaDOVexa9I/AAAAAAAAANc/dwt6yOwyugA/s1600-h/Presentaci%C3%B3n1.jpg
(Julio, 2010)
• http://buildonlinewealth.com/wp -content/uploads/2011/08/Search-Engines-Tutorial.png
(Agosto, 2010)
• https://www.anchor.com.au/wp-content/uploads/2009/09/GitHubStorageDist_Small.png
(Agosto, 2010)
50 Miguel Ángel Contreras Aguilar y Alejandro Talavera Rosales
Agosto, 2014
Módulo 2. Proceso de desarrollo móvil 51