Énoncé du travail pratique I
Pondération : 15 points.
Date de remise : le 12 novembre 2012.
- Débutez avec le projet tp1a12.zip.
- Vous allez ajouter au projet un fichier Dresden OCL nommé nom_prenom_code.ocl où nom est votre nom, prenom votre prénom et code votre code permanent. Pour un coéquipier, il suffit d'allonger le nom du fichier ! Ce fichier doit contenir les choses suivantes.
- Un commentaire au début contenant vos noms, prénoms et codes permanents (équipe de deux au maximum),
- Dans le contexte de la classe Cours.
- Un invariant que vérifie qu'un
Cours a toujours au moins une Reservation.
- Un invariant qui vérifie qu'un
Cours ne peut pas avoir deux Reservations qui débutent au même moment.
- Un invariant qui vérifie qu'un
Cours n'a pas plus de locaux (classe Local!) (par l'association aLieuDans) que de Reservations.
- Un invariant qui vérifie qu'un
Cours qui a une Reservation pour un Local c a lieu aussi (par l'association aLieuDans) dans c.
- Une définition
aUneReservationPour(l:Local) : Boolean = qui est satisfaite si un Cours a justement une Reservation pour le local l.
- Un invariant qui vérifie que si un
Cours a lieu dans un Local, alors ce Cours a une Reservation pour ce Local.
- Une définition
reservationPourLeLocal(l:Local) : Set(Reservation) = qui s'évalue à l'ensemble des Reservations du Cours courant qui sont pour le Local l.
- Un invariant qui vérifie qu'un
Cours n'a jamais plus de 3 Reservations pour le même Local.
- Dans le contexte de la classe Reservation.
- Un invariant qui vérifie qu'un
Local d'une Reservation est un Local dans lequel le Cours a lieu.
- Un invariant qui vérifie que si
r est une Reservation pour le Cours c, on a que c a lieu pendant (association du même nom !) r.
- Dans le contexte de la classe Local.
- Un invariant qui vérifie que toute les
Reservations pour un Local sont pour des Cours qui ont lieu dans ce Local.
- Un invariant qui vérifie que tous les
Cours qui ont lieu dans un Local ont une Reservation pour ce Local.
- Un invariant qui vérifie que toutes les
Reservations d'un Local débutent à des Moments différents.
- Un invariant qui vérifie qu'il n'y a jamais plus de 5
Cours à 3 Reservations qui ont lieu dans un même Local.
- Une définition
sigles() : Bag(String) = qui s'évalue au sac (Bag) des sigles de Cours qui utilisent le Local courant.
- Ce que vous devez remettre :
- Le contenu imprimé de votre fichier .ocl bien indentifié à vos noms, prénoms et codes permanents. Vous pouvez me le remettre au cours ou encore le glisser dans la chute du département d'informatique (PK quatrième étage).
- Me transmettre aussi votre fichier .ocl par Oto. Vous devez suivre les étapes suivantes :
- Choisir Rendre TP
- Entrer mon code MS : villemaire_r
- Sélectionner l'identifiant de la boîte : INF3143-TP1
- Remettre votre fichier .ocl.
- Pour les étapes détaillées de la remise consultez le manuel-remise.pdf.
- Votre fichier doit pouvoir être chargé SANS MODIFICATION dans Dresden OCL.
- Les deux éléments de cette remise doivent me parvenir avant 23h59 le 12 novembre 2012.
- Une pénalité de 10% par jour de retard sera appliquée.
Si vous avez des difficultés, n'hésitez pas à communiquer avec moi
.