Resumen
Hoy en día Android es uno de los sistemas operativos más populares para dispositivos móviles, por los recursos y facilidades para la distribución de aplicaciones. Si bien, exis-ten diferentes estrategias para el desarrollo de aplicaciones para esta plataforma, como el uso de mejores prácticas, disponibilidad de ambientes de desarrollo, metodologías agiles, etc. Por separado, no constituyen usa solución integral para orientar a los desa-rrolladores a través de las distintas etapas del proceso del software.
A medida que la finalidad de dichas aplicaciones se vuelve más crítica, es necesario considerar diferentes aristas para crear un producto robusto. Por lo tanto, crear un pro-ceso para el desarrollo de aplicaciones nativas en Android, que considere aspectos cla-ve de las áreas interacción humano – computadora, para el diseño de interfaces; meto-dologías ágiles, para la administración adecuada del proyecto; considere los distintos ambientes de desarrollo, de acuerdo al tipo de producto a generar; y el uso de mejores prácticas, para aumentar la eficacia, calidad, y escalabilidad del software; puede consti-tuir una solución integral al problema de desarrollar aplicaciones para esta plataforma.
Actualmente existen diferentes recursos disponibles en la red para guiar a los desarro-lladores, sin embargo, aún no se ha publicado un proceso de ingeniería de software que considere las fases del ciclo de vida del software. Por lo cual, el presente proyecto pretende contribuir a reducir esta brecha.
Abstract
Nowadays Android is one of the most popular operative systems for mobile devices, its success is due to all the resources available and ease for apps distribution. Although there are different strategies for app development on this platform (e.g. best practices for coding, several Integrated Development Environments (IDE) on web, agile method-ologies, etc.) separately, they do not constitute an integral solution for guiding devel-oper through the different stages of software life cycle.
As Android apps are becoming more critical to user is needed to consider another edg-es in order to develop more comprehensive products. Therefore, designing a process for native Android app development which considers key areas of human – computer interaction, for user interface design; agile methodologies for an appropriated project management; considerate different IDEs according the aim of the app; and using best practices for improving efficiency, quality and scalability of code, all of this can be the basis for designing a solution aimed to breach the gap of developing native Android apps.
At the moment of writing this document, has not been published another model or for-merly a software engineering process for guiding the developers through the different stages of software life cycle.