Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

26
Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek

Transcript of Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Page 1: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Rahmat Bagas SantosoDiogo Satoru Aihara

Vojtech Zbranek

Page 2: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Motivation

• No one build software from the scratch.• Component based software development is a

prominent contemporary software development.

• Supported by many well-known frameworks and standards (Microsoft COM/DCOM, Enterprise JavaBean, Web service, etc).

• No (widely used) estimation technique for CBSD.

Page 3: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Problem

• Different decomposition

• Transferable component estimation

Warehouse Application

Stock

Supply

Sales & Order

FormWH App.

SpecificReport

CommunicationUser

Managemnt

Log

Project A Project B

Comp. A1Comp. A1 Estimation

Comp. A2Comp. A2 Estimation

Comp. A2Comp. A2 Estimation’ ( Usage? Upgrade? Known Facts?)

Comp. B1Comp. B1 Estimation

COTS Comp. C1 COTS Comp C1 Estimation

COTS Comp. C1

Page 4: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Approaches (1)

(*) T. Wijayasiriwardhane and R. Lai: “A Method for Measuring the Size of a Component-Based System Specification”

(**) R. K. Smith, A. Parrish, and J. Hale: “Cost Estimation for Component Based Estimation”

ProblemSize/Function

Points Estimation

Size / Function

Points

Effort Estimation (COCOMO)

Effort

T. Wijayasiriwardhane and R. Lai Approach - 2008 (*)

R. K. Smith, A. Parrish, and J. Hale Approach - 1998 (**)

Page 5: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Approaches (2)

Author Title Year Type ContextT. Ellis COTS Integration in Software Solutions

- A Cost Model1995 Cost COTS

C. Abts Extending the COCOMO II Software: COCOTS Model (Integrated in COCOMO II Book)

2004 Cost COTS

P. Naunchan & D. Sutivong

Adjustable Cost Estimation Model for COTS-Based Development

2007 Cost COTS

John Kammelar A Sizing Approach for OO-environments

2000 Size OO Based -> Component Based

J. Verner &G. Tate

A Software Size Model 1992 Size 4GL - problem dependent

Page 6: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Size Estimation for CBSDComponent Point

• FP-like approach• Usage of CBS Specification

– Written in UML

• Integration of two techniques– Class Point (FP for Object Oriented systems)– Component Complexity measurement

Page 7: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Component PointEstimation Process

Analyse CBSS UMLand

Classify Components

Evaluate Interface and Interaction Complexity of Components

Evaluate Component Complexity and Get

Unadjusted Component Points

Find the Value Adjustment Factor and Calculate the Final Component

Points

UML List of Components

Classificationof

ComponentsInterface Complexity

Interaction Complexity

Unadjusted Component

Points

Final Component

Points

Page 8: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Interface Complexity

• Two types– Internal Logical Files– External Input Files

• Parameters– Number of Operations– Number of Parameters

NONP

<20 20-50 >50

1 Low Low Average

2-5 Low Average High

>5 Average High High

Type Low Average High

ILF x7 x10 x15

ELF x5 x7 x10

Page 9: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Interaction Complexity

• For each operation, multiply:– Interaction Frequency– Complexity Measure

• Interaction Complexity = sum for all operations

#Interactions(operation)

#Interactions(interface)IF=

CM(D,L) = L + S(CM(Di,L+1))

Page 10: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Component Complexity

1. Find the component complexity

2. Count the Component Points

ITCIIFCI

<5 5-8 >8

<2 Low Low Average

2-3 Low Average High

>3 Average High High

Type Low Average High

DC x3 x6 x10

UC x4 x7 x12

SC X4.5 x7 X11.5

Interface Complexity

# of InterfacesIFCI =

Interaction Complexity

# of InteractionsITCI =

Page 11: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Adjust Component Points

1. Find the Value Adjustment Factor

2. Adjust the Component Points

General System Characteristics

Data and online communication Distributed processing

System / component performance Development rigidity

User friendliness System complexity

Installability Operability

Maintanability Multi-site use

System / component reliability System / component portability

Component immaturity Lack of component vendor support

VAF = 0.65 + (0.01*Degree of Influence)

CP = Unadjusted CP * VAF

Degree of Influence

No Influence Strong Influence0 5

Page 12: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

12

Effort Estimation for CBSD (1) : COCOMO Model

• Basic COCOMO Model by Boehm• General effort model:

E = a (EDSI)h x (EAF) Legend:

E – Effort [man-moths] a,h – Constant given by developing mode EAF – Effort adjustment factor (15 cost factors) EDSI – Estimate of Delivered Source Instruction

