Please use this identifier to cite or link to this item: https://cuir.car.chula.ac.th/handle/123456789/1653
Title: ช่วงของค่ามาตรวัดซอฟต์แวร์เชิงวัตถุสำหรับตรวจจับร่องรอยที่ไม่ดีของโปรแกรม
Other Titles: Threshold of object-oriented software metrics for detecting bad smells code
Authors: พนิตา เมนะเนตร, 2524-
Advisors: พรศิริ หมื่นไชยศรี
Other author: จุฬาลงกรณ์มหาวิทยาลัย. คณะวิศวกรรมศาสตร์
Advisor's Email: Pornsiri.Mu@chula.ac.th
Subjects: การโปรแกรมเชิงวัตถุ
ซอฟต์แวร์รีแฟคทอริง
ซอฟต์แวร์--การวัด
การบำรุงรักษาซอฟต์แวร์
Issue Date: 2547
Publisher: จุฬาลงกรณ์มหาวิทยาลัย
Abstract: วิทยานิพนธ์นี้มีวัตถุประสงค์เพื่อหาช่วงของค่ามาตรวัดที่เกิด และไม่เกิดร่องรอยที่ไม่ดีของภาษาจาวา โดยเริ่มจากทำการสร้างโมเดลของมาตรวัดในการทำนายร่องรอยที่ไม่ดีทั้ง 8 แบบ คือ Data Class, Feature Envy, Large Class, Lazy Class, Long Method, Long Parameter List, Refused Bequest และ Switch Statement โดยใช้มาตรวัด 30 มาตรวัด ด้วยวิธีการวิเคราะห์ความถดถอยเพื่อหาความสัมพันธ์ระหว่างมาตรวัดกับร่องรอยที่ไม่ดี โดยใช้ชุดข้อมูลสอน 10 โปรแกรม และตรวจสอบความถูกต้องด้วยชุดข้อมูลทดสอบจำนวน 2 โปรแกรม หลังจากนั้นทำการออกแบบและการทดลองเพื่อเก็บข้อมูลในการหาช่วงของค่ามาตรวัดที่เกิดร่องรอยที่ไม่ดี และช่วงของค่ามาตรวัดที่ไม่เกดร่องรอยที่ไม่ดีในโปรแกรมภาษาจาวา โดยใช้ชุดข้อมูลสำหรับหาช่วงของค่ามาตรวัดที่เกิดร่องรอยที่ไม่ดี และช่วงของค่ามาตรวัดที่ไม่เกิดร่องรอยที่ไม่ดี แล้วตรวจสอบความถูกต้องของช่วงของค่ามาตรวัดที่เกิดร่องรอยที่ไม่ดีและ ช่วงของค่ามาตรวัดที่ไม่เกิดร่องรอยที่ไม่ดีด้วยชุดข้อมูลทดสอบ จากนั้นเปรียบเทียบการตรวจจับร่องรอยที่ไม่ดีด้วยมาตรวัดเดียวหรือหลายมาตรวัดที่ทำเงื่อนไข OR กัน ผลที่ได้คือใช้หลายมาตรวัดที่ทำเงื่อนไข OR กันสามารถตรวจจับร่องรอยที่ไม่ดีดีกว่า จากผลการตรวจสอบวิธีการใช้ช่วงของค่ามาตรวัด พบว่าสามารถใช้วิธีการใช้ช่วงของค่ามาตรวัดสำหรับตรวจจับร่องรอยที่ไม่ดีไปใช้งาน สำหรับร่องรอยที่ไม่ดีแบบ Data Class, Large Class, Lazy Class, Long Method, Long Parameter List และ Switch Statement แต่ไม่สามารถหาความสัมพันธ์ของมาตรวัดกับค่าร่องรอยที่ไม่ดีแบบ Feature Envy และ Refused Bequest ได้เนื่องจากหาข้อมูลที่เกิดร่องรอยที่ไม่ดีทั้ง 2 แบบได้จำนวนน้อยไม่พอต่อทำการทดลอง นอกจากนี้ได้ออกแบบมาตรวัดซอฟต์แวร์ เชิงวัตถุสำหรับตรวจจับร่องรอยที่ไม่ดีแบบ Data Class และ Refused Bequest รวมทั้งได้ออกแบบและพัฒนาเครื่องมือเพื่อการคำนวณมาตรวัดและตรวจจับการเกิดร่องรอยที่ไม่ดี
Other Abstract: The objective of this thesis is to find thresholds of metrics for detecting bad smell and non bad smell java code. First, bad smells predicting models and created for 8 types of bad smells, i.e. Data Class, Feature Envy, Large Class, Lazy Class, Long Method, Long Parameter List, Refused Bequest and Switch Statement. The models are created from 30 metrics that characterize these types of bad smells by using regression analysis on 10 programs of training data and are validated by 2 test data programs. After that, thresholds for using these metrics to detect bad smell and non bad smell java code are defined and validated by the previous 10 training data programs and 2 test data sets respectively. Usage of these metrics with their thresholds is then proposed in 2 ways: either use a single metric to detect bad smell or use several metrics which are ORed together. The suggestion is the latter way can detect bad smell more effectively. Result of usage of these thresholds shows that the thresholds for Data Class, Large Class, Lazy Class, Long Method, Long Parameter List and Switch Statement can really be used to detect bad smells On the contrary, the thresholds for Feature Envy and Refused Bequest cannot be defined because of insufficient data for experiment. Furthermore, this research designs object-oriented metrics for detecting 2 types of bad smells, Data Class and Refused Bequest. Finally, an automated tool for measuring these metrics and detecting bad smells for java code is developed.
Description: วิทยานิพนธ์ (วท.ม.)--จุฬาลงกรณ์มหาวิทยาลัย, 2547
Degree Name: วิทยาศาสตรมหาบัณฑิต
Degree Level: ปริญญาโท
Degree Discipline: วิศวกรรมซอฟต์แวร์
URI: http://cuir.car.chula.ac.th/handle/123456789/1653
ISBN: 9745311693
Type: Thesis
Appears in Collections:Eng - Theses

Files in This Item:
File Description SizeFormat 
Panita.pdf1.72 MBAdobe PDFView/Open


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