0% found this document useful (0 votes)
33 views

Software 3

The document discusses several software project estimation techniques including COCOMO model and Putnam Resource Allocation Model. It describes the COCOMO model's basic, intermediate, and complete versions which estimate effort and schedule based on product size and cost drivers. It also explains the Putnam model uses Rayleigh curve for optimal staffing levels over the project duration and breaks work down into dependent activities for scheduling.

Uploaded by

MO Tayyab 20cs36
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

Software 3

The document discusses several software project estimation techniques including COCOMO model and Putnam Resource Allocation Model. It describes the COCOMO model's basic, intermediate, and complete versions which estimate effort and schedule based on product size and cost drivers. It also explains the Putnam model uses Rayleigh curve for optimal staffing levels over the project duration and breaks work down into dependent activities for scheduling.

Uploaded by

MO Tayyab 20cs36
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Topics covered in Class (Offline)

• Software Project Management


• Skills required by a Manager
• Activities of Project Planning
• SPMP
• Size Estimation techniques (LOC, Function Point, Feature Point)
• Project Estimation Techniques(Empirical[Expert Judgement and
Delphi Cost Estimation], Heuristic [COCOMO with Numerical]
and Analytical-Halstead Software Science: Program Volume)

COCOMO Model
Boehm proposed COCOMO (Constructive Cost Estimation Model) in 1981.COCOMO is one of the most
generally used software estimation models in the world. COCOMO predicts the efforts and schedule of a
software product based on the size of the software.
• In COCOMO, projects are categorized into three types:
• Organic
• Semidetached
• Embedded
1.Organic: A development project can be treated of the organic type, if the project deals with developing a well-
understood application program, the size of the development team is reasonably small, and the team members are
experienced in developing similar methods of projects. Examples of this type of projects are simple business
systems, simple inventory management systems, and data processing systems.
2. Semidetached: A development project can be treated with semidetached type if the development consists of a
mixture of experienced and inexperienced staff. Team members may have finite experience in related systems but may
be unfamiliar with some aspects of the order being developed. Example of Semidetached system includes
developing a new operating system (OS), a Database Management System (DBMS), and complex inventory
management system.
3. Embedded: A development project is treated to be of an embedded type, if the software being developed is
strongly coupled to complex hardware, or if the stringent regulations on the operational method exist. For
Example: ATM, Air Traffic control.
COCOMO Model Contd..
• According to Boehm, software cost estimation should be done through three stages:
• Basic Model
• Intermediate Model
• Complete Model
• Basic COCOMO Model: The basic COCOMO model provide an accurate size of the
project parameters. The following expressions give the basic COCOMO estimation model:
Effort=a1*(KLOC) a2 PM
Tdev=b1*(efforts)b2 Months
Where
• KLOC is the estimated size of the software product indicate in Kilo Lines of Code,
• a1,a2,b1,b2 are constants for each group of software products,
• Tdev is the estimated time to develop the software, expressed in months,

• Effort is the total effort required to develop the software product, expressed in person months
(PMs).
COCOMO Model Contd..
• Estimation of development effort
• For the three classes of software products, the formulas for estimating the
effort based on the code size are shown below:
• Organic: Effort = 2.4(KLOC)1.05 PM
• Semi-detached: Effort = 3.0 (KLOC)1.12PM
• Embedded: Effort = 3.6 (KLOC)1.20 PM

• Estimation of development time


• For the three classes of software products, the formulas for estimating the
development time based on the effort are given below:
• Organic: Tdev = 2.5 (Effort) 0.38 Months
• Semi-detached: Tdev = 2.5 (Effort) 0.35 Months
• Embedded: Tdev = 2.5 (Effort) 0.32 Months
COCOMO Model Contd..
Some insight into the
basic COCOMO
model can be
obtained by plotting
the estimated
characteristics for
different software
sizes. Fig shows a
plot of estimated
effort versus product
size. From fig, we
can observe that the
effort is somewhat
superliner in the size
of the software
product. Thus, the
effort required to
develop a product
increases very rapidly
with project size.
COCOMO Model Contd..
The development time versus the
product size in KLOC is plotted in
fig. From fig it can be observed that
the development time is a sub linear
function of the size of the product,
i.e. when the size of the product
increases by two times, the time to
develop the product does not double
but rises moderately. This can be
explained by the fact that for larger
products, a larger number of
activities which can be carried out
concurrently can be identified. The
parallel activities can be carried out
simultaneously by the engineers.


detached & embedded.
Numericals
Example1: Suppose a project was estimated to be 400 KLOC. Calculate the effort and development time for each of the three model i.e., organic, semi-

Solution: The basic COCOMO equation takes the form:

• Effort=a1*(KLOC)a2 PM
• Tdev=b1*(KLOC)b2 Months
• Estimated Size of project= 400 KLOC

• (i)Organic Mode

• E = 2.4 * (400) 1.05 = 1295.31 PM


• D = 2.5 * (1295.31) 0.38=38.07 PM

• (ii)Semidetached Mode

• E = 3.0 * (400) 1.12=2462.79 PM


• D = 2.5 * (2462.79) 0.35=38.45 PM

• (iii) Embedded Mode

• E = 3.6 * (400) 1.20 = 4772.81 PM


• D = 2.5 * (4772.8) 0.32 = 38 PM
Intermediate COCOMO Model
2. Intermediate Model: The basic COCOMO model considers that the effort is only a function of the
number of lines of code and some constants calculated according to the various software systems. The
intermediate COCOMO model recognizes these facts and refines the initial estimates obtained
through the basic COCOMO model by using a set of 15 cost drivers based on various attributes of
software engineering.
• Classification of Cost Drivers and their attributes:
• (i) Product attributes -
• Required software reliability extent
• Size of the application database
• The complexity of the product
• (ii) Hardware attributes -
• Run-time performance constraints
• Memory constraints
• The volatility of the virtual machine environment
• Required turnabout time
Intermediate COCOMO Model Contd..
(iii) Personnel attributes -

• Analyst capability
• Software engineering capability
• Applications experience
• Virtual machine experience
• Programming language experience
• Project attributes -

• Use of software tools


• Application of software engineering methods
• Required development schedule
Complete COCOMO Model
• In Complete COCOMO, the whole software is differentiated into multiple
modules (rather than a homogeneous module), and then we apply
COCOMO in various modules to estimate effort and then sum the effort.

• The Six phases of detailed COCOMO are:


• Planning and requirements
• System structure
• Complete structure
• Module code and test
• Integration and test
• Cost Constructive model
• The effort is determined as a function of program estimate, and a set of cost
drivers are given according to every phase of the software lifecycle.
• Putnam Resource
Staffing Level Estimation
Allocation Model
(Rayleigh Curve)
The Lawrence Putnam model describes the time and effort requires finishing a software project of a
specified size. Putnam makes a use of a so-called The Norden/Rayleigh Curve to estimate
project effort, schedule & defect rate as shown in fig:
• Putnam noticed that software staffing profiles followed the well known Rayleigh
distribution.
• Putnam used his observation about productivity levels to derive the software equation:
Staffing Level Estimation (Rayleigh Curve) Contd..
• The various terms of this expression are as follows:
• K is the total effort expended (in PM) in product development, and L is the product estimate
in KLOC .
• td correlate to the time of system and integration testing.
• Ck Is the state of technology constant.
• Typical values of Ck = 2 for poor development environment
• Ck= 8 for good software development environment
• Ck = 11 for an excellent environment (in addition to following software engineering principles,
automated tools and techniques are used).
• The exact value of Ck for a specific task can be computed from the historical data of the
organization developing it.
• Putnam proposed that optimal staff develop on a project should follow the Rayleigh curve. Only a
small number of engineers are required at the beginning of a plan to carry out planning and
specification tasks. As the project progresses and more detailed work are necessary, the number of
engineers reaches a peak. After implementation and unit testing, the number of project staff falls.
• Project-task scheduling is a significant project planning activity. It comprises deciding
which functions would be taken up when.
• Identify all the functions required to complete the project.
• Break down large functions into small activities.
Project Scheduling
• Determine the dependency among various activities.
• Establish the most likely size for the time duration required to complete the activities.
• Allocate resources to activities.
• Plan the beginning and ending dates for different activities.
• Determine the critical path. A critical way is the group of activities that decide the duration of
the project.
Project Scheduling Contd..
• The project schedule is represented as set of chart in which work-breakdown
structure and dependencies within various activities are represented.
• To accomplish and complete project within a given schedule, required resources
must be available when they are needed.
• Therefore, resource estimation should be done before starting development.

• Resources required for Development of Project :


• Human effort
• Sufficient disk space on server
• Specialized hardware
• Software technology
• Travel allowance required by project staff, etc.
Project Scheduling Contd..
• Advantages of Project Scheduling :

• There are several advantages provided by project schedule in our project management:

• It simply ensures that everyone remains on same page as far as tasks get completed,
dependencies, and deadlines.
• It helps in identifying issues early and concerns such as lack or unavailability of resources.
• It also helps to identify relationships and to monitor process.
• It provides effective budget management and risk mitigation.
Gantt Chart
• Gantt Chart first developed by Henry Gantt in 1917.
• It is one of the most popular and helpful ways of showing activities displayed against time.
Each activity represented by a bar.
• It helps you to view which tasks are dependent on one another and which event is coming up.
PERT CHART
• PERT is an acronym of Programme Evaluation Review Technique. In the
1950s, it is developed by the U.S. Navy to handle the Polaris submarine missile
programme.
• PERT chart represented as a network diagram concerning the number of nodes,
which represents events.

• The direction of the lines indicates the sequence of the task.


• In the below example, tasks between "Task 1 to Task 9" must complete,
and these are known as a dependent or serial task.
• Between Task 4 and 5, and Task 4 and 6, nodes are not depended and
can undertake simultaneously. These are known as Parallel or concurrent
tasks.
• Without resource or completion time, the task must complete in the sequence
which is considered as event dependency, and these are known as Dummy
activity and represented by dotted lines.
PERT CHART Contd..
Critical Path Analysis

• Critical path analysis is a technique that is used to categorize the activities which are
required to complete a task, as well as classifying the time which is needed to finish each
activity and the relationships between the activities. It is also called a critical path
method.
• CPA helps in predicting whether a project will expire on time.
Logic Network (Work Breakdown Structure)
• The Logic Network shows the order of activities over time. It shows the sequence in
which activities are to do. Distinguishing events and pinning down the project are the
two primary uses. Moreover, it will help with understanding task dependencies, a
timescale, and overall project workflow. There are two ways to generate a Work
Breakdown Structure
• The top-down and
• The bottom-up approach.

You might also like