DSpace Repository

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

Show simple item record

dc.contributor.advisor Pornsiri Muenchaisri
dc.contributor.author Mathupayas Thongmak
dc.contributor.other Chulalongkorn University. Faculty of Engineering
dc.date.accessioned 2017-03-13T07:32:17Z
dc.date.available 2017-03-13T07:32:17Z
dc.date.issued 2007
dc.identifier.uri http://cuir.car.chula.ac.th/handle/123456789/52607
dc.description Thesis (Ph.D.)--Chulalongkorn University, 2007 en_US
dc.description.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. en_US
dc.description.abstractalternative ความสามารถในการบำรุงรักษาเป็นปัจจัยสำคัญประการหนึ่งที่นักพัฒนาซอฟต์แวร์ควรให้ความใส่ใจ เนื่องจากต้นทุนของการพัฒนาซอฟต์แวร์อย่างน้อยสองในสามนั้นมักเกิดขึ้นจากขั้นตอนการบำรุงรักษา แต่หากปราศจากการออกแบบที่ดีและการวัดเพื่อประเมินคุณภาพของซอฟต์แวร์แล้ว ต้นทุนของการบำรุงรักษานั้นอาจจะสูงขึ้นได้ การเขียนโปรแกรมเชิงแง่มุมเป็นการเขียนโปรแกรมที่มีวัตถุประสงค์เพื่อให้เกิดการออกแบบที่ดี โดยเป็นการเขียนโปรแกรมที่เป็นส่วนต่อขยายจากการเขียนโปรแกรมเชิงวัตถุ การเขียนโปรแกรมเชิงแง่มุมมีเป้าหมายที่จะแก้ปัญหาความสับสนและการกระจัดกระจายกันของรหัสคำสั่งโดยใช้แอสเป็กต์ในการแยกสิ่งที่สัมพันธ์กันมารวบรวมเอาไว้ด้วยกัน การวัดซอฟต์แวร์เชิงวัตถุได้รับการสนับสนุนจากงานวิจัยหลายงานซึ่งวัดคุณภาพภายใต้แนวคิดปัจจัย เกณฑ์ และมาตรวัด แต่ยังมีงานวิจัยเป็นจำนวนน้อยที่นำเสนอการวัดคุณภาพของซอฟต์แวร์เชิงแง่มุมโดยใช้แนวคิดปัจจัยและกลยุทธ์ วิทยานิพนธ์นี้มีเป้าหมายที่จะนำเสนอแนวทางในการออกแบบซอฟต์แวร์เชิงแง่มุมที่ดี รวบรวมหลักการออกแบบที่ดีเพื่อนิยามการตรวจสอบการฝ่าฝืนหลักการออกแบบ เพื่อสร้างมาตรวัดเพื่อวัดความสามารถในการบำรุงรักษาซอฟต์แวร์เชิงแง่มุมจากหลักการออกแบบที่ดีจำนวน 27 ข้อ และแนวทางในการตรวจสอบการฝ่าฝืนหลักการออกแบบที่ได้นิยามขึ้นนั้นภายใต้แนวคิดปัจจัยและกลยุทธ์ ซึ่งมาตรวัดความสามารถในการบำรุงรักษาซอฟต์แวร์เชิงแง่มุมได้ถูกนำไปใช้วัดระบบตัวอย่างจำนวน 50 ระบบ โดยสามารถเปิดเผยความบกพร่องของการออกแบบได้ในระบบจำนวน 49 ระบบ นอกจากนี้มาตรวัดความสามารถในการบำรุงรักษายังได้ถูกนำไปใช้ เพื่อเปรียบเทียบความสามารถในการบำรุงรักษาของระบบตัวอย่างสองกลุ่มซึ่งถูกเขียนขึ้นด้วยภาษาจาวา และภาษาแอสเป็กต์เจ ผลการวัดชี้ให้เห็นว่า ระบบ 6 ระบบจากจำนวน 23 ระบบ มีความสามารถในการบำรุงรักษาที่ดีขึ้นหลังจากนำแนวคิดเชิงแง่มุมมาประยุกต์ใช้ en_US
dc.language.iso en en_US
dc.publisher Chulalongkorn University en_US
dc.relation.uri http://doi.org/10.14457/CU.the.2007.1998
dc.rights Chulalongkorn University en_US
dc.subject Software maintenance en_US
dc.subject Software architecture en_US
dc.subject การบำรุงรักษาซอฟต์แวร์ en_US
dc.subject สถาปัตยกรรมซอฟต์แวร์ en_US
dc.title Using design principle violation check definitions for evaluating aspect-oriented software maintainability en_US
dc.title.alternative การใช้นิยามการตรวจสอบการฝ่าฝืนหลักการออกแบบเพื่อประเมินความสามารถในการบำรุงรักษาซอฟต์แวร์เชิงแง่มุม en_US
dc.type Thesis en_US
dc.degree.name Doctor of Engineering en_US
dc.degree.level Doctoral Degree en_US
dc.degree.discipline Computer Engineering en_US
dc.degree.grantor Chulalongkorn University en_US
dc.email.advisor Pornsiri.Mu@Chula.ac.th
dc.identifier.DOI 10.14457/CU.the.2007.1998


Files in this item

This item appears in the following Collection(s)

Show simple item record