# diagramme de classe du module "groupe"
@startuml
title Diagramme de classe du module "groupe"
package "PersonBundle" {
class Person
class Center
}
package "GroupBundle" {
Person "1" <-- Membership
Membership "0..*" <--> "Group"
Type "1" --> "1..*" Role
Membership -right-> "1" Role
Group -right-> "1" Type
Group -left-> "1" Center
}
class Membership {
- role
- person
- group
}
note left: Membership relie les groupes aux\npersonnes. Chaque membership a un\n role, le rôle est à choisir\nparmi ceux possibles pour le type de groupe
class Group {
- type
- memberships
- name
- center
}
note left: Un groupe a un type qui est défini à sa création.
class Type {
- roles
}
note right: Les types de groupe qu'il est possible de créer \nsont définis dans l'interface d'administration.\nExemple de type: "famille", "groupe de parole", "stage", ...
class Role {
- name
}
note right: Pour chaque Type on définit des rôles\npossibles pour ce type de groupe. Par exemple, pour le\ntype "famille" on peut avoir les rôles parents et enfants.
@enduml