Chulalongkorn University Theses and Dissertations (Chula ETD)

Using design principle violation check definitions for evaluating aspect-oriented software maintainability

Other Title (Parallel Title in Other Language of ETD)

การใช้นิยามการตรวจสอบการฝ่าฝืนหลักการออกแบบเพื่อประเมินความสามารถในการบำรุงรักษาซอฟต์แวร์เชิงแง่มุม

Year (A.D.)

2007

Document Type

Thesis

First Advisor

Pornsiri Muenchaisri

Faculty/College

Faculty of Engineering (คณะวิศวกรรมศาสตร์)

Degree Name

Doctor of Engineering

Degree Level

Doctoral Degree

Degree Discipline

Computer Engineering

DOI

10.58837/CHULA.THE.2007.1466

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 (Other language abstract of ETD)

ความสามารถในการบำรุงรักษาเป็นปัจจัยสำคัญประการหนึ่งที่นักพัฒนาซอฟต์แวร์ควรให้ความใส่ใจ เนื่องจากต้นทุนของการพัฒนาซอฟต์แวร์อย่างน้อยสองในสามนั้นมักเกิดขึ้นจากขั้นตอนการบำรุงรักษา แต่หากปราศจากการออกแบบที่ดีและการวัดเพื่อประเมินคุณภาพของซอฟต์แวร์แล้ว ต้นทุนของการบำรุงรักษานั้นอาจจะสูงขึ้นได้ การเขียนโปรแกรมเชิงแง่มุมเป็นการเขียนโปรแกรมที่มีวัตถุประสงค์เพื่อให้เกิดการออกแบบที่ดี โดยเป็นการเขียนโปรแกรมที่เป็นส่วนต่อขยายจากการเขียนโปรแกรมเชิงวัตถุ การเขียนโปรแกรมเชิงแง่มุมมีเป้าหมายที่จะแก้ปัญหาความสับสนและการกระจัดกระจายกันของรหัสคำสั่งโดยใช้แอสเป็กต์ในการแยกสิ่งที่สัมพันธ์กันมารวบรวมเอาไว้ด้วยกัน การวัดซอฟต์แวร์เชิงวัตถุได้รับการสนับสนุนจากงานวิจัยหลายงานซึ่งวัดคุณภาพภายใต้แนวคิดปัจจัย เกณฑ์ และมาตรวัด แต่ยังมีงานวิจัยเป็นจำนวนน้อยที่นำเสนอการวัดคุณภาพของซอฟต์แวร์เชิงแง่มุมโดยใช้แนวคิดปัจจัยและกลยุทธ์ วิทยานิพนธ์นี้มีเป้าหมายที่จะนำเสนอแนวทางในการออกแบบซอฟต์แวร์เชิงแง่มุมที่ดี รวบรวมหลักการออกแบบที่ดีเพื่อนิยามการตรวจสอบการฝ่าฝืนหลักการออกแบบ เพื่อสร้างมาตรวัดเพื่อวัดความสามารถในการบำรุงรักษาซอฟต์แวร์เชิงแง่มุมจากหลักการออกแบบที่ดีจำนวน 27 ข้อ และแนวทางในการตรวจสอบการฝ่าฝืนหลักการออกแบบที่ได้นิยามขึ้นนั้นภายใต้แนวคิดปัจจัยและกลยุทธ์ ซึ่งมาตรวัดความสามารถในการบำรุงรักษาซอฟต์แวร์เชิงแง่มุมได้ถูกนำไปใช้วัดระบบตัวอย่างจำนวน 50 ระบบ โดยสามารถเปิดเผยความบกพร่องของการออกแบบได้ในระบบจำนวน 49 ระบบ นอกจากนี้มาตรวัดความสามารถในการบำรุงรักษายังได้ถูกนำไปใช้ เพื่อเปรียบเทียบความสามารถในการบำรุงรักษาของระบบตัวอย่างสองกลุ่มซึ่งถูกเขียนขึ้นด้วยภาษาจาวา และภาษาแอสเป็กต์เจ ผลการวัดชี้ให้เห็นว่า ระบบ 6 ระบบจากจำนวน 23 ระบบ มีความสามารถในการบำรุงรักษาที่ดีขึ้นหลังจากนำแนวคิดเชิงแง่มุมมาประยุกต์ใช้

Share

COinS