Introducción al curso

1

Introducción al curso de Profesional de Arquitectura de Software

Atributos de calidad

2

Definición

3

Atributos: Idoneidad funcional

4

Atributos: Eficiencia de ejecución

5

Atributos: Compatibilidad

6

Atributos: Usabilidad

7

Atributos: Confiabilidad

8

Atributos: Seguridad

9

Atributos: Mantenibilidad

10

Atributos: Portabilidad

11

Tensiones entre atributos

12

Analizando PlatziServicios

Patrones de arquitectura

13

Patrones monolíticos vs distribuidos

14

Patrones: Modelo Vista Controlador

15

Patrones: Capas

16

Patrones: Orientado a eventos / Provisión de eventos.

17

Patrones: Microkernel - Plug-ins

18

Patrones: Comparte-nada

19

Patrones: Microservicios

20

Patrones: CQRS

21

Patrones: Hexagonal - Puertos y adaptadores

22

Patrones: Diseño orientado al dominio

23

Combinando patrones de arquitectura

24

Analizando nuevamente PlatziServicios

Diseño de una arquitectura

25

Pararse en hombros de gigantes

26

Herramientas y partes de un diseño: Tipos de conectores

27

Conectores: Llamado asincrónico / sincrónico. Modelo Cliente servidor.

28

Conectores: Enrutador, difusión

29

Conectores: Pizarra, repositorio, colas, modelo PUBSUB

30

Escenarios y tácticas

31

Escenarios: Disponibilidad, detección, reparación

32

Escenarios: Reintroducción y prevención

33

Escenarios: Mantenibilidad

34

Escenarios: Prevenir efectos dominó y diferir enlace

35

Escenarios: Eficiencia de ejecución

36

Escenarios: Seguridad

37

Escenarios: Capacidad de prueba

38

Escenarios: Usabilidad

39

Validar las decisiones de diseño: Arquitectura en evolución

40

Último análisis a PlatziServicios

Modelado y documentación de arquitectura

41

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

42

Documentación vs implementación

43

Conclusiones del curso

Atributos: Eficiencia de ejecución

4/43
Recursos

Relacionados con el uso de los recursos que el sistema necesita para tener una buena eficiencia en su ejecución.

Aportes 29

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Eficiencia de Ejecución

  • Este es otro atributo de calidad, se trata de cuan bueno o eficiente es el sistema, a la hora de responder a lo que el usuario necesita. y asu vez teniendo los recursos del sistema, cuan bueno es que los aprovecha o desaprovecha.
    .
    Tiempo a Comportamiento: Este nos dice cuan bueno es el sistema respondiendo al usuario; Específicamente cuanto tarde el sistema y cuanto esperamos que ese sistema tarde.
    Se mide: a traves de la medición de la respuesta, dado un estimulo y luego compararlo con el tiempo que esperamos que tarde el sistema.
    .
    Uso de Recursos: Cuanto el sistema aprovecha esos recursos en su contexto, sea la RAM, el SO, ETC. el objetivo es saber cuan bien o mal se están usando.
    Se mide: medir cuanto ocupa el sistema del RAM o CPU y si soporta o tiene la capacidad entera de recursos para soportar.
    .
    Capacidad: Cuanto soporta el sistema en cantidad de pedidos, es decir tiene un limite en la cantidad de una cantidad máxima de usuarios usando el sistema a la vez.
    Se mide: Cuanto esperamos que el sistema responda en ciertos casos, por ejemplo en carga, escritura o lectura y luego de saber cuanto esperamos que responda. probar cuanto responde realmente.
  • Herraminetas para analizar la velocidad de respuesta: Web page test, Pingdom.
  • Herramientas para evaluar el uso de recursos: Utilizar el administrador de tareas en Chorme u otro navegador. Lo encuentran en las tres lineas de la esquina superior derecha -> Más herramientas -> Administrador de tareas.
  • Evaluar la cantidad de usuarios que soporta un website no es tan especifico, ya que depende de muchos factores, en especial del tipo de servidor (o plan de hosting) que se tenga. Empresas con buenos servidores compartidos pueden soportar hasta 5.000 visistas diarias, aunque el numero puede siempre puede variar.

Aprendí mas con esta clase de 4 minutos que todo un semestre en la Uni xD

Entonces la Eficiencia de ejecución es el aprovechamiento y uso de recursos que el sistema necesita para ser eficiente. Involucra:

  • Tiempo de comportamiento, es el lapso esperado entre la petición y respuesta. Es muy importante en los videojuegos.
  • Uso de recursos, es como se aprovecha el consumo de recursos. Es muy importante en sistemas con estilos de arquitectura Centrados a Datos.
  • Capacidad: Son los limites de tolerancia que el sistema tendrá. Es importante en sistemas de alta concurrencia.

La capacidad hay que tenerla en cuenta en el día de black friday

Anotaciones:

Eficiencia de ejecución

Trata sobre cuán bueno, cuán eficiente es el sistema a la hora de responder a lo que el usuario necesita, y a su vez, teniendo los recursos que el sistema necesita, cuánto los aprovecha o desaprovecha.

Tiempo a comportamiento. Nos dice cuán bueno es el sistema respondiendo al usuario, específicamente, cuánto tarda el sistema y cuánto esperamos que ese sistema tarde.

Uso de recursos. Cuánto el sistema aprovecha sus recursos en sus contextos, ya sea RAM, CPU o Disco.

Capacidad. Habla sobre cuánto soporta el sistema en cantidad de pedidos.

Eficiencia de ejecución.
Que tan bueno es el sistema a la hora de responder ante las necesidades del usuario
- Tiempo a comportamiento -> Cuanto tarda en responder
- Uso de recursos -> Cuanto aprovecha los recursos del sistema
- **Capacidad ** -> Cuanto soporta en cantidad de pedidos

Es muy tipico el problema en la deficiencia de ejecucion / capacidad:
Por ejemplo:

Epoca Navideña o de liquidacion de ofertas: Las lineas de los postnet se saturan y las tarjetas de creditos de algunos proveedores no funcionan. Sin importar la region en donde uno viva.

Como tambien el sistema de venta de ticket en recitales: como ya se menciono.

Si bien, esto es repetitivo a nivel anual, por que sigue ocurriendo? a mi entender, ya no es una cuestion economica o de falta de presupuesto para implementar una mejora en el diseño. Es posible que la infraestructura sea obsoleta.

en este momento estoy sufriendo de “deficiencia de ejecucion con el ancho de banda de trasmision de los videos” 😦 y lo pongo en 720, no noto la diferecia la verdad.

La eficiencia de ejecución tiene que ver con tres aspectos: tiempo de comportamiento, uso de recursos y capacidad.

Todos estos atributos comparan un escenario real con uno esperado o tolerado.

De acuerdo con esta comparación se mide si el sistema está siendo eficiente.

Eficiencia de Ejecución:

tiempo a comportamiento: este nos dice cuan buen es el tiempo al usuario
uso de recursos: uso de memoria muchos querys a la base de datos
Capacidad: cuanto soporta el sistema de carga, lectura y escritura

En cuanto al uso de recursos se debe tomar en cuenta, el consumo de otro software, pueden ser servicios web, micro servicios, bases de datos relacionales, SAP, AS400, etc.
Es un punto a considerar a la hora de establecer los márgenes de medición para este criterio.

Un software MRP es, de esta forma, un sistema que ayuda a planificar y administrar los materiales, a programar la producción y a controlar los inventarios. Entre sus funciones principales se encuentra anticiparse a la demanda para que la industria pueda adquirir justo los materiales requeridos en cada momento.

Se mide por la velocidad de procesamiento, el tiempo de respuesta, consumo de recursos, rendimiento efectivo total y eficacia.

Eficiencia de ejecución está relacionada con el tiempo de reacción del sistema entre un estímulo y una respuesta. Además de la forma en que usa sus recursos, por ejemplo espacio de memoria, servidores, entre otros. Y su capacidad, es decir, cuáles son sus límites de tolerancia ante una exigencia en un momento crítico.

La Eficiencia de Ejecución: Tiempo a comportamiento, uso de recursos, y algo esencial la capacidad y poder medirlo

Genial este curso, es un must para todos los que trabajan como desarrolladores. Me agrada que las clases sean cortas y muy concisas, dicen exáctamente lo que se necesita, ni más ni menos.

Rappi también sería un ejemplo de necesidad de gran capacidad; el día de la madre todo el mundo quiso pedir un domicilio y colapsó.

<h4>Eficiencia de ejecucion</h4>
  • trata de cuan eficiente es el sistema a la hora de responder a lo que el usuario necesita
    • tiempo de comportamiento
      comparacion: tiempo transcurrido entre pepdido y respuesta y tiempo esperado o tiempo maximo tolerado
    • uso de recursos
      comparacion: comsumo de recursos y consumo esperado o tolerado de recursos
    • capacidad
      comparacion: limite de tolerancia detectado y limite de tolerancia esperado

