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. CAPÍTULO 1. VISIÓN GENERAL DE LAS FÁBRICAS DE SOFTWARE CAPÍTULO 2. DESARROLLO DE SOFTWARE DIRIGIDO POR MODELOS CAPÍTULO 3. LÍNEAS DE PRODUCTO SOFTWARE CAPÍTULO 4. SERVICIOS WEB: TECNOLOGÍAS Y DESARROLLO CAPÍTULO 5. GESTIÓN DE LA CALIDAD CAPÍTULO 6. GESTIÓN DE REQUISITOS CAPÍTULO 7. LAS PRUEBAS DEL SOFTWARE
PRÓLOGO
PREFACIO
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
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
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
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
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
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
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