Un Proceso de Software es: Un conjunto coherente de políticas, estructuras
organizacionales, tecnologías, procedimientos y artefactos que
son necesarios para concebir, desarrollar, instalar y mantener
un producto software. (Fugetta, 2000)
La meta de la ingeniería de software es construir productos de software, o mejorar los
existentes; en ingeniería de procesos, la meta es desarrollar o mejorar procesos.
Necesitamos un proceso de software cuya funcionalidad esté probada en la práctica, y personalizado
para que cumpla con nuestras necesidades específicas.
Un proceso de software efectivo habilita a la organización a incrementar su productividad al
desarrollar software:
- Permite estandarizar esfuerzos, promover reuso, repetición y consistencia entre proyectos.
- Provee la oportunidad de introducir mejores prácticas de la industria.
- Permite entender que las herramientas deben ser utilizadas para soportar un proceso.
- Establece la base para una mayor consistencia y mejoras futuras.
Un proceso de software mejora los esfuerzos de mantenimiento y soporte:
- Define cómo manejar los cambios y liberaciones a sistemas de software existentes.
Define cómo lograr la transición del software a la operación, y cómo ejecutar los esfuerzos de
operación y soporte.
Fases del proceso
Todos los modelos de procesos están compuestos en su mayoría por distintas fases que varían, aunque
ligeramente, de modelo en modelo.
1- Fase de definición
Planificación del proyecto de desarrollo software
Ingeniería de requisitos / Extracción de información
Análisis (estudio) de esos requisitos
2- Fase de desarrollo
Diseño del software
Generación del código
Pruebas del software
3- Fase de mantenimiento
Corrección de errores y reajustes que a veces provienen de nuevos requisitos e implican repetir
las actividades de fases anteriores