Please use this identifier to cite or link to this item: https://cuir.car.chula.ac.th/handle/123456789/14453
Title: การตรวจจับข้อบกพร่องในขั้นตอนการออกแบบเพื่อปรับปรุงความสามารถในการเปลี่ยนแปลงซอฟต์แวร์เชิงวัตถุ
Other Titles: Defects detection at design phase for improving object-oriented software modifiability
Authors: ธันยวัต จันทร์เปีย
Advisors: พรศิริ หมื่นไชยศรี
Other author: จุฬาลงกรณ์มหาวิทยาลัย. คณะวิศวกรรมศาสตร์
Advisor's Email: Pornsiri.Mu@chula.ac.th
Subjects: ซอฟต์แวร์ -- การวัด
สถาปัตยกรรมซอฟต์แวร์
ซอฟต์แวร์ -- การพัฒนา
การโปรแกรมเชิงวัตถุ
ซอฟต์แวร์ -- ข้อบกพร่อง
Issue Date: 2549
Publisher: จุฬาลงกรณ์มหาวิทยาลัย
Abstract: วิทยานิพนธ์นี้นำเสนอวิธีการตรวจจับข้อบกพร่องของโมเดลการออกแบบ 6 ประเภทได้แก่ Data Class, Feature Envy, Message Chains, Middle Man, God Class, และ Switch Statements โดยพิจารณ์ว่ามีข้อบกพร่องประเภทใดบ้างที่ส่งผลกระทบต่อความสามารถในการเปลี่ยนแปลงซอฟต์แวร์เชิงวัตถุ ในงานวิจัยมีการออกแบบกลยุทธ์การตรวจจับข้อบกพร่องด้วยมาตรวัดเชิงวัตถุสำหรับโมเดลการออกแบที่แผนภาพคลาสและแผนภาพซีเควนซ์ นำเสนอวิธีการรีแฟคทอริงเพื่อแก้ไขข้อบกพร่องแต่ละประเภท พร้อมทั้งนำเสนอวิธีการหาช่วงของมาตรวัดที่บอกถึงข้อบกพร่องโดยประยุกต์ใช้อัลกอริทึมซีมูเลทเต็ดแอนนิลลิงเพื่อหาค่าช่วงที่เหมาะสมที่สุดโดยใช้กลุ่มตัวอย่าง 35 ตัวอย่างสำหรับข้อบกพร่องแต่ละประเภท รวมถึงได้ออกแบบและพัฒนาเครื่องมือสำหรับตรวจจับข้อบกพร่องของโมเดลการออกแบบและเครื่องมือที่ใช้ในการหาค่าช่วงที่เหมาะสม ในงานวิจัยได้ทดสอบกลยุทธ์การตรวจจับข้อบกพรองและประเมินผลกระทบของการเกิดข้อบกพร่องต่างๆ ต่ความสามารถในการเปลี่ยนแปลงซอฟต์แวร์ด้วยกลุ่มตัวอย่างสำหรับทดสอบ 5 ตัวอย่างต่อข้อบกพร่องของโมเดลการออกแบบหนึ่งประเภท โดยเปรียบเทียบค่ามาตรวัดความสามารถในการเปลี่ยนแปลงก่อนและหลังการตรวจจับข้อบกพร่องของโมเดลการออกแบบ และประยุกต์ใช้วิธีรีแฟคทอริงสำหรับแก้ไขข้อบกพร่องของโมเดลการออกแบบแต่ละประเภท ผลของการทดสอบระบุว่าการแก้ไขระบบที่มีข้อบกพร่องของโมเดลการออกแบบประเภท Data Class, Middle Man, และ God Class สามารถทำให้ความสามารถในการเปลี่ยนแปลงซอฟต์แวร์ดีขึ้น การแก้ไขระบบที่มีข้อบกพร่องประเภท Feature Envy และ Message Chains ไม่มีผลทำให้ความสามารถในการเปลี่ยนแปลงซอฟต์แวร์ดีขึ้น ส่วนการแก้ไขระบบที่มีข้อบกพร่องประเภท Switch Statements มีผลทำให้ความสามารถในการเปลี่ยนแปลงซอฟต์แวร์ลดลง
Other Abstract: This thesis proposes detection strategies for six design defects including Data Class Feature Envy, Message Chains, Middle Man, God Class, and Switch Statement to verify whether the particular design defects affect object-oriented software modifiability. The strategies use object-oriented software design metrics for determining a fraction of class and sequence diagram which is affected by particular design defects. The approach also suggests refactoring techniques for modifying the class and the sequence diagram. In addition, an approach for finding the optimized threshold values for detecting particular design defects is also provided by applying simulated annealing algorithm to 35 design models for each design defect. An automated tool for design defects detection and for calculating the optimized threshold values is also implemented. The thesis approach is evaluated by comparing modifiability metrics before and after applying the refactoring techniques to 5 design models for each design defect. The result shows that modifiability of software is enhanced after applying the refactoring to Data Class, Middle Man, and God Class design defects and not changed for Feature Envy and Middle Man design defects. For Switch Statements design defect, the modifiability metric values are dropped.
Description: วิทยานิพนธ์ (วท.ม.)--จุฬาลงกรณ์มหาวิทยาลัย, 2549
Degree Name: วิทยาศาสตรมหาบัณฑิต
Degree Level: ปริญญาโท
Degree Discipline: วิทยาศาสตร์คอมพิวเตอร์
URI: http://cuir.car.chula.ac.th/handle/123456789/14453
URI: http://doi.org/10.14457/CU.the.2006.1032
metadata.dc.identifier.DOI: 10.14457/CU.the.2006.1032
Type: Thesis
Appears in Collections:Eng - Theses

Files in This Item:
File Description SizeFormat 
tanyawat.pdf3.48 MBAdobe PDFView/Open


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