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

Entradas populares de este blog

ÁRBOL DE PROBLEMAS, DE OBJETIVOS Y MATRIZ DE PLANIFICACIÓN

T.G.S y FUNDAMENTOS DE CALIDAD SOFTWARE

DATOS E INFORMACION