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.

Document source
Informatique, Programmation, Analyse · UNIVERSITE DE LA MANOUBA -----¤¤¤¤----- ECOLE NATIONALE DES SCIENCES DE L' · PDF · 2 pages · 2015
Afficher l'aperçu du document
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
Clientpeut passer de 0 à plusieursCommandes(0..*), tandis qu'uneCommandeappartient à exactement 1Client(1). - Une
Commandecontient au moins 1Produit(1..*), et unProduitpeut figurer dans plusieursCommandes(0..*). - Un
Produitest constitué d'au moins 1Caractéristique(1..*), uneCaractéristiquepouvant appartenir à plusieursProduits(1..*). - Une
Caractéristiquepossède au moins 1Variante(1..*), et uneVariantes'applique à une ou plusieursCaracté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
CommandeetLigneDeCommande(ouProduitcommandé) : la suppression de la commande entraîne l'annulation des éléments commandés qui lui sont rattachés. - Composition entre
Produitet sesCaractéristiques: les spécifications d'un produit sur mesure sont indissociables du produit lui-même. - Agrégation entre
CaractéristiqueetVariante: 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 : Commandeavec l'attributdate = "15/02"p1 : Produitavecnom = "Super-été",pointure = 38,quantite = 50carac1 : 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
CommandeversProduit - De
ProduitversCaracteristique - De
CaracteristiqueversVariante
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
Produitpour conserver l'ordre de saisie des articles dans la commande. - {addOnly} (A) : appliquée sur la relation
CommandeversProduitpour 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
ProduitversCaracteristiquepour figer les spécifications techniques du produit après sa validation. - {notUnique} (N) : appliquée sur la relation vers
Variantesi 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).