Un proceso
para el desarrollo de software, también denominado ciclo de vida
del desarrollo de software es una estructura aplicada al desarrollo de
un producto de software. Hay varios
modelos a seguir para el establecimiento de un proceso para el desarrollo de
software, cada uno de los cuales describe un enfoque diferente para diferentes
actividades que tienen lugar durante el proceso. Algunos autores consideran un
modelo de ciclo de vida un término más general que un determinado proceso para
el desarrollo de software. Por ejemplo:
Goncalves (2005) plantea que la experiencia ha demostrado que los proyectos exitosos son aquellos que son administrados siguiendo una serie de procesos que permiten organizar y luego controlar el proyecto, considerando válido destacar que aquellos procesos que no sigan estos lineamientos corren un alto riesgo de fracasar. Es necesario destacar la importancia de los métodos, pero el éxito del proyecto depende más de la comunicación efectiva con los interesados, el manejo de las expectativas y las personas que participan en el proyecto.
Existen diferentes modelos y metodologías que han sido en los últimos años herramientas de apoyo para el desarrollo del software. Someerville (2005), menciona que:
• Modelo de desarrollo de software: es una representación simplificada del proceso para el desarrollo de software, presentada desde una perspectiva específica.
• Metodología de desarrollo de software: es un enfoque estructurado para el desarrollo de software que incluye modelos de sistemas, notaciones, reglas, sugerencias de diseño y guías de procesos.
• Modelo de desarrollo de software: es una representación simplificada del proceso para el desarrollo de software, presentada desde una perspectiva específica.
• Metodología de desarrollo de software: es un enfoque estructurado para el desarrollo de software que incluye modelos de sistemas, notaciones, reglas, sugerencias de diseño y guías de procesos.
Éstos modelos generales no son descripciones definitivas de los procesos del software, más bien son abstracciones de los procesos que se pueden utilizar para su desarrollo. Puede pensarse en ellos como marcos de trabajo del proceso y que pueden ser adaptados para crear procesos más específicos. Los modelos que mencionaremos en este punto son:


3)El modelo de desarrollo basado en componentes: Éste se basa en la existencia de un número significativo de componentes reutilizables. El proceso de desarrollo se enfoca en integrar estos componentes en el sistema más que en desarrollarlos desde cero. Estos tres modelos se utilizan ampliamente en la práctica actual de la ingeniería del software, no se excluyen mutuamente y a menudo se utilizan juntos especialmente para el desarrollo de grandes sistemas.
Principales datos para realizar un proceso de desarrollo de software
Actividades
del proceso de desarrollo de software representados en el desarrollo en cascada. Hay algunos modelos más para
representar este proceso.
- Planificación: La importante tarea a la hora de crear un producto de software es obtener los requisitos o su análisis. Los clientes suelen tener una idea más bien abstracta del resultado final, pero no sobre las funciones que debería cumplir el software. Una vez que se hayan recopilado los requisitos del cliente, se debe realizar un análisis del ámbito del desarrollo. Este documento se conoce como especificación funcional.
- Implementación, pruebas y documentación: La implementación es parte del proceso en el que los ingenieros de software programan el código para el proyecto. Las pruebas de software son parte esencial del proceso de su desarrollo. Esta parte del proceso tiene la función de detectar los errores del software lo antes posible.
- Despliegue y mantenimiento: El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado para su liberación y ha sido distribuido en el entorno de producción. El mantenimiento y mejora del software con problemas recientemente desplegado puede requerir más tiempo que su desarrollo inicial. Es posible que haya que incorporar un código que no se ajusta al diseño original con el objetivo de solucionar un problema o ampliar la funcionalidad para un cliente. Si los costes de mantenimiento son muy elevados puede que sea oportuno re-diseñar el sistema para poder contener los costes de mantenimiento.
Dato General
La gran
cantidad de organizaciones de desarrollo de software implementan metodologías
para el proceso de desarrollo. Muchas de estas organizaciones pertenecen a la
industria armamentística, que en los Estados Unidos necesita un certificado
basado en su modelo de procesos para poder obtener un contrato. El
estándar internacional que regula el método de selección, implementación y
monitoreo del ciclo de vida del software ISO 12207.
Durante décadas se ha perseguido la meta de
encontrar procesos reproducibles y predecibles que mejoren la productividad y
la calidad. Algunas de estas soluciones intentan sistematizar o formalizar la
aparentemente desorganizada tarea de desarrollar software.
No hay comentarios:
Publicar un comentario