Entendiendo el Proceso de Desarrollo de Software: Fases y Actividades Clave

Enviado por Programa Chuletas y clasificado en Diseño e Ingeniería

Escrito el en español con un tamaño de 4,64 KB

Proceso de Desarrollo de Software

Definición

Un proceso es una serie de pasos que involucran actividades, restricciones y recursos que producen un resultado esperado.

El Proceso por Dentro

  • El proceso prescribe todas las actividades principales.
  • El proceso puede estar formado por subprocesos.
  • Cada actividad del proceso tiene criterios de entrada y salida definidos.
  • Las actividades se organizan en una secuencia lógica.
  • Se aplican restricciones o controles a las actividades y recursos.

Características

Características Deseables

  • Flexibilidad: Capacidad de adaptarse a cambios.
  • Aceptación: Debe ser comprendido y utilizado por el equipo.
  • Enfoque: Debe abordar los problemas esenciales del desarrollo de software.

Características Principales

  • Visibilidad: Permite entender el estado del proyecto.
  • Predictibilidad: Ayuda a estimar costos y tiempos.
  • Aceptación: Grado en que es adoptado por la organización.
  • Fiabilidad: Consistencia en la producción de software de calidad.
  • Robustez: Capacidad de manejar errores o situaciones inesperadas.
  • Mantenibilidad: Facilidad con la que el software puede ser modificado.
  • Rapidez: Eficiencia en la entrega del producto.

Importancia de Implementar un Proceso

  • Imponer consistencia y estandarización en las tareas.
  • Capturar experiencias y buenas prácticas para reutilizarlas.
  • Facilitar el examen, la comprensión, el control y la mejora continua de las actividades de desarrollo.

Actividades Fundamentales

Existen actividades comunes en la mayoría de los procesos de desarrollo:

Especificación de Software

Consiste en definir tanto la funcionalidad del software como las restricciones de su operación y desarrollo. Se conforma por cuatro actividades principales:

  • Estudio de factibilidad
  • Obtención y análisis de requerimientos
  • Especificación de requerimientos
  • Validación de requerimientos

Diseño e Implementación del Software

Se enfoca en desarrollar el software para cumplir con las especificaciones definidas. Esta actividad toma como entradas:

  • La plataforma de información (entorno donde se ejecutará el sistema).
  • La especificación de requerimientos.
  • La descripción de datos.

Entre las actividades de diseño encontramos:

  • Diseño arquitectónico
  • Diseño de interfaz
  • Diseño de componentes
  • Diseño de base de datos

Todas estas actividades conducen a un conjunto de salidas:

  • Arquitectura del sistema
  • Especificación de interfaz
  • Especificación de base de datos
  • Especificación de componentes

Validación del Software

Consiste en validar el software para asegurarse de que cumple con lo que el cliente quiere. Demuestra que un sistema cumple tanto con sus especificaciones como con las expectativas del cliente. Aquí se realizan una serie de pruebas:

  • Pruebas de desarrollo (unitarias, integración)
  • Pruebas de sistema
  • Pruebas de aceptación

Evolución del Software

El software debe evolucionar para satisfacer las necesidades cambiantes del cliente y corregir errores descubiertos tras su entrega (a menudo llamado mantenimiento).

Qué se Espera del Proceso de Desarrollo de Software

Las expectativas sobre el proceso varían según el rol involucrado:

  1. Project Manager: Espera poder desarrollar un conjunto consistente de documentos de gestión del sistema y tener control sobre el proyecto.
  2. Usuario: Espera disponer de un sistema que satisfaga sus necesidades en cuanto a calidad, funcionalidad, costos, plazos, etc.
  3. Ingeniero de Software: Espera contar con un marco de trabajo claro y herramientas adecuadas para ejecutar sus actividades técnicas de forma eficiente.
  4. Empresa: Espera mejorar la capacidad organizacional para desarrollar sistemas de calidad, optimizando la productividad y la rentabilidad.

Entradas relacionadas: