ACM Home Page
Please provide us with feedback. Feedback
Verifying design modularity, hierarchy, and interaction locality using data clustering techniques
Full text PdfPdf (252 KB)
Source ACM Southeast Regional Conference archive
Proceedings of the 45th annual southeast regional conference table of contents
Winston-Salem, North Carolina
SESSION: Papers table of contents
Pages: 419 - 424  
Year of Publication: 2007
ISBN:978-1-59593-629-5
Authors
Liguo Yu  Indiana University, South Bend, South Bend, IN
Srini Ramaswamy  University of Arkansas at Little Rock, Little Rock, AR
Sponsor
SIGAPP: ACM Special Interest Group on Applied Computing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 38,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1233341.1233417
What is a DOI?

ABSTRACT

Modularity, hierarchy, and interaction locality are general approaches to reducing the complexity of any large system. A widely used principle in achieving these goals in designing software systems is striving for high cohesion within a module and low coupling between modules. However, this principle has difficulties in practice. Because a hierarchical system structure often consists of several layers, it is difficult to decide at what layer an interaction should be considered as cohesion, and at what layer an interaction should be considered as coupling. In this paper, we do not differentiate cohesion and coupling, but use a general term interaction to represent the dependencies between software modules. We propose a method to verify the design modularity, hierarchy, and interaction locality of a software system. This approach is based on the component interactions gathered from certain design level artifacts, such as UML diagrams. Data clustering technique is then used to group software components according to the degree of interactions between them. To show how to use this approach, we apply it to Parna's KWIC object-oriented design example, in which sequence diagram is used to derive the degree of component interactions.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Simon, H. A., "The Architecture of Complexity", The Sciences of the Artificial, Cambridge, MA, MIT Press, 1969: 192--229.
 
2
 
3
4
 
5
6
 
7
Stevens, W. P., Myers, G. J., and Constantine, L. L., "Structured Design," IBM Systems Journal, 1974, 13(2): 115--139.
 
8
 
9
Offutt, J., Abdurazik, A., and Schach, S. R., "Coupling-Based Maintenance Metrics for Object-Oriented Software," submitted for publication, 2006.
 
10
 
11
 
12
13
 
14
Johnson, S. C., "Hierarchical Clustering Schemes", Psychometrika, 1967, 2: 241--254.
15
 
16
Garlan, D. and Shaw, M., "An Introduction to Software Architecture", Advances in Software Engineering and Knowledge Engineering, vol. 1, World Scientific Publishing Co., 1993.


Collaborative Colleagues:
Liguo Yu: colleagues
Srini Ramaswamy: colleagues