Atributos de calidad Flashcards

1
Q

Que es un atributo de calidad?

A

Propiedad mensurable o testeable del sistema. Da una dimension de una cualidad. Ademas, ayudan a evaluar en que medida el sistema satisface las necesidades de los stakeholders.
En general, favorecer un atributo implica desfavorecer otro.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Que es una tactica?

A

Decisiones de diseño.
Restricciones.
Las tacticas promueven o inhiben atributos de calidad.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Que es availability (disponibilidad)?

A

Habilidad del sistema para reparar o enmascarar fallas de manera que el downtime no exceda un determinado valor durante un lapso de tiempo especificado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Tacticas de availability

A

Se puede dividir en 3. Deteccion, Prevencion y Recuperacion.

Deteccion:
- Echo
- Heartbeat
- Votacion

Prevencion:
- System Monitor
- Removal of service
- Transactions

Recuperacion:
- Redundancia activa
- Redundancia pasiva
- Spare

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Que es performance?

A

Habilidad del sistema en reaccionar ante ciertos eventos en un determinado tiempo.
La arquitectura determina la naturaleza de la interaccion de los elementos.
Para mejor performance, menos uso de la red. Estilos mas eficientes minimizan accesos de la red.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Que 3 caracteristicas tiene el network performance?

A
  • Bandwidth
  • Throughput
  • Capacity
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Que es el Throughput?

A

Es la velocidad de informacion entre componentes. Por lo general se mide en bytes por segundo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Que es el Bandwidth?

A

Es el throughput maximo en un cierto canal de comunicacion.
Representa el rendimiento maximo disponible en un canal
de comunicacion en particular.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Que es la Capacity?

A

Es el throughput maximo o carga maxima que sosporta el sistema. Para saber la capacity se puede hacer un Load Test.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Nombrar las 3 partes de User-perceived performance

A
  • Completion Time
  • Latencia
  • Responsiveness
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Que es Completion Time?

A

Es el tiempo que tarda el sistema en completar un request

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Que es la Responsiveness

A

Tiempo que tarda el sistema en aceptar(acknowledge) un request. Optimixar la responsiveness suele afectar negativamente el completion time (y viceversa).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Que es la efficency?

A

Es la performance por recurso consumido.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Que es load sensitivity?

A

Es la veriacion de el response time en funcion de la carga

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Que es la scalability?

A

Es la habilidad del sistema para incorporar nuevos recursos de manera simple y mejorando algun atributo de calidad. No debe requerir un esfuerzo inapropiado. Ademas para que sea efectivo no se debe interrumpir el funcionamiento del sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Que es la elasticidad?

A

Habilidad del sistema para agregar/sacar recursos a su infraestructura en funcion de la demanda.

17
Q

Tacticas de performance

A

Scheduling Policy:
- FIFO
- Fixed priority

Gestion de recursos:
- Concurrencia
- Multiple copies
- agregar mas recursos (memoria, mejorar la red, etc)

Demanda de recursos:
- Reduce event numbers

18
Q

Tacticas de escalabilidad

A
  • Escalabilidad vertical
  • Escalabilidad horizontal
  • Stateless: Al guardar el estado en el cliente se podria agregar por ejemplo un load balancer y cada request podria ir a cualquiera de los servers disponibles. Con stateful esto no podria suceder porq los requests de un mismo cliente deberian ir todos al un mismo server ya que este es el que tendria el estado de ese cliente.
19
Q

Que es visibility?

A

Es la habilidad de un componente para monitorear o mediar (hacer algo como esos datos, ya sea desde leerlos hasta poder modificarlos) la interaccion entre otros 2 componentes

20
Q

Que es la testeability?

A

Grado en que un componente/sistema pueder ser probado para descubrir sus fallas. En otras palabras, se refiere a la facilidad con la que pueden descubrirse los bugs.

21
Q

Que es la portability?

A

Capacidad de un sistema en ser utilizado en distintos ambientes

22
Q

Que es la interoperability?

A

Habilidad de un sistema para poder intercambiar informacion con otro conjunto de sistemas, de manera satisfactoria.

23
Q

Que es la usability?

A

Es la facilidad con la que el usuario puede realizar una tarea deseada, y el tipo de soporte a usuarios que el sistema provee

24
Q

Que es la manegeability (manejabilidad)?

A

Facilidad de un sistema para poder ser gestionado por administradores

25
Q

Que es la reliability (confiabilidad)?

A

Grado en que la arqui es suceptible a fallas a nivel de sistema cuando ocurren fallas parciales.
Se refiere a la capacidad de un sistema, dispositivo o proceso para realizar una funcion o tarea durante un perıodo de tiempo determinado de manera precisa, consistente y sin fallas.
En otras palabras, un sistema fiable es aquel que puede mantener el rendimiento y la operacion esperados incluso en circunstancias adversas o imprevistas.

26
Q

Que es la seguridad?

A

Capacidad en prevenir acciones maliciosas o accidentales fuera del uso esperado

27
Q

Que es la simplicity?

A

Facilidad en la que uno puede entender, razonar y explicar la arqui de un sistema

28
Q

Que es la modifiability (modificabilidad)?

A

Costo de hacer un cambio en la arqui del sistema.
Esta compuesta por:
- Extensibility (extensibilidad): Facilidad que tiene un sistema en poder agregarle funcionalidades.
- Configurability (configurabilidad): Habilidad de un sistema para pdoer configurar/cambiar componentes post-deployment
- Evolvability (evolucionabilidad): Facilidad de un componente en cambiar sin impactar negativamente en otros.
- Customizability (personalizacion): Habilidad de un componente en ser cambiado por un cliente sin afectar a los otros clientes del mismo sistema
- Reusability (Reusabilidad): Habilidad de un componente para ser utilizado en otro sistema

29
Q

Que caracteristicas pueden afectar la modificabilidad?

A
  • Cohesion
  • Acoplamiento: Si los componentes estan muy acoplados desp es dificil empezar a cambiar uno sin impactar en los demas
  • Tamaño de un modulo: Un m´odulo grande y complejo tiende a ser menos modificable que uno m´as peque˜no y enfocado en una sola responsabilidad.
  • Binding Time: Una inflexibilidad en el futuro puede ser el resultado de tomardecisiones de dise˜no en etapas tempranas del desarrollo del sistema. Es posible que no se hayan tenido en cuenta todos los requisitos futuros o cambios en el entorno si las decisiones se toman de manera prematura
30
Q

Tacticas de modificabilidad

A
  • Inverse cohesion
  • Reduce coupling
  • Defer binding
31
Q

Tacticas de security

A

Deteccion
- deteccion basada en firmas
- comparacion de patrones
- verificar integridad de los mensajes

Resist:
- limit acces
- encrypt data

Recuperacion

Reaccion:
- revoke access
- inform actors

32
Q

Definir arquitectura del software

A

Conjunto de elementos unidos por relaciones que permiten razonar sobre el sistema y que tienen distitnas propiedades