Aunque la estimación es más un arte que una ciencia, es una actividad importante que no debe llevarse a cabo de forma descuidada. Existen técnicas útiles para la estimación de costes y de tiempos. Y dado que la estimación es la base de todas las demás actividades de planificación del proyecto y sirve como una guía para una buena ingeniería del software, no es en absoluto aconsejable embarcarse sin ella.
El objetivo de la Estimación es predecir las variables involucradas en el proyecto con cierto grado de certeza. Se trata de aportar una predicción de algún indicador importante para la gestión de proyectos de software: tiempo, esfuerzo, cantidad de defectos esperados, entre otros, sin dejar de tener en cuenta que la incertidumbre y el riesgo son elementos inherentes.
En la actualidad son muchos los proyectos que fracasan e incumplen sus plazos de entrega. Según el The Standish Group en su publicación Chaos Report 2009, determinó que el 24% de los proyectos informáticos fueron cancelados, solo el 32 % terminaron a tiempo y dentro del presupuesto y el 44% de los proyectos de software fueron concluidos después de la fecha estimada.
Son muchos los métodos de estimación del esfuerzo que existen en la actualidad: SLIM, COCOMO II, Juicio Experto, Analogía, algunos basados en técnicas estadísticas e Inteligencia Artificial que se basan en datos históricos para inferir el esfuerzo de nuevos proyectos.
El objetivo de este trabajo es describir el método de estimación basado en Puntos de Casos de Uso a través de un caso práctico y mostrar las ventajas y desventajas del mismo.
El método escogido se acopla con la metodología más usada hasta nuestros días, la metodología RUP (Proceso Unificado de Rational), esta metodología se basa en la identificación de los casos de uso, encargados de dirigir el proceso y la técnica escogida toma como punto de partida estos elementos.
DESARROLLO
Planificación basada en casos de uso
Este método de estimación de proyectos de software fue desarrollado en 1993 por Gustav Karner de Rational Software y está basado en una metodología orientada a objetos, dándole el nombre de "estimación de esfuerzos con casos de uso". Surgió como una mejora al método de puntos de función pero basando las estimaciones en el modelo de casos de uso, producto del análisis de requerimientos. Según su autor, la funcionalidad vista por el usuario (modelo de casos de uso) es la base para estimar el tamaño del software. [2]
Un caso de uso por sí solo no permite efectuar una estimación de esfuerzos ni de tiempos, los casos de uso son solamente herramientas para el análisis. La idea fundamental es predecir el tamaño del software a partir de los requerimientos de los casos de uso.
El objetivo fundamental de esta técnica es: Estimar las horas necesarias para ejecutar un conjunto de casos de uso. Es decir, necesitamos predecir cuánto tiempo llevará el desarrollo de software y cuántas personas se requieren para realizarlo. Para ello, es necesario cuantificar la complejidad del sistema y el tiempo necesario para producir una unidad de complejidad.
En etapas tempranas del ciclo de vida, se identifican los Actores y los Casos de Uso del sistema, y se documenta cada uno de ellos mediante una breve descripción. Aplicando el Análisis de Puntos de Función a estos Casos de Uso, se podrá obtener una estimación grosera del tamaño y a partir de ella del esfuerzo. Esta estimación es bastante imprecisa debido principalmente a la escasa información que se tiene sobre el software al principio de un proyecto, pero permitirá obtener una idea del esfuerzo necesario para llevar adelante el mismo, y podrá ser refinada a medida que se obtenga más.
El ejemplo práctico a través del cual se describirá el método consiste en una aplicación Web para la gestión de información telefónica, de reportes de averías, y de estadísticas de los estados de los teléfonos de un Centro de Educación Superior (CES). Actualmente este proceso se realiza manualmente, provocando dificultades en la organización y control de la información referente a los equipos telefónicos y a sus respectivos usuarios. La aplicación es desarrollada en la plataforma .Net, con lenguaje C#. A continuación se presentan los actores y casos de uso identificados.
No hay comentarios :
Publicar un comentario