Introducción al curso

1

Diseño y Documentación de Arquitectura de Software

Atributos de calidad

2

Atributos de Calidad en Sistemas: Definición y Medición

3

Idoneidad Funcional: Completitud, Exactitud y Pertinencia

4

Eficiencia de Ejecución en Sistemas Informáticos

5

Compatibilidad en Sistemas: Interoperabilidad y Coexistencia

6

Subcaracterísticas de Usabilidad en Desarrollo de Software

7

Confiabilidad de Sistemas: Madurez, Disponibilidad, Resiliencia y Recuperación

8

Seguridad de Usuarios en Desarrollo de Software

9

Subcaracterísticas de Mantenibilidad en Sistemas de Software

10

Medición de Adaptabilidad en Sistemas de Software

11

Relación y Tensión entre Atributos de Calidad en Sistemas de Software

12

Atributos de Calidad en Arquitectura de Software

Patrones de arquitectura

13

Patrones de Arquitectura Monolítica y Distribuida

14

Modelo Vista Controlador: Separación de Responsabilidades en Aplicaciones

15

Arquitectura de Capas: Diseño y Comunicación entre Niveles

16

Patrones de Arquitectura Orientada a Eventos y Event Sourcing

17

Patrón de Arquitectura MicroKernel y su Implementación en IDEs

18

Arquitectura "Comparte Nada": Optimización y Procesamiento de Datos

19

Patrón de Microservicios en Arquitectura de Software

20

Patrón CQRS para Separación de Consultas y Comandos

21

Arquitectura Hexagonal: Diseño y Aplicación Práctica

22

Diseño Orientado al Dominio: Conceptos y Aplicaciones Prácticas

23

Patrones de Arquitectura para Aplicaciones Escalables y Modulares

24

Patrones de Arquitectura en Proyectos de Crecimiento Empresarial

Diseño de una arquitectura

25

Diseño de Arquitecturas a Medida: Herramientas y Estrategias

26

Tipos de Conectores en Arquitectura de Software

27

Conectores Asíncronos y Sincrónicos: Implementación y Uso Práctico

28

Diferencias entre Enrutadores y Difusores en Comunicación de Mensajes

29

Conexión de Productores y Consumidores con Colas de Mensajes

30

Framework de Diseño Orientado a Atributos: Escenarios y Tácticas

31

Tácticas para Mejorar la Disponibilidad de Sistemas

32

Tácticas para Mejorar la Disponibilidad del Sistema

33

Tácticas para Mejorar la Mantenibilidad del Software

34

Prevención de Efectos Dominó en Mantenibilidad de Software

35

Estrategias para Mejorar la Eficiencia de Ejecución en Sistemas

36

Tácticas de Seguridad Informática para Detectar, Resistir y Recuperarse de Ataques

37

Estrategias para Mejorar la Capacidad de Prueba de Software

38

Tácticas de Usabilidad en Diseño de Interfaces de Usuario

39

Validación de Arquitectura con ATAM y Métricas de Calidad

40

Diseño de Arquitectura para Startups y Empresas Escalables

Modelado y documentación de arquitectura

41

Documentación Efectiva de Arquitectura de Software

42

Sincronización de Modelos de Arquitectura y Código Fuente

43

Evaluación de Atributos de Calidad en Arquitectura de Software

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Documentación Efectiva de Arquitectura de Software

41/43
Recursos

¿Cómo documentar y sincronizar la arquitectura de software?

La documentación de la arquitectura de software es crucial para garantizar que las ideas y decisiones diseñadas en las fases iniciales de desarrollo se mantengan alineadas con la implementación final. Esta tarea, aunque compleja, es esencial para mantener una arquitectura coherente y actualizada.

¿Cuál es el propósito de la documentación arquitectónica?

El propósito de la documentación arquitectónica es doble: establecer restricciones y proporcionar descripciones del sistema existente. Al documentar la arquitectura, se facilita la toma de decisiones, especialmente cuando se trata de restricciones de diseño en el equipo de desarrollo. La arquitectura restrictiva guía a los desarrolladores con un marco claro, mientras que la arquitectura descriptiva ofrece una visión del estado actual del sistema, asegurando que la implementación final se alinee adecuadamente con las intenciones originales.

¿Quiénes utilizan esta documentación y cómo?

