Dynamic Grading of Software Reusable ...

5 downloads 12648 Views 388KB Size Report
Finally an optimization algorithm is applied to choose the best fit software ... In an Internet search engine displays pages based on relevant page ranking.
Dynamic Grading of Software Reusable Components for Effective Retrieval of Components P. Niranjan Professor & Head Department of Computer Science and Engineering Kakatiya Institute of Technology and Science Warangal, Andhra Pradesh, India - 506015 [email protected] Abstract—Software reuse is the process of creating new applications using existing software components. Software reuse is a very effective strategy for software industry to develop high quality software. To use software reusable components from the reuse repository, the selection of proper retrieval technique is very essential. The selection of best component or optimal selection from retrieved components is much more difficult than simple retrieval. This paper presents classification and retrieval of software reusable components by using integrated classification and also the selection of best component by using rank of the component. The retrieval of an optimal relevant component is one of the key issues considered in the proposed work. Finally experiments demonstrate results for displaying most relevant software reusable components with calculated grade. Index Terms—Software Reuse, Reuse Repository, Grading algorithm, Integrated Classification.

I. INTRODUCTION Software engineering is a process of applying technologies for creation and maintenance of software applications. Software reuse is to update the existing software systems with available software resources like documentation, design, and coding. Reuse is an integral part of every engineering discipline. For example, mechanical engineers do not design a combustion engine from scratch for each car rolled off an assembly line. Microsoft software engineers do not recreate the interaction between an application and its icon in the windows environment for each new product. Therefore reusability is considered as primary characteristic in creation of quality software components [2]. Programmers should design and implement software components in such a way that many different programs can reuse them. Various programming languages, object oriented concepts and CASE tools support reusability feature in order to construct a new application. A software reusable component is usually found in a software reuse library. It is also known as software component repository. This allows to organize, store and managing the software reusable component. The biggest problem of software reusability in most of the organizations is to locate and retrieve the existing software components. In order to locate the software reusable component must be effectively classified for an easier retrieval. To find a relevant software component is a challenging task for any organization.

Dr.C.V.Guru Rao Professor & Head Department of Computer Science and Engineering SR Engineering College Warangal, Andhra Pradesh, India - 506371 [email protected] The success rate depends on the classification technique employed for software reusable component repository. The classification schemes that are commonly used are four. They are Free-text classification, Enumerated classification, Attribute value classification and Faceted classification. The major drawback of free-text classification is the ambiguous nature of keywords and search may result in many irrelevant components. Enumerated classification is one dimensional, not at all flexible and cannot classify the software component. Attribute classification is multi-dimensional as well as disordered. Faceted classification is easily expandable but making facets is difficult. In all of the above classification schemes neither an effective description nor an ordering of software reusable component is available. This paper focuses on development of a software tool with a capability to classify and retrieve the software reusable component as well as arrange all the relevant software reusable components with the help of a proposed grading algorithm. Finally an optimization algorithm is applied to choose the best fit software reusable component based on the grade and GA process. Section 2 reviews on related research work on the topic under investigation. The proposed software tool for classification and retrieval of software reusable components with grading to select most desirable one is presented in section 3. Section 4 describes the implementation details of software tool. The experiments carried out on the software tool are explained in Section 5. Section 6 list out the results obtained in the experiments and also analyses them. The software tool presented in this work is concluded in the section 7 followed by references. II. RELATED RESEARCH This section describes the review of related research work in the following two sub sections. The first subsection i.e, A illustrates the existing classification schemes. The techniques used for grading of all the relevant software reusable components are presented in second subsection B. A. Existing Classification Schemes A wide range of solutions to the classification and retrieval of software reusable components were already realized. Some solutions were implemented with minor differences in way of

