Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1

Ratings: (0)|Views: 4|Likes:
Published by Er Vinay Kumar

More info:

Published by: Er Vinay Kumar on Sep 20, 2012
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





 International Journal of Computer Applications (0975
8887)Volume 2
No.1, May 2010
Component Selection for Component Based SoftwareEngineering
Arvinder Kaur Kulvinder Singh Mann
Student, GNDEC, LDH Assistant Professor, GNDEC, LDH
Component selection is not an easy task in Component BasedSoftware Engineering .and it is very difficult to selectcomponent for CBSE. Component Based Software Engineering(CBSE) is a concerned with the assembly of pre-existingsoftware components that leads to a software system thatresponds to client-specific requirements. This paper presents anapproach for defining evaluation criteria for reusable softwarecomponents. We introduce taxonomy of factors that influenceselection, describe each of them, and present a hierarchicaldecomposition method for deriving reuse goals from factors andformulating the goals into an evaluation criteria hierarchy. Italso presents a summary of the common problems in reusableoff-the-shelf software selection, describes the method .It alsoindicates that the evaluated aspects of the method are feasible,improve the quality and efficiency of reusable softwareselection. In this paper the selection of component is done on thebasis of the cost of the component which is calculated on thebasis of the quality attributes of the component. The approachused for selecting the component is a part of OTSO method thathas been developed for reusable component selection process.
software reuse, COTS, multiple criteria decisionmaking, OTSO stands for Off-The-Shelf Option.
1. Introduction
Component-Based Software Engineering (CBSE) is concernedwith composing, selecting and designing components. As thepopularity of this approach and hence number of commerciallyavailable software components grows, selecting a set of components to satisfy a set of requirements while minimizingcost is becoming more difficult. In Component-based SoftwareEngineering (CBSE), the construction of cost-optimalcomponent systems is not a trivial task. It requires not only tooptimally select components but also to take their interplay intoaccount. In this paper, the problem of component selection isdescribed. Informally, the problem is to select a set of components from available component set which can satisfy agiven set of requirements. The dependencies between thecomponents must be taken into account. To achieve this goal,we should assign each component a set of requirements itsatisfies. Each component is assigned a cost which is the
acquisition and adaptation of that component. Manyorganizations have supported their reuse with component-basedtechnologies.The increased commercial availability of embeddable software components, standardization of basicsoftware environments (such as Microsoft Windows, UNIX),and the explosive popularity of the Internet has resulted in a newsituation for reusable software consumers: there are many moreaccessible reuse candidates. Consequently, many organizationsare spending much time in reusable component selection sincethe choice of the appropriate components has a major impact onthe project and resulting product. The component selectionprocess is not defined so each project finds its own approach toit. Here a method has been introduce which supports the search,evolution and selection of reusable software and providesspecific techniques for defining the evolution criteria, comparingthe cost and benefits of alternatives and consolidating theevolution and selection and benefits of alternatives andconsolidating the evolution results in decision making.
2. Component Selection Problem
Informally, our problem is to select a subset of components(each of them satisfying a set of functionalities) and to connectthem such that the target component system fulfills therequirements that need to be satisfied.
 2.1 Simple Component Selection Problem (SCSP)
Simple Component Selection Problem (SCSP) is the problem of choosing a number of components from a set of componentssuch that their composition satisfies a set of objectives. Thenotation used for formally defining SCSP, as laid out in with afew minor changes to improve appearance is described in thefollowing.Consider
the set of the final system requirements (targetrequirements) asSR = {r1, r2, ..., rn},and SC the set of components available for selection asSC = {c1, c2, ..., cm}.Each component ci can satisfy a subset of the requirements fromSR,SRci = {ri1, ri2 , ..., rik}.
The goal is to find a set (subset) of components Sol in such away that to every requirement rj from the set SR can be assigneda component ci from Sol where rj is in SRci .Figure1 describes our component selection problem: from a setof existing available components
we need to select a subsetthat satisfies a set of objectives
. We have denoted by
requirement or offered service. In our previous work wehave considered in the composition only the provided services(as satisfied requirement in the final system) of a component.
We haven’t took under 
consideration the required services of acomponent, only those requirements as dependencies that werein the set of SR. For example, in the above Figure1the finalsystem computed after selection consists of 
 components. The
requirement of the first and the forth
 International Journal of Computer Applications (0975
8887)Volume 2
No.1, May 2010
components is satisfied because it is included into the finalsolution, but the requirements r7 and r8 of the second and thefourth components are not satisfied. A more complex situation isgoing next to be considered: components required services aregoing to be used. As stated above, the requirements r7 and r8 isgoing to be considered in our next research work 
Figure 1.
Component Selection Problem.
 2.2 Criteria-based Component Selection Problem(CCSP)
Criteria Component Selection Problem (CCSP) is the problem of choosing a number of components from a set of componentssuch that their composition satisfies a set of objectives and usingvarious criteria. Another variation of Component SelectionProblem is that stated in. In addition to the above description acost of a component
is considered cost (
). The goal is to finda set of components Sol
in such a way that to every requirement
from the set
can be assigned a component
from Sol
is in
, while minimizing the number of componentsin the solution Sol
and/or while minimizing
Sol cost 
).Another criteria introduced in a previous paper concerns thedependencies between the involved components. To specify thecomponent dependencies we have introduced in a dependencymatrix. We are only interested in the provided functionalities(that are in the set of requirements
of the final system) of thecomponents.
3. Evolutionary approaches for thecomponent selection problem
Evolutionary algorithms are a part of evolutionary computingwhich is a rapidly growing area of artificial intelligence.Theyare well known suitable approaches for optimizationproblems.There are several ways to deal with a multiobjectiveoptimization problem. We have used both the weighted summethod and the Pareto dominance principle.The weighted summethod
Let us consider we have the objective functions
2,. .. ,
. This method takes each objective function and multiplies itby a fraction of one, the
“weighting coefficient” which is
represented by
. The modified functions are then addedtogether to obtain a single cost function, which can easily besolved using any method which can be applied for singleobjective optimization.
The Pareto dominance principle.
Consider a maximizationproblem. Let x, y be two decision vectors (solutions) from thedefinition domain. Solution x dominate y (also written as x
y)if and only if the following conditions are fulfilled:1.
) =
= 1
 , n
 , , n}
> fj
).That is, a feasible vector x is Pareto optimal if no feasible vectory can increase some criterion without causing a simultaneousdecrease in at least one other criterion.In what follows, wepresent two evolutionary approaches which use differentrepresentations for the component selectionproblem.
4. OTSO Method
The OTSO method was developed to facilitate a systematic,repeatable and requirements driven COTS selection process. Themain principles of the OTSO method are the following:a)
Explicit definitions of tasks in the selection process,including entry and exit criteriab)
Incremental, hierarchical and detailed definition of evaluation criteriac)
A model for comparing the costs and value associatedwith each alternative, making them comparable witheach otherd)
Use of appropriate decision making methods toanalyze and summarize evaluation results .The main characteristics of the OTSO method are as follows:a)
A defined, systematic process that covers the wholereusable component selection process.b)
A method for estimating the relative effort or costbenefits of different alternatives.c)
A method for comparing the “non
financial” aspects
of alternatives, including situations involving multiplecriteria.Figure2 shows the main activities in the OTSO reusablecomponent selection process using a dataflow diagram notation.Each activity in presented as a process symbol
a circle
andartifacts produced or used are presented as data storage symbolsin Figure 1. In the search
phase, the goal is to identify potentialcandidates for further study.The screening
phase selects themost promising candidates for detailed evaluation In the analysis
phase, the results of product evaluations are consolidated .and adecision about reuse is made. As the selected alternative is used,
 International Journal of Computer Applications (0975
8887)Volume 2
No.1, May 2010
Figure 2.The main phases in the OTSO process
the effectiveness of the reuse decision, eventually, can beassessed. Reuse candidates are evaluated in different ways in allphases. The OTSO method is based on incremental,evolutionary definition and use of the evaluation criteria so thatthe criteria set can be gradually refined to support each phase.
5. Factors in Reusable Software Selection
The overall relationships among influencing factors, reuse goalsand evaluation criteria are presented in Figure The first maintask in reusable software evaluation is to define the reuse goals.
an organization’s reuse infrastructure
and reuse maturity shouldalso be considered when defining reuse goals. Reuse maturity isparticularly important for the in-house production of reusablecomponents. Also, if an organization has no experience in OTSsoftware reuse, it may have a limited ability to integrate OTSsoftware and to estimate the effort required for OTS softwareintegration. Application and domain architecture introduceadditional elements that need to be evaluated. The architecture,in this context, provides a set of constraints deriving from howparticular applications are built: this includes, for instance,components and design patterns used or assumed,communication and interface standards, platform characteristics.The application domain may also have some specificcharacteristics that are not addressed by OTS softwaredeveloped for other domains (for example, real-timeapplications vs. batch processing). Application requirements arelikely to be the most important factor in evaluating reusablesoftware. Such requirements can include functionalrequirements (such as the ability to manage and displaygraphical geographical data) and non-functional requirements(such as available memory or speed of operations). Requirementspecification typically does not define how the system should beimplemented or what components could be implementedthrough OTS software. Second, the requirement specificationmay not be detailed enough for evaluating OTS softwarealternatives. Project objectives and constraints may influence thelibrary selection through the schedule or the budget of theproject. The availability of features in software reuse candidatesalso affects the evaluation criteria definition. This works in twoways. On one hand, it is important to check that the evaluationcriteria are based on realistic expectations. That is, the criteriaset should not assume characteristics that are not provided byany OTS software alternative. On the other hand, it may beuseful to know about the possibilities that OTS softwarealternatives offer but that may not have been included in therequirementReuse objectives can be divided into development process goals,maintenance process goals and product characteristics goals.Development process goals relate to the cost, effort and scheduleof the development project. The maintenance process goals dealwith issues such as the ease or cost of maintenance and who willbe responsible for maintenance.
Product characteristics goalsrefer to product functionality and product quality.
6. Evaluation Criteria
Classes of evaluation criteria
The factors and goals described in Figure above, determine thereuse goals for the system. The content and priorities of thesegoals determine which characteristics must be considered in theof the OTS software selection process. The evaluation criteriathemselves can be categorized into four main areas
Functional requirements(b)
Product quality characteristics(c)
Strategic concerns, and(d)
Domain and architecture compatibility.
Functional requirements
: These refer to identifiable,functional features or characteristics that are specific to theparticular situation. These criteria are derived from therequirement or design specification and are expressed in theform of requirements.
Product quality characteristics
are common to a broader set of reuse situations. Typically the structure and relationships of these characteristics remain the same but theiracceptable values may vary from case to case. Three examplesare:· Defect rate· Compliance to the project user interface guidelines· Clarity of documentation.
Strategic concerns
: These are the short-term and the long-termeffects of the reuse candidate, the cost-benefit issues and theorganizational issues beyond the scope of the project inquestion. These help to consolidate information for decisionmaking. Three examples are:· Acquisition costs· Effort saved
· Vendor’s future plans.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->