OCL : COMPTE BANCAIRE

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  COMPTE BANCAIRE

Soit le diagramme UML suivant :

Screenshot 2023 03 07 at 04 39 38 pandacodeur pdf

Donnez une contrainte OCL qui spécifie :
1. A un objet compte correspond un et un seul objet Personne.
2. La méthode débiter(somme :int), où le paramètre somme doit être positif et nouveau_solde = ancien_solde - somme.
3. Il n'existe pas de clients de la banque dont l'âge est inférieur à 18 ans.
4. L'ensemble des clients de la banque associé à un compte contient le propriétaire de ce compte.

CORRECTION : OCL

1. A un objet compte correspond un et un seul objet Personne.  
 
context Compte inv:  propriétaire -> size() = 1
 
2. La méthode débiter(somme :int), où le paramètre somme doit être positif  et nouveau_solde = ancien_solde - somme.  
context Compte::débiter(somme : Integer) pre: somme > 0 post: solde = solde@pre – somme
 
3. Il n'existe pas de clients de la banque dont l'âge est inférieur à 18 ans
 
context Banque inv :  not( clients -> exists (age < 18) )
 
4. L'ensemble des clients de la banque associé à un compte contient le propriétaire de ce compte.
 
context Compte inv :  banque.clients -> includes(propriétaire)
 

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