Cours critères de qualité d’un logiciel, tutoriel & guide de travaux pratiques en pdf.
De la programmation par Goto à la programmation structurée
Branchement par Goto
– Un simple test sur les valeurs des données: Interruption de l’exécution du jeu d’instructions, Branchement vers une autre partie du programme.
– Si nous sommes en présence d’une grosse application, le programme à réaliser sera alors gros et complexe: Lisibilité, maintenance et réutilisation du code ne sont pas favorisées.
Programmation structurée
– Décomposition d’une tâche en termes de sous-programmes. Analyse du problème de manière descendante (« Top-Down »).
– N.B.: – La programmation structurée s’appuie sur des spécifications stables or les spécifications sont loin d’être stables => Fragilité du système logiciel ayant une conception « Top-Down »,
– La spécialisation des fonctions ne favorise pas leur réutilisation.
Coût des logiciels par rapport aux résultats
– Une enquête réalisée par ACM sigsoft (Eng. Notes V10, No 5, Oct. 1985) sur 9 projets du gouvernement américain
Résultats coûts pourcentages Logiciels utilisés tels que livrés 0.1 M$US 1.5% Logiciels utilisés après modifications 0.2 M$US 3.0% Logiciels abandonnés ou en cours de modifications 1.3 M$US 19.0% Logiciels livrés mais non utilisés 2.0 M$US 29.5% Logiciels payés mais non livrés 3.2 M$US 47.0%
– S’orienter vers de nouvelles approches autres que celles utilisées, à l’époque (1985), dans la conception et le développement des applications.
Critères de qualité d’un logiciel
– Les facteurs de qualité d’un code [Object Oriented Software Construction, B.Meyer, Prentice Hall, 1997],
Correct
– Le logiciel est capable de produire exactement les fonctions qu’on lui demande par les spécifications.
– Demander 20$ au guichet bancaire automatique => obtenir 20$.
Robuste
– Le logiciel est capable de bien fonctionner dans des conditions anormales.
– Pitonner une séquence NON prévue au guichet bancaire automatique => ne donne pas 500$ en conséquence.
Extensible
– Il est possible de modifier le logiciel simplement pour l’adapter à des modifications dans les spécifications.
– Ajouter le prêt hypothécaire dans le guichet bancaire automatique.
Réutilisable
– Le logiciel peut être utilisé intégralement ou en partie dans de nouvelles applications.
– Distributeur de boissons => Distributeur de tickets de métro.
Compatible
– C’est la possibilité de combiner le code du logiciel à d’autres codes.
– Formats des fichiers non compatibles d’un OS à un autre. En UNIX, format des fichiers « texte » a été standardisé à une simple séquence de caractères.