Component Based Software Architecture Refinement and Refactoring Method into Extreme Programming

Extreme programming is an agile methodology for software development that performs very well with changing requirements. XP is one of the most commonly used methods among other agile methods. However, it is implemented sequentially on all activities Moreover; classical XP suffers from an architectural design. Therefore, there is a need for a framework that integrates the strengths of component based architecture refinement reusability into the Extreme Programming Methodology. Which gives a clear vision about a current architectural design requirement without any additional features that are not yet needed? And constantly redesigning through refinement and refactoring concept. The design is simple and loosely coupled as possible, thus making future modifications easier, and achieving the XP values i.e. simplicity and feedback. This will result in reusability of component architecture and to reduce the development effort, time and provide quality software.

[1]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

[2]  Elena Troubitsyna,et al.  Patterns for Refinement Automation , 2009, FMCO.

[3]  Xiaoli Li,et al.  A component-based method for software architecture refinement , 2010, 2010 International Conference on Intelligent Control and Information Processing.

[4]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[5]  Edsger W. Dijkstra,et al.  A constructive approach to the problem of program correctness , 1968 .

[6]  El-Tigani B. Abdelsatir,et al.  Extreme programming applied in a large-scale distributed system , 2013, 2013 INTERNATIONAL CONFERENCE ON COMPUTING, ELECTRICAL AND ELECTRONIC ENGINEERING (ICCEEE).

[7]  Ralph-Johan Back,et al.  On Correct Refinement of Programs , 1981, J. Comput. Syst. Sci..

[8]  Lars Grunske,et al.  Software Architecture Optimization Methods: A Systematic Literature Review , 2013, IEEE Transactions on Software Engineering.