Skip to main content
1 of 3

First, you and other stakeholders have to decide at which level of granularity you want to apply the use case technique. Usually, it is applied to the system "as a whole" only and other specification techniques are used to specify the behavior of components. This is what I would recommend.

Apparently, you have made the unusual decision to apply the use case technique to components as well. In that case, I would strictly separate the use cases of every component, i.e. every component would get its own use case diagram. In such a diagram, the components it interacts with are actors.

If component X gets input from actor A1, processes it and sends the result to actor A2, I would define one use case connected to both A1 and A2. Do not separate 'receive', 'process' and 'send' in separate use cases. Instead, these are three steps in one use case. If this is complex behavior, you may draw an activity diagram or state machine diagram to describe the internals of the use case.

For those who are able to read Dutch, I have written a short article on this subject: Service model en use case model : een lastige combinatie.