- 1

Transición de programador empírico a arquitecto de software
02:46 - 2

Análisis de licitaciones con inteligencia artificial
08:48 - 3

Monorepositorios como herramienta de gestión de código fuente
13:00 - 4

Reglas de control de versiones en monorepositorio con trunk-based
05:58 - 5

Behavior Driven Development para alinear equipos técnicos y de negocio
09:25 - 6

Notación estándar C4 para diagramas de arquitectura
08:00 - 7

Generadores de sitios estáticos para documentación de proyectos
04:58 - 8

Uso de herramientas de IA para mejorar arquitectura de software
05:05 quiz de Creando Entornos de Software Saludables
Técnicas SAST, DAST y pen testing para seguridad en software
Clase 26 de 29 • Curso de Arquitectura de Software Aplicada
Contenido del curso
- 9

Estructura del archivo Architecture.md para proyectos de software
12:00 - 10

Domain-driven design para sistemas de comercio exterior
06:50 - 11

Técnicas pre-mortem y cinco why para prevenir fallos en sistemas
03:58 - 12

Técnicas de conversación e intervención directa en arquitectura
02:49 quiz de Siguiendo una Arquitectura Limpia
- 19

Diferencias entre mensajes y eventos en arquitectura de servicios
03:36 - 20

Patrón productor consumidor vs fan-in y fan-out en microservicios
03:11 - 21

Manejo de excepciones en el patrón productor-consumidor
02:48 - 22

Patrón comparing consumers para procesamiento en tiempo real
02:28 - 23

Patrón Process Manager para integrar actividades humanas y sistemas
02:33 quiz de Patrones de integración
- 24

Patrones de persistencia: durable state vs event sourcing
08:15 - 25

Máquinas de estado finito en la capa de presentación de software
04:52 - 26

Técnicas SAST, DAST y pen testing para seguridad en software
01:36 - 27

Funciones fitness para evaluar arquitecturas de software
04:20 - 28

Observabilidad en sistemas con OpenTelemetry e ingeniería del caos
04:45
La seguridad en el desarrollo de software toma relevancia especial en contextos como las licitaciones del Banco Interamericano de Desarrollo. Aquí, la seguridad no solo figura como un requisito no funcional crítico, sino también como un conjunto de tareas funcionales obligatorias para cualquier prototipo o producto entregable.
¿Por qué la seguridad es requisito clave en licitaciones de software?
Identificar la seguridad como requisito no funcional significa que debe estar presente en todo el ciclo de desarrollo. Además, incluye una serie de actividades funcionales específicas que aseguran la protección del sistema. Cumplir con estas demandas requiere integrar metodologías y herramientas que permitan una revisión y mitigación de riesgos, respetando así los estándares del sector.
¿Qué técnicas pueden mejorar la seguridad en proyectos de software?
Las siguientes prácticas ayudan a detectar y reducir los riesgos asociados:
- SAST (Static Application Security Testing): permite analizar el código fuente de manera preventiva para identificar posibles errores o vulnerabilidades antes de pasar a producción.
- DAST (Dynamic Application Security Testing): facilita la evaluación dinámica de los entornos de prueba, verificando diferentes escenarios con el entorno aislado, lo que permite observar cómo responde el sistema ante potenciales ataques en tiempo real.
- Pen testing (penetration testing): agentes autorizados buscan activamente vulnerabilidades en la arquitectura del sistema, emulando acciones de atacantes reales.