>
15.12. Diagramas de visión de interacción
15.13. ¿Qué hemos aprendido?Parte 4. Diseño
16. Workflow de diseño
16.1. Presentación del capítulo
16.2. El workflow de diseño
16.3. Diseñar artefactos: metamodelo
16.3.1. Relaciones de seguimiento de artefactos
16.3.2. ¿Debería mantener dos modelos?
16.4. Detalle del workflow de diseño
16.5. Actividad UP: diseño de arquitectura
16.6. ¿Qué hemos aprendido?
17. Diseñar clases
17.1. Presentación del capítulo
17.2. Actividad UP: Diseñar una clase
17.3. ¿Qué son clases de diseño?
17.4. Anatomía de una clase de diseño
17.5. Clases de diseño bien creadas
17.5.1. Totalidad y suficiencia
17.5.2. Sencillez
17.5.3. Alta cohesión
17.5.4. Bajo acoplamiento
17.6. Herencia
17.6.1. Agregación vs. herencia
17.6.2. Herencia múltiple
17.6.3. Herencia vs. realización de interfaz
17.7. Plantillas
17.8. Clases anidadas
17.9. ¿Qué hemos aprendido?
18. Mejorar relaciones de análisis
18.1. Presentación del capítulo
18.2. Diseñar relaciones
18.3. Agregación y composición
18.4. Semántica de agregación
18.5. Semántica de composición
18.5.1. Composición y atributos
18.6. Cómo mejorar relaciones de análisis
18.7. Asociaciones uno a uno
18.8. Asociaciones muchos a uno
18.9. Asociaciones uno a muchos
18.10. Colecciones
18.10.1. El mapa
18.11. Relaciones cosificadas
18.11.1. Asociaciones muchos a muchos
18.11.2. Asociaciones bidireccionales
18.11.3. Clases de asociación
18.12. Explorar composición con clases estructuradas
18.12.1. Clasificadores estructurados
18.12.2. Clases estructuradas
18.13. ¿Qué hemos aprendido?
19. Interfaces y componentes
19.1. Presentación del capítulo
19.2. Actividad UP: Diseñar un subsistema
19.3. ¿Qué es una interfaz?
19.4. Interfaces proporcionadas y requeridas
19.5. Realización de interfaz vs. herencia
19.6. Puertos
19.7. Interfaces y desarrollo basado en componentes
19.8. ¿Qué es un componente?
19.9. Estereotipos de componente
19.10. Subsistemas
19.11. Encontrar interfaces
19.12. Diseñar con interfaces
19.12.1. El patrón Fachada
19.12.2. Arquitectura y el patrón de disposición en capas
19.13. Ventajas y desventajas de las interfaces
19.14. ¿Qué hemos aprendido?
20. Realización de caso de uso: diseño
20.1. Presentación del capítulo
20.2. Actividad UP: Diseñar un caso de uso
20.3. Realización de caso de uso: diseño
20.4. Diagramas de interacción en diseño
20.5. Modelar concurrencia
20.5.1. Clases activas
20.5.2. Concurrencia en diagramas de secuencia
20.5.3. Concurrencia en diagramas de comunicación
20.6. Interacciones de subsistema
20.7. Diagramas de tiempo
20.8. Ejemplo de realización de caso de uso: diseño
20.9. ¿Qué hemos aprendido?
21. Máquinas de estado
21.1. Presentación del capítulo
21.2. Máquinas de estado
21.2.1. Máquinas de estado de comportamiento y máquinas de estadode protocolo
21.2.2. Máquinas de estado y clases
21.3. Máquinas de estado y el UP
21.4. Diagramas de máquina de estado
21.5. Estados
21.5.1. Sintaxis de estado
21.6. Transiciones
21.6.1. Conectar transiciones, el pseudo estado de unión
21.6.2. Ramificar transiciones, el pseudo estado de opción
21.7. Eventos
21.7.1. Evento de llamada
21.7.2. Eventos de señal
21.7.3. Eventos de cambio
21.7.4. Eventos de tiempo
21.8. ¿Qué hemos aprendido?
22. Máquinas de estado avanzadas
22.1. Presentación del capítulo
22.2. Estados compuestos
22.2.1. Estados compuestos sencillos
22.2.2. Estados compuestos ortogonales
22.3. Estados de submáquina
22.4. Comunicación de submáquina
22.5. Historia
22.5.1. Historia superficial
22.5.2. Historia profunda
22.6. ¿Qué hemos aprendido?
Parte 5. Implementación
23. El workflow de implementación
23.1. Presentación del capítulo
23.2. El workflow de implementación
23.3. Artefactos de implementación: metamodelo
23.4. Detalle del workflow de implementación
23.5. Artefactos
23.6. ¿Qué hemos aprendido?
24. Despliegue
24.1. Presentación del capítulo
24.2. Actividad UP: Implementación de arquitectura
24.3. El diagrama de despliegue
24.4. Nodos
24.5. Artefactos
24.6. Despliegue
24.7. ¿Qué hemos aprendido?
Parte 6. Material adicional
25. Introducción a OCL
25.1. Presentación del capítulo
25.2. ¿Qué es el Lenguaje de Restricción de Objetos (OCL)?
25.3. ¿Por qué utilizar OCL?
25.4. Sintaxis de expresión OCL
25.5. Contexto de paquete y nombres de ruta
25.6. El contexto de expresión
25.7. Tipos de expresiones OCL
25.8. El cuerpo de expresión
25.8.1. Comentarios, palabras clave y reglas de precedencia
25.8.2. El sistema de tipo de OCL
25.8.3. Tipos primitivos
25.8.3.1. Boolean
25.8.3.2. Integer y Real
25.8.3.3. String
25.8.4. Tuples
25.8.5. Operadores infijos
25.8.6. Colecciones OCL
25.8.6.1. Operaciones de colección
25.8.6.2. Operaciones de conversión
25.8.6.3. Operaciones de comparación
25.8.6.4. Operaciones de consulta
25.8.6.5. Operaciones de acceso
25.8.6.6. Operaciones de selección
25.8.7. Operaciones de iteración
25.8.7.1. Operación iterate
25.9. Navegación OCL
25.9.1. Navegación dentro de la instancia contextual
25.9.2. Navegación a través de asociaciones
25.9.3. Navegación a través de múltiples asociaciones
25.10. Tipos de expresión OCL en detalle
25.10.1. inv:
25.10.2. pre:, post: y @pre
25.10.3. body:
25.10.4. init:
25.10.5. def:
25.10.6. Expresiones let
25.10.7. derive:
25.11. OCL en otros tipos de diagramas
25.11.1. OCL en diagramas de interacción
25.11.2. OCL en diagramas de actividad
25.11.3. OCL en máquinas de estado
25.12. Temas avanzados
25.12.1. Navegación a y desde clases de asociación
25.12.2. Navegación por asociaciones cualificadas
25.12.3. Asociaciones heredadas
25.12.4. OclMessage
25.13. ¿Qué hemos aprendido?
Apéndice 1. Modelo de caso de uso de ejemplo
A1.1. Introducción
A1.2. Modelo de caso de uso
A1.3. Casos de uso de ejemplo
Apéndice 2. XML y casos de uso
A2.1. Utilizar XML para plantillas de casos de uso
A2.2. SUMR
Bibliografía
Índice alfabético