2010-12-02 28 views
2

J'essaie de dessiner un diagramme de classes conceptuel. Dans mon système, j'ai une personne qui peut jouer deux rôles. L'un étant "enseignant" et l'autre étant "étudiant". La même personne pourrait être un enseignant dans un cas et la même personne pourrait être un étudiant dans un autre cas. Dans une telle situation, est-il bon de les représenter comme 2 classes séparées (dans mon diagramme conceptuel)?Schéma de la classe conceptuelle

Veuillez nous aviser.

Merci

Répondre

3

À moins que la personne enseigne themself, ne sont pas pris en essayant de montrer les relations qui traversent une frontière de cas d'utilisation. Valider les liens pour chaque scénario séparément; Il suffit de réaliser que toutes les connexions ne seront pas utilisées pour chaque scénario.

Les personnes remplissent des rôles. Essayez

personne associée à EducationRole

EducationRole a sous-classes de 'étudiant' et 'Maître'

Voici un diagramme.

diagram

Ils peuvent changer le rôle qu'ils jouent en fonction de la situation. Si vous devez montrer une personne en train de vous enseigner, créez une sous-classe de EducationRole nommée «Autodiadact», qui signifie simplement «autodidacte».

Un commentateur a demandé comment changer le rôle en utilisant une méthode et j'aimerais inclure la réponse ici. Donc, oui, vous pourriez coder la possibilité de changer le rôle dans une méthode, mais revenez en arrière et posez la plus grande question, pourquoi changeons-nous le rôle? Un enseignant devient un étudiant ou un étudiant devient un enseignant, de toute façon le modèle tel que montré permet à une personne d'avoir plusieurs rôles éducatifs (ce qui est ce que l'astérisque dénote) en même temps, donc il n'y a pas vraiment besoin de changer le rôle mais soutenir une personne avec plusieurs rôles possibles. Dans le modèle conceptuel, vous tentez d'illustrer les relations entre n'importe quel état valide du système, pas nécessairement la façon dont le changement peut être exécuté (en utilisant une méthode).

+0

Merci Kelly. Je vais essayer cela maintenant .. –

+0

+1 Ceci est le modèle de «rôle-parti», une situation assez courante. Il existe des variantes, par ex. si le nombre de rôles n'est pas fixé au moment de l'exécution. Certains googling pour "modèle de rôle de parti" aidera. – sfinnie

+0

Merci les gens. J'ai pris le coup maintenant. –