Database Reference
In-Depth Information
context
Match
inv
match_entre_2 :
Match.
allInstances
()−>
forAll
(m |
not
(m.domicile.id_equipe = m
.
exterieur.id_equipe))
●
Un match doit opposer deux équipes du même groupe.
En considérant le rôle
poule
(sur l'association
rattacher
du côté de la classe
Groupe
) :
context
Match
inv
meme_groupe :
Match.
allInstances
()−>
forAll(
m |
m.domicile.poule.id_groupe = m.exterieur.poule.id_groupe)
Organisme de formation
●
Un consultant doit proposer entre 2 et 4 créneaux par semaine pour enseigner un cours.
En considérant le rôle
quand
(sur l'association
planning
du côté de la classe
Creneau
) :
context
Formation
inv
plusieurs_creneaux :
Formation
.allInstances
()−>
forAll
(f |
f.quand.
size
() >= 2 and f.quand.
size
() <4)
●
Un technicien doit rédiger un mémo de ces actions pour toute formation qu'il a en charge.
context
Compte-Rendu
inv
memo_non_nul :
self.
memo
<> null
●
Le nombre de stagiaires ne doit pas dépasser la capacité d'une salle pour toute session.
En considérant les rôles
stagiaires
(sur l'association
participer
du côté de la classe
Stagiaire
) et
local
(sur l'association
lieu
du côté de la classe
Salle
) :
context
Session
inv
nb_stagiaires :
Session.
allInstance
s
()−>
forAll
(s |
s.stagiaires.
size
() <= s.local.capacite)
Comptes bancaires
●
Un mandataire d'un compte n'est pas le propriétaire.
En considérant les rôles
proprio
(sur l'association
proprietaire
du côté de la classe
Client
) et
madates
(sur l'association
comptes_geres
du côté de la classe
Mandataire
) :
context
Compte
inv
mandataire_proprio :
Compte.
allInstances
()−>
forAll
(c | c
c.
self.
proprio.
excludesAll
(c.mandates))