Modelling the probabilistic behaviour of function point analysis

Modelling the probabilistic behaviour of function point analysis

ELSEVIER Information and Software Technology 40 (1998) 59-68 Modelling the probabilistic INfoRMATION AND SOFTWARE lECHNO#lGY behaviour of functio...

870KB Sizes 0 Downloads 20 Views

ELSEVIER

Information

and Software Technology 40 (1998) 59-68

Modelling the probabilistic

INfoRMATION AND SOFTWARE lECHNO#lGY

behaviour of function point analysis

Chuk Yau*, Ho-Leung Tsoi Software Quality Institute, Grzjjith University, School of Computing and Information Queensland 41 II, Australia

Technology, Faculty of Science & Technology,

Received 15 March 1996; received in revised form 29 January 1998; accepted 30 January 1998

Abstract Function point analysis is one of the most popular methods for estimating software size and, sometimes, development effort. However, accuracy for the result of estimation by using this method has not been ascertained significantly. Depending on human professional subjective judgement is one major reason that causes this problem. Subjective judgement may lead to inconsistency and inaccuracy in the estimation process. Fuzzified function point analysis model (FFPA) is proposed (C. Yau and R.H.L. Tsoi, Assessing the fuzziness of general system

characteristics for estimating software size, ANZIIS Conference, Brisbane, Australia, Nov. 1994; C. Yau and R.H.L. Tsoi, A fuzzified approach to overcome the imprecisions of software sizing, IEEE SICICI ‘9.5,Singapore, July 1995.) to help software size estimators express their judgement in a more realistic manner. Surely, arangements given by FFPA will provide more information and can reflect the real life situation, but it does not show the confidence interval. Therefore, it is no way to assess the confidence level of the estimate. This paper will discuss the way to use fuzzy B-spline membership function (BMF) to derive the assessment values for 14 system characteristics of FFPA model. At the end of this paper, an empirical case study will show the merits of using confidence level in the estimate. These results imply that there may be potential for improving the way of using the estimation’s result in different application environments. 0 1998 Elsevier Science B.V. Keywords:

Function point analysis; Fuzzy concept; Fuzzy B-spline function; Software sizing; Jacobian joint distribution

1. Introduction

