更好的UML类图结构来表示个人的婚姻
目前我正在做一个更大项目的一部分,但我不太确定如何处理系统的这一部分 每个人都可以结婚多次,每一次婚姻都需要有一名主礼人、伴侣1、伴侣2和见证人。个人可以在多重婚姻中扮演这些角色 我想知道是否有一种方法可以用较少的关联来表示所有必要的个体,因为当查看整个系统时,图表很快就会变得一团糟 将partner1和partner2替换为partner2,当然,partnerWitness也是如此 individualId和marriageId是错误的,因为这意味着它们是静态的。它们可能是主键,但它们是实例成员,而不是类成员。你也可以把它们命名为id,没有前缀也没用 什么是合作伙伴?是否可以由类关联支持 分开的关系“个人->婚姻”是错误的,因为这样的婚姻可能与婚姻不同,个人参与其中,无论其角色如何,而这不是你想要的。因此,删除它并使用双向关系 听你的话 statusPartner是指结婚前伴侣的身份(离婚、寡妇等) 强制通过类关联对其进行管理:更好的UML类图结构来表示个人的婚姻,uml,class-diagram,Uml,Class Diagram,目前我正在做一个更大项目的一部分,但我不太确定如何处理系统的这一部分 每个人都可以结婚多次,每一次婚姻都需要有一名主礼人、伴侣1、伴侣2和见证人。个人可以在多重婚姻中扮演这些角色 我想知道是否有一种方法可以用较少的关联来表示所有必要的个体,因为当查看整个系统时,图表很快就会变得一团糟 将partner1和partner2替换为partner2,当然,partnerWitness也是如此 individualId和marriageId是错误的,因为这意味着它们是静态的。它们可能是主键,但它们是实
- 只有合作伙伴,您无法知道谁是statusPartner1和statusPartner2,当然,在类关联的情况下,您不会遇到这个问题
- 你也可以在个人中移动该属性,但在这种情况下,它不仅存在于伴侣身上,而且没有任何意义
isWitness
替换
也可以只使用一个类关联:
第一个约束条件是伴侣的角色是伴侣,第二个约束条件是婚姻中有两个人扮演证人角色,一个扮演主事人角色,两个扮演伴侣角色
您在中缺少一个“d”Individual@brunostatusPartner只是婚姻前伴侣的身份(离婚、寡妇等)。谢谢你的帮助@我编辑了我的答案,请重新阅读,我在上面添加了一个更新的图片,我希望这就是你的想法。再次感谢您的建议@bunnytechnician不,我编辑了我的答案,将第一个图表与我的答案的第一个版本相对应,另外两个图表用于其他两种方式。下一步是将
Mariage
专门化为Contract
,扩大角色枚举以添加当事人,通过在合同层面上解决,概括与个人的联系,并将具体的合同留给海运公司;-)OP要求一种简化模型的方法,你为什么要提出一个更复杂的模型?为什么合伙人和合伙人证人之间存在不对称?