您如何在UML Java或C#甚至DB中建模客户可以是自然人,也可以是公司,并且公司有员工&;承包商
我能找到的所有教程都是用玩具uml用例处理的,比如这里的一个 我看不出您如何在UML用例中对此进行建模: 客户可以是自然人,也可以是公司,公司的员工本身就是自然人。公司也有一些人作为承包商为他们工作,他们是自然人,但不是客户 有没有人有什么好主意,比如在yuml用例中编写这个模型 似乎没有人知道UML用例,所以让我们说,即使是类图,甚至是Java或C#类图,甚至是数据库设计:) 我在下面的模型中看到的问题是,此人是客户,因此所有员工也都是客户,这是错误的: 客户可以是自然人,也可以是公司,公司的员工本身就是自然人 您不能用UML用例图对此进行建模,因为这不是一个用例。一个用例听起来像是Compary可以雇佣员工,一个人可以从公司订购产品,等等 但是,您可以使用以下UML类图对此进行建模: 更新:您如何在UML Java或C#甚至DB中建模客户可以是自然人,也可以是公司,并且公司有员工&;承包商,c#,java,database-design,model,uml,C#,Java,Database Design,Model,Uml,我能找到的所有教程都是用玩具uml用例处理的,比如这里的一个 我看不出您如何在UML用例中对此进行建模: 客户可以是自然人,也可以是公司,公司的员工本身就是自然人。公司也有一些人作为承包商为他们工作,他们是自然人,但不是客户 有没有人有什么好主意,比如在yuml用例中编写这个模型 似乎没有人知道UML用例,所以让我们说,即使是类图,甚至是Java或C#类图,甚至是数据库设计:) 我在下面的模型中看到的问题是,此人是客户,因此所有员工也都是客户,这是错误的: 客户可以是自然人,也可以是公司,公司
上面的类图并不意味着一家公司的员工也必须是同一家公司的客户。它只是说明一个人可能是某家公司的客户或该公司的雇员,并同时允许这两种情况 考虑下面的对象图,它显示了上述类的一些实例,并且就上面的类图而言是完全合法的: 客户可以是自然人,也可以是公司,公司的员工本身就是自然人 您不能用UML用例图对此进行建模,因为这不是一个用例。一个用例听起来像是Compary可以雇佣员工,一个人可以从公司订购产品,等等 但是,您可以使用以下UML类图对此进行建模: 更新:
上面的类图并不意味着一家公司的员工也必须是同一家公司的客户。它只是说明一个人可能是某家公司的客户或该公司的雇员,并同时允许这两种情况 考虑下面的对象图,它显示了上述类的一些实例,并且就上面的类图而言是完全合法的:
以下类图满足您的需要: 实际上,您使用的是两个域:第一个域是公司的层次结构:公司的员工和承包商都是个人;第二个域是客户域,可以是公司和客户。所以在这个图中,你有一个
人
,可以是承包商
,员工
或客户
,也可以是客户
,还有一个客户公司
,它既是客户
,又是公司
请注意,我创建了CustomerCompany
,它继承自Company
,而不是使Company
继承自Customer
,因为我假设并非所有公司都是客户
我对所有关系都使用了继承,但如果不需要多重继承,可以使用接口来实现
此图的代码为:
[Company]++-0..*>[Employee]
[Company]++-0..*>[Contractor]
[Person]^-[Employee]
[Person]^-[Contractor]
[Customer]^-[CustomerCompany]
[Company]^-[CustomerCompany]
[Customer]^-[CustomerPerson]
[Person]^-[CustomerPerson]
以下类图满足您的需要: 实际上,您使用的是两个域:第一个域是公司的层次结构:公司的员工和承包商都是个人;第二个域是客户域,可以是公司和客户。所以在这个图中,你有一个
人
,可以是承包商
,员工
或客户
,也可以是客户
,还有一个客户公司
,它既是客户
,又是公司
请注意,我创建了CustomerCompany
,它继承自Company
,而不是使Company
继承自Customer
,因为我假设并非所有公司都是客户
我对所有关系都使用了继承,但如果不需要多重继承,可以使用接口来实现
此图的代码为:
[Company]++-0..*>[Employee]
[Company]++-0..*>[Contractor]
[Person]^-[Employee]
[Person]^-[Contractor]
[Customer]^-[CustomerCompany]
[Company]^-[CustomerCompany]
[Customer]^-[CustomerPerson]
[Person]^-[CustomerPerson]
你想做什么,一个用例?序列图?类图?正如我所说的UML用例,但如果不是类图,你就会误解类图。该类图没有指定特定员工必须是同一公司的客户。类图指定类与实例之间可能存在的关系。可能有一些
人
实例是特定公司的员工
,可能有一些人
是该公司
的客户,也可能有一些既是员工又是客户。您想做什么,一个用例?序列图?类图?正如我所说的UML用例,但如果不是类图,你就会误解类图。该类图没有指定特定员工必须是同一公司的客户。类图指定类与实例之间可能存在的关系。可能有一些人
实例是特定公司的员工
,也可能有一些人
是该公司的客户
,也可能有一些人既是员工又是客户。谢谢大家查看。顺便说一句,在UML用例中,客户、个人和公司都是角色。我在您的模型中看到的问题是,个人是客户,所以所有员工也都是客户,这是错误的