★ À maîtriser
📌 Un logiciel est un produit abstrait développé entièrement par des humains, tandis qu’un produit concret possède des composants physiques assemblables et remplaçables.
Compléments
Les logiciels accélèrent le traitement, résolvent rapidement des problèmes complexes et offrent une capacité importante de calcul, de stockage et de traitement.
En 1962, une formule mathématique mal transcrite dans le code a dévié la fusée spatiale Mariner-1 de sa trajectoire.
En 1985, un bogue du déclencheur de radiation de l’accélérateur médical Therac-25 a causé la mort d’au moins cinq personnes.
Le logiciel est invisible et abstrait, contrairement au produit concret.
La crise logicielle des années 1960 et 1970 se caractérisait par des délais et des budgets non respectés, des logiciels ne répondant pas aux besoins et des difficultés d’utilisation, de maintenance et de mise à niveau.
Les principales causes de faible qualité sont: l’invisibilité du logiciel, sa complexité, la difficulté de mesurer sa qualité, la taille des équipes, l’absence de méthodes de conception, l’absence de méthodes et d’outils de validation et de vérification, la négligence des besoins du client, le faible engagement du client
📌 L’objectif du génie logiciel est d’appliquer des procédures systématiques afin que la spécification corresponde aux besoins réels, que le logiciel respecte sa spécification et que les délais et les coûts soient respectés.
Complexité et erreurs humaines → retards, dépassements et logiciels de faible qualité.
FUVP-RS-MPC : fonctionnel, valide, utilisable, performant, fiable, sécurisé, maintenable, portable, compatible.
📌 Les exigences fonctionnelles décrivent les fonctionnalités essentielles et la manière dont le logiciel doit fonctionner, tandis que les exigences non fonctionnelles décrivent ses propriétés générales et ses contraintes.
📌 La validation vérifie que les besoins du client sont satisfaits, tandis que la vérification vérifie que le logiciel respecte sa spécification à l’aide du cahier des exigences.
Pourquoi → quoi → comment → coder → vérifier → livrer → maintenir.
★ À maîtriser
📌 Le cycle en V associe à chaque phase de spécification, conception et codage une activité de vérification correspondante, comme les tests de validation, d’intégration et unitaires.
Compléments
📌 Le prototypage jetable est abandonné après la compréhension des besoins, tandis que le prototypage évaluatif est conservé, amélioré et complété jusqu’à produire le logiciel final.
Cascade : spécifier, concevoir, coder, tester ; prototype : comprendre avant de développer.
★ À maîtriser
📌 Le modèle en spirale convient aux logiciels critiques, notamment les logiciels militaires ou médicaux, car il offre une meilleure gestion des risques.
Compléments
Incrément : ajouter ; itération : répéter jusqu’à satisfaction.
★ À maîtriser
📌 Les modèles classiques utilisent des étapes strictes, une documentation importante et conviennent notamment aux grands projets, tandis que les modèles agiles privilégient de petites livraisons fréquentes et conviennent plutôt aux projets petits ou moyens.
Compléments
📌 Le choix d’un processus de développement dépend des contraintes réelles du projet, notamment la taille de l’équipe, le temps disponible et le niveau de qualité attendu.
Besoins instables → livraisons fréquentes, retours réguliers et adaptation continue.
Comparaison des critères de qualité
| Critère | Ce qu’il vérifie | Moyens cités |
|---|---|---|
| Aptitude fonctionnelle | Fonctions correctes, complètes et appropriées | Tests, vérification, retour client |
| Validité | Adéquation au problème réel du client | Cahier des exigences, retour client |
| Performance | Temps de réponse, débit et fluidité | Simplification, analyse de complexité |
| Sécurité | Protection des données et contrôle des accès | Cryptographie, contrôle d’accès, rôles |
Teste tes connaissances sur Introduction au génie logiciel avec 26 questions à choix multiples et corrections détaillées.
1. Quelle définition décrit le mieux un logiciel ?
2. Quelle distinction caractérise correctement un logiciel par rapport à un produit concret ?
Mémorisez les concepts clés de Introduction au génie logiciel avec 45 flashcards interactives.
Qu'est-ce qu'un logiciel en informatique ?
Un ensemble de programmes permettant d'exécuter une tâche spécifique.
Quelle différence existe entre un logiciel et un produit concret ?
Un logiciel est abstrait et développé par des humains, un produit concret a des composants physiques.
Qu'est-ce qu'un modèle en génie logiciel ?
Une représentation ou simplification de la réalité avec un langage de modélisation.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches