Please use this identifier to cite or link to this item: https://cuir.car.chula.ac.th/handle/123456789/65125
Title: รีแฟคทอริงแบบเอ็กซ์แทรกต์แพ็กเกจโดยใช้การตรวจหาคอมมิวนิตีสำหรับแพ็กเกจขนาดใหญ่เกิน
Other Titles: Extract-package refactoring using community detection for too large packages
Authors: บุณยไชย จันทร์เทียน
Advisors: พรศิริ หมื่นไชยศรี
Other author: จุฬาลงกรณ์มหาวิทยาลัย. คณะวิศวกรรมศาสตร์
Advisor's Email: Pornsiri.Mu@Chula.ac.th
Issue Date: 2562
Publisher: จุฬาลงกรณ์มหาวิทยาลัย
Abstract: อาคิเทกเจอร์สเมลเป็นการออกแบบโครงสร้างสถาปัตยกรรมที่ไม่ดีซึ่งเปิดเผยถึงผลกระทบด้านลบต่อคุณภาพซอฟต์แวร์และยังเพิ่มความเสี่ยงในการเกิดข้อบกพร่องตามมาในอนาคต งานวิจัยที่ผ่านมาได้กำหนดและนำเสนออาคิเทกเจอร์สเมลไว้ในหลายรูปแบบและแต่ละรูปแบบส่งผลกระทบต่อคุณภาพซอฟต์แวร์ในมุมที่แตกต่างกัน กระบวนการรีแฟคทอริงเชิงสถาปัตยกรรมเป็นกระบวนการที่ใช้กำจัดอาคิเทกเจอร์สเมลและปรับปรุงคุณภาพของระบบโดยไม่เกิดการเปลี่ยนแปลงพฤติกรรมการทำงานของระบบ อย่างไรก็ตามการกำจัดอาคิเทกเจอร์สเมลรูปแบบหนึ่งอาจก่อให้เกิดอาคิเทกเจอร์สเมลในรูปแบบอื่นขึ้นในระบบ ซึ่งส่งผลกระทบโดยตรงต่อคุณภาพซอฟต์แวร์ งานวิจัยนี้นำเสนอวิธีการในการรีแฟคทอริงสำหรับแพ็กเกจขนาดใหญ่เกินซึ่งเป็นรูปแบบหนึ่งของอาคิเทกเจอร์สเมล โดยใช้การตรวจหาคอมมิวนิตีในกระบวนการรีแฟคทอริงแบบเอ็กซ์แทรกต์แพ็กเกจ กระบวนการนี้ใช้สำหรับการแยกแพ็กเกจที่ถูกตรวจพบอาคิเทกเจอร์สเมลรูปแบบแพ็กเกจขนาดใหญ่เกินให้มีขนาดเล็กลง และหลีกเลี่ยงผลกระทบอื่น ๆ จากอาคิเทกเจอร์สเมลบนพื้นฐานการพึ่งพา โดยมุ่งเน้นที่อาคิเทกเจอร์สเมลรูปแบบอันสเตเบิลดีเพนเดนซี วิธีการที่นำเสนอนี้ได้ให้แนวทางที่เป็นไปได้ที่จะแก้ไขผลกระทบจากอาคิเทกเจอร์สเมลรูปแบบแพ็กเกจขนาดใหญ่เกิน ซึ่งสามารถประเมินผลโดยการเปรียบเทียบจำนวนอาคิเทกเจอร์สเมลที่ตรวจพบและค่าตัวชี้วัดซอฟต์แวร์ ก่อนและหลังใช้กระบวนการรีแฟคทอริง นอกจากนี้ในงานวิจัยนี้ยังพัฒนาเครื่องมือบนพื้นฐานของวิธีการที่นำเสนอเพื่อที่จะเสนอวิธีการรีแฟคทอริงและสนับสนุนนักพัฒนาเพื่อปรับปรุงคุณภาพซอฟต์แวร์โดยการแก้ไขผลกระทบจากอาคิเทกเจอร์สเมลรูปแบบแพ็กเกจขนาดใหญ่เกินในระหว่างขั้นตอนการพัฒนาและการบำรุงรักษา
Other Abstract: Architecture smells are poor design of architectural structures which reveal negative impacts on software quality and increase risks of bugs in the future. Previous research defines and proposes various architecture smells and each one affects software quality in different aspects. Architecture refactoring is a process that removes an architecture smell and improves quality of system without any changes in system behavior. However, removing one of the architecture smells may cause creating of another smell in the system which directly affects software quality. This thesis proposes a refactoring approach for Too Large Packages smell which is one of the architecture smells by using community detection in extract-package refactoring process. This process is used for extracting the package which is identified as Too Large Packages smell into small ones and avoids additional impacts from newly appeared dependency-based architecture smells by focusing on Unstable Dependency smell. The proposed approach provides feasible solution to resolve impact from Too Large Packages smell which can be evaluated by comparing number of detected architecture smells and software metrics of before and after applying refactoring process. In addition, this thesis also develops a software tool based on the proposed approach to suggest the refactoring solution and support developers to improve software quality by resolving impacts from Too Large Packages smell during implementation and maintenance phase.
Description: วิทยานิพนธ์ (วท.ม.)--จุฬาลงกรณ์มหาวิทยาลัย, 2562
Degree Name: วิทยาศาสตรมหาบัณฑิต
Degree Level: ปริญญาโท
Degree Discipline: วิทยาศาสตร์คอมพิวเตอร์
URI: http://cuir.car.chula.ac.th/handle/123456789/65125
URI: http://doi.org/10.58837/CHULA.THE.2019.1136
metadata.dc.identifier.DOI: 10.58837/CHULA.THE.2019.1136
Type: Thesis
Appears in Collections:Eng - Theses

Files in This Item:
File Description SizeFormat 
6070934321.pdf5.09 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.