SlideShare ist ein Scribd-Unternehmen logo
1 von 70
Software Engineering-
Estimate
Govt. Polytechnic(W)
FARIDABAD
1st September 2016

The software project planner must
estimate three things before a project
begins:
how long it will take
how much effort will be required
how many people will be involved
Software Project
Planner

Estimation of resources, cost, and
schedule for a software engineering effort
requires experience, access to good
historical information, and the courage to
commit to quantitative predictions when
qualitative information is all that exists.
Project Estimation

Estimation carries inherent risk1
and this risk leads to uncertainty.
Estimation

Accurate project estimates generally
use at least two of the three
techniques just noted.
Estimation

By comparing and reconciling
estimates derived using different
techniques the planner is more
likely to derive an accurate
estimate.
Estimation

Software cost and effort
estimation will never be an exact
science, but a combination of
good historical data and
systematic techniques can
improve estimation accuracy.
Estimation

To achieve reliable cost and effort estimates, a number
of options arise:
1. Delay estimation until late in the project (obviously,
we can achieve 100% accurate estimates after the project
is complete!).
2. Base estimates on similar projects that have already
been completed.
3. Use relatively simple decomposition techniques to
generate project cost and effort estimates.
4. Use one or more empirical models for software cost
and effort estimation.
Reliable Cost and Effort
Estimates

These automated estimation tools
allow the planner to estimate cost
and effort and to perform "what-if"
analyses for important project
variables such as delivery date or
staffing.
Automated Estimation
Tools

Sizing of project deliverables
Selecting project activities
Predicting staffing levels
Predicting software effort
Predicting software cost
Predicting software schedules
AUTOMATED
ESTIMATION TOOLS

The “size” of one or more software work
products is estimated. Work products
include the external representation of
software (e.g., screen, reports), the
software itself (e.g., KLOC), functionality
delivered (e.g., function points),
descriptive information (e.g. documents).
Sizing of project
deliverables

The appropriate process framework
is selected and the software
engineering task set is specified.
Selecting project activities

The number of people who will be
available to do the work is specified.
Because the relationship between people
available and work (predicted effort) is
highly nonlinear, this is an important
input.
Predicting staffing levels

Estimation tools use one or more
models that relate the size of the
project deliverables to the effort
required to produce them.
Predicting software effort

Given the results of Predicting
software effort, costs can be
computed by allocating labor rates to
the project activities noted in
Selecting project activities.
Predicting software cost

When effort, staffing level, and project
activities are known, a draft schedule can
be produced by allocating labor across
software engineering activities based on
recommended models for effort
distribution.
Predicting software
schedules

Decomposition techniques
Empirical estimation models
Techniques of Estimates

Decomposition techniques require a delineation of
major software functions, followed by estimates of
either
(1) the number of LOC
(2) selected values within the information domain
(3) the number of person-months required to
implement each function
(4) the number of person-months required for each
software engineering activity.
Decomposition
Techniques

Empirical techniques use empirically
derived expressions for effort and
time to predict these project
quantities.
Automated tools can be used to
implement a specific empirical
model.
Empirical Techniques

The accuracy of a software project estimate is
predicated on
(1)the degree to which the planner has properly
estimated the size of the product to be built.
(2) the ability to translate the size estimate into human
effort, calendar time, and dollars (a function of the
availability of reliable software metrics from past
projects).
(3) the degree to which the project plan reflects the
abilities of the software team.
(4) the stability of product requirements and the
environment that supports the software engineering
effort.
Software Sizing

Fuzzy logic sizing
Function point sizing
Standard component sizing
Change sizing
Software Sizing
Problem

This approach uses the approximate reasoning
techniques that are the cornerstone of fuzzy
logic. To apply this approach, the planner must
identify the type of application, establish its
magnitude on a qualitative scale, and then
refine the magnitude within the original range.
Although personal experience can be used, the
planner should also have access to a historical
database of projects so that estimates can be
compared to actual experience.
Fuzzy Logic Sizing

The planner develops estimates of
the information domain
characteristics.
Function Point Sizing
Software is composed of a number of different
“standard components” that are generic to a particular
application area.
For example, the standard components for an information
system are subsystems, modules, screens, reports, interactive
programs, batch programs, files, LOC, and object-level
instructions. The planner estimates that 18 reports will be
generated. Historical data indicates that 967 lines of
COBOL[PUT92] are required per report. This enables the
planner to estimate that17,000 LOC will be required for the
reports component. Similar estimates and computation are made
for other standard components, and a combined size value
(adjusted statistically) results.
Standard Component
Sizing
This approach is used when a project
encompasses the use of existing software that
must be modified in some way as part of a
project.
The planner estimates the number and type
(e.g., reuse, adding code, changing code,
deleting code) of modifications that must be
accomplished. Using
an “effort ratio” [PUT92] for each type of
change, the size of the change may be
estimated.
Change Sizing

LOC and FP data are used in two ways during
software project estimation:
(1) as an estimation variable to "size“ each
element of the software and
(2) as baseline metrics collected from past
projects and used in conjunction with
estimation variables to develop cost and effort
projections.
Problem-Based
Estimation

Baseline productivity metrics (e.g., LOC/pm
or FP/pm9) are then applied to the
appropriate estimation variable, and cost or
effort for the function is derived.
 Function estimates are combined to produce
an overall estimate for the entire project.
Problem-Based
Estimation

The LOC and FP estimation techniques differ
in the level of detail required for
decomposition and the target of the
partitioning.
When LOC is used as the estimation variable,
decomposition10 is absolutely essential and
is often taken to considerable levels of detail.
LOC and FP Estimation

Software engineering activities are contracted
to a third party who does the work at lower
cost and, hopefully, higher quality. Software
work conducted within a company is reduced
to a contract management activity.
Outsourcing

Process-based estimation begins with a
delineation of software functions obtained from
the project scope.
A series of software process activities must be
performed for each function.
Process-Based
Estimation

Functions and related software process activities may
be represented as part of a table similar to the one
presented.
Functions- Software
Process Activities

If process-based estimation is performed
independently of LOC or FP estimation, we
now have two or three estimates for cost and
effort that may be compared and reconciled.
 If both sets of estimates show reasonable
agreement, there is good reason to believe
that the estimates are reliable.
Process-based
Estimation

Estimates of effort (in person-months) for
each software engineering activity are
provided for each CAD software function
(abbreviated for brevity).
Example of Process-Based
Estimation

Total estimated effort for the CAD software range
from a low of 46 person-months (derived using a
process-based estimation approach) to a high of 58
person-months(derived using an FP estimation
approach).
The average estimate (using all three approaches) is
53 person-months. The maximum variation from the
average estimate is approximately 13 percent.
Example of Process-Based
Estimation

Divergent estimates can often be traced to one of two
causes:
1. The scope of the project is not adequately understood
or has been misinterpreted by the planner.
2. Productivity data used for problem-based estimation
techniques is inappropriate for the application, obsolete
(in that it no longer accurately reflects the software
engineering organization), or has been misapplied.
Example of Process-Based
Estimation
A typical estimation model is derived using
regression analysis on data collected from
past software projects. The overall structure of
such models takes the form
E = A + B x (ev)C
Where
A, B, and C are empirically derived constants,
E is effort in person-months, and
ev is the estimation variable (either LOC or FP).
Structure of Estimation
Models

Many LOC-oriented estimation models
proposed in the literature are
E = 5.2 x (KLOC)0.91 Walston-Felix model
E = 5.5 + 0.73 x (KLOC)1.16 Bailey-Basili
model
E = 3.2 x (KLOC)1.05 Boehm simple model
E = 5.288 x (KLOC)1.047 Doty model for
KLOC > 9
LOC-Oriented Estimation
Models

FP-oriented models have also been proposed
E = 13.39 + 0.0545 FP Albrecht and Gaffney
model
E = 60.62 x 7.728 x 10-8 FP3 Kemerer model
E = 585.7 + 15.12 FP Matson, Barnett, and
Mellichamp model
FP-Oriented Models

Decision to outsource can be either
Strategic
Tactical
Outsourcing

At the strategic level, business
managers consider whether a
significant portion of all software
work can be contracted to others.
Strategic Level

At the tactical level, a project
manager determines whether part or
all of a project can be best
accomplished by subcontracting the
software work.
Tactical Level

Software engineering managers are faced with a
make/buy decision that can be further complicated by a
number of acquisition options:
(1) Software may be purchased (or licensed) off-the-
shelf,
(2) “fullexperience” or “partial-experience” software
components maybe acquired and then modified and
integrated to meet specific needs, or
(3) Software may be custom built by an outside
contractor to meet the purchaser's specifications.
Make/Buy Decision

The software equation [PUT92] is a
dynamic multivariable model that
assumes a specific distribution of effort
over the life of a software development
project.
The model has been derived from
productivity data collected for over 4000
contemporary software projects.
Software Equation

Based on these data, an estimation model of the form
E = [LOC B0.333/P]3 (1/t4) (5-3)
where E = effort in person-months or person-years
t = project duration in months or years
B = “special skills factor”16
P = “productivity parameter” that reflects:
• Overall process maturity and management practices
• The extent to which good software engineering practices are used
• The level of programming languages used
• The state of the software environment
• The skills and experience of the software team
• The complexity of the application
Estimation Model

The estimation process and use a
more common form for their
estimation model, Putnam and
Myers.
Estimation Process

Minimum development time is defined as
 tmin = 8.14 (LOC/P)0.43 in months for tmin > 6 months (5-4a)
 E = 180 Bt3 in person-months for E ≥ 20 person-months (5-4b)
 Note that t in Equation (5-4b) is represented in years.
 Using Equations (5-4) with P = 12,000 (the recommended value
for scientific software)
 for the CAD software discussed earlier in this chapter,
 tmin = 8.14 (33200/12000)0.43
 tmin = 12.6 calendar months
 E = 180 0.28 (1.05)3
 E = 58 person-months
Estimation Process
Equation

Project complexity
Project size
Degree of Structural Uncertainty
Estimation Process

Project complexity has a strong effect on the uncertainty
inherent in planning. Complexity,however, is a relative
measure that is affected by familiarity with past effort.
The first-time developer of a sophisticated e-commerce
application might consider it to be exceedingly
complex.
Project Complexity

It is important factor that can affect the accuracy and
efficacy of estimates. As size increases, the
interdependency among various elements of the
software grows rapidly.
Problem decomposition, an important approach to
estimating, becomes more difficult because
decomposed elements may still be formidable.
To paraphrase Murphy's law: "What can go wrong will
go wrong”—and if there are more things that can fail,
more things will fail.
Project Size

It has an effect on estimation risk. In this context,
structure refers to the degree to which requirements
have been solidified, the ease with which functions can
be compartmentalized, and the hierarchical nature of
the information that must be processed.
Degree of Structural
Uncertainty

Barry Boehm [BOE81] introduced a hierarchy of
software estimation models bearing the name
COCOMO, for
COnstructive COst Model
It has evolved into a more comprehensive estimation
model, called COCOMO II.
COCOMO Model
 Application composition model-
Used during the early stages of software engineering, when
prototyping of user interfaces, consideration of software
and system interaction, assessment of performance, and
evaluation of technology maturity are paramount.
 Early design stage model-
Used once requirements have been stabilized and basic
software architecture has been established.
 Post-architecture-stage model-
Used during the construction of the software.
COCOMO II

The COCOMO II application composition model uses
object points and is illustrated in the following
paragraphs.
COCOMO II

The object point is an indirect software measure that is
computed using counts of the number of
(1) screens (at the user interface)
(2) reports,
(3) components likely to be required to build the
application.
Each object instance (e.g., a screen or report) is
classified into one of three complexity levels (i.e.,
simple, medium, or difficult) using criteria suggested
by Boehm.
Object Point

Once complexity is determined, the number of screens,
reports, and components are weighted.
The object point count is then determined by
multiplying the original number of object instances by
the weighting factor and summing to obtain a total
object point count.
When component-based development or general
software reuse is to be applied, the percent of reuse
(%reuse) is estimated and the object point count is
adjusted:
Estimated Effort

NOP = (object points) x [(100 %reuse)/100]
where NOP is defined as new object points.
To derive an estimate of effort based on the computed
NOP value, a “productivity rate” must be derived.
Table 5.2 presents the productivity rate
PROD = NOP/person-month
Estimated Effort

Productivity Rates for Object
Points

Once the productivity rate has been determined, an
estimate of project effort can be derived as
Estimated effort = NOP/PROD
Estimated Effort

The software equation [PUT92] is a dynamic multivariable
model that assumes a specific
distribution of effort over the life of a software
development project.
An estimation model of the form
E = [LOC B0.333/P]3 (1/t4)
Where
E = effort in person-months or person-years
t = project duration in months or years
B = “special skills factor”16
P = “productivity parameter”
Software Equation

Overall process maturity and management
practices
The extent to which good software
engineering practices are used
The level of programming languages used
The state of the software environment
The skills and experience of the software
team
The complexity of the application
Productivity Parameter

It is important to note that the software
equation has two independent
parameters:
(1)An estimate of size (in LOC) and
(2)An indication of project duration in
calendar months or years.
Parameters Software
Equation

Minimum development time is defined as
tmin = 8.14 (LOC/P)0.43 in months for tmin
> 6 months
E = 180 Bt3 in person-months for E ≥ 20
person-months
Minimum
Development Time

with P = 12,000 for the CAD software
tmin = 8.14 (33200/12000)0.43
tmin = 12.6 calendar months
E = 180 0.28 (1.05)3
E = 58 person-months
Minimum
Development Time

Halstead proposed metrics or length and volume
of a program based on the number of operators
and operands.
n1 is the number of distinct operators
n2 is the number of distinct operands
f1 is the number of occurrences of the jth most
frequent operator
f2 is the number of occurrences of the jth most
frequent operand
Halstead’s Measure

Vocublary n of a program is defined as
n= n1 + n1
N1 = ∑ f1,j N2 = ∑ f2,j
N1 Total number of occurrence of different
operators in the program
N2 Total number of occurrence of different
operands in the program
The length of program is
N=N1+ N2
Halstead’s Measure

The Volume V of program is defined as
V= Nlog2(n)
log2(n)is the number of bits needed to represent
every element in the program
N is the total occurrences of the different
elements.
Volume is used as size metric for a program.
Halstead’s Measure
n1 is the number of unique operators
n2 is the number of unique operands
N1 is total frequency of operator
N2 is total frequency of operand
n1 /2 relative level of difficulty due to the larger
number of operators in the program
N1 / n2 represents the average number of times an
operand is used
Halstead’s Measure

Ease of reading and writing is defined by
D= N1 *n2 /2 * n2
Halstead’s Measure

 Software Engineering by Somerville
 Software Engineering-Pressman
 Software Engineering- Pankaj Jalote
 Software Engineering Tutorial Point
 Software Engineering Wikipedia
REFERENCES

THANK YOU

Weitere ähnliche Inhalte

Was ist angesagt?

Software engineering
Software engineeringSoftware engineering
Software engineering
Siddu-majety
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimation
Nur Islam
 

Was ist angesagt? (19)

Function Point Software Cost Estimates using Neuro-Fuzzy technique
Function Point Software Cost Estimates using Neuro-Fuzzy techniqueFunction Point Software Cost Estimates using Neuro-Fuzzy technique
Function Point Software Cost Estimates using Neuro-Fuzzy technique
 
Software effort estimation
Software effort estimationSoftware effort estimation
Software effort estimation
 
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATIONSOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
 
Insights on Research Techniques towards Cost Estimation in Software Design
Insights on Research Techniques towards Cost Estimation in Software Design Insights on Research Techniques towards Cost Estimation in Software Design
Insights on Research Techniques towards Cost Estimation in Software Design
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software Estimation
Software EstimationSoftware Estimation
Software Estimation
 
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATIONONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimation
 
Rsc 04
Rsc 04Rsc 04
Rsc 04
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
EARLY STAGE SOFTWARE DEVELOPMENT EFFORT ESTIMATIONS – MAMDANI FIS VS NEURAL N...
EARLY STAGE SOFTWARE DEVELOPMENT EFFORT ESTIMATIONS – MAMDANI FIS VS NEURAL N...EARLY STAGE SOFTWARE DEVELOPMENT EFFORT ESTIMATIONS – MAMDANI FIS VS NEURAL N...
EARLY STAGE SOFTWARE DEVELOPMENT EFFORT ESTIMATIONS – MAMDANI FIS VS NEURAL N...
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
 
Unit 2 spm
Unit 2 spmUnit 2 spm
Unit 2 spm
 
Software Project Estimation
Software Project EstimationSoftware Project Estimation
Software Project Estimation
 
COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES
COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES
COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
New approach for solving software project scheduling problem using differenti...
New approach for solving software project scheduling problem using differenti...New approach for solving software project scheduling problem using differenti...
New approach for solving software project scheduling problem using differenti...
 
Review on cost estimation technque for web application [part 1]
Review on cost estimation technque for web application [part 1]Review on cost estimation technque for web application [part 1]
Review on cost estimation technque for web application [part 1]
 
The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)The International Journal of Engineering and Science (IJES)
The International Journal of Engineering and Science (IJES)
 

Andere mochten auch (8)

Simplifying effort estimation based on use case points
Simplifying effort estimation based on use case pointsSimplifying effort estimation based on use case points
Simplifying effort estimation based on use case points
 
Software Estimation Part I
Software Estimation Part ISoftware Estimation Part I
Software Estimation Part I
 
Ch26
Ch26Ch26
Ch26
 
Software Project Estimation Survival Guide
Software Project Estimation Survival GuideSoftware Project Estimation Survival Guide
Software Project Estimation Survival Guide
 
Software Project Planning 1
Software Project Planning 1Software Project Planning 1
Software Project Planning 1
 
Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23Software Cost Estimation in Software Engineering SE23
Software Cost Estimation in Software Engineering SE23
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Estimation techniques and software metrics
Estimation techniques and software metricsEstimation techniques and software metrics
Estimation techniques and software metrics
 

Ähnlich wie Estimation sharbani bhattacharya

AN APPROACH FOR SOFTWARE EFFORT ESTIMATION USING FUZZY NUMBERS AND GENETIC AL...
AN APPROACH FOR SOFTWARE EFFORT ESTIMATION USING FUZZY NUMBERS AND GENETIC AL...AN APPROACH FOR SOFTWARE EFFORT ESTIMATION USING FUZZY NUMBERS AND GENETIC AL...
AN APPROACH FOR SOFTWARE EFFORT ESTIMATION USING FUZZY NUMBERS AND GENETIC AL...
cscpconf
 
Project management
Project managementProject management
Project management
Ahmed Said
 
Basic-Project-Estimation-1999
Basic-Project-Estimation-1999Basic-Project-Estimation-1999
Basic-Project-Estimation-1999
Michael Wigley
 

Ähnlich wie Estimation sharbani bhattacharya (20)

Unit 5
Unit   5Unit   5
Unit 5
 
AN APPROACH FOR SOFTWARE EFFORT ESTIMATION USING FUZZY NUMBERS AND GENETIC AL...
AN APPROACH FOR SOFTWARE EFFORT ESTIMATION USING FUZZY NUMBERS AND GENETIC AL...AN APPROACH FOR SOFTWARE EFFORT ESTIMATION USING FUZZY NUMBERS AND GENETIC AL...
AN APPROACH FOR SOFTWARE EFFORT ESTIMATION USING FUZZY NUMBERS AND GENETIC AL...
 
Lecture5
Lecture5Lecture5
Lecture5
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
Decomposition technique In Software Engineering
Decomposition technique In Software Engineering Decomposition technique In Software Engineering
Decomposition technique In Software Engineering
 
SE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptxSE - Lecture 11 - Software Project Estimation.pptx
SE - Lecture 11 - Software Project Estimation.pptx
 
21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt
 
Cost effort.ppt
Cost effort.pptCost effort.ppt
Cost effort.ppt
 
SE-Lecture-5.pptx
SE-Lecture-5.pptxSE-Lecture-5.pptx
SE-Lecture-5.pptx
 
How Should We Estimate Agile Software Development Projects and What Data Do W...
How Should We Estimate Agile Software Development Projects and What Data Do W...How Should We Estimate Agile Software Development Projects and What Data Do W...
How Should We Estimate Agile Software Development Projects and What Data Do W...
 
Comparison of available Methods to Estimate Effort, Performance and Cost with...
Comparison of available Methods to Estimate Effort, Performance and Cost with...Comparison of available Methods to Estimate Effort, Performance and Cost with...
Comparison of available Methods to Estimate Effort, Performance and Cost with...
 
Lecture6
Lecture6Lecture6
Lecture6
 
Software project planning in software engineering by ram k paliwal unit 2
Software project planning in software engineering by ram k paliwal unit 2Software project planning in software engineering by ram k paliwal unit 2
Software project planning in software engineering by ram k paliwal unit 2
 
Software cost estimation project
Software  cost estimation projectSoftware  cost estimation project
Software cost estimation project
 
Project Scheduling
Project SchedulingProject Scheduling
Project Scheduling
 
Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)
 
Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)
 
Web Engineering - Web Effort Estimation
Web Engineering - Web Effort EstimationWeb Engineering - Web Effort Estimation
Web Engineering - Web Effort Estimation
 
Project management
Project managementProject management
Project management
 
Basic-Project-Estimation-1999
Basic-Project-Estimation-1999Basic-Project-Estimation-1999
Basic-Project-Estimation-1999
 

Mehr von Sharbani Bhattacharya

Mehr von Sharbani Bhattacharya (20)

Biometric authentication green apple computer learning
Biometric authentication green apple computer learningBiometric authentication green apple computer learning
Biometric authentication green apple computer learning
 
Javascript
JavascriptJavascript
Javascript
 
PHP programmimg
PHP programmimgPHP programmimg
PHP programmimg
 
Sharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & ImplementationSharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & Implementation
 
Visual Basic –User Interface- V
Visual Basic –User Interface- VVisual Basic –User Interface- V
Visual Basic –User Interface- V
 
Visual Basic User Interface-VI
Visual Basic User Interface-VIVisual Basic User Interface-VI
Visual Basic User Interface-VI
 
Microsoft Front Page
Microsoft Front PageMicrosoft Front Page
Microsoft Front Page
 
Visual Basic User Interface-III
Visual Basic User Interface-IIIVisual Basic User Interface-III
Visual Basic User Interface-III
 
Visual Basic User Interface -IV
Visual Basic User Interface -IVVisual Basic User Interface -IV
Visual Basic User Interface -IV
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Sharbani bhattacharya Visual Basic User Interface-ii
Sharbani bhattacharya  Visual Basic User Interface-iiSharbani bhattacharya  Visual Basic User Interface-ii
Sharbani bhattacharya Visual Basic User Interface-ii
 
Sharbani Bhattacharya VB User Interface1
Sharbani Bhattacharya VB User Interface1Sharbani Bhattacharya VB User Interface1
Sharbani Bhattacharya VB User Interface1
 
Sharbani bhattacharya VB Structures
Sharbani bhattacharya VB StructuresSharbani bhattacharya VB Structures
Sharbani bhattacharya VB Structures
 
Software Metrics & Measurement-Sharbani Bhattacharya
Software Metrics & Measurement-Sharbani BhattacharyaSoftware Metrics & Measurement-Sharbani Bhattacharya
Software Metrics & Measurement-Sharbani Bhattacharya
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
SE Introduction sharbani bhattacharya
SE Introduction sharbani bhattacharyaSE Introduction sharbani bhattacharya
SE Introduction sharbani bhattacharya
 
Sharbani bhattacharya Macromedia-flash
Sharbani bhattacharya Macromedia-flashSharbani bhattacharya Macromedia-flash
Sharbani bhattacharya Macromedia-flash
 
Sharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual BasicSharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual Basic
 
Sharbani bhattacharya gyanodya 2014
Sharbani bhattacharya gyanodya 2014Sharbani bhattacharya gyanodya 2014
Sharbani bhattacharya gyanodya 2014
 
Sharbani bhattacharya sacta 2014
Sharbani bhattacharya sacta 2014Sharbani bhattacharya sacta 2014
Sharbani bhattacharya sacta 2014
 

Kürzlich hochgeladen

Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
jaanualu31
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 

Kürzlich hochgeladen (20)

Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 

Estimation sharbani bhattacharya

  • 2.  The software project planner must estimate three things before a project begins: how long it will take how much effort will be required how many people will be involved Software Project Planner
  • 3.  Estimation of resources, cost, and schedule for a software engineering effort requires experience, access to good historical information, and the courage to commit to quantitative predictions when qualitative information is all that exists. Project Estimation
  • 4.  Estimation carries inherent risk1 and this risk leads to uncertainty. Estimation
  • 5.  Accurate project estimates generally use at least two of the three techniques just noted. Estimation
  • 6.  By comparing and reconciling estimates derived using different techniques the planner is more likely to derive an accurate estimate. Estimation
  • 7.  Software cost and effort estimation will never be an exact science, but a combination of good historical data and systematic techniques can improve estimation accuracy. Estimation
  • 8.  To achieve reliable cost and effort estimates, a number of options arise: 1. Delay estimation until late in the project (obviously, we can achieve 100% accurate estimates after the project is complete!). 2. Base estimates on similar projects that have already been completed. 3. Use relatively simple decomposition techniques to generate project cost and effort estimates. 4. Use one or more empirical models for software cost and effort estimation. Reliable Cost and Effort Estimates
  • 9.  These automated estimation tools allow the planner to estimate cost and effort and to perform "what-if" analyses for important project variables such as delivery date or staffing. Automated Estimation Tools
  • 10.  Sizing of project deliverables Selecting project activities Predicting staffing levels Predicting software effort Predicting software cost Predicting software schedules AUTOMATED ESTIMATION TOOLS
  • 11.  The “size” of one or more software work products is estimated. Work products include the external representation of software (e.g., screen, reports), the software itself (e.g., KLOC), functionality delivered (e.g., function points), descriptive information (e.g. documents). Sizing of project deliverables
  • 12.  The appropriate process framework is selected and the software engineering task set is specified. Selecting project activities
  • 13.  The number of people who will be available to do the work is specified. Because the relationship between people available and work (predicted effort) is highly nonlinear, this is an important input. Predicting staffing levels
  • 14.  Estimation tools use one or more models that relate the size of the project deliverables to the effort required to produce them. Predicting software effort
  • 15.  Given the results of Predicting software effort, costs can be computed by allocating labor rates to the project activities noted in Selecting project activities. Predicting software cost
  • 16.  When effort, staffing level, and project activities are known, a draft schedule can be produced by allocating labor across software engineering activities based on recommended models for effort distribution. Predicting software schedules
  • 18.  Decomposition techniques require a delineation of major software functions, followed by estimates of either (1) the number of LOC (2) selected values within the information domain (3) the number of person-months required to implement each function (4) the number of person-months required for each software engineering activity. Decomposition Techniques
  • 19.  Empirical techniques use empirically derived expressions for effort and time to predict these project quantities. Automated tools can be used to implement a specific empirical model. Empirical Techniques
  • 20.  The accuracy of a software project estimate is predicated on (1)the degree to which the planner has properly estimated the size of the product to be built. (2) the ability to translate the size estimate into human effort, calendar time, and dollars (a function of the availability of reliable software metrics from past projects). (3) the degree to which the project plan reflects the abilities of the software team. (4) the stability of product requirements and the environment that supports the software engineering effort. Software Sizing
  • 21.  Fuzzy logic sizing Function point sizing Standard component sizing Change sizing Software Sizing Problem
  • 22.  This approach uses the approximate reasoning techniques that are the cornerstone of fuzzy logic. To apply this approach, the planner must identify the type of application, establish its magnitude on a qualitative scale, and then refine the magnitude within the original range. Although personal experience can be used, the planner should also have access to a historical database of projects so that estimates can be compared to actual experience. Fuzzy Logic Sizing
  • 23.  The planner develops estimates of the information domain characteristics. Function Point Sizing
  • 24. Software is composed of a number of different “standard components” that are generic to a particular application area. For example, the standard components for an information system are subsystems, modules, screens, reports, interactive programs, batch programs, files, LOC, and object-level instructions. The planner estimates that 18 reports will be generated. Historical data indicates that 967 lines of COBOL[PUT92] are required per report. This enables the planner to estimate that17,000 LOC will be required for the reports component. Similar estimates and computation are made for other standard components, and a combined size value (adjusted statistically) results. Standard Component Sizing
  • 25. This approach is used when a project encompasses the use of existing software that must be modified in some way as part of a project. The planner estimates the number and type (e.g., reuse, adding code, changing code, deleting code) of modifications that must be accomplished. Using an “effort ratio” [PUT92] for each type of change, the size of the change may be estimated. Change Sizing
  • 26.  LOC and FP data are used in two ways during software project estimation: (1) as an estimation variable to "size“ each element of the software and (2) as baseline metrics collected from past projects and used in conjunction with estimation variables to develop cost and effort projections. Problem-Based Estimation
  • 27.  Baseline productivity metrics (e.g., LOC/pm or FP/pm9) are then applied to the appropriate estimation variable, and cost or effort for the function is derived.  Function estimates are combined to produce an overall estimate for the entire project. Problem-Based Estimation
  • 28.  The LOC and FP estimation techniques differ in the level of detail required for decomposition and the target of the partitioning. When LOC is used as the estimation variable, decomposition10 is absolutely essential and is often taken to considerable levels of detail. LOC and FP Estimation
  • 29.  Software engineering activities are contracted to a third party who does the work at lower cost and, hopefully, higher quality. Software work conducted within a company is reduced to a contract management activity. Outsourcing
  • 30.  Process-based estimation begins with a delineation of software functions obtained from the project scope. A series of software process activities must be performed for each function. Process-Based Estimation
  • 31.  Functions and related software process activities may be represented as part of a table similar to the one presented. Functions- Software Process Activities
  • 32.  If process-based estimation is performed independently of LOC or FP estimation, we now have two or three estimates for cost and effort that may be compared and reconciled.  If both sets of estimates show reasonable agreement, there is good reason to believe that the estimates are reliable. Process-based Estimation
  • 33.  Estimates of effort (in person-months) for each software engineering activity are provided for each CAD software function (abbreviated for brevity). Example of Process-Based Estimation
  • 34.  Total estimated effort for the CAD software range from a low of 46 person-months (derived using a process-based estimation approach) to a high of 58 person-months(derived using an FP estimation approach). The average estimate (using all three approaches) is 53 person-months. The maximum variation from the average estimate is approximately 13 percent. Example of Process-Based Estimation
  • 35.  Divergent estimates can often be traced to one of two causes: 1. The scope of the project is not adequately understood or has been misinterpreted by the planner. 2. Productivity data used for problem-based estimation techniques is inappropriate for the application, obsolete (in that it no longer accurately reflects the software engineering organization), or has been misapplied. Example of Process-Based Estimation
  • 36. A typical estimation model is derived using regression analysis on data collected from past software projects. The overall structure of such models takes the form E = A + B x (ev)C Where A, B, and C are empirically derived constants, E is effort in person-months, and ev is the estimation variable (either LOC or FP). Structure of Estimation Models
  • 37.  Many LOC-oriented estimation models proposed in the literature are E = 5.2 x (KLOC)0.91 Walston-Felix model E = 5.5 + 0.73 x (KLOC)1.16 Bailey-Basili model E = 3.2 x (KLOC)1.05 Boehm simple model E = 5.288 x (KLOC)1.047 Doty model for KLOC > 9 LOC-Oriented Estimation Models
  • 38.  FP-oriented models have also been proposed E = 13.39 + 0.0545 FP Albrecht and Gaffney model E = 60.62 x 7.728 x 10-8 FP3 Kemerer model E = 585.7 + 15.12 FP Matson, Barnett, and Mellichamp model FP-Oriented Models
  • 39.  Decision to outsource can be either Strategic Tactical Outsourcing
  • 40.  At the strategic level, business managers consider whether a significant portion of all software work can be contracted to others. Strategic Level
  • 41.  At the tactical level, a project manager determines whether part or all of a project can be best accomplished by subcontracting the software work. Tactical Level
  • 42.  Software engineering managers are faced with a make/buy decision that can be further complicated by a number of acquisition options: (1) Software may be purchased (or licensed) off-the- shelf, (2) “fullexperience” or “partial-experience” software components maybe acquired and then modified and integrated to meet specific needs, or (3) Software may be custom built by an outside contractor to meet the purchaser's specifications. Make/Buy Decision
  • 43.  The software equation [PUT92] is a dynamic multivariable model that assumes a specific distribution of effort over the life of a software development project. The model has been derived from productivity data collected for over 4000 contemporary software projects. Software Equation
  • 44.  Based on these data, an estimation model of the form E = [LOC B0.333/P]3 (1/t4) (5-3) where E = effort in person-months or person-years t = project duration in months or years B = “special skills factor”16 P = “productivity parameter” that reflects: • Overall process maturity and management practices • The extent to which good software engineering practices are used • The level of programming languages used • The state of the software environment • The skills and experience of the software team • The complexity of the application Estimation Model
  • 45.  The estimation process and use a more common form for their estimation model, Putnam and Myers. Estimation Process
  • 46.  Minimum development time is defined as  tmin = 8.14 (LOC/P)0.43 in months for tmin > 6 months (5-4a)  E = 180 Bt3 in person-months for E ≥ 20 person-months (5-4b)  Note that t in Equation (5-4b) is represented in years.  Using Equations (5-4) with P = 12,000 (the recommended value for scientific software)  for the CAD software discussed earlier in this chapter,  tmin = 8.14 (33200/12000)0.43  tmin = 12.6 calendar months  E = 180 0.28 (1.05)3  E = 58 person-months Estimation Process Equation
  • 47.  Project complexity Project size Degree of Structural Uncertainty Estimation Process
  • 48.  Project complexity has a strong effect on the uncertainty inherent in planning. Complexity,however, is a relative measure that is affected by familiarity with past effort. The first-time developer of a sophisticated e-commerce application might consider it to be exceedingly complex. Project Complexity
  • 49.  It is important factor that can affect the accuracy and efficacy of estimates. As size increases, the interdependency among various elements of the software grows rapidly. Problem decomposition, an important approach to estimating, becomes more difficult because decomposed elements may still be formidable. To paraphrase Murphy's law: "What can go wrong will go wrong”—and if there are more things that can fail, more things will fail. Project Size
  • 50.  It has an effect on estimation risk. In this context, structure refers to the degree to which requirements have been solidified, the ease with which functions can be compartmentalized, and the hierarchical nature of the information that must be processed. Degree of Structural Uncertainty
  • 51.  Barry Boehm [BOE81] introduced a hierarchy of software estimation models bearing the name COCOMO, for COnstructive COst Model It has evolved into a more comprehensive estimation model, called COCOMO II. COCOMO Model
  • 52.  Application composition model- Used during the early stages of software engineering, when prototyping of user interfaces, consideration of software and system interaction, assessment of performance, and evaluation of technology maturity are paramount.  Early design stage model- Used once requirements have been stabilized and basic software architecture has been established.  Post-architecture-stage model- Used during the construction of the software. COCOMO II
  • 53.  The COCOMO II application composition model uses object points and is illustrated in the following paragraphs. COCOMO II
  • 54.  The object point is an indirect software measure that is computed using counts of the number of (1) screens (at the user interface) (2) reports, (3) components likely to be required to build the application. Each object instance (e.g., a screen or report) is classified into one of three complexity levels (i.e., simple, medium, or difficult) using criteria suggested by Boehm. Object Point
  • 55.  Once complexity is determined, the number of screens, reports, and components are weighted. The object point count is then determined by multiplying the original number of object instances by the weighting factor and summing to obtain a total object point count. When component-based development or general software reuse is to be applied, the percent of reuse (%reuse) is estimated and the object point count is adjusted: Estimated Effort
  • 56.  NOP = (object points) x [(100 %reuse)/100] where NOP is defined as new object points. To derive an estimate of effort based on the computed NOP value, a “productivity rate” must be derived. Table 5.2 presents the productivity rate PROD = NOP/person-month Estimated Effort
  • 57.  Productivity Rates for Object Points
  • 58.  Once the productivity rate has been determined, an estimate of project effort can be derived as Estimated effort = NOP/PROD Estimated Effort
  • 59.  The software equation [PUT92] is a dynamic multivariable model that assumes a specific distribution of effort over the life of a software development project. An estimation model of the form E = [LOC B0.333/P]3 (1/t4) Where E = effort in person-months or person-years t = project duration in months or years B = “special skills factor”16 P = “productivity parameter” Software Equation
  • 60.  Overall process maturity and management practices The extent to which good software engineering practices are used The level of programming languages used The state of the software environment The skills and experience of the software team The complexity of the application Productivity Parameter
  • 61.  It is important to note that the software equation has two independent parameters: (1)An estimate of size (in LOC) and (2)An indication of project duration in calendar months or years. Parameters Software Equation
  • 62.  Minimum development time is defined as tmin = 8.14 (LOC/P)0.43 in months for tmin > 6 months E = 180 Bt3 in person-months for E ≥ 20 person-months Minimum Development Time
  • 63.  with P = 12,000 for the CAD software tmin = 8.14 (33200/12000)0.43 tmin = 12.6 calendar months E = 180 0.28 (1.05)3 E = 58 person-months Minimum Development Time
  • 64.  Halstead proposed metrics or length and volume of a program based on the number of operators and operands. n1 is the number of distinct operators n2 is the number of distinct operands f1 is the number of occurrences of the jth most frequent operator f2 is the number of occurrences of the jth most frequent operand Halstead’s Measure
  • 65.  Vocublary n of a program is defined as n= n1 + n1 N1 = ∑ f1,j N2 = ∑ f2,j N1 Total number of occurrence of different operators in the program N2 Total number of occurrence of different operands in the program The length of program is N=N1+ N2 Halstead’s Measure
  • 66.  The Volume V of program is defined as V= Nlog2(n) log2(n)is the number of bits needed to represent every element in the program N is the total occurrences of the different elements. Volume is used as size metric for a program. Halstead’s Measure
  • 67. n1 is the number of unique operators n2 is the number of unique operands N1 is total frequency of operator N2 is total frequency of operand n1 /2 relative level of difficulty due to the larger number of operators in the program N1 / n2 represents the average number of times an operand is used Halstead’s Measure
  • 68.  Ease of reading and writing is defined by D= N1 *n2 /2 * n2 Halstead’s Measure
  • 69.   Software Engineering by Somerville  Software Engineering-Pressman  Software Engineering- Pankaj Jalote  Software Engineering Tutorial Point  Software Engineering Wikipedia REFERENCES