Une université et plusieurs organisations d’accueil gèrent des stages où les stagiaires enregistrent leurs présences, les tuteurs valident les relevés et les superviseurs universitaires évaluent les rapports finaux.
Comprenez les décisions qui le sous-tendent.
Modéliser l’identité utilisateur partagée avec un User abstrait et une énumération Role afin de garder explicites les rôles interorganisationnels.
Séparer InternshipPlacement, AttendanceRecord et EvaluationReport en agrégats distincts, reliés par association plutôt que par héritage.
Utiliser une composition entre EvaluationReport et EvaluationCriterion, car les critères n’existent qu’au sein d’un rapport.
À réutiliser pour toute plateforme de stages ou de formation en alternance qui doit suivre les affectations, les présences quotidiennes, les validations et les évaluations par plusieurs rôles entre différentes organisations.