Software Lab
Software Lab
Identify and explain two metrics for software project size estimation.
Empirical Estimation
Heuristic Estimation
COCOMO
Summary
8/21/2023 3
Introduction
Many software projects fail:
8/21/2023 4
Responsibility of Project
Managers
take the overall responsibility of steering a project to success.
difficult to objectively describe the job responsibilities of a project manager.
ranges from invisible activities like building up team morale to highly visible
customer presentations.
activities can be broadly classified into
project planning - project planning activity is undertaken before the
development starts to plan the activities to be undertaken during
development.
project monitoring and
control activities – undertaken once the development activities start with
the aim of ensuring that the development proceeds as per plan and
changing the plan whenever required to cope up with the situation.
8/21/2023 5
Responsibility of Project
Managers (Contd.)
Project proposal writing,
Project cost estimation,
Scheduling,
Project staffing,
Project monitoring and control,
Software configuration management,
Risk management,
Managerial report writing and presentations, etc.
8/21/2023 6
Skills for Software Project Management
theoretical knowledge,
good qualitative judgment and decision making capabilities,
good grasp of the latest software project management techniques such
as cost estimation, risk management, configuration management,
good communication skills and the ability to get work done,
skills such as tracking and controlling the progress of the project,
customer interaction, managerial presentations, and team building are
largely acquired through experience.
8/21/2023 7
Project Planning Activities
Estimation:
Project size: What will be problem complexity in terms of the effort and time required to
develop the product?
Cost: How much is it going to cost to develop the project?
Duration: How long is it going to take to complete development?
Effort: How much effort would be required?
Staff organization:
staffing plans
Risk handling:
8/21/2023 9
Sliding Window Planning
Requires utmost care and attention since commitment to unrealistic time and resource estimates result in
schedule slippage.
Delays can cause customer dissatisfaction and adversely affect team morale. It can even cause project
failure.
For large projects, it is very much difficult to make accurate plans. A part of this difficulty is due to the fact
that the proper parameters, scope of the project, project staff, etc. may change during the span of the
project.
To overcome this problem, sometimes project managers undertake project planning in stages.
After the completion of every phase, the project managers can plan each subsequent phase more
8/21/2023
accurately and with increasing levels of confidence. 10
s
SPMP (Software Project Management
Plan)
After planning is complete:
Document the plans:
in a Software Project Management Plan(SPMP) document.
List of different items.
SPMP
8/21/2023 11
Organization of SPMP Document
Introduction (Objectives, Major Functions, Performance Issues, Management and Technical
Constraints)
Project Estimates (Historical Data, Estimation Techniques, Effort, Cost, and Project Duration
Estimates)
Project Resources Plan (People, Hardware and Software, Special Resources)
Schedules (Work Breakdown Structure, Task Network, Gantt Chart Representation, PERT
Chart Representation)
Staff Organization (Team Structure, Management Reporting)
Risk Management Plan (Risk Analysis, Risk Identification, Risk Estimation, Abatement
Procedures)
Project Tracking and Control Plan
Miscellaneous Plans (Process Tailoring, Quality Assurance)
8/21/2023 12
Metrics For Software Project Size
Estimation
size of a problem is obviously not the number of bytes that the source code occupies
project size is a measure of the problem complexity in terms of the effort and time required to develop
the product
Currently two metrics are popularly being used widely to estimate size:
8/21/2023 13
Software Size Metrics
LOC (Lines of Code):
Simplest and most widely used metric.
Comments and blank lines should not be counted.
project size is estimated by counting the number of source instructions in the developed
program.
accurate estimation of the LOC count at the beginning of a project is
very difficult.
project managers usually divide the problem into modules, and each module into
submodules and so on, until the sizes of the different leaf-level modules can be
approximately predicted.
using the estimation of the lowest level modules,
project managers arrive at the total size estimation.
8/21/2023 14
Disadvantages of Using
LOC
Size can vary with coding style.
8/21/2023 15
Function Point Metrics
Function point metric (FP) was first proposed by Albrecht in early 80's.
8/21/2023 16
Function Point Metric – Information Domain
Values (IDVs)
Number of External Inputs (EIs):
A set of related inputs is counted as one input.
It originates from a user or is transmitted from another application.
Number of External Outputs (EOs):
A set of related outputs is counted as one output.
It is derived within the application and provides information to the user.
It refers to reports, screens, error messages etc.
Number of External Inquiries (EQs):
Each user query type is counted.
Number of Internal Logical Files (ILFs):
Files are logically related data and thus can be data structures or physical files.
It resides within the application’s boundary.
Number of External Interface Files (EIFs):
Data transfer to other systems.
Resides external to the application.
8/21/2023 17
Function Point Metric
(Contd.)
Computing Function Points
Once the data have been collected, the following table is computed
and a complexity value is associated with each count.
Organizations develop a criteria for determining whether a
particular entry is simple, average or complex.
8/21/2023 19
Function Point Metric (Contd.)
•
8/21/2023 20
VAFs/TCFs
8/21/2023 21
Function Point Metric
(Contd.)
Degrees of Influence for VAFs/TCFs
Each of these questions is answered using a scale that ranges
from 0 – 5
0 – No Influence
1 – Incidental
2 – Moderate
3 – Average
4 – Significant
5 - Essential
8/21/2023 22
Case Study I: Safe Home Software
The function manages user interaction, accepting a user
password to activate or deactivate the system and allows inquires
on the status of security zones and various security sensors.
The function displays a series of prompting messages and sends
appropriate control signals to various components of the security
system.
8/21/2023 23
Case Study I: Safe Home Software
Test Sensor Sensors
8/21/2023 25
Case Study II: Spell Checker Software
The spell-checker accepts as input, a document file and an
optional personal directory file.
Then the spell checker lists all words which are not contained in
either of these files.
The user can query the number of words processed and the
number of spelling errors which are found at any stage during
the processing.
8/21/2023 26
Case Study II: Spell Checker Software
8/21/2023 27
Case Study II: Spell Checker Software (Computing
FP)
Function__Point__Metric__Spell__Checker__Software.xls
8/21/2023 28
Function Point Metric (CONT.)
8/21/2023 29
Function Point Metric
(CONT.)
Proponents claim:
FP is language independent.
Size can be easily derived from problem description.
Opponents claim:
it is subjective --- Different people can come up with different estimates for
the same problem.
8/21/2023 30
Case Study III: Mobile Application (Class
Assignment)
The activity has been designed and developed specifically to run
on tablet computers for teaching autistic children.
They are very important visual support systems for the autistic
children to develop skills like getting organized, acting
independently and making selections.
8/21/2023 31
Case Study IV: Payroll Application
Transaction to input, amend and delete employee details.
Transaction to calculate pay details from timesheet data.
Transaction to print pay-to-date details for each employee.
A file of payroll details for each employee.
A personnel file maintained by another system that is accessed for name and
address details.
8/21/2023 32