One of the major problems faced by software project managers is the prediction of the size and development effort of software systems [l-3]. In order to determine an adequate resource level and a realistic completion time, it is essential to obtain an accurate estimate of size and complexity of a software project in the early stages of the development life cycle. There have been a number of sizing metrics proposed in the past few years [4-61. Most of them are based on mathematical models that estimate software size, effort or resource distributions from various independent variables such as number of lines of code, input files and reports. Function point analysis (FPA) was initially introduced by Albrecht of IBM in the late 1970s [7]. Subsequently, it is further refined to quantify the information processing function of any commercial software application [6]. Since it is a simple method which can be used both by technical or non-technical users, it has become a widely cited method for estimating software size for commercial transaction-oriented systems. * Corresponding comau 0950-5849/98/$19.00

author. Fax: 0061 73875 5051; e-mail: cyau@crossland.

0 1998 Elsevier

PII SO950-5849(98)00032-9

Science

B.V. All rights reserved

FPA is not free of criticism. Due to the existence of subjective elements involved in the assessment of the general system characteristics. The single estimate given by FPA is not accurate [S-13]. They also indicated that FPA has low interrater reliability. This means that different estimators may obtain different results when using FPA for the same project. In other words, there are subjectivity elements involved in the assessment of the general system characteristics. The subjectivity problem is mainly due to the difficulty in determining values to the complexity factors. Albrecht also agreed that the scores of complexity factors applied to the raw function points count were determined by debate and trail [6]. To tackle this subjectivity problem, some researchers [8,14] have suggested simply throwing away the process complexity factors. Jeffery claims that the process complexity factors had no effect on the accuracy of the derived effort equation [14]. However, this finding may not be substantiated, as all the project data of Jeffery’s investigation were collected from a single organization. There was no evidence that their investigated projects were significantly different in nature. For large organisations, which develop software for different purposes, complexity

C. Yau, H.-L. Tsoi/lnformation and Soj?ware Technology 40 (1998) 59-68

60

Almost

Certain

Fig. 1. Fuzzified system characteristic.

factors can be used to establish a standard ground for comparison. This paper introduces the fuzzified FPA model which aims at modelling the probabilitistic behaviour of FPA by evaluating the subjectivity of the 14 complexity factors. The second section of this paper briefly describes the theory of the FFPA model. In the third section, a general methodology for constructing fuzzy membership function based on B-spline curve of FFPA model is proposed. Using Jacobian joint distribution method, 14 different fuzzy membership functions will be aggregated to form a single membership function. It can be used to assess the confidence level of the estimate. An empirical case study has been included to show the effectiveness of using FFPA.

2. Fuzzified

function

point model (FFPA)

The FFPA model aims at overcoming the weakness of the subjective judgment in using FPA. Fuzzy concept has been applied to calibrate the human factor to ensure that FPA model can be used in a more realistic way. The procedures of FFPA model are summarized below: 2.1. Step 1: calculate unadjustedfunction as FPA model [15] UFP=

t

point count (same

where Si is the weight of the simple the weight of the average mode weight of the complexity mode of are counts for simple, average and sure i, respectively.

mode of measure i, Ai is of measure i, C, is the measure i, Usi, UAi, Uci complex modes of mea-

2.2. Step 2: calculate scores for 14 system characteristics This step assesses the score of each system characteristic in order to produce the final function point count. In the FFPA model, five different linguistic fuzzy restriction variables, namely Almost Certain, Very Likely, Probably, Unlikely and Extremely Unlikely, are used. The estimator can use either one or two fuzzy statements to express their judgment for the score of each complexity factor. In other words, these fuzzy variables allow estimators to express their judgement in more natural terms. Large organizations, which have a sufficient number of development projects estimators, can establish their own assessment standards based on their own selected linguistic variables. This paper adopts a simple fuzzified function and matrix which are shown in Fig. 1 and Table 1, respectively. The following examples show how to use the fuzzy concept in assessing the general system characteristics. 2.2.1. Example I If the software size estimator’s judgment is “the score of system complexity for transaction rate is very likely 2”,

(SiUsi + AiUAi + CilJci)

i=l

Table 1 Score matrix for single statement Score 0

Score 1

Score 2

Score 3

Score 4

Score 5

Almost Certain Very Likely Probably Unlikely

0 from 0 to 0.25 from 0 to 0.5 from 0.75 to 5 from 1 to 5

2 from 1.75 to 2.25 from 1.5 to 2.5 from 0 to 1.25 from 2.75 to 5 from 0 to 1 from 3 to 5

3 from 2.75 to 3.25 from 2.5 to 3.5 from 0 to 2.25 from 3.75 to 5 from 0 to 2 from 4 to 5

4 from from from 4.75 from

5 from 4.75 to 5 from 4.5 to 5 from 0 to 4.25

Extremely Unlinkely

1 from 0.75 to 1.25 from 0.5 to 1.5 from 0 to 0.25 from 1.75 to 5 0 from 2 to 5

Details of the calculation

can be obtained from Refs.

[ 16,171. These papers are available upon request.

3.75 to 4.25 3.5 to 4.5 0 to 3.25 from to 5 0 to 3 5

from 0 to 4

C. Yau, H.-L. Tsoi/Information

then the range of scores for this characteristic 2.25.

and Sofhvare

is from 1.7 to

2.2.2. Example 2 If the software size estimator’s judgment is “the score of system complexity for transaction rate is probably 2” then the range of scores for this characteristic is from 1.5 to 2.5. 2.3. Step 3: adjusting function point are the sum of all minimum and DImin and DI,,, maximum scores of the 14 characteristics, respectively. The minimum degree of influence (DZ,i”) and the maximum degree of influence (DZ,,,) can then be used to find the minimum and maximum values of the technical complexity factor. The minimum technical complexity factor (TCF,i”) and the maximum technical complexity factor (TCF,,) for the whole system can be obtained by the following formula.

Technology

40 (1998)

59-68

61

software size estimators. More data sets will make the distribution function more close to the realistic picture. Each estimate will provide a score (from 0 to 5) for each system characteristic based on the linguistic values, ‘Almost Certain’, ‘Very Likely’, ‘Probably’, ‘Unlikely’, and ‘Extremely Unlikely’.

3.2. Step 2: determining functions

the range of the membership

of a Suppose Y,(x), Y2(x), . . . . Y,(x) are n judgments fuzzified membership function. They can be combined as the union T(x) = Y](x) U Y*(x) U . . U Y,(x) which becomes the overall range of the membership function. Two boundary points can be obtained in the B-spline curve as follows: Y,(X) ,,,=max[Yl(x),Y2(x),...Y,(x)l

y~(Wmin=min[Y~W, YzW,. ..Y.(.41

TC~~min) = 0.65 + [O.Ol X DZcmin)] TCF,,,,,

= 0.65 + [O.Ol X DZcmaxI]

Using the above two different technical complexity factors, the range of the function point count can be obtained as follows: FP~,i,) = UnadjustedFP

X TCFcmin)

FP(,,x) = UnadjustedFP

X TCF(,,,)

3. Determining

the membership

function

Fuzzy B-spline membership function (BMF) has been recently proposed to construct fuzzy membership functions [ 181. By using the least-squared-error approximation method, selected empirical data can be changed as the control points of B-spline curves to construct a fuzzy membership function. A new fuzzy membership function can be created and all properties of B-spline curves will be adopted. FFPA model employs the B-spline curve (BSC) to construct the fuzzy membership function of each system characteristic. To construct a fuzzy membership function, at least two estimates are needed to determine the control points of BSC. By using this approach, different membership functions can be derived to represent the certainty factor of the complexity scores. The complete computational algorithm is listed below. 3.1. Step 1: setting control points In order to get more data sets for each membership function, at least two estimates are required from the

3.3. Step 3: determining

the membership function

Use the B-spline membership function to illustrate the distribution of the range of each characteristic. Many different approaches for formulating B-spline functions have been developed [ 18,191. Suppose there are n control points defined as (PO, PI, Pz, . . . . P,_,). For each control point Pi, the ith B-spline blending function of order k is denoted by Ni,k(~) and can be defined as follows: B(x)=

iPiN;,,

1 sksn

i=O

where the B-spline blending function is Ni,k(X) and can be defined as polynomials of degree k - 1. A recursive approach over various sub-intervals of the range for parameter x is used to define the polynomial form of the blending function. The range of the value and the shape of the BSC depend on the number of control points used in the curve fitting process [ 181. The B-spline blending function is defined as below:

1,

if Ti 5 X 5 Ti+k,

0,

Otherwise,

4, k(x) =

I 0,

(1)

Otherwise,

for i = 0 , 17 . . . . n, the above is a recursive definition. The knot values To to T,,+k for uniform non-periodic B-spline

C. Yau, H.-L. TsoSnformation and Sofhvare Technology 40 (1998) 59-68

62

function

can be chosen sequence

Knotvector:

T=(To,T,

the result should be zero. We have

of real numbers:

,..., Tn+k},

Qi = f, d(XjY~,k(Xj)

(4)

j=O

where the knots must be non-decreasing, such as Ti -=cTi+l. In order to construct the BMF to be as smooth as possible, the order of the B-spline curve is, at least set to two or above. The type of knot vector, is set to open uniform and the elements of each knot vector are defined as follows. For B-spline curve is 2, the knot vector is defined as X0 Ti=

Xi_, (

Xl?l

if i < k,

Q=NP where

Q=[Qo,Q,,...,Q,l, P=[Po,P

,,..., P,l

and

ifksisn,

(2a) (5)

if i > 12,

where s = [(m + 1)/2] - [(n - k + 1)/2]. For B-spline curve is 3 or above, the knot is defined as

Qi = i

. . ..n

(6)

[NIO NOI... Non]

ifi
( X0

PjNab fOrj=o,

j=O

(2b)

N=

if i > n,

:

. ..

l&o

Nnl...

:

N,,]

Finally the BMFs can be constructed where Xa and X, are two control points of the membership function. In Eq. (l), if O/Ooccurs and 0 will be assigned as the value of the equation. In the real life situation, a finite set of knots will be used to construct the B-spline curve. The knot sequence on which B-spline functions will be based is assumed to be fixed. The necessary conditions for using B-spline function as the membership function in the FFPA model are listed as below [ 18,191. For any interval [a,b] - [O,l]: 1. is a continuous

(increasing

or decreasing)

function,

as

B(X) = ~ piNi,k(X) 1 ~ k ~ IZ

(7)

i=O

For illustration, two sets of estimate data for a system characteristic are given by two experts as below:

Expert 1 Expert 2

Degree of membership

Range

Very Likely 2 Probably 3

from 1.75 to 2.25 from 2.5 to 3.5

pCL[Gl- Ktll; 2. either B(0) = 0 and B(1) = 1 (increasing function) or B(0) = 1 and B(1) = 0 (decreasing function); 3. B’(0) = 0 and B’(1) = 0. There is no slope at the two boundary points. B-spline function fulfill these requirements (see Appendix A) and can be used to represent the fuzzy member function in FFPA model. In order to find a B-spline curve which can fit the empirical data, fuzzy B-spline membership function (BMF) with the mean-square-error for each system characteristic range is used [ 181. The mean-square-error is defined as:

J = $ j=O

rd(Xj -

$

PiNi,k(Xj)12

The overall range, Rf, is the union of RI and R2 Rf = (R, U R2) = from 1.75 to 3.5 Four empirical points are ‘Very Likely 2’, ‘Probably 3’, ‘Extremely Unlikely 1.75’ (lower boundary point) and ‘Extremely Unlikely 3.5’ (upper boundary point).

Xi

‘j

Membership

0

1.75 2 3 3.5

(Extremely Unlikely) 0.1 (Very Likely) 0.75 (Probably) 0.5 (Extremely Unlikely) 0.1

1 2 1

grade

(3)

i=O

and the least-squared approximation to d(Xj) can be obtained by partial derivation of J with respect to pi and

We assume k = 3, n = 3, m = 3, the least-square-error J 5 0.01, then the knot vector = [1.75, 1.75, 1.75, 2.63, 3.5, 3.5, 3.51. Using Eq. (3), Eqs. (4) and (5), we can find out the

C. Yau, H.-L. TsoiJnformation and Sofrware Technology 40 (1998) 59-68

Fig. 2. The BMF diagram

matrices of N, Q and P as below:

of this example.

from (Xl, X2,. . ., X14) to and the inverse transformation is Xl = Y,X2 = Y2 - Y,: :X,4 = Y,4 - Y13. The Jacobian matrix of the inverse transformation is defined below: The

- 0.2630820

0.2290712

0.0208247

0.0000000

0.2290712

0.2548938

0.23 15702

0.0599750

0.0208247

0.23 15702

0.8546439

0.2399000

_0.0000000

0.0599750

0.2399000

0.0694719

N=

transformation

(Y, , Y2, . . . , Y14)is one-to-one

ax,

5a

...

ay1

-0.1848188

-0.115-

...

0.756

ax1 . . . . w4

0.3098459

Q=

P= 0.6036068 _0.1656060

5 aI14J y14 ,I

1

0.518

I:

:

0

,.

:I

10

..

..

..

11

Since Y1,Y2,..., Y,4 has a continuous density function, then

-0.1 lo_

The resulting least-squared-error the required least-square-error BMF is found to be (Fig. 2)

J is O.OW46 and less than (J I 0.01). Therefore, the

fU(Y,> y2, =f1

WI)

...?

Y,,)=fl(X1)

*hW2)

*.fx2)

*f14W14)

distribution

* ...

*f14W14)

with joint

* IJI

* 1

The density distribution of the Y, = Xl +X2.. . + X14 = CXi can then be obtained by integrating out Y2,Y3, . . . . Y14

B(x) = 5 pAri, 3(x) = t P,Ni, 3(x) i=o i=O =

63

7065

10

00

0

{PON0,3(~)+PlNl,3(x)+~2~2,3(X)+~3~3,3(X))

3.4. Step 4: find the joint distribution function for all 14 BMFs Suppose there are Membership functions

14 different

Xl =f,

. . .,

(x1 >9 x2

=f2(x2),

independent

X,4 =f,4(x,4),

B-Spline

dYldY3.. .dY14 , for 0 5 Y2 Using the above joint distribution function, intervals can be found to support contingency software management*.

confidence planning in

for 0 I x 5 5;

Because all 14 BMFs are independent and continuous, Jacobian transformation method [20,21] can be used to find the joint distribution function of Y = Xl + Xz + , . .., + X,,,Let Y, =x,, for 0 5 Y, 5 5;Y2 = x, + x2, for 0 5 Y2 5 10;: :: + X,4, for 0 5 Y,4 5 70. :Y,4=X, +x2... * A Maple program that calculate the confidence interval for FPA values is available upon request by writing to the authors at SQI, Griffith University.

4. A case study The case study [24] is based on an in-house software development department of a multi-national company. In order to improve software project planning and control, a decision has been reached to set up function point baselines for all the current applications. The methodology derived from this study is expected to provide the management with more reliable estimation for planning and controlling

C. Yau, H.-L. Tsoi/lnformation and Sofhvare Technology 40 (1998) 59-68

64 Table 2 Unadjusted

function point count for this case study (purchase-order

Function types

Simple

Average

Inputs outputs Internal Interface Display Total unadjusted

33 _

63 21 12 _

3 _ FP

system)

Table 3 Values of 14 System characteristics FPA model

Fuzzified model (Expert 1 and Expert 2)

Data communication Distributed data processing Performance Heavily used configuration Transaction rate

4 3

(Probably 4) and (Very Likely 3) (Probably 3) and (Probably 3)

1 2

On-line data entry

3

End user efficiency On-line update

3 3

Complex processing Reusability

2 3

Installation

1

(Probably 1) and (Very likely (Probably 2, Unlikely 4) and (Probably 2) (Probably 1) and (Very Likely Unlikely 0) (Probably 3) and (Probably 3, Unlikely 2) (Probably 2) and (Probably 3) (Probably 3) and (Very Likely Unlikely 4) (Probably 2) and (Probably 2) (Probably 3) and (Probably 3, Unlikely 2) (Probably 1, Unlikely 0) and (Probably 1, Unlikely 0) (Probably 3, Unlikely 5) and (Probably 3) (Probably 1, Unlikely 0) and (Probably 1) (Probably 0) and (Very Likely Expert 1 = 23 to 36, Expert 2 23.25 to 33.75

Complex

Complexity

8 3

33

785

development and maintenance projects. The home-grown applications of the company were written in RPG III. Four applications have been included in this study. Three of the systems are mainly home-grown and the parts order invoicing system is largely converted from a package with a few programs rebuilt around the core of the application. The applications are: Non-conformance System, Parts Order Invoicing System, Purchase Order System and Manufacturing System. To simplify the explanation of the case study [22], only the Purchase Order System is presented in this paper. Table 2 shows the total Unadjusted Function Point computed for the Purchase Order System. The values of 14 system characteristics given by two different estimators are shown in Table 3. For illustration, the combined BMFs for the characteristics of Data Communication and Distributed Data Processing is shown in this paper.

Operation

factors

1

ease

3

ease

Multiple sites

2

Facilitate change DI

0

31

Expert 1 Expert 2

3,

0) =

3 < x < 4 4 < x < 4.5

J 5 0.01. Distributed

Degree of membership

Range

Probably 4 Very Likely 3

3.5 to 4.5 from 2.75 to 3.25

and

Data Processing

characteristic:

Degree of membership

Range

Expert 1

Probably

3

from 2.5 to 3.5

Expert 2

Probably

3

from 2.5 to 3.5

and

X,

xj

Membership

0 1 2 3

2.75 3 4 4.5

(Extremely Unlikely) 0.1 (Very Likely) 0.75 (Probably) 0.5 (Extremely Unlikely) 0.1

grade

Let k = 2, n = m = 3, then knot vector = [2.75, 2.75, 3.00, 4.00, 4.50, 4.501. The BMF for this characteristic is B Comm(X)

1,

2.75 < x < 3

B corn&X) = 1 1.79 - 0.335x 4.05 - 0.9x

Assume k = 2 and the least-squared-error Data Communication characteristic:

1)

we have (Fig. 3) 2.02x - 5.275

4.1. Step 1: derive BMF for each system characteristic

for purchase order system

=

i i=o

PiNi, 2Cxl= 5

i=O

piNi, 2cx)

= ~~OlV0,2(~)+~1~1,2(~)+P2~2,2(~)+~3N3,2(~)}

Xi

xi

Membership

0

2.5 3 3.5

(Extremely Unlikely) 0.1 (Probably) 0.5 (Extremely Unlikely) 0.1

1 2

grade

Let k = 2, n = 2, m = 2, then knot vector = [2.5,2.5,3.00, 3.50, 3.501. The BMF for this characteristic is

BD&)

=

=

2

i=o

Pi&

2(-d

IPoNo,Z(X)+PlN1,2(x)+P2N2,2(X)}

C. Yau, H.-L. Tsoi/lnformation

65

and Software Technology 40 (I 998) 59-68

0.8 0.7 0.6 t 5 0.5

P4 g o.3 0.2

Fig. 3. The BMF diagram

for data communication

B corn&) * 1 =

we have (Fig. 4), 0.56x-

1.12

B~ata(X) =

2.5
fy(Y2)=

7 B~ata(y~) *hm&"2

4.2. Step 2: joint distribution function Let Y, = B Q,,,&x), for0 5 YI 5 5;Yz = BIM,(x> + B Comm(~),for 0 5 Y2 I lO.The inverse transformation is B ~~~~(4 = YI and BD&) = Y2 - YI. The Jacobian matrix of the joint distribution function is defined below: 8x11 ay2

+1

0

-1

+1

=+1 =

& -Jr

Then f~0’1, Yz>=

I

B~,th>

-

YI)

* Bcom&)

* IJI =

BD&x>

Fig. 4. The BMF diagram

*

for distributed

- Y,W',

tfor0

5

Y2 5

10

0

Since Bn&x) and B Corn,,,(~)are two independent distribution functions, Jacobian joint distribution method can be used to show the final distribution after aggregation.

ax,

BD,,,(YI) * k.m&'2

3

3 < x < 3.5

2.71 -0.74x

r ax1

characteristic.

fYV2)

=

0.07455Y2 - 0.364

5.25 I Y2 5 5.7

0.1963Y2 - 1.028

5.71 < Y, < 6.5

1.4612 -0.1974Y2

6.51 5 Y2 5 7.31

I

0.65 - O.OSY,

7.31 < Y, < 8

For this case study, estimators are recommended to choose 95% or 90% confidence levels for the estimates. For comparison purposes, 80% and 85% confidence levels will also be shown in this paper. Under the fuzzy concept, the sum of membership grades for all fuzzy variables does not necessarily equal 1. So a ratio will be used in this paper to represent the confidence level of the distribution. Suppose score S,, and Stow are the upper and lower boundaries of the fuzzy membership distribution function. al, and CY~is confidence interval of the

data processing

characteristic

B&x),

C. Yau, H.-L. TsoiAnformation and So&are

66

Fig. 5. The BMF diagram

distribution

curve and is defined as below:

(Y= (Area between SCY,to specified range Saz)/ Area between S,, and S,,, For estimation purposes, only the specified upper point of the confidence interval is used. The S, value is between 5.39 and 7.54 for 95% confidence interval of this two characteristic joint distribution and can be expressed as 5.39 i x 57.54 By this approach, the 80%, 85% and 90% confidence intervals of FPA counts for the Purchase Order System are shown below: 80%interval

: 24.8 5 X 5 33.7, FP = 785 * 0.898 5 X

5 785 * 0.987 = 704.9 5 x zz 774.8 85%interval

: 24.4 5 X 5 34.3, FP = 785 * 0.894 5 X

5 785 * 0.993 = 701.8 5 x 5 779.5

Technology 40 (1998) 59-68

for combined

distribution.

90%interval

: 23.8 5 X 5 34.8, FP = 785 * 0.888 5 X

I 785 * 0.998 = 697.0 I X 5 783.4 95%interval

: 23.2 5 X35.3, FP = 785 * 0.882 5 X

5 785 * 1.003 = 692.4 5 X 5 787.4 The BMF for the Purchase Order System is shown in Fig. 5. The actual FPC is 693.8 [17] which lies within the 85% confidence interval. In general, different confidence levels can be chosen for applications for different constraints and development environments. Obviously, the higher confidence level implies the more confident that the true value lies within the estimated range. (Fig. 6)

5. Conclusion Estimating the important area that arouses the interest of academics, as well as practitioners. Poor estimation may lead to inadequate resource requirements and an incorrect project target completion time. To overcome the subjective

C. Yau, H.-L. Tsoi/Information and So&ware Technology 40 (1998) 59-68

judgement of software size estimation, it is essential to model the probabilistic behaviour of the estimation process. In this paper, an approach for constructing fuzzy membership functions via B-spline curves is proposed. By using the B-spline curve fitting method, different membership functions can be derived to represent the possibility distribution of the overall estimate. It can be used to describe the probabilistic behaviour of the software size estimate on which risk control can be based. FFPA provides a range estimate that allows project managers to consider the worst situation of the software size. They can use the FFPA estimate as evidence to negotiate with other parties for increasing resources or relaxing project constraints. Software project managers can select appropriate confidence levels for their projects during different stages of the development life cycle. From the in-house case study, the approach has been proved to be more informative and is considered as a more effective tool that can improve the conventional FPA. FFPA is based on an assertion that the complexity factors are independent. However, there are some empirical evidences [23] which suggest that the complexity factors are not independent. The dependence of the complexity factors is an open question to the FPA. Some practitioners even prefer to use their own sets of complexity factors for project standardization. However, we believe that the fuzzified concept can be applied to any set of complexity factors and other sizing models, such as COCOMO. Nevertheless improving the fuzzified model to handle dependent factors is a good topic for further research.

‘Extremely Unlikely’ (P,) are two boundary points of the membership range for increasing function. The value of first boundary (PO) will be zero and the next boundary point (P,) is one. These two values will be substituted in B-spline function to show whether this condition is valid or not. For B-spline function (increasing) B(X)=

.I Proof

Control points set = [PO,P1...,P,] control points knotvalueset=To,TI

P,Ivi,,(X) 1 % k ~ n

i=O

wherehrj,k(x) is defined as a polynomial, knot vector = { To,T,,..., T,+k).In FFPA, the ‘Almost Certain’, ‘Very ‘Probably’, ‘Unlikely’, ‘Extremely Unlikely’ Likely’, fuzzy restriction statements are used to assess each system characteristic, It implies that a finite fuzzy linguistic statements can be used to instead of the finite membership grade. According to the principal properties of the B-spline curve [18,19]: 1. The B-spline curve and its derivatives of order 1,2, . . . , k - 2 are all continuous over the entire interval. 2. If the open uniform knot vector is used, the B-spline curve will interpolate the first and last control points.Every fuzzy B-spline membership curve will continue in the boundary and the necessary condition (I) is valid. (II) In the FFPA

,...,

T,,+k=O,O

and n + 1 = number of ,...,

0

model,

‘Almost

Certain’

(PO) and

Tk+l>

k t&m,

Tk+2,

. . ..Tn-k+~t

1, . ..) 1

1 k tdrms

For the first boundary, functions

‘Extremely

Unlikely’,

the blending

N&k(O)= l,~,,k(O)=O,~2,k(O)=O,~~~,~,Q(O)=O Then,B(O) = ~~=a PiNj,k(O) ={PO~O,k(0)+Pl%,k(O)+.~.+PnNn,k(o)~ =(PO~O,k(O)+O+...+0)=PO*1=PO=O

For the second boundary, functions

‘Almost Certain’,

the blending

No,k(O)=O,N,,k(O)=O,N2,k(O)=O,...,Nn,k(O)=

1.

Then, ~Pini,k(l)=(PO~O,k(l)+P,N,,k(I)+... i=O

+P,-,,N,-I,k(l)+P,N,,k(l)l=(PO*O+Pl

(I) The membership function for FFPA model can be defined by the form of B-spline curves:

B(x) = ~

PiNi,k(X) 1 I k ~ n

~ i=O

B(l)=

Appendix

67

+...+o+P,_,

*o

*O+P,N,,k(l))=Pn*l=P,=l

The condition (II) is satisfied and singular procedure can be used for decreasing function. (III) In the FFPA model, ‘Almost Certain’ (PO) and ‘Extremely Unlikely’ (P,) are two boundary points of the membership range in increasing and decreasing functions. For the first boundary, ‘Extremely Unlikely’, the B-spline function B(O)=

k

PilVi,k(“)={PONO,k(0)+PINl,k(O)+...

i=O

So, B’(0) = 0 * p’(a) = 0. For the second boundary, the B-spline

function

i=O +p,&,k(x,)

=

{o+

. ..+O+P.N,,k(X,)l

“p,,

* 1 ‘p,,

i.e. B’(X,) = 0 * p’(b) = O.The condition (III) is satisfied and a similar procedure can be used for decreasing function.

68

C. Yau, H.-L. Tsoi/Information and So&are

References A Practitioner’s Approach, [II R.S. Pressman, Software Engineering: McGraw-Hill, 1987. PI C. Jones, Applied Software Measurements, McGraw-Hill, New York, 1991. [31 S. Vicinanza, Software effort estimation: an exploratory study of expert performance, Information Research 2 (1991). [41 L.H. Putman, A general empirical solution to the macro software sizing and estimating problem, IEEE Transaction on Software Engineering 4 (4) (1978) 345-361. r51 W.B. Boehm, Software Engineering Economics, Prentice-Hall, 1981. WI J.Allan Albrecht, E.John Gaffney, Software function, source lines code, and development effort prediction: a software science validation, IEEE Transaction of SE 9 (6) (1983). application development productivity, I71 A.J. Albrecht, Measuring Proceedings Joint SHARE/GUIDE/IBM Application Development Symposium, October 1979, pp. 34-43. 181 CF. Kemerer, An empirical validation of software cost estimation models, Comm. of the ACM, May 1987. PI C.R. Symons, Function point analysis: difficulties and improvements, IEEE Trans. on Software Engineering, Jan. 1988. r101 C.F. Kemerer, An agenda for research in the managerial evaluation of computer-aided software engineering (CASE) tool impacts, Proceedings of the 22nd Annual Hawaii International Conference on Systems Sciences, 1989, pp. 219-228. [Ill G.C. Low, D.R. Jeffery, Function point in the estimation and evaluation of the software process, IEEE Trans. of SE., January 1990. [I21 M. Tridas, K. Sunder, Software Effort Models for Early Estimation of Process Control Applications, IEEE Trans. of SE., October 1992.

Technology 40 (1998) 59-68

[13] C. Kemerer, Reliability of function points measurement, Communications of the ACM, Feb. 1993. [14] D.R. Jeffery, G.C. Low, M. Barnes, A comparison of function point counting techniques, IEEE Trans. of SE, May 1993. [15] IFPUG, Function Point Counting Practices Manual (Release 3.3). 1991. [16] C. Yau, R.H.L. Tsoi, Assessing the fuzziness of general system characteristics for estimating software size, ANZIIS Conference, Brisbane, Australia, Nov. 1994. [17] C. Yau, R.H.L. Tsoi, A fuzzified approach to overcome the imprecisions of software sizing, IEEE SICICI ‘95, Singapore, July 1995. [18] C.H. Wang, T.T. Lee, W.Y. Wang, P.S. Tseng, Fuzzy B-spline membership function (BMF) and its applications in fuzzy-neural control, IEEE SMC, May 1995. [19] D. Hearn, M.P. Baker, Computer Graphics, Prentice-Hall, 1986. [20] B.W. Lindgren, Statistical Theory, Macmillan, New York, 1976. [21] D.R. Anderson, Statistics: Concepts and Applications, West Publishing Company, 1986. [22] Chuk Yau, L.Y. Gan, Comparing the top-down and bottom-up approaches of function point analysis: a case study, Software Quality Journal 4 (1995) 10. [23] B.A. Kitchenham, Empirical studies of assumptions that underlie software cost-estimation models, Information and Software Technology 34 (4) (1992) 211-218. [24] L.Y. Gan, Experience of establishing a function point analysis systems in an in-house development department, Technical Report CY51006-92, Software Quality Institute, Griffith University, Nov. 1992.