Fábricas de Software: Experiencias, Tecnologías y Organización (2ª Edición ampliada y actualizada)
Mario G. Piattini Velthuis
La fabricación de software es uno de los sectores de mayor crecimiento en los últimos años y representa, cada vez más, una de las principales actividades económicas tanto en los países desarrollados como para los países en vías de desarrollo. Y es que, en efecto, el software se halla presente en la actualidad en la mayor parte de los sistemas que resultan vitales para el funcionamiento y progreso de las sociedades modernas.
El concepto de fábrica de software cumple ya más de cuarenta años, desde que en 1968 Bemer lo mencionara por primera vez y afirmara que: parece que tenemos pocos entornos específicos (instalaciones de fábrica) para la producción económica de programas.... Un año después, se crearía la primera fábrica de software: Hitachi Software Works. Desde entonces, el término fábrica de software denota llevar a cabo el desarrollo y mantenimiento de software de forma comparable a la producción de otros productos industriales; eso si, salvando las peculiaridades del propio software. A pesar de ello, industrializar la fabricación de software ha demostrado que sirve para reducir los costes y el ciclo de vida de los productos, mejorando la calidad del software.
En la última década se han publicado diversos estudios y estándares en los que se exponen los principios que se deben seguir para la fabricación de software, como modelos de mejora (CMMI, SPICE), desarrollo dirigido por modelos (MDA), líneas de producto (SPL), servicios Web, el desarrollo global de software, etc.; que complementan otras cuestiones más conocidas pero por ello no menos importantes en el desarrollo de software como: la gestión de requisitos, las pruebas, la gestión de la configuración, etc. Todo ello además debe venir complementado por aspectos organizativos y de gestión que resultan clave para el éxito de la fabricación de software.
La presente obra reúne las contribuciones de los mayores especialistas en aspectos relacionados con la fabricación de software, por lo que se ofrece una visión amplia sobre diferentes factores que se deben tener en consideración para la puesta en marcha y la gestión de una fábrica de software. Además, incluye la experiencia práctica de 13 fábricas de software, grandes y pequeñas, de España, Argentina, México y Venezuela.
Frente a la primera edición, en esta segunda se han revisado y modificado todos los capítulos de acuerdo a los cambios que se han producido a lo largo de los tres últimos años en la evolutiva Industria del Software. Además, se ha contado con la colaboración de nuevas empresas en el apartado de experiencias y la aportación del Instituto Nacional de Tecnologías de la Información (INTECO) con su visión sobre las factorías de software en España.
El libro va dirigido a directores generales (CEO, Chief Executive Officers) de organizaciones, directores de informática (CIO, Chief Information Officers) y directores de desarrollo de sistemas de información de las mismas, personal informático en general (jefes de proyecto, analistas, consultores, etc.) que esté trabajando en el área de desarrollo y mantenimiento de software, así como responsables de calidad de sistemas de información y mejora de procesos software.
- Escritor
- Mario G. Piattini Velthuis
- Colección
- Profesional
- Materia
- Programación informática/desarrollo de softwar
- Idioma
- Castellano
- EAN
- 9788478979608
- ISBN
- 978-84-7897-960-8
- Páginas
- 820
- Ancho
- 17 cm
- Alto
- 24 cm
- Peso
- 1.351 g
- Edición
- 1
- Fecha publicación
- 11-02-2010
Índice de contenido
AUTORES
PRÓLOGO
PREFACIO
CAPÍTULO 1. VISIÓN GENERAL DE LAS FÁBRICAS DE SOFTWARE
1. EL CONCEPTO DE FÁBRICA DE SOFTWARE
2. HISTORIA DE LAS FÁBRICAS DE SOFTWARE
2.1. Años 70 y 80: origen de las fábricas de software
2.2. Años 90: CASE, reutilización y procesos
2.3. Años 2000: modelos y líneas de productos
3. BUENAS PRÁCTICAS EN FÁBRICAS SOFTWARE
3.1. Definir la estrategia de fabricación
3.2. Implantar un modelo de procesos
3.3. Implantar una metodología de fabricación
4. MODELOS E INDICADORES ECONÓMICOS
BIBLIOGRAFÍA
CAPÍTULO 2. DESARROLLO DE SOFTWARE DIRIGIDO POR MODELOS
1. INTRODUCCIÓN
2. EL ORIGEN DEL DSDM
3. DESARROLLO DE SOFTWARE DIRIGIDO POR MODELOS
3.1. Principios básicos del DSDM
3.2. Lenguajes de modelado
4. MDA
4.1. El marco de MDA
4.2. El proceso de desarrollo en MDA
4.3. Herramientas y soporte comercial para MDA
5. FACTORÍAS DE SOFTWARE (SF)
5.1. El proceso de desarrollo en las SF
5.2. Herramientas y soporte comercial para las SF
6. MDA VS. SF
6.1. Comparación
6.2. Ventajas de MDA
6.3. Ventajas de las SF
7. EL PROCESO DE DESARROLLO DE SOFTWARE TRADICIONAL VS. EL
DSDM
8. RETOS Y DESAFÍOS
9. CONCLUSIONES
BIBLIOGRAFÍA
CAPÍTULO 3. LÍNEAS DE PRODUCTO SOFTWARE
1. INTRODUCCIÓN
2. DEFINICIÓN
3. BENEFICIOS RELATIVOS A LA PRODUCTIVIDAD Y AL COSTE
4. BENEFICIOS RELATIVOS A LA CALIDAD
5. ASPECTOS METODOLÓGICOS
5.1. Estrategias
5.2. Procesos
6. ASPECTOS TÉCNICOS
7. CONCLUSIONES
BIBLIOGRAFÍA
CAPÍTULO 4. SERVICIOS WEB: TECNOLOGÍAS Y DESARROLLO
1. INTRODUCCIÓN
2. SERVICIOS WEB Y LA ORIENTACIÓN A SERVICIOS
3. EVOLUCIÓN DE LOS SERVICIOS WEB
4. TECNOLOGÍAS DE SERVICIOS WEB
4.1. XML
4.2. SOAP
4.3. WSDL
4.4. UDDI
4.5. Relación entre las diferentes tecnologías de soporte a los servicios Web
5. COMPOSICIÓN DE SERVICIOS: UN PASO MÁS ALLÁ EN LA UTILIZACIÓN DE SERVICIOS WEB
6. SOD-M: UNA METODOLOGÍA PARA EL DESARROLLO ORIENTADO A SERVICIOS
7. SERVICIOS WEB SEMÁNTICOS
8. CONCLUSIONES
BIBLIOGRAFÍA
CAPÍTULO 5. GESTIÓN DE LA CALIDAD
1. INTRODUCCIÓN
2. CALIDAD DE PROCESO
2.1. Evaluación y mejora de procesos
3. CALIDAD DE PRODUCTO
3.1. Parte 1: modelo de calidad
3.2. Partes 2, 3 y 4: métricas externas, métricas internas y calidad en uso
4. CALIDAD EN DESARROLLO DE SOFTWARE DIRIGIDO POR MODELOS
4.1. Perspectivas de calidad en DSDM
4.2. Calidad de modelos UML
4.3. Calidad de transformaciones
5. CALIDAD EN LÍNEAS DE PRODUCTOS
5.1. Características de calidad para arquitecturas de líneas de productos
5.2. Técnicas para la evaluación de arquitecturas de líneas de productos
BIBLIOGRAFÍA
CAPÍTULO 6. GESTIÓN DE REQUISITOS
1. INTRODUCCIÓN
2. REQUISITOS Y CMMI
3. CONCEPTOS Y TÉCNICAS GENERALES DE INGENIERÍA DE REQUISITOS
3.1. Tipos de requisitos
3.2. Identificación y consenso (extracción) de requisitos
3.3. Documentación de requisitos
3.4. Especificación de requisitos individuales en la documentación de requisitos
3.5. Estructura jerárquica del documento de requisitos del proyecto
3.6. Plantillas de documentos de requisitos
3.7. Problemas prácticos relacionados con la elaboración del documento de requisitos del proyecto
4. ENFOQUES ALTERNATIVOS DE INGENIERÍA DE REQUISITOS
4.1. El enfoque orientado a objetivos
4.2. El enfoque basado en puntos de vista
4.3. El enfoque basado en aspectos
4.4. Modelado de requisitos no funcionales.
5. HERRAMIENTAS DE GESTIÓN DE REQUISITOS (CARE)
6. GESTIÓN DE REQUISITOS PARA LÍNEAS DE PRODUCTOS
7. INGENIERÍA DE REQUISITOS DEL DOMINIO Y DE LA APLICACIÓN
8. VARIABILIDAD EN LA ESPECIFICACIÓN DE REQUISITOS
8.1. Modelos de características
10 FÁBRICAS DE SOFTWARE: EXPERIENCIAS, TECNOLOGÍAS Y ORGANIZACIÓN ? RA-MA
8.2. Modelo de casos de uso
8.3. Modelos de variabilidad generales
8.4. Modelo de variabilidad ortogonal
8.5. Modelo de variabilidad ortogonal y variabilidad en los requisitos
9. UN MODELO DE PROCESOS GENERAL PARA LA INGENIERÍA DE REQUISITOS DEL DOMINIO
CONCLUSIONES
11. AGRADECIMIENTOS
BIBLIOGRAFÍA
CAPÍTULO 7. LAS PRUEBAS DEL SOFTWARE
1. INTRODUCCIÓN
2. PLANIFICACIÓN Y GESTIÓN
2.1. El modelo en V, niveles y tipos de prueba
2.2. Planificación y procesos de prueba
2.3. La hoja de cálculo de seguimiento de pruebas
2.4. Personal
2.5. Planificación temporal y costes
2.6. Modelos de mejora del proceso de pruebas
3. DISEÑO DE PRUEBAS
4. EJECUCIÓN Y HERRAMIENTAS
4.1. JUnit
4.2. Extensiones de JUnit
4.3. Herramientas para pruebas de rendimiento
4.4. Cobertura de código
4.5. Gestión de pruebas y seguimiento de defectos
4.6. Discusión sobre automatización
5. OTROS PROCESOS Y ENTORNOS
5.1. Pruebas exploratorias
5.2. Desarrollo ágil
5.3. Aplicaciones Web
5.4. Líneas de producto
5.5. Arquitecturas orientadas a servicios
6. AGRADECIMIENTOS
BIBLIOGRAFÍA
CAPÍTULO 8. GESTIÓN DE LA CONFIGURACIÓN SOFTWARE
1. INTRODUCCIÓN
2. SOBRE LA GESTIÓN DE CONFIGURACIÓN
3. SCM Y CONSTRUCCIÓN DE SOFTWARE
4. MITOS DE LA GESTIÓN DE CONFIGURACIÓN
5. PROBLEMAS DERIVADOS DE HERRAMIENTAS Y TÉCNICAS SCM INADECUADAS
6. PILARES BÁSICOS EN CONSTRUCCIÓN DE SOFTWARE
7. DESARROLLO PARALELO VS. DESARROLLO EN SERIE
8. INTEGRACIÓN PERIÓDICA
9. INTEGRACIÓN CONTINUA VS. CONTROLADA
10. SCM Y FAMILIAS DE PRODUCTOS
11. CONCLUSIÓN
BIBLIOGRAFÍA
CAPÍTULO 9. DESARROLLO GLOBAL DE SOFTWARE
1. INTRODUCCIÓN
2. LOS BENEFICIOS DE GSD
3. LOS DESAFÍOS DE GSD
4. HERRAMIENTAS DE APOYO AL TRABAJO EN GRUPO DISTRIBUIDO. 308
4.1. Herramientas asincrónicas
4.2. Herramientas sincrónicas
5. ESTRATEGIAS PARA MINIMIZAR PROBLEMAS EN GSD
5.1. Cómo minimizar los problemas de comunicación
5.2. Cómo mejorar el awareness
5.3. Cómo mejorar el grado de satisfacción de los stakeholders
6. CONCLUSIONES
7. AGRADECIMIENTOS
BIBLIOGRAFÍA
Libros relacionados
Matemáticas y gráficos con Python
(CTRD0036) Python Avanzado
(IFCD57) Programación para videojuegos en Unity
(IFCD68) Introducción a la programación en Python
Calidad y sostenibilidad de sistemas de información en la práctica
(IFCD32CP) Programación en Python
Python para finanzas
(IFCT095PO) Python y Django
Introducción a la programación con Python
Python Práctico