Search code examples
umliotuse-caseuse-case-diagram

Should I include the IIoT as an secondary actor in my use case diagram?


I have an application to monitor real-time data coming from an IIoT, the problem is I don't know exactly if I should include the IIoT as an actor, this is the flow of my application:

the IIoT will send data to the Node-Red server then the Node-red will produce data to Kafka then a user (actor) will choose a machine then visualize the data coming from the IIoT.

First I included node-red and Kafka as a part of my application but I don't know what to do about the IIoT.

I have read that if you add an actor to the use case that means it has an interface in your application, but could the monitoring dashboard be the interface for the IIoT?


Solution

  • Use-case diagrams aim to show the goals that matter to its actors and stakeholders and that the system is supposed to address, independently of its internal structure.

    The answer will therefore depend on the scope of the system, and what you do consider to be external or not:

    • In general, database systems, internal components such as node-red or middleware like kafka , even if they are to some degree independent, are seen as internal to the system: they are just technical choices for the implementation and do not qualify for being an actor of a use-case.

    • An IIoT device is to some extent an autonomous system that could be considered as external, depending where you decide to set the boundary. It may in this regard also be involved in use-cases of third party systems. They interact with your systems to fulfil their own goals or contribute to goals of other actors. In this case you may consider them as (secondary) actors.

    • An IIoT may otherwise be considered as being part of your system. In this case, you wouldn’t show them as actors.

    In your case you should consider in particular the degree of independence and dynamic interactions. For example:

    • If your system is part of a larger IIoT solution that is not really usable without your software, I’d rather opt for the internal viewpoint. Because the users/stakeholders would consider your system together with the IIoT as a whole.
    • If your system plugs onto an existing IIoT system, or if the stakeholders may change IIoT freely, or if the IIoT discovers your monitoring system and starts to interact with it, you may prefer the external viewpoint.

    Important remark: keep in mind that use-case diagrams are not data flow diagrams. Moreover they should not show anything about the sequence of operations.