This thesis studies the extraction of embedded business rules, using the idioms of the used framework to identify them. Embedded business rules exist as source code in the software system and knowledge about them may get lost. Extraction of those business rules could make them accessible and manageable. After the investigation of the problem domain and the nature of the embedded business rules at the host company, we defined possible approaches of three classes of business rules to identify, extract and formalize them using static analysis techniques. As the proof of concept of these approaches, we made an attempt to implement them. The implementation of static analysis techniques for the used implementation language Smalltalk is challenging. To facilitate static analysis techniques, we made use of the idioms associated with the implementation of the business rules. We realized a tool to extract one class of embedded business rules, known as the validation rules. Other approaches were partly implemented and could not be realized in the time frame of this research. As evaluation, we compared the extracted business rules by the tool and the extracted business using a manual approach by two developers. Although there are threats to validity, the results of this evaluation shows that idioms of a software environment are valuable assets, for the identification of business rules and to facilitate extraction techniques. We tried to ensure that the reader does not have to be familiar with the implementation language Smalltalk. Some Smalltalk code examples are used throughout this thesis. We assume it is possible to follow these examples. Also, used UML notations differ somewhat from the official standard(see appendix A).
Additional Metadata
Keywords business rules, reverse engineering
ACM Elicitation methods (acm D.2.1.0), Tools (acm D.2.1.3), Programming Environments (acm D.2.6)
THEME Software (theme 1)
Thesis Advisor T. van der Storm (Tijs) , W. Gazendam , C. Brouwer , M. van Echtelt
Smit, R. (2011, September). Idioms-based Business Rule Extraction.