Measuring class cohesion in object-oriented systems

(2001) Measuring class cohesion in object-oriented systems. Masters thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF
10437.pdf

Download (4MB) | Preview

Arabic Abstract

الضم عامل جودة مهم بالنسبة لكل من التصميم الموجه شيئياً والتصميم ا لمهم . في البرامج الموجهة شيئياً يمكن أن يكون للصنف نوعان من الضم : ضم الصنف وضم الوراثة يتطلب التصميم الموجه شيئياً أن يمثل الصنف موضوعاً حقيقياً واحداً بالضرورة . يستخدم ضم الصنف كأداة لقياس مدى ملاقاة الصنف لهذا المتطلب . هذا البحث يقترح طريقاً محدثة لقياس هيكل الوراثة باستخدام ضم الوراثة وضم الصنف . تم اقتراح خمس منظومات رسومية /بصرية متعلقة بالضم لتزويد مصمم الأنظمة شيئياً بمعالم لتحسين جودة الوراثة وتحسين قابليتها لكل من الصيانة والفهم واعادة الاستخدام كما تم اقتراح ثلاث منظومات جديدة لقياس ضم الصنف هي MCC ، CCCM و MCCM . تعتقد أن CCM تستوعب الروابط بين طرق الصنف بصورة مرضية وتقدم مقياساً جيداً لضم الصنف . على شاكلة MCCM اقترضا منظومة تأخذ في الاعتبار تأثير الطرق المسودة على ضم الصنف . تم توسيع العمل النظري بتطبيق الاستخدام التلقائي للأداء والذي يمكن المصمم من تحليل برامجه مقابل مصفوفاتنا المقترحة . أخيراً تم تحليل تطبيق (Java 1.3 AP) . أظهرت الدراسة عدة جوانب جودة جاذبة بالنسبة لـ Java AP1 .

English Abstract

Cohesion is an important quality factor of the object-oriented as well as imperative design. A class in objet-oriented software can have two types of cohesion: Class Cohesion and Inheritance Cohesion. In object-orientation it is a basic design requirement that a class should represent a single real world entity. To measure the extent to which a class meets this requirement, class cohesion is used as a tool. In this work for the first time, we have proposed ways of using inheritance and class cohesion for measuring the quality of the inheritance hierarchy. We propose five graphical/visual cohesion-related metrics that provide designers of the object-oriented systems with the guidelines to enhance the quality of inheritance hierarchy to improve its maintainability, understandability and reusability. We also propose three new metrics to measure the cohesion of a class, i.e., CCM, CCCM and MCCM. We believe that CCM caputres the connections among the methods of a class quite well and gives a good measure of class cohesion. In the form of MCCM, we have proposed a metric that also takes into account the effect of overridden methods on inheritance cohesion of a class. We have augmented our theoretical work by implementing the automated tool using which a designer can readily analyze his software against our proposed metrics. Finally as a test case study, we have analyzed the Java 1.3 API. Our analysis has revealed some very interesting quality features of the Java API.

Item Type: Thesis (Masters)
Subjects: Computer
Department: College of Computing and Mathematics > Information and Computer Science
Committee Advisor: Al-Ghamdi, Jarallah Saleh
Committee Members: Ahmed, Zulfiqar and Sarfraz, Muhammad
Depositing User: Mr. Admin Admin
Date Deposited: 22 Jun 2008 14:04
Last Modified: 01 Nov 2019 14:01
URI: http://eprints.kfupm.edu.sa/id/eprint/10437