PROCESO DE SOFTWARE
PROCESO DE SOFTWARE
Proceso: conjunto de actividades ejecutadas en una
secuencia de instrucciones. Este permite que las personas que elaboran el
trabajo (equipo de Software) busquen y elijan el conjunto adecuado de acciones
y tareas para desarrollarlo, buscando entregar el Software de forma rápida y
con una excelente calidad para satisfacer a los clientes.
Una definición sencilla de proceso es “serie de acciones que conducen a un final”.
PROCESO DE SOFTWARE
Un proceso de desarrollo de software es un conjunto de personas, estructuras de organización, reglas, políticas, actividades y sus procedimientos, componentes de software, metodologías, y herramientas utilizadas o creadas específicamente para definir, desarrollar, ofrecer un servicio, innovar y extender un producto de software.
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.
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
desarrollo de software tiene como propósito la producción eficaz y eficiente de
un producto software que reúna los requisitos del cliente. Un producto software
en sí es complejo, es prácticamente inviable conseguir un 100% de confiabilidad
de un programa por pequeño que sea. Existe una inmensa combinación de factores
que impiden una verificación exhaustiva de las todas posibles situaciones de
ejecución que se puedan presentar (entradas, valores de variables, datos
almacenados, software del sistema, otras aplicaciones que intervienen, el
hardware sobre el cual se ejecuta, etc.).
Un producto software
es intangible y por lo general muy abstracto, esto dificulta la definición del
producto y sus requisitos, sobre todo cuando no se tiene precedentes en
productos software similares. Esto hace que los requisitos sean difíciles de
consolidar tempranamente. Así, los cambios en los requisitos son inevitables,
no sólo después de entregado en producto sino también durante el proceso de
desarrollo. El proceso de desarrollo de software no es único. No existe un
proceso de software universal que sea efectivo para todos los contextos de
proyectos de desarrollo. Debido a esta diversidad, es difícil automatizar todo
un proceso de desarrollo de software.
A
pesar de la variedad de propuestas de proceso de software, existe un conjunto
de actividades fundamentales que se encuentran presentes en todos ellos.
Especificación
de software: Se debe definir la funcionalidad y restricciones operacionales que
debe cumplir el software.
Diseño
e Implementación: Se diseña y construye el software de acuerdo a la
especificación.
Validación:
El software debe validarse, para asegurar que cumpla con lo que quiere el
cliente.
Evolución:
El software debe evolucionar, para adaptarse a las necesidades del cliente.
Además
de estas actividades fundamentales, Pressman menciona un conjunto de
“actividades protectoras”, que se aplican a lo largo de todo el proceso del
software:
*Seguimiento
y control de proyecto de software.
*Revisiones
técnicas formales.
*Garantía
de calidad del software.
*Gestión
de configuración del software.
*Preparación
y producción de documentos.
*Gestión
de reutilización.
*Mediciones.
*Gestión
de riesgos.
Pressman
caracteriza un proceso de desarrollo de software con los siguientes elementos:
Un
marco común del proceso, definiendo un pequeño número de actividades del marco
de trabajo que son aplicables a todos los proyectos de software, con
independencia del tamaño o complejidad.
Un
conjunto de tareas, cada uno es una colección de tareas, hitos de
proyectos, entregas y productos de trabajo del software, y puntos de garantía
de calidad, que permiten que las actividades del marco de trabajo se adapten a
las características del proyecto de software y los requisitos del equipo del
proyecto.
Las
actividades de protección, tales como garantía de calidad del software, gestión
de configuración del software y medición, abarcan el modelo del proceso. Las
actividades de protección son independientes de cualquier actividad del marco
de trabajo y aparecen durante todo el proceso.
Comentarios
Publicar un comentario