Factors Affecting Component Selection Efforts

The factors that have a great effect on Component Selection Efforts in the proposed method are explained in this section.

Reusability

The software component C can be used along with the product P, but the motive for designing C is not to use it along with P. This is called software reuse in Component Related Development. The method of using one major component in other setting is given as another definition. There are certain advantages in reusing software, which include the enhancement of software quality, maintainability, and productivity. In

TABLE 4.1

Software Effort Estimation Parameters

s.

No.

Parameters

Definition

1

Intensity

This is the ratio of the quantity of actual time spent on selecting components to the number of time units scheduled for the component.

. Actual time spent on a component

Intensity =-£---

Total number of time units scheduled

2

Concurrency

Number of multiple programmers working simultaneously on a single component.

For example, if n number of programmers are working on a component at time t then concurrency will be it.

3

Fragmentation

The degree to which a single programmer is working simultaneously on multiple components.

4

Component Project Experience

The number of components that have been completed as part of the project prior to work beginning on a particular component.

5

Programmer Project Experience

The number of components that have been previously completed by the programmers assigned to a particular component.

6

Team Size

The number of programmers assigned to a particular component.

7

Modularity (MD)

The division of software components onto other products or smaller modules to a certain level is referred to as Modularity. The service rendered by this modularity will not depend on another sendee. The modularization of the function must be done effectively for the purpose of becoming a reusable service. More modularity must be achieved in order to attain better reusability. The modularity must exist in the range of 0 to 1. In the present work, the modularity is divided into more, medium, and less categories.

8

Interface Complexity (IC)

With the aid of a distinct interface, the collaboration among software component and application will be achieved. In the software, the principal basis for maintenance, implementation, and coding can be rendered through this interaction. For certain sorts of components, interface complexity becomes tedious for making it understandable and. For the case of lower effort, interface complexity is found to be less.

9

Maintainability (MN)

Maintainability means that a software product or module can be customized while retaining its predefined functionality. As a result, errors can be corrected and lead to higher software quality and performance. For good reuse, maintenance must be high.

10

Flexibility (FX)

Flexibility and reusability are is the level of adaptability to a software product or component that can be received when external changes occur. For reusable components, less effort is required to modify the operating code or program, as fewer software components or products are required to analyze, design, code, and test. For good reuse, flexibility must be high.

(Continued)

TABLE 4.1 (CONTINUED)

Software Effort Estimation Parameters

s.

No.

Parameters

Definition

11

Adaptability (AD)

Adaptability is the ability of the software component to adapt to new and different platforms and technologies. To reuse software extensively, one component must be compatible with different platforms. For better reuse, compatibility should always be as high as possible.

12

Relative Error (RE)

The RE is used to calculate the estimation accuracy.

(Estimated Efforts - Actual Efforts) Actual Efforts

13

Magnitude of Relative Error (MRE)

I Estimated Efforts - Actual Effortsl MRE - 1 1 Actual Efforts

14

Mean Magnitude of Relative Error (MMRE)

The MMRE calculates the mean for the sum of the MRE of n projects. Specifically, it is used to evaluate the prediction performance of an estimation model.

У" MREi MMRE - zl|=l n

15

Prediction Level (PRED)

PRED(L) = - n

Where к denotes the number of projects in a set of n projects, n denotes the total number of projects and L denotes the maximum MRE for a selected range, where MRE n = 100, к = 80, where L = MRE <30%: PRED (30%) = 80/100 = 80%).

16

Cyclomatic Complexity

A software metric provides a quantitative measure of the logical complexity of a program module. It defines the number of independent paths in the original set of the program. Any path through the independent path program introduces a new set of minimized processing statements or a new condition. Simple calculations and complexities can be calculated when calculating one.

the form of boxes, the components that are reused can be utilized. The boxes are classified as follows:

Black box reuse: The execution of the component will not be shown to the reuser, only the interface will be visualized. Within the interface of the component, restrictions, requirements, user documentation, and public methods will be considered. In cases of altering the code in the black box component, information by means of linking and compiling will be sent to the component which is to be reused.

Glass box reuse: It is possible checked the components present both outside and inside of the box using this method. However, this method is not suited for touching the component inside. The component in the box can be understood by re-user in this method. This is the advantage of this method when compared to black box reuse.

White box reuse: The interface, as well as the component in the box, can viewed and altered in cases of white box reuse. By means of delegation or inheritance the execution of specified components in a box can be shared with another box in this white box.

In Component-Related Systems reusability is an intrinsic property. The process of using the specified component in other circumstances is referred to as reuse. Among the various existing properties of Component-Based Development (CBD) reusability is a fundamental topic. The component which is to be reused should be generic, so that appropriate features are enabled for the reuse to generate the instances of the component in order to suit the reuse application. Reusability is considered a factor in the proposed method. In cases of similar types of component in larger numbers, within this existing component the suitable component will be reused many times. The selection of components does not have a major impact on the effort estimation. This implies that reusability is inversely proportional to the effort estimation.

The problem arises in the selection of the best appropriate component that is well suited for reusability. Basically, some protocols were used for the selection of the reusability component, such as good documentation, simple structure, and small size of code.

 
Source
< Prev   CONTENTS   Source   Next >