OCL : PROJET INFORMATIQUE

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 PROJET INFORMATIQUE

Etudier le diagramme de classe suivant : Ocl pandacodeur 1

1) Identifiez les classes et les associations, y compris leurs attributs et leurs opérations.

2) Écrire les contraintes OCL suivante :

  • La priorité d'une compétence doit être l'une des suivantes : Élevée , Moyenne ou Faible .
  • Le budget d'un projet doit être compris entre 100 000 et 500 000 inclus.
  • Le nom d'une équipe dotée d'un rôle ne peut pas être une chaîne vide.
  • Le numéro d'identification d'une personne affectée à un rôle doit être supérieur à 0 et inférieur à 9999.
  • Le numéro d'identification de chaque membre d'une équipe doit être supérieur à 0 et inférieur à 9999.
  • Le numéro d'identification de chaque membre d'une équipe doit être supérieur à 0 et inférieur à 9999.
  • Le numéro d'identification de chaque ressource humaine qui se rapporte au plan d'une équipe doit être supérieur à 0 et inférieur à 9999.

CORRECTION : OCL

1)

  • La figure capture les relations et les détails sur les projets, les plans, les équipes, les personnes, les compétences et les rôles des personnes au sein des équipes et l'expérience des personnes avec les compétences dans le système de gestion de projet.
  • Un plan concerne un seul projet, une seule équipe et zéro ou plusieurs personnes qui constituent les ressources humaines du plan.
  • Un projet concerne un seul plan et concerne une seule équipe.
  • Une équipe se rapporte à un seul plan et se rapporte à un seul projet.
  • Une personne se rapporte à un seul plan.
  • Une équipe concerne zéro ou plusieurs personnes en tant que membres de l'équipe dans laquelle une personne joue un rôle. Une personne se rapporte à une seule équipe dans laquelle elle joue un rôle.
  • Une compétence concerne zéro ou plusieurs personnes et une personne se rapporte à zéro ou plusieurs compétences dans lesquelles la personne a de l'expérience avec la compétence.
  • Un projet a un nom qui est une chaîne, une date de début qui est une chaîne, une date de fin qui est une chaîne, un budget qui est un nombre réel et deux opérations pour récupérer la date de début et la date de fin du projet.
  • Une équipe a un nom qui est une chaîne.
  • Une personne a un numéro d’identification qui est un nombre entier et un nom qui est une chaîne.
  • Une compétence a un nom qui est une chaîne et une priorité qui est une chaîne.
  • La relation entre une personne et une équipe définit le titre comme une chaîne du rôle que la personne joue dans l'équipe.
  • La relation entre une personne et une compétence définit les années d'expérience comme un nombre réel que la personne possède avec la compétence.
  • Tous les attributs et opérations sont publics, mais les dates de début et de fin d'un projet sont privées.

2) OCL

  1. Dans le cadre d'une compétence :

    self.Priority = "Élevé" ou self.Priority = "Moyen" ou self.Priority = "Faible"
  2. Dans le cadre d'un projet :

    self.Budget >= 100 000 et Budget <= 500 000
  3. Dans le cadre d'un rôle :

    self.team.Name <> ''
  4. Dans le cadre d'un rôle :

    self.member.ID > 0 et self.person.ID < 9999
  5. Dans le cadre d'une équipe :

    self.member->forAll (p : Personne | p.ID > 0 et p.ID < 9999)
  6. Dans le cadre d'une équipe :

    self.person->forAll (p : Personne | p.ID > 0 et p.ID < 9999)
  7. Dans le cadre d'une équipe :

    self.plan.humanResource->forAll (p : Personne | p.ID > 0 et p.ID < 9999)

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