Genie logiciel bts 2023
Thème :
Junior
1 vues ·4/4 leçons

Voici la correction complète de votre examen blanc. Comme pour l’examen réel, j’ai structuré la réponse pour qu’elle soit à la fois un corrigé technique et un outil d’apprentissage.


CORRIGÉ DE L’EXAMEN BLANC : GÉNIE LOGICIEL (GL)


PARTIE 1 : MODÉLISATION STRUCTURÉE « MERISE » (25 points)

A - CONNAISSANCES DE COURS (7 pts)

1. Définitions :

  • Clé Primaire : Attribut (ou groupe d’attributs) qui permet d’identifier de manière unique et certaine un enregistrement dans une table.
  • Clé Étrangère : Attribut dans une table qui fait référence à la clé primaire d’une autre table, permettant de créer un lien entre elles.
  • Relation (Association) : Lien sémantique entre deux ou plusieurs entités (ex: un Adhérent emprunte un Livre).
  • Modèle Conceptuel (MCD) : Représentation graphique de la structure des données sans contraintes techniques, centrée sur les règles de gestion métier.

2. Différence MCD vs MLD : Le MCD est une vue métier (entités, relations, cardinalités) abstraite. Le MLD est la traduction de ce modèle en une structure de tables (clés, tables de jointure) prête à être implémentée dans un système informatique.


B - ÉTUDE DE CAS : Gestion d’une Bibliothèque (18 pts)

1. Dictionnaire des données (Extrait)

Nom Symbolique Signification Type Longueur
ISBN Code unique du livre Chaîne 13
TITRE_LIVRE Titre de l’ouvrage Chaîne 50
ANNEE_PUB Année de parution Entier 4
GENRE_LIVRE Catégorie (Roman, etc.) Chaîne 20
CODE_AUT Identifiant de l’auteur Entier 5
NOM_AUT Nom de l’auteur Chaîne 30
NAT_AUT Nationalité Chaîne 20
NUM_CARTE Numéro de l’adhérent Entier 8
NOM_ADHE Nom de l’adhérent Chaîne 30
DATE_DEBUT Date de début d’emprunt Date -
DATE_RETOUR Date de retour prévue Date -

2. Schéma du MCD (Description des relations)

  • Entités : LIVRE, AUTEUR, ADHERENT.
  • Relations :
    • ECRIRE : Entre LIVRE (1,N) et AUTEUR (1,N) $\rightarrow$ Relation Plusieurs-à-Plusieurs.
    • EMPRUNTER : Entre ADHERENT (0,N) et LIVRE (0,1) $\rightarrow$ Relation Un-à-Plusieurs.
    • Attributs de relation : DATE_DEBUT et DATE_RETOUR se placent sur la relation EMPRUNTER.

3. Modèle Logique des Données (MLD)

  • AUTEUR (code_auteur, nom, nationalité)
  • ADHERENT (num_carte, nom, prenom, adresse)
  • LIVRE (isbn, titre, annee, genre, #num_carte) (La clé de l’adhérent migre ici car le livre est lié à un seul adhérent)
  • ECRIRE (#isbn, #code_auteur) (Table de jointure créée par la relation N:N)

💡 Méthodologie (Merise) :

  • Règle d’or : Si une relation est N:N (plusieurs-à-plusieurs), elle devient une table de jointure dans le MLD.
  • Règle d’or 2 : Si une relation est 1:N, la clé primaire du côté “1” devient une clé étrangère du côté “N”.

PARTIE 2 : MODÉLISATION OBJET UML (25 points)

A - CONNAISSANCES DE COURS (8 pts)

  1. Encapsulation : Technique consistant à masquer les détails internes d’un objet et à n’exposer que ce qui est nécessaire via des méthodes publiques (protection des données).
  2. Classe vs Objet : La Classe est le plan de construction (le moule) ; l’Objet est l’instance concrète créée à partir de ce plan (le gâteau).
  3. Héritage : Capacité d’une classe à récupérer les attributs et méthodes d’une autre classe (ex: une classe Voiture hérite de la classe Vehicule).
  4. Polymorphisme : Capacité d’une méthode à se comporter différemment selon l’objet qui l’appelle (ex: la méthode manger() est différente pour un Chien et un Oiseau).

B - CAS PRATIQUE : Commande de Pizza (17 pts)

1. Diagramme de Cas d’Utilisation (Description)

  • Acteurs : Client, Système de Cuisine, Livreur, Système de Paiement.
  • Cas d’utilisation :
    • Parcourir le menu
    • Commander Pizza (inclut Choisir Mode de Paiement)
    • Vérifier Disponibilité (effectué par le Système)
    • Livrer Commande (effectué par le Livreur)

2. Diagramme de Séquence (Scénario Nominal)

  1. Client -> Application : Sélectionne pizzas.
  2. Client -> Application : Valide commande.
  3. Application -> Système Cuisine : Demande vérification ingrédients.
  4. Système Cuisine -> Application : Confirmation disponibilité.
  5. Application -> Client : Demande mode de paiement.
  6. Client -> Application : Sélectionne “Carte”.
  7. Application -> Système Paiement : Traite transaction.
  8. Système Paiement -> Application : Confirmation paiement.
  9. Application -> Livreur : Notifie nouvelle commande.
  10. Livreur -> Client : Confirme livraison.

PARTIE 3 : ALGORITHMIQUE (20 points)

A - SYNTAXE ET CONCEPTS (8 pts)

  1. Définitions :
    • Récursion : Fonction qui s’appelle elle-même pour résoudre un problème plus petit.
    • Pile : Structure LIFO (Dernier entré, premier sorti).
    • File : Structure FIFO (Premier entré, premier sorti).
    • Arbre binaire : Structure hiérarchique où chaque nœud a au maximum deux enfants.
  2. Avantage Liste Chaînée : L’insertion est immédiate (il suffit de changer un pointeur) sans avoir à décaler tous les autres éléments comme dans un tableau.
  3. Fichier de données : Un support de stockage permanent sur disque. On l’utilise pour conserver les informations après l’arrêt du programme.

B - ÉCRITURE D’ALGORITHMES (12 pts)

1. Puissance récursive ($a^n$) :

Fonction Puissance(a : Réel, n : Entier) : Réel;
Début
    Si (n = 0) Alors Retourner 1;
    Sinon Retourner a * Puissance(a, n - 1);
Fin;

2. Somme et Moyenne (Arrêt sur 0) :

Algorithme Somme_Moyenne;
Variables n, i : Entier; s, val, moy : Réel;
Début
    s <- 0; n <- 0;
    Ecrire("Saisissez un nombre (0 pour arrêter) :"); Lire(val);
    TantQue (val != 0) Faire
        s <- s + val;
        n <- n + 1;
        Lire(val);
    FinTantQue;
    Si (n > 0) Alors
        moy <- s / n;
        Ecrire("Somme : ", s, " Moyenne : ", moy);
    Sinon
        Ecrire("Aucune donnée saisie.");
    FinSi;
Fin;

3. Filtrage Étudiants :

Procédure Afficher_Admis(T : Tableau d'Etudiants, taille : Entier);
Variables i : Entier;
Début
    Pour i de 1 à taille Faire
        Si (T[i].note > 10) Alors
            Ecrire(T[i].nom);
        FinSi
    FinPour;
Fin;

PARTIE 4 : MANIPULATION DES DONNÉES - SQL (10 points)

  1. Sigles :

    • DBMS : Database Management System (SGBD).
    • SQL : Structured Query Language.
    • DML : Data Manipulation Language (INSERT, UPDATE).
    • DDL : Data Definition Language (CREATE, ALTER).
    • ACID : Atomicity, Consistency, Isolation, Durability (Propriétés d’une transaction).
  2. Requête Prix (10-50) : SELECT * FROM PRODUIT WHERE prix BETWEEN 10 AND 50;

  3. Requête Augmentation : UPDATE PRODUIT SET prix = prix * 1.10 WHERE id_categorie = 5;

  4. Requête Suppression : DELETE FROM PRODUIT WHERE stock = 0;


PARTIE 5 : INGÉNIERIE DU LOGICIEL (20 points)

  1. Cycle de vie :

    • Analyse : Comprendre les besoins du client.
    • Conception : Créer l’architecture technique (UML/Merise).
    • Implémentation : Codage du logiciel.
  2. Cascade vs Agile :

    • Cascade : Linéaire, rigide, on ne voit le produit qu’à la fin.
    • Agile : Itératif, flexible, on livre des morceaux de logiciel régulièrement pour s’adapter au client.
  3. Tableau des Tests :

Type de Test Objectif Approche
Test Unitaire Vérifier une fonction isolée Boîte Blanche
Test d’Intégration Vérifier l’interaction entre modules Boîte Blanche / Noire
Test d’Acceptation Vérifier si le produit répond aux besoins client Boîte Noire
  1. Cahier des Charges : Document qui liste toutes les exigences d’un projet. Il est indispensable pour éviter les malentendus entre le client et le développeur et servir de base juridique.

Prêt à passer à la suite ?

Vous avez terminé cette leçon sur CORRIGÉ DE L'EXAMEN BLANC : GÉNIE LOGICIEL (GL). Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.