Refactoring Use Case Models on Episodes
Proceedings of the 19th IEEE international conference on Automated software engineering
Towards a Common Semantic Foundation for Use Cases and Task Models
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
Use cases are promising vehicles for specifying requirements. However, obtaining well-organized use case models is difficult during software evolution. The thesis proposes to address the issue by refactoring use case models. Refactoring is a program transformation approach for iterative software development. Its concept is introduced to use case models in Cascaded Refactoring. The thesis introduces major research involved in refactoring use case models. It defines a use case metamodel to formalize use cases. The three-level metamodel covers the environment or context of a use case model, the structure of use cases in terms of episodes, and the event or message passing details of a scenario. The thesis presents a process algebra semantics for the use case model. The episode semantics is provided from the literature. The semantics of a single use case is defined in terms of the episode model. The semantics of the use case model is defined in terms of the individual use cases and their relationships. The thesis identifies a list of properties that need to be preserved during refactoring. It defines fifty-three use case refactorings, which are described using a template covering the refactoring description, arguments, preconditions, postconditions and verification of behavior preservation. The thesis also introduces a tool for use case modeling and refactoring. The tool helps validate the use case metamodel and refactorings on two case studies, which demonstrate that refactoring use case models is feasible and practical. Based on these case studies, the thesis discusses the nature of use case evolution and provides some guidelines for the refactoring process.