CICLO DE VIDA DEL SOFTWARE
CICLO DE VIDA DEL SOFTWARE
Un modelo de ciclo de vida
de software es una vista de las actividades que ocurren durante el desarrollo
de software, intenta determinar el orden de las etapas involucradas y los
criterios de transición asociadas entre estas etapas.
Un modelo de ciclo de vida
del software:
Describe las fases
principales de desarrollo de software.
Define las fases primarias
esperadas de ser ejecutadas durante esas fases.
Ayuda a administrar el
progreso del desarrollo, y
Provee un espacio de
trabajo para la definición de un detallado proceso de desarrollo de software.
Así, los modelos por una
parte suministran una guía para los ingenieros de software con el fin de
ordenar las diversas actividades técnicas en el proyecto, por otra parte
suministran un marco para la administración del desarrollo y el mantenimiento,
en el sentido en que permiten estimar recursos, definir puntos de control
intermedios, monitorear el avance, etc.
El término ciclo de
vida del software describe el desarrollo de software, desde la fase
inicial hasta la fase final. El propósito es definir las distintas fases
intermedias que se requieren para validar el desarrollo de la aplicación,
es decir, para garantizar que el software cumpla los requisitos para la
aplicación y verificación de los procedimientos de desarrollo: se
asegura de que los métodos utilizados son apropiados.
Estos programas se originan
en el hecho de que es muy costoso rectificar los errores que se detectan tarde
dentro de la fase de implementación. El ciclo de vida permite que los errores
se detecten lo antes posible y por lo tanto, permite a los desarrolladores
concentrarse en la calidad del software, en los
plazos de implementación y en los costos asociados.
El ciclo
de vida básico de un software consta de los siguientes procedimientos:
Definición de objetivos: definir
el resultado del proyecto y su papel en la estrategia global.
Análisis de los requisitos
y su viabilidad: recopilar, examinar y formular los requisitos del
cliente y examinar cualquier restricción que se pueda aplicar.
Diseño general:
requisitos generales de la arquitectura de la aplicación.
Diseño en detalle:
definición precisa de cada subconjunto de la aplicación.
Programación (programación
e implementación): es la implementación de un lenguaje de
programación para crear las funciones definidas durante la etapa de diseño.
Prueba de unidad: prueba
individual de cada subconjunto de la aplicación para garantizar que se
implementaron de acuerdo con las especificaciones.
Integración: para
garantizar que los diferentes módulos se integren con la aplicación. Éste es el
propósito de la prueba de integración que está cuidadosamente
documentada.
Prueba
beta (o validación), para garantizar que el
software cumple con las especificaciones originales.
Documentación: sirve para
documentar información necesaria para los usuarios del software y para
desarrollos futuros.
Mantenimiento: para
todos los procedimientos correctivos (mantenimiento correctivo) y las
actualizaciones secundarias del software (mantenimiento continuo).
El orden y la presencia de
cada uno de estos procedimientos en el ciclo de vida de una aplicación dependen
del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de
desarrolladores.
Al igual que en otros
sistemas de ingeniería, los sistemas de software requieren un tiempo y esfuerzo
considerable para su desarrollo y deben permanecer en uso por un periodo mucho
mayor. Durante este tiempo de desarrollo y uso, desde que se detecta la
necesidad de construir un sistema de software hasta que este es retirado, se
identifican varias etapas que en conjunto se denominan el ciclo de vida del
software y en cada caso, en función de cuales sean las características del
proyecto, se configurará el ciclo de vida de forma diferente. Usualmente se
consideran las etapas: especificación y análisis
de requisitos, diseño del sistema, implementación del
software, aplicación y pruebas, entrega y mantenimiento. Un aspecto
esencial dentro de las tareas del desarrollo del software es
la documentación de todos los elementos y especificaciones en cada
fase. Dado que esta tarea siempre estará influida por la fase del desarrollo en
curso, se explicará de forma distribuida a lo largo de las diferentes fases
como un apartado especial para recalcar su importancia en el conjunto del
desarrollo del software.
Comentarios
Publicar un comentario