Criminal Scene Investigation: Death of the Actor and the Use Case
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.
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.