El Proceso De Software Y Sus Modelos
Por: Luis M. Calcaño (estudiante de ingeniería
De sistemas de UNAPEC, matrícula 2011-1032)
En temas anteriores se ha visto que la delimitación exacta de los requisitos que conlleva el desarrollo de un proyecto es sumamente importante y vital para este. Sin embargo, es también de suma importancia lo que es el proceso del desarrollo delsoftware. Veremos cuáles son sus diferentes modelos y cuál de todos es el más recomendado para poder desarrollar un software
Proceso del Software
Primero, definiremos el concepto. Un proceso del software es un conjunto de actividades y resultados asociados que producen un producto de software. Este proceso tiene como propósito la producción eficaz y eficiente de este producto de software quereúna los requisitos del cliente.
Modelo de procesos de software
Un modelo de procesos de software es una descripción simplificada de un proceso del software que presenta una visión de ese proceso. Estos modelos pueden incluir actividades que son parte de los procesos y productos de software. Los modelos genéricos no son descripciones definitivas de procesos de software; sin embargo, sonabstracciones útiles que pueden ser utilizadas para explicar diferentes enfoques del desarrollo de software.
Los diferentes modelos de procesos
Modelo Codificar y corregir (Code-and-Fix)
Este es el modelo que se utilizó en los principios del desarrollo de software y consiste en dos pasos: Escribir código y corregir problemas en el código. Básicamente, se trata de primero implementar algo decódigo y después pensar en requisitos, diseño, validación, etc. Pero, este modelo tiene tres problemas principales:
* Después de un número de correcciones, el código puede tener una muy mala estructurada.
* Frecuentemente, aún el software bien diseñado, no se ajusta a las necesidades del usuario.
* El código es difícil de reparar por su pobre preparación para probar y modificar.
Modeloen cascada
Este modelo toma las actividades fundamentales del proceso de especificación, desarrollo, validación y evolución y las representa como fases separadas del proceso. El modelo en cascada consta de las siguientes fases:
* Definición de los requisitos
* Diseño de software
* Implementación y pruebas unitarias
* Integración y pruebas del sistema
* Operación ymantenimiento.
Una fase no comienza hasta que termine la fase anterior y generalmente se incluye la corrección de los problemas encontrados en fases previas. En la práctica, este modelo no es lineal, e involucra varias iteraciones e interacción entre las distintas fases de desarrollo. Algunos problemas que se observan en el modelo de cascada son:
* Las iteraciones son costosas e implican rehacertrabajo.
* Aunque son pocas iteraciones, es normal congelar parte del desarrollo y continuar con las siguientes.
* Los problemas se dejan para su posterior resolución, lo que lleva a que estos sean ignorados o corregidos de una forma poco elegante.
* Existe una alta probabilidad de que el software no cumpla con los requisitos del usuario
* Es inflexible a la hora de evolucionarpara incorporar nuevos requisitos.
Modelo en V
El modelo en V es una variación del modelo en cascada que muestra cómo se relacionan las actividades de prueba con el análisis y el diseño. El modelo representado es una figura en v, en donde la codificación forma el vértice de la V, con el análisis y el diseño en un lado y las pruebas y el mantenimiento en el otro lado.
La unión mediantelíneas discontinuas entre las fases de la parte izquierda y las pruebas de la derecha representa una doble información. Por un lado sirve para indicar en qué fase de desarrollo se deben definir las pruebas correspondientes. Por otro sirve para saber a qué fase de desarrollo hay que volver si se encuentran fallos en las pruebas correspondientes.
Ventajas de este modelo:
• La relación entre las...
Regístrate para leer el documento completo.