Functionality-Based Software Packaging Approach for Higher Architecture Stability

Functionality-Based Software Packaging Approach for Higher Architecture Stability. PhD thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF
Functionality-Based_Software_Packaging_Approach_for_Higher_Architecture_Stability-Shouki_Ebad.pdf

Download (2MB) | Preview

Arabic Abstract

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

English Abstract

In systems engineering, modularity in design is an approach that subdivides a system into smaller parts which can be independently created and then used in different systems to drive multiple functionalities. Besides the benefits of modularity such as cost reduction and parallelism, effective modularization is expected to result in more maintainability and/or more reusability. Maintainability is achieved by localizing changes which would reduce the required maintenance effort. Localization of changes at the system level is manifested in what is referred to as architecture stability. The goal of this research is to improve the quality of packaging as early as at the software architecture design phase to allow for higher architectural stability. In general, the packaging process aims at the organization of classes in packages in a way that achieves certain objectives, e.g., maximizing the intra-package cohesion and/or minimizing the inter-package coupling. However, effective packaging poses a challenge due to: 1) the ineffectiveness of existing packaging approaches and corresponding metrics, and 2) the number of ways the system can be organized into packages is exponential with respect to the number of classes—i.e., NP-hard problem. Accordingly, we developed a metric that considers both the cohesion and coupling at package level simultaneously to guide the packaging process. As modularity is guided by the functional offerings of the system, a package is cohesive if it offers one and only one functionality; accordingly, packaging should be based on functionality. In order to be able to package classes as early as the architecture design phase, our metric is applied to requirements conceptual sequence diagrams as a representative of the system functionality. To overcome the exponential complexity of the search space, we used heuristic algorithms for automatic packaging. Due to the data scarcity with regard to maintenance effort of software systems over versions, we judge the quality of our approach by its ability to group classes into packages that result in higher architecture stability. The rationale is that architecture stability represents a good predictor of maintenance effort. We conducted some experiments to validate the metric and the efficacy of the algorithms. Results of the experiments show that the overall approach is promising.

Item Type: Thesis (PhD)
Subjects: Computer
Department: College of Computing and Mathematics > Information and Computer Science
Committee Advisor: Ahmed, Moataz
Committee Members: Selim, Shokri and AlShayeb, Mohammad and El-rabaa, Muhammad and Alsuwaiyel, Muhammed
Depositing User: Shouki Ebad (g200602760)
Date Deposited: 28 Jul 2012 10:39
Last Modified: 01 Nov 2019 15:36
URI: http://eprints.kfupm.edu.sa/id/eprint/138736