Durham E-Theses
Total Page:16
File Type:pdf, Size:1020Kb
Durham E-Theses An investigation into evolving support for component reuse Lavery, Janet How to cite: Lavery, Janet (1999) An investigation into evolving support for component reuse, Durham theses, Durham University. Available at Durham E-Theses Online: http://etheses.dur.ac.uk/4399/ Use policy The full-text may be used and/or reproduced, and given to third parties in any format or medium, without prior permission or charge, for personal research or study, educational, or not-for-prot purposes provided that: • a full bibliographic reference is made to the original source • a link is made to the metadata record in Durham E-Theses • the full-text is not changed in any way The full-text must not be sold in any format or medium without the formal permission of the copyright holders. Please consult the full Durham E-Theses policy for further details. Academic Support Oce, Durham University, University Oce, Old Elvet, Durham DH1 3HP e-mail: [email protected] Tel: +44 0191 334 6107 http://etheses.dur.ac.uk University of Durham Department of Computer Science M.Sc. Thesis An Investigation into Evolving Support for Component Reuse Janet Lavery 1999 The copyright of this thesis rests with the author. No quotation from it should 1)0 pulilishcd in any form, including Electronic and the Internet, without the author's prior written consent. All information derived from this thesis must he acknowledged appropriately. Abstract It is common in engineering disciplines for new product development to be based on a concept of reuse, i.e. based on a foundation of knowledge and pre-existing components familiar to the discipline's community. In Software Engineering, this concept is known as software reuse. Software reuse is considered essential if higher quality software and reduced development effort are to be achieved. A crucial part of any engineering development is access to tools that aid development. In software engineering this means having software support tools with which to construct software including tools to support effective software reuse. The evolutionary nature of software means that the foundation of knowledge and components on which new products can be developed must reflect the changes occiuTing in both the software engineering disciphne and the domain in which the software is to fimction. Therefore, effective support tools, including those used in software reuse, must evolve to reflect changes in both soflware engineering and the varying domains that use software. This thesis contains a survey of the current understanding of software reuse. Software reuse is defined as the use of knowledge and work components of software that already exist in the development of new software. The survey reflects the belief that domain analysis and software tool support are essential in successfiil software reuse. The focus of the research is an investigation into the effects of a changing domain on the evolution of support for component-based reuse and domain analysis, and on the application of software reuse support methods and tools to another engineering discipline, namely roll design. To broaden understanding of a changing domain on the evolution of support for software reuse and domain analysis, a prototype for a reuse support enviroiunent has been developed for roll designers in the steel industry. Acknowledgement I would like to thank my friends in the Department of Computer Science for their much-appreciated encouragement. I would especially like to thank my supervisors, Dr. Cornelia Boldyreff and Dr. Steven Bradley, for their guidance and support throughout the production of this thesis. I would also like to thank British Steel who funded this research through the REMAIN project and who allowed me access to their staff, especially Brian Kendall who spent hours explaining the roll design process. Many thanks to the members of the CARD and REMAIN projects for allowing me to use them as a soimding board for my ideas. Copyright The copyright of this thesis rests with the author. No quotation from it should be published without prior written consent from the author and information derived from it should be acknowledged. Declaration No part of the material offered has previously been submitted by the author for a degree in the University of Durham or in any other University. AH the work presented here is the sole work of the author and no one else. Contents CHAPTER 1 INTRODUCTION 8 1.1 OBJECTIVES OF THE CHAPTER 8 1.2 INTRODUCTION 8 1.3 RESEARCH AREA AND CRITERIA FOR SUCCESS 9 1.4 OUTLINE OF THE REST OF THE THESIS 10 1.5 SUMMARY 12 CHAPTER 2 BACKGROUND 13 2.1 OBJECTIVES OF THE CHAPTER 13 2.2 SOFTWARE REUSE 13 2.2.1 Domain Analysis 15 2.2.2 Domain Terminology J8 2.2.2.1 Ontology 18 2.2.2.2 Thesaurus 20 2.2.3 Component-based Reuse 20 2.2.3.\ Assets 21 2.2.3.2 Realising Reusable Assets 23 2.2.3.2.1 Developing Reusable Assets 23 2.2.3.2.2 COTS Commercial-Off-the-Shelf Software 24 2.2.3.2.3 Extracting Assets from Existing Applications 25 2.2.3.3 Metrics for Reuse 27 2.2.4 Generative Reuse 29 2.2.4.1 Generators 32 2.2.5 From Component-based to Generative Reuse 34 2.3 SUMMARY 36 CHAPTER 3 FURTHER BACKGROUND 37 3.1 OBJECTIVES OF THE CHAPTER 37 3.2 LIBRARY 37 3.2.1 Library Structures 38 3.2.1.1 Vertical Scaling 39 3.2.1.2 Horizontal Scaling • 39 3.2.2 Search and Retrieval 40 3.3 LIBRARY ORGANISATIONS 41 3.3.1 Indexing 42 3.3.2 Enumerated Classification 44 3.3.3 Multi Faceted Classification 45 3.3.4 Attributes-Value Classification 47 3.3.5 Exploiting the Nature of Code 47 3.4 COMPARING LIBRARY ORGANISATIONS 49 3.5 THESAURUS 51 5.5.7 Thesaurus Overview 51 3.5.1.1 Equivalence Relationships 52 3.5.1.2 Hierarchical Relationships 52 3.5.1.3 Associative Relationships 53 3.5.1.4 An Example of Software Tool Support Using a Thesaurus 53 3.5.2 Thesaurus Assisted Understanding 56 3.5.3 Thesaurus Assisted Searching 57 3.5.4 Thesaurus Construction 57 3.5.4.1 Developing a Thesaurus 58 3.5.4.2 Maintaining a Thesaurus 61 3.6 SUMMARY : ; 62 CHAPTER 4 DOMAIN ANALYSIS 64 4.1 OBJECTIVES OF THE CHAPTER 64 4.2 THE DOMAIN OVERVIEW 64 4.3 DOMAIN DETAILS 65 4.3.1 The Design Documents 65 4.3.2 The Roll Designers 6^ 4.4 THE PROBLEM DOMAIN IN A SOFTWARE ENGINEERING CONTEXT 69 4.5 THE SUMMARY 71 CHAPTER 5 REQUIREMENTS FOR TOOL SUPPORT 72 5.1 OBJECTIVES OF THE CHAPTER 72 5.2 OVERVIEW OF THE REQUIREMENTS 72 5.3 INITIAL REQUIREMENTS ; 73 5.4 INITIAL PROTOTYPE 75 5.4.1 ReST Scenario One 77 5.4.2 ReSTScenario Two 79 5.4.3 Results of the Demonstration of the Initial Prototype of ReST 79 5.5 THE FINAL REQUIREMENTS FOR THE PROTOTYPE REST 80 5.5.1 Requirements Specification for ReST. 80 5.5.1.1 Functionality of ReST 80 5.5.1.2 User Characteristics 81 5.5.1.3 General Constraints and Assumptions 81 5.6 SUMMARY 82 CHAPTER 6 DESIGN OF REST 83 6.1 OBJECTIVES OF THE CHAPTER 83 6.2 REST PROTOTYPE DESIGN 83 6.2.1 Dataflow Details 83 6.2.1.1 ReST in Context of the Domain 84 6.2.1.2 The Processing within ReST 86 6.2.1.2.1 Indexing the Asset 88 6.2.1.2.2 Indexing the Asset 89 6.2.1.2.3 Assessing the Quality of Index Terms 90 6.2.1.2.4 Maintain Stoplist 92 6.2.1.2.5 Maintain Thesaurus 93 6.2.1.2.6 Search for Reusable Assets 95 5.2.2 Entity Relationships 96 6.2.2.1 Reuser's Relationships 96 6.2.2.2 Librarian's Relationships 98 6.2.2.3 Maintainer's Relationships 99 6.2.2.4 All Entity Relationships for ReST 100 6.3 VALIDATION OF DESIGN AGAINST REQUIREMENTS 100 6.4 SUMMARY 101 CHAPTER 7 IMPLEMENTATION OF REST 102 7.1 OBJECTIVES OF THE CHAPTER 102 7.2 IMPLEMENTATION OF THE FINAL PROTOTYPE OF REST 102 7.2.1 Indexing an Asset ^ 04 7.2.2 Assessing the Quality of the Index Terms 106 7.2.3 Maintaining the Stoplist 108 7.2.4 Maintaining the Thesaurus 109 7.2.5 Retrieving Reusable Assets HI 7.3 VALIDATION OF IMPLEMENTATION AGAINST REQUIREMENTS ill 7.4 SUMMARY '. 112 CHAPTER 8 TESTING AND EVALUATION OF REST 113 8.1 OBJECTIVES OF THE CHAPTER 113 8.2 PROTOTYPE STATUS 113 8.2.1 Stoplist 8.2.2 Thesaurus : ^'f 8.2.3 Sample Data Files ^ 14 8.2.4 Search Functionality ^^-5 8.3 OVERVIEW OF THE TESTING PROCESS 115 8.4 TEST RESULTS 117 8.4.1 Index Document Excerpt ^7 8.4.2 Initial Quality Assessment of Index Terms 119 8.4.3 Reclassify the Index Terms , J 20 8.4.4 Submit the Quality Assessment 124 8.4.5 Reject Stoplist Candidate 124 8.4.6Accept Thesaurus Candidate 125 8.4.7 Review Thesaurus 126 8.4.8 Search Surrogates for Specific Terms 127 8.5 SUMMARY 128 CHAPTER 9 CONCLUSIONS 130 9.1 OBJECTIVES OF THE CHAPTER 130 9.2 SYNOPSIS OF WORK 130 9.3 CRITERIA FOR SUCCESS 132 9.3.1 Criterion One 133 9.3.2 Criterion Two 133 9.3.3 Criterion Three 134 9.4 EVALUATION 135 9.5 FURTHER WORK 136 9.5.1 Further Work on ReST.