function point+cocomo

54
Characteristic of Quality Function Point Analysis • Function Point Analysis should be performed by trained and experienced personnel. If Function Point Analysis is conducted by untrained personnel, it is reasonable to assume the analysis will done incorrectly. • Current application documentation should be utilized to complete a function point count. For example, screen formats, report layouts, listing of interfaces with other systems and between systems, logical and/or preliminary physical data models will all assist in Function Points Analysis. • The task of counting function points should be included as part of the overall project plan. That is, counting function points should be scheduled and planned. The first function point count should be developed to provide sizing used for estimating.

Upload: abhinavkishore891729

Post on 02-Apr-2015

901 views

Category:

Documents


2 download

DESCRIPTION

SE

TRANSCRIPT

Page 1: Function Point+Cocomo

Characteristic of Quality Function Point Analysis

• Function Point Analysis should be performed by trained and experienced personnel. If Function Point Analysis is conducted by untrained personnel, it is reasonable to assume the analysis will done incorrectly.

• Current application documentation should be utilized to complete a function point count. For example, screen formats, report layouts, listing of interfaces with other systems and between systems, logical and/or preliminary physical data models will all assist in Function Points Analysis.

• The task of counting function points should be included as part of the overall project plan. That is, counting function points should be scheduled and planned. The first function point count should be developed to provide sizing used for estimating.

Page 2: Function Point+Cocomo

Counting Function Points

• The five functional units are ranked according to their complexity i.e. low, average, high

• Organizations that use FP methods develop criteria for determining whether a particular entry is Low, Average or High

• After classifying each of the five function types, the unadjusted function point (UFP) are calculated using predefined weights for each function type.

Page 3: Function Point+Cocomo

Function Units with weighting Factors

Functional Units Weighting Factors

Low Average High

External Input 3 4 6

External Output 4 5 7

External Enquiries 3 4 6

Internal Logical Files 7 10 15

External Interface Files 5 7 10

Page 4: Function Point+Cocomo

UFP counting table

Functional Units Count Complexity

Functional Unit Totals

EI Low * 3

Average* 4

High *6

=sum of all count complexity

EO

Ext Inquiry

ILF

EIF

Page 5: Function Point+Cocomo

Function Point Analysis

• The procedure for the calculation of UFP in mathematical form is

5 3

UFP=Σ Σ Zij wij

i=1 j=1

Wij – It is the entry of the ith row and jth column of the table

Zij – It is the count of the number of functional units of type I that have been classified as having the complexity corresponding to column j.

Organizations use function point methods develop a criterion for determining whether a particular entry is low, average or high.

Page 6: Function Point+Cocomo

• The final number of function point is arrived at by multiplying the UFP by an adjustment factor.

• The adjustment factor allows the UFP count to be modified by at most +/- 35%.– FP=UFP * CAF – UFP – Unadjusted Function point– CAF Complexity adjustment factor and is

equal to [.65 + .01 * ΣFi .

Page 7: Function Point+Cocomo

• Calculation of CAF

• Rate each of the following factors on the scale of 0 to 5– No Influence – 0– Incidental – 1– Moderate - 2– Average - 3– Significant - 4– Essential - 5

Page 8: Function Point+Cocomo

• Number of Factor – Does the system require reliable backup and

recovery?– Is data communication required?– Are there distributed processing functions?– Is performance critical?– Will the system run in an existing heavily

utilized operational environment?– Does the system require on line data entry?

Page 9: Function Point+Cocomo

• Does the online data entry require the input transaction to be built over multiple screen or operations?

• Are the master files updated on line?• Is the input, output, files or inquiries complex• Is the internal processing complex?• Is the code designed to be reusable?• Are conversion and installation included in the

design?• Is the system designed for multiple installation in

different organizations?• Is the application designed to facilitate change

and ease of use by the user?

Page 10: Function Point+Cocomo

Uses of function points

• The collection of function point data has two primary motivation– The desire by managers to monitor level of

productivity, number of function points achieved per work hour expended. (The function point accurately describe the size of the final software project)

– The estimation of software development cost. There are only a few studies that address this issue, though it is arguably the most important potential use of function point data

Page 11: Function Point+Cocomo

• Functions points may compute the following important metrics :– Productivity = Function Point/ persons – months– Quality = Defects / FP– Cost = Rupees / FP– Documentation = Pages of documentation per FP

These Metrics are controversial and are not universally acceptable.

These are standards issued by the International Function Point User Group and the United Kingdom Function Point User Group.

Page 12: Function Point+Cocomo

• Consider a project with the following functional units :– Number of user inputs = 50– Number of user output = 40– Number of user Enquiries = 35– Number of user files = 06– Number external interfaces = 04

Assume all complexity adjustment factors and weighting factors are average.

Compute the function points for the project.

Page 13: Function Point+Cocomo

• UFP = Σ Σ Zij wij

• UFP = 50 * 4 + 40 * 5 + 35 * 4 + 6 * 10 + 4 * 7

• CAF = ( 0.65 + 0.01 Σ Fi)

(0.65 + 0.01 ( 14 * 3) = 0.65 + 0.42 =1.07

FP = UFP * CAF

628 * 1.07 =672

Page 14: Function Point+Cocomo

Constructive Cost Model (COCOMO)

• Developed by B.W. Boehm in 1981• COCOMO is one of the most widely used

software estimation models in the world• Is a hierarchy of software cost estimation model,

which include basic intermediate and detailed sub models.

• COCOMO predicts the effort and schedule for a software product development based on inputs relating to the size of the software and a number of cost drivers that affect productivity

Page 15: Function Point+Cocomo

COCOMO Models

• COCOMO has three different models that reflect the complexity: – the Basic Model – the Intermediate Model – and the Detailed Model

Page 16: Function Point+Cocomo

Basic Model

• Aims at estimating, in a quick and rough fashion, most of the small to medium sized project.

• Three modes of software development are considered in this model– Organic– Semi Detached– embedded

Page 17: Function Point+Cocomo

Organic Mode

• Relatively small, simple software projects• Small teams with good application

experience work to a set of less than rigid requirements

• Similar to the previously developed projects• relatively small and requires little innovation• Size of software development in this mode

ranges from small (a few KLOC) to medium (a few tens of KLOC)

Page 18: Function Point+Cocomo

Semidetached Mode

• Intermediate (in size and complexity) software projects in which teams with mixed experience levels must meet a mix of rigid and less than rigid requirements.

Page 19: Function Point+Cocomo

Contd…

• Embedded Mode• Software projects that must be developed

within a set of tight hardware, software, and operational constraints.

Page 20: Function Point+Cocomo

Comparison of three COCOMO modes

Mode Project Size Nature of Project

Innovation Deadline of the Project

Development Environment

Organic Typically 2-50 KLOC

Small size project, experienced developers in the familiar environment.

For Example Pay roll, inventory, project etc.

Little Not Tight Familiar & In House

Page 21: Function Point+Cocomo

Comparison of three COCOMO modes

Mode Project Size Nature of Project

Innovation Deadline of the Project

Development Environment

Semi Detached

Typically 50-300 KLOC

Medium Size Project, Medium Size Team, Average previous experience on similar Projects.Eg. – Utility System like compilers, database systems, editors etc.

Medium Medium Medium

Page 22: Function Point+Cocomo

Comparison of three COCOMO modes

Mode Project Size Nature of Project

Innovation Deadline of the Project

Development Environment

Embedded

Typically Over 300 KLOC

Large Project, Real Time systems, Complex interfaces, very little previous experience

Eg : ATMs, Air Traffic Control etc.

Significant Tight Complex Hardware/ Customer Interfaces required

Page 23: Function Point+Cocomo

• The basic COCOMO equation take the form– E=ab (KLOC) bb

– D=Cb (E) db

• Where E is effort applied in Person Month and D is the development time in months.

Page 24: Function Point+Cocomo

Project Ab bb cb db

Organic 2.4 1.05 2.5 0.38

Semidetached

3.0 1.12 2.5 0.35

Embedded

3.6 1.20 2.5 0.32

Page 25: Function Point+Cocomo

• When effort and development time are known, average staff size– Average staff size (SS) = E/D Person

• When project size is known, the productivity level be calculated as– Productivity (p) = ( KLOC )/ E KLOC/ PM

Page 26: Function Point+Cocomo

• Suppose that a project was estimated to be 400 KLOC. Calculate the effort and development time for each of the three modes i.e organic, semidetached and embedded

• Organic Mode – E= 2.4*(400)1.05 =1295.31– D = 2.5 * ( 1295.31)0.38 = 38.07PM

Page 27: Function Point+Cocomo

• A Project size of 200 KLOC is to be developed. Software development team has average experience on similar type of projects. The project schedule is not very tight. Calculate the effort development time, average staff size and productivity of the project.

Page 28: Function Point+Cocomo

Intermediate Model

• The basic model allowed for a quick and rough estimate, but it resulted in lack of accuracy.

• Boehm introduced an additional set of 15 predictors called cost drivers in the intermediate model to take account of the software development environment.

Page 29: Function Point+Cocomo

Intermediate Model

• Cost Drivers are grouped into four categories :– Product attributes

• Required Software reliability (RELY)• Database Size (DATA)• Product complexity (CPLX)

– Computer attributes• Execution time constraint (TIME)• Main storage constraint (STOR)• Virtual machine volatility (VIRT)• Computer turnaround time (TURN)

Page 30: Function Point+Cocomo

• Personnel Attributes– Analyst capability (ACAP)– Application Experience ( AEXP)– Programmed Capability (PCAP)– Virtual machine Experience (VEXP)– Programming Language Experience (LEXP)

• Project Attributes– Modern programming practices (MODP)– Use of software tools (TOOL)– Required development schedule (SCED)

Page 31: Function Point+Cocomo

• Each cost driver is rated for a given project environment.

• The rating uses a scale very low, low, nominal, high, very high, extra high which describes to what extent the cost drivers applies to the project being estimated.

Page 32: Function Point+Cocomo

Multiplier values for effort calculations

Cost Drivers

Rating

Product Attributes

Very Low

Low Nominal

High Very High

Extra High

RELY 0.75 0.88 1.00 1.15 1.40

DATA 0.94 1.00 1.08 1.16

CPLX 0.70 0.85 1.00 1.15 1.30 1.65

Page 33: Function Point+Cocomo

Multiplier values for effort calculations

Cost Drivers

Rating

Computer Attributes

Very Low

Low Nominal

High Very High

Extra High

TIME 1.00 1.11 1.30 1.66

STOR 1.00 1.06 1.21 1.56

VIRT 0.87 1.00 1.15 1.30

TURN 0.87 1.00 1.07 1.15

Page 34: Function Point+Cocomo

Multiplier values for effort calculations

Cost Drivers

Rating

PersonnelAttributes

Very Low

Low Nominal

High Very High

Extra High

ACAP 1.46 1.19 1.00 0.86 0.71

AEXP 1.29 1.13 1.00 0.91 0.82

PCAP 1.42 1.17 1.00 0.86 0.70

VEXP 1.21 1.10 1.00 0.90

LEXP 1.14 1.07 1.00 0.95

Page 35: Function Point+Cocomo

Multiplier values for effort calculations

Cost Drivers

Rating

Project Attributes

Very Low

Low Nominal

High Very High

Extra High

MODP 1.24 1.10 1.00 0.91 0.82

TOOL 1.24 1.10 1.00 0.91 0.83

SCED 1.23 1.08 1.00 1.04 1.10

Page 36: Function Point+Cocomo

• The multiplying factor for all 15 cost drivers are multiplied to get the effort adjustment factor (EAF).

• Typical values for EAF range from 0.9 to 1.4.

• The intermediate COCOMO equation take the form– E = ai (KLOC) bi * EAF– D = ci (E) di

Page 37: Function Point+Cocomo

Project Ab bb cb db

Organic 3.2 1.05 2.5 0.38

Semidetached

3.0 1.12 2.5 0.35

Embedded

2.8 1.20 2.5 0.32

Page 38: Function Point+Cocomo

Detailed COCOMO Model

• Offers a means for processing all the project characteristics to construct a software estimate.

• Introduces two more capabilities– Phase Sensitive effort multipliers– Three Level product hierarchy

Page 39: Function Point+Cocomo

Phase Sensitive Effort Multiplier

• Some phases (design, programming, integration/test) are more affect than others by factors defined by the cost drivers.

• The detailed model provides a set of phase sensitive effort multiplier for each cost driver.

• This helps in determining the manpower allocation for each phase of the project.

Page 40: Function Point+Cocomo

Three Level Product Hierarchy

• Three product levels are defined. These are module, subsystem and system levels.

• The rating of the cost drivers are done at appropriate level, i.e. the level at which it is most susceptible to variation.

Page 41: Function Point+Cocomo

Development Phases

• Plan/requirements – – Requirement is analyzed, the product plan is setup

and a full product specification is generated– This phase consumes from 6-8% of the effort and 10-

40% of the development time.

• Product design – – concerned with the determination of the product

architecture and the specification of the subsystem.– This phase requires from 16-18% nominal effort and

can last from 19-38% of the development time.

Page 42: Function Point+Cocomo

• Programming – – The third phase of the COCOMO development cycle

is divided into the sub phases : detailed design and code/unit test.

– This phase requires from 48-68% of the effort and lasts from 24-64% of the development time.

• Integration/Test –– This phase occurs before the delivery.– This phase requires from 16-34% of the nominal effort

and can last from 18-34% of the development time.

Page 43: Function Point+Cocomo

• Software might be partly developed from software already existing, a full development is not always required.

• In such cases, the part of design code, code and integration to be modified are estimated.

• Then adjustment fact A is calculated– A= .4 * DD + .3 * C + .3 *I

• The size equivalent is obtained by– S(equivalent) = (S* A)/100

Page 44: Function Point+Cocomo

COCOMO II

• Revised version of the original COCOMO and is developed at University of southern California under the leadership of Dr. Barry Boehm.

• The model is tuned into life cycle practices of 21 century.

• It also provides a quantitative analytic framework, and set of tools and techniques for evaluating the effects of software technology improvements on software life cycle costs and schedules.

Page 45: Function Point+Cocomo

Categories of application/Projects Identified by COCOMO - II

• End User Programming• Infrastructure sector• Intermediate Sector –

– Application generators and composition aids – create largely prepackaged capabilities for user programming. Product line will have many reusable components.

– Application composition sector –deals with applications which are too diversified to be handled by prepackaged solution, but which are sufficiently simple to be rapidly comosable from interoperable components.

– System Integration – deals with large scale, highly embedded or unprecedented systems.

Page 46: Function Point+Cocomo

Stages of COCOMO II

Stage No

Model Name

Applicable for the type of projects

Applications

Stage I Application composition estimation model

Application Composition

In addition to application composition type of projects. This model is also used for prototyping (Stage of application generators, infrastructure & system integration.

Page 47: Function Point+Cocomo

Stages of COCOMO II

Stage No

Model Name

Applicable for the type of projects

Applications

Stage II Early Design estimation model

Application generators, infrastructure & system integration

Used in early design stage of a project, when less is known about the project

Page 48: Function Point+Cocomo

Stages of COCOMO II

Stage No

Model Name

Applicable for the type of projects

Applications

Stage III Post architecture estimation model

Application generators, infrastructure & system integration

Used after the composition of the detailed architecture of the project

Page 49: Function Point+Cocomo

Application Composition Estimation Model

• Model is designed for quickly developed applications using interoperable compnents.

• Can also be used for prototyping phase.• In this model size is first estimated using object

points. The object points are easy to identify and count.

• The object in object points defines screens, reports and 3 GL modules as objects.

• This may or may not have any relationship to other definition of objects.

Page 50: Function Point+Cocomo

• The steps required for the estimation of effort in Person-Months– Assess object count– Classify complexity level of each object.– Assign complexity weight to each object.– Determine object points– Compute new object points– Calculate productivity rate– Compute the estimated effort in person months

Page 51: Function Point+Cocomo

• Asses Object counts- Estimate the number of screen, reports and 3GL components that will comprise this application.

• Classification of complexity levels – – we have to classify each object instance into

simple, medium and difficult complexity level depending on values of its characteristics.

– The screens are classified on the basis of number of views and sources and reports are on the basis of number of sections and sources.

Page 52: Function Point+Cocomo

Classification of complexity level For screens

Number of views contained

Total >4 (< 2server < 3 client)

Total <8 ( 2-3 server 3-5 client)

Total >8+ (>3 server >5 client)

<3 Simple Simple medium

3-7 Simple Medium Difficult

>8 Medium Difficult Difficult

medium

Page 53: Function Point+Cocomo

Complexity weight to each object

Object type

Simple Medium Difficult

Screen 1 2 3

Report 2 5 6

3GL Component

10

Page 54: Function Point+Cocomo

• Determine object points – add all weight object instances to get one number and this number is known as object point count.

• Compute new object points– NOP = ((Object points) * (100-% reuse) )/ 100