Y'a vraiment pas de quoi. On verra quand tu auras un modèle valide
Chronoklazm a écrit :
" +setIDLivre(idL : int) " A quoi ca sert de mettre à jour l'id du Livre emprunté ? (une fois qu'on la sauvegardé ... quoi)
|
J'ai mis ça un peu bétement j'ai plutôt essayé de faire attention à l'historique, c'est vrai que ça a plus sa place dans le constructeur, sauf si tu veux que ce soit un auto_increment auquel cas l'ID ne serait pas définissable par l'utilisateur... Et puis je ferais bien la différence entre id et référence (par exemple, j'ai vu dans pas mal de biblio quelques lettres du type de livre (SF, LITT, ...) suivi des 3 premieres lettres du nom de l'auteur, et ensuite l'identifiant. Enfin, a toi de voir quoi...
Chronoklazm a écrit :
Est-ce que une fois que l'instance d'un Livre a disparu on peut toujours recuperer des infos dessus quelque part ???
|
Tout dépend de ce que tu veux dire par "instance" et "disparu". Si l'objet n'existe plus dans le système alors non, on ne peut plus accéder à aucune de ses informations. Mais si par disparu tu entends n'a pas été rendu ou en gros a disparu de la bibliothèque, alors tu peux faire un attribut (ex: -dispo : bool). De cette façon tu donne un moyen de savoir quel sont les livres que la bibliothèque posséde, y compris ceux empruntés, et ceux qui ne sont plus du tout disponible, tout en pouvant accéder à leurs informations et, plus important, leur historique d'emprunts.
Chronoklazm a écrit :
" -emprunt : liste d'EmpruntEditable " => Le fait de preciser la structure de donnée ça ne s'eloignerai pas de la politique de UML qui est de laisser libre choix en se qui concerne l'implementation ? Est-ce suffisament abstrait pour de l'UML ?
|
Tu as raison puisque les cardinalités sont là pour ça... Comme tu vois je suis aussi loin d'être un pro de l'UML mais ça aide bien de pouvoir échanger des idées...
A toi de voir les besoins du système défini dans ton cahier des charges... Mais oui c'est un peu l'idée.
Chronoklazm a écrit :
J'ai pas mal polemiqué aujourd'hui avec mes camarades du projet et finalement on est arrivé à la conclusion (ou plutot question) suivante : Un historique est-ce simplement la savegarde de toutes les instances de la classe Emprunt ou une sauvegarde de textuelle (ou une autre forme quelquonque) des emprunts effectués ? Dans le premier cas, sachant que la classe Emprunt est une classe d'association entre Livre et Adherent si on supprime l'un des deux element du couple (Livre, Adherent) l'instance d'Emprunt adequate devrais dispraitre aussi je pense.
Je pense que par le terme "historique" on sous entend que l'on voudrais avoir des infos sur un bouquin qui n'existe plus dans le Bibliotheque (ca parrait bizzare mais c'est logique). Si quelqu'un a un contre-argument ...
|
Ca ne parait pas bizarre. Le gérant de la bibliothèque serait content de savoir les types de bouquins les plus empruntés (même s'ils ne sont plus disponibles au sens que j'ai donné plus haut) avant de réinvestir dans d'autres livres. J'ai eu l'occasion de développer une appli de gestion de prêt il y a quelques temps, et c'est là que j'ai compris qu'une information ne doit pas disparaître du système, mais plutôt être rendue inaccessible de la gestion actuelle. Pour transposer ça à la gestion d'une bibliothèque, il ne faut pas stocker les adhérents inscrits actuellement, ni les livres disponibles actuellement, mais plutôt les adhérents qui sont et ont été inscrits ainsi que les livres qui sont ou ont été disponibles. Il ne faut pas avoir le point de vue "La bibliothèque possède..." mais "La bibliothèque possède ou a possédée...".
Chronoklazm a écrit :
Et derniere question, tu m'a conseiller de faire de Historique un "Singleton" (une instance d'un objet qui existe une et une seule fois durant le prog), est-ce que le stereotype <<Application>> est un "Singleton" ?
|
Oublie le singleton, c'est sans doute la pire idée que j'ai pu te donner. Sinon <<Application>> n'a pas l'air de faire parti des stéréotypes prédéfinis par UML, donc tu peux en faire ce que tu veux, mais vu son nom, je dirais que ça irait avec la classe servant de point d'entrée au système, Bibliothèque par exemple... Et puis tu peux créer tes propres stéréotypes du moment qu'ils sont documentés, peu nombreux (pour la lisibité future).
La seule chose qui m'ait fait envisager le singleton, c'est que l'historique soit accessible à partir de toutes les classes. Mais il y a de forte chance que ça n'ait pas à s'appliquer ici et que ce soit une erreur de conception.