| Nota de contenido con formato |
- VISIÓN GENERAL <br/>1. Introducción,<br/>1.1. Preguntas frecuentes sobre la ingeniería del software,<br/>1.1.1. ¿Qué es software?,<br/>1.1.2. ¿Qué es la ingeniería del software?,<br/>1.1.3. ¿Cuál es la diferencia entre ingeniería del software y ciencia de la computación?,<br/>1.1.4. ¿Cuál es la diferencia entre ingeniería del software e ingeniería de sistemas?,<br/>1.1.5. ¿Qué es un proceso del software?,<br/>1.1.6. ¿Qué es un modelo de procesos del software?,<br/>1.1.7. ¿Cuáles son los costos de la ingeniería del software?,<br/>1.1.8. ¿Qué son los métodos de la ingeniería del software?,<br/>1.1.9. Qué es CASE?,<br/>1.1.10. ¿Cuáles son los atributos de un buen software?,<br/>1.1.11. ¿Cuáles son los retos fundamentales que afronta la ingeniería del software?<br/>1.2. Responsabilidad profesional y ética<br/>- 2. Sistemas socio-técnicos -<br/>2.1. Propiedades emergentes de los sistemas,<br/>2.2. Ingeniería de sistemas,<br/>2.2.1. Definición de requerimientos del sistema,<br/>2.2.2. Diseño del sistema,<br/>2.2.3. Modelado de sistemas,<br/>2.2.4. Desarrollo de los subsistemas,<br/>2.2.5. Integración del sistema,<br/>2.2.6. Evolución del sistema,<br/>2.2.7. Desmantelamiento del sistema,<br/>2.3. Organizaciones, personas y sistemas informáticos,<br/>2.3.1. Procesos organizacionales,<br/>2.4. Sistemas heredados,<br/>- 3. Sistemas críticos -<br/>3.1. Un sistema de seguridad crítico sencillo,<br/>3.2. Confiabilidad de un sistema,<br/>3.3. Disponibilidad y fiabilidad,<br/>3.4. Seguridad,<br/>3.5. Protección,<br/>- 4. Procesos del software -<br/>4.1. Modelos del proceso del software<br/>4.1.1. El modelo en cascada,<br/>4.1.2. Desarrollo evolutivo,<br/>4.1.3. Ingeniería del software basada en componentes,<br/>4.2. Iteración de procesos,<br/>4.2.1. Entrega incremental,<br/>4.2.2. Desarrollo en espiral,<br/>4.3. Actividades del proceso,<br/>4.3.1. Especificación del software,<br/>4.3.2. Diseño e implementación del software,<br/>4.3.3. Validación del software,<br/>4.3.4. Evolución del software,<br/>4.4. El Proceso Unificado de Rational,<br/>4.5. Ingeniería del Software Asistida por computadora,<br/>4.5.1. Clasificación de CASE,<br/>- 5. Gestión de proyectos -<br/>5.1. Actividades de gestión,<br/>5.2. Planificación del proyecto,<br/>5.2.1. El plan del proyecto,<br/>5.2.2. Hitos y entregas,<br/>5.3. Calendarización del proyecto,<br/>5.3.1. Gráficos de barras y redes de actividades,<br/>5.4. Gestión de riesgos,<br/>5.4.1. Identificación de riesgos,<br/>5.4.2. Análisis de riesgos,<br/>5.4.3. Planificación de riesgos,<br/>5.4.4. Supervisión de riesgos,<br/><br/>- Parte II. REQUERIMIENTOS - <br/>- 6. Requerimientos del software -<br/>6.1. Requerimientos funcionales y no funcionales,<br/>6.1.1. Requerimientos funcionales,<br/>6.1.2. Requerimientos no funcionales,<br/>6.1.3. Los requerimientos del dominio,<br/>6.2. Requerimientos del usuario,<br/>6.3. Requerimientos del sistema,<br/>6.3.1. Especificaciones en lenguaje estructurado,<br/>6.4. Especificación de la interfaz,<br/>6.5. EI documento de requerimientos del software,<br/>- 7. Procesos de la ingeniería de requerimientos -<br/>7.1. Estudios de viabilidad,<br/>7.2. Obtención y análisis de requerimientos,<br/>7.2.1. Descubrimiento de requerimientos,<br/>7.2.2. Etnografía,<br/>7.3. Validación de requerimientos,<br/>7.3.1. Revisiones de requerimientos,<br/>7.4. Gestión de requerimientos,<br/>7.4.1. Requerimientos duraderos y volátiles,<br/>7.4.2. Planificación de la gestión de requerimientos,<br/>7.4.3. Gestión del cambio de los requerimientos,<br/>- 8. Modelos del sistema -<br/>8.1. Modelos de contexto,<br/>8.2. Modelos de comportamiento,<br/>8.2.1. Modelos de flujo de datos,<br/>8.2.2. Modelos de máquina de estados,<br/>8.3. Modelos de datos,<br/>8.4. Modelos de objetos,<br/>8.4.1. Modelos de herencia,<br/>8.4.2. Agregación de objetos,<br/>8.4.3. Modelado de comportamiento de objetos,<br/>8.5. Métodos estructurados,<br/>- 9. Especificación de sistemas críticos -<br/>9.1. Especificación dirigida por riesgos,<br/>9.1.1. Identificación de riesgos,<br/>9.1.2. Análisis y clasificación de riesgos,<br/>9.1.3. Descomposición de riesgos,<br/>9.1.4. Valoración de la reducción de riesgos,<br/> 9.2. Especificación de la seguridad,<br/>9.3. Especificación de la protección,<br/>9.4. Especificación de la fiabilidad del software,<br/>9.4.1. Métricas de fiabilidad,<br/>9.4.2. Requerimientos de fiabilidad no funcionales,<br/>- 10. Especificación formal - <br/>10.1. Especificación formal en el proceso del software,<br/>10.2. Especificación de interfaces de subsistemas,<br/>10.3. Especificación del comportamiento,<br/>- Parte III. DISEÑO -<br/>11. Diseño arquitectónico,<br/>11.1. Decisiones de diseño arquitectónico,<br/>11.2. Organización del sistema,<br/>11.2.1. El modelo de repositorio,<br/>11.2.2. El modelo cliente-servidor,<br/>11.2.3. El modelo de capas,<br/>11.3. Estilos de descomposición modular,<br/>11.3.1. Descomposición orientada a objetos,<br/>11.3.2. Descomposición orientada a flujos de funciones,<br/>11.4. Estilos de control,<br/>11,4.1. Control centralizado,<br/>11.4.2. Sistemas dirigidos por eventos,<br/>11.5. Arquitecturas de referencia,<br/>- 12. Arquitecturas de sistemas distribuidos -<br/>12.1. Arquitecturas multiprocesador,<br/>12.2. Arquitecturas cliente-servidor,<br/>12.3. Arquitecturas de objetos distribuidos,<br/>12.3.1. CORBA,<br/>12.4. Computación distribuida interorganizacional,<br/>12.4.1. Arquitecturas peer-t0-peer,<br/>12.4.2. Arquitectura de sistemas orientados a servicios,<br/>- 13. Arquitecturas de aplicaciones -<br/>13.1. Sistemas de procesamiento de datos,<br/>13.2. Sistemas de procesamiento de transacciones,<br/>13.2.1. Sistemas de información y de gestiốn de recursos,<br/>13.3. Sistemas de procesamiento de eventos,<br/>13.4. Sistemas de procesamiento de lenguajes,<br/>- 14. Diseño orientado a objetos - <br/>14.1. Objetos y clases,<br/>14.1.1. Objetos concurrentes,<br/>14.2. Un proceso de diseño orientado a objetos,<br/>14.2.1. Contexto del sistema y modelos de utilización,<br/>14.2.2. Diseño de la arquitectura,<br/>14.2.3. Identificación de objetos,<br/>14.2.4. Modelos de diseño,<br/>14.2.5. Especificación de la interfaz de los objetos,<br/>14.3. Evolución del diseño,<br/>- 15. Diseño de software de tiempo real - <br/>15.1. Diseño del sistema,<br/>15.1.1. Modelado de sistemas de tiempo real,<br/>15.2. Sistemas operativos de tiempo real,<br/>15.2.1. Gestión de procesos,<br/>15.3. Sistemas de monitorización y control,<br/>15.4. Sistemas de adquisición de datos,<br/>- 16. Diseño de interfaces de usuario -<br/>16.1. Asuntos de diseño,<br/>16.1.1. Interacción del usuario,<br/>16.1.2. Presentación de la información,<br/>16.2. El proceso de diseño de la interfaz de usuario,<br/>16.3. Análisis del usuario,<br/>16.3.1. Técnicas de análisis,<br/>16.4. Prototipado de la interfaz de usuario,<br/>16.5. Evaluación de la interfaz,<br/>- Parte IV. DESARROLLO - <br/>17. Desarrollo,<br/>17.1. Métodos ágiles,<br/>17.2. Programación extrema,<br/>17.2.1. Pruebas en XP,<br/>17.2.2. Programación en parejas<br/>17.3. Desarrollo rápido de aplicaciones,<br/>17.4. Prototipado del software,<br/>- 18. Reutilización del software -<br/>18.1. El campo de la reutilización,<br/>18.2. Patrones de diseño,<br/>18.3. Reutilización basada en generadores,<br/>18.4. Marcos de trabajo de aplicaciones,<br/>18.5. Reutilización de sistemas de aplicaciones,<br/>18.5.1. Reutilización de productos COTS,<br/>18.5.2. Líneas de productos software,<br/>- 19. Ingeniería del software basada en componentes - <br/>19.1. Componentes y modelos de componentes,<br/>19.1.1. Modelos de componentes,<br/>19.1.2. Desarrollo de componentes para reutilización,<br/>19.2. El proceso CBSE,<br/>19.3. Composición de componentes,<br/>- 20. Desarrollo de sistemas críticos - <br/>20.1. Procesos confiables,<br/>20.2. Programación confiable,<br/>20.2.1. Información protegida,<br/>20.2.2. Programación segura,<br/>20.2.3. Manejo de excepciones,<br/>20.3. Tolerancia a defectos,<br/>20.3.1. Detección de defectos y evaluación de daños,<br/>20.3.2. Recuperación y reparación de defectos,<br/>20.4. Arquitecturas tolerantes a defectos,<br/>- 21. Evolución del software -<br/>21.1. Dinámica de evolución de los programas,<br/>21.2. Mantenimiento del software,<br/>21.2.1. Predicción del mantenimiento,<br/>21.3. Procesos de evolución,<br/>21.3.1. Reingeniería de sistemas,<br/>21.4. Evolución de sistemas heredados,<br/>- Parte V. VERIFICACIÓN Y VALIDACIÓN -<br/>22. Verificación y validación -<br/>22.1. Planificación de la verificación y validación,<br/>22.2.1. El proceso de inspección de programas,<br/>22.3. Análisis estático automatizado,<br/>22.4. Verificación y métodos formales,<br/>22.4.1. Desarrollo de software de Sala Limpia,<br/>- 23. Pruebas del software -<br/>23.1. Pruebas del sistema,<br/>23.1.1. Pruebas de integración,<br/>23.1.2. Pruebas de entregas,<br/>23.1.3. Pruebas de rendimiento,<br/>23.2. Pruebas de componentes,<br/>23.2.1. Pruebas de interfaces,<br/>23.3. Diseño de casos de prueba,<br/>23.3.1. Pruebas basadas en requerimientos,<br/>23.3.2. Pruebas de particiones,<br/>23.3.3. Pruebas estructurales,<br/>23.3.4. Pruebas de caminos,<br/>23.4. Automatización de las pruebas,<br/>- 24. Validación de sistemas críticos -<br/>24.1. Validación de la fiabilidad,<br/>24.1.1. Perfiles operacionales,<br/>24.1.2. Predicción de la fiabilidad,<br/>24.2. Garantía de la seguridad,<br/>24.2.1. Argumentos de seguridad,<br/>24.2.2. Garantía del proceso,<br/>24.2.3. Comprobaciones de seguridad en tiempo de ejecución,<br/>24.3. Valoración de la protección,<br/>24.4. Argumentos de confiabilidad y de seguridad,<br/>- Parte VI. GESTIÓN DE PERSONAL - <br/>- 25. Gestión de personal - <br/>25.1. Selección de personal,<br/>25.2. Motivación,<br/>25.3. Gestionando grupos,<br/>25.3.1. La composición del grupo,<br/>25.3.2. Cohesión,<br/>25.3.3. Las comunicaciones del grupo,<br/>25.3.4. La organización del grupo,<br/>25.3.5. Entornos de trabajo,<br/>25.4. El Modelo de Madurez de la Capacidad del Personal,<br/>26. Estimación de costes del software,<br/><br/><br/><br/>26.1. Productividad,<br/>26.2. Técnicas de estimación,<br/>26.3. Modelado algorítmico de costes,<br/>26.3.1. El modelo de COCOMO,<br/>26.3.2. Modelos algorítmicos de costes en la planificación,<br/>26.4. Duración y personal del proyecto,<br/>- 27. Gestión de calidad - <br/>27.1. Calidad de proceso y producto,<br/>27.2. Garantía de la calidad y estándares,<br/>27.2.1. ISO 9000,<br/>27.2.2. Estándares de documentación<br/>27.3. Planificación de la calidad,<br/>27.4. Control de la calidad,<br/>27.4.1. Revisiones de la calidad,<br/>27.5. Medición y métricas del software,<br/>27.5.1. El proceso de medición,<br/>27.5.2. Métricas de producto,<br/>27.5.3. Análisis de las mediciones,<br/>- 28. Mejora de procesos - <br/>28.1. Calidad de producto y de proceso,<br/>28.2. Clasificación de los procesos,<br/>28.3. Medición del proceso,<br/>28.4. Análisis y modelado de procesos,<br/>28.4.1. Excepciones del proceso,<br/>28.5. Cambio en los procesos,<br/>28.6. El marco de trabajo para la mejora de procesos CMMI,<br/>28.6.1. El modelo CMMI en etapas,<br/>28.6.2. El modelo CMMI continuo,<br/>- 29. Gestión de configuraciones - <br/>29.1. Planificación de la gestión de configuraciones,<br/>29.1.1. Identificación de los elementos de configuración,<br/>29.1.2. La base de datos de configuraciones,<br/>29.2. Gestión del cambio,<br/>29.3. Gestión de versiones y entregas,<br/>29.3.1. Identificación de versiones,<br/>29.3.2. Gestión de entregas,<br/>29.4. Construcción del sistema,<br/>29.5. Herramientas CASE para gestión de configuraciones,<br/>29.5.1. Apoyo a la gestión de cambios,<br/>29.5.2. Soporte para gestión de versiones<br/>29.5.3. Apoyo a la construcción del sistema,<br/>Glosario,<br/>Bibliografía,<br/>Índice alfabético.<br/> |