Semaine 7 Flashcards
Étude performance logicielle
Qu’est ce que l’efficacité de performance?
Le critère qui représente la performance relative à la quantité de ressources utilisées sous certains conditions. Le critère contient 3 sous critères.
EFFICACITÉ ET PERFORMANCE:
Qu’est-ce que le comportement par rapport au temps?
Le degré de conformité des temps de réponse ou de traitement et du taux de traitement (throughput) du système aux exigences.
EFFICACITÉ ET PERFORMANCE:
Qu’est-ce que l’utilisation des ressources?
Le degré de conformité de la quantité et
des types des ressources utilisées par le système aux exigences.
EFFICACITÉ ET PERFORMANCE:
Qu’est-ce que la capacité?
Le degré de conformité des limites maximales de
certains paramètres du système aux exigences.
Quels sont les indices pour capturer et évaluer la performance?
- Temps de réponse : Le temps de bout en bout qu’une tâche prend pour traverser une partie du système.
- Taux de traitement : Le nombre de requêtes ou de tâches complétées par unité de temps par une partie du système.
- Utilisation : C’est le pourcentage de temps qu’une partie du système est occupée en travaillant.
Qu’est-ce que l’ingénierie de la qualité logicielle (SPE)?
- L’ensemble des techniques, des outils et des méthodologies pour assurer la conformité aux exigences non-fonctionnelles de la performance selon les indices spécifiées pendant la vie entière du logiciel.
- Une approche systématique et quantitative pour le développement efficace du logiciel afin de conformer aux exigences nonfonctionnelles.
- L’ensemble des tâches et des activités qui doivent être performées pendant le cycle de vie du logiciel pour conformer aux exigences nonfonctionnelles.
Quels sont les objectifs du SPE?
• Augmenter le revenu en assurant que le système traite toutes les transactions en temps opportun.
• Éliminer les défaillances qui requissent la réingénierie complète du système à cause des défaillances des
objectifs de performance.
• Éliminer le déploiement retardé à cause des problèmes de la performance.
• Éliminer l’effort de la réingénierie évitable à cause des problèmes de la performance.
• Éliminer l’effort évitable des optimisations à cause des problèmes de la performance.
• Éviter les coûts additionnels et inutiles d’achat du matériel.
• Réduire les coûts augmentés de la maintenance à cause des problèmes de la performance pendant la
production.
• Réduire les coûts augmentés de la maintenance à cause des corrections ad hoc de la performance.
• Réduire la surcharge opérationnel pour adresser les problèmes du système à cause des problèmes de la
performance.
• Identifier les goulots d’étranglement en simulant un prototype.
• Augmenter la capacité des serveurs.
Quelles sont les étapes pour la SPE phase des exigences?
• Réviser les exigences des affaires et la documentation (Comprendre les objectifs entrepreneuriaux et les moyens utilisés pour les atteindre.)
• Réviser les métriques de performance de la production de la version
actuelle si disponible.
• Déterminer les exigences non-fonctionnelles (les cibles de la performance du système et les métriques pour leur évaluation sont aussi définis)
• Déterminer les outils, les ressources et l’infrastructure.
(l’identification précoce permet l’allocation du budget et du temps pour l’installation et la formation du personnel.)
• Confirmer la cohérence des exigences entre eux et par rapport aux exigences fonctionnelles (résoudre les conflits entre les exigences.)
Quelles sont les étapes pour la SPE architecture et conception?
- Évaluer les alternatifs
- Déterminer la capacité de l’infrastructure requise.
- Définir les cibles de la performance pour les développeurs.
Quelles sont les étapes pour la SPE Implémentation?
- Poursuivre le développement et monitorer les tests unitaires de la performance.
- Développer des modèles de charge de travail (workload).
- Installer et configurer les outils de monitorage pour le logiciel et l’infrastructure.
Quels sont les avantages de la SPE?
- La définition d’un ensemble clair d’exigences non-fonctionnelles garantit le développement réussi.
- La concentration constante et précoce sur la performance du système pendant toutes les phases de développement prévient les modifications tardives et couteuses au futur.
- Le monitorage de la performance en production maintient la performance et la fiabilité du système, et il permet l’expansion de la capacité avant elle est dépassée.
- L’approche proactive permet d’éviter les problèmes et de se concentrer sur le développement et pas sur la résolution constante des problèmes.
- En réussissant à livrer un système fonctionnel et performant selon les exigences, le client va recevoir la valeur totale.
Quels sont les défis de la SPE?
• En favorisant le temps au marché et les contraints budgétaires, l’importance de SPE dans le cycle de vie du logiciel est diminuée.
• Le défi principal pour un SPE inefficace est un écart de connaissance entre les
développeurs et les experts de qualité.
• La performance est perçue par les utilisateurs.
• Une solution recommandée pour combler le fossé est l’automatisation (éliminer la besoin des personnes qualifiées pour la construction manuelle des méthodes et des modèles pour la performance et réduire le temps et l’effort pour la validation de la performance.)
Quels sont les concepts de base des mesures?
- Fournir des données d’entrée pour les modèles SPE, pour vérifier et valider les modèles.
- Évaluer la conformité aux cibles de la performance.
- Monitorer la performance pendant le cycle de vie du logiciel.
- Mesures statiques (pas besoin d’exécuter le système) et dynamiques (le système doit être s’exécuter pendant la mesure.)
- Mesures internes (du code pour détecter des évènements et enregistrer les données de la performance doit être insérer au code du système) et externes (le logiciel qui mesure est indépendant du logiciel qui est mesuré.)
Quels sont les objectifs des mesures?
- Compréhension du système
- Spécification des modèles.
- Mise à jour des modèles.
- Vérification et validation des modèles.
- Évaluation de la performance logicielle.
Quel est le processus des mesures?
- Comprendre l’objectif de la mesure (questions et hypothèse).
- Identifier les données nécessaires pour répondre à ces questions, les outils de collection et les techniques de mesure.
- Identifier les variables expérimentales et les contrôles.
- Définir les cas de test : workload, composante du logiciel et l’environnement de chaque test.
- Exécuter les tests et collecter les données.
- Analyser, interpréter, présenter les résultats.