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

Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteriaUmaselvi_R
 
Chapter 1 2 - some size factors
Chapter 1   2 - some size factorsChapter 1   2 - some size factors
Chapter 1 2 - some size factorsNancyBeaulah_R
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes arvind pandey
 
Software Project Management - Staffing
Software Project Management - StaffingSoftware Project Management - Staffing
Software Project Management - StaffingTanishqRongta1
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-designOliver Cheng
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)REHMAT ULLAH
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxKarthigaiSelviS3
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationAjit Nayak
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)ShudipPal
 
Command center processing and display system replacement (ccpds-r) - Case Study
Command center processing and display system  replacement (ccpds-r) - Case StudyCommand center processing and display system  replacement (ccpds-r) - Case Study
Command center processing and display system replacement (ccpds-r) - Case StudyKuppusamy P
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specificationDeepak Sharma
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation TechniquesSanthi thi
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLAjit Nayak
 
Requirement elicitation
Requirement elicitationRequirement elicitation
Requirement elicitationvivacemente
 
Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specificationkirupasuchi1996
 

What's hot (20)

Modules and modularization criteria
Modules and modularization criteriaModules and modularization criteria
Modules and modularization criteria
 
Software Engineering
Software EngineeringSoftware Engineering
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
 
Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes Unit 4- Software Engineering System Model Notes
Unit 4- Software Engineering System Model Notes
 
Software Project Management - Staffing
Software Project Management - StaffingSoftware Project Management - Staffing
Software Project Management - Staffing
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Unit 5
Unit   5Unit   5
Unit 5
 
software project management Artifact set(spm)
software project management Artifact set(spm)software project management Artifact set(spm)
software project management Artifact set(spm)
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
Command center processing and display system replacement (ccpds-r) - Case Study
Command center processing and display system  replacement (ccpds-r) - Case StudyCommand center processing and display system  replacement (ccpds-r) - Case Study
Command center processing and display system replacement (ccpds-r) - Case Study
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
 
Software Cost Estimation Techniques
Software Cost Estimation TechniquesSoftware Cost Estimation Techniques
Software Cost Estimation Techniques
 
Object Oriented Analysis Design using UML
Object Oriented Analysis Design using UMLObject Oriented Analysis Design using UML
Object Oriented Analysis Design using UML
 
Requirement elicitation
Requirement elicitationRequirement elicitation
Requirement elicitation
 
Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specification
 

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
 
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
 
30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)IAESIJEECS
 

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)
 
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
 
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
 
5. COCOMO.pdf
5. COCOMO.pdf5. COCOMO.pdf
5. COCOMO.pdf
 
30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)
 

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

microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfakmcokerachita
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 

Recently uploaded (20)

Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 

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