Publication Type

Conference Proceeding Article

Publication Date

7-2011

Abstract

Layered architecture prescribes a good principle for separating concerns to make systems more maintainable. One example of such layered architectures is the separation of classes into three groups: Boundary, Control, and Entity, which are referred to as the three analysis class stereotypes in UML. Classes of different stereotypes are interacting with one another, when properly designed, the overall interaction would be maintainable, flexible, and robust. On the other hand, poor design would result in less maintainable system that is prone to errors. In many software projects, the stereotypes of classes are often missing, thus detection of design flaws becomes non-trivial. In this paper, we provide a framework that automatically labels classes as Boundary, Control, or Entity, and detects design flaws of the rules associated with each stereotype. Our evaluation with programs developed by both novice and expert developers show that our technique is able to detect many design flaws accurately.

Keywords

Automated detection, Layered architecture, Non-trivial, Software project

Discipline

Software Engineering | Systems Architecture

Research Areas

Software and Cyber-Physical Systems

Publication

SEKE 2011: 23rd International Conference on Software Engineering and Knowledge Engineering, Miami Beach, 7-9 July 2011: Proceedings

First Page

613

Last Page

618

ISBN

9781891706295

Publisher

Knowledge Systems Institute Graduate School

City or Country

Skokie, IL

Creative Commons License

Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.

Additional URL

http://www.ksi.edu/seke/Proceedings/seke11/258_Aditya_Budi.pdf

Share

COinS