User Tools

Site Tools


2013_2014:s2:td:td_plus_loin

De l'analyse à la modélisation centrée sur les classes

Bibliothèque

La bibliothèque nous a donné la définition suivante.

Nous gérons des livres. Un livre est caractérisé par une date de parution, un numéro ISBN, un titre. Certains livres sont en mauvais état. Un adhérent peut emprunter plusieurs livres. Il est possible de connaître la date à laquelle un livre a été emprunté.

Pour certains livres nous en avons plusieurs exemplaires.

  1. Proposer une modélisation cohérente sous forme d'un diagramme de classes de cette définition.
  2. Voici un jeu de tests, vérifier que vous savez le représenter dans votre modèle (diagramme d'objets par exemple) “Notre bibliothèque possède le livre “Le Seigneur des Anneaux”, ISBN-10: 2267011255, paru le 8 octobre 2003. Nous en avons 2 exemplaires. Un est en très bon état et emprunté; l'autre est très abimé et non emprunté.”
  3. Définissez bien les associations, type des attributs, sens de navigation etc.
  4. Si vous choisissez de garder des associations bi-directionnelles, déterminez quelle est la classe “maître” et comment gérer la relation d'une association.
La justesse de votre modélisation doit reposer sur la pertinence des attributs (nom et type) et asssociations (multiplicité, rôles, …)

Une bibliothèque doit nous permettre d'obtenir l'ensemble des livres disponibles à l'emprunt1). Il doit être possible d'ajouter un exemplaire d'un livre à une bibliothèque. Un exemplaire d'un livre peut ne plus être “empruntable”.

  1. Compléter le modèle de classe par les méthodes correspondantes, pour cela dessiner un diagramme de séquence faisant apparaître les classes auxquelles vous pensez associer les méthodes.
  2. Préciser les préconditions et post-conditions qui vous semblent importantes.

A présent, il doit être possible de créer une nouvelle bibliothèque en lui donnant un nom, une adresse. Il doit être possible d'avoir la liste des bibliothèques. On peut rechercher un livre par son titre quelque soit la bibliothèque où il se trouve.

  1. Compléter le modèle de classe par les méthodes correspondantes et adapter votre modèle pour prendre en compte le fait qu'à présent vous gérerez plusieurs bibliothèques et qu'un livre peut se trouver dans plusieurs bibliothèques.

On veut de plus :

  • Connaître le nombre de fois qu'un livre a été emprunté.
  • On veut savoir si un livre a été emprunté plusieurs fois par un même adhérent.

Avançons en conception

  1. Etes-vous prêt à générer les codes? Générez les 8-)
  2. Combien de temps pensez-vous nécessaire pour implémenter juste la partie métier de cette étude de cas?
  3. Avez-vous bien prévu le temps pour tester???
  4. Combien de temps pour mettre en oeuvre les interfaces graphiques?
  5. Mais au fait… Que nous manque-t-il pour vraiment passer en conception? 2)
  6. Avez-vous identifié les interfaces graphiques de votre système?
  7. Quelles sont les entités persistantes de votre système?

Galerie (facultatif)

  • Une oeuvre se retrouve dans la galerie à partir d'un identifiant donné à l'oeuvre qui correspond en général à son titre
  • Un artiste se retrouve dans la galerie à partir de son nom d'artiste qui est unique.
  1. Compléter votre modélisation de la galerie pour prendre en compte ces informations.

En prenant en compte les clients et les votes :

  1. Proposer une décomposition en 2 ou 3 packages
  2. La galerie désire à present vendre des reproductions de certaines oeuvres. Comment étendre la galerie pour prendre en compte cet aspect? Modifier le diagramme de classes pour prendre en compte ce nouveau point.
1)
Attention, à bien comprendre ce que cela signifie…
2)
Sans tests de validation, il sera très difficile de diriger le développement et surtout il est peut probable que le client sera satisfait! Il voudra toujours ce que vous n'avez pas développé…
2013_2014/s2/td/td_plus_loin.txt · Last modified: 2014/03/31 22:57 by blay