Chulalongkorn University Theses and Dissertations (Chula ETD)
Other Title (Parallel Title in Other Language of ETD)
Software remodularization using tabu search
Year (A.D.)
2020
Document Type
Thesis
First Advisor
พรศิริ หมื่นไชยศรี
Faculty/College
Faculty of Engineering (คณะวิศวกรรมศาสตร์)
Department (if any)
Department of Computer Engineering (ภาควิชาวิศวกรรมคอมพิวเตอร์)
Degree Name
วิทยาศาสตรมหาบัณฑิต
Degree Level
ปริญญาโท
Degree Discipline
วิศวกรรมซอฟต์แวร์
DOI
10.58837/CHULA.THE.2020.1137
Abstract
วิทยานิพนธ์นี้นำเสนอการรีมอดุลาไรเซชันซอฟต์แวร์ด้วยการค้นหาต้องห้าม เพื่อค้นหารูปแบบการจัดสรรคลาสไปยังแพ็กเกจที่เหมาะสมที่สุด ซึ่งเป็นการปรับปรุงสภาพมอดุลาร์ของซอฟต์แวร์ โดยทำการค้นหาคลาสที่ไม่เหมาะสมกับแพ็กเกจ เพื่อย้ายไปยังแพ็กเกจที่เหมาะสมมากขึ้น การรีมอดุลาไรเซชันซอฟต์แวร์ด้วยการค้นหาต้องห้ามนี้ ประกอบไปด้วยขั้นตอนการตรวจสอบว่า ซอฟต์แวร์นั้นมีความจำเป็นต้องทำการรีมอดุลาไรเซชันหรือไม่ ด้วยเกณฑ์ค่าสัมประสิทธิ์ซิลูเอทของระบบซอฟต์แวร์ และหากซอฟต์แวร์จำเป็นต้องรีมอดุลาไรเซชัน ขั้นตอนถัดไปคือทำการค้นหาด้วยการค้นหาต้องห้ามจะค้นหารูปแบบการจัดสรรคลาสที่เหมาะสม เพื่อปรับปรุงระบบซอฟต์แวร์ให้มีคุณภาพที่ดีขึ้น ซึ่งวิธีการนี้สามารถเป็นเครื่องมือช่วยวิศวกรซอฟต์แวร์ตัดสินใจในการทำรีมอดุลาไรเซชันได้ เพื่อสนับสนุนวิธีการรีมอดุลาไรเซชันด้วยการค้นหาต้องห้าม จึงได้พัฒนาเครื่องมือเพื่อทดสอบกับซอฟต์แวร์และกรณีตัวอย่างที่พัฒนาด้วยภาษาจาวารวมเจ็ดตัวอย่าง จากการทดสอบพบว่า เครื่องมือสามารถตรวจสอบได้ว่าซอฟต์แวร์ควรมีการรีมอดุลาไรเซชันหรือไม่ และเครื่องมือสามารถค้นหาและแนะนำวิธีมูฟคลาสรีแฟคทอริงเพื่อทำให้ระบบซอฟต์แวร์มีคุณภาพที่ดีขึ้น โดยประเมินจากการใช้ตัววัดสัมประสิทธิ์ซิลูเอทและเทอร์โบเอ็มคิว เมื่อเปรียบเทียบก่อนและหลังการรีมอดุลาไรเซชันแล้วพบว่ามีค่าเพิ่มขึ้น
Other Abstract (Other language abstract of ETD)
This thesis proposes an approach to remodularize software using Tabu search. The aim is to find an optimal solution to improve software modularity by reorganizing software structure based on class relationships of all packages. An unsuitable class in current package should be moved into more suitable package to improve the software modularity. Software remodularization using Tabu search is divided into two steps. Firstly, measuring silhouette coefficient to determine if the software needs remodularization or not. Secondly, if remodularization is needed, some classes should be moved to new packages. Tabu search is used to search for the best solution to increase the modularity of software. This approach can suggest software engineer to decide on software remodularization. To support that software remodularization using Tabu search can be implemented, a tool is developed to support the study. The tool is evaluated with seven java software examples using the Silhouette coefficient and the Turbo MQ measurement , when compares the results from the two metric before and after remodularization, the results show that the modularity of software is improved.
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Recommended Citation
จันทน์วัฒนวงษ์, พจนารถ, "การรีมอดุลาไรเซชันด้วยการค้นหาต้องห้าม" (2020). Chulalongkorn University Theses and Dissertations (Chula ETD). 3795.
https://digital.car.chula.ac.th/chulaetd/3795