Estado De La Práctica De La Ingeniería De Requisitos En Proyectos De Software Open Source
Total Page:16
File Type:pdf, Size:1020Kb
Universitat Politècnica de Catalunya Departament de Llenguatges i Sistemes Informàtics Màster en Computació Yolanda Escribano Luis Estado de la práctica de la Ingeniería de Requisitos en proyectos de Software Open Source Tesis de Máster Directora: Claudia P. Ayala Martínez Barcelona, España, Enero 2011 Copyright © 2011 by Yolanda Escribano Luis Contenido Índice de Figuras........................................................................................................... 6 Índice de Tablas ............................................................................................................ 8 Capítulo 1: Introducción................................................................................................ 9 1.1 Contexto y definición del problema................................................................... 9 1.2 Objetivo ........................................................................................................... 11 1.3 Justificación ..................................................................................................... 11 1.4 Metodología y estrategias para resolver el problema ...................................... 11 1.5 Estructura de la tesis ........................................................................................ 12 Capítulo 2: Estado del arte y trabajos relacionados ................................................. 13 2.1 Software Open Source (OSS) .......................................................................... 14 2.1.1 Definición ................................................................................................. 14 2.1.2 Licencias................................................................................................... 15 2.1.3 Formas de trabajo de las comunidades OSS............................................. 18 2.1.4 Roles OSS................................................................................................. 20 2.2 La disciplina de la Ingeniería de Requisitos .................................................... 22 2.2.1 Definición ................................................................................................. 22 2.2.2 Ciclo de vida de la Ingeniería de Requisitos ............................................ 23 2.2.3 Evolución del concepto y los modelos de desarrollo ............................... 24 2.3 Gestión de Requisitos en Comunidades OSS .................................................. 28 2.3.1 Requisitos, análisis y diseño..................................................................... 28 2.3.2 Infraestructuras de comunicación............................................................. 29 2.4 Gobernabilidad, Toma de decisiones y Relaciones de Poder .......................... 35 2.4.1 Gobernabilidad ......................................................................................... 35 2.4.2 Toma de decisiones en las comunidades OSS.......................................... 37 2.4.3 Relaciones de poder.................................................................................. 37 2.5 Principales Infraestructuras para Localización y Hosting de Productos OSS . 38 2.5.1 Ohloh.net .................................................................................................. 38 2.5.2 SourceForge.net........................................................................................ 39 2.6 Ingeniería de Software Empírica ..................................................................... 40 Capítulo 3: Metodología............................................................................................... 43 3.1 Estrategia empírica seleccionada..................................................................... 43 Capítulo 4: Datos Obtenidos........................................................................................ 51 4.1 Comunidad Firebug......................................................................................... 51 4.1.1 Resultados de la investigación de Firebug ............................................... 55 4.2 Comunidad Git................................................................................................. 58 4.2.1 Resultados de la investigación de Git....................................................... 64 4.3 Comunidad jQuery UI...................................................................................... 67 4.3.1 Resultados de la investigación de jQuery UI............................................ 73 4.4 Comunidad Trac...............................................................................................77 4.4.1 Resultados de la investigación de Trac .................................................... 83 4.5 Comunidad FreeRapid Downloader................................................................ 87 4.5.1 Resultados de la investigación de FreeRapid Downloader ...................... 91 4.6 Comunidad Camino ......................................................................................... 95 4.6.1 Resultados de la investigación de Camino ............................................. 104 3 4.7 Comunidad Apache http Server Project......................................................... 107 4.7.1 Resultados de la investigación de Apache HTTP Server ....................... 115 Capítulo 5: Análisis de los resultados obtenidos...................................................... 119 5.1 Resumen de los datos obtenidos .................................................................... 119 5.2 Análisis del estudio realizado ........................................................................ 124 5.2.1 Tipos de liderazgo .................................................................................. 124 5.2.2 Prácticas de trabajo................................................................................. 126 5.2.3 Estructura de la Wiki en las comunidades OSS ..................................... 128 5.2.4 Características de los foros de las comunidades OSS ............................ 134 5.2.5 Principales fuentes de requisitos............................................................. 138 5.2.6 Principales infraestructuras de requisitos ............................................... 139 5.2.7 Participación en las infraestructuras de cada comunidad ....................... 140 5.2.8 Porcentaje de participación de cada fuente en las infraestructuras de la comunidad ............................................................................................................ 142 5.2.9 Especificación, Análisis y diseño de los requisitos ................................ 145 5.2.10 Evolución e identificación de las prácticas de la Ingeniería de Requisitos …………………………………………………………………………………...145 Capítulo 6: Validez y limitaciones del estudio ......................................................... 147 6.1 Validez de la construcción............................................................................. 147 6.2 Validez interna............................................................................................... 147 6.3 Validez externa.............................................................................................. 148 Capítulo 7: Conclusiones y Futuro Trabajo ............................................................ 151 7.1 Tipos de liderazgo más usados ...................................................................... 151 7.2 Prácticas de trabajo más utilizadas ................................................................ 152 7.3 Estructura de las wikis en las comunidades OSS........................................... 154 7.4 Características de los foros en las comunidades OSS.................................... 154 7.5 Principales fuentes de requisitos e infraestructuras de las comunidades OSS155 7.6 Participación en las infraestructuras de las comunidades OSS...................... 156 7.7 Roles de colaboración.................................................................................... 157 7.8 Trabajo Futuro............................................................................................... 158 Referencias .................................................................................................................. 159 Apéndice A .................................................................................................................. 176 9.1 Documentación versión 2.2 Apache HTTP Server........................................ 176 9.2 Listas de mails de Apache HTTP Server ....................................................... 178 Apéndice B .................................................................................................................. 181 10.1 Estudio de Firebug CVS de Firebug .......................................................... 181 10.2 Estudio de Git Mailing List Archive (MARC) .......................................... 184 10.3 Estudio de las listas de correo de Trac ....................................................... 205 10.3.1 Estudio de Trac Development Google Group..................................... 205 10.3.2 Estudio de Trac Users Google Group ................................................. 212 10.3.3 Estudio de Trac Tickets Google Group .............................................. 218 10.4 Estudio del contenido de la Wiki de jQuery UI ......................................... 219 10.4.1 Lista de plugins previstos para jQuery UI .......................................... 219 10.4.2 Documentación dirigida a desarrolladores.........................................