Page 13: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

13

Effort Estimation for CBSD (2): COCOMO Model

• Example:Effort given from basic COCOMO for program with 8500 LOC:

E = a (EDSI)h x (EAF) = = 3.2 (8.5)1.05 x 1 = 30 MM

• Boehm also adopted the Intermediate COCOMO Model to apportion cost of individual components

Page 14: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

14

Effort Estimation for CBSD (3):Intermediate COCOMO Model Example

• Intermediate COCOMO:– Inputs:

• LOC = 8500• EbasicCOCOMO =MMNOM= 30MM

CMMNOM - nominal component man-month

Component EDSI % of total CMMNOM

Comp#1 2000 23,4% ?Comp#2 3000 35,3% ?Comp#2 3500 41,2% ?

Page 15: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

15

Effort Estimation for CBSD (3): Intermediate COCOMO Model Example

• Intermediate COCOMO:– Inputs:

• LOC = 8500• MMNOM= 30MM (from basic COCOMO)

Component EDSI % of total CMMNOM

Comp#1 2000 23,4% 7,06Comp#2 3000 35,3% 10,60Comp#2 3500 41,2% 12,36

– Count:• EDSI/MMNOM=8500/30=283

• CMMNOM=EDSIcomp/(EDSI/MM)NOM

CMMNOM - nominal component man-month

Page 16: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

16

Effort Estimation for CBSD (4): Intermediate COCOMO Model Example

• After CMMNOM Effort Adjust Factor (EAF) is calculated for each component individually

• The EAF is applied to CCMNOM for each component!!! Consider variance among the cost factors for

various component!New adjusted MM estimate for each component

CMMADJ:

CMMADJ = (CMMNOM)(EAF)

Page 17: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

17

Effort Estimation for CBSD (5): Intermediate COCOMO Model Example

CMMADJ = (CMMNOM)(EAF)

Component EDSI % of total CMMNOM EAF CMMADJ

Comp#1 2000 23,4% 7,06 0.89 6.28Comp#2 3000 35,3% 10,60 1.13 11.98Comp#2 3500 41,2% 12,36 1.05 12.98

Page 18: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

18

Effort Estimation for CBSD (6):

• Even this improvements over monolithic approach fails to capture relevant parameters in CBSD

• Inspection CBSD found out wealth of new parameters not directly captured in COCOMO adaptation

Page 19: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

19

Effort Estimation for CBSD (7): An Augmented COCOMO Model

• Work with– Within-project experience– Team size

• Model formula:

HOURS = α + β1(COCOMO) + β2(PREV) + β3(PROG)

– HOURS – number of hours devoted for component– COCOMO – result of intermediate COCOMO– PREV – number of comp. previously worked on (Within-project experience)– PROG – size of component development team

Page 20: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

20

Effort Estimation for CBSD (8): Current studies identifying parameters

• For effort estimation is captured by a three dimensional view of the development process– x axis captures the component under development– y axis represents time– z axis the programmers on the project

Page 21: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

21

Effort Estimation for CBSD (9): Current studies identifying parameters

• Research for metrics by passing planes through the three dimensional model

• “contextual planes” - By passing a plane through the model that is perpendicular to an axis, we capture the “context” related to two other axis

Page 22: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

22

Effort Estimation for CBSD (10): Current studies identifying parameters• This view of CBSD allows an effort estimation model to

examine metrics and effort factors at a fine-grained level of detailed that is not captured by traditional effort estimation models

Page 23: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

23

Effort Estimation for CBSD (11): Current studies identifying parameters• Using this concept of components, time units

and programmers, we can derive a suite of metrics that characterizes the effect of scheduling on CBSD. We have developed formal definitions of these metrics.

Page 24: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

24

Effort Estimation for CBSD (12): Identifying parameters

• Intensity - The ratio of the quantity of actual time spent on a component to the number of time units scheduled for the component.

• Concurrency - The degree to which multiple programmers are working simultaneously on a single component.

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

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

• Programmer Project Experience - The number of components that have been previously completed by the programmers assigned to a particular component.

• Team Size - The number of programmers assigned to a particular component.

Page 25: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Conclusions

• Although CBSD is widely used, but no eminent size/cost estimation method available yet.

• Some proposals to do estimation CBSD are already published but most of them still in research. Furthermore they need industry validation.

• Most estimation proposal on CBSD is in analogy with how other disciplines do the extension of the traditional estimation.

• More interesting result may come in the future with the support of validation.

Page 26: Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.

Thank You

• Questions & Answers