2.4 Legacy System Modernization

2.4 Legacy System Modernization

THE UNIVERSITY OF NEW SOUTH WALES Building a Systematic Legacy System Modernization Approach Meena Jha School of Computer Science and Engineering University of New South Wales, Sydney 2052, Australia A thesis submitted in fulfillment of the requirements for the degree of Doctor of Philosophy February, 2014 1 ABSTRACT A systematic legacy system modernizing approach represents a new approach for modernizing legacy systems. Systematic legacy system modernization has software reuse as an integral part of modernization. We have developed a modernization approach which uses software architecture reconstruction to find reusable components within the legacy system. The practice of software development and modernization continues to shift towards the reuse of components from legacy systems to handle the complexities of software development. Modernization of a legacy system requires reuse of software artefacts from legacy system to conserve the business rules and improve the system’s quality attributes. Software reuse is an integral part of our systematic legacy modernization approach. Software should be considered as an asset and reuse of these assets is essential to increase the return on the development costs. Software reuse ranges from reuse of ideas to algorithms to any documents that are created during the software development life cycle. Software reuse has many potential benefits which include increased software quality, and decreased software development cost and time. Demands for lower software production and maintenance costs, faster delivery of systems and increased quality can only be met by widespread and systematic software reuse. In spite of all these benefits software reuse adoption is not widespread in the software development communities. Software reuse cannot possibly become an engineering discipline so long as issues and concerns have not been clearly understood and dealt with. We have conducted two surveys to understand the issues and concerns of software reuse in the Conventional Software Engineering (CSE) Community and the Software Product Line (SPL) Community where reuse is an integral part of the product development. The quantitative and qualitative analysis of our surveys identified the critical factors which affect and inhibit software engineers and developers adopting software reuse. Software reuse has been talked about in generic terms in software product lines. Though software reuse is a core concept in SPL it has however failed to become a standardized practice. The survey conducted on the SPL Community investigates how software reuse is adopted in SPL so as to provide the necessary 2 degree of support for engineering software product line applications and to identify some of the issues and concerns in software reuse. The identified issues and concerns have helped us to understand the difference between software reuse in the CSE and SPL Communities. It has also given us an indication of how both communities can learn good software reuse practices from each other in order to develop a common software reuse process. Based on the outcome of our surveys we have developed a systematic software reuse process, called the Knowledge Based Software Reuse (KBSR) Process, which incorporates a Repository of reusable software assets to build a systematic legacy system modernization approach. Being able to reuse software artefacts, be it software requirement specification, design, or code, would greatly enhance software productivity and reliability. All of these software artefacts can go in the Knowledge Based Software Reuse Repository and be candidates for reuse. The contributions in our research are: • We have developed a systematic legacy system modernization approach which incorporates software reuse as a key activity through using software architecture reconstruction to find reusable components; • We conducted a survey on software reuse in the CSE Community to identify issues and concerns in software reuse in that community; • We conducted a survey on software reuse in the SPL Community which helped us to understand the difference between software reuse in the CSE Community and SPL Community. The survey gave us an indication of how both communities can learn good software reuse practices from each other; • To address the issues and concerns identified from both communities we propose a systematic software reuse process called the Knowledge Based Software Reuse (KBSR) Process which incorporates a Repository of reusable software assets. The KBSR Process targets solving the main issue and concern of software engineers of locating quality desired/reusable software artefacts with sufficient documentation. Software engineers can search the KBSR Repository to find reusable software artefacts. 3 PREFACE Some of the results presented in the thesis have already been published in various articles. These are listed below and will be referenced in the text. I. Jha Meena, Maheshwari Piyush, Phan Thi Koi Anh, Technical Report on the “Comparison of Four Architecture Reconstruction Toolkits”, UNSW TR- 0435, 2004. II. Jha Meena, Maheshwari Piyush, “Reusing Code for Modernization of Legacy Systems”, Proceedings of IEEE Conference on Software Technology and Engineering Practice (STEP) 2005, Budapest, Hungary, 24-25 September, 2005. III. Jha Meena, O’Brien Liam, Maheshwari Piyush, “Identify Issues and Concerns in Software Reuse”, International Conference on Information Processing ICIP, Bangalore, India, 8-10 August, 2008. IV. Jha Meena, O’Brien Liam, Maheshwari Piyush, “Identify Issues and Concerns in Software Reuse” International Journal of Information Processing, Volume 3, Number 2, 2009. V. Jha Meena, O’Brien Liam, “Identifying Issues and Concerns in Software Reuse in Software Product Lines” 11th International Conference on Software Reuse, ICSR 2009, Falls Church, VA, USA, 27-30 September, 2009. VI. Jha Meena, O’Brien Liam, “A Comparison of Software Reuse in Software Development Communities”, The 5th International Malaysian Conference on Software Engineering, Johor Bahur, Malaysia, 12-14 December 2011. VII. Jha Meena, O’Brien Liam, “Re-engineering Legacy Systems for Modernization: The Role of Software Reuse”, The Second International Conference on Advances in Computer Science and Electronics Engineering, New Delhi, India, 23-24 February 2013. VIII. Jha Meena, O’Brien Liam, “Comparison of Modernization Approaches: With and Without the Knowledge Based Software Reuse Process”, The second International Conference on Advances in Computer Science and Engineering (CSE 2013), Loa Angeles, CA, USA, July1-2, 2013. 4 ACKNOWLEDGEMENTS I would like to acknowledge all the people who have assisted me throughout my studies at University of New South Wales. Firstly, I am extremely grateful to my supervisor Dr. Liam O’Brien for his continuous guidance and encouragement. I also like to thank him for his invaluable insights and the time that he spent with me. I always came to him and got more than expected support when I had any research or general issues, Thanks for everything Liam. Without his support and encouragement this thesis had no end. I would like to thank Professor Ross Jeffery for his encouragement and support. I would also like to express my thanks to Dr. Piyush Maheshwari for his invaluable time and discussions in the beginning of my study. I am grateful to him for showing me correct directions to find Dr. Liam O’Brien in this world and without whom this thesis would not have been possible. I would like to express my thanks to the Conventional Software Engineering (CSE) Community and Software Product Line (SPL) Community professionals who supported me by giving their time to finish the survey. Finally, I want to express my deepest thanks to my beloved husband Sanjay and my son Manish for their love, understanding, patience and moral support during the development of this thesis. 5 I would like to dedicate this thesis to my loving parents ... 6 CONTENTS ABSTRACT ............................................................................................................ 2 PREFACE ............................................................................................................... 4 ACKNOWLEDGEMENTS ...................................................................................... 5 PART 1 ................................................................................................................. 15 CHAPTER 1: INTRODUCTION ............................................................................ 16 1.1 Introduction ...................................................................................................... 16 1.2 Problem Outline ............................................................................................... 21 1.3 Research Context and Research Questions ...................................................... 24 1.4 Research Design ............................................................................................... 28 1.5 Contributions .................................................................................................... 31 1.5.1 Contributions on Modernization Approaches ........................................... 32 1.5.2 Contributions on Empirical Work: Contributions in Issues and Concerns in Software Reuse in Software Engineering Communities ..................... 33 1.6 Thesis Structure ................................................................................................ 34 1.7 Chapter Summary ............................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    316 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us