Death of the Use Case

The previous posts Death of the Actor and Death of the Use Case reported about two serious killings in the modeling scene. Many eyewitnesses commented the report. Now it is time for a short review.

First the good news: The concepts Actor and Use Case survived the massacre. I’ve seen them still alive and very active in many projects. Sadly the SysML/UML model element Actor is dead – rest in peace – and the modeling element UseCase is in intensive care.

The concept Actor is defined relative to a system. Since every system is part of a larger system an actor of one system could be a part of another system. You should separate the model element that represents the physical entity from the model element that represents the role of the entity like actor or part. The SysML/UML model element Actor combines both. I propose to use a block (or class in UML) to represent the entity and stereotypes to represent the role. The figure below shows a context diagram without the Actor element. The actors are modeled with the Block element and stereotypes with symbols for the actor categories.

System context without actor model elements

System context of a Forest Fire Detection System without actor model elements

The model element UseCase was also victim of a attempted murder. The Activity was the murderer. However 30 comments about the killing report saved the life of the UseCase.
My conclusion of the discussion is that I’m still convinced that you don’t need the SysML/UML model element UseCase if your modeling process directs to model the details of a UseCase with an Activity. Remember that the concept UseCase is still alive. In practice the separation of concept and model element is not well known and it’ll lead to misunderstandings if you try to do use case modeling without use cases. I fear that the problems exceed the benefit. So be careful if you kill the UseCase element. The problems will catch you… The figure below shows a use case diagram without Actor and without UseCase model elements. The use case Detect and report fire is the model element Activity. You see it could work in practice.

Use case diagram without actor and use case model elements

Use case diagram of a Forest Fire Detection System without actor and use case model elements

3 Comments

  • 24. January 2013at23:29

    What diagramming tool are you using to make your UML diagrams? Lucidchart is a pretty good option and it is free for students.

    Thanks!

  • Helmut Ortmann

    Reply
    9. February 2013at23:19

    Hi Tim,
    I like your kind to write.

    Besides of all modeling aspects I like Use Case to focus on
    – What is the customer\stakeholder benefit
    – What are the standard features
    – What are alternate features
    – What are typical error conditions

    In fact it isn’t important what kind of model elements you use to tell the above stories.

    For me: If I use Actors and Use Cases I understand I’m focusing on customer needs or dreams.
    If I use classes, activities or so I focus on technical stuff with all it’s intrinsic complexity.

    Kind regards,

    Helmut

Post a Comment