Qué es eficiencia de ejecución en software
Clase 4 de 43 • Curso Profesional de Arquitectura de Software
Contenido del curso
Atributos de calidad
- 2

Qué son los atributos de calidad en software
01:49 min - 3

Cómo medir idoneidad funcional en software
02:52 min - 4

Qué es eficiencia de ejecución en software
Viendo ahora - 5

Cómo medir interoperabilidad y coexistencia
03:49 min - 6

Qué es la usabilidad y sus 6 dimensiones
08:14 min - 7

Cómo medir confiabilidad en software
05:38 min - 8

Los 5 pilares de seguridad en software
04:01 min - 9

Cómo garantizar mantenibilidad con tests
06:27 min - 10

Adaptabilidad vs capacidad de instalación vs reemplazo
02:48 min - 11

Tensiones entre atributos de calidad de software
04:04 min - 12

Atributos de calidad según fase de empresa
07:00 min
Patrones de arquitectura
- 13

Qué es un patrón de arquitectura
02:50 min - 14

Modelo vista controlador: cómo separar responsabilidades
05:37 min - 15

Arquitectura en capas: controller, servicio y repositorio
03:14 min - 16

Event sourcing vs bases relacionales
06:17 min - 17

Qué es la arquitectura microkernel
01:52 min - 18

Arquitectura Comparte Nada con Map Reduce
02:29 min - 19

Patrón de microservicios: cuándo y cómo
03:57 min - 20

Qué es CQRS y cómo separa lectura de escritura
03:24 min - 21

Arquitectura hexagonal: puertos y adaptadores
04:10 min - 22

Qué son los contextos delimitados en DDD
05:34 min - 23

Cómo combinar patrones de arquitectura
09:22 min - 24

Evolución de patrones desde monolito a microservicios
07:58 min
Diseño de una arquitectura
- 25

Cómo traducir requerimientos en decisiones arquitectónicas
02:18 min - 26

Conectores en arquitectura: tipos y cuándo usarlos
06:18 min - 27

Llamadas asíncronas vs síncronas vs cliente-servidor
03:05 min - 28

Conector enrutador vs difusión: Twitter
01:55 min - 29

Conectores cola, repositorio y pub/sub
03:52 min - 30

Framework de diseño orientado a atributos
01:55 min - 31

Cómo detectar fallas y reparar sistemas
05:59 min - 32

Cómo recuperar y prevenir fallas en sistemas
04:09 min - 33

Tácticas para confinar modificaciones
06:15 min - 34

Cómo prevenir efectos dominó en software
12:17 min - 35

Tácticas para controlar eficiencia de ejecución
09:14 min - 36

Cómo detectar, resistir y recuperarse de ataques
09:02 min - 37

Cómo probar que el software funciona correctamente
05:14 min - 38

Cómo controlar la usabilidad con tácticas
08:20 min - 39

Cómo validar arquitectura con ATAM y métricas
06:34 min - 40

Evolución de arquitectura: startup a gran escala
10:30 min
Modelado y documentación de arquitectura
La eficiencia de ejecución define cuán bien responde un sistema a lo que el usuario necesita y cómo aprovecha sus recursos. Aquí se explican con claridad sus subcaracterísticas clave, cómo medirlas y qué casos reales ilustran su impacto en el rendimiento.
¿Qué es la eficiencia de ejecución y por qué importa?
La eficiencia de ejecución combina dos dimensiones: la experiencia del usuario y el consumo técnico de recursos. Un sistema eficiente responde rápido y usa de forma responsable CPU, RAM y disco, incluso en momentos de alta demanda.
- Tiempo de comportamiento: mide cuánto tarda el sistema en responder a un estímulo y si ese tiempo cumple una expectativa o un umbral máximo tolerable.
- Uso de recursos: evalúa cómo se consumen RAM, CPU, disco u otros recursos necesarios para operar, según contexto y momento.
- Capacidad del sistema: determina cuántos pedidos o usuarios simultáneos puede soportar y si ese límite coincide con lo esperado.
¿Cómo medir tiempo de comportamiento, uso de recursos y capacidad?
Medir con intención evita sorpresas. Primero se define qué se espera en escenarios concretos; luego se observa el comportamiento real con métricas y pruebas. Así se identifica si el rendimiento es aceptable y dónde ajustar.
¿Cómo se mide el tiempo de comportamiento?
Se registra la respuesta ante un estímulo y se compara con la expectativa o el umbral fijado.
- Medir la latencia por acción de usuario y comparar contra lo esperado.
- Definir umbrales claros: tiempo máximo aceptable por interacción.
- Verificar consistencia: no basta con un caso, conviene revisar varias acciones.
¿Qué observar en el uso de recursos?
Importa el consumo en distintos momentos: uso habitual, promedio y horas pico. También escenarios puntuales que cargan memoria o CPU.
- Medir la huella en RAM y picos de CPU en momentos críticos.
- Evaluar accesos a disco y operaciones intensivas, por ejemplo una query que trae muchos datos.
- Verificar si hay recursos suficientes para ejecutar sin saturación.
¿Cómo validar la capacidad del sistema?
La capacidad responde a cuántos pedidos o usuarios simultáneos puede sostener el sistema sin degradarse.
- Definir expectativas por tipo de operación: carga, lectura y escritura.
- Probar el rendimiento real y compararlo con lo esperado.
- Usar pruebas artificiales como stress tests y revisar métricas del uso natural de la aplicación.
¿Qué ejemplos prácticos aclaran cada subcaracterística?
Los ejemplos ayudan a conectar métricas con comportamientos reales. Cada uno resalta una subcaracterística dominante y su impacto.
- Videojuegos: el tiempo de comportamiento es clave. Cada acción del jugador debe reflejarse rápido en su pantalla y en la de otros usuarios que están online.
- Reportes y análisis de datos: el uso de recursos es crítico. Manejar grandes volúmenes sin saturar RAM o CPU exige eficiencia en base de datos, sistemas de archivos o mensajería.
- Sistemas de tickets: la capacidad define el éxito. Al abrir la venta, miles ingresan a la vez; conocer el límite y cómo medirlo permite prepararse para el pico sin caídas.
¿Tienes un caso de alto tráfico o consultas pesadas que quieras comentar? Comparte tu experiencia y métricas clave para enriquecer la discusión.