Please use this identifier to cite or link to this item: https://cuir.car.chula.ac.th/handle/123456789/52607
Title: Using design principle violation check definitions for evaluating aspect-oriented software maintainability
Other Titles: การใช้นิยามการตรวจสอบการฝ่าฝืนหลักการออกแบบเพื่อประเมินความสามารถในการบำรุงรักษาซอฟต์แวร์เชิงแง่มุม
Authors: Mathupayas Thongmak
Advisors: Pornsiri Muenchaisri
Other author: Chulalongkorn University. Faculty of Engineering
Advisor's Email: Pornsiri.Mu@Chula.ac.th
Subjects: Software maintenance
Software architecture
การบำรุงรักษาซอฟต์แวร์
สถาปัตยกรรมซอฟต์แวร์
Issue Date: 2007
Publisher: Chulalongkorn University
Abstract: Maintainability is an important factor that developers should concern because two-thirds of the software cost involves maintenance. Without the good design from prior software development phase and without the good measurement for assessing the software quality, the maintenance cost will likely to be high. Aspect-oriented programming is a programming paradigm that firstly emerges out as an augmentation of object-oriented programming and aims to promote the good design. It attempts to solve code tangling and code scattering problems by introducing an aspect to modularize and to encapsulate the crosscutting concern. Various studies are provided to support the object-oriented software measurement using the Factor-Criteria-Metric approach. However, few research works are done to support measuring aspect-oriented software using the Factor-Strategy approach. This thesis gathers a collection of design principles, extracts and proposes some aspect-oriented design guidelines, and defines violation check definitions for detecting design flaws to construct a metric suit for measuring aspect-oriented software maintainability. Twenty-seven design principles are selected to form the maintainability metrics following the Factor-Strategy approach. The metrics and the principle violation check definitions are applied to evaluate fifty software samples. They expose flaws in forty nine systems. In addition, the metrics are used to compare two sets of systems written in Java and AspectJ. The results point that the maintainability of six systems from twenty three systems is improved after applying aspect-oriented concept.
Other Abstract: ความสามารถในการบำรุงรักษาเป็นปัจจัยสำคัญประการหนึ่งที่นักพัฒนาซอฟต์แวร์ควรให้ความใส่ใจ เนื่องจากต้นทุนของการพัฒนาซอฟต์แวร์อย่างน้อยสองในสามนั้นมักเกิดขึ้นจากขั้นตอนการบำรุงรักษา แต่หากปราศจากการออกแบบที่ดีและการวัดเพื่อประเมินคุณภาพของซอฟต์แวร์แล้ว ต้นทุนของการบำรุงรักษานั้นอาจจะสูงขึ้นได้ การเขียนโปรแกรมเชิงแง่มุมเป็นการเขียนโปรแกรมที่มีวัตถุประสงค์เพื่อให้เกิดการออกแบบที่ดี โดยเป็นการเขียนโปรแกรมที่เป็นส่วนต่อขยายจากการเขียนโปรแกรมเชิงวัตถุ การเขียนโปรแกรมเชิงแง่มุมมีเป้าหมายที่จะแก้ปัญหาความสับสนและการกระจัดกระจายกันของรหัสคำสั่งโดยใช้แอสเป็กต์ในการแยกสิ่งที่สัมพันธ์กันมารวบรวมเอาไว้ด้วยกัน การวัดซอฟต์แวร์เชิงวัตถุได้รับการสนับสนุนจากงานวิจัยหลายงานซึ่งวัดคุณภาพภายใต้แนวคิดปัจจัย เกณฑ์ และมาตรวัด แต่ยังมีงานวิจัยเป็นจำนวนน้อยที่นำเสนอการวัดคุณภาพของซอฟต์แวร์เชิงแง่มุมโดยใช้แนวคิดปัจจัยและกลยุทธ์ วิทยานิพนธ์นี้มีเป้าหมายที่จะนำเสนอแนวทางในการออกแบบซอฟต์แวร์เชิงแง่มุมที่ดี รวบรวมหลักการออกแบบที่ดีเพื่อนิยามการตรวจสอบการฝ่าฝืนหลักการออกแบบ เพื่อสร้างมาตรวัดเพื่อวัดความสามารถในการบำรุงรักษาซอฟต์แวร์เชิงแง่มุมจากหลักการออกแบบที่ดีจำนวน 27 ข้อ และแนวทางในการตรวจสอบการฝ่าฝืนหลักการออกแบบที่ได้นิยามขึ้นนั้นภายใต้แนวคิดปัจจัยและกลยุทธ์ ซึ่งมาตรวัดความสามารถในการบำรุงรักษาซอฟต์แวร์เชิงแง่มุมได้ถูกนำไปใช้วัดระบบตัวอย่างจำนวน 50 ระบบ โดยสามารถเปิดเผยความบกพร่องของการออกแบบได้ในระบบจำนวน 49 ระบบ นอกจากนี้มาตรวัดความสามารถในการบำรุงรักษายังได้ถูกนำไปใช้ เพื่อเปรียบเทียบความสามารถในการบำรุงรักษาของระบบตัวอย่างสองกลุ่มซึ่งถูกเขียนขึ้นด้วยภาษาจาวา และภาษาแอสเป็กต์เจ ผลการวัดชี้ให้เห็นว่า ระบบ 6 ระบบจากจำนวน 23 ระบบ มีความสามารถในการบำรุงรักษาที่ดีขึ้นหลังจากนำแนวคิดเชิงแง่มุมมาประยุกต์ใช้
Description: Thesis (Ph.D.)--Chulalongkorn University, 2007
Degree Name: Doctor of Engineering
Degree Level: Doctoral Degree
Degree Discipline: Computer Engineering
URI: http://cuir.car.chula.ac.th/handle/123456789/52607
URI: http://doi.org/10.14457/CU.the.2007.1998
metadata.dc.identifier.DOI: 10.14457/CU.the.2007.1998
Type: Thesis
Appears in Collections:Eng - Theses

Files in This Item:
File Description SizeFormat 
mathupayas_th_front.pdf1.33 MBAdobe PDFView/Open
mathupayas_th_ch1.pdf801.01 kBAdobe PDFView/Open
mathupayas_th_ch2.pdf872.99 kBAdobe PDFView/Open
mathupayas_th_ch3.pdf2.24 MBAdobe PDFView/Open
mathupayas_th_ch4.pdf2.82 MBAdobe PDFView/Open
mathupayas_th_ch5.pdf5.81 MBAdobe PDFView/Open
mathupayas_th_ch6.pdf982.48 kBAdobe PDFView/Open
mathupayas_th_ch7.pdf2.08 MBAdobe PDFView/Open
mathupayas_th_ch8.pdf494.41 kBAdobe PDFView/Open
mathupayas_th_ch9.pdf331.93 kBAdobe PDFView/Open
mathupayas_th_back.pdf1.61 MBAdobe PDFView/Open


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