Académique Documents
Professionnel Documents
Culture Documents
Resumen
El artculo presenta la aplicacin del ciclo de vida del software en el desarrollo de aplicaciones para dispositivos
mviles, teniendo muy en cuenta las diferencias existentes cuando el desarrollo se hace pensando en
aplicaciones cliente-servidor o inclusive en aplicaciones web. Se describe en cada etapa del ciclo de vida el
proceso que se debe seguir a partir de la concesin de una construccin mvil.
Palabras claves: dispositivos mviles, ciclo de vida del software, desarrollo de software.
Abstract
This paper shows the application of software lifecycle in the development of applications for mobile devices,
considering the differences when development is intended for client-server and/or web applications. The
process to be followed, after a mobile construction being granted, is described for each stage of the lifecycle.
Keywords: Mobile devices, software life cycle, software development.
27
Introduccin
El desarrollo de software requiere de un proceso planeado y estandarizado si se quiere generar productos
de alta calidad, tanto en su documentacin como en
su aplicativo final. Para ello existen varios mtodos
de ingeniera de software que establecen un conjunto
de entregables con el nimo de dar una trazabilidad
al producto, y asegurar que pueda ser interpretado,
actualizado y adaptado fcilmente por los usuarios
finales. Los mtodos de ingeniera de software RUP
(Kruchten, 1999), CDM (Oracle 2000), FDD
(Coad y Lefebvre, 1999), XP (Beck, 2000) y UNMtodo (Zapata et al., 2006) fueron concebidos para
el desarrollo de aplicaciones cliente-servidor, sin tener
muy en cuenta el avance de los diferentes ambientes
de desarrollo mvil y web, los cuales requieren un
sinnmero de particularidades que hacen insuficientes las etapas de ciclo del vida del software para responder a las necesidades de los interesados (Zapata
y Vargas, 2009). El artculo aborda el ciclo de vida
del desarrollo de software sugerido en los mtodos de
desarrollo de software mencionados anteriormente y
plantea un conjunto aspectos que deben tenerse en
cuenta en cada fase (definicin de requisitos, anlisis,
diseo, desarrollo, pruebas e implementacin) para
crear un aplicativo mvil de alta calidad.
Este artculo tiene la siguiente estructura: en la seccin 2 se presenta una revisin de los trabajos referentes a la utilizacin de la ingeniera de software en
aplicaciones mviles; posteriormente, en la seccin 3
se realiza una descripcin del proceso de cada fase de
la ingeniera de software para una aplicacin mvil y
en la seccin 4 se presentan las conclusiones.
Antecedentes
La ingeniera de software se ha aplicado al desarrollo
de software desde hace treinta aos aproximadamente, lo cual ha contribuido directamente a mejorar la
calidad y a garantizar el cumplimiento de las necesidades de los usuarios o interesados en el producto
(Lamsweerde, 2000).
Recientemente, los dispositivos mviles como telfonos, asistentes personales, Ipod, smartphones, computadores porttiles, relojes y otros han cobrado
gran popularidad en diferentes mbitos sociales, econmicos y polticos. Estos dispositivos han permiti-
28
Definicin de requisitos
La primera fase para desarrollar una aplicacin mvil
es establecer una buena especificacin de requisitos,
ya que esta es la base para el buen rendimiento, la
eficiencia y la calidad de la pieza de software por desarrollar. La claridad sobre todos los requisitos de los
usuarios y el problema que se desea abordar permite
tomar decisiones fundamentales acerca del tipo de
aplicacin requerida, as como tambin sobre el tipo
de dispositivo por utilizar, pues hay claras diferencias
entre una aplicacin web mvil y una residente en
el dispositivo. Adems, se determina si la aplicacin
justifica un desarrollo mvil o si es recomendable
una aplicacin de servidor que se ejecute en un computador de escritorio normal. As mismo, es muy
importante definir los requisitos no funcionales con
respecto a la seguridad, la funcionalidad, la capacidad y la cobertura.
Lo anterior permitir establecer y definir en un documento inicial la viabilidad de la aplicacin mvil que
se va a desarrollar, tras determinar su inicio o en caso
de cambios de planes, y a partir de all descartar una
aplicacin mvil como solucin para la organizacin.
Anlisis de requisitos
Una vez determinada la viabilidad de la aplicacin
mvil y definidos los requisitos del futuro sistema,
se deben identificar y representar las entradas, los
procesos, las salidas y los usuarios que intervienen
directamente en la aplicacin mvil, as como las estructuras de datos requeridas. La representacin de
estos aspectos se debe realizar mediante diagramas
de UML (Larman, 2002), utilizando el diagrama
de procesos (Villanueva et al., 2005), el diagrama de
casos de uso (Larman, 2002) y el diagrama de clases
(Larman, 2002).
Diseo
En la fase de diseo, tambin conocida como de
desarrollo de prototipos, se comienza a reflejar de
Desarrollo
Una vez el usuario defina los requisitos y se establezcan las condiciones de diseo aprobadas en las fases
anteriores se pasa a la etapa en la cual se escribe el
cdigo fuente necesario para dar funcionamiento a
la pieza de software mvil. Para ello se debe tener
conocimiento de un lenguaje de programacin mvil adaptable a las necesidades de diseo previamente
concretadas con los usuarios directos de la aplicacin.
Pruebas
Una vez culminado el desarrollo de la pieza de software definida y establecida con el usuario es de vital
importancia verificar y evaluar el funcionamiento y
la calidad de la pieza de software resultante con el fin
de evitar sobrecostos por ajustes posteriores al software. Adems, debe verificarse que la pieza de software cumpla con los requisitos definidos en etapas
anteriores y genere los resultados esperados por los
usuarios. Para lograr este objetivo es necesario ejecutar la aplicacin en el dispositivo mvil seleccionado.
Igualmente, se debe realizar un conjunto de pruebas
al software mvil desarrollado, que vayan desde las
pruebas unitarias hasta las pruebas funcionales con
el fin de garantizar la satisfaccin total del usuario.
29
Pruebas unitarias: cuando se construye un aplicativo mvil, es de vital importancia comprobar que el
cdigo fuente escrito funcione correctamente y se
adapte al funcionamiento permanente del programa.
Conclusiones
Pruebas de integracin: se debe probar no solo el funcionamiento individual de la pieza de software mvil,
sino tambin su integracin con los dems componentes de la aplicacin, especialmente con el servidor
de datos con el cual se realiza el proceso de sincronizacin de la informacin utilizada en el dispositivo.
Pruebas de validacin: este proceso tiene como objetivo determinar si la aplicacin mvil cumple los
objetivos para los que se construy el producto.
Estas pruebas sirven para determinar que se hayan
logrado todas las metas definidas en las fases anteriores, muy especialmente los requisitos funcionales
especificados por el usuario, as como tambin en las
caractersticas de diseo establecidas.
Prueba de recuperacin: aqu se examina la capacidad
del aplicativo mvil de recuperar el sistema luego de
bloqueos, fallas en el dispositivo y descargas.
Prueba de seguridad: evala la capacidad de la aplicacin mvil para protegerse contra accesos no autorizados y de limitar sus operaciones generales a un conjunto de usuarios determinados en las fases anteriores.
Prueba de compatibilidad: aqu se revisa el desempeo de la pieza de software mvil entre diferentes
dispositivos que manejen diferente tecnologa y apariencia a fin de garantizar su diseo y rendimiento.
Es muy importante que un aplicativo mvil se acomode a una gran cantidad de dispositivos, formas de
navegacin y tecnologas existentes.
Instalacin y mantenimiento
Luego de cumplir con todos las fases anteriores, es
decir, de haber realizado una buena definicin de
requisitos, un anlisis, un diseo acorde a las nece-
30
Referencias
Abowd, G. y Mynatt, E. (2000). Charting past, present,
and future research in ubiquitous computing. ACM
Trans. Comput.-Hum. Interact. 7, 1, pp. 29-58.
Beck, K. (2000). Extreme Programming Explained: Embrace
Change. Boston, Addison-Wesley.
Capra, L., Emmerich, W., Mascolo, C. (2003). CARISMA: Context-Aware Reflective mIddleware System for
Mobile Applications. IEEE Transactions on Software Engineering, vol. 29, no. 10, pp. 929-945.
Mascolo, C., Capra, L. y Emmerich, W. (2002). Middleware for Mobile Computing (A Survey). En: E. Gregori,
G. Anastasi y S. Basagni, editores, Networking 2002 Tutorial Papers, LNCS 2497, pp. 20-58.
Oracle Corporation (2000). Oracle MethodSM CDM
Quick Tour. Redwood City, Oracle Corporation.
Villanueva, I., Snchez, J., Pastor, O. (2005). Elicitacin
de requisitos en sistemas de gestin orientados a procesos, VIII Seminario sobre Ingeniera de Requerimientos
(WER05), Porto, Portugal.
Zapata, C., Vargas, F. (2009). Una revisin de la literatura
en consistencia entre problemas y objetivos en ingeniera
de software y gerencia organizacional. Revista EIA, Nmero 11, pp. 117-129.
Zapata, C., Villegas, S. y Arango F. (2006). Reglas de consistencia entre modelos de requisitos de UN-Mtodo. Revista Universidad Eafit, 42(141):40-59.
31