martes, 5 de marzo de 2013

2. EL DESARROLLO DE SOFTWARE


A continuación se describe en detalle las fases o subprocesos que conforman el proceso base de construcción de software correspondiente al estándar IEEE 1074-1989. Cada subproceso detalla el nivel de propósito, actividades involucradas y documentación principal propuesta por el estándar.

El Estándar determina el conjunto de actividades esenciales, no ordenadas en el tiempo, que deben ser incorporadas dentro de un modelo de ciclo de vida de un producto software. Este modelo es seleccionado y establecido por el usuario para el proyecto a desarrollar, ya que la norma no define un ciclo de vida particular.
 
El estándar ha sido escrito por organizaciones responsables de la gestión y desarrollo de software y está dirigido a los gestores de proyectos, a los desarrolladores de software, a los responsables de la garantía de calidad, a quienes ejecutan tareas de apoyo, y al personal de mantenimiento.
 
El proceso base para la construcción de software consiste en analizar las necesidades de la organización en un dominio, bajo un marco de gestión, seguimiento, control y gestión de la calidad. El proceso de software está compuesto de cuatro procesos principales cada uno de los cuales agrupa una serie de actividades que se encargan de la realización de sus requisitos asociados. Estos son los siguientes:
 
- Proceso de selección de un modelo de ciclo de vida del producto que identifica y selecciona un ciclo de vida para el software que se va a a construir.
 
- Proceso de gestión del proyecto, donde se crean la estructura del proyecto y aseguran el nivel apropiado de la gestión del mismo durante todo el ciclo de vida del software.
 
- Procesos orientados al desarrollo del software, que producen, instalan, operan y mantienen el software y lo retiran de su uso. Se clasifican en procesos de pre-desarrollo, desarrollo y post-desarrollo.
 
- Procesos integrales del proyecto, que son necesarios para completar con éxito lasa actividades del proyecto software. Aseguran la terminación y calidad de las funciones del mismo. Son simultáneos a los procesos orientados al desarrollo de software e incluyen actividades de no desarrollo.
 
En el modelo de proceso software se puede detallar los cuatro procesos principales: el proceso de selección del ciclo de vida, el proceso de gestión del proyecto, los procesos orientados al desarrollo del software y los procesos integrales del proyecto.





 

2.1. PROCESOS DE GESTIÓN DEL PROYECTO



La gestión del proyecto presupone establecer condiciones para el desarrollo del mismo, la gestión involucra actividades dentro de las cuales tenemos:

La planificación de proyectos, define la predicción de la duración de las actividades y tareas a nivel individual, los recursos requeridos, la concurrencia y la superposición de tareas para que sean desarrollados en paralelo y el camino crítico a través de la red de actividades.

La estimación, que se define como la predicción de personal, el esfuerzo y costos que se requerirá para terminar todas las actividades y productos conocidos asociados con el proyecto.

La determinación del tamaño del producto a desarrollar, que es una de las primeras tareas en la gestión del proyecto, ya que sin conocerlo adecuadamente, no es posible planificar y estimar el esfuerzo necesario. El tamaño se define como la cantidad de código fuente, especificaciones, casos de prueba, documentación del usuario y otros productos tangibles que son la salida del proyecto.
El seguimiento de proyectos, que es la recolección de datos y su acumulación sobre recursos consumidos, costos generados, e hitos asociados con el proyecto.

La medición de un proyecto, que se define como el registro de todos los productos generados en el mismo, de todos los recursos requeridos, planificación y superposición de todas las actividades y de todos los factores que impactan en el proyecto como los conocimientos, métodos, herramientas, lenguajes, limitaciones, problemas y el entorno físico. 

 Como ejemplo podemos observar la siguiente imagen:






La siguiente información es importante para entender el tema:

fabrica-de-software-libre-sirviendo-al-bienestar-colectivo/


2.1.1 Proceso de iniciación del proyecto

Abarca aquellas actividades de creación de la estructura del proyecto, aquí se define el ciclo de vida del software para este proyecto y se establecen los planes para su gestión. Se determinan los costos y recursos necesarios a fin de ejecutar las distintas tareas que demanda el proyecto. Se identifican y seleccionan estándares, metodologías y herramientas para la gestión, herramientas para la ejecución del mismo y por último se prepara y establece un plan para su implementación adecuada y oportuna. El plan de gestión de proyectos software que conducirá al desarrollo se produce como culminación de este proceso.

A continuación se presenta una tabla de actividades a realizar, la documentación que se obtine y cuales técnicas se aplican.



 

 2.1.2 Proceso de seguimiento y control del proyecto


Es un proceso iterativo de seguimiento, registro y gestión de costos, problemas y rendimiento de un proyecto durante su ciclo de vida. En este proceso se realiza un análisis de riesgos de tipo económico, técnico, operativo, de soporte, y del programa o calendario, que permite identificar los problemas potenciales, determinar su probabilidad de ocurrencia y su impacto, y establecer los pasos para su gestión. De aquí surge el plan de contingencias donde se identifica los riesgos, se evalúan y se gestionan. En la siguiente tabla se identifican las actividades a realizar, la documentación que se obtiene y cuales técnicas se aplican.



 



2.1.3 Proceso de gestión de la calidad del software

El objetivo es la planificación y administración de las acciones necesarias para proveer una confianza adecuada en la calidad de los productos software que satisfagan los requerimientos técnicos establecidos. En el proceso de gestión de la calidad del software se abarcan actividades en todo el ciclo de vida y se documenta en un plan de garantía de la calidad del software. Para abordar este proceso de protección del software globalmente se consideran los siguientes aspectos: Las métricas para el control del proyecto, la verificación y validación, incluyendo pruebas, procesos de revisión, y la gestión de la configuración del producto.

Las métricas del software se definen como la aplicación continua de técnicas basadas en las medidas de los procesos de desarrollo de software y de sus productos para producir una información de gestión significativa y oportuna, a la vez que se mejoran los procesos y sus productos.

La verificación y la validación del software involucran actividades imprescindibles para el control de la calidad del software. Se entiende por verificación al conjunto de actividades para la comprobación de que un producto software está técnicamente bien construido, es decir, que el producto funciona.

En general, comprobar si los productos construidos en el ciclo de vida satisfacen los requisitos establecidos en las fases anteriores, decidiendo si el producto hasta el momento es consistente y completo. De modo complementario la validación trata la comprobación de que el producto software construido es el que se deseaba construir, es decir que funciona como el usuario quiere y hace las funciones que fueron concertadas con él. En la siguiente tabla se identifican las actividades a realizar, la documentación que se obtiene y cuales técnicas se aplican.