La documentación de arquitectura sirve a múltiples roles dentro de un equipo de desarrollo de software:

  • Arquitectos y analistas: Utilizan los modelos arquitectónicos para negociar requisitos, equilibrando necesidades funcionales y no funcionales.
  • Equipos de operaciones: Entienden la propuesta arquitectónica para calcular costos, necesarios para aspectos como servidores y licencias.
  • Equipos de desarrollo: Valoriza las restricciones establecidas para facilitar y dirigir el proceso de desarrollo.
  • Diseñadores de productos externos: Colaboran en la interoperabilidad de productos mediante protocolos bien definidos.
  • Gestores de proyecto: Planifican recursos y etapas de diseño basándose en la documentación.
  • Equipos de calidad (QA): Evalúan la conformidad con la arquitectura prevista y aplican métricas para medir garantías como la disponibilidad y seguridad.

¿Cómo mantener la documentación actualizada?

Mantener la documentación sincronizada con la implementación es vital para evitar que la arquitectura quede desfasada. Esto implica una actualización continua y colaboración fluida entre todos los involucrados en el desarrollo. En metodologías ágiles, esta tarea se integra naturalmente, ya que el equipo de desarrollo, que incluye testers y QA, está constantemente ajustando la arquitectura según las métricas y necesidades emergentes.

En conclusión, documentar y mantener la arquitectura de software no solo establece una guía para los desarrolladores, sino que también asegura que todos los componentes del equipo trabajen de manera cohesiva hacia un objetivo común.

Aportes 7

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Arquitectura restrictiva
Restringe las decisiones que quedan por tomar (por ejemplo cuándo se le da a un equipo de desarrollo)
Arquitectura descriptiva
Documenta las decisiones tomadas y describe el estado actual del sistema, restricciones del pasado más las actuales

El arquitecto va a trabajar con diferentes personas para garantizar que la arquitectura se ejecute correctamente:

Analista: Negociación de requerimientos
Operaciones: Cálculo de recursos
Desarrolladores: Restricciones y libertades para desarrollar
Diseñadores de productos dependientes (Product Managers): Definición de interoperabilidad. Comunicación entre productos. Requerimientos de comunicación como una API. Sincronizar equipos
Gestores de proyecto (Project Manager): Gestión de equipos y recursos
Equipo de calidad (QA): Métricas y conformidad

Cómo comunicar la arquitectura: Vistas y Puntos de vista

“Esencialmente, todo modelo es incorrecto. Pero algunos son útiles.”


  • Arquitectura Restrictiva: Como vamos a utilizar este modelo para restringir las acciones que quedan por tomar. la arquitectura va a funcionar como restricciones de diseño.

  • Arquitectura Descriptiva: Habla de un sistema ya existente y que habla del estado actual del sistema.Es nuestra responsabilidad conectar el estado actual con nuestro modelo o documentación arquitectónica.

  1. El arquitecto va a negociar con el analista y encontrar los trade-offs (Negociación de requerimientos).
  2. El arquitecto junto a operaciones va poder entender esta propuesta arquitectónica y empezar a calcular el costos de los recursos que vamos a empezar a consumir.
  3. El equipo de desarrollo va utilizar toda la documentación anterior para entender las restricciones y libertades a desarrollar.

  1. Diseñadores de producto se comparte la arquitectura para entender la interoperabilidad del producto.
  2. Gestores de Proyecto Aprovechan la documentación del proyecto para entender que equipo deben armar para garantizar el éxito del proyecto.
  3. Equipo de calidad (QA) va utilizar la documentación de arquitectura para poder entender como es que puede medir estas garantías.

En los últimos segundos se oyen unas voces. Pensé que había gente en mi casa pero era el video jajaja

Quality assurance the best!!

  • Arquitectura restrictiva
    Restringe las decisiones que quedan por tomar (por ejemplo cuándo se le da a un equipo de desarrollo)

  • Arquitectura descriptiva
    Documenta las decisiones tomadas y describe el estado actual del sistema, restricciones del pasado más las actuales
    🤖
    El arquitecto va a trabajar con diferentes personas para garantizar que la arquitectura se ejecute correctamente:
    Analista: Negociación de requerimientos
    Operaciones: Cálculo de recursos
    Desarrolladores: Restricciones y libertades para desarrollar
    Diseñadores de productos dependientes (Product Managers): Definición de interoperabilidad. Comunicación entre productos. Requerimientos de comunicación como una API. Sincronizar equipos
    Gestores de proyecto (Project Manager): Gestión de equipos y recursos
    Equipo de calidad (QA): Métricas y conformidad

Arquitecto va a trabajar con :
o Analista: Negociación de requerimientos
o Operaciones: Cálculo de recursos
o Desarrolladores: Restricciones y libertades
o Product Managers: Defición de interoperabilidad
o Project Manager: Gestión de equipos y recursos
o Calidfad: Métricas y conformidad