Solutions séries d’exercices GL 01
Exercice 1: L'utilisateur d'un logiciel rapporte les défauts suivants :
Le logiciel ne fournit pas toutes les fonctionnalités attendues. Validité
L'apprentissage de l'utilisation du logiciel est difficile. Ergonomie
Les résultats donnés par le logiciel sont parfois erronés. Fiabilité
Le logiciel consomme beaucoup de CPU pour des requêtes qui semblent simples.
Efficacité
Exercice 2 :
Les facteurs de qualité les plus importants pour les logiciels dépendent de leur domaine
d'application et des attentes des utilisateurs. Voici une analyse pour chaque système
mentionné :
a. Système de gestion des réservations d'hôtel
Facteurs de qualité importants :
1. Fiabilité : Les utilisateurs doivent pouvoir compter sur le système pour éviter les
erreurs dans les réservations ou les annulations.
2. Disponibilité : Le système doit être opérationnel 24/7, car les réservations peuvent
être faites à tout moment, notamment à l'international.
3. Facilité d'utilisation : Les clients et le personnel doivent pouvoir interagir facilement
avec le système sans besoin d’une formation approfondie.
4. Performances : Le système doit pouvoir gérer un grand nombre de requêtes
simultanées (p. ex., péiodes de forte affluence).
5. Sécurité : Protection des données personnelles et des informations de paiement des
clients.
b. Guichet automatique de la banque (GAB)
Facteurs de qualité importants :
1. Fiabilité : Le système ne doit pas échouer pendant les transactions pour éviter des
erreurs financières.
2. Sécurité : Les informations bancaires des utilisateurs doivent être protégées contre les
fraudes ou les accès non autorisés.
1
3. Performances : Les opérations (retraits, dépôts, consultation de solde) doivent
s'exécuter rapidement, car les utilisateurs attendent un service instantané.
4. Disponibilité : Le système doit être accessible en continu pour servir les clients à tout
moment.
5. Maintenabilité : Les mises à jour ou les corrections d’erreurs doivent pouvoir être
effectuées rapidement sans interruption prolongée.
c. Système de contrôle de trafic aérien
Facteurs de qualité importants :
1. Fiabilité : Absolument critique, car toute panne peut avoir des conséquences
catastrophiques.
2. Disponibilité : Le système doit être opérationnel en permanence pour garantir la
sécurité des vols.
3. Performances : La rapidité et la précision des traitements sont essentielles pour suivre
les mouvements des avions en temps réel.
4. Sécurité : Protection contre les cyber attaques qui pourraient compromettre la gestion
des vols.
5. Tolérance aux pannes : Le système doit avoir des mécanismes de redondance pour
continuer à fonctionner en cas de défaillance.
d. Système de transaction bancaire en ligne
Facteurs de qualité importants :
1. Sécurité : Protection contre les attaques, garanties de confidentialité et de sécurité des
transactions.
2. Fiabilité : Les transactions doivent être effectuées sans erreurs, et les utilisateurs
doivent avoir confiance en l'exactitude des informations affichées.
3. Disponibilité : Le système doit être accessible à tout moment, notamment pour des
transactions internationales.
4. Performances : Les réponses du système doivent être rapides, même en cas de forte
charge (par exemple, lors des paiements en ligne pendant des périodes de soldes).
5. Facilité d'utilisation : Les interfaces doivent être claires pour permettre une
navigation intuitive.
Ces priorités reflètent les attentes et les enjeux spécifiques de chaque système. Dans chaque
cas, les développeurs doivent ajuster leurs efforts en fonction des besoins spécifiques du
logiciel.
Exercice 3 :
Voici la distinction entre les besoins fonctionnels et non fonctionnels dans les situations
décrites :
Besoins fonctionnels :
2
Ce sont les fonctionnalités que le système doit fournir ou les services qu'il doit rendre.
a. Le distributeur de tickets doit permettre aux voyageurs d'acheter des coupons.
d. Le distributeur de tickets doit permettre aux voyageurs d'imprimer leurs tickets.
f. Le distributeur de tickets doit fournir un numéro de téléphone en cas de défaillance.
g. Le distributeur de tickets doit interdire l'accès non autorisé.
Besoins non fonctionnels :
Ce sont les critères qui jugent le fonctionnement du système (performance, contraintes
techniques, ergonomie, etc.).
b. Le code du distributeur de tickets doit être écrit en Java.
e. Le distributeur de tickets doit être facoile à utiliser.
e. Le distributeur de tickets doit être toujours disponible.
Ainsi, les besoins fonctionnels définissent "ce que le système doit faire", tandis que les
besoins non fonctionnels définissent "comment il doit le faire".
Exercice 4 :
Exercice 5:
Voici une analyse des activités de développement logiciel, leurs entrées, sorties, et une
description succincte, suivie des phases impliqu
ées dans la vérification et la validation.
1. Description des activités
1.1 Étude de faisabilité
Entrées :
o Besoins généraux exprimés par les parties prenantes
o Contraintes (techniques, financières, temporelles, humaines, etc.)
Sorties :
o Rapport de faisabilité (analyse des risques, coûts, délais, bénéfices)
o Décision : poursuivre ou abandonner le projet
Description :
Cette étape évalue si le projet est réalisable en fonction des contraintes et objectifs définis.
Elle identifie les principaux défis, les risques, et les solutions potentielles pour vérifier si le
projet vaut la peine d’être poursuivi.
1.2 Spécification
Entrées :
o Résultats de l’étude de faisabilité
o Exigences fonctionnelles et non fonctionnelles
Sorties :
o Document de spécifications détaillées (cahier des charges)
3
Description :
L’objectif est de transformer les besoins exprimés en exigences précises, claires et
compréhensibles. Cette étape formalise "ce que le système doit faire", définissant les
fonctionnalités et contraintes.
1.3 Conception
Entrées :
o Spécifications fonctionnelles et non fonctionnelles
Sorties :
o Modèles de conception (diagrammes, architectures, structures de données)
o Prototype ou maquette
Description :
Cette phase consiste à définir "comment" le système répondra aux besoins spécifiés. Cela
inclut l’architecture du système, les bases de données, et les interfaces utilisateur.
1.4 Implémentation
Entrées :
o Conception technique détaillée
Sorties :
o Code source opérationnel
Description :
Cette étape consiste à traduire la conception en un logiciel fonctionnel en écrivant le code.
Les développeurs transforment les modèles en un produit tangible.
1.5 Implantation
Entrées :
o Logiciel implémenté et testé
o Infrastructure cible (serveurs, réseaux, etc.)
Sorties :
o Logiciel déployé et opérationnel
Description :
Il s’agit de déployer le logiciel dans l’environnement réel ou de production. Cela inclut la
configuration, la formation des utilisateurs, et la résolution des problèmes initiaux.
1.6 Maintenance
Entrées :
o Logiciel déployé
o Retours des utilisateurs
o Nouveaux besoins ou bugs détectés
Sorties :
o Logiciel mis à jour ou corrigé
o Documentation mise à jour
Description :
La maintenance vise à corriger les défauts, à s’adapter à de nouvelles exigences ou à
améliorer le système pour qu’il reste pertinent et efficace.
4
2. Phases concernées par la vérification et la validation
Vérification :
La vérification consiste à s'assurer que chaque étape respecte les spécifications
prévues ("Est-ce qu’on construit le produit correctement ?").
o Phases : spécification, conception, implémentation.
Validation :
La validation consiste à vérifier que le produit final répond aux besoins des utilisateurs
et atteint ses objectifs ("Est-ce qu’on construit le bon produit ?").
o Phases : implantation, maintenance.
Ces deux processus se recouvrent souvent, car il peut y avoir des validations intermédiaires
pour garantir que les livrables sont alignés avec les attentes dès les premières phases.