How to show a sub system like mobile application in a Use Case Diagram

umluse-case

Imagine the main system with the following use cases : one person may register, and book a room.

At the same time there is a mobile app which is derived from the main system which is enabling the same functions (register, book a room) with some added use case options.

How to distinct these two systems in a same use-case diagram?

Best Answer

In the UML 2.5 specification, Figure 18.2 in section 18.1.5 is an example of what you want to do:

Use Case with a Subsystem

As you can see, you can show packages and subsystems, as necessary, on a UML Use Case Diagram. In your case, you likely wouldn't have the package, but you would have system boundary boxes identified and annotated as subsystems.

There are a few things to keep in mind:

Each Use Case diagram should show a system. If you have what is really two or more systems, you will want a use case diagram for each system. How you define what the "system" is versus what the "subsystem" depends on what you are building. You may want to define the software you are looking at as two systems or one system with at least two subsystems.

You may also be interested in a question about polymorphism in use cases and my answer to it. There are good methods for showing relationships between use cases that are part of the formal UML specification. There aren't ways to show relationships between actors, however, unless you don't care about following the specification.

Related Topic