Actualizado el 2 de Julio del 2021 (Publicado el 23 de Enero del 2017)
2.734 visualizaciones desde el 23 de Enero del 2017
5,7 MB
314 paginas
Creado hace 20a (11/04/2005)
Software libre
Marc Gibert Ginestà
Álvaro Peña González
XP04/90795/01133
Ingeniería
del software en
entornos de SL
U
Formación de Posgrado
Jordi Mas Hernández
David Megías Jiménez
David Aycart Pérez
Coordinador
Coordinador
Autor
Ingeniero de Informática por la UAB.
Magíster en Técnicas Avanzadas de
Automatización de Procesos por la
UAB. Doctor en Informática por la
UAB.
Profesor de los Estudios de Informática
y Multimedia de la UOC.
Director de desarrollo formativo
de Free Software Certification.
Socio fundador de Free Software
Certification.
Socio fundador de Esware Linux S.A.
Ingeniero de software en la empresa
de código abierto Ximian, donde
trabaja en la implementación del
proyecto libre Mono. Como voluntario,
colabora en el desarrollo del
procesador de textos Abiword y en la
ingeniería de las versiones en catalán
del proyecto Mozilla y Gnome.
Coordinador general de Softcatalà.
Como consultor ha trabajado para
empresas como Menta, Telépolis,
Vodafone, Lotus, eresMas, Amena y
Terra España.
Marc Gibert Ginestà
Martín Hernández Matías
Álvaro Peña González
Autor
Autor
Autor
Ingeniero en Informática por la
Universidad Ramon Llull. Socio
fundador y jefe de proyectos de
Cometa Technologies, empresa
dedicada a dar soluciones en
tecnologías de la información,
basadas en el uso de estándares y
herramientas de código abierto.
Profesor del Máster de Seguridad en
Tecnologías de la Información en
Ingeniería y Arquitectura La Salle y
consultor del Máster Internacional de
Software Libre de la UOC (Universitat
Oberta de Catalunya).
Ingeniero técnico informático de la
Universidad Politécnica de Madrid.
Training manager de Free Software
Certification.
Técnico superior en desarrollo
de aplicaciones informáticas.
Desarrollador de aplicaciones
comerciales en Verial Software,
director de proyectos en la
consultoría CFI.
Actualmente es jefe de desarrollo
de Esware y colabora en el Proyecto
GNOME.
Primera edición: marzo 2005
© Fundació per a la Universitat Oberta de Catalunya
Av. Tibidabo, 39-43, 08035 Barcelona
Material realizado por Eureca Media, SL
© Autor: Jordi Mas, David Megías Jiménez, Marc Gibert Ginestà, Álvaro Peña González
Depósito legal: B-1.560-2005
ISBN:
Se garantiza permiso para copiar, distribuir y modificar este documento según los términos de la GNU Free Documentation License,
Version 1.2 o cualquiera posterior publicada por la Free Software Foundation, sin secciones invariantes ni textos de cubierta
delantera o trasera. Se dispone de una copia de la licencia en el apéndice A, junto con una tradición no oficial en el Apéndice B.
Puede encontrarse una versión de la última versión de este documento en http://curso-sobre.berlios.de/introsobre.
Ingeniería del software en entornos de SL
ªª FUOC • XP04/90795/01133
Índice
Agradecimientos .............................................................. 9
1. Introducción a la ingeniería del software.................. 11
1.1. Introducción ......................................................... 11
1.2. Objetivos............................................................... 12
1.3. Un poco de historia ............................................... 12
1.4. Conceptos ............................................................. 14
1.5. Gestión de proyectos.............................................. 14
1.5.1. Ciclo de vida del software ............................. 17
1.5.2. Análisis de requisitos .................................... 20
1.5.3. Estimación de costes..................................... 21
1.5.4. Diseño ......................................................... 22
1.5.5. Documentación ............................................ 23
1.5.6. Pruebas y calidad ......................................... 24
1.5.7. Seguridad .................................................... 25
1.6. Ejemplos de metodologías...................................... 28
1.6.1. Metodología próxima al software libre:
eXtreme Programming .................................. 28
1.6.2. Metodología clásica: Métrica v3 .................... 37
1.7. Resumen ............................................................... 58
1.8. Otras fuentes de referencia e información ............... 59
2. Diseño de software a objeto con UML....................... 61
2.1. Introducción .......................................................... 61
2.2. Objetivos............................................................... 62
2.3. Revisión de conceptos del diseño orientado
a objeto y UML...................................................... 62
2.3.1. Introducción a la orientación a objetos .......... 63
2.3.2. Historia........................................................ 66
2.3.3. Clases y objetos ........................................... 67
2.3.4. Encapsulación.............................................. 68
2.3.5. Reusando la implementación. Composición... 70
2.3.6. Reusando la interfaz. Herencia...................... 70
2.3.7. Polimorfismo................................................ 73
2.3.8. Superclases abstractas e interfaces ................ 75
2.3.9. La orientación a objetos y la notación UML.... 76
2.3.10. Introducción a UML.................................... 78
2.3.11. Conclusiones ............................................. 80
I
S
E
N
O
C
A
T
O
N
A
3
ªª FUOC • XXX
Software libre
2.4. Definición del caso práctico .................................... 80
2.5. Diagramas de casos de uso .................................... 84
2.6. Diagramas de secuencia......................................... 89
2.7. Diagramas de componentes ................................... 95
2.8. Diagrama de actividades ........................................ 98
2.9. Diagrama de clases................................................ 101
2.10.Diagrama de despliegue ....................................... 107
2.11.Diagrama de estados............................................ 109
2.12.Diagrama de colaboración.................................... 113
2.13.Generación de código........................................... 115
2.13.1. Dia con Dia2Code .................................... 116
2.13.2. Umbrello .................................................. 121
2.13.3. ArgoUML.................................................. 127
2.14.Resumen .............................................................. 131
2.15.Otras fuentes de referencia e información.............. 132
3. Control de calidad y pruebas..................................... 135
3.1. Introducción ........................................................... 135
3.2. Objetivos ............................................................... 135
3.3. Control de calidad y pruebas .................................. 136
3.3.1. Términos comunes........................................ 137
3.3.2. Principios de la comprobación de software..... 138
3.4. Técnicas manuales de comprobación de software .... 139
3.5. Técnicas automáticas de comprobación
de software ............................................................ 140
3.5.1. White-box testing .......................................... 140
3.5.2. Black-box testing........................................... 141
3.5.3. Unidades de comprobación .......................... 141
3.6. Sistemas de control de errores ................................ 143
3.6.1. Reportado en errores .................................... 143
3.6.2. Anatomía de un informe de error .................. 145
3.6.3. Ciclo de vida de un error .............................. 146
3.6.4. Bugzilla........................................................ 148
3.6.5. Gnats........................................................... 150
3.7. Conclusiones ......................................................... 151
3.8. Otras fuentes de referencia e información ............... 152
4. Construcción de software en entorno GNU .............. 153
4.1. Introducción .......................................................... 153
4.2. Objetivos .............................................................. 153
4.3. Instalando todo lo necesario. Autotools .................. 153
4.3.1. Fichero de configuración de usuario (input) ... 154
4.3.2. Ficheros generados (output) ......................... 156
4.3.3. Como mantener ficheros de entrada ............ 159
A
N
O
T
A
C
O
N
E
S
I
4
Ingeniería del software en entornos de SL
ªª FUOC • XP04/90795/01133
4.3.4. Empaquetar ficheros output ......................... 159
4.3.5. Changelogs y documentación ...................... 160
4.3.6. Creación de configure.in ............................. 162
4.3.7. ¿Que sigifica portabilidad? .......................... 162
4.3.8. Introducción al sh portable .......................... 163
4.3.9. Chequeos necesarios ................................... 163
4.4. Introducción a GNU Automake .............................. 165
4.4.1. Principios generales de automake ................ 165
4.4.2. Introducción a las primarias ......................... 166
4.4.3. Programas y librerias ................................... 167
4.4.4. Múltiples directorios ..................................... 168
4.4.5. Cómo probarlo ........................................... 168
4.5. La libreria GNU Libtool ......................................... 169
4.5.1. Código independiente ................................. 170
4.5.2. Librerias compartidas .................................. 171
4.5.3. Librerias estáticas ........................................ 172
4.5.4. Enlazar una librería. Dependencias
entre librerias .............................................. 172
4.5.5. Usar librerías de conveniencia ..................... 173
4.5.6. Instalación de librerias y ejecutables ............. 173
4.5.7. Desinstalación ............................................. 174
4.5.8. GNU Libtool, configure.in y Makefile.am ...... 174
4.5.9. Integración con configure.in, opciones extra
y macros para Libtool ...................
Comentarios de: Software libre - Ingeniería del software en entornos de SL (0)
No hay comentarios