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.

Share

COinS
 
 

To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.