L'observation des interactions précédentes amène à la définition des cas d'utilisation suivants :
- L'entité "gestionnaire des enseignements" (CourseManager) peut agir pour :
- initialiser les enseignements : afin de décrire les contraintes d'enseignement des enseignants et des groupes d'étudiants ;
- les modifier : afin de changer les contraintes des enseignants et des groupes d'étudiants concernant leurs enseignements ;
- lancer la résolution : afin de faire démarrer la recherche d'une solution au problème prenant en compte les contraintes déjà décrites ;
- visualiser le résultat courant : afin d'afficher le réltat fourni par le système au problème qui lui a été posé.
- L'entité "gestionnaire des salles" (RoomManager) peut agir pour :
- initialiser les salles : afin de définir une salle et décrire ses contraintes ;
- les modifier : afin de changer les contraintes de disponibilité ;
- visualiser le résultat courant : afin d'afficher le résultat fourni par le système au problème qui lui a été posé.
- Les entités "enseignants" (Teacher) peuvent :
- initialiser les contraintes : afin de définir les contraintes de disponibilité ;
- les modifier : afin de changer les contraintes de disponibilité ;
- visualiser le résultat courant : afin d'afficher le résultat fourni par le système au problème qui lui a été posé.
- et, finalement, les entités "groupes d'étudiants" (Students Group) peuvent :
- visualiser le résultat courant : afin d'afficher le résultat fourni par le système au problème qui lui a été posé.
Tout cela mène au diagramme de cas d'utilisation suivant :