Use case models describe the behavior of a software system from the user's perspective. This paper presents a reverse engineering approach for recovering a use case model from object-oriented code. The approach identifies use cases by analyzing class method activation sequences triggered by input events and terminated by output events. The approach produces a structured use case model including diagrams at various levels of abstraction, comprising actors, use cases, associations between actors and use cases, and relationships among use cases. A case study carried out to validate the approach on a C++ small-sized system, produced encouraging results, showing the approach feasibility and highlighting aspects of the approach requiring further investigation.
['G.A. Di Lucca', 'Anna Rita Fasolino', 'U. De Carlini']
Recovering use case models from object-oriented code: a thread-based approach