Uml 绘制设备驱动程序的用例图

Uml 绘制设备驱动程序的用例图,uml,linux-device-driver,device-driver,software-design,Uml,Linux Device Driver,Device Driver,Software Design,我正在尝试为无线NIC驱动程序编写用例图。用户与驱动程序之间没有直接交互。如何为驱动程序编写用例图?用例中的“用户”不一定是按键的人或其他人。它是所描述系统外部的“参与者”,可以与所描述的系统交互 在这里,这样的参与者可能包括路由器或其他一些你的NIC想要连接或想要连接的硬件;它包括网卡插入的硬件和操作系统,网卡与之交换信号;以及它所连接的设备和它们交换的信号 用例将包括: NIC检测可用的路由器。。。。 NIC收到来自……的请求 诸如此类,介绍您希望NIC做什么。在您的场景中,参与者是系统。如

我正在尝试为无线NIC驱动程序编写用例图。用户与驱动程序之间没有直接交互。如何为驱动程序编写用例图?

用例中的“用户”不一定是按键的人或其他人。它是所描述系统外部的“参与者”,可以与所描述的系统交互

在这里,这样的参与者可能包括路由器或其他一些你的NIC想要连接或想要连接的硬件;它包括网卡插入的硬件和操作系统,网卡与之交换信号;以及它所连接的设备和它们交换的信号

用例将包括:

NIC检测可用的路由器。。。。 NIC收到来自……的请求


诸如此类,介绍您希望NIC做什么。

在您的场景中,参与者是系统。如果系统在您正在开发的系统之外,并且它直接与您正在开发的系统进行交互,那么您可以将系统作为参与者包含到用例中

您可能还需要定义系统的边界,这意味着它的范围和接口。例如:您可能希望为路由器创建一个参与者。更好的操作是如何与您的驱动程序交互,因为它们直接与您正在开发的系统交互

希望这有帮助。
如果您需要用示例进行进一步解释,请在下面进行评论

用更多信息和示例扩展previos 2的答案

用例模型的关键方面是它的上下文,或系统范围(在图上用边界元素描述-参见示例)。“范围内”的所有内容都由UC抽象,而“范围外”的所有内容都由参与者(人或系统)建模。用例建模了交互、对话
、两者之间的信息交换

在您的案例中,我看到至少两个系统参与者,一个受控设备和一个客户端程序。在以下示例中添加了另一个可能的参与者,以显示通过驱动程序与设备的某些最终定期通信:

这是一个很好的例子,说明了不同的UML图是如何结合在一起展示整个事实的。UC图侧重于系统及其环境之间有意义的交互,没有显示任何关于它的技术信息

为了做到这一点,您需要另一个图表(这里是组件,但类也可以,即使两者都可以)。此图用于定义接口、API、方法签名、依赖项

当然,您可以更进一步,使用序列/交互图将用例与相应的组件连接起来(在我的示例中,仅显示了“跟踪”,以明确哪些参与者由哪些组件实现)。大概是这样的:

注意,称为“数据”的东西被发送到驱动程序(和设备)。这可以在类图中进一步定义,为这个系统提供一个全新的视角


通常的做法是将所有这些信息放在用例描述中。尽管这种方法在语法上可能是正确的,但UML的全部功能是通过在不同的图表中分离关注点来释放的,使每个关注点尽可能简单明了,只关注一个关注点,而不关注其他关注点。

@Shashank page给出了用例中“用户”的一些示例,现在就清楚如何编写它。你用什么工具画这些图表?我很高兴。:)该工具是“企业架构师”