@startuml mdd_sga
' left to right direction
skinparam style strictuml
skinparam ArrowThickness 2
skinparam ArrowColor #gray
hide empty members
title Modèle du domaine (SGA) - Équipe 04

class Question {
  nom: string
  description : string
  categorie : string
  enonce : string
  reponse : boolean
  retroactionPositive : string
  retroactionNegative : string
  actif: boolean
}

' L'enseignant téléverse tous les devoirs corrigés
' ainsi que les fichiers avec l'extension .note
' pour associer la note au devoir corrigé.
' Un fichier .note par devoir ou un fichier note.txt
' pour tous les devoirs
class Devoir {
  nom: string
  description : string
  noteMax : int
  debut : Date
  fin : Date
  actif: boolean
}

class Cours {
  prealable : string
  titre : string
  actif : boolean
}

' schedule.json du SGB
' classe lien
class "Horaire-Cours" as gc {
  group : string
  jours : string
  heures : string
  activite : string
  mode : string
  local : string
  courriel : string
}

class Questionnaire {
  nom: string
  description : string
  actif: boolean
}

class Enseignant {
  prenom: string
  nom: string
  token: string
  courriel: string
}

class Etudiant {
  prenom: string
  nom: string
  token: string
  courriel: string
}

' associations
Enseignant -- Devoir : crée >
Enseignant "*" -- "*" Cours : enseigne >
Enseignant -- Questionnaire : crée >
Cours "1" -- "*" Questionnaire : contient >
Cours "1" -- "*" gc : regroupe >
Cours "1" -- "*" Devoir : archive >
Questionnaire "1" -- "0..*" Question : catégorise >
Etudiant "*" -- "*" Cours : inscrit >

@enduml