Autor: | Pressman, Roger S. |
Editorial: | MC GRAW HILL |
# Páginas: | 777 páginas |
Dimensiones: | 21 x 27 cm. |
Empaste: | Rústica |
Idioma(s): | Español |
Código ISBN: | 9786071503145 |
Precio: | S/ 142.00 |
Edición: | 7 Año: 2010 |
Disponibilidad: | En Stock |
Prefacio
Capítulo 1
El Software y la Ingeniería de Software
1.1. La naturaleza del software
1.1.1. Definición de software
1.1.2. Dominios de aplicación del software
1.1.3. Software heredado
1.2. La naturaleza única de las webapps
1.3. Ingeniería de software
1.4. El proceso del software
1.5. La práctica de la ingeniería de software
1.5.1. La esencia de la práctica
1.5.2. Principios generales
1.6 Mitos del software
1.7. Cómo comienza todo
1.8. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Parte uno
El proceso del software
Capítulo 2
Modelos del proceso
2.1. Un modelo general de proceso
2.1.1. Definición de actividad estructural
2.1.2. Identificación de un conjunto de tareas
2.1.3. Patrones del proceso
2.2. Evaluación y mejora del proceso
2.3. Modelos de proceso prescriptivo
2.3.1. Modelo de la cascada
2.3.2. Modelos de proceso incremental
2.3.3. Modelos de proceso evolutivo
2.3.4. Modelos concurrentes
2.3.5. Una última palabra acerca de los procesos evolutivos
2.4. Modelos de proceso especializado
2.4.1. Desarrollo basado en componentes
2.4.2. El modelo de métodos formales
2.4.3. Desarrollo de software orientado a aspectos
2.5. El proceso unificado
2.5.1. Breve historia
2.5.2. Fases del proceso unificado
2.6. Modelos del proceso personal y del equipo
2.6.1. Proceso personal del software (PPS)
2.6.2. Proceso del equipo de software (PES)
2.7. Tecnología del proceso
2.8. Producto y proceso
2.9. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 3
Desarrollo ágil
3.1. ¿Qué es la agilidad?
3.2. La agilidad y el costo del cambio
3.3. ¿Qué es un proceso ágil?
3.3.1. Principios de agilidad
3.3.2. La política del desarrollo ágil
3.3.3. Factores humanos
3.4. Programación extrema (XP)
3.4.1. Valores XP
3.4.2. El proceso XP
3.4.3. XP industrial
3.4.4. El debate XP
3.5. Otros modelos ágiles de proceso
3.5.1. Desarrollo adaptativo de software (DAS)
3.5.2. Scrum
3.5.3 Método de desarrollo de sistemas dinámicos (MDSD)
3.5.4 Cristal
3.5.5 Desarrollo impulsado por las características (DIC)
3.5.6 Desarrollo esbelto de software (DES)
3.5.7. Modelado ágil (MA)
3.5.8 El proceso unificado ágil (PUA)
3.6. Conjunto de herramientas para el proceso ágil
3.7. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Parte dos
Modelado
Capítulo 4
Principios que guían la práctica
4.1. Conocimiento de la ingeniería de software
4.2. Principios fundamentales
4.2.1. Principios que guían el proceso
4.2.2. Principios que guían la práctica
4.3. Principios que guían toda actividad estructural
4.3.1. Principios de comunicación
4.3.2. Principios de planeación
4.3.3. Principios de modelado
4.3.4. Principios de construcción
4.3.5. Principios de despliegue
4.4. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Capítulo 5
Comprensión de los requerimientos
5.1. Ingeniería de requerimientos
5.2. Establecer las bases
5.2.1. Identificación de los participantes
5.2.2. Reconocer los múltiples puntos de vista
5.2.3. Trabajar hacia la colaboración
5.2.4. Hacer las primeras preguntas
5.3. Indagación de los requerimientos
5.3.1. Recabación de los requerimientos en formo colaborativa
5.3.2. Despliegue de lo función de calidad
5.3.3. Escenarios de uso
5.3.4. Indagación de los productos del trabajo
5.4. Desarrollo de cosos de uso
5.5. Elaboración del modelo de los requerimientos
5.5.1. Elementos del modelo de requerimientos
5.5.2. Patrones de análisis
5.6. Requerimientos de las negociaciones
5.7. Validación de los requerimientos
5.8. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 6
Modelado de los requerimientos: escenarios, información y clases de análisis
6.1. Análisis de los requerimientos
6.1.1. Objetivos y filosofía general
6.1.2. Reglas prácticos del análisis
6.1.3. Análisis del dominio
6.1.4. Enfoques del modelado de requerimientos
6.2. Modelado basado en escenarios
6.2.1. Creación de un coso preliminar de uso
6.2.2. Mejoro de un coso de uso preliminar
6.2.3. Escrituro de un coso de uso formol
6.3. Modelos UML que proporcionan el coso de uso
6.3.1. Desarrollo de un diagrama de actividades
6.3.2. Diagramas de canal (swimlane)
6.4. Conceptos de modelado de datos
6.4.1. Objetos de datos
6.4.2. Atributos de los datos
6.4.3. Relaciones
6.5. Modelado basado en clases
6.5.1. Identificación de las clases de análisis
6.5.2. Especificación de atributos
6.5.3. Definición de las operaciones
6.5.4. Modelado clase-responsabilidad-colaborador (CRC)
6.5.5. Asociaciones y dependencias
6.5.6. Paquetes de análisis
6.6. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 7
Modelado de los requerimientos: flujo, comportamiento, patrones y Webapps
7.1. Requerimientos que modelan las estrategias
7.2. Modelado orientado al flujo
7.2.1. Creación de un modelo de flujo de datos
7.2.2. Creación de un modelo de flujo de control
7.2.3. Lo especificación de control
7.2.4. Lo especificación del proceso
7.3. Creación de un modelo de comportamiento
7.3.1. Identificar los eventos con el coso de uso
7.3.2. Representaciones de estado
7.4. Patrones paro el modelado de requerimientos
7.4.1. Descubrimiento de patrones de análisis
7.4.2. Ejemplo de patrón de requerimientos: Actuador-Sensor
7.5. Modelado de requerimientos paro Webapps
7.5.1. ¿Cuánto análisis es suficiente?
7.5.2. Entrado del modelado de los requerimientos
7.5.3. Salida del modelado de los requerimientos
7.5.4. Modelo del contenido de las webapps
7.5.5. Modelo de la interacción para webapps
7.5.6. Modelo funcional para las webapps
7.5.7. Modelos de configuración para las webapps
7.5.8. Modelado de la navegación
7.6. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 8
Conceptos de diseño
8.1. Diseño en el contexto de la ingeniería de software
8.2. El proceso de diseño
8.2.1. Lineamientos y atributos de la calidad del software
8.2.2 La evolución del diseño del software
8.3. Conceptos de diseño
8.3.1. Abstracción
8.3.2. Arquitectura
8.3.3. Patrones
8.3.4. División de problemas
8.3.5. Modularidad
8.3.6. Ocultamiento de información
8.3.7. Independencia funcional
8.3.8. Refinamiento
8.3.9. Aspectos
8.3.10. Rediseño
8.3.11. Conceptos de diseño orientados a objeto
8.3.12. Clases de diseño
8.4. El modelo del diseño
8.4.1. Elementos del diseño de datos
8.4.2. Elementos del diseño arquitectónico
8.4.3. Elementos de diseño de la interfaz
8.4.4. Elementos del diseño en el nivel de los componentes
8.4.5. Elementos del diseño del despliegue
8.5. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 9
Diseño de la arquitectura
9.1. Arquitectura del software
9.1.1. ¿Qué es la arquitectura?
9.1.2. ¿Por qué es importante la arquitectura?
9.1.3. Descripciones arquitectónicas
9.1.4. Decisiones arquitectónicas
9.2. Géneros arquitectónicos
9.3. Estilos arquitectónicos
9.3.1. Breve taxonomía de estilos de arquitectura
9.3.2. Patrones arquitectónicos
9.3.3. Organización y refinamiento
9.4. Diseño arquitectónico
9.4.1. Representación del sistema en contexto
9.4.2. Definición de arquetipos
9.4.3. Refinamiento de la arquitectura hacia los componentes
9.4.4. Descripción de las instancias del sistema
9.5. Evaluación de los diseños alternativos poro lo arquitectura
9.5.1. Método de lo negociación paro analizar lo arquitectura
9.5.2. Complejidad arquitectónica
9.5.3. Lenguajes de descripción arquitectónica
9.6. Mapeo de lo arquitectura con el uso del flujo de datos
9.6.1. Mapeo de transformación
9.6.2. Refinamiento del diseño arquitectónico
9.7. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 10
Diseño en el nivel de componentes
10.1. ¿Qué es un componente?
10.1.1. Uno visión orientado o objetos
10.1.2. Lo visión tradicional
10.1.3. Visión relacionada con el proceso
10.2. Diseño de componentes basados en clase
10.2.1. Principios básicos del diseño
10.2.2. Lineamientos de diseño en el nivel de componentes
10.2.3. Cohesión
10.2.4. Acoplamiento
10.3. Realización del diseño en el nivel de componentes
10.4. Diseño en el nivel de componentes paro webapps
10.4.1. Diseño del contenido en el nivel de componente
10.4.2. Diseño de los funciones en el nivel de componentes
10.5. Diseño de componentes tradicionales
10.5.1. Notación gráfico de diseño
10.5.2. Notación del diseño tabular
10.5.3. Lenguaje de diseño del programo
10.6. Desarrollo basado en componentes
10.6.1. Ingeniería del dominio
10.6.2. Calificación, adaptación y combinación de los componentes
10.6.3. Análisis y diseño paro lo reutilización
10.6.4. Clasificación y recuperación de componentes
10.7. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 11
Diseño de la interfaz de usuario
11.1. Los reglas dorados
11.1.1. Dejar el control al usuario
11.1.2. Reducir lo necesidad de que el usuario memorice
11.1.3. Hacer consistente lo interfaz
11.2. Análisis y diseño de lo interfaz de usuario
11.2.1. Análisis y modelos del diseño de lo interfaz
11.2.2. El proceso
11.3. Análisis de lo interfaz
11.3.1. Análisis del usuario
11.3.2. Análisis y modelado de la tarea
11.3.3. Análisis del contenido de la pantalla
11.3.4. Análisis del ambiente de trabajo
11.4. Etapas del diseño de la interfaz
11.4.1. Aplicación de las etapas de diseño de la interfaz
11.4.2. Patrones de diseño de la interfaz de usuario
11.4.3. Aspectos del diseño
11.5. Diseño de una interfaz para webapps
11.5.1. Principios y lineamientos del diseño de la interfaz
11.5.2. Flujo de trabajos para el diseño de la interfaz de webapp
11.6. Evaluación del diseño
11.7. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 12
Diseño basado en patrones
12.1. Patrones de diseño
12.1.1. Clases de patrones
12.1.2. Estructuras
12.1.3. Descripción de un patrón
12.1.4. Lenguajes y repositorios de patrones
12.2. Diseño de software basado en patrones
12.2.1. El diseño basado en patrones, en contexto
12.2.2. Pensar en patrones
12.2.3. Tareas de diseño
12.2.4. Construcción de una tabla para organizar el patrón
12.2.5. Errores comunes en el diseño
12.3. Patrones arquitectónicos
12.4. Patrones de diseño en el nivel de componentes
12.5. Patrones de diseño de la interfaz de usuario
12.6. Patrones de diseño de webapp
12.6.1. Centrarse en el diseño
12.6.2. Granularidad del diseño
12.7. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 13
Diseño de webapps
13.1. Calidad del diseño de webapps
13.2. Metas del diseño
13.3. Pirámide del diseño de webapps
13.4. Diseño de la interfaz de la webapp
13.5. Diseño de la estética
13.5.1. Aspectos de la distribución
13.5.2. Aspectos del diseño gráfico
13.6. Diseño del contenido
13.6.1. Objetos de contenido
13.6.2. Aspectos de diseño del contenido
13.7. Diseño arquitectónico
13.7.1. Arquitectura del contenido
13.7.2. Arquitectura de las webapps
13.8. Diseño de la navegación
13.8.1. Semántica de la navegación
13.8.2. Sintaxis de navegación
13.9. Diseño en el nivel de componentes
13.10. Método de diseño de hipermedios orientado a objetos (MDHOO)
13.10.1. Diseño conceptual del MDHOO
13.10.2. Diseño de la navegación para el MDHOO
13.10.3. Diseño abstracto de la interfaz y su implementación
13.11. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Parte tres
Administración de la calidad
Capítulo 14
Conceptos de calidad
14.1. ¿Qué es calidad?
14.2. Calidad del software
14.2.1. Dimensiones de la calidad de Garvin
14.2.2. Factores de la calidad de McCall
14.2.3. Factores de la calidad ISO 9126
14.2.4. Factores de calidad que se persiguen
14.2.5. Transición a un punto de vista cuantitativo
14.3. El dilema de la calidad del software
14.3.1. Software "suficientemente bueno"
14.3.2. El costo de la calidad
14.3.3. Riesgos
14.3.4. Negligencia y responsabilidad
14.3.5. Calidad y seguridad
14.3.6. El efecto de las acciones de la administración
14.4. Lograr la calidad del software
14.4.1. Métodos de la ingeniería de software
14.4.2. Técnicas de administración de proyectos
14.4.3. Control de calidad
14.4.4. Aseguramiento de la calidad
14.5. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Capítulo 15
Técnicas de revisión
15.1. Efecto de los defectos del software en el costo
15.2. Amplificación y eliminación del defecto
15.3. Métricas de revisión y su empleo
15.3.1. Análisis de las métricas
15.3.2. Eficacia del costo de las revisiones
15.4. Revisiones: espectro de formalidad
15.5. Revisiones informales
15.6. Revisiones técnicas formales
15.6.1. La reunión de revisión
15.6.2. Reporte y registro de la revisión
15.6.3. Lineamientos para la revisión
15.6.4. Revisiones orientadas al muestreo
15.7. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Capítulo 16
Aseguramiento de la calidad del software
16.1. Antecedentes
16.2. Elementos de aseguramiento de la calidad del software
16.3. Tareas, metas y métricas del ACS
16.3.1. Tareas del ACS
16.3.2. Metas, atributos y métricas
16.4. Enfoques formales al ACS
16.5. Aseguramiento estadístico de la calidad del software
16.5.1. Ejemplo general
16.5.2. Seis Sigma para la ingeniería de software
16.6. Confiabilidad del software
16.6.1. Mediciones de la confiabilidad y disponibilidad
16.6.2. Seguridad del software
16.7. Los normas de calidad ISO 9000
16.8. El plan de ACS
16.9. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Capítulo 17
Estrategias de prueba de software
17.1. Un enfoque estratégico paro lo pruebo de software
17.1.1. Verificación y validación
17.1.2. Organización de los pruebas del software
17.1.3. Estrategia de pruebo del software. Visión general
17.1.4. Criterios paro completar los pruebas
17.2. Aspectos estratégicos
17.3. Estrategias de pruebo paro software convencional
17.3.1. Pruebo de unidad
17.3.2. Pruebas de integración
17.4. Estrategias de pruebo paro software orientado o objeto
17.4.1. Pruebo de unidad en el contexto OO
17.4.2. Pruebo de integración en el contexto OO
17.5. Estrategias de pruebo paro webapps
17.6. Pruebas de validación
17.6.1. Criterios de pruebas de validación
17.6.2. Revisión de lo configuración
17.6.3. Pruebas alfo y beta
17.7. Pruebas del sistema
17.7.1. Pruebas de recuperación
17.7.2. Pruebas de seguridad
17.7.3. Pruebas de esfuerzo
17.7.4. Pruebas de rendimiento
17.7.5. Pruebas de despliegue
17.8. El arte de lo depuración
17.8.1. El proceso de depuración
17.8.2. Consideraciones psicológicas
17.8.3. Estrategias de depuración
17.8.4. Corrección del error
17.9. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Capítulo 18
Prueba de aplicaciones convencionales
18.1. Fundamentos de las pruebas del software
18.2. Visiones interno y externo de los pruebas
18.3. Prueba de caja blanca
18.4. Prueba de ruta básica
18.4.1. Notación de gráfico o grafo de flujo
18.4.2. Rutas de programa independientes
18.4.3. Derivación de casos de prueba
18.4.4. Matrices de grafo
18.5. Prueba de la estructura de control
18.5.1. Prueba de condición
18.5.2. Prueba de flujo de datos
18.5.3. Prueba de bucle
18.6. Pruebas de caja negra
18.6.1. Métodos de prueba basados en gráficos
18.6.2. Partición de equivalencia
18.6.3. Análisis de valor de frontera
18.6.4. Prueba de arreglo ortogonal
18.7. Prueba basada en modelo
18.8. Prueba para entornos, arquitecturas y aplicaciones especializados
18.8.1. Pruebas de interfaces gráficas de usuario
18.8.2. Prueba de arquitecturas cliente-servidor
18.8.3. Documentación de prueba y centros de ayuda
18.8.4. Prueba para sistemas de tiempo real
18.9. Patrones para pruebas de software
18.10. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 19
Prueba de aplicaciones orientadas a objetos
19.1. Ampliación de la definición de las pruebas
19.2. Modelos de prueba AOO y DOO
19.2.1. Exactitud de los modelos AOO y DOO
19.2.2. Consistencia de los modelos orientados a objetos
19.3. Estrategias de pruebas orientadas a objetos
19.3.1. Prueba de unidad en el contexto OO
19.3.2. Prueba de integración en el contexto OO
19.3.3. Prueba de validación en un contexto OO
19.4. Métodos de prueba orientada a objetos
19.4.1. Implicaciones del diseño de casos de prueba de los conceptos OO
19.4.2. Aplicabilidad de los métodos convencionales de diseño de casos de prueba
19.4.3. Prueba basada en fallo
19.4.4. Casos de prueba y jerarquía de clase
19.4.5. Diseño de pruebas basadas en escenario
19.4.6. Pruebas de las estructuras superficial y profunda
19.5. Métodos de prueba aplicables en el nivel clase
19.5.1. Prueba aleatoria para clases OO
19.5.2. Prueba de partición en el nivel de clase
19.6. Diseño de casos de prueba interclase
19.6.1. Prueba de clase múltiple
19.6.2. Pruebas derivadas a partir de modelos de comportamiento
19.7. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 20
Prueba de aplicaciones Web
20.1. Conceptos de pruebas para aplicaciones Web
20.1.1. Dimensiones de calidad
20.1.2. Errores dentro de un entorno de webapp
20.1.3. Estrategia de las pruebas
20.1.4. Planificación de pruebas
20.2. Un panorama del proceso de prueba
20.3. Prueba de contenido
20.3.1. Objetivos de la prueba de contenido
20.3.2. Prueba de base de datos
20.4. Prueba de interfaz de usuario
20.4.1. Estrategia de prueba de interfaz
20.4.2. Prueba de mecanismos de interfaz
20.4.3. Prueba de la semántica de la interfaz
20.4.4. Pruebas de usabilidad
20.4.5. Pruebas de compatibilidad
20.5. Prueba en el nivel de componente
20.6. Prueba de navegación
20.6.1. Prueba de sintaxis de navegación
20.6.2. Prueba de la semántica de navegación
20.7. Prueba de configuración
20.7.1. Conflictos en el lado servidor
20.7.2. Conflictos en el lado cliente
20.8. Prueba de seguridad
20.9. Prueba de rendimiento
20.9.1. Objetivos de la prueba de rendimiento
20.9.2. Prueba de carga
20.9.3. Prueba de esfuerzo
20.10. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 21
Modelado y verificación formal
21.1. Estrategia de cuarto limpio
21.2. Especificación funcional
21.2.1. Especificación de caja negra
21.2.2. Especificación de caja de estado
21.2.3. Especificación de caja clara
21.3. Diseño de cuarto limpio
21.3.1. Refinamiento de diseño
21.3.2. Verificación de diseño
21.4. Pruebas de cuarto limpio
21.4.1. Pruebas de uso estadístico
21.4.2 Certificación
21.5. Conceptos de métodos formales
21.6. Aplicación de notación matemática para especificación formal
21.7. Lenguajes de especificación formal
21.7.1. Lenguaje de restricción de objeto (OCL)
21.7.2. El lenguaje de especificación Z
21.8. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 22
Administración de la configuración del software
22.1. Administración de la configuración del software
22.1.1. Un escenario ACS
22.1.2. Elementos de un sistema de administración de la configuración
22.1.3. Líneas de referencia
22.1.4. Ítems de configuración del software
22.2. El repositorio ACS
22.2.1. El papel del repositorio
22.2.2. Características y contenido generales
22.2.3. Características ACS
22.3. El proceso ACS
22.3.1. Identificación de objetos en la configuración del software
22.3.2. Control de versión
22.3.3. Control de cambio
22.3.4. Auditoria de configuración
22.3.5. Reporte de estado
22.4. Administración de la configuración para webapps
22.4.1. Conflictos dominantes
22.4.2. Objetos de configuración de webapps
22.4.3. Administración de contenido
22.4.4. Administración del cambio
22.4.5 Control de versión
22.4.6. Auditorio y reporte
22.5. Resumen
Problemas y puntos por evaluar
Lecturas adicionales y fuentes de información
Capítulo 23
Métricas de producto
23.1. Marco conceptual para las métricas de producto
23.1.1. Medidas, métricos e indicadores
23.1.2. El reto de la métrica de producto
23.1.3. Principios de medición
23.1.4. Medición de software orientado a meta
23.1.5. Atributos de las métricas de software efectivas
23.2. Métricas para el modelo de requerimientos
23.2.1. Métrica basada en funciones
23.2.2. Métricas para calidad de la especificación
23.3. Métricas para el modelo de diseño
23.3.1. Métricas del diseño arquitectónico
23.3.2. Métricas para diseño orientado a objetos
23.3.3. Métricas orientadas a clase: la suite de métricas CK
23.3.4. Métricas orientadas a clase: La suite de métricas MOOD
23.3.5. Métricas OO propuestas por Lorenz y Kidd
23.3.6. Métricas de diseño en el nivel de componente
23.3.7. Métricas orientadas a operación
23.3.8. Métricas de diseño de interfaz de usuario
23.4. Métricas de diseño para webapps
23.5. Métricas para código fuente
23.6. Métricas para pruebas
23.6.1. Métricas de Halstead aplicadas para probar
23.6.2. Métricas para pruebas orientadas a objetos
23.7. Métricas para mantenimiento
23.8. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Parte cuatro
Administración de proyectos de software
Capítulo 24
Conceptos de administración de proyecto
24.1. El espectro administrativo
24.1.1. El personal
24.1.2. El producto
24.1.3. El proceso
24.1.4. El proyecto
24.2. El personal
24.2.1. Los participantes
24.2.2. Líderes de equipo
24.2.3. El equipo de software
24.2.4. Equipos ágiles
24.2.5. Conflictos de coordinación y comunicación
24.3. El producto
24.3.1. Ámbito del software
24.3.2. Descomposición del problema
24.4. El proceso
24.4.1. Fusión de producto y proceso
24.4.2. Descomposición del proceso
24.5. El proyecto
24.6. El principio W5HH
24.7. Prácticas cruciales
24.8. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Capítulo 25
Métricas de proceso y de proyecto
25.1. Métricas en los dominios de proceso y proyecto
25.1.1. Las métricas del proceso y la mejora del proceso de software
25.1.2. Métricas de proyecto
25.2. Medición del software
25.2.1. Métricas orientadas a tamaño
25.2.2. Métricas orientadas a función
25.2.3. Reconciliación de métricas LOC y PF
25.2.4. Métricas orientadas a objeto
25.2.5. Métricas orientadas a caso de uso
25.2.6. Métricas de proyecto webapp
25.3. Métricas para calidad de software
25.3.1. Medición de la calidad
25.3.2. Eficiencia en la remoción del defecto
25.4. Integración de métricas dentro del proceso de software
25.4.1. Argumentos para métricas de software
25.4.2. Establecimiento de una línea de referencia
25.4.3. Recolección, cálculo y evaluación de métricas
25.5. Métricas para organizaciones pequeñas
25.6. Establecimiento de un programa de métricas del software
25.7. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Capítulo 26
Estimación para proyectos de software
26.1. Observaciones acerca de las estimaciones
26.2. El proceso de planificación del proyecto
26.3. Ámbito y factibilidad del software
26.4. Recursos
26.4.1. Recursos humanos
26.4.2. Recursos de software reutilizables
26.4.3. Recursos ambientales
26.5. Estimación de proyectos de software
26.6. Técnicas de descomposición
26.6.1. Dimensionamiento del software
26.6.2. Estimación basada en problema
26.6.3. Un ejemplo de estimación basada en LOC
26.6.4. Un ejemplo de estimación basada en PF
26.6.5. Estimación basada en proceso
26.6.6. Un ejemplo de estimación basada en proceso
26.6.7. Estimación con casos de uso
26.6.8. Un ejemplo de estimación basada en caso de uso
26.6.9. Reconciliación de estimaciones
26.7. Modelos de estimación empíricos
26.7.1. La estructura de los modelos de estimación
26.7.2. El modelo COCOMO II
26.7.3. La ecuación del software
26.8. Estimación para proyectos orientados a objetos
26.9. Técnicas de estimación especializadas
26.9.1. Estimación para desarrollo ágil
26.9.2. Estimación para webapp
26.10. La decisión hacer/comprar
26.10.1. Creación de un árbol de decisión
26.10.2. Outsourcing
26.11. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Capítulo 27
Calendarización del proyecto
27.1. Conceptos básicos
27.2. Calendarización del proyecto
27.2.1. Principios básicos
27.2.2. Relación entre personal y esfuerzo
27.2.3. Distribución de esfuerzo
27.3. Definición de un conjunto de tareas para el proyecto de software
27.3.1. Un ejemplo de conjunto de tareas
27.3.2. Refinamiento de acciones de ingeniería del software
27.4. Definición de una red de tareas
27.5. Calendarización
27.5.1. Cronogramas
27.5.2. Seguimiento del calendario
27.5.3. Seguimiento del progreso para un proyecto OO
27.5.4. Calendarización para proyectos webapp
27.6. Análisis de valor ganado
27.7. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Capítulo 28
Administración del riesgo
28.1. Estrategias reactivas de riesgo frente a estrategias proactivas de riesgo
28.2. Riesgos de software
28.3. Identificación de riesgos
28.3.1. Valoración del riesgo de proyecto global
28.3.2. Componentes y promotores de riesgo
28.4. Proyección del riesgo
28.4.1. Elaboración de una lista de riesgos
28.4.2. Valoración de impacto de riesgo
28.5. Refinamiento del riesgo
28.6. Mitigación, monitoreo y manejo de riesgo
28.7. El plan MMMR
28.8. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Capítulo 29
Mantenimiento y reingeniería
29.1. Mantenimiento de software
29.2. Soportabilidad del software
29.3. Reingenería
29.4. Reingeniería de procesos de empresa
29.4.1. Procesos empresariales
29.4.2. Un modelo RPE
29.5. Reingeniería de software
29.5.1. Un modelo de proceso de reingeniería de software
29.5.2. Actividades de reingeniería de software
29.6. Ingeniería inversa
29.6.1. Ingeniería inversa para comprender datos
29.6.2. Ingeniería inversa para entender el procesamiento
29.6.3. Ingeniería inversa de interfaces de usuario
29.7. Reestructuración
29.7.1. Reestructuración de código
29.7.2. Reestructuración de datos
29.8. Ingeniería hacia adelante
29.8.1. Ingeniería hacia adelante para arquitecturas cliente-servidor
29.8.2. Ingeniería hacia adelante para arquitecturas orientadas a objetos
29.9. Economía de la reingeniería
29.10. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Parte cinco
Temas avanzados
Capítulo 30
Mejoramiento del proceso de software
30.1. ¿Qué es mps?
30.1.1. Enfoques del MPS
30.1.2. Modelos de madurez
30.1.3. ¿El MPS es para todos?
30.2. El proceso MPS
30.2.1. Valoración y análisis de la desviación
30.2.2. Educación y capacitación
30.2.3. Selección y justificación
30.2.4. Instalación/migración
30.2.5. Evaluación
30.2.6. Gestión del riesgo para MPS
30.2.7. Factores de éxito cruciales
30.3. El CMMI
30.4. El CMM de personal
30.5. Otros marcos conceptuales MPS
30.6. Rendimiento sobre inversión de MPS
30.7. Tendencias MPS
30.8. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de información adicionales
Capítulo 31
Tendencias emergentes en ingeniería del software
31.1. Evolución tecnológica
31.2. Observación de las tendencias en ingeniería del software
31.3. Identificación de "tendencias blandas"
31.3.1. Administración de la complejidad
31.3.2. Software de mundo abierto
31.3.3. Requerimientos emergentes
31.3.4. La mezcla de talento
31.3.5. Bloques constructores de software
31.3.6. Cambio de percepciones de "valor"
31.3.7. Fuente abierta
31.4. Direcciones de la tecnología
31.4.1. Tendencias de proceso
31.4.2. El gran desafío
31.4.3. Desarrollo colaborativo
31.4.4. Ingeniería de requerimientos
31.4.5. Desarrollo de software impulsado por modelo
31.4.6. Diseño posmoderno
31.4.7. Desarrollo impulsado por pruebas
31.5. Tendencias relacionadas con herramientas
31.5.1. Herramientas que responden a tendencias blandas
31.5.2. Herramientas que abordan tendencias tecnológicas
31.6. Resumen
Problemas y puntos por evaluar
Lecturas y fuentes de informaci6n adicionales
Capítulo 32
Comentarios finales
32.1. La importancia del software-revisión
32.2. Las personas y la forma en la que construyen sistemas
32.3. Nuevos modos para representar la información
32.4. La vista larga
32.5. La responsabilidad del ingeniero de software
32.6. Un comentario final
Apéndice 1. Introducción a UML
Apéndice 2. Conceptos orientados a objeto
Referencias
Índice analítico