2014-07-21 5 views
1

Cette question concerne les diagrammes de classes UML dans la phase d'analyse. J'ai fait un exemple minimal à des fins d'illustration:Modélisation de relations uniques dans les diagrammes de classes UML

UML diagram

Un billet est valable pour un siège et un séminaire spécifique. Un siège peut être affecté à plusieurs tickets, mais uniquement à une combinaison unique ticket/séminaire. (Il en va de même pour le séminaire et une combinaison unique billet/siège.)

Le diagramme ne reflète pas cela. J'ai marqué les mauvaises multiplicités en rouge.

Quelles options (le plus le meilleur) connaissez-vous pour modéliser la demande correctement?

Répondre

1

Ce type de vérification de cohérence commutative ne peut pas être exprimé par les diagrammes UML ou Entity Relationship. En passant, vous ne pouvez pas non plus dire que, à partir d'une instance de ticket, le ticket de chemin -> siège -> emplacement du séminaire doit aboutir à la même instance que ticket -> séminaire -> emplacement du séminaire. Formellement, les multiplicités que vous avez marquées en rouge sont correctes. Un siège voit plus d'un billet, juste pour différents séminaires, et l'inverse. Donc la seule solution que je peux offrir est d'inclure l'exigence dans la spécification textuelle de ces relations. Ce n'est pas une mauvaise chose, car tout ensemble fini de symboles graphiques pourrait seulement exprimer un sous-ensemble de toutes les exigences possibles.

1

Le ticket peut être une classe d'association entre siège et séminaire. Ou utilisez simplement OCL pour exprimer cette contrainte

0

"vous ne pouvez pas exprimer que, d'une instance de ticket, le ticket de chemin -> siège -> emplacement du séminaire doit aboutir à la même instance que ticket -> séminaire -> séminaire situé »

1) OCL - contexte ticket inv: seminar.seminarLocation = seat.seminarLocation

2) dessiner siège, Séminaire et classe d'association ticket entre le siège et séminaire - en SeminarLocation (Figure 13-70 http://msdl.cs.mcgill.ca/people/tfeng/docs/The%20Unified%20Modeling%20Language%20Reference%20Manual.pdf ou Figure 14-84 http://www.utdallas.edu/~chung/Fujitsu/UML_2.0/Rumbaugh--UML_2.0_Reference_CD.pdf)

Questions connexes