Classification of Refactoring Methods Based on Software Quality Attributes

(2008) Classification of Refactoring Methods Based on Software Quality Attributes. Masters thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF
Karim_Elish_MS_June_2008.pdf

Download (2MB) | Preview

Arabic Abstract

واحدة من اكثر التقنيات المستخدمة لتحسين جودة البرامج تسمى إعادة الهيكلية. إعادة الهيكلية هي عملية تحسين تصميم البرامج عن طريق تغيير هيكلها الداخلي بدون التأثير على السلوك الخارجي. عند تطبيق أساليب إعادة الهيكلية ، بعض صفات الجودة يمكن أن تتحسن والبعض الآخر يمكن أن يضعف. وهذا يعني أن تحسين صفة واحدة قد تؤثر سلبا على نوعية اخرى من الصفات. ومع ذلك ، لا توجد مبادئ توجيهية لمساعدة مصمم البرامج في اختيار بعض أساليب إعادة الهيكلية لتطبيقها من أجل الإستفادة المثلى فيما يتعلق ببعض أهداف التصميم. في هذا البحث، نقترح تصنيف لأساليب إعادة الهيكلية بما فيها إعادة الهيكلية لأنماط بناء على تأثيرهم على صفات جودة البرامج. بالإضافة الى ذلك، لقد تحققنا من صحة هذا التصنيف بإستخدام نظم برامج حقيقية. هذه الدراسة بدورها، تساعد مصمم البرامج، بناء على غاياته وأهدافه، في اختيار أساليب إعادة الهيكلية المناسبة التي من شأنها أن تحسن من جودة التصميم. بالإضافة الى ذلك فإن الدراسة تمكن مصصم البرامج من التنبؤ بجودة البرامج الناجمة عن استخدام أساليب5إعادة5الهيكلية.

English Abstract

One of the most commonly used techniques for improving software quality is called refactoring. Refactoring is the process of improving the design of existing code by changing its internal structure without affecting its external behavior. When applying refactoring methods, some quality attributes can be improved and some others can be impaired. This means that improving one quality attribute may affect negatively other quality attributes. However, there are no guidelines to help the software designer decide which refactoring methods to apply in order to optimize a software system with regard to certain design goals. In this thesis, we propose a classification of refactoring methods including refactoring to patterns based on their measurable effect on software quality attributes. Additionally, we empirically validate this classification by using real software systems. This study, in turn, helps the software designer, based on his design goals and objectives, to choose the appropriate refactorings that will improve the quality of his design and enables him to predict the quality drift caused by using the refactorings.

Item Type: Thesis (Masters)
Subjects: Computer
Department: College of Computing and Mathematics > Information and Computer Science
Committee Advisor: Alshayeb, Mohammad
Committee Members: Elish, Mahmoud and Al-Mulhem, Muhammed
Depositing User: Mr. Admin Admin
Date Deposited: 17 May 2009 05:44
Last Modified: 01 Nov 2019 14:10
URI: http://eprints.kfupm.edu.sa/id/eprint/136045