- Portada
- Creditos
- CONTENIDO BREVE
- CONTENIDO DETALLADO
- ACERCA DE LOS AUTORES
- PRÓLOGO
- AGRADECIMIENTOS
- CAPÍTULO 1 INTRODUCCIÓN: LA ARQUITECTURA Y EL DESARROLLO DE SOFTWARE
- 1.1 VISIÓN GENERAL DEL DESARROLLO DE SISTEMAS DE SOFTWARE
- 1.2 DEFINICIÓN DE ARQUITECTURA DE SOFTWARE
- 1.3 ARQUITECTURA, ATRIBUTOS DE CALIDAD Y OBJETIVOS DE NEGOCIO
- 1.4 CICLO DE DESARROLLO DE LA ARQUITECTURA
- 1.4.1 Requerimientos de la arquitectura
- 1.4.2 Diseño de la arquitectura
- 1.4.3 Documentación de la arquitectura
- 1.4.4 Evaluación de la arquitectura
- 1.4.5 Implementación de la arquitectura
- 1.5 BENEFICIOS DE LA ARQUITECTURA
- 1.5.1 Aumentar la calidad de los sistemas
- 1.5.2 Mejorar tiempos de entrega de proyectos
- 1.5.3 Reducir costos de desarrollo
- 1.6 EL ROL DEL ARQUITECTO
- EN RESUMEN
- PREGUNTAS PARA ANÁLISIS
- CAPÍTULO 2 REQUERIMIENTOS: IDENTIFICACIÓN DE DRIVERS ARQUITECTÓNICOS
- 2.1 REQUERIMIENTOS
- 2.2 REQUERIMIENTOS CON DISTINTOS TIPOS Y NIVELES DE ABSTRACCIÓN
- 2.2.1 Requerimientos de usuario y requerimientos funcionales
- 2.2.2 Atributos de calidad
- 2.2.3 Restricciones
- 2.2.4 Reglas de negocio e interfaces externas
- 2.2.5 Consideraciones importantes
- 2.3 DRIVERS ARQUITECTÓNICOS
- 2.3.1 Drivers funcionales
- 2.3.2 Drivers de atributos de calidad
- 2.3.3 Drivers de restricciones
- 2.3.4 Otra información
- 2.3.5 Influencia de los drivers arquitectónicos en el diseño de la arquitectura
- 2.4 FUENTES DE INFORMACIÓN PARA LA EXTRACCIÓN DE DRIVERS ARQUITECTÓNICOS
- 2.4.1 Documento de visión y alcance
- 2.4.2 Documento de requerimientos de usuario
- 2.4.3 Documento de especificación de requerimientos
- 2.5 MÉTODOS PARA LA IDENTIFICACIÓN DE DRIVERS ARQUITECTÓNICOS
- 2.5.1 Taller de atributos de calidad (qaw)
- 2.5.2 Método de diseño centrado en la arquitectura (acdm-etapas 1 y 2)
- 2.5.3 furps+
- 2.5.4 Comparación de los métodos y el modelo
- EN RESUMEN
- PREGUNTAS PARA ANÁLISIS
- CAPÍTULO 3 DISEÑO:TOMA DE DECISIONES PARA CREAR ESTRUCTURAS
- 3.1 DISEÑO Y NIVELES DE DISEÑO
- 3.1.1 Diseño y arquitectura
- 3.1.2 Niveles de diseño
- 3.2 PROCESO GENERAL DE DISEÑO DE LA ARQUITECTURA
- 3.3 PRINCIPIOS DE DISEÑO
- 3.3.1 Modularidad
- 3.3.2 Cohesión alta y acoplamiento bajo
- 3.3.3 Mantener simples las cosas
- 3.4 CONCEPTOS DE DISEÑO
- 3.4.1 Patrones
- 3.4.2 Tácticas
- 3.4.3 Frameworks
- 3.4.4 Otros conceptos de diseño
- 3.5 DISEÑO DE LAS INTERFACES
- 3.6 MÉTODOS DE DISEÑO DE ARQUITECTURA
- 3.6.1 Diseño guiado por atributos (add)
- 3.6.2 acdm (etapa 3)
- 3.6.3 Método de definición de arquitecturas de Rozanski y Woods
- 3.6.4 Comparación de métodos
- EN RESUMEN
- PREGUNTAS PARA ANÁLISIS
- CAPÍTULO 4 DOCUMENTACIÓN: COMUNICAR LA ARQUITECTURA
- 4.1 ¿QUÉ SIGNIFICA DOCUMENTAR?
- 4.2 DOCUMENTACIÓN EN EL CONTEXTO DE ARQUITECTURA DE SOFTWARE
- 4.3 RAZONES PARA DOCUMENTAR LA ARQUITECTURA
- 4.3.1 Mejorar la comunicación de información sobre la arquitectura
- 4.3.2 Preservar información sobre la arquitectura
- 4.3.3 Guiar la generación de artefactos para otras fases del desarrollo
- 4.3.4 Proveer un lenguaje común entre diversos interesados en el sistema
- 4.4 VISTAS
- 4.4.1 Vistas lógicas
- 4.4.2 Vistas de comportamiento
- 4.4.3 Vistas físicas
- 4.5 NOTACIONES
- 4.5.1 Notaciones informales
- 4.5.2 Notaciones semiformales
- 4.5.3 Notaciones formales
- 4.6 MÉTODOS Y MARCOS CONCEPTUALES DE DOCUMENTACIÓN DE ARQUITECTURA
- 4.6.1 Vistas y más allá
- 4.6.2 4+1 Vistas
- 4.6.3 Puntos de vista y perspectivas
- 4.6.4 acdm (etapas 3 y 4)
- 4.6.5 Otros
- 4.6.6 Comparación de los métodos y marcos conceptuales
- 4.7 RECOMENDACIONES PARA ELABORAR LA DOCUMENTACIÓN
- EN RESUMEN
- PREGUNTAS PARA ANÁLISIS
- CAPÍTULO 5 EVALUACIÓN: ASEGURAR LA CALIDAD EN LA ARQUITECTURA
- 5.1 CONCEPTOS DE EVALUACIÓN
- 5.2 EVALUACIÓN DE ARQUITECTURAS
- 5.3 PRINCIPIOS DE LA EVALUACIÓN
- 5.3.1 Detección temprana de defectos en la arquitectura
- 5.3.2 Satisfacción de los drivers arquitectónicos
- 5.3.3 Identificación y manejo de riesgos
- 5.4 CARACTERÍSTICAS DE LOS MÉTODOS DE EVALUACIÓN DE ARQUITECTURAS
- 5.4.1 Producto que se evalúa: diseños o productos terminados
- 5.4.2 Personal que lleva a cabo la evaluación
- 5.5 MÉTODOS DE EVALUACIÓN DE ARQUITECTURAS
- 5.5.1 Revisiones e inspecciones
- 5.5.2 Recorridos informales al diseño
- 5.5.3 Método de análisis de equilibrios de la arquitectura (atam)
- 5.5.4 ACDM (etapa 4)
- 5.5.5 Revisiones activas para diseños intermedios (arid)
- 5.5.6 Prototipos o experimentos
- 5.5.7 Comparación de métodos de evaluación
- EN RESUMEN
- PREGUNTAS PARA ANÁLISIS
- CAPÍTULO 6 IMPLEMENTACIÓN: CONVERTIR EN REALIDAD LAS IDEAS ARQUITECTÓNICAS
- 6.1 CONCEPTO DE IMPLEMENTACIÓN DE SOFTWARE
- 6.2 LA ARQUITECTURA Y LA IMPLEMENTACIÓN DEL SISTEMA
- 6.3 PRINCIPIOS DE LA IMPLEMENTACIÓN DE SOFTWARE
- 6.4 DESVIACIONES DE LA IMPLEMENTACIÓN RESPECTO DE LA ARQUITECTURA
- 6.5 PREVENCIÓN DE DESVIACIONES
- 6.5.1 Entrenamiento de diseñadores y programadores
- 6.5.2 Desarrollo de prototipos o experimentos
- 6.5.3 Otras acciones de prevención
- 6.6 IDENTIFICACIÓN DE DESVIACIONES: CONTROLES DE CALIDAD
- 6.6.1 Identificación de desviaciones durante el diseño y la programación
- 6.6.1.1 Verificaciones del diseño detallado de los módulos
- 6.6.1.2 Verificaciones de la programación
- 6.6.2 Pruebas
- 6.6.3 Auditorías
- 6.7 RESOLUCIÓN DE LAS DESVIACIONES: SINCRONIZACIÓN DE LA ARQUITECTURA Y LA IMPLEMENTACIÓN
- 6.7.1 Desviaciones en el diseño detallado
- 6.7.2 Desviaciones en la programación
- 6.7.3 Defectos y/o subespecificación en la arquitectura
- 6.7.4 Cuándo conviene no resolver las desviaciones
- EN RESUMEN
- PREGUNTAS PARA ANÁLISIS
- CAPÍTULO 7 ARQUITECTURA Y MÉTODOS ÁGILES: EL CASO DE SCRUM
- 7.1 MÉTODOS ÁGILES
- 7.2 SCRUM
- 7.2.1 Los roles
- 7.2.2 El proceso
- 7.3 ¿GRAN DISEÑO AL INICIO O DEUDA TÉCNICA?
- 7.4 DESARROLLO DE ARQUITECTURA EN SCRUM
- 7.4.1 Soporte de un enfoque de diseño planeado incremental
- 7.4.2 Especificación de atributos de calidad y restricciones
- 7.4.3 ¿Vistas de arquitectura?
- 7.4.4 El arquitecto de software
- EN RESUMEN
- PREGUNTAS PARA ANÁLISIS
- APÉNDICE CASO DE ESTUDIO
- SECCIÓN 1 INTRODUCCIÓN
- DOCUMENTO DE VISIÓN Y ALCANCE
- 1. INTRODUCCIÓN
- 2. CONTEXTO DE NEGOCIO
- 2.1 Antecedentes
- 2.2 Fase del problema
- 2.3 Objetivos de negocio
- 3. VISIÓN DE LA SOLUCIÓN
- 3.1 Fase de visión
- 3.2 Características del sistema
- 4. ALCANCE
- 5. CONTEXTO DEL SISTEMA
- 5.1 Interesados
- 5.2 Diagrama de contexto
- 5.3 Entorno de operación
- 6. INFORMACIÓN ADICIONAL
- SECCIÓN 2 REQUERIMIENTOS DE LA ARQUITECTURA
- 2.1 Drivers funcionales
- 2.1.1 Modelo de casos de uso
- 2.1.2 Elección de casos de uso primarios
- 2.2 Drivers de atributos de calidad
- 2.3 Drivers de restricciones
- SECCIÓN 3 DISEÑO DE LA ARQUITECTURA
- 3.1 Primera iteración: estructuración general del sistema
- 3.2 Segunda iteración: integración de la funcionalidad a las capas
- 3.3 Tercera iteración: desempeño en capa de datos
- SECCIÓN 4 DOCUMENTACIÓN
- 4.1 Generar una lista de vistas candidatas
- 4.2 Combinar las vistas
- 4.3 Priorizar las vistas
- 4.4 Ejemplo de vista
- SECCIÓN 5 EVALUACIÓN
- 5.1 Realización de la evaluación
- 5.1.1 Identificación de las decisiones arquitectónicas
- 5.1.2 Generación del árbol de utilidad
- 5.1.3 Análisis de las decisiones arquitectónicas
- 5.2 Resultados de la evaluación
- Riesgos
- No-riesgos
- SECCIÓN 6 CONCLUSIÓN
- GLOSARIO
- BIBLIOGRAFÍA