Diferencia entre revisiones de «Apunte de Atributos de Calidad (Ingeniería II)»
Línea 118: | Línea 118: | ||
== Usability == | == Usability == | ||
=== Concerns == | === Concerns === | ||
Interfaz de usuarios, Procedo de negocio, Calidad de información, Alinear la capacidad del usuario con la interfaz, Crecimiento de la productividad con el aprendizaje de uso. | Interfaz de usuarios, Procedo de negocio, Calidad de información, Alinear la capacidad del usuario con la interfaz, Crecimiento de la productividad con el aprendizaje de uso. |
Revisión del 18:59 2 may 2009
Atributos y Tácticas
Availability
Fault Detection
- Ping/echo
- Heartbeat
- Exception
Recovery
Preparation and Repair
- Voting
- Active redundancy
- Passive redundancy
- Spare
Reintroduction
- Shadow
- State resync
- Rollback
Prevention
- Removal from service
- Transactions
- Process monitor
Modifiability
Localize Changes
- Semantic coherence
- Anticipate expected changes
- Generalize module
- Limit possible options
- Abstract common services
Prevent Ripples
- Information hiding
- Mantain existing interfaces
- Restrict communication paths
- Use intermediary
Defer Binding Time
El objetivo de esta categoría de tácticas no es disminuir la cantidad de módulos impactados por un cambio sino reducir los tiempos de deployment de modificaciones y permitir la realización de cambios por nondevelopers o fuera de design time.
- Runtime registration
- Config files
- Polymorphism
- Component replacement
- Adherence to defined protocols
Performance
Performance se refiere exclusivamente a optimización de tiempos.
Las tácticas de performance se basan en que el tiempo que pasa entre un pedido y la respuesta se debe o bien a consumo de recursos por parte de ese pedido (sea CPU o IO) o bien a que se encuentre bloqueado a la espera de un recurso o del resultado de otro cálculo.
Resource Demand
- Increase computation efficiency
- Reduce computational overhead
- Manage event rate
- Control frequency sampling
Resource Management
- Introduce concurrency
- Mantain multiple copies
- Increase available resources
Resource Arbitration
La arbitración de recursos se basa en el scheduling utilizado para otorgar recursos a quienes lo soliciten, para lo cual pueden usarse distintos esquemas:
- FIFO: El primer pedido en pedir un recurso lo recibe, se tratan todos los requests por igual.
- Fixed priority: Se asigna una prioridad fija a cada pedido o stream de pedidos. Puede ser por semantic importance, o basado en la longitud de los deadlines o de los períodos.
- Dynamic priority: Puede ser round-robin o earliest deadline first.
- Static: El asignamiento de recursos se determina offline.
Security
Resisting Attacks
- Authenticate users: Solicitar algún tipo de autenticación, desde user/pass hasta biometrics.
- Authorize users: Definir los permisos para un usuario ya autenticado; los permisos pueden definirse sobre usuarios o sobre roles.
- Maintain data confidentiality: Proteger datos de ser accedidos por usuarios no autorizados, principalmente via encripción de los datos.
- Maintain integrity: La integridad puede mantenerse enviando info extra, como ser hashes o checksums.
- Limit exposure: Un ataque generalmente permite al intruso obtener toda la data del host; al limitar los servicios a distintos hosts se limita la cantidad de data expuesta ante un solo ataque exitoso.
- Limit access: Uso de firewalls y demilitarized zones para proveer servicios a hosts conocidos y desconocidos.
Detecting Attacks
Se logra agregando un sistema de detección de intrusos que analiza patterns de tráfico en la red y los compara contra el histórico. Debe tener acceso a la red, ser configurable y poder guardar los logs de patterns de tráfico.
Recovering from Attacks
Se divide en dos partes. Restoration implica volver a un estado anterior que se sabe seguro previo al ataque. Identification permite saber quién fue el autor del ataque.
Restoration
Utiliza tácticas de availability para recuperar un estado válido. Puede ser mediante checkpoints, redundancia, etc.
Identification
Requiere el uso de un audit trail para guardar quién fue el usuario que realizó cada transacción. Permite, además de seguir a un atacante, la no repudiación y ayuda a la recuperación del sistema junto a las tácticas de availability.
Testability
Usability
Concerns
Interfaz de usuarios, Procedo de negocio, Calidad de información, Alinear la capacidad del usuario con la interfaz, Crecimiento de la productividad con el aprendizaje de uso.
Tácticas
- Support User Interface
- Support User Initiative (Cancel, Undo o Agregatte)
- Support System Initiative (User model, System model, System Task)