Mejores prácticas en el desarrollo seguro de aplicaciones
...
Carmona Salazar, Alber Joanny | 2020-12-18
Las aplicaciones creadas por las empresas de desarrollo a nivel mundial han facilitado la realización de muchas actividades de sus usuarios, permitiendo el intercambio de información, interacción rápida y fácil entre clientes, automatización de procesos, recolección de datos, entre otras. En la actualidad las aplicaciones son parte esencial de la actividad humana (realización de compras, ventas, pagos, solicitud de servicios, búsqueda de amigos y parejas sentimentales, etc.), tanto así que, el uso de computadores y smartphones es algo usual en las poblaciones y tienen un gran impacto en la comunicación (Quinde, 2018). Sin embargo, la información compartida a través de las aplicaciones es vulnerable frente a software malicioso o hackers, si no se aplican políticas de seguridad adecuadas (Pinilla, 2014). Para el desarrollo de aplicaciones seguras es necesario contar con un flujo de trabajo dinámico que permita obtener resultados confiables y útiles para el público objetivo. En este sentido, el presente artículo presenta una propuesta que incluye las siguientes fases: 1) Levantamiento y análisis de requerimientos, 2) Diseño y arquitectura de software, 3) Implementación, 4) Prueba y corrección de errores, y 5) Despliegue y puesta en marcha (Figura 1). El propósito de la etapa de llevantamiento y análisis de requerimientos es definir el concepto de aplicación y evaluar su viabilidad, lo cual incluye desarrollar un plan de proyecto, redactar los requisitos del mismo y asignar recurso humano. Respecto al diseño y arquitectura de software pretende diseñar un producto que cumpla con los requisitos deseados, modelar la estructura de la aplicación y sus escenarios de uso, así como elegir componentes que puedan acelerar el desarrollo. En cuanto a la etapa de implementación consiste en la creación real de la aplicación, escribir su código, depurarlo y producir compilaciones estables adecuadas para las pruebas. Por su parte la fase de prueba tiene como finalidad descubrir y corregir errores de aplicación, mediante la ejecución de pruebas automáticas y manuales, y la identificación y solución de problemas. En la etapa final, ddespliegue y puesta en marcha, hay activación de la aplicación y muchas instancias se ejecutan en una variedad de entornos. Eventualmente, nuevas versiones y parches están disponibles y algunos clientes optan por actualizar, mientras que otros deciden mantener las versiones anteriores (Sommerville, 2017; Positive Technologies, 2020).
LEER