Visión general del Desarrollo de Software

El proceso de desarrollo de software, al igual que muchos otros procesos para elaborar elementos o planificar proyectos, resulta ser más complejo debido al encarecido cuidado que se le debe tener a la organización dentro del desarrollo, desde el propósito y pautas de funcionamiento, hasta las normativas, pasos establecidos para avanzar, normativas de desarrollo y pulcritud dentro del código, y otros factores que por más que parezcan triviales para la mayoría de usuarios que no conozcan del tema, son importantes no solo para determinar el destino de un software en desarrollo y si es completado o no, y la calidad y robustez que debe de poseer este software.

En general, mientras que no hay un proceso universal para esto, hay una serie de fases generales planteadas en el proceso general del desarrollo de software: Planificar, Diseñar, Desarrollar y Mejorar. Estas ideas generales se encuentran en la mayoría de metodologías planteadas para este proceso, entre los cuales se puede encontrar la metodología de cascada, la metodología de espiral, la metodología de prototipado, la metodología ágil, la metodología de programación extrema, entre otros. La mayoría de estas metodologías se utilizan para definir el "ciclo de vida del software", que compone el ciclo de desarrollo inicial hasta su finalización y posterior mantenimiento. Sin embargo, la metodología que se encuentra más a menudo en investigaciones de este tema es el método de la cascada, típicamente demostrado con una imagen de las fases mostradas en cascada.



  • Análisis o Requisitos: Primero se debe establecer las necesidades que se desean atender con el software desarrollado, al analizar el panorama establecido y obtener los requisitos a cumplir con el programa. Esto es necesario tanto para saber a qué se debe orientar el programa, como con que herramientas se debe construir, y que tipo de diseño de podría planificar para su elaboración.
  • Diseño: Posterior a obtener los requisitos y objetivos, se debe planificar la forma en la que se desarrollará el programa para cumplir el objetivo. En otras palabras, diseñar la estructura que debe poseer el programa durante su desarrollo, y establecer las bases a seguir para la siguiente fase del desarrollo.
  • Implementación: Se trasladan los fundamentos teóricos planteados en la fase de Diseño para cumplir con las necesidades en la fase de Requisitos, a una implementación práctica. Consiste en la elaboración de todos los argumentos, códigos y estructuras en el software, que se podría resumir en el trabajo de programación, al igual que hacer prototipos y pruebas para comprobar su funcionamiento.
  • Verificación: Es necesario saber si el software elaborado cumple con sus funciones y expectativas con un programa candidato para lanzamiento, y se verifica tanto que todo sea funcional y lo suficiente robusto, y que logre los objetivos planteados en su elaboración.
  • Mantenimiento: Cuando el programa es verificado y lanzado, aun es necesario mantener un tiempo de mantenimiento y soporte para el programa, tanto por la revisión de fallas (y atención de fallas reportadas por usuarios), como por la documentación y soporte para el uso del software provisto.


Comentarios