Eficiencia en ejecución: Trata sobre cuan bueno, cuan eficiente es el sistema a la hora de responder a lo que el usuario necesita y, a su vez, teniendo los recursos que el sistema necesita, cuan bueno es con esos recursos, cuanto los aprovecha o cuanto los desaprovecha.

Eficiencia de ejecución está relacionada con el tiempo de reacción del sistema entre un estímulo y una respuesta. Además de la forma en que usa sus recursos, por ejemplo espacio de memoria, servidores, entre otros. Y su capacidad, es decir, cuáles son sus límites de tolerancia ante una exigencia en un momento crítico.

Muy buena clase

**Eficiencia de Ejecución **
Se refiere a la capacidad que tiene el sistema para responder a las peticiones realizadas por el usuario y como este puede hacer uso o NO de los recursos a su disposición.
_Atributos: _
Tiempo de comportamiento: Refiere al tiempo que tarda el sistema en resolver una petición realizada, y dependiendo del resultado se evalúa si este tiempo oscila entre lo esperado o el máximo permitido.
Uso de Recursos: Hace referencia a la capacidad del sistema para hacer buen uso de los recursos expuestos en determinado contexto y en diferentes momentos (promedio, horas pico, horas valle, etc.)
_Capacidad: _Hace referencia al límite de peticiones o carga que soporta el sistema.

La capacidad del software esta relacionado a la capacidad que el servidor de aplicaciones puede tolerar.

EJEMPLOS DE EFICIENCIA DE EJECUCIÓN
Tiempo de comportamiento: Tiempo de respuesta en acciones de videojuegos.
Uso de recursos: Bases de datos de una empresa.
Capacidad: Responder a situaciones en las que el sistema estará exigido.

Muy interesante estos tres parámetros, porque generalmente en la vida real están relacionados, por ejemplo. Si lo que quieres es tener gran capacidad, es probable que te convenga tener respuestas rápidas, de esta manera puedes atender más usuarios en el mismo tiempo.

Dejo mis apuntes:

Eficiencia de ejecución

Trata sobre determinar, cuan bueno y eficiente es el sistema para responder a lo que el usuario necesita, a la vez teniendo los recursos que el sistema necesita, cuan bueno es con estos, es decir cuan bien aprovecha estos recursos o desaprovecha.

**Tiempo a comportamiento: **Cuan bueno es el sistema respondiendo al usuario, específicamente, cuanto tarda el sistema y cuanto se espera que tarde.

Una buena forma de medirlo, es en base al tiempo transcurrido entre pedido y respuesta, y tiempo esperado o tiempo máximo tolerado.

Uso de recursos: Cuanto el sistema aprovecha sus recursos en su contexto, RAM, uso de CPU, uso de Disco I/O, cualquier tipo de recurso, determinar cuen bien o mal lo está usando.

Una buena forma de medirlo, en base al consumo de recursos y consumo esperado o tolerado de recursos. También hay que tener en cuenta momentos diferentes del sistema en cuanto a su uso de recursos, ejemplo, medir recursos en uso habitual, horas pico (osea horas de mayor tráfico). También se podría medir en base a si cierta query (solicitud a base de datos), consume mucha memoria, debido a que trae demasiados datos al sistema, y verificar si el sistema soporta o tiene los recursos necesarios para ejecutar dicho query.

Capacidad: Cuanto soporta el sistema en cantidad de pedidos, es decir, si el sistema tiene un limite en el que puede soportar una cantidad de usuarios a la vez, determinar dicho limite, para ver si se corresponde con lo que se espera.

Para medirlo, es importante saber cuanto se espera del sistema a responder en definidos casos ya sea en escritura o lectura, y luego de saber el cuanto se espera que responda, probar cuanto responde realmente. Esto usualmente se puede realizar de multiples maneras, a través de “Stress tests”, y también con métricas en el uso natural de la aplicación.

Eficiencia de ejecución: que tan eficiente es el sistema a la hora de responder, y como aprovecha recursos.
-Tiempo de comportamiento: tiempo transcurrido entre pedido y respuesta, y tiempo esperado o tiempo maximo tolerado.
-Uso de recursos: Aprovechamiento de cualquier recurso que utilice el sistema.

  • Capacidad: Cuantos pedidos soporta el sistema.