Affiliation:
1. Afeka Tel Aviv Academic College of Engineering, Tel Aviv, Israel
2. The Academic College Tel Aviv-Yaffo, Tel Aviv, Israel
Abstract
Abstract
Decomposing a system into subsystems is essential to the design of large software systems. Traditionally, it is performed intuitively without rigorously analyzing the system model. This makes it difficult to check the decomposition correctness, and risks creating subsystems that are either too tightly coupled or not cohesive enough. An aggravating factor is that traditionally classes are the atomic design units. In many cases, however, the same classes play a role in more than one subsystem, and partitioning them unbroken among the subsystems may increase coupling and reduce cohesion. We present an analytical approach that enables reasoning about early exploration of decomposition alternatives. In addition, we describe a visual notation for diagramming the composition of subsystems, and an automatic technique for suggesting good decompositions. A key to our approach is that individual relations, not classes, are the atomic design units. We illustrate the approach with examples and demonstrate its effectiveness on a commercial system. This paper is an extended version of previous work.
Funder
German-Israeli Foundation for Scientific Research and Development
Publisher
Association for Computing Machinery (ACM)
Subject
Theoretical Computer Science,Software
Reference35 articles.
1. Modeling in Event-B
2. Measuring the Discriminative Power of Object-Oriented Class Cohesion Metrics
3. Abrial JR Hallerstede S (2009) Event model decomposition. Technical Report 626 ETH Zurich
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献