Examens corriges

Cours de Génie Logiciel : Tests, Fiabilité et Gestion de Projet

Introduction au cours de génie logiciel

Ce document pédagogique de 51 pages correspond au support de cours de génie logiciel dispensé par Frédéric Di Gallo dans le cadre du cycle probatoire du CNAM Bordeaux pour l'année académique 1999-2000. Il s'adresse aux étudiants en informatique désireux d'acquérir des bases solides en méthodologie de développement, en assurance qualité, en validation et en gestion de projets informatiques.

Structure et grands chapitres du document

Le polycopié est structuré en plusieurs grandes parties thématiques qui abordent les aspects méthodologiques et techniques du cycle de vie du logiciel :

  • Test de logiciel : Analyse des fondements du test, cycle de développement des tests, mise au point inductive et déductive, ainsi que les techniques de test de boîte blanche et de boîte noire.
  • Fiabilité du logiciel : Définition des défauts et des fautes, amélioration de la fiabilité, métriques associées (probabilité de panne, taux de panne, temps moyen entre pannes et disponibilité) et classification des défauts.
  • Gestion de projet : Notions fondamentales, estimation de la charge (méthodes empiriques et modèle COCOMO), planification avec le réseau PERT et les diagrammes de GANTT, ainsi que le pilotage et le suivi des projets.
  • Maintenance de logiciel : Types de maintenance (corrective, adaptative, perfective), processus de modification, estimation des coûts et techniques de restructuration ou de traitement du code étranger.
  • Gestion de la qualité : Définition de la qualité, normalisation (normes ISO), et manuel qualité.

Les techniques de test et la complexité logicielle

Le document accorde une place importante aux tests logiciels, distinguant l'approche structurelle de l'approche fonctionnelle. Le test en boîte blanche s'appuie sur la représentation de graphes de flot et sur le calcul de la complexité cyclomatique de McCabe, définie par la formule : nombre d'arcs - nombre de nœuds + 2. Des exemples concrets et des exercices corrigés permettent de comprendre comment déterminer le nombre de chemins minimaux pour assurer une couverture adéquate des programmes.

À l'inverse, le test en boîte noire aborde le logiciel sous son angle fonctionnel en ignorant la structure interne du code. Il propose un partitionnement du domaine d'entrée en classes d'équivalence et une sélection de cas de test aux limites pour détecter les anomalies de comportement.

Gestion de projets et planification

La partie consacrée à la gestion de projet détaille les contraintes de délai, de ressources et de production. Elle expose les méthodes d'estimation de charge comme le modèle COCOMO de B.W. Boehm, qui relie la taille du projet en lignes de code source à la charge et au délai de réalisation. La planification est abordée à travers la construction de réseaux PERT, le calcul des dates au plus tôt et au plus tard, la détermination des marges et l'identification du chemin critique, complétée par l'utilisation de diagrammes de GANTT pour l'allocation des ressources.

Exploitation et révision pour les étudiants

Ce support constitue un outil de travail complet pour appréhender les concepts théoriques et pratiques du génie logiciel. Les nombreux exemples de codes en langage C, les graphes de contrôle, les tableaux récapitulatifs et les exercices corrigés permettent une progression structurée. Il est recommandé d'étudier les méthodes de calcul de complexité et de planification en effectuant les exercices pas à pas pour maîtriser les notions d'ordonnancement et de métriques de fiabilité.

Questions fréquentes

Quel est l'établissement à l'origine de ce document de cours ?

Ce support de cours a été rédigé par Frédéric Di Gallo pour le CNAM Bordeaux dans le cadre du cycle probatoire pour l'année 1999-2000.

Quelles sont les principales techniques de test présentées dans le document ?

Le document présente principalement le test en boîte blanche (analyse structurelle et calcul du nombre cyclomatique) et le test en boîte noire (partitionnement du domaine d'entrée et tests aux limites).

Comment est calculée la complexité cyclomatique selon la méthode présentée ?

La complexité cyclomatique est calculée à l'aide de la formule : Nombre d'arcs - Nombre de nœuds + 2, ce qui correspond également au nombre de régions du graphe de flot.

Quels aspects de la gestion de projet sont abordés ?

Le cours aborde la définition des projets, l'estimation de la charge (notamment via la méthode COCOMO), la planification par réseau PERT et diagramme de GANTT, ainsi que le suivi individuel et global du projet.

Testez vos connaissances

Question 1

Quelle est la formule du nombre cyclomatique d'un graphe de flot de programme présentée dans le cours ?

  1. Nombre d'arcs + Nombre de nœuds - 2
  2. Nombre d'arcs - Nombre de nœuds + 2
  3. Nombre de nœuds - Nombre d'arcs + 1
  4. Nombre d'arcs - Nombre de nœuds - 1

Réponse correcte : Nombre d'arcs - Nombre de nœuds + 2

Explication : Le nombre cyclomatique de McCabe est calculé en soustrayant le nombre de nœuds au nombre d'arcs, puis en ajoutant 2, ce qui correspond au nombre de régions du graphe.

Question 2

Que caractérise principalement une faute dans le contexte de la fiabilité logicielle ?

  1. Une caractéristique dynamique visible uniquement lors de l'exécution
  2. Une défaillance matérielle du système
  3. Une caractéristique statique du logiciel qui provoque un défaut à l'exécution
  4. Un problème lié exclusivement à l'environnement utilisateur

Réponse correcte : Une caractéristique statique du logiciel qui provoque un défaut à l'exécution

Explication : Le cours distingue la faute (statique, présente dans le code) du défaut (dynamique, qui se manifeste lors de l'exécution suite à la présence d'une faute).

Question 3

Quel modèle d'estimation de charge basé sur la corrélation entre la taille du projet et sa charge est présenté dans le cours ?

  1. La méthode Delphi
  2. Le modèle COCOMO
  3. La méthode des points de fonction
  4. La méthode de répartition proportionnelle

Réponse correcte : Le modèle COCOMO

Explication : Proposé par B.W. Boehm en 1981, le modèle COCOMO (Construct Cost Model) s'appuie sur le nombre de lignes sources pour estimer la charge et le délai.

Question 4

Quel type de maintenance consiste à corriger les anomalies ou erreurs signalées par le client après la mise en service ?

  1. La maintenance perfective
  2. La maintenance adaptative
  3. La maintenance corrective
  4. La maintenance évolutive

Réponse correcte : La maintenance corrective

Explication : La maintenance corrective traite les erreurs mises à jour par le client qui n'ont pas été détectées lors des tests de vérification et de validation.





Télécharger Cours de Génie Logiciel : Tests, Fiabilité et Gestion de Projet pdf