Exercice 01 : Question de Cours 6pts
1) Non, cela n’est pas possible car aucune relation entre cas d’utilisation (héritage, inclusion et extension) ne permet d’établir un ordre de séquence entre les cas. Pour spécifier un ordre, il faut utiliser les fiches détaillées (pré-condition).
2) Un use case regroupe plusieurs scénarios ou séquences d’interaction possibles. En particulier on distingue le scénario dit « nominal » (où tout se passe pour le mieux) des alternatives (où des choix moins usuels sont employés) et des exceptions (où la tache n’arrive pas à être menée à bien). Ces scénarios seront obligatoirement spécifiés séparément, à l’aide de fiches détaillées de cas d’utilisation, décrites plus bas.
3) Evidemment, le cycle en V est un processus qui n’a pas besoin d’UML. D’autres langages de modélisation ou de spécification peuvent être utilisés.
4) Une analyse reprend les informations données dans le cahier des charges. Nous avons précisé en cours que nous ne traitions que les informations fonctionnelles. Donc, nous pouvons considérer qu’une analyse ne dépend pas de la plate-forme d’exécution.
5) Reponse : Pour justifier un héritage entre acteurs il faut évidemment disposer de deux acteurs mais il faut aussi disposer de 2 cas d’utilisation (un cas sera lié aux deux acteurs alors que l’autre cas ne sera lié qu’à un acteur). Pour justifier un héritage entre acteurs dans un diagramme de cas d'utilisation, il faut disposer de deux acteurs et de deux cas d'utilisation. Voici un exemple conforme à cette exigence :
Imaginons un système de gestion de bibliothèque pour la societe Pandacodeur en ligne avec deux acteurs principaux : "Membre" et "Bibliothécaire".
Acteur "Membre" :
- Cas d'utilisation : "Rechercher un livre"
- Cas d'utilisation : "Emprunter un livre"
Acteur "Bibliothécaire" :
- Cas d'utilisation : "Gérer la collection de livres"
- Cas d'utilisation : "Enregistrer un nouvel emprunt"
Maintenant, supposons que nous ayons également un acteur spécialisé appelé "Membre Premium" qui est un type particulier de "Membre" avec des fonctionnalités supplémentaires en raison de son statut premium. Cet acteur "Membre Premium" hérite des cas d'utilisation du "Membre" mais ajoute également quelques fonctionnalités spécifiques, telles que :
Acteur "Membre Premium" (héritage de "Membre") :
- Cas d'utilisation : "Rechercher un livre" (hérité de "Membre")
- Cas d'utilisation : "Emprunter un livre" (hérité de "Membre")
- Cas d'utilisation : "Réserver un livre en avance"
- Cas d'utilisation : "Accéder à des ressources exclusives"
Dans cet exemple, "Membre Premium" hérite des cas d'utilisation de "Membre" car il peut effectuer toutes les actions qu'un membre régulier peut faire. Cependant, il ajoute également ses propres cas d'utilisation spécifiques liés à son statut premium, comme la réservation de livres en avance et l'accès à des ressources exclusives.
6) UML est adapté au cycle en V. Les diagrammes de cas d’utilisation, de classe et de séquence sont utilisés pour la phase d’analyse. Les diagrammes de cas d’utilisation de classe, de séquence, d’activité sont utilisés pour la phase de conception. Les diagrammes de classes, d’états sont utilisés pour la phase de réalisation. UML peut être utilisé pour rédiger les tests d’intégration et les tests unitaires. UML ne peut pas être utilisé pour rédiger les tests de validation. En effet ceux-ci doivent être lu par le client. Les notes de code doivent être intégrées dans le modèle pour permettre la génération de code. On peut donc considérer que les notes de code ne sont pas UML.
Exercice 02 : Modélisation par Réseau de Pétri (6pts)
1) Reseau de Petri :
Le fonctionnement du recyclage est modélisé par le réseau de Pétri représente ci-dessus.Le nombre de marques dans la place P1 (resp. P5) représente le nombre d'objets de type I (resp. 2) en cours d'utilisation par des consommateurs. Une marque dans la place P3 (resp. P7) indique que la machine 1 (resp. 2) est disponible. Une marque dans la place (resp. P4) indique que la machine 1 est en train de recycler un objet 1 (resp. 2). Une marque dans la place P6 indique que la machine 2 est en train de recycler un objet de type 2.
2)