Corrigé

Analyse et Conception Orientées Objet

Examen corrigé en Analyse et Conception Orientées Objet portant sur la modélisation UML. Il couvre la gestion d'une ligne de production (cas d'utilisation, classes, objets, contraintes) et la modélisation par états-transitions des processus UNIX (commands fg, bg, kill).

D'après le document Analyse et Conception Orientées Objet

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Analyse et Conception Orientées Objet

Document source

Analyse et Conception Orientées Objet

Informatique, Programmation, Analyse · UNIVERSITE DE LA MANOUBA -----¤¤¤¤----- ECOLE NATIONALE DES SCIENCES DE L&#39 · PDF · 2 pages · 2015

Afficher l'aperçu du document

Consulter le document original

Ce document présente le sujet corrigé de l'examen de rattrapage (juin 2016) de la matière « Analyse et Conception Orientées Objet » (Université de La Manouba, ENSI, niveau II2). Il évalue la maîtrise des diagrammes UML fondamentaux : cas d'utilisation, classes, objets et états-transitions.

Exercice 1 : Diagramme de séquences

L'exercice demande d'expliquer en langage naturel l'algorithme correspondant à quatre scénarios (A, B, C, D) représentés sous forme de diagrammes de séquences.

Les supports visuels des diagrammes de séquences ne sont pas présents dans le document source. Il est donc impossible de restituer les interactions exactes entre les objets et les acteurs sans ces éléments graphiques.

Exercice 2 : Système de gestion de production industrielle

Le fabricant de chaussures GD souhaite automatiser sa ligne de production pour permettre aux commerciaux de transmettre directement les commandes personnalisées des clients à l'usine.

1. Diagramme de cas d'utilisation

L'analyse du texte permet d'identifier les acteurs du système ainsi que leurs fonctionnalités associées :

Acteurs principaux et secondaires :

  • Agent commercial : présente le catalogue, configure de nouveaux produits personnalisés et transmet la commande.
  • Agent de design : valide la composition des commandes contenant des produits hors catalogue.
  • Production : lance la fabrication en cas de stock insuffisant et interrompt le processus en cas d'annulation.
  • Secteur comptable : édite la facture, enregistre et valide le paiement.
  • Service de livraison : prend en charge l'expédition et fait signer le bon de livraison.
  • Client : effectue le règlement et signe le bon de livraison à la réception.

Cas d'utilisation à représenter :

  • Consulter le catalogue
  • Configurer un produit personnalisé
  • Transmettre une commande (inclut la vérification du catalogue)
  • Valider la composition du produit (extension conditionnelle si hors catalogue)
  • Lancer la fabrication
  • Éditer et envoyer la facture
  • Valider le paiement (déclenche l'annulation et l'arrêt de production en cas d'échec)
  • Livrer la commande et faire signer le bon de livraison

2. Conception et analyse du diagramme de classes

a) Déduction des cardinalités

D'après les règles de gestion établies dans le sujet :

  • Un Client peut passer de 0 à plusieurs Commandes (0..*), tandis qu'une Commande appartient à exactement 1 Client (1).
  • Une Commande contient au moins 1 Produit (1..*), et un Produit peut figurer dans plusieurs Commandes (0..*).
  • Un Produit est constitué d'au moins 1 Caractéristique (1..*), une Caractéristique pouvant appartenir à plusieurs Produits (1..*).
  • Une Caractéristique possède au moins 1 Variante (1..*), et une Variante s'applique à une ou plusieurs Caractéristiques (1..*).

b) Structuration en compositions et agrégations

Pour affiner la conception orientée objet, les associations sont promues selon la force du lien du tout à la partie :

  • Composition entre Commande et LigneDeCommande (ou Produit commandé) : la suppression de la commande entraîne l'annulation des éléments commandés qui lui sont rattachés.
  • Composition entre Produit et ses Caractéristiques : les spécifications d'un produit sur mesure sont indissociables du produit lui-même.
  • Agrégation entre Caractéristique et Variante : les variantes (couleurs, matériaux comme le cuir ou le caoutchouc) existent indépendamment des caractéristiques et peuvent être réutilisées dans le catalogue.

c) Diagramme d'objets (Instanciation)

Pour illustrer la commande du 15 février portant sur 50 modèles « Super-été » (pointure 38, semelle bicolore noir/blanc, brides noires en caoutchouc), le diagramme d'objets doit comporter :

  • c1 : Commande avec l'attribut date = "15/02"
  • p1 : Produit avec nom = "Super-été", pointure = 38, quantite = 50
  • carac1 : Caracteristique (Type = Semelle) lié à v1 : Variante (Description = "Bicolore noir et blanc")
  • carac2 : Caracteristique (Type = Brides) lié à v2 : Variante (Description = "Noir en caoutchouc")

d) Orientations et navigabilité

Afin de restreindre le couplage et de simplifier l'implémentation logicielle, la navigation est rendue unidirectionnelle depuis l'objet englobant vers ses composants :

  • De Commande vers Produit
  • De Produit vers Caracteristique
  • De Caracteristique vers Variante

e) Annotation par les contraintes de gestion UML

Chaque lien est décoré par les contraintes appropriées :

  • {ordered} (O) : appliquée sur l'association vers Produit pour conserver l'ordre de saisie des articles dans la commande.
  • {addOnly} (A) : appliquée sur la relation Commande vers Produit pour indiquer que des éléments peuvent être ajoutés lors de la confection mais non retirés une fois la fabrication amorcée.
  • {frozen} (F) : appliquée sur la relation Produit vers Caracteristique pour figer les spécifications techniques du produit après sa validation.
  • {notUnique} (N) : appliquée sur la relation vers Variante si une même variante peut être sélectionnée plusieurs fois pour différentes caractéristiques.

Exercice 3 : Modélisation par diagramme d'états-transitions

L'objectif est de représenter le cycle de vie d'un processus sous un système UNIX à l'aide des commandes shell mentionnées dans le sujet.

États du système

  • Initial : le programme est stocké sur disque (fichier exécutable).
  • Exécution Premier Plan (Foreground) : le processus s'exécute et détient la main sur le terminal.
  • Exécution Arrière-Plan (Background) : le processus s'exécute en tâche de fond.
  • Suspendu : le processus est temporairement arrêté en mémoire.
  • Final (Terminé / Tué) : le processus est détruit.

Transitions et événements déclencheurs

État Origine Événement / Commande État Destination
Création Lancement sans & Exécution Premier Plan
Création Lancement avec & Exécution Arrière-Plan
Exécution Premier Plan <CTRL> Z Suspendu
Exécution Arrière-Plan stop %n Suspendu
Suspendu fg %n Exécution Premier Plan
Suspendu bg %n Exécution Arrière-Plan
Exécution Premier Plan <CTRL> C Terminé (Destruction)
Exécution Arrière-Plan / Suspendu kill -9 %n Terminé (Destruction)

Synthèse méthodologique

Pour réussir les épreuves de conception orientée objet en UML, respectez les étapes analytiques suivantes :

  • Distinguer clairement le périmètre du système (cas d'utilisation) des acteurs externes pour éviter de modéliser des traitements internes comme des cas d'utilisation.
  • Justifier systématiquement le choix entre agrégation et composition en évaluant le cycle de vie des objets dépendants.
  • Annoter précisément la navigabilité et les contraintes de collection pour préparer la traduction vers le code source (Java, C++).
  • Vérifier l'exhaustivité des transitions dans un diagramme d'états-transitions en retraçant l'ensemble des signaux de contrôle de l'environnement (shell).

Toutes les révisions