Please use this identifier to cite or link to this item:
|Design and Development of a Reusable Software Components Repository
|Joshi, R. C.
|Software Reuse;Component Reuse;Sofware Engineering;Software Component
|Software reuse has great potential to improve the productivity and quality. Software reuse helps to produce quick prototypes with lower cost. We can envision the scenario of the near future where a software manager by using his mobile device can check the available software assets in the organization repository and accordingly plan the schedule and cost of the software product. However various constraints such as non-availability of rich quality reuse components repository, efficient classification and retrieval techniques add a new dimension to the technical challenges before this vision becomes reality. Thus component rich repositories and efficient classification and retrieval techniques are needed to make software reuse a routine practice. The work presented in this thesis is an effort to address these issues by proposing new and efficient classification and retrieval schemes for a reusable software repository. First part of the thesis proposes a flexible weighted approach that makes use of both formal as well as natural specifications to classify and retrieve the components from the repository. Weights are assigned to each type of specifications depending upon the software development phase in which user is working. In early phases of development, requirements are descriptive in nature, so user may assign higher weight to natural specifications. In later development phases, when requirements are in concrete form and formal view is available, more weight can be assigned to formal specifications for matching. Depending upon user requirements weights can be adjusted and appropriate component can be retrieved for given user context. We have been able to locate the component with even 100% match by assigning weight of 80% to formal and 20% to natural specifications. This has been observed if we further increase the percentage weight assigned to formal specifications then it will be able to locate only exact matches but it may miss all near matches. In second part of the thesis a genetic algorithm based component repository is proposed. In this repository components are described using keyword based description and genetic description to store and retrieve the components. Thirty-two reusability attributes of the components are identified and are used to describe components in the repository for classification and retrieval. This technique has been demonstrated by considering three component queries: simple, moderate and complex. It took 28 iterations to converge moderate query and 42 iterations to converge complex type of query. It is observed in genetic algorithm based step for complex query only 17% of the components are visited to match the appropriate component with precision of 0.178 and without missing any relevant component. Third part of the thesis introduces the concept of ant colony algorithm in component clustering and retrieval. On the basis of component interactions various terms are identified to represent a particular cluster of components. Clusters are sequenced for search in increasing order of average attribute factor. 1,50,000 component descriptions from 22 domains are considered to verify the presented technique. Proposed technique generates rules that help in components classification and retrieval. If any term participates in rule generation then pheromone is deposited and it will be visited in next iteration otherwise pheromone will get evaporated. In best case only 10% of the components are visited to locate a component with precision and recall of 1. Lastly, the contribution made in the dissertation is summarized and scope for the future work is outlined.
|Appears in Collections:
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.