Unit-2-Lecture PPT - Partial Topic
Unit-2-Lecture PPT - Partial Topic
Presented By
DEEPTI GOUR
2
UNIT 2
Topic Covered
o Software Project Management
o Software Measurements
o Software Project Estimation
o Factor affect on Project Estimation
o Software Size Estimation
o Size Estimation Techniques
o LOC - Line of Code
o FP - Function Point
o COCOMO Model
3
Software Project Management
Software project management is the application of knowledge, skills, tools, and
techniques to project activities to meet the project requirements. Which includes
– Planning , Execution , Monitoring & Control & Closing .
Quality
4
Effective software project management focuses on the four P’s:
People Product Process Project
• Staffing communication and • product objectives • provides the framework • To avoid project
coordination and scope should be from which a failure- approach for
• work environment established. comprehensive plan planning, monitoring,
• performance management • alternative solutions (SDLC – small , medium , and controlling the
• Training should be considered. & Large ) project.
• Compensation • Technical and • No. of different task sets— • To manage a
• competency analysis and management tasks, milestones, work successful software
development constraints should be products, and quality project, you have to
• career development identified. assurance points. understand what can
• workgroup development go wrong so that
• team/culture development problems can be
avoided.
5
✖ Size What is the size?
How many people are needed to work on the project?
✖ Cost How much will the project cost the organization?
✖ Purpose What is the purpose of the project?
Is it meant to improve the technical infrastructure?
support a current business strategy?
improve operations? demonstrate a new innovation?
✖ Length How long will the project take before completion?
How much time will go by before value is delivered to the
business?
✖ Risk How likely is it that the project will succeed or fail?
✖ Scope How much of the organization is affected by the system?
a department? a division? the entire corporation?
6
Software Project Estimation
Software project estimation is a form of problem solving, and in most cases, the problem to be
solved (i.e., developing a cost and effort estimate for a software project) is too complex to be
considered in one piece.
Project Estimation :
Software Size Estimation + Effort Estimation + Time Estimation + Cost Estimation
To estimate the resources required for a software project, it is important to have a clear understanding of the
project scope and requirements. Once the project scope is defined, the project manager can estimate the
resources required for each task and phase of the project.
Which software size measurement to use – lines of code (LOC), function points (FP), or feature
point?
7
8
Software Size Estimation
Estimation of the software size is an essential part of the Software Project Management. It helps
the project manager to further predict the effort and time which will be needed to build the
project . Various measures are used to project size estimation. Some of these are :
Lines of code (LOC) and function points (FP) are two common metrics used to estimate the size
and complexity of a software project.
These techniques are used to measure the size and complexity of software, which is essential
for various project management activities, such as cost estimation, resource allocation, and
project scheduling.
Lines of Code LOC: 9
LOC is a measure of the number of lines of code in a software program. It is a relatively simple metric
to calculate, but it can be misleading, as it does not take into account the complexity of the code.
LOC is a straightforward method that measures the size of a software project by counting the number
of lines of code in the source code. It is a simple and widely used method, but it has its limitations as it
doesn't account for the complexity of the code or the functionality delivered.
Units of LOC are : - KLOC –Thousand Lines of Code (Header files , Declaration , Actual Logic &
Computation + Process or programmed by using some coding standard )
NLOC – Non Comments Lines of Code (Blank lines , Line Spaces, Comments)
Blank Lines & Comments do not participates in process .
KDSI - Thousand of delivered source instruction. (Existing system based )
The size is estimated by comparing it with the existing systems of same kind. The experts use to
predict the required size of various components of software and then add them to get total size.
Example: Suppose you are estimating the size of a software project, and you count the number of lines
of code in the project's source code files. Let's say you count 50,000 lines of code – (50 KLOC).
This would be the size estimate in LOC.
LOC: Advantages & Disadvantages 10
Advantages : Disadvantages:
1. Universally accepted and it is used in many 1. Different programming languages contains different
models like COCOMO. number of lines.
2. Estimation is closer to developers 2. No proper industry standard exist for this method.
perspectives and Easy to use. 3. It is difficult to estimated the size using this technique in
early stages of project.
Example: -
Assume estimated lines of code of a system is: 33,200
LOC - Average productivity for system of this type is: 620 LOC/person-month
There are 6 developers –
Developer rate is: 50,000 per person-month
1.Calculate the total effort (E) , 2. total development time (D) and 3. Estimates development Cost(C
)required to complete the above project.
Way1 =>
1. Total Effort (E) = Total LOC/Productivity = 33200/620= 53.54
2. ≈ 54 person-months => 6 developers Effort = Total Effort /6 = 54/6 = 9 months i.e. total Effort or
Development Time (D)
3. Total Development Cost = Total Effort Time * Developer Rate/PM = 54 * 50000 = 27,00,000 INR
11
Function Point Technique
Function points were developed as an alternative to lines of codes to measure the size of software. -
Allan.J.Albrecht invented function point estimates in 1979 at IBM.
From 1990 onwards, International Function Point Users Group (IFPUG) made periodic revision to
the function point theory.
Function Points is a more comprehensive technique that measures the size of software based on the
functionality it provides to users.
It considers different aspects of the software, such as inputs, outputs, inquiries, and data files, and
assigns weights to these based on their complexity. These weights are used to calculate the function
point count.
13
Example: To calculate Function Points, you need to consider the following components:
1. External Inputs (EI): These are user inputs processed by the software.
Each input is assigned a complexity level, such as low, average, or high.
Let's say you have 10 external inputs.
2. External Outputs (EO): These are the data sent to users or other systems.
Again, each output is assigned a complexity level.
Let's say you have 5 external outputs.
3. External Inquiries (EQ): These are user queries that retrieve data.
They are also assigned complexity levels.
Let's say you have 8 external inquiries.
4.Internal Logical Files (ILF): These represent internal data maintained by the software.
You assign complexity levels to these files.
Let's say you have 4 internal logical files.
5. External Interface Files (EIF): These are data shared with other software.
Complexity levels are assigned to them.
Let's say you have 3 external interface files.
Now, assign weights to these components based on their complexity (e.g., low = 3, average = 4,
high = 6).
In this method , the number and type of functions supported by the software are utilized to find 14
FPC ( Function Point Count). The steps in function point analysis are :
Example: To calculate Function Points, you need to consider the following components:
Compute
Thanks