Proceso
para el desarrollo de software
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,
hay varios procesos de desarrollo de software específicos que se ajustan a un
modelo de ciclo de vida de espiral.
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
es 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. Otros aplican
técnicas de gestión de proyectos para la creación del software. Sin una gestión
del proyecto, los proyectos de software corren el riesgo de demorarse o
consumir un presupuesto mayor que el planeado. Dada la cantidad de proyectos de
software que no cumplen sus metas en términos de funcionalidad, costes o tiempo
de entrega, una gestión de proyectos efectiva es algo que a menudo falta.
Algunas organizaciones crean un grupo propio
(Software Engineering Process Group, abreviado SEPG) encargado de mejorar los
procesos para el desarrollo de software en la organización.
Planificación
La importante tarea a la hora de
crear un producto de software es obtener los requisitos o
el análisis de los requisitos. 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 desarrollo del software. Esta
parte del proceso tiene la función de detectar los errores de
software lo antes posible.
La documentación del
diseño interno del software con el objetivo de facilitar su mejora y su
mantenimiento se realiza a lo largo del proyecto. Esto puede incluir la
documentación de un API, tanto interior como exterior.
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.
Entrenamiento y soporte para el
software es de suma importancia y algo que muchos desarrolladores de
software descuidan. Los usuarios, por naturaleza, se oponen al cambio porque
conlleva una cierta inseguridad, es por ello que es fundamental instruir de
forma adecuada a los futuros usuarios del software.
El mantenimiento y
mejora del software de un software con problemas recientemente desplegado puede
requerir más tiempo que el desarrollo inicial del software. Es posible que haya
que incorporar 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 rediseñar el
sistema para poder contener los costes de mantenimiento.
Comentarios
Publicar un comentario