Armoires secrètes

[20 minutes]

Dans le cadre de la réalisation d'une base de données pour les services secrets français, vous disposez de l'analyse de besoins suivant :

  • les agents secrets sont identifiés par un code sur 3 chiffres (comme 007) et possède un nom et un prénom ;

  • les agents secrets produisent des rapports, parfois seul, parfois à plusieurs. Tous les agents secrets ont produit au moins un rapport ;

  • les agents secrets sont communément appelés par leurs initiales et leur code : ainsi James Bond 007 est en général appelé JB007 ;

  • un rapport est identifié par un titre (il n'existe pas deux rapports avec le même titre) et il possède une description ainsi que des mots-clés (au moins 2, au plus 10) ;

  • le rangement des rapports est organisé comme suit : les rapports sont situés dans des dossiers, qui sont classés dans des casiers, qui sont rangés sur des étagères, dans des armoires ;

  • les dossiers, casiers, étagères et armoires sont des rangements, qui sont identifiés par une lettre et un nombre (inférieur à 100). Chaque rangement a une capacité qui détermine le nombre de rangements qu'il peut contenir ;

  • il n'existe pas de rapport ou de rangement qui ne serait rangé nulle part.

Question

Proposez un MCD[1] en UML[2] de ce problème. L'on cherchera le modèle le plus expressif possible.

On fera apparaître les types des attributs, en étant le plus précis possible avec les informations dont nous disposons, ainsi que les clés.

Solution

Modèle UML
Remarque

Les clés sont soulignées ici, on préférera la notation {key}

cf. Attributs

MéthodePoints à vérifier
  • Toutes les classes trouvées, correctement nommées (noms signifiants)

  • Toutes les associations trouvées, correctement nommées (noms signifiants)

  • Toutes les cardinalités d'association trouvées (en acceptant 1..* à la place de * lorsque le sujet ne précise rien)

  • Tous les attributs trouvés

  • Toutes les clés trouvées

  • Tous les types renseignés correctement

  • Attribut multi-valué "mot-clé" trouvé (modélisation sous forme de classe associée par une association 1:N correcte)

  • Méthode ou attribut dérivé "initiales" trouvé (les paramètres peuvent ne pas être mentionnés)

  • Héritage correct

  • Classe "Rangement" abstraite