FL-DF: FL: Person_from_a_legal_aspect Person_from_a_legal_aspect Man↙s £ s↘ Woman subtype: Woman ↓i ( Man instance: James_Bond, James_Bond exclusion: Woman ).
Legend. "-s→": subtype; "-i→": instance; "£": exclusion
Pour répondre aux questions précédentes (et donc pour décider d'une hiérarchie dans un(e) programme/BdD orienté(e)-objet), il faut généraliser. Pour cela, faites l'exercice suivant.
En supposant que les termes suivants de la liste ci-dessous soient des termes formels qui réfèrent au sens le plus commun que ces mots ont en anglais, veuillez les organiser – en FL-DF (FL Display Form) ou FL (in its default Linear Form), en faisant bien attention à la syntaxe et à l'indentation (vous allez voir que plus il y a de termes, plus l'usage de FL-DF est compliqué !) – via toutes les relations possibles des types suivants :
Note: vous pouvez abrévier "subtype: " par "\." ou ">".
Aidez vous des conseils de la page suivante puis, une fois cet exercice terminé,
répondez aux questions de la page précédente.
Solutions.
Quelques règles importantes:
Modélisez - initialement dans le langage que vous souhaitez (UML, XML, C++, ...) -
le schéma d'une BDD (ou document) devant contenir seulement les types d'objets
suivants
(les noms - à utiliser - des types de concept commencent par une majuscule,
ceux des
types de relations sont en italique) :
Citez 4 problèmes conceptuels de cette modélisation en C++
et résolvez-les en C++ (ou autre langage statique et typé)
(attention, cet exercice est indépendant de celui ci-dessus) :
class HumanBeing { bool isMale ; } class Person : HumanBeing ; class Employee : Person ; class Company { Employee employee; }
Ce TD est poursuivi par ce TP sur organisation de types de concepts.