Implantación de arquitectura de desarrollo ágil del software

De
Publicado por


La finalidad general de este proyecto consiste en lograr definir y construir una arquitectura de desarrollo completamente adaptada a las metodologías ágiles de ingeniería del software, y que permita un desarrollo de código y plataformas enfocadas a la calidad de todos los procesos del proyecto, las cuales repercuten finalmente en el producto o aplicación software a desarrollar. Para poder cumplir el objetivo final es necesario marcar unos objetivos más específicos y que son obligados en el proyecto: Encontrar las herramientas necesarias, adecuadas y adaptables para la implantación de la arquitectura Diseñar la arquitectura y metodología que definan las líneas de trabajo adecuadas Adaptar el desarrollo y el trabajo del equipo a la arquitectura diseñada Implantar la arquitectura de calidad que permita obtener unos resultados satisfactorios mediante métricas Estos objetivos tendrán que adaptarse además a la metodología de trabajo del caso de desarrollo software que se aplicará en un caso de estudio. En este caso, el desarrollo de un ERP específico será el producto software a desarrollar, y el cual está basado en la ejecución de un proyecto mediante Metodología Scrum. Para este fin y tipo de proyecto es esencial precisamente el uso de una arquitectura de calidad del software y desarrollo adaptado a sus necesidades, donde el proyecto que conlleva será determinante. Este proyecto de implementación de la arquitectura estará también adaptado a este tipo de metodolgías ágiles, y por tanto se emplearán métodos combinados de metodologías ágiles y técnicas clásicas de gestión de proyectos para realizarlo. Para entender este método de trabajo la cuestión esencial se basa en seguir un método iterativo, pero el cuál se dividirá en fases típicas de proyecto, las cuales determinarán los hitos con objetivos determinados para el caso.
Ingeniería Industrial
Publicado el : lunes, 01 de noviembre de 2010
Lectura(s) : 51
Fuente : e-archivo.uc3m.es
Licencia: Más información
Atribución, no uso comercial, sin cambios
Número de páginas: 232
Ver más Ver menos

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

¡Sé el primero en escribir un comentario!

13/1000 caracteres como máximo.