Abstract :
The software industry is increasingly confronted with the issues of understanding and maintaining a special type of object-oriented systems, namely enterprise applications (EA). In the recent years many specific rules and patterns for the design of such applications were proposed. These new specific principles of EA design define precise roles (patterns) for classes and methods, and then describe "good-design" rules in terms of such roles. Yet, these roles are rarely explicitly documented; therefore, due to their importance for an efficient understanding and assessment of EA design, they must be identified and localized in the source code based on their specificities. In this paper we define a suite of techniques for the identification and location of four such roles, all related to the data source layer of an EA. Using the knowledge about these roles we show how this can improve the accuracy of formerly defined techniques for detecting two well-known design problems (i.e., data class and feature envy), making them more applicable for the usage on enterprise systems. Based on an experimental study conducted on three EAs, we prove the feasibility of the approach, discuss its benefits and touch the issues that need to be addressed in the future
Keywords :
DP industry; object-oriented programming; software maintenance; software quality; EA design quality assessment; EA design role identification; enterprise application; object-oriented system; software industry; source code specification; Application software; Best practices; Computer industry; Displays; Quality assessment; Shipbuilding industry; Software maintenance; Software quality; Software systems; Storage automation;