KFUPM ePrints

Classification of Refactoring Methods Based on Software Quality Attributes

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

[img]PDF
2425Kb

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)
Date:June 2008
Date Type:Completion
Subjects:Computer
Divisions:College Of Computer Sciences and Engineering > Information and Computer Science Dept
Creators:Elish, Karim
Email:kelish@kfupm.edu.sa
Committee Advisor:Alshayeb, Mohammad
Committee Members:Elish, Mahmoud and Al-Mulhem, Muhammed
ID Code:136045
Deposited By:KFUPM ePrints Admin
Deposited On:17 May 2009 08:44
Last Modified:30 Apr 2011 16:59

Repository Staff Only: item control page