Dependencies 如何在UML用例图中根据主要参与者的角色对不同的外部系统进行建模?

Dependencies 如何在UML用例图中根据主要参与者的角色对不同的外部系统进行建模?,dependencies,uml,use-case-diagram,Dependencies,Uml,Use Case Diagram,我正在建模一个软件,需要与光学跟踪传感器接口,通过光学标记测量某些物体的姿态。 一般用户在两种不同的用例(如UC1和UC2)中与该传感器(如外部系统1)交互。 我还想对管理员用户通过相同用例UC1和UC2与软件交互的可能性进行建模,但他可以与模拟真实光学传感器的软件模拟器(如外部系统2)接口 我试图在用例图中对这个场景进行建模,但是我不确定模拟器和管理员角色的正确建模。 我不会创建第二对用例,因为它们应该与一般用户所采用的完全相同。 参考该图,我还想将一些依赖项箭头(虚线)从UCs添加到外部系统

我正在建模一个软件,需要与光学跟踪传感器接口,通过光学标记测量某些物体的姿态。 一般用户在两种不同的用例(如UC1和UC2)中与该传感器(如外部系统1)交互。 我还想对管理员用户通过相同用例UC1和UC2与软件交互的可能性进行建模,但他可以与模拟真实光学传感器的软件模拟器(如外部系统2)接口

我试图在用例图中对这个场景进行建模,但是我不确定模拟器和管理员角色的正确建模。 我不会创建第二对用例,因为它们应该与一般用户所采用的完全相同。 参考该图,我还想将一些依赖项箭头(虚线)从UCs添加到外部系统2,但这种方式听起来好像普通用户也可以与模拟器交互,但这是不允许的

如果这个问题看起来很琐碎,我很抱歉,但这是我第一次体验软件UML建模。
提前感谢您的帮助。

从下面的基本系统开始

所以基本上你的系统是用传感器测量的。该传感器可以是真实传感器,也可以是模拟器<代码>用户不能真的在意(尽管他知道附加的内容)。但是测量系统真的不会在意。因此,模拟器必须模拟所需的一切,以便系统将其视为正常传感器

现在,模拟器是另一个系统:


从这个系统的角度来看,你们将测量系统视为外部参与者。此外,它还为管理员提供了为测试周期设置参数的可能性。

从下面的基本系统开始

所以基本上你的系统是用传感器测量的。该传感器可以是真实传感器,也可以是模拟器<代码>用户不能真的在意(尽管他知道附加的内容)。但是测量系统真的不会在意。因此,模拟器必须模拟所需的一切,以便系统将其视为正常传感器

现在,模拟器是另一个系统:


从这个系统的角度来看,你们将测量系统视为外部参与者。此外,它还为管理员提供了为测试周期设置参数的可能性。

您的意思是您想要一个真正的物理传感器或模拟器,但不知道如何建模?模拟器是否用于特定原因(如校准)?请注意,参与者是一个角色,因此,如果你可以让一个实际设备(一个真实的光学传感器)或一个虚拟设备(一个假装是一个的软件)进入角色,这并不重要,你只需对其建模一次。当真实的光学传感器不可用时,模拟器基本上被认为是用于培训或测试目的。我可以考虑为模拟器特定的附加功能建模,但我现在不考虑它们。在设计的具体化过程中,我的怀疑更加明显。例如,在绘制竞赛图时,我想我需要一个用于真实传感器的代理服务(使用设备的API)和一个用于模拟器的代理服务(使用模拟器的API)。我的推理中有没有概念上的错误?正确命名UC肯定会有帮助。UCs是关于真实世界的东西,如果将它们放在编号的物品上,将无法进行有意义的讨论。你是说你想要一个真实的物理传感器或模拟器,却不知道如何建模?模拟器是否用于特定原因(如校准)?请注意,参与者是一个角色,因此,如果你可以让一个实际设备(一个真实的光学传感器)或一个虚拟设备(一个假装是一个的软件)进入角色,这并不重要,你只需对其建模一次。当真实的光学传感器不可用时,模拟器基本上被认为是用于培训或测试目的。我可以考虑为模拟器特定的附加功能建模,但我现在不考虑它们。在设计的具体化过程中,我的怀疑更加明显。例如,在绘制竞赛图时,我想我需要一个用于真实传感器的代理服务(使用设备的API)和一个用于模拟器的代理服务(使用模拟器的API)。我的推理中有没有概念上的错误?正确命名UC肯定会有帮助。UCs是关于真实世界的东西,如果将它们放在编号的项目上,将无法进行有意义的讨论。也许我无法澄清我的一个要求:我希望仅允许管理员用户访问模拟器,而普通用户不应该。此外,此解决方案将假定测量系统将包含来自传感器类型(真实或模拟)的独立代码,而在我看来,它应该包含相应的API。这是一个错误的设计观点吗?您可能不清楚您的系统设计。这就是为什么我建议从一个明确而简单的观点开始。您可以简单地对
用户
参与者应用一个约束,告诉
{如果使用模拟器,则只有管理员可以运行测量}
或类似的内容。也许我无法澄清我的一个要求:我希望仅允许管理员用户访问模拟器,而普通用户不应该。此外,此解决方案将假定测量系统将包含来自传感器类型(真实或模拟)的独立代码,而在我看来,它应该包含相应的API。这是一个错误的设计观点吗?你可能不是