OCL : Universite

OCL (Object Constraint Language) est un langage formel utilisé pour définir et spécifier des contraintes sur les modèles de données orientés objet. Il fournit des expressions de contraintes pour spécifier des conditions qui doivent être satisfaites par les instances d'une classe, ainsi que des opérations et des fonctions pour effectuer des calculs sur les objets. OCL est utilisé dans l'ingénierie logicielle pour valider et vérifier la conformité des modèles de données avec les exigences fonctionnelles et non fonctionnelles.

EXERCICE  OCL Universite

Etudier le diagramme de classe suivant :

Screenshot 2023 03 02 at 08 00 58 pandacodeur pdf

Donnez une contrainte OCL qui spécifie :
1. Le service (Somme des heures effectuées) fait par un enseignant.
2. Quelque soit la matière, il y a toujours au moins un enseignant qui la maitrise.
3. La méthode augmenterSal(m :Integer) qui augmente le salaire d’un enseignant, d’un montant m.
4. Il y a un et un seul chef par département et son âge dépasse les 40 ans.
5. Le nom de chaque enseignant est unique
6. Dans chaque département, il existe au moins un professeur
7. Un professeur a toujours 100% de réussite
8. Un étudiant est admis si la moyenne de toutes ses notes est supérieure ou égale à 10.

 

 

CORRECTION : OCL


1. context Enseignant:: service : Integer derive : self . enseigne . heures->sum()
2. context Matiere inv: self .est_maitrisée ->notEmpty()
3. context Enseignant::augmenterSal(m : Integer) post: self . salaire = self . salaire @pre + m
4. context Departement inv: self . chef->size() = 1 and self . chef .age > 40
5. context Departement inv: self . enseignants->forAll(e1, e2 : Enseignant|e1 <>e2 implies e1.nom <>e2.nom)
6. context: Departement inv: self . enseignants->exists(e: Enseignant |e.titre = Titre ::Pr)
7. context Enseignant let : etuds () : Bag(Etudiants) = self . enseigne . etudiant
inv: self . titre = Titre :: pr implies self . etuds ()->forAll(e| e.estAdmis())
8. context Etudiant inv : self.note[matère]->moy()>=10

Si vous avez trouvé les exercices corrigés en OCL de Mr JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !

Contact WhatsApp : +237 658395978 | Réaliser Par Joël_Yk

Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam