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

Entités principales
Entités de relation
Entités de contenu

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.