Cet ouvrage et des milliers d'autres font partie de la bibliothèque YouScribe
Obtenez un accès à la bibliothèque pour les lire en ligne
En savoir plus

Partagez cette publication

UNIVERSIDADCARLOS III DE MADRID
ESCUELA POLITÉCNICA SUPERIOR
INGENIERÍA INDUSTRIAL
ESPECIALIDAD EN ORGANIZACIÓN INDUSTRIAL
PROYECTO FINAL DE CARRERA
IMPLANTACIÓN DE ARQUITECURA
DE DESARROLLO ÁGIL DEL SOFTWARE
AUTOR: DAVID CAÑADILLAS MEDINA
TUTOR: MARIA TERESA VICENTE DIEZ
Noviembre de 2010Agradecimientos
A mis padres, por la confianza que siempre han depositado en mí.
A mi hermano, que sin su apoyo nunca habría sido posible la realización de muchos
de mis objetivos.
A Mayte, Jose María, Diego, Gonzalo, Sergio y todos aquellos que en la Universidad
siempre me han apoyado y han puesto su granito de arena.
A todos, muchas gracias
3The best way to predict the future is to invent it.
Alan Kay
5Índice general
1. INTRODUCCIÓN AL PROYECTO 1
1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Desarrollo de ingeniería del software. . . . . . . . . . . . . . . . . . 6
1.1.2. Optimizar el desarrollo software . . . . . . . . . . . . . . . . . . . . 8
1.1.3. Plataformas y arquitecturas de desarrollo . . . . . . . . . . . . . . . 10
1.2. Objetivos del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3. Fases y metodología del proyecto . . . . . . . . . . . . . . . . . . . . . . . 14
2. ESTADO DEL ARTE 17
2.1. Metodologías Ágiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2. Calidad del desarrollo software . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3. Integración Continua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4. Integración del desarrollo en un entorno ágil . . . . . . . . . . . . . . . . . 39
3. ANÁLISIS DE HERRAMIENTAS DE LA ARQUITECTURA 41
3.1. Herramientas de Integración Continua . . . . . . . . . . . . . . . . . . . . 41
3.2. Plataformas de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.1. Entorno de Desarrollo Integrado . . . . . . . . . . . . . . . . . . . . 59
3.2.2. Sistemas Operativos . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.3. Herramientas de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.3.1. Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
i3.3.2. Nexus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.3.3. Mercurial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4. DISEÑO Y DESPLIEGUE DE LA ARQUITECTURA 93
4.1. Fases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.1.1. Estudio o diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.1.2. Planificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.1.3. Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.1.4. Despliegue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.2. Seguimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.2.1. Fases de no ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.2.2. Fases de ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5. CASO DE ESTUDIO 117
5.1. Desarrollo de un ERP para sector específico . . . . . . . . . . . . . . . . . 117
5.1.1. Negocio objetivo del producto software . . . . . . . . . . . . . . . . 120
5.1.2. Participantes en el desarrollo . . . . . . . . . . . . . . . . . . . . . . 122
5.1.3. Gestión del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.1.4. Arquitectura del software a programar . . . . . . . . . . . . . . . . 129
5.2. Implantación de la arquitectura y pruebas . . . . . . . . . . . . . . . . . . 133
5.2.1. Implantación inicial y fases . . . . . . . . . . . . . . . . . . . . . . . 134
5.2.2. Pruebas realizadas sobre la arquitectura . . . . . . . . . . . . . . . 143
5.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
5.3.1. Datos iniciales en la implantación . . . . . . . . . . . . . . . . . . . 149
5.3.2. Datos de Mejora Continua . . . . . . . . . . . . . . . . . . . . . . . 151
5.3.3. Datos de Integración . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5.3.4. Otros resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.3.5. Análisis global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
6. CONCLUSIONES 163
6.1. Conclusiones sobre los objetivos . . . . . . . . . . . . . . . . . . . . . . . . 163
ii6.2. Conclusiones generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
7. FUTURAS LÍNEAS DE TRABAJO 169
A. PRESUPUESTOS 175
APÉNDICES 175
B. INSTALACIONES Y CONFIGURACIONES 181
B.1. Repositorio Mercurial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
B.1.1. Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
B.1.2. Configuración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
B.2. Hudson CI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
B.2.1. Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
B.2.2. Configuración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
B.3. Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
B.3.1. Instalación Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
B.3.2. Nexus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
B.3.3. Configuracion de integración Maven y Nexus . . . . . . . . . . . . . 194
B.3.4. Configuración de Nexus . . . . . . . . . . . . . . . . . . . . . . . . 200
B.4. Entornos de Desarrollo Integrado . . . . . . . . . . . . . . . . . . . . . . . 202
B.4.1. Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
B.4.2. NetBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
B.5. Otras Instalaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
B.5.1. Sonar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
GLOSARIO 211
iiiiv

Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin