SlideShare a Scribd company logo
1 of 30
Software Engineering
Gagan Deep
Rozy Computech Services
3rd Gate, K.U., Kurukshetra
rozygag@yahoo.com
PLANNING A SOFTWARE PROJECT
 Planning is perhaps the most important activity of
management.
 The basic goal of planning is to find the activity
which are to be performed for completing a project.
 A good plan is that which can handle all the
uncertain event which can occur during the
development of project.
 A good planning helps in good decision making.
 Lack of planning is a primary cause of schedule
slippage, cost overruns, poor quality, and high
maintenance costs for software.
Software Engineering by Gagan Deep rozygag@yahoo.com 2
Some factors to consider in project planning:
 Cost & Schedule estimation techniques to be used;
accuracy required.
 Life-cycle model, control functions, and reviews.
 Organizational structure ( team structure)
 Level of formality in specifications, test plans, etc.
 Level of verification and validation (independent
group?).
 Level of configuration management required.
 Level of quality assurance required.
 Planning for management of risk.
 Project monitoring & controlling techniques.
 Personnel recruitment and training.
Software Engineering by Gagan Deep rozygag@yahoo.com 3
SOFTWARE COST ESTIMATION
 Estimation of resources, cost and schedule for a
software development effort requires experience.
 Access to good historical information and the courage
to commit to quantitative measures when qualitative
data are all that exist.
 The importance of software cost estimation is well
documented.
 Good estimation techniques serve as a basis for
communication between software personnel and non-
software personnel such as managers, sales people or
even customers
Software Engineering by Gagan Deep rozygag@yahoo.com 4
 Cost estimation is part of the planning stage of any
engineering activity.
 The difference in cost estimation between software
engineering and other disciplines is that in software
engineering the primary cost is for people.
 In other engineering disciplines, the cost of
materials - chips, bricks, or aluminum, depending on
the activity - is a major component of the cost that
must be estimated.
 In software engineering, to estimate the cost, we
only have to estimate how many engineers are
needed.
5Software Engineering by Gagan Deep rozygag@yahoo.com
Uses of Cost Estimation
 Software cost estimation has two uses in
software project management.
 During the planning stage, one needs to decide
how many engineers are needed for the project
and to develop a schedule.
 In monitoring the project's progress, one needs to
assess whether the project is progressing
according to schedule and take corrective action,
if necessary.
6Software Engineering by Gagan Deep rozygag@yahoo.com
Basili (1980) described four classes of resources models:
 Static single-variable models
 Static multi-variable models
 Dynamic multi-variable models
 Theoretical models
 The static single-variable model takes the form:
Resources = c1* (Estimated Characteristics)C
2
where the resources could be effort, project duration, staff
size or requisite lines of software documentation. The
constants c1 and c2 are derived from data collected from past
projects. The basic version of the Constructive Cost Model
or COCOMO is an example of a static single-variable
model.
7Software Engineering by Gagan Deep rozygag@yahoo.com
 Static multi-variable model has the following form:
Resources = c21e1+ c22e2+…
where e1 is the ith software characteristics and c21 , c22
are empirically derived constants for the ith
characteristics.
 A dynamic multivariate model projects resource
requirements as a function of time.
 A theoretical approach to dynamic multivariable
modeling hypothesizes a continuous resource
expenditure curve and from it, derives equations that
model the behavior of the resource. The Putnam
Estimation Model is a theoretical dynamic multi-
variable model.
8Software Engineering by Gagan Deep rozygag@yahoo.com
COCOMO Model
 As we have already knows that COCOMO
model is used for Cost estimation and developed
by Boehm.
 This model also estimates the total effort in
terms of person-months of the technical project
staff.
 The Effort Estimate includes development,
management, and support tasks but does not
include the cost of the secretarial and other staff
that might be needed in an organization.
9Software Engineering by Gagan Deep rozygag@yahoo.com
The basic steps in this model are :
1. Obtain an initial estimate of the development
effort from estimate of thousands of delivered
lines of source code (KDLOC).
2. Determine a set of 15 multiplying factors from
different attributes of the project.
3. Calculated the effort estimate by multiplying the
initial estimate with all the multiplying factors i.e.
multiply the values in step 1 and step 2.
10Software Engineering by Gagan Deep rozygag@yahoo.com
 The initial estimate (also called nominal estimate) is
determined by an equation of the form used in the
static single variable models, using KDLOC as the
measure of size. To determine the initial effort Ei in
person-months the equation used is of the type is
shown below
Ei = a * (KDLOC)b.
 The value of the constants a and b depend on the
project type.
 In COCOMO, projects are categorized into three
types –
1. Organic
2. Semidetached
3. Embedded.
11Software Engineering by Gagan Deep rozygag@yahoo.com
 Organic projects are in an area in which the
organization has considerable experience and
requirements are not difficult to find out. Such
systems are usually developed by a small team.
Example of this type of project are simple business
systems, simple inventory management systems, and
data processing systems.
 Projects of the embedded type are ambitious and
novel; the organization has little experience and it is
difficult to find out requirements. These systems have
tight constraints from the environment (software,
hardware, and people). Examples are embedded
avionics systems and real-time command systems.
Software Engineering by Gagan Deep
rozygag@yahoo.com 12
 The semidetached systems fall between these two
types. Semidetached project in which analyst know not
all but much of requirement and have little experience
of developing. Examples of semidetached system
include developing a new operating system (OS), a
database management system (DBMS), and complex
inventory management system.
 The constants a and b for different systems are given
in table.
 There are 15 different attributes, called cost driver
attributes, that determine the multiplying factors.
13Software Engineering by Gagan Deep rozygag@yahoo.com
Table A : Constants for different project types
Project Type Nominal effort
Constant
Schedule
Constant
a b c d
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
14Software Engineering by Gagan Deep rozygag@yahoo.com
Table B : Effort multipliers for different cost drivers
Cost Drivers Rating
Very Low Low Nominal High Very High
Product Attributes
RELY, DATA, CPLX
Different Estimated Effort Multipliers for
Different Attributes
Computer attribute
TIME, STOR
VITR, TURN
Personnel attribute
ACAP, AEXP
PCAP, VEXP, LAXP
Project attribute
MODP
TOOL
SCHED
15Software Engineering by Gagan Deep rozygag@yahoo.com
The Cost driver are divided into four categories: As specified
in the last slide
 The value of each type of attribute varies from very low , low,
nominal, high, very high as shown in table B.
 The multiplying factors for all 15 cost drivers are multiplied to
get the Effort Adjustment Factor (EAF). The final effort
estimate, E, is obtaining by multiplying the initial estimate by
EAF :
E = EAF * Ei
 COCOMO provides three levels of models of increasing
complexity :
basic,
intermediate, and
detailed.
16Software Engineering by Gagan Deep rozygag@yahoo.com
Average Duration Estimation
 Single variable models can be used to determine the
overall duration of the project. Generally, schedule is
modeled as depending on the Total Effort (which, in
turn, depends on size). Again, the constants for the
model are determined from historical data.
 The IBM Federal System Division found that the
total duration, 'D 'in calendar months can be
estimated by
D = 4.1 x E.36
17Software Engineering by Gagan Deep rozygag@yahoo.com
 In COCOMO, the schedule is determined in a
similar manner. The general equation for
calculation of schedule is
D= c x Ed
The value of c and d are shown in table A.
 The equation for an organic type of software is
D = 2.5 x E.38
 For other project types, the constants vary only
slightly.
18Software Engineering by Gagan Deep rozygag@yahoo.com
 Software cost estimation models such as COCOMO are
required for an engineering approach to software
management.
 Without such models, one has only judgment to rely on,
which makes decisions hard to trust and justify.
 Worse, one can never be sure whether improvements are
being made to the software.
 While current models still lack a full scientific
justification, they can be used and validated against an
organization's project data base.
 With the current state of the art of cost estimation
modeling, it is not wise to have complete and blind trust
in the results of the models, but a project manager would
be equally unwise to ignore the value of such tools for a
software development organization as a whole.
19Software Engineering by Gagan Deep rozygag@yahoo.com
COCOMO II
Main objectives of COCOMO II:
 To develop a software cost and schedule estimation
model tuned to the life cycle practices of the 1990’s
and 2000’s
 To develop software cost database and tool support
capabilities for continuous model improvement
20Software Engineering by Gagan Deep rozygag@yahoo.com
Has three different models
 The Application Composition Model
Good for projects built using rapid
application development tools (GUI-builders
etc)
 The Early Design Model
This model can get rough estimates before
the entire architecture has been decided
 The Post-Architecture Model
Most detailed model, used after
overall architecture has been decided on
21Software Engineering by Gagan Deep rozygag@yahoo.com
COCOMO II Differences
 The exponent value b in the effort equation is
replaced with a variable value based on five scale
factors rather then constants
 Size of project can be listed as object points,
function points or source lines of code (SLOC).
 EAF is calculated from seventeen cost drivers better
suited for today's methods, COCOMO81 has fifteen
 A breakage rating has been added to address
volatility of system
22Software Engineering by Gagan Deep rozygag@yahoo.com
COCOMO II Calibration
 For COCOMO II results to be accurate the model
must be calibrated
 Calibration requires that all cost driver parameters
be adjusted
 Requires lots of data, usually more then one
company has
 The plan was to release calibrations each year but so
far only two calibrations have been done
(COCOMO II.1997, COCOMO II. 1998)
 Users can submit data from their own projects to be
used in future calibrations
23Software Engineering by Gagan Deep rozygag@yahoo.com
Importance of Calibration
 Proper calibration is very important
 The original COCOMO II.1997 could estimate
within 20% of the actual values 46% of the time.
This was based on 83 data points.
 The recalibration for COCOMO II.1998 could
estimate within 30% of the actual values 75% of
the time. This was based on 161 data points.
24Software Engineering by Gagan Deep rozygag@yahoo.com
Is COCOMO the Best?
 COCOMO is the most popular method however
for any software cost estimation you should really
use more then one method
 Best to use another method that differs
significantly from COCOMO so your project is
examined from more then one angle
 Even companies that sell COCOMO based
products recommend using more then one method.
25Software Engineering by Gagan Deep rozygag@yahoo.com
COCOMO Conclusions
 COCOMO is the most popular software cost
estimation method
 Easy to do, small estimates can be done by
hand
 A free graphical version available for
download
 Many different commercial version based on
COCOMO – they supply support and more
data, but at a price
26Software Engineering by Gagan Deep rozygag@yahoo.com
Putnam Resource Allocation Model
Time
 Fig.6: The Rayleigh manpower loading curve
27
Norden of IBM
Rayleigh Curve
Model for a range of hardware development Projects
Overall Curve
Design & Coding
Persons
Software Engineering by Gagan Deep rozygag@yahoo.com
Putnam Model Details
 Volume of work
 Difficulty gradient for measuring complexity
 Project technology factor measuring staff
experience
 Delivery time constraints
 Staffing model based on
 Total cumulative staff
 How quickly new staff can be absorbed
 # days in project month
28Software Engineering by Gagan Deep rozygag@yahoo.com
Putnam Equation
E = y(T) = 0.3945 * K
K = area under curve [0 , 1)
measured in programmer year
T = optimal development time in years
D = K / T2 difficulty
P = ci * D –2/3 productivity
S = c * K –1/3 * T 4/3 lines of code
29Software Engineering by Gagan Deep rozygag@yahoo.com
Thanks!
Gagan Deep
Rozy Computech Services
3rd Gate, K.U., Kurukshetra
rozygag@yahoo.com

More Related Content

What's hot

Software project estimation
Software project estimationSoftware project estimation
Software project estimationinayat khan
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project ManagementReetesh Gupta
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project ManagementNoorHameed6
 
Rapid Application Development Model
Rapid Application Development ModelRapid Application Development Model
Rapid Application Development ModelDamian T. Gordon
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentationKudzai Rerayi
 
Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)AmanSharma1172
 
Software estimation
Software estimationSoftware estimation
Software estimationMd Shakir
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsStephennancy
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTKathirvel Ayyaswamy
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesMohamedIbrahim1408
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)ShudipPal
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factorsNancyBeaulah_R
 
Software project management
Software project managementSoftware project management
Software project managementR A Akerkar
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Basic Software Effort Estimation
Basic Software Effort EstimationBasic Software Effort Estimation
Basic Software Effort Estimationumair khan
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structuresNur Islam
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economicsmeena466141
 

What's hot (20)

Software project estimation
Software project estimationSoftware project estimation
Software project estimation
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
 
Software Project Management
Software Project ManagementSoftware Project Management
Software Project Management
 
Rapid Application Development Model
Rapid Application Development ModelRapid Application Development Model
Rapid Application Development Model
 
Software cost estimation techniques presentation
Software cost estimation techniques presentationSoftware cost estimation techniques presentation
Software cost estimation techniques presentation
 
Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)Constructive Cost Model - II (COCOMO-II)
Constructive Cost Model - II (COCOMO-II)
 
Software estimation
Software estimationSoftware estimation
Software estimation
 
Defining the Problem - Goals and requirements
Defining the Problem - Goals and requirementsDefining the Problem - Goals and requirements
Defining the Problem - Goals and requirements
 
MG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENTMG6088 SOFTWARE PROJECT MANAGEMENT
MG6088 SOFTWARE PROJECT MANAGEMENT
 
RMMM Plan
RMMM PlanRMMM Plan
RMMM Plan
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Software quality
Software qualitySoftware quality
Software quality
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factors
 
Software project management
Software project managementSoftware project management
Software project management
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Basic Software Effort Estimation
Basic Software Effort EstimationBasic Software Effort Estimation
Basic Software Effort Estimation
 
Organization and team structures
Organization and team structuresOrganization and team structures
Organization and team structures
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economics
 

Similar to Software Project Planning 1

Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...IRJET Journal
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)kiran Patel
 
software project management.lpu.slide.ansh.gupta
software project management.lpu.slide.ansh.guptasoftware project management.lpu.slide.ansh.gupta
software project management.lpu.slide.ansh.guptayitoxay869
 
IRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET Journal
 
Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)eSAT Journals
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxYagnaGummadi
 
Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)eSAT Publishing House
 
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...Glen Alleman
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceArti Parab Academics
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimationPramod Parajuli
 
21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.pptssuser7f90ae
 
Lecture5
Lecture5Lecture5
Lecture5soloeng
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5SIMONTHOMAS S
 
Software cost estimation project
Software  cost estimation projectSoftware  cost estimation project
Software cost estimation projectShashank Puppala
 

Similar to Software Project Planning 1 (20)

Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
Enhancing the Software Effort Prediction Accuracy using Reduced Number of Cos...
 
Effort estimation( software Engineering)
Effort estimation( software Engineering)Effort estimation( software Engineering)
Effort estimation( software Engineering)
 
software project management.lpu.slide.ansh.gupta
software project management.lpu.slide.ansh.guptasoftware project management.lpu.slide.ansh.gupta
software project management.lpu.slide.ansh.gupta
 
IRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation TechniquesIRJET- Analysis of Software Cost Estimation Techniques
IRJET- Analysis of Software Cost Estimation Techniques
 
Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)
 
Exp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptxExp 02-COCOMO (1).pptx
Exp 02-COCOMO (1).pptx
 
Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)Extreme software estimation (xsoft estimation)
Extreme software estimation (xsoft estimation)
 
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...
 
Software Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer ScienceSoftware Engineering Fundamentals in Computer Science
Software Engineering Fundamentals in Computer Science
 
COCOMO methods for software size estimation
COCOMO methods for software size estimationCOCOMO methods for software size estimation
COCOMO methods for software size estimation
 
Aa03101540158
Aa03101540158Aa03101540158
Aa03101540158
 
21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt21UCAE52 Software Project Management.ppt
21UCAE52 Software Project Management.ppt
 
Lecture5
Lecture5Lecture5
Lecture5
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
Estimation sharbani bhattacharya
Estimation sharbani bhattacharyaEstimation sharbani bhattacharya
Estimation sharbani bhattacharya
 
LECT9.ppt
LECT9.pptLECT9.ppt
LECT9.ppt
 
Cost estamition
Cost estamitionCost estamition
Cost estamition
 
Unit 5
Unit   5Unit   5
Unit 5
 
Software cost estimation project
Software  cost estimation projectSoftware  cost estimation project
Software cost estimation project
 
cost-estimation-tutorial
cost-estimation-tutorialcost-estimation-tutorial
cost-estimation-tutorial
 

More from Gagan Deep

Fundamentals of Neural Networks
Fundamentals of Neural NetworksFundamentals of Neural Networks
Fundamentals of Neural NetworksGagan Deep
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial IntelligenceGagan Deep
 
Software Project Planning V
Software Project Planning VSoftware Project Planning V
Software Project Planning VGagan Deep
 
Software Project Planning IV
Software Project Planning IVSoftware Project Planning IV
Software Project Planning IVGagan Deep
 
Software Project Planning III
Software Project Planning IIISoftware Project Planning III
Software Project Planning IIIGagan Deep
 
Software Project Planning II
Software Project Planning IISoftware Project Planning II
Software Project Planning IIGagan Deep
 
Software Engineering
Software Engineering Software Engineering
Software Engineering Gagan Deep
 
C Programming : Arrays
C Programming : ArraysC Programming : Arrays
C Programming : ArraysGagan Deep
 
C lecture 4 nested loops and jumping statements slideshare
C lecture 4 nested loops and jumping statements slideshareC lecture 4 nested loops and jumping statements slideshare
C lecture 4 nested loops and jumping statements slideshareGagan Deep
 
C lecture 3 control statements slideshare
C lecture 3 control statements slideshareC lecture 3 control statements slideshare
C lecture 3 control statements slideshareGagan Deep
 
C – A Programming Language- I
C – A Programming Language- IC – A Programming Language- I
C – A Programming Language- IGagan Deep
 
System Analysis & Design - 2
System Analysis & Design - 2System Analysis & Design - 2
System Analysis & Design - 2Gagan Deep
 
System Analysis & Design - I
System Analysis & Design - ISystem Analysis & Design - I
System Analysis & Design - IGagan Deep
 
Information System and MIS
Information System and MISInformation System and MIS
Information System and MISGagan Deep
 
SQL – A Tutorial I
SQL – A Tutorial  ISQL – A Tutorial  I
SQL – A Tutorial IGagan Deep
 
Boolean algebra
Boolean algebraBoolean algebra
Boolean algebraGagan Deep
 
Normalization 1
Normalization 1Normalization 1
Normalization 1Gagan Deep
 
Normalization i i
Normalization   i iNormalization   i i
Normalization i iGagan Deep
 
Plsql overview
Plsql overviewPlsql overview
Plsql overviewGagan Deep
 

More from Gagan Deep (20)

Number system
Number systemNumber system
Number system
 
Fundamentals of Neural Networks
Fundamentals of Neural NetworksFundamentals of Neural Networks
Fundamentals of Neural Networks
 
Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
Software Project Planning V
Software Project Planning VSoftware Project Planning V
Software Project Planning V
 
Software Project Planning IV
Software Project Planning IVSoftware Project Planning IV
Software Project Planning IV
 
Software Project Planning III
Software Project Planning IIISoftware Project Planning III
Software Project Planning III
 
Software Project Planning II
Software Project Planning IISoftware Project Planning II
Software Project Planning II
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
C Programming : Arrays
C Programming : ArraysC Programming : Arrays
C Programming : Arrays
 
C lecture 4 nested loops and jumping statements slideshare
C lecture 4 nested loops and jumping statements slideshareC lecture 4 nested loops and jumping statements slideshare
C lecture 4 nested loops and jumping statements slideshare
 
C lecture 3 control statements slideshare
C lecture 3 control statements slideshareC lecture 3 control statements slideshare
C lecture 3 control statements slideshare
 
C – A Programming Language- I
C – A Programming Language- IC – A Programming Language- I
C – A Programming Language- I
 
System Analysis & Design - 2
System Analysis & Design - 2System Analysis & Design - 2
System Analysis & Design - 2
 
System Analysis & Design - I
System Analysis & Design - ISystem Analysis & Design - I
System Analysis & Design - I
 
Information System and MIS
Information System and MISInformation System and MIS
Information System and MIS
 
SQL – A Tutorial I
SQL – A Tutorial  ISQL – A Tutorial  I
SQL – A Tutorial I
 
Boolean algebra
Boolean algebraBoolean algebra
Boolean algebra
 
Normalization 1
Normalization 1Normalization 1
Normalization 1
 
Normalization i i
Normalization   i iNormalization   i i
Normalization i i
 
Plsql overview
Plsql overviewPlsql overview
Plsql overview
 

Recently uploaded

General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jisc
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxPooja Bhuva
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 

Recently uploaded (20)

General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 

Software Project Planning 1

  • 1. Software Engineering Gagan Deep Rozy Computech Services 3rd Gate, K.U., Kurukshetra rozygag@yahoo.com
  • 2. PLANNING A SOFTWARE PROJECT  Planning is perhaps the most important activity of management.  The basic goal of planning is to find the activity which are to be performed for completing a project.  A good plan is that which can handle all the uncertain event which can occur during the development of project.  A good planning helps in good decision making.  Lack of planning is a primary cause of schedule slippage, cost overruns, poor quality, and high maintenance costs for software. Software Engineering by Gagan Deep rozygag@yahoo.com 2
  • 3. Some factors to consider in project planning:  Cost & Schedule estimation techniques to be used; accuracy required.  Life-cycle model, control functions, and reviews.  Organizational structure ( team structure)  Level of formality in specifications, test plans, etc.  Level of verification and validation (independent group?).  Level of configuration management required.  Level of quality assurance required.  Planning for management of risk.  Project monitoring & controlling techniques.  Personnel recruitment and training. Software Engineering by Gagan Deep rozygag@yahoo.com 3
  • 4. SOFTWARE COST ESTIMATION  Estimation of resources, cost and schedule for a software development effort requires experience.  Access to good historical information and the courage to commit to quantitative measures when qualitative data are all that exist.  The importance of software cost estimation is well documented.  Good estimation techniques serve as a basis for communication between software personnel and non- software personnel such as managers, sales people or even customers Software Engineering by Gagan Deep rozygag@yahoo.com 4
  • 5.  Cost estimation is part of the planning stage of any engineering activity.  The difference in cost estimation between software engineering and other disciplines is that in software engineering the primary cost is for people.  In other engineering disciplines, the cost of materials - chips, bricks, or aluminum, depending on the activity - is a major component of the cost that must be estimated.  In software engineering, to estimate the cost, we only have to estimate how many engineers are needed. 5Software Engineering by Gagan Deep rozygag@yahoo.com
  • 6. Uses of Cost Estimation  Software cost estimation has two uses in software project management.  During the planning stage, one needs to decide how many engineers are needed for the project and to develop a schedule.  In monitoring the project's progress, one needs to assess whether the project is progressing according to schedule and take corrective action, if necessary. 6Software Engineering by Gagan Deep rozygag@yahoo.com
  • 7. Basili (1980) described four classes of resources models:  Static single-variable models  Static multi-variable models  Dynamic multi-variable models  Theoretical models  The static single-variable model takes the form: Resources = c1* (Estimated Characteristics)C 2 where the resources could be effort, project duration, staff size or requisite lines of software documentation. The constants c1 and c2 are derived from data collected from past projects. The basic version of the Constructive Cost Model or COCOMO is an example of a static single-variable model. 7Software Engineering by Gagan Deep rozygag@yahoo.com
  • 8.  Static multi-variable model has the following form: Resources = c21e1+ c22e2+… where e1 is the ith software characteristics and c21 , c22 are empirically derived constants for the ith characteristics.  A dynamic multivariate model projects resource requirements as a function of time.  A theoretical approach to dynamic multivariable modeling hypothesizes a continuous resource expenditure curve and from it, derives equations that model the behavior of the resource. The Putnam Estimation Model is a theoretical dynamic multi- variable model. 8Software Engineering by Gagan Deep rozygag@yahoo.com
  • 9. COCOMO Model  As we have already knows that COCOMO model is used for Cost estimation and developed by Boehm.  This model also estimates the total effort in terms of person-months of the technical project staff.  The Effort Estimate includes development, management, and support tasks but does not include the cost of the secretarial and other staff that might be needed in an organization. 9Software Engineering by Gagan Deep rozygag@yahoo.com
  • 10. The basic steps in this model are : 1. Obtain an initial estimate of the development effort from estimate of thousands of delivered lines of source code (KDLOC). 2. Determine a set of 15 multiplying factors from different attributes of the project. 3. Calculated the effort estimate by multiplying the initial estimate with all the multiplying factors i.e. multiply the values in step 1 and step 2. 10Software Engineering by Gagan Deep rozygag@yahoo.com
  • 11.  The initial estimate (also called nominal estimate) is determined by an equation of the form used in the static single variable models, using KDLOC as the measure of size. To determine the initial effort Ei in person-months the equation used is of the type is shown below Ei = a * (KDLOC)b.  The value of the constants a and b depend on the project type.  In COCOMO, projects are categorized into three types – 1. Organic 2. Semidetached 3. Embedded. 11Software Engineering by Gagan Deep rozygag@yahoo.com
  • 12.  Organic projects are in an area in which the organization has considerable experience and requirements are not difficult to find out. Such systems are usually developed by a small team. Example of this type of project are simple business systems, simple inventory management systems, and data processing systems.  Projects of the embedded type are ambitious and novel; the organization has little experience and it is difficult to find out requirements. These systems have tight constraints from the environment (software, hardware, and people). Examples are embedded avionics systems and real-time command systems. Software Engineering by Gagan Deep rozygag@yahoo.com 12
  • 13.  The semidetached systems fall between these two types. Semidetached project in which analyst know not all but much of requirement and have little experience of developing. Examples of semidetached system include developing a new operating system (OS), a database management system (DBMS), and complex inventory management system.  The constants a and b for different systems are given in table.  There are 15 different attributes, called cost driver attributes, that determine the multiplying factors. 13Software Engineering by Gagan Deep rozygag@yahoo.com
  • 14. Table A : Constants for different project types Project Type Nominal effort Constant Schedule Constant a b c d 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 14Software Engineering by Gagan Deep rozygag@yahoo.com
  • 15. Table B : Effort multipliers for different cost drivers Cost Drivers Rating Very Low Low Nominal High Very High Product Attributes RELY, DATA, CPLX Different Estimated Effort Multipliers for Different Attributes Computer attribute TIME, STOR VITR, TURN Personnel attribute ACAP, AEXP PCAP, VEXP, LAXP Project attribute MODP TOOL SCHED 15Software Engineering by Gagan Deep rozygag@yahoo.com
  • 16. The Cost driver are divided into four categories: As specified in the last slide  The value of each type of attribute varies from very low , low, nominal, high, very high as shown in table B.  The multiplying factors for all 15 cost drivers are multiplied to get the Effort Adjustment Factor (EAF). The final effort estimate, E, is obtaining by multiplying the initial estimate by EAF : E = EAF * Ei  COCOMO provides three levels of models of increasing complexity : basic, intermediate, and detailed. 16Software Engineering by Gagan Deep rozygag@yahoo.com
  • 17. Average Duration Estimation  Single variable models can be used to determine the overall duration of the project. Generally, schedule is modeled as depending on the Total Effort (which, in turn, depends on size). Again, the constants for the model are determined from historical data.  The IBM Federal System Division found that the total duration, 'D 'in calendar months can be estimated by D = 4.1 x E.36 17Software Engineering by Gagan Deep rozygag@yahoo.com
  • 18.  In COCOMO, the schedule is determined in a similar manner. The general equation for calculation of schedule is D= c x Ed The value of c and d are shown in table A.  The equation for an organic type of software is D = 2.5 x E.38  For other project types, the constants vary only slightly. 18Software Engineering by Gagan Deep rozygag@yahoo.com
  • 19.  Software cost estimation models such as COCOMO are required for an engineering approach to software management.  Without such models, one has only judgment to rely on, which makes decisions hard to trust and justify.  Worse, one can never be sure whether improvements are being made to the software.  While current models still lack a full scientific justification, they can be used and validated against an organization's project data base.  With the current state of the art of cost estimation modeling, it is not wise to have complete and blind trust in the results of the models, but a project manager would be equally unwise to ignore the value of such tools for a software development organization as a whole. 19Software Engineering by Gagan Deep rozygag@yahoo.com
  • 20. COCOMO II Main objectives of COCOMO II:  To develop a software cost and schedule estimation model tuned to the life cycle practices of the 1990’s and 2000’s  To develop software cost database and tool support capabilities for continuous model improvement 20Software Engineering by Gagan Deep rozygag@yahoo.com
  • 21. Has three different models  The Application Composition Model Good for projects built using rapid application development tools (GUI-builders etc)  The Early Design Model This model can get rough estimates before the entire architecture has been decided  The Post-Architecture Model Most detailed model, used after overall architecture has been decided on 21Software Engineering by Gagan Deep rozygag@yahoo.com
  • 22. COCOMO II Differences  The exponent value b in the effort equation is replaced with a variable value based on five scale factors rather then constants  Size of project can be listed as object points, function points or source lines of code (SLOC).  EAF is calculated from seventeen cost drivers better suited for today's methods, COCOMO81 has fifteen  A breakage rating has been added to address volatility of system 22Software Engineering by Gagan Deep rozygag@yahoo.com
  • 23. COCOMO II Calibration  For COCOMO II results to be accurate the model must be calibrated  Calibration requires that all cost driver parameters be adjusted  Requires lots of data, usually more then one company has  The plan was to release calibrations each year but so far only two calibrations have been done (COCOMO II.1997, COCOMO II. 1998)  Users can submit data from their own projects to be used in future calibrations 23Software Engineering by Gagan Deep rozygag@yahoo.com
  • 24. Importance of Calibration  Proper calibration is very important  The original COCOMO II.1997 could estimate within 20% of the actual values 46% of the time. This was based on 83 data points.  The recalibration for COCOMO II.1998 could estimate within 30% of the actual values 75% of the time. This was based on 161 data points. 24Software Engineering by Gagan Deep rozygag@yahoo.com
  • 25. Is COCOMO the Best?  COCOMO is the most popular method however for any software cost estimation you should really use more then one method  Best to use another method that differs significantly from COCOMO so your project is examined from more then one angle  Even companies that sell COCOMO based products recommend using more then one method. 25Software Engineering by Gagan Deep rozygag@yahoo.com
  • 26. COCOMO Conclusions  COCOMO is the most popular software cost estimation method  Easy to do, small estimates can be done by hand  A free graphical version available for download  Many different commercial version based on COCOMO – they supply support and more data, but at a price 26Software Engineering by Gagan Deep rozygag@yahoo.com
  • 27. Putnam Resource Allocation Model Time  Fig.6: The Rayleigh manpower loading curve 27 Norden of IBM Rayleigh Curve Model for a range of hardware development Projects Overall Curve Design & Coding Persons Software Engineering by Gagan Deep rozygag@yahoo.com
  • 28. Putnam Model Details  Volume of work  Difficulty gradient for measuring complexity  Project technology factor measuring staff experience  Delivery time constraints  Staffing model based on  Total cumulative staff  How quickly new staff can be absorbed  # days in project month 28Software Engineering by Gagan Deep rozygag@yahoo.com
  • 29. Putnam Equation E = y(T) = 0.3945 * K K = area under curve [0 , 1) measured in programmer year T = optimal development time in years D = K / T2 difficulty P = ci * D –2/3 productivity S = c * K –1/3 * T 4/3 lines of code 29Software Engineering by Gagan Deep rozygag@yahoo.com
  • 30. Thanks! Gagan Deep Rozy Computech Services 3rd Gate, K.U., Kurukshetra rozygag@yahoo.com