| Verifying design modularity, hierarchy, and interaction locality using data clustering techniques |
| Full text |
Pdf
(252 KB)
|
| Source
|
ACM Southeast Regional Conference
archive
Proceedings of the 45th annual southeast regional conference
table of contents
Winston-Salem, North Carolina
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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 7, Downloads (12 Months): 29, Citation Count: 2
|
|
|
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
|
William G. Griswold , Kevin Sullivan , Yuanyuan Song , Macneil Shonle , Nishit Tewari , Yuanfang Cai , Hridesh Rajan, Modular Software Design with Crosscutting Interfaces, IEEE Software, v.23 n.1, p.51-60, January 2006
[doi> 10.1109/MS.2006.24]
|
 |
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.
|
|