Técnicas para la Estimación y Planificación de Proyectos de Software con Ciclos de Vida Incremental y Paradigma Orientado a Objetos (2012)

La estimacion de costos y esfuerzos sigue siendo una de las tareas mas dificiles en la gestion de un proyecto de software. Esta actividad es realizada por el jefe de proyecto, quien es responsable de hacer dichas estimaciones lo mas precisas posible. En la actualidad existen tecnicas que permiten realizar esta labor aunque, lamentablemente, aun no hay tecnicas maduras especificas para enfoques de desarrollo como la orientacion a objetos o los sistemas expertos. A ello se suma el problema de la escasa informacion proporcionada por las tecnicas de estimacion existentes para su aplicacion a ciclos de vida de desarrollo de software diferentes al de cascada, como, por ejemplo, los ciclos de vida incremental o iterativo. Debido a la problematica existente, se diseno Tupuy que es un conjunto de tecnicas que apoya en la estimacion y planificacion basada en Puntos de funcion para proyectos de desarrollo de software orientados a objetos que empleen un modelo de ciclo de vida incremental. Esta propuesta esta conformada por tres tecnicas: UML2FP, Use Case Precedence Diagram (UCPD) e Incremental-FP. UML2FP es una tecnica que permite realizar el calculo de Puntos de funcion con modelos orientados a objetos y UCPD apoya en la priorizacion o definicion de la secuencia de construccion considerando la perspectiva o punto de vista del desarrollador en terminos de facilidad de construccion. Con los resultados que se obtienen con UML2FP y UCPD, la tecnica Incremental-FP, permite definir que casos de uso se van a construir en cada incremento y estimar el esfuerzo que se requiere para desarrollar cada incremento. La evaluacion de UML2FP y UCPD se realizo mediante experimentos controlados con alumnos de pregrado, alumnos de posgrado y profesionales con experiencia en la industria, con resultados alentadores. En el caso de Incremental-FP, la evaluacion se realizo mediante proyectos de desarrollo de software con alumnos del cuarto ano del programa de pregrado en Ingenieria Informatica de la Pontificia Universidad Catolica del Peru; habiendose obtenido, generalmente, una diferencia menor al 20% entre el esfuerzo estimado y el esfuerzo real. Adicionalmente, en los experimentos controlados para evaluar UCPD, se pudo determinar que las relaciones propuestas por el Method Adoption Model de Moody si se pueden confirmar con las muestras obtenidas con profesionales, pero no con alumnos de pregrado; a pesar de que los resultados cuantitativos fueron similares. Esto nos podria sugerir que la evaluacion cualitativa de tecnicas con alumnos de pregrado deben tomarse con precaucion, mas no la cuantitativa. Abstract The estimation of effort and cost is still one of the hardest tasks in software project management. This activity is performed by the project manager who is responsible for making such estimations as accurate as possible. Currently, there are techniques to do this work, but unfortunately there are no specific mature approaches to develop object-oriented software or expert systems. Also, there is limited information provided by the techniques to utilize them in nonwaterfall life cycle models such as incremental or iterative. To address this situation, it was designed Tupuy which is a set of techniques that supports Function Point-based estimation and planning for software development projects that utilize object-oriented and incremental life cycle models. Tupuy consists of three techniques named UML2FP, Use Case Precedence Diagram (UCPD) and Incremental-FP. UML2FP is a technique that allows Function Points counting based on object-oriented models, and UCPD is a technique that addresses the problem of determining the construction sequence or prioritization of a software product from the developer's perspective in terms of ease of construction. With the results obtained through the application of UML2FP and UCPD, Incremental-FP defines which use case has to be constructed in which increment, and estimates the effort required to develop each increment. UML2FP and UCPD evaluation was performed using controlled experiments with undergraduate students, graduate students and practitioners with experience in the industry. The results obtained were satisfactory. The Incremental-FP evaluation was performed with undergraduate students from software development projects of a fourth-year course in Informatics Engineering at Pontificia Universidad Catolica del Peru. In this case, the difference between the estimated effort and actual effort was usually less than 20%. In addition, from the data obtained with the controlled experiments to evaluate UCPD, it was determined that the relationships proposed by the Moody’s Method Adoption Model could be confirmed with practitioners, but not with undergraduate students. These results may suggest that the qualitative assessments of techniques with undergraduate students should be taken with caution, but not the quantitative assesments.