ourproject.org Logo

Control de Cambios y Requerimientos

Objetivo:

Diseñar un modelo de objetos que permita soportar la funcionalidad básica de una herramienta para el control de cambios y requerimientos de un proyecto de software.

Introducción:

La herramienta es utilizada en proyectos de desarrollo para formalizar la manera en la que se informan y manipulan los requerimientos que se van dando a lo largo de la vida de un proyecto (en particular de desarrollo de software).
Los requerimientos se clasifican utilizando un tipo de requerimiento (reporte de bug, ampliación, mejora, nuevo) para poder asignarle el equipo correcto. Por ejemplo, en caso de ser un reporte de bug, seguramente se deberá asignar un equipo que haya participado en el proceso de desarrollo. Los tipos de requerimientos son dinámicos, en otras palabras, la herramienta a desarrollar debe permitir la creación de nuevos tipos de requerimientos. Existe una configuración previa del proyecto donde se especifica cuales son los posibles tipos de requerimiento que puede manejar el proyecto. Estos tipos varían de proyecto en proyecto.
El ciclo de vida de un requerimiento está determinado por la secuencia de estados por los que pasa, por ejemplo, Creado, Análisis, En Desarrollo, Testing, Evaluación Usuario, Aceptado. Los estados deben ser configurados por el líder de proyecto teniendo en cuenta los diferentes tipos de requerimientos y los canales más eficientes para su resolución.
De cada tipo de requerimiento se conocen las posibles secuencias que puede seguir un requerimiento clasificado con este tipo. Por ejemplo el siguiente gráfico describe las posibles secuencias de estados que puede seguir un requerimiento clasificado como “reporte de bug”.
Cada estado definido para un tipo de requerimiento define las propiedades (textuales) que debe brindar un futuro requerimiento de este tipo bajo este estado. Por ejemplo, se define que todo requerimiento de tipo “reporte de bug” que esté bajo el estado “Desarrollo” debe definir las siguientes propiedades: complejidad y duración. Ciertas propiedades son comunes a todos los estados.
De cada requerimiento, se conoce su prioridad, su tipo de requerimiento, su estado actual, y la secuencia de estados por la que pasó. Tanto el actual como los estados anteriores deben pertenecer a los estados definidos por su tipo de requerimiento. Cada requerimiento en un estado dado, deberá asignar valores a las propiedades definidas para ese estado. Tanto para las comunes, como para las definidas específicamente para ese estado.
Cuando un requerimiento pasa por un estado se debe asignar un responsable. Puede ocurrir que el responsable de un requerimiento en un estado sea reasignado, con lo cual otro miembro del proyecto deberá ocupar su puesto. Es necesario, luego, poder conocer quien fue el responsable de un requerimiento en un estado dada una fecha. Los responsables de los requerimientos siempre serán miembros del proyecto.
Existen dos tipos de usuarios del sistema:
1-Administradores del sistema de control de cambios. Sus actividades pueden ser:
2-Miembros de proyecto. Sus actividades pueden ser:
Los usuarios de proyectos tienen diferentes roles que pueden cumplir como por ejemplo Líder de Proyecto, Analista, Diseñador, etc. Estos posibles roles están definidos a nivel proyecto, pues una misma persona puede participar en varios proyectos y su conjunto de roles en un proyecto y otro es diferente.
Las actividades que pueden realizar los miembros de proyecto sobre el sistema están dadas por el rol que cumple en el proyecto. Por ejemplo, un Líder de proyecto podrá agregar miembros a un proyecto, no así un desarrollador. Es necesario aclarar que una persona puede tener más de un rol en un proyecto, del mismo modo que un rol puede ser cubierto por más de una persona.



Diseño del modelo de la aplicación en UML usandoOMONDO