Generating UML class diagram from source codes using multi-threading technique - Abdullah, Saif Khalid (2015)
The traditional Software Development Life Cycle (SDLC) often includes four phases: analysis, design, implementation, and testing. Reverse engineering is the process of moving back those phases by analyzing the software system and then representing it at the higher levels of abstractions. The reverse engineering software process generates high level information from the implementation phase. This information includes generating several diagrams and specification documents that describe the implemented software. The UML class diagram represent a valuable source of information even after the delivery of the software. Class diagram extraction can be done either from software’s source code, or from the executable file. In the case of source code, a review of the current tools shows that many researchers have been extracting the UML class diagram from an object-oriented source code based on the sequential processing approach. In this research, a proposed approach for extracting a class diagram from the source code is presented. The proposed approach relies on multi-threading technique in the class diagram extraction which is representing the parallel processing. The motivation behind using multi-threading technique is that, it gives an advantage of faster processing to any software because the threads of the program naturally lend themselves to truly concurrent execution. In this research, a class diagram extraction using multi-threading technique is designed and implemented using the C# programming language. The implemented approach is tested on three case studies that contain several types of entities and relationships between them. Testing results show that the time needed to extract class diagram using multi-threading technique for the tested three cases is less than the time needed in extracting the same class diagram without using multi-threading technique.