Sunteți pe pagina 1din 25

Atributos de calidad La

Eficiencia
Anlisis de la eficiencia como
atributo de calidad aplicado a la
ingenieria de software.

Ing. Oscar R. Snchez.


Agenda.
1. Eficiencia.
2. Desemepeo.
3. Caractersticas de desempeo.
4. Anlisis desempeo.
5. Como mejorar el desempeo?.
6. Mtricas.
Modelo de calidad ISO/IEC 9126
Eficiencia
Grado en que el software hace ptimo el uso de
los recursos del sistema. Est indicado por los
siguientes sub-atributos:
tiempo de uso y recursos utilizados[1].

Roger S. Pressman
Eficiencia (McCall)
El conjunto de recursos informticos y de cdigo
necesarios para que un programa realice su
funcin[1].

[5]
Eficiencia
Atributo Sub-Caracteristica Pregunta
Eficiencia Comportamiento del Qu tan rpido
tiempo responde el sistema?
Utilizacin de recursos el sistema utiliza los
recursos de manera
eficiente?
Cumplimiento de la Que tanto cumplo la
eficiencia legislacin o normas
dictadas acorde a la
eficiencia?

Y la eficiencia en ejecucin de la que habla


McCall?
Desempeo (FURSP)
El desempeo se mide por la velocidad de
procesamiento, el tiempo de respuesta, consumo
de recursos, rendimiento efectivo total y
eficacia[1].
Sub-caractersticas :
1. Velocidad del procesamiento.
2.Tiempo de respuesta .
3.Consumo de recursos .
4.Rendimiento efectivo total .
5. Eficacia .
Desempeo
Es el grado en el cual un sistema o componente
cumple con sus funciones designadas, dentro de
ciertas restricciones dadas, como velocidad,
exactitud o uso de memoria. (IEEE 610.12).
Smith (1993), el desempeo de un sistema se refiere
a aspectos temporales del comportamiento del
mismo. Se refiere a capacidad de respuesta, ya sea el
tiempo requerido para responder a aspectos
especficos o el nmero de eventos procesados en un
intervalo de tiempo.
Desempeo
Bass et al. (1998), se refiere a la cantidad de
comunicacin e interaccin existente entre los
componentes del sistema.
[4]
Carcteristicas del desempeo
Comunicaciones entre los componentes

Asignacin de funcionalidad a los componentes

Algoritmos que implementan la funcionalidad

Codificacin de algoritmos

[4]
Anlisis de desempeo
Anlisis de tasa de llegada

Distribucin de requerimientos de servicios

Tiempos de procesamiento

Tamao de las colas

Latencia

SIMULACIN
Escenario

[4]
[5]
Puntos a tener en cuenta acerca del
desempeo?
Tiempo en el que se genera una respuesta a una
peticin.
Tiempo de latencia.
Procesamiento
El consumo de recursos
El tiempo de bloqueo
Consumo de recursos
CPU

Almacenamiento de datos

Ancho de banda

Memoria
El tiempo de bloqueo

Contencin del recurso

Disponibilidad del recurso

Dependencia hacia otros servicios


Como puedo mejorar del desempeo?
Demanda de recursos
Reducir cantidad de recursos involucrados
Aumentar la eficiencia computacional.
Cambiar los recursos por otros.
Reducir el nmero de eventos procesados.
Reducir intermediarios (modificabilidad vs performance)
Reducir frecuencia de muestreos (colas o workflows).
Controlar el uso de recursos.
Limitar tiempos de ejecucin.
Limitar iteraciones en algoritmos.
Limitar tamaos de las colas.
Introducir concurrencia. (Paralelismo, Hilos, Balanceo de carga)
Mantener multiples copias de datos o calculos. (distribucin de
calculos, cach)
Como puedo mejorar del desempeo?
Administracin de recursos
Procesamiento en paralelo.
Reducir puntos de acceso a datos comunes.
Aumentar la capacidad de los recursos.
Arbitramento de recursos
Definir una estrategia de programacin de uso de los
recursos.
Politicas de planificacin de tareas.
Asignacin de prioridades.
Politicas de despachos.
Teorias de colas.
Planificacin de prioridades dinamicas (round robin)
Mtricas (Variables).
Variables
T: Length of the observation period (Time).
A i : Number of service requests (i.e. as arrivals) to service centre i during the
observation period T (Arrivals).
A0:Number of arrivals to the system occurring during the observation
period(Arrivals).
B i : Total busy time of resource i during the observation period T (Busy time).
C i : The total number of service completions from resource i occurring during the
observation period T (Completions).
C 0 : The total number of requests completed by the system during the observation
period T (Completions).
Metricas
U i : Utilisation of resource i: U i = B i /T
X i : Throughput (i.e., completions per unit time) of resource i: X i = C i /T
X 0 : System throughput: X 0 = C 0 /T
V i : Average number of visits (i.e., the visit count) per request to resource i:
V i = C i /C 0
S i : Mean service time per completion at resource i: S i = B i /Ci
Mtricas de ejemplo.
Tiempo de respuesta :
1. En una aplicacin de punto de venta para una
tienda grande, cuando un artculo es escaneado en la
caja, en un segundo o menos tiempo el sistema
responde con el precio del tem, lo que significa que
el cliente puede ser atendido rpidamente.
Troughput:
1. Una aplicacin de banca en lnea debe garantizar que
puede ejecutar 1000 transacciones por segundo para
los clientes por internet.
2. Un sistema de inventarios para una bodega grande
necesita procesar 50 mensajes por segundo desde sus
socios de negocio.
Mtricas de ejemplo
Deadlines:
Un sistema de prediccin de clima toma
normalmente un tiempo continuo para pronosticar
el clima para el siguiente da. No se puede pasar del
tiempo estimado pues de lo contrario el pronstico
sera inoficioso.
Referencias
[1] R. S. Pressman, Ingeniera Del Software. Un enfoque
practico, Quinta edi. Madrid: McGraw-Hill, 2002.
[2] A. . Fallis, Aplicacin del modelo ISO 9126 para la
evaluacin de un sistema de aprendizaje virtual, J.
Chem. Inf. Model., vol. 53, no. 9, pp. 16891699, 2013.
[3] M. Snchez-Carrasco Garca and M. Snchez-
Carrasco Garca, Auditora compatibilidad producto
software, 2015.
[4]. L. Bass, Software architecture in practice. 2012.
[5]. I. Eusgeld, J. Happe, P. Limbourg, M. Rohr, and F.
Salfner, Performability, vol. 4909. 2008.

S-ar putea să vă placă și