El ciclo de vida de un algoritmo o ciclo de vida del desarrollo de sistemas o proceso de desarrollo del software, todos estos términos son sinóminos y cuando se menciona uno u otro, se está refiriendo a la misma actividad, este escrito utiliza el término de proceso de desarrollo del software.
El proceso de desarrollo del software es el proceso de dividir el trabajo de desarrollo en distintas fases para mejorar el diseño, la gestión del producto y la gestión del proyecto.
Este proceso define los pasos que deben seguirse durante el desarrollo de un programa, desde que se propone hasta que finaliza su construcción y posterior mantenimiento.
Las fases son la siguientes:
- Análisis: En esta fase se determinan los requisitos que tiene que cumplir el programa. Se analiza minuciosamente el problema que se desea resolver y se define todo aquello que afectará el funcionamiento del programa y las especificaciones de entrada y salida. Esta fase también sirve para ayudar al programador a comprender el problema, que en lo posible debe estar bien definido si se desea llegar a una solución satisfactoria.
- Diseño: Se define una secuencia lógica de pasos que resuelven el problema acorde al análisis realizado. Se especifican los esquemas de diseño del programa, utilizando diagramas de diseño y pseudocódigo para plasmar una posible solución o mostrar el alcance del problema.
- Codificación: En esta fase se transcribe el diseño a código escrito en algún lenguaje de programación, es decir, es la implementación del diseño.
- Pruebas o Testing: El programa se ejecuta con el fin de evaluar el correcto funcionamiento del mismo, eliminar los errores y verificar que se cumplan todos los requerimientos establecidos.
- Mantenimiento: Tiene lugar una vez que el programa ha sido distribuido, en esta fase se asegura que el sistema siga funcionando aunque cambien los requisitos. El programa se modifica y se actualiza acorde a las nuevas necesidades del problema.
- Documentación: Es importante plasmar las decisiones tomadas y la justificación de estas a lo largo del desarrollo del software, con el fin que ayude a comprender mejor el código escrito y pueda facilitar su mantenimiento y expansión. Por lo tanto se debería considerar escribir la documentación del código acompañado del manual de usuario.
A pesar de que estas fases están bien definidas, no todas son incluídas en el proceso de creación del software o bien muchas veces son combinadas entre sí, esto depende de la metodología de desarrollo seleccionada al momento de iniciar el proyecto.
Existen varias metodologías de desarrollo que podemos clasificarlos en dos categorías grandes, las tradicionales nacidas en los años 60, basadas en procesos estructurados y secuenciales, y las ágiles basadas en procesos flexibles, dinámicos e iterativos, cuyos principios están plasmados en el Manifiesto Ágil.
En general, las empresas que desarrollan software o bien los mismos desarrolladores ya optan por una u otra metodología con la que se sienten cómodos. Es importante recordar que no existe una metodología que se adecue a todas las necesidades de todos los proyectos, es por eso que existen muchos enfoques para resolver el proceso de desarrollo de software.
Top comments (0)