PROCESO GENÉRICO

 

Introducción

 

El siguiente es un Modelo de Proceso de Desarrollo de Software para ser aplicado en el curso de Taller de

Ingeniería de Software del segundo semestre de 2000.

 

El Modelo de Proceso planteado es:

 

Ø       Iterativo e incremental: se divide el trabajo en miniproyectos donde cada uno es una iteración que resulta en un incremento del producto.

Ø       Guiado por Casos de Uso: el flujo de actividades en el desarrollo es guiado por los Casos de Uso los cuales especifican funcionalidades.

Ø       Centrado en la Arquitectura: la arquitectura prioriza los Casos de Uso más significativos y especifica la estructura del Sistema.

Ø        

El Proceso consta de 3 fases: Inicial, de Elaboración y de Construcción las cuales se dividen en iteraciones de distinta duración según los objetivos de cada fase y la duración total del curso.

 

Iteración

 

Cada iteración se encuentra dividida en Líneas de Trabajo:

 

Básicas: Las líneas de trabajo básicas son: Requerimientos, Análisis, Diseño, Implementación y Verificación.

 

En estas Líneas de Trabajo nos basamos en el enfoque del Modelo de Proceso Unificado de Jacobson, Rumbaugh y Booch y en el Plan de Actividades del curso de Taller IV del año 1999.

 

De Gestión: son las líneas de Trabajo que acompañan el desarrollo del proceso: Gestión del Proyecto,

Gestión de Configuración, Gestión de Calidad, Capacitación y Documentación.

 

Para estas Líneas de Trabajo,usamos como referencia el CMM, Pressmann, Métrica y SPICE.

 

Durante una iteración, las líneas de Trabajo Básicas se realizan en forma secuencial mientras que las líneas de Trabajo de Gestión se realizan todo el tiempo durante la iteración, en paralelo con las líneas básicas.

 

Fases

 

Los objetivos de cada Fase son:

Fase Inicial

Ø       Planificar el Proyecto: en base a este Modelo de Proceso, se debe adaptar a las fechas y tiempos del proyecto, esto incluye hacer los planes de Verificación, gestión de Calidad, gestión del Proyecto y gestión de Configuración de forma que estén conectados.

Ø       Entender el Sistema a construir, haciendo un bosquejo de la Arquitectura candidata

Ø       Delimitar el Alcance del Sistema propuesto

Ø        Realizar las distintas estimaciones del Proyecto

Ø        Definir el ambiente controlado

Ø        Identificar los principales riesgos de construir el Sistema

Fase de Elaboración

Los objetivos de esta Fase son:

 

Ø       Definir el Alcance final del Sistema

Ø       Definir y construir la línea base de la Arquitectura, a partir de ella se construirá todo el sistema en la siguiente fase

Ø       Realizar el seguimiento y control del Proyecto

Ø       Realizar mediciones de avance en cada área y esfuerzo asociado

Ø       Revisar la calidad de los productos y el ajuste al Proceso

Ø       Realizar Revisiones Técnicas Formales

Ø       Controlar las versiones

Fase de Construcción

Los principales objetivos en esta Fase son:

 

Ø       Implementar todas las funcionalidades del Sistema, de acuerdo al alcance fijado en la fase anterior

Ø       Realizar el seguimiento y control del Proyecto

Ø       Realizar mediciones de avance en cada área y esfuerzo asociado

Ø       Revisar la calidad de los productos y el ajuste al Proceso

Ø       Realizar Revisiones Técnicas Formales

Ø       Controlar las versiones y los cambios

 

La fase inicial se completa en una iteración, mientras que las fases de Elaboración y Construcción se

completan en dos iteraciones.

 

Roles

Los participantes en cada línea de Trabajo cumplen al realizar las actividades un determinado rol.

 

Existen 10 roles distintos :

 

Analista: Es responsable de entender el sistema a construir y ayuda al Arquitecto en el Diseño del Sistema

 

Arquitecto: Es responsable de la Arquitectura del Sistema

 

Administrador: Es responsable del seguimiento y control del proyecto, del cumplimiento y registro de las actividades realizadas, de las mediciones y estimaciones del proyecto.

 

Especialista Técnico: Es responsable de definir la herramienta de desarrollo que mejor se adapte al sistema a construir, y del ejecutable de cada fase

 

Implementador: Es responsable de los componentes y subsistemas que debe implementar y de su documentación Técnica, también de que la actividad Realizar Revisión por Pares se cumpla.

 

Responsable de verificación: Es responsable de que el Sistema cumpla con los requerimientos  establecidos para el mismo, de realizar verificación de documentos y pruebas unitarias, de integración y del Sistema.

 

Asistente de Verificación: Es responsable de ayudar al Responsable de Verificación en la realización de las pruebas.

 

Responsable de SQA: Es responsable de la calidad del Sistema y del apego al Proceso en la construcción del mismo, y de realizar Revisiones Técnicas Formales (RTF).

 

Responsable de SCM: Es responsable de definir el ambiente controlado, del control de las versiones y los

cambios, y de la consistencia de la línea base del Software

 

Documentador de Usuario: Es responsable del Manual de Usuario

 

Para el proyecto del curso, se establecerán roles combinados como por ejemplo: Arquitecto/Asistente de

Verificación.