ET++—an object oriented application framework in C++
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Understanding someone else's code: analysis of experiences
Journal of Systems and Software
Software metrics (2nd ed.): a rigorous and practical approach
Software metrics (2nd ed.): a rigorous and practical approach
An investigation into coupling measures for C++
ICSE '97 Proceedings of the 19th international conference on Software engineering
Rule-based approach to computing module cohesion
ICSE '93 Proceedings of the 15th international conference on Software Engineering
A Unified Framework for Coupling Measurement in Object-Oriented Systems
IEEE Transactions on Software Engineering
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Exploring the relationship between design measures and software quality in object-oriented systems
Journal of Systems and Software
A Unified Framework for Cohesion Measurement in Object-OrientedSystems
Empirical Software Engineering
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Some Misconceptions About Lines of Code
METRICS '97 Proceedings of the 4th International Symposium on Software Metrics
Measuring Coupling and Cohesion: An Information-Theory Approach
METRICS '99 Proceedings of the 6th International Symposium on Software Metrics
Comprehension of Object-Oriented Software Cohesion: The Empirical Quagmire
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
The Role of Constructors in the Context of Refactoring Object-Oriented Systems
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Issues in Using Students in Empirical Studies in Software Engineering Education
METRICS '03 Proceedings of the 9th International Symposium on Software Metrics
Refactoring to Patterns
Evidence-Based Software Engineering
Proceedings of the 26th International Conference on Software Engineering
Object-oriented cohesion as a surrogate of software comprehension: an empirical study
SCAM '05 Proceedings of the Fifth IEEE International Workshop on Source Code Analysis and Manipulation
The interpretation and utility of three cohesion metrics for object-oriented design
ACM Transactions on Software Engineering and Methodology (TOSEM)
Measuring static quality of student code
Proceedings of the 16th annual joint conference on Innovation and technology in computer science education
An empirical study on the developers' perception of software coupling
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
The concept of software cohesion in both the procedural and object-oriented paradigm is well known and documented. What is not so well known or documented is the perception of what empirically constitutes a cohesive 'unit' by software engineers. In this paper, we describe an empirical investigation using object-oriented (OO) classes as a basis. Twenty-four subjects (drawn from IT experienced and novice groups) were asked to rate ten classes sampled from two industrial systems in terms of their overall cohesiveness; a class environment was used to carry out the study. Three hypotheses were investigated as part of the study, relating to class size, the role of comment lines and the differences between the two groups in terms of how they rated cohesion. Several key results were observed. Firstly, class size (when expressed in terms of number of methods) only influenced the perception of cohesion by novice subjects. Secondly, well-commented classes were rated more highly amongst IT experienced than novice subjects. Thirdly, results suggest strongly that cohesion comprises a combination of various class factors including low coupling, small numbers of attributes and well-commented methods, rather than any single, individual class feature per se. Finally, if the research supports the view that cohesion is a subjective concept reflecting a cognitive combination of class features then cohesion is also a surrogate for class comprehension.