繁体   English   中英

UML类图-“ OR”的表示法

[英]UML Class Diagram - Notation for 'OR'

我有4张桌子:

医生ID,姓名,房间号

约会ID(如果已参加)

患者编号,姓名,地址

DPappointments DoctorID,PatientID,AppointmentID

这大致成为

在此处输入图片说明

但是,我现在要更改它,以便可以预约看医生或护士?

如何更改类图以反映“ OR”类型关系?

根据模型其余部分的结构,有不同的解决方案。 我认为这里还有一个Nurse类,并且该id与Doctor没有任何特殊关系(例如从Employee继承或类似的继承)。 因此,这将是一个通用的解决方案。

Add添加约会和护士之间的关联,类似于现有的带有医生的关联。 Doctor(和Nurse)端的对应多重度应为0..1,并应添加一条附加规则-约会对象必须具有Doctor对象或Nurse对象的链接

该规则可以在OCL中指定(如果您喜欢正式样式),也可以在图表上指定为简单的文字说明。

还有其他一些方法可以对此建模,而没有其他限制,但是模型本身(可能)会变得很复杂。 例如,您可以从抽象类AppointmentRespondent派生Doctor and Nurse,并使用那一侧的多重性1..1将其与Appointment链接。 此模型具有更大的灵活性,并且更具扩展性(易于添加新的潜在的AppointmentRespondents),无OCL,无限制。

您可以根据自己的模型和将来的扩展选择方法。

PS不是这不是OR关系,而是XOR-在每次约会中都必须有人代表医院(这是一个合理的猜测:)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM