-
Version d'un fichier
Bonjour,
je dois réaliser un diagramme UML sur le versionnage de fichier pour une base de donnée. Pour cela un fichier est un titre et un texte. Je dois maintenant ajouter la possibilité d'ajouter un numéro de version (un entier allant de 0 à 9), et donner la possibilité à un utilisateur du système de restaurer une version du fichier.
J'ai pensé à un approche, est-ce la bonne:
Une classe Fichier {
id:int
titre:string
version_en_cours:int
}
Une classe FichierCopie {
id:int
titre:string
texte:string
version:id
}
Bon je vois bien que c'est pas vraiment clair et que ça a l'air d'être faux. C'est pour cela que je me demandais si quelqu'un pouvait me donner une piste ? Merci d'avance! :-)
-
Un bon indicateur pour voir qu'il y a effectivement un problème, c'est que ton modèle propose 2 fois les mêmes données...
La solution que je te propose tiens dans le fait d'avoir une seule classe "Fichier", qui est liée à elle-même (les objets "Fichiers" auront le numéro de version qui vont changer, et on pourra retrouver les fichiers archivés)
je te propose :
class Fichier {
titre : String
contenu : Text
numeroVersion : int
fichierPrecedant : Fichier
}
et les opérations suivantes :
creerSurBaseDe(f: Fichier)
postcondition : le nouveau fichier crée à le même titre, le même contenu que le fichier f, le numéro de version = le numéro de version de f + 1, et fichierPrecedant = f
recupereVersionsPrecedantes(f: Fichier) : Fichier[*]
postcondition : retourne tout les fichiers précendants le fichier f passé en paramètre