Search code examples
includeumlextenduse-caseuse-case-diagram

Why do we need to separate or breakdown one Use Case into two or more use cases?


Why do you need to, in many instances, separate or breakdown one Use Case into two or more use cases?


Solution

  • The only reason to split a use case in multiple use cases is to share a significant piece of functionality among multiple use cases by isolating that piece of functionality in a separate use case.

    Example: 'search product information' may be a separate use case included by use cases 'buy product' and 'hire product'.

    Apart from 'include' there are also examples of the same principle using 'extend' or 'generalize'.

    By doing so, you prevent that the shared behaviour is copied in multiple use cases, with the chance of growing inconsistencies.

    In the previous example: We want to make sure that customers don't get a different way to search for product information when buying compared to when hiring products. With an included use case, people who read the use cases are immediately aware of that fact.