ENHANCING REUSABILTY IN AGILE SOFTWARE DEVELOPMENT USING OBJECT ORIENTED PATTERNS

________________________________________________________________________ Software Engineering Discipline is continuously gaining momentum from past two decades. In last decade, tremendous growth had been observed in the software industry. New process models are introduced time to time in order to keep pace with multidimensional demands of the industry. New software development paradigms are finding its place in industry such as Agile Software Development, Reuse based Development and Component based Development. But unfortunately, different software development models fail to satisfy the needs of software industry. As aim of all the process models is same i.e. to get quality product, reduce time of development, productivity enhancement and reduction in cost. Still, no single process model is complete in itself. Software industry is moving towards Agile Software Development. Essence of Agile Software Development is rapid development and less cost. Thus, it somewhere compromises with quality and also unable to provide reusability of its developed components. Agile Software Development provides specific solutions whereas Reuse and Component based Development believe in generalized solutions. Both have same target but different approach. Three layered OO-framework Reusability-Pro Agile Software Development Model is proposed. The first layer depicts Reusability-Pro Agile Software Development Cycle and the second layer elaborates its Reusability-Pro Agile Software Processes. Third layer has Agile Repository. This model incorporates generalization as well as specialization due to proposed UML‟s extend and uses based design patterns. These object oriented features of the proposed model gives the Agile Software Development the essence of Reusability.

[1]  Hassan Gomaa,et al.  A reusable architecture for federated client/server systems , 1999, SSR '99.

[2]  Yvonne Dittrich,et al.  How agile are industrial software development practices? , 2006, J. Syst. Softw..

[3]  Barry W. Boehm,et al.  Balancing agility and discipline: evaluating and integrating agile and plan-driven methods , 2004, Proceedings. 26th International Conference on Software Engineering.

[4]  Marco Antonio de,et al.  Components, Connectors and Architectural Patterns , 2003 .

[5]  Stefan Cronholm,et al.  Using Agile Methods? - Expected Effects , 2008, ISD.

[6]  Wei Wang,et al.  DPVK - An Eclipse Plug-in to Detect Design Patterns in Eiffel Systems , 2004, Electron. Notes Theor. Comput. Sci..

[7]  R. Vasantha,et al.  A New Process Model For Reuse Based Software Development Approach , 2008 .

[8]  Liu Yong Object-Oriented Software Design Based on UML , 2004 .

[9]  H. Gomaa,et al.  Composition of software architectures from reusable architecture patterns , 1998, ISAW '98.

[10]  Yann-Gaël Guéhéneuc,et al.  Ptidej: A Flexible Reverse Engineering Tool Suite , 2007, ICSM.

[11]  Richard F. Paige,et al.  Agile development of secure web applications , 2006, ICWE '06.

[12]  Geir Kjetil Hanssen,et al.  Process fusion: An industrial case study on agile software product line engineering , 2008, J. Syst. Softw..

[13]  Ronald A. Olsson,et al.  Reverse Engineering of Design Patterns from Java Source Code , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[14]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[15]  D. Janaki Ram,et al.  JIAD: a tool to infer design patterns in refactoring , 2004, PPDP '04.

[16]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[17]  Peter Coad,et al.  Object-oriented patterns , 1992, CACM.

[18]  David Garlan,et al.  Architectural Mismatch: Why Reuse Is So Hard , 1995, IEEE Softw..

[19]  Jing Dong,et al.  DP-Miner: Design Pattern Discovery Using Matrix , 2007, 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'07).

[20]  Asta Murauskaite,et al.  Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles , 2008 .

[21]  Pekka Abrahamsson,et al.  An iterative improvement process for agile software development , 2007, Softw. Process. Improv. Pract..

[22]  Balachander Krishnamurthy,et al.  Software architecture and reuse-an inherent conflict? , 1994, Proceedings of 1994 3rd International Conference on Software Reuse.

[23]  Carmen Zannier Tool support for refactoring to design patterns , 2002, OOPSLA '02.