如何在UML中的类构造函数中建模新类
我正在用UML建模一个软件。我有一个带有Address属性的类Person,它是一个单独的类。 每次有新人时,我都需要有一个Address对象,所以我将它写在类Person构造函数中。 但是,此人可以将其地址留空,因此在我的mongo JSON对象中,我将有:如何在UML中的类构造函数中建模新类,uml,Uml,我正在用UML建模一个软件。我有一个带有Address属性的类Person,它是一个单独的类。 每次有新人时,我都需要有一个Address对象,所以我将它写在类Person构造函数中。 但是,此人可以将其地址留空,因此在我的mongo JSON对象中,我将有: { id:“1a07b40t9748c2a90” 全名:“X Y”, 地址:{}} class Person { String id; String fullName; Address address;
{
id:“1a07b40t9748c2a90”
全名:“X Y”,
地址:{}
}
class Person {
String id;
String fullName;
Address address;
public Person(){
this.address = new Address();
}
}
class Address {
String city;
String state;
String country;
}
我应该如何用UML建模 虽然这实际上太琐碎了,但您可以:
人
只有一个地址
。我没有完整地建模属性。不确定范围(地址
可能是私人的)。虽然您可能有地址为空的人,但这些空地址仍然是地址
的实例。因此,地址端的关系是一种强制关系
在Person方面,关系是可选的,因为可以在Person上下文之外创建Address实例。在鱼尾纹符号中,这是结果:
如果您确信地址除了作为个人的一部分之外永远不会被实例化,那么您可以将双方都设置为一个必填项
我使用了鱼尾纹符号,因为这是您在评论中要求的,但这不是UML符号。您的问题是什么?你想做什么样的模特?行为还是类?我想用鱼尾纹关系符号来建模类图。这两个类别之间的关系是:-一个是强制性的,一个是强制性的?或者-一对一可选?如果您对其中一个答案感到满意,请将其标记为已接受。否则,请解释您不满意的原因。是的,地址不会在Person之外实例化;谢谢你的回答。我还有最后一个问题,为什么你说鱼尾纹符号不是UML符号?UML符号是在UML规范中定义的。最新版本(2.5.1)可从OMG网站下载。您可以验证鱼尾纹符号不是UML。相反,UML使用所谓的多重性。例如,“一个必填项”由多重性
1
表示。请参见qwerty__so给出的答案,以获取示例。