Diagramme de Classes UML - Mahdi Club
Note : Ce diagramme de classes représente la structure de base de données de l'application Mahdi Club avec tous les libellés en français.
Légende
Diagramme de Classes
classDiagram
%% Entités principales
class Membre {
+int id
+string prénom
+string nom
+string email
+string mot_de_passe_hash
+string téléphone
+string adresse
+string ville
+string code_postal
+string type_adhesion
+string statut_adhesion
+datetime date_inscription
+date date_renouvellement
+string image_profil
+json documents_verification
+datetime dernière_connexion
+s'inscrire()
+se_connecter()
+modifier_profil()
}
class Chien {
+int id
+int membre_id
+string nom
+int race_id
+string sexe
+date date_naissance
+string num_puce
+string num_enregistrement
+string couleur
+int pere_id
+int mere_id
+json dossiers_sante
+string certificat_pedigree
+string statut
+datetime créé_le
+enregistrer()
+modifier()
}
class Race {
+int id
+string nom
+string groupe
+string pays_origine
+decimal poids_moyen_kg
+decimal taille_moyenne_cm
+string description
+string standard_race
+string url_image
+bool est_reconnue
}
class Evenement {
+int id
+string nom
+string type
+datetime date_debut
+datetime date_fin
+string lieu_nom
+string lieu_adresse
+string ville
+int organisateur_id
+string description
+decimal frais_inscription
+date date_limite_inscription
+int participants_max
+string statut
+bool resultats_publies
+datetime créé_le
+créer()
+publier_resultats()
}
%% Entités de relation
class InscriptionEvenement {
+int id
+int evenement_id
+int membre_id
+int chien_id
+datetime date_inscription
+string statut_paiement
+decimal montant_paiement
+datetime date_paiement
+string catégorie_classe
+string notes_spéciales
+string statut
+s_inscrire()
+annuler()
}
class ResultatEvenement {
+int id
+int evenement_id
+int chien_id
+string nom_classe
+int classement
+int points_obtenus
+string commentaires_juge
+string récompenses_gagnées
+string statut_qualification
+datetime créé_le
}
class Portée {
+int id
+int pere_id
+int mere_id
+date date_saillie
+date date_mise_bas
+int nombre_chiots
+int chiots_enregistrés
+string statut_enregistrement
+date date_enregistrement
+int créé_par
+datetime créé_le
}
%% Entités de contenu
class Juge {
+int id
+int membre_id
+string num_licence
+date date_expiration_licence
+string races_qualifiées
+string expérience_jugement
+string niveau_certification
+string statut
+datetime créé_le
}
class Actualité {
+int id
+string titre
+string contenu
+int auteur_id
+string catégorie
+string url_image
+string statut
+datetime date_publication
+int nombre_vues
+datetime créé_le
+datetime mis_à_jour_le
+publier()
}
class Document {
+int id
+string titre
+string type_document
+string chemin_fichier
+int taille_fichier
+string catégorie
+string description
+bool est_public
+int nombre_téléchargements
+int téléversé_par
+datetime téléversé_le
}
class Paiement {
+int id
+int membre_id
+decimal montant
+string type_paiement
+string méthode_paiement
+string id_transaction
+string statut
+string description
+int id_associé
+datetime créé_le
+datetime complété_le
}
%% Relations entre classes
Membre "1" -- "*" Chien : possède
Membre "1" -- "*" InscriptionEvenement : effectue
Membre "1" -- "*" Paiement : réalise
Membre "1" -- "1" Juge : est
Race "1" -- "*" Chien : classifie
Chien "1" -- "*" InscriptionEvenement : participe à
Chien "1" -- "*" ResultatEvenement : obtient
Chien "0..1" -- "*" Portée : est père de
Chien "0..1" -- "*" Portée : est mère de
Evenement "1" -- "*" InscriptionEvenement : reçoit
Evenement "1" -- "*" ResultatEvenement : génère
Membre "1" -- "*" Actualité : écrit
Membre "1" -- "*" Document : téléverse
Description des Classes
Membre
Représente un membre du club canin avec ses informations personnelles et son statut d'adhésion.
Attributs : id, prénom, nom, email, mot_de_passe_hash, téléphone, adresse, ville, code_postal, type_adhesion, statut_adhesion, date_inscription, date_renouvellement, image_profil, documents_verification, dernière_connexion
Méthodes : s'inscrire(), se_connecter(), modifier_profil()
Chien
Représente un chien enregistré dans le système avec ses informations et son pedigree.
Attributs : id, membre_id, nom, race_id, sexe, date_naissance, num_puce, num_enregistrement, couleur, pere_id, mere_id, dossiers_sante, certificat_pedigree, statut, créé_le
Méthodes : enregistrer(), modifier()
Race
Représente une race canine avec ses caractéristiques et standards.
Attributs : id, nom, groupe, pays_origine, poids_moyen_kg, taille_moyenne_cm, description, standard_race, url_image, est_reconnue
Événement
Représente un événement organisé par le club (exposition, concours, etc.).
Attributs : id, nom, type, date_debut, date_fin, lieu_nom, lieu_adresse, ville, organisateur_id, description, frais_inscription, date_limite_inscription, participants_max, statut, resultats_publies, créé_le
Méthodes : créer(), publier_resultats()
Note : Pour des raisons de concision, seules les classes principales sont décrites ici. Le diagramme complet inclut toutes les classes listées.