classifying software reusable component. Other depends on the criteria proposed by the researcher. The free-text keyword approach is based on a keyword search [10]. It is simple to use and easy to implement using a search technique which accepts any keyword. The ambiguous nature of keyword search may retrieve many irrelevant components is the major drawback. In an Enumerated classification [11] the similar software reusable components are into groups. The groups are then arranged in a hierarchical order in single dimension. Enumerated classification has the advantage that it is well understood by most people and therefore easy to use. But it is not flexible to classify a software reusable component into more than one group. Attribute-value classification [10] is based on a set of attributes and their values employed for classifying a software reusable component. The attribute can accept any value while classifying the software reusable component. This method is multidimensional and flexible to choose the attributes and their values. Faceted classification [11] is done by a set of terms, or facets, and facet values. In a way facets are similar to the attributes in attribute classification. However, with facets the choice of values is limited. This eliminates the problem of ambiguity in deciding the best value for a term or attribute. Therefore classification can be precise. B. Existing Grading Techniques There exist many different grading techniques to grade the software reusable components in specific on web pages. The most important are Kleinberg’s Hyperlink Induced Topic Search (HITS) algorithm [12], Brin & Page’s Page rank algorithm and Stochastic Approach to Link Structure Analysis algorithm (SALSA) [13]. The HITS algorithm is implemented in AltaVista Search engine [3]. The HITS is a purely link structure-based computation, ignoring the textual content. The main strength of HITS is its ability to rank pages according to the query topic, which may be able to provide more relevant authority and hub pages. HITS algorithm is more compact and faster. The major drawback in this algorithm is query time evaluation and topic drift. The Page Rank algorithm is implemented in Google [6]. Page Rank is a global ranking based on the web's graph structure. In this a page gets a high rank if the sum of the ranks of its backlinks is high. SALSA combines Page Rank and HITS ranking algorithms. In this first it narrows down the pages using queries and organizes the pages into hubs and authorities. From there it ranks the pages. CLEVER ranking algorithm models the web as a graph and ranks the pages primarily by measuring links between them. Companion Algorithms [13] introduce a new concept which is exploiting not only links but also their order on a page. In weighted page ranking algorithm the links of a web page are weighted based on the number of in links and out links of their reference pages. Mukhopadhyay and Debajyothi are described classification is based on co-citations among pages. But this type of classification is not much suited for grading of pages for most of the search engines [13]. In an Internet search engine displays

pages based on relevant page ranking. In this the pages are based on relevancy and visiting count of that particular page. The next section describes the proposed work to obtain most desirable software reusable component using proposed grading algorithm. III. PROPOSED RESEARCH WORK This section presents a proposal for development of a software tool to classify and retrieve the software components as well as arrange all relevant components which allows choosing most desirable software reusable component. The first step is to classify the software components employing an integrated classification scheme. In the second step all the relevant components are graded according to a proposed grading algorithm. The block diagram of the proposed software tool is shown in Fig. 1. The unclassified software components and/or their attributes are given as input. The software components are either inserted or searched into the reuse repository. When searched for relevant software components are retrieved and grading is determined using grading algorithm to allow the selection of best software component.

Fig. 1. Block Diagram of Proposed Software tool

The most useful terms in the process are described here under. A. Component Description Efficient retrieval of component requires a proper classification of components. In our proposed system components are assigned with different attributes like component name, operating system, programming language, input, output, and time complexity. Users are able to search components based on the component attributes. The repository allows software components and information about software component to be shared across software systems. B. Grading Description Grade of the software reusable component is calculated based on two parameters. The first one is download count (d) of that particular software reusable component. The second one is based on the rating given by the user (r) for a particular

software reusable component. In our approach we are considering 0.7 is the weightage for download count and 0.3 is the weightage for the rating given by the users for any software component. C. Proposed Algorithm Algorithm Grade Input: download count and rating given by users Output: Grade of a software reusable component Begin 1. Let the software component be i 2. Let the download count of ith component as di. 3. Let n be the number of users of the software components 4. Let the user j gives the feedback of component i indicated by rij Where 1

Suggest Documents