Do We Really Need Use Case Diagrams?

I’ve never been a fan of Use Case Diagrams.  I always thought they were an example of forcing information into diagram form that is better captured in a simpler structure, just because someone thinks diagrams are always easier to understand.  Or because the folks behind UML thought they had to have a diagram for every possible need, no matter that putting some information in diagram form actually makes some things harder to understand.

For systems with lots of functionality and dependent use cases, a Use Case Diagram can be practically un-usable.  Especially once you start having a lot of <<Extends>> and <<Includes>> in the diagram.  Luckily, most of the Use Case Diagrams I have seen don’t have many actual use cases in them, and have few or no <<Extends>> or <<Includes>>.  For the simple systems, a Use Case Diagram isn’t that bad.

But in the end, I think they are a bit of overkill when you balance the usefulness of the results versus the amount of effort.  You need diagramming software of some sort at a minimum, and I think there are simpler options.

Take the Use Case Diagram below, which comes from the Use Case Diagram page in this site’s wiki:

UCD-Step7

 

If you find that easy to understand, you’re far better at interpreting and assimilating visual information than I am.

Instead of Use Case Diagrams, I usually put the same type of information in table form.  It’s intuitive for almost anyone.  It’s easy to see what actors interact with what use cases, without having to follow lines that may run all over the place.  For your Extensions and Includes / Uses, you can add them under the main Use Case name like the table below or you can even create a table with just the use cases and use a “I” or “E” instead of the “X” I used below, with “I”‘s for Includes and “E”‘s for Extends.

UCD-AltTable

For me at least, tables are faster to create, easier for the people I work with to understand, and let you leverage things like Excel’s Filter feature to look at specific actors or Use Cases in isolation.

So what do you think?  Do you actually work with Use Case Diagrams frequently?  Do you find them particularly useful?  Or maybe you are like me and use something else  for documenting the same information?  If so, care to share what you use?

 

Thanks!

2 thoughts on “Do We Really Need Use Case Diagrams?

  1. Nishadha

    Very interesting view of use case diagrams. I guess the approach you take depend on how quickly you digest visual information especially with a complex system like the one in the example. Other than that the complexity of the diagram, number of actors/use cases all should be considered when making the decision. I personally found the diagram a bit more easier to digest, but then again I’m from a diagram company and probably more used to them.

    Reply
    1. Dave Post author

      Thanks for the comment! I agree that the complexity of a diagram has a huge impact, and how used to interpreting diagrams you are. It may just be that what’s needed is simply a “better” (at least in my opinion) diagram that handles complexity better than Use Case Diagrams. And that is easier for non-technical users to interpret. In the end, at least the post has accomplished its goal and elicited some feedback or discussion. 🙂

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *