SlideShare a Scribd company logo
1 of 73
Sharbani Bhattacharya
Software Engineering-
Software Metrics &
Measurement
Govt. Polytechnic(W)
Faridabad
30TH August 2016
Project (technical) Managers
Project (technical) managers who must
plan, motivate, organize, and control the
practitioners who do software work.
Project Management
Project management is a people-intensive
activity, and for this reason, competent
practitioners often make poor team leaders.
They simply don’t have the right mix of
people skills.
Project Management
Edgemon states: “Unfortunately and all too
frequently it seems, individuals just fall into
a project manager role and become
accidental project managers.”
Project Management
Jerry Weinberg [WEI86] suggests a MOI model of
leadership:
 Motivation. The ability to encourage (by “push
or pull”) technical people to produce to their best
ability.
 Organization. The ability to mold existing
processes (or invent new ones) that will enable
the initial concept to be translated into a final
product.
 Ideas or innovation. The ability to encourage
people to create and feel creative even when
they must work within bounds established for a
particular software product or application.
Software Project Manager
A software project manager should
concentrate on understanding the problem
to be solved, managing the flow of ideas,
and at the same time, letting everyone on
the team know (by words and, far more
important, by actions) that quality counts
and that it will not be compromised.
Effective Project Manager
Characteristics that define an effective
project manager emphasizes four key
traits:
 Problem solving
 Managerial identity
 Achievement
 Influence and team building
Problem solving
 Problem solving An effective software
project manager can diagnose the technical
and organizational issues that are most
relevant, systematically structure a solution
or properly motivate other practitioners to
develop the solution,apply lessons learned
from past projects to new situations, and
remain flexible enough to change direction if
initial attempts at problem solution are
fruitless.
Managerial identity
A good project manager must take charge
of the project. She must have the
confidence to assume control when
necessary and the assurance to allow good
technical people to follow their instincts.
Achievement
To optimize the productivity of a project
team, a manager must reward initiative
and accomplishment and demonstrate
through his own actions that controlled risk
taking will not be punished.
Influence and team building
An effective project manager must be able
to“read” people; she must be able to
understand verbal and nonverbal signals
and react to the needs of the people
sending these signals. The manager must
remain under control in high-stress
situations.
Team Toxicity
Jackman defines five factors that “foster a potentially toxic team
environment”-
1. A frenzied work atmosphere in which team members
waste energy and lose focus on the objectives of the work
to be performed.
2. High frustration caused by personal, business, or
technological factors that causes friction among team
members.
3. “Fragmented or poorly coordinated procedures” or a
poorly defined or improperly chosen process model that
becomes a roadblock to accomplishment.
4. Unclear definition of roles resulting in a lack of
accountability and resultant finger-pointing.
5. “Continuous and repeated exposure to failure” that
leads to a loss of confidence and a lowering of morale.
Software Project Manager
The software project manager, working
together with the team, should clearly
refine roles and responsibilities before the
project begins.
The team itself should establish its own
mechanisms for accountability (formal
technical reviews3 are an excellent way to
accomplish this) and define a series of
corrective approaches when a member of
the team fails to perform.
Software Projects
Reel [REE99] suggests a five-part
commonsense approach to software
projects-
 Start on the right foot
 Maintain momentum
 Track progress
 Make smart decisions
 Conduct a postmortem analysis
Start on the right foot
This is accomplished by working hard (very
hard)to understand the problem that is to
be solved and then setting realistic objects
and expectations for everyone who will be
involved in the project.
It is reinforced by building the right team
and giving the team the autonomy,
authority, and technology needed to do the
job.
Maintain Momentum
Many projects get off to a good start and
then slowly disintegrate. To maintain
momentum, the project manager must
provide incentives to keep turnover of
personnel to an absolute minimum, the
team should emphasize quality in every
task it performs, and senior management
should do everything possible to stay out of
the team’s way.
Track Progress
For a software project, progress is tracked
as work products (e.g., specifications,
source code, sets of test cases) are
produced and approved (using formal
technical reviews) as part of a quality
assurance activity.
In addition, software process and project
measures can be collected and used to
assess progress against averages
developed for the software development
organization.
Make smart decisions
In essence, the decisions of the project
manager and the software team should be to
“keep it simple.”
Whenever possible,decide to use commercial
off-the-shelf software or existing software
components,decide to avoid custom interfaces
when standard approaches are available,
decide to identify and then avoid obvious risks,
and decide to allocate more time than you
think is needed to complex or risky tasks
(you’ll need every minute).
Conduct a Postmortem Analysis
Establish a consistent mechanism for
extracting lessons learned for each project.
Evaluate the planned and actual schedules,
collect and analyze software project
metrics, get feedback from team members
and customers, and record findings in
written form.
Software Metrics & Measurement
 Software metrics refers to a broad range
of measurements for computer software.
 Measurement can be applied to the
software process with the intent of
improving it on a continuous basis.
Software Measurement
Measurement can be used throughout a
software project to assist in estimation,
quality control, productivity assessment,
and project control.
Software Process and Product
Metrics
Software process and product metrics are
quantitative measures that enable software
people to gain insight into the efficacy of
the software process and the projects that
are conducted using the process as a
framework.
Metric
The IEEE Standard Glossary of Software
Engineering Terms [IEE93] defines metric
as
A quantitative measure of the degree
to which a system, component, or
process possesses a given attribute.
Metric
A software metric relates the individual
measures in some way (e.g., the average
number of errors found per review or the
average number of errors found per
person-hour expended on reviews.
Indicator
An indicator is a metric or combination of
metrics that provide insight into the
software process, a software project, or the
product itself [RAG95].
An indicator provides insight that enables
the project manager or software engineers
to adjust the process, the project, or the
process to make things better.
Indicator
Metrics should be collected
 Process Indicators
 Product Indicators
 Project Indicator
Project Indicators
(1) assess the status of an ongoing project
(2) track potential risks
(3) uncover problem areas before they go
“critical,”
(4) adjust work flow or tasks
(5) evaluate the project team’s ability to
control quality of software work products.
Process Indicators
Process indicators enable a software
engineering organization to gain insight into
the efficacy of an existing process (i.e., the
paradigm, software engineering tasks, work
products, and milestones).
They enable managers and practitioners to
assess
what works and what doesn’t. Process metrics
are collected across all projects and over long
periods of time. Their intent is to provide
indicators that lead to long-term software
process improvement.
Personal Software Process
The personal software process (PSP) is a
structured set of process descriptions,
measurements, and methods that can help
engineers to improve their personal
performance.
It provides the forms, scripts, and
standards that help them estimate and plan
their work. It shows
them how to define processes and how to
measure their quality and productivity.
Public Metrics
Public metrics generally assimilate
information that originally was private to
individuals and teams. Project level defect
rates (absolutely not attributed to an
individual), effort, calendar times, and
related data are collected and evaluated in
an attempt to uncover indicators that can
improve organizational process
performance.
Software Metrics
Grady [GRA92] suggests a
“software metrics etiquette” that is appropriate for both managers and practitioners as they
institute a process metrics program:
 Use common sense and organizational sensitivity when
interpreting metrics data.
 Provide regular feedback to the individuals and teams who
collect measures and metrics.
 Don’t use metrics to appraise individuals.
 Work with practitioners and teams to set clear goals and
metrics that will be used to achieve them.
 Never use metrics to threaten individuals or teams.
 Metrics data that indicate a problem area should not be
considered “negative.”
 These data are merely an indicator for process improvement.
 Don’t obsess on a single metric to the exclusion of other
important metrics.
Causes of Defects
Causes of defects and their origin for
software projects-
 Specification/Requirement analysis
 Design
 Coding
Causes of Defects
Project Metrics
Software process metrics are used for
strategic purposes. Software project
measures are tactical.
That is, project metrics and the indicators
derived from them are used by a project
manager and a software team to adapt
project work flow and technical activities.
Software Project Metrics
• Inputs—measures of the resources (e.g.,
people, environment) required to do the
work.
• Outputs—measures of the deliverables or
work products created during the software
engineering process.
• Results—measures that indicate the
effectiveness of the deliverables
Software metrics
 Direct Measures
 Indirect Measures
Direct Measures
Direct measures of the software
engineering process include cost and effort
applied.
Direct measures of the product include lines
of code (LOC) produced, execution speed,
memory size, and defects reported over
some set period of time.
Indirect Measures
Indirect measures of the product include
functionality, quality, complexity, efficiency,
reliability, maintainability, and many other
"–abilities“.
Size-Oriented Metrics
Size-oriented software metrics are derived
by normalizing quality and/or productivity
measures by considering the size of the
software that has been produced. If a
software organization maintains simple
records, a table of size-oriented measures.
Size-Oriented Metrics
Referring to the table entry (Figure 4.4) for
project alpha:12,100 lines of code were
developed with 24 person-months of effort
at a cost of $168,000.
It should be noted that the effort and cost
recorded in the table represent all software
engineering activities (analysis, design,
code, and test), not just coding.
Size-Oriented Metrics
 Errors per KLOC (thousand lines of code).
 Defects4 per KLOC.
 $ per LOC.
 Page of documentation per KLOC.
Drawbacks of Size Oriented
Metrics
 LOC measures are programming language
dependent.
 They penalize well-designed but shorter
programs.
 They cannot easily accommodate
nonprocedural languages.
 Their use in estimation requires a level of
detail that may be difficult to achieve.
Size-Oriented Metrics
 Errors per person-month.
 LOC per person-month.
 $ per page of documentation
Function-Oriented Metrics
 Function-oriented software metrics use a
measure of the functionality delivered by
the application as a normalization value.
 Since ‘functionality’ cannot be measured
directly, it must be derived indirectly
using other direct measures.
Function-Oriented Metrics
Function-oriented metrics were first
proposed by Albrecht.
Function points are derived using an
empirical relationship based on countable
(direct) measures of software's information
domain and assessments of software
complexity.
Function-Oriented Metrics
 Number of user inputs
 Number of user outputs
 Number of user inquiries
 Number of files
 Number of external interfaces
Number of user inputs
Each user input that provides distinct
application oriented data to the software is
counted. Inputs should be distinguished
from inquiries, which are counted
separately.
Number of User Outputs
Each user output that provides application
oriented information to the user is counted.
In this context output refers to reports,
screens, error messages, etc. Individual
data items within a report are not counted
separately.
Number of User Inquiries
An inquiry is defined as an on-line input
that results in the generation of some
immediate software response in the form of
an on-line output. Each distinct inquiry is
counted.
Number of Files
Each logical master file (i.e., a logical
grouping of data that may be one part of a
large database or a separate file) is
counted.
Number of External Interfaces
All machine readable interfaces (e.g., data
files on storage media) that are used to
transmit information to another system are
counted.
Function Points
To compute function points (FP), the
following relationship is used:
FP = count total [0.65 + 0.01 Σ(Fi)]
where count total is the sum of all FP
entries obtained.
Complexity Adjustment Values
1.Does the system require reliable backup and recovery?
2. Are data communications required?
3. Are there distributed processing functions?
4. Is performance critical?
5. Will the system run in an existing, heavily utilized operational environment?
6. Does the system require on-line data entry?
7. Does the on-line data entry require the input transaction to be built over
multiple
screens or operations?
8. Are the master files updated on-line?
9. Are the inputs, outputs, files, or inquiries complex?
10. Is the internal processing complex?
11. Is the code designed to be reusable?
12. Are conversion and installation included in the design?
13. Is the system designed for multiple installations in different organizations?
14. Is the application designed to facilitate change and ease of use by the user?
Function Points
 Each of these questions is answered using
a scale that ranges from 0 (not important
or applicable) to 5 (absolutely essential).
The constant values in
 FP = count total [0.65 + 0.01 Σ(Fi)] and
the weighting factors that are applied to
information domain counts are determined
empirically.
Using Function Points
Once function points have been calculated,
they are used in a manner analogous to
LOC as a way to normalize measures for
software productivity, quality, and other
attributes:
 Errors per FP.
 Defects per FP.
 $ per FP.
 Pages of documentation per FP.
 FP per person-month.
Function Point in various
Programming Languages
Programming
Language
LOC/FP (average)
Assembly language 320
C 128
COBOL 106
FORTRAN 106
Pascal 90
C++ 64
Ada95 53
Visual Basic 32
Small Talk 22
Powerbuilder 16
SQL 12
Quality
The project manager must also evaluate
quality as the project progresses. Private
metrics collected by individual software
engineers are assimilated to provide project
level results.
Quality
Many quality measures can be collected,
the primary thrust at the project level is to
measure errors and defects.
Quality
Metrics derived from these measures
provide an indication of the effectiveness of
individual and group software quality
assurance and control activities.
Metrics
Metrics such as work product (e.g.,
requirements or design) errors per function
point, errors uncovered per review hour,
and errors uncovered per testing hour
provide insight into the efficacy of each of
the activities implied by the metric.
Defect Removal Efficiency
Error datacan also be used to compute the
defect removal efficiency (DRE) for each
process framework activity.
Factors Assess Software from
three Distinct Points
(1) product operation (using it),
(2) product revision (changing it), and
(3) product transition (modifying it to work
in a different environment; i.e., "porting"
it).
Measuring Quality
 Correctness
 Maintainability
 Integrity
 Usability
Correctness
A program must operate correctly or it
provides little value to its users.
Correctness is the degree to which the
software performs its required function.
The most common measure for correctness
is defects per KLOC, where a defect is
defined as a verified lack of conformance to
requirements.
Maintainability
Software maintenance accounts for more
effort than any other software engineering
activity.
Maintainability is the ease with which a
program can be corrected if an error is
encountered, adapted if its environment
changes, or enhanced if the customer
desires a change in requirements.s
Integrity
Software integrity has become increasingly
important in the age of hackers and
firewalls. This attribute measures a
system's ability to withstand attacks (both
accidental and intentional) to its security.
Usability
Usabilityis an attempt to quantify user-friendliness
and can be measured in terms of four
characteristics:
(1) the physical and or intellectual skill required to
learn the system.
(2) the time required to become moderately
efficient in the use of the system.
(3) the net increase in productivity (over the
approach that the system replaces) measured
when the system is used by someone who is
moderately efficient.
(4) a subjective assessment (sometimes obtained
through a questionnaire) of users attitudes toward
the system.
THANK YOU

More Related Content

What's hot

Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metricsdespicable me
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software EngineeringDrishti Bhalla
 
Importance of software quality metrics
Importance of software quality metricsImportance of software quality metrics
Importance of software quality metricsPiyush Sohaney
 
Process and Project Metrics-1
Process and Project Metrics-1Process and Project Metrics-1
Process and Project Metrics-1Saqib Raza
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matricesPreeti Mishra
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimationNur Islam
 
Software Development Metrics You Can Count On
Software Development Metrics You Can Count On Software Development Metrics You Can Count On
Software Development Metrics You Can Count On Parasoft
 
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...iosrjce
 
Practical Software Measurement
Practical Software MeasurementPractical Software Measurement
Practical Software Measurementaliraza786
 
Lecture 04 Software Metrics and Estimation
Lecture 04 Software Metrics and EstimationLecture 04 Software Metrics and Estimation
Lecture 04 Software Metrics and EstimationAchmad Solichin
 

What's hot (19)

Chap13
Chap13Chap13
Chap13
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
 
Software Metrics - Software Engineering
Software Metrics - Software EngineeringSoftware Metrics - Software Engineering
Software Metrics - Software Engineering
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Slides chapter 15
Slides chapter 15Slides chapter 15
Slides chapter 15
 
Importance of software quality metrics
Importance of software quality metricsImportance of software quality metrics
Importance of software quality metrics
 
Software design metrics
Software design metricsSoftware design metrics
Software design metrics
 
Process and Project Metrics-1
Process and Project Metrics-1Process and Project Metrics-1
Process and Project Metrics-1
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matrices
 
Metrics for project size estimation
Metrics for project size estimationMetrics for project size estimation
Metrics for project size estimation
 
Software Development Metrics You Can Count On
Software Development Metrics You Can Count On Software Development Metrics You Can Count On
Software Development Metrics You Can Count On
 
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
A Review on Software Fault Detection and Prevention Mechanism in Software Dev...
 
Practical Software Measurement
Practical Software MeasurementPractical Software Measurement
Practical Software Measurement
 
Sop test planning
Sop test planningSop test planning
Sop test planning
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Slides chapter 5
Slides chapter 5Slides chapter 5
Slides chapter 5
 
Lecture 04 Software Metrics and Estimation
Lecture 04 Software Metrics and EstimationLecture 04 Software Metrics and Estimation
Lecture 04 Software Metrics and Estimation
 

Viewers also liked

Understanding software metrics
Understanding software metricsUnderstanding software metrics
Understanding software metricsTushar Sharma
 
Software Test Metrics and Measurements
Software Test Metrics and MeasurementsSoftware Test Metrics and Measurements
Software Test Metrics and MeasurementsDavis Thomas
 
Software Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsSoftware Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsProgrameter
 
Software metrics
Software metricsSoftware metrics
Software metricsIone Donosa
 
Software Metrics
Software MetricsSoftware Metrics
Software Metricsgh0sst
 
s/w metrics monitoring and control
s/w metrics monitoring and controls/w metrics monitoring and control
s/w metrics monitoring and controlPriyanka Pradhan
 
A functional software measurement approach bridging the gap between problem a...
A functional software measurement approach bridging the gap between problem a...A functional software measurement approach bridging the gap between problem a...
A functional software measurement approach bridging the gap between problem a...IWSM Mensura
 
Project Management and Measurement: what relationship?
Project Management and Measurement: what relationship?Project Management and Measurement: what relationship?
Project Management and Measurement: what relationship?Luigi Buglione
 
12 couplingand cohesion-student
12 couplingand cohesion-student12 couplingand cohesion-student
12 couplingand cohesion-studentrandhirlpu
 
Software quality metrics methodology _tanmi kiran
Software quality metrics methodology _tanmi kiranSoftware quality metrics methodology _tanmi kiran
Software quality metrics methodology _tanmi kiranTanmi Kapoor
 

Viewers also liked (15)

Sw Software Metrics
Sw Software MetricsSw Software Metrics
Sw Software Metrics
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Understanding software metrics
Understanding software metricsUnderstanding software metrics
Understanding software metrics
 
Testing Metrics
Testing MetricsTesting Metrics
Testing Metrics
 
Software Test Metrics and Measurements
Software Test Metrics and MeasurementsSoftware Test Metrics and Measurements
Software Test Metrics and Measurements
 
Software Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsSoftware Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and Metrics
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
s/w metrics monitoring and control
s/w metrics monitoring and controls/w metrics monitoring and control
s/w metrics monitoring and control
 
A functional software measurement approach bridging the gap between problem a...
A functional software measurement approach bridging the gap between problem a...A functional software measurement approach bridging the gap between problem a...
A functional software measurement approach bridging the gap between problem a...
 
Software quality metric
Software quality metricSoftware quality metric
Software quality metric
 
Project Management and Measurement: what relationship?
Project Management and Measurement: what relationship?Project Management and Measurement: what relationship?
Project Management and Measurement: what relationship?
 
12 couplingand cohesion-student
12 couplingand cohesion-student12 couplingand cohesion-student
12 couplingand cohesion-student
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software quality metrics methodology _tanmi kiran
Software quality metrics methodology _tanmi kiranSoftware quality metrics methodology _tanmi kiran
Software quality metrics methodology _tanmi kiran
 

Similar to Software Metrics & Measurement-Sharbani Bhattacharya

Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project managementjhudyne
 
Aula 1 - Project Management Concepts by Roger Pressman
Aula 1 - Project Management Concepts by Roger PressmanAula 1 - Project Management Concepts by Roger Pressman
Aula 1 - Project Management Concepts by Roger PressmanRogerio P C do Nascimento
 
Project Management Complete Concept
Project Management Complete Concept Project Management Complete Concept
Project Management Complete Concept MuhammadTalha436
 
Managing Software Project
Managing Software ProjectManaging Software Project
Managing Software ProjectAnas Bilal
 
Chapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewChapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewBule Hora University
 
Project management concepts
Project management conceptsProject management concepts
Project management conceptsNayyabMirTahir
 
software management, project management,
software management, project management,software management, project management,
software management, project management,Lisa Elisa
 
project management
 project management project management
project managementLisa Elisa
 
Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)MuskanSony
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1IIUI
 
Lecture2 2
Lecture2 2Lecture2 2
Lecture2 2soloeng
 
Chapter 1_Introduction sunorganisedASE_finalised.pptx
Chapter 1_Introduction sunorganisedASE_finalised.pptxChapter 1_Introduction sunorganisedASE_finalised.pptx
Chapter 1_Introduction sunorganisedASE_finalised.pptxBule Hora University
 
Part 02 Connecting Business Strategy and Project Management
Part 02 Connecting Business Strategy and Project ManagementPart 02 Connecting Business Strategy and Project Management
Part 02 Connecting Business Strategy and Project ManagementLilis Rusliyawati
 
Software process improvement ten traps to avoid
Software process improvement   ten traps to avoidSoftware process improvement   ten traps to avoid
Software process improvement ten traps to avoidbabak danyal
 

Similar to Software Metrics & Measurement-Sharbani Bhattacharya (20)

SE chapters 21-23
SE chapters 21-23SE chapters 21-23
SE chapters 21-23
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
 
Aula 1 - Project Management Concepts by Roger Pressman
Aula 1 - Project Management Concepts by Roger PressmanAula 1 - Project Management Concepts by Roger Pressman
Aula 1 - Project Management Concepts by Roger Pressman
 
Project Management Complete Concept
Project Management Complete Concept Project Management Complete Concept
Project Management Complete Concept
 
Managing Software Project
Managing Software ProjectManaging Software Project
Managing Software Project
 
Chapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overviewChapter1 Advanced Software Engineering overview
Chapter1 Advanced Software Engineering overview
 
Project management concepts
Project management conceptsProject management concepts
Project management concepts
 
software management, project management,
software management, project management,software management, project management,
software management, project management,
 
project management
 project management project management
project management
 
Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)Bca 5th sem seminar(software measurements)
Bca 5th sem seminar(software measurements)
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 
Lecture2 2
Lecture2 2Lecture2 2
Lecture2 2
 
Chapter 1_Introduction sunorganisedASE_finalised.pptx
Chapter 1_Introduction sunorganisedASE_finalised.pptxChapter 1_Introduction sunorganisedASE_finalised.pptx
Chapter 1_Introduction sunorganisedASE_finalised.pptx
 
Part 02 Connecting Business Strategy and Project Management
Part 02 Connecting Business Strategy and Project ManagementPart 02 Connecting Business Strategy and Project Management
Part 02 Connecting Business Strategy and Project Management
 
Se
SeSe
Se
 
An Introduction to Project management(project management tutorials)
An Introduction to Project management(project management tutorials)An Introduction to Project management(project management tutorials)
An Introduction to Project management(project management tutorials)
 
Managment spectrum
Managment spectrumManagment spectrum
Managment spectrum
 
Quality project management
Quality project managementQuality project management
Quality project management
 
Software process improvement ten traps to avoid
Software process improvement   ten traps to avoidSoftware process improvement   ten traps to avoid
Software process improvement ten traps to avoid
 
Project Mangement
Project MangementProject Mangement
Project Mangement
 

More from Sharbani Bhattacharya

Biometric authentication green apple computer learning
Biometric authentication green apple computer learningBiometric authentication green apple computer learning
Biometric authentication green apple computer learningSharbani Bhattacharya
 
Sharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & ImplementationSharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & ImplementationSharbani Bhattacharya
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaSharbani Bhattacharya
 
Sharbani bhattacharya Visual Basic User Interface-ii
Sharbani bhattacharya  Visual Basic User Interface-iiSharbani bhattacharya  Visual Basic User Interface-ii
Sharbani bhattacharya Visual Basic User Interface-iiSharbani Bhattacharya
 
Sharbani Bhattacharya VB User Interface1
Sharbani Bhattacharya VB User Interface1Sharbani Bhattacharya VB User Interface1
Sharbani Bhattacharya VB User Interface1Sharbani Bhattacharya
 
SE Introduction sharbani bhattacharya
SE Introduction sharbani bhattacharyaSE Introduction sharbani bhattacharya
SE Introduction sharbani bhattacharyaSharbani Bhattacharya
 
Sharbani bhattacharya Macromedia-flash
Sharbani bhattacharya Macromedia-flashSharbani bhattacharya Macromedia-flash
Sharbani bhattacharya Macromedia-flashSharbani Bhattacharya
 

More from Sharbani Bhattacharya (20)

Biometric authentication green apple computer learning
Biometric authentication green apple computer learningBiometric authentication green apple computer learning
Biometric authentication green apple computer learning
 
Javascript
JavascriptJavascript
Javascript
 
PHP programmimg
PHP programmimgPHP programmimg
PHP programmimg
 
Sharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & ImplementationSharbani Bhattacharya SE design & Implementation
Sharbani Bhattacharya SE design & Implementation
 
Visual Basic –User Interface- V
Visual Basic –User Interface- VVisual Basic –User Interface- V
Visual Basic –User Interface- V
 
Visual Basic User Interface-VI
Visual Basic User Interface-VIVisual Basic User Interface-VI
Visual Basic User Interface-VI
 
Microsoft Front Page
Microsoft Front PageMicrosoft Front Page
Microsoft Front Page
 
Visual Basic User Interface-III
Visual Basic User Interface-IIIVisual Basic User Interface-III
Visual Basic User Interface-III
 
Visual Basic User Interface -IV
Visual Basic User Interface -IVVisual Basic User Interface -IV
Visual Basic User Interface -IV
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Estimation sharbani bhattacharya
Estimation sharbani bhattacharyaEstimation sharbani bhattacharya
Estimation sharbani bhattacharya
 
Sharbani bhattacharya Visual Basic User Interface-ii
Sharbani bhattacharya  Visual Basic User Interface-iiSharbani bhattacharya  Visual Basic User Interface-ii
Sharbani bhattacharya Visual Basic User Interface-ii
 
Sharbani Bhattacharya VB User Interface1
Sharbani Bhattacharya VB User Interface1Sharbani Bhattacharya VB User Interface1
Sharbani Bhattacharya VB User Interface1
 
Sharbani bhattacharya VB Structures
Sharbani bhattacharya VB StructuresSharbani bhattacharya VB Structures
Sharbani bhattacharya VB Structures
 
Slcm sharbani bhattacharya
Slcm sharbani bhattacharyaSlcm sharbani bhattacharya
Slcm sharbani bhattacharya
 
SE Introduction sharbani bhattacharya
SE Introduction sharbani bhattacharyaSE Introduction sharbani bhattacharya
SE Introduction sharbani bhattacharya
 
Sharbani bhattacharya Macromedia-flash
Sharbani bhattacharya Macromedia-flashSharbani bhattacharya Macromedia-flash
Sharbani bhattacharya Macromedia-flash
 
Sharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual BasicSharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual Basic
 
Sharbani bhattacharya gyanodya 2014
Sharbani bhattacharya gyanodya 2014Sharbani bhattacharya gyanodya 2014
Sharbani bhattacharya gyanodya 2014
 
Sharbani bhattacharya sacta 2014
Sharbani bhattacharya sacta 2014Sharbani bhattacharya sacta 2014
Sharbani bhattacharya sacta 2014
 

Recently uploaded

21scheme vtu syllabus of visveraya technological university
21scheme vtu syllabus of visveraya technological university21scheme vtu syllabus of visveraya technological university
21scheme vtu syllabus of visveraya technological universityMohd Saifudeen
 
Artificial Intelligence in due diligence
Artificial Intelligence in due diligenceArtificial Intelligence in due diligence
Artificial Intelligence in due diligencemahaffeycheryld
 
Adsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptAdsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptjigup7320
 
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...drjose256
 
5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...archanaece3
 
Basics of Relay for Engineering Students
Basics of Relay for Engineering StudentsBasics of Relay for Engineering Students
Basics of Relay for Engineering Studentskannan348865
 
Final DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualFinal DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualBalamuruganV28
 
Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..MaherOthman7
 
Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdfKamal Acharya
 
Interfacing Analog to Digital Data Converters ee3404.pdf
Interfacing Analog to Digital Data Converters ee3404.pdfInterfacing Analog to Digital Data Converters ee3404.pdf
Interfacing Analog to Digital Data Converters ee3404.pdfragupathi90
 
Autodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxAutodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxMustafa Ahmed
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxkalpana413121
 
Filters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility ApplicationsFilters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility ApplicationsMathias Magdowski
 
Passive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.pptPassive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.pptamrabdallah9
 
analog-vs-digital-communication (concept of analog and digital).pptx
analog-vs-digital-communication (concept of analog and digital).pptxanalog-vs-digital-communication (concept of analog and digital).pptx
analog-vs-digital-communication (concept of analog and digital).pptxKarpagam Institute of Teechnology
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Ramkumar k
 
History of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & ModernizationHistory of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & ModernizationEmaan Sharma
 
Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...IJECEIAES
 
Raashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashidFaiyazSheikh
 
Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1T.D. Shashikala
 

Recently uploaded (20)

21scheme vtu syllabus of visveraya technological university
21scheme vtu syllabus of visveraya technological university21scheme vtu syllabus of visveraya technological university
21scheme vtu syllabus of visveraya technological university
 
Artificial Intelligence in due diligence
Artificial Intelligence in due diligenceArtificial Intelligence in due diligence
Artificial Intelligence in due diligence
 
Adsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptAdsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) ppt
 
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
 
5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...
 
Basics of Relay for Engineering Students
Basics of Relay for Engineering StudentsBasics of Relay for Engineering Students
Basics of Relay for Engineering Students
 
Final DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualFinal DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manual
 
Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..
 
Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdf
 
Interfacing Analog to Digital Data Converters ee3404.pdf
Interfacing Analog to Digital Data Converters ee3404.pdfInterfacing Analog to Digital Data Converters ee3404.pdf
Interfacing Analog to Digital Data Converters ee3404.pdf
 
Autodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxAutodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptx
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptx
 
Filters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility ApplicationsFilters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility Applications
 
Passive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.pptPassive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.ppt
 
analog-vs-digital-communication (concept of analog and digital).pptx
analog-vs-digital-communication (concept of analog and digital).pptxanalog-vs-digital-communication (concept of analog and digital).pptx
analog-vs-digital-communication (concept of analog and digital).pptx
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)
 
History of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & ModernizationHistory of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & Modernization
 
Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...
 
Raashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashid final report on Embedded Systems
Raashid final report on Embedded Systems
 
Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1
 

Software Metrics & Measurement-Sharbani Bhattacharya

  • 1. Sharbani Bhattacharya Software Engineering- Software Metrics & Measurement Govt. Polytechnic(W) Faridabad 30TH August 2016
  • 2. Project (technical) Managers Project (technical) managers who must plan, motivate, organize, and control the practitioners who do software work.
  • 3. Project Management Project management is a people-intensive activity, and for this reason, competent practitioners often make poor team leaders. They simply don’t have the right mix of people skills.
  • 4. Project Management Edgemon states: “Unfortunately and all too frequently it seems, individuals just fall into a project manager role and become accidental project managers.”
  • 5. Project Management Jerry Weinberg [WEI86] suggests a MOI model of leadership:  Motivation. The ability to encourage (by “push or pull”) technical people to produce to their best ability.  Organization. The ability to mold existing processes (or invent new ones) that will enable the initial concept to be translated into a final product.  Ideas or innovation. The ability to encourage people to create and feel creative even when they must work within bounds established for a particular software product or application.
  • 6. Software Project Manager A software project manager should concentrate on understanding the problem to be solved, managing the flow of ideas, and at the same time, letting everyone on the team know (by words and, far more important, by actions) that quality counts and that it will not be compromised.
  • 7. Effective Project Manager Characteristics that define an effective project manager emphasizes four key traits:  Problem solving  Managerial identity  Achievement  Influence and team building
  • 8. Problem solving  Problem solving An effective software project manager can diagnose the technical and organizational issues that are most relevant, systematically structure a solution or properly motivate other practitioners to develop the solution,apply lessons learned from past projects to new situations, and remain flexible enough to change direction if initial attempts at problem solution are fruitless.
  • 9. Managerial identity A good project manager must take charge of the project. She must have the confidence to assume control when necessary and the assurance to allow good technical people to follow their instincts.
  • 10. Achievement To optimize the productivity of a project team, a manager must reward initiative and accomplishment and demonstrate through his own actions that controlled risk taking will not be punished.
  • 11. Influence and team building An effective project manager must be able to“read” people; she must be able to understand verbal and nonverbal signals and react to the needs of the people sending these signals. The manager must remain under control in high-stress situations.
  • 12. Team Toxicity Jackman defines five factors that “foster a potentially toxic team environment”- 1. A frenzied work atmosphere in which team members waste energy and lose focus on the objectives of the work to be performed. 2. High frustration caused by personal, business, or technological factors that causes friction among team members. 3. “Fragmented or poorly coordinated procedures” or a poorly defined or improperly chosen process model that becomes a roadblock to accomplishment. 4. Unclear definition of roles resulting in a lack of accountability and resultant finger-pointing. 5. “Continuous and repeated exposure to failure” that leads to a loss of confidence and a lowering of morale.
  • 13. Software Project Manager The software project manager, working together with the team, should clearly refine roles and responsibilities before the project begins. The team itself should establish its own mechanisms for accountability (formal technical reviews3 are an excellent way to accomplish this) and define a series of corrective approaches when a member of the team fails to perform.
  • 14. Software Projects Reel [REE99] suggests a five-part commonsense approach to software projects-  Start on the right foot  Maintain momentum  Track progress  Make smart decisions  Conduct a postmortem analysis
  • 15. Start on the right foot This is accomplished by working hard (very hard)to understand the problem that is to be solved and then setting realistic objects and expectations for everyone who will be involved in the project. It is reinforced by building the right team and giving the team the autonomy, authority, and technology needed to do the job.
  • 16. Maintain Momentum Many projects get off to a good start and then slowly disintegrate. To maintain momentum, the project manager must provide incentives to keep turnover of personnel to an absolute minimum, the team should emphasize quality in every task it performs, and senior management should do everything possible to stay out of the team’s way.
  • 17. Track Progress For a software project, progress is tracked as work products (e.g., specifications, source code, sets of test cases) are produced and approved (using formal technical reviews) as part of a quality assurance activity. In addition, software process and project measures can be collected and used to assess progress against averages developed for the software development organization.
  • 18. Make smart decisions In essence, the decisions of the project manager and the software team should be to “keep it simple.” Whenever possible,decide to use commercial off-the-shelf software or existing software components,decide to avoid custom interfaces when standard approaches are available, decide to identify and then avoid obvious risks, and decide to allocate more time than you think is needed to complex or risky tasks (you’ll need every minute).
  • 19. Conduct a Postmortem Analysis Establish a consistent mechanism for extracting lessons learned for each project. Evaluate the planned and actual schedules, collect and analyze software project metrics, get feedback from team members and customers, and record findings in written form.
  • 20. Software Metrics & Measurement  Software metrics refers to a broad range of measurements for computer software.  Measurement can be applied to the software process with the intent of improving it on a continuous basis.
  • 21. Software Measurement Measurement can be used throughout a software project to assist in estimation, quality control, productivity assessment, and project control.
  • 22. Software Process and Product Metrics Software process and product metrics are quantitative measures that enable software people to gain insight into the efficacy of the software process and the projects that are conducted using the process as a framework.
  • 23. Metric The IEEE Standard Glossary of Software Engineering Terms [IEE93] defines metric as A quantitative measure of the degree to which a system, component, or process possesses a given attribute.
  • 24. Metric A software metric relates the individual measures in some way (e.g., the average number of errors found per review or the average number of errors found per person-hour expended on reviews.
  • 25. Indicator An indicator is a metric or combination of metrics that provide insight into the software process, a software project, or the product itself [RAG95]. An indicator provides insight that enables the project manager or software engineers to adjust the process, the project, or the process to make things better.
  • 26. Indicator Metrics should be collected  Process Indicators  Product Indicators  Project Indicator
  • 27. Project Indicators (1) assess the status of an ongoing project (2) track potential risks (3) uncover problem areas before they go “critical,” (4) adjust work flow or tasks (5) evaluate the project team’s ability to control quality of software work products.
  • 28. Process Indicators Process indicators enable a software engineering organization to gain insight into the efficacy of an existing process (i.e., the paradigm, software engineering tasks, work products, and milestones). They enable managers and practitioners to assess what works and what doesn’t. Process metrics are collected across all projects and over long periods of time. Their intent is to provide indicators that lead to long-term software process improvement.
  • 29.
  • 30. Personal Software Process The personal software process (PSP) is a structured set of process descriptions, measurements, and methods that can help engineers to improve their personal performance. It provides the forms, scripts, and standards that help them estimate and plan their work. It shows them how to define processes and how to measure their quality and productivity.
  • 31. Public Metrics Public metrics generally assimilate information that originally was private to individuals and teams. Project level defect rates (absolutely not attributed to an individual), effort, calendar times, and related data are collected and evaluated in an attempt to uncover indicators that can improve organizational process performance.
  • 32. Software Metrics Grady [GRA92] suggests a “software metrics etiquette” that is appropriate for both managers and practitioners as they institute a process metrics program:  Use common sense and organizational sensitivity when interpreting metrics data.  Provide regular feedback to the individuals and teams who collect measures and metrics.  Don’t use metrics to appraise individuals.  Work with practitioners and teams to set clear goals and metrics that will be used to achieve them.  Never use metrics to threaten individuals or teams.  Metrics data that indicate a problem area should not be considered “negative.”  These data are merely an indicator for process improvement.  Don’t obsess on a single metric to the exclusion of other important metrics.
  • 33. Causes of Defects Causes of defects and their origin for software projects-  Specification/Requirement analysis  Design  Coding
  • 35.
  • 36. Project Metrics Software process metrics are used for strategic purposes. Software project measures are tactical. That is, project metrics and the indicators derived from them are used by a project manager and a software team to adapt project work flow and technical activities.
  • 37. Software Project Metrics • Inputs—measures of the resources (e.g., people, environment) required to do the work. • Outputs—measures of the deliverables or work products created during the software engineering process. • Results—measures that indicate the effectiveness of the deliverables
  • 38. Software metrics  Direct Measures  Indirect Measures
  • 39. Direct Measures Direct measures of the software engineering process include cost and effort applied. Direct measures of the product include lines of code (LOC) produced, execution speed, memory size, and defects reported over some set period of time.
  • 40. Indirect Measures Indirect measures of the product include functionality, quality, complexity, efficiency, reliability, maintainability, and many other "–abilities“.
  • 41. Size-Oriented Metrics Size-oriented software metrics are derived by normalizing quality and/or productivity measures by considering the size of the software that has been produced. If a software organization maintains simple records, a table of size-oriented measures.
  • 42. Size-Oriented Metrics Referring to the table entry (Figure 4.4) for project alpha:12,100 lines of code were developed with 24 person-months of effort at a cost of $168,000. It should be noted that the effort and cost recorded in the table represent all software engineering activities (analysis, design, code, and test), not just coding.
  • 43.
  • 44. Size-Oriented Metrics  Errors per KLOC (thousand lines of code).  Defects4 per KLOC.  $ per LOC.  Page of documentation per KLOC.
  • 45. Drawbacks of Size Oriented Metrics  LOC measures are programming language dependent.  They penalize well-designed but shorter programs.  They cannot easily accommodate nonprocedural languages.  Their use in estimation requires a level of detail that may be difficult to achieve.
  • 46. Size-Oriented Metrics  Errors per person-month.  LOC per person-month.  $ per page of documentation
  • 47. Function-Oriented Metrics  Function-oriented software metrics use a measure of the functionality delivered by the application as a normalization value.  Since ‘functionality’ cannot be measured directly, it must be derived indirectly using other direct measures.
  • 48. Function-Oriented Metrics Function-oriented metrics were first proposed by Albrecht. Function points are derived using an empirical relationship based on countable (direct) measures of software's information domain and assessments of software complexity.
  • 49.
  • 50. Function-Oriented Metrics  Number of user inputs  Number of user outputs  Number of user inquiries  Number of files  Number of external interfaces
  • 51. Number of user inputs Each user input that provides distinct application oriented data to the software is counted. Inputs should be distinguished from inquiries, which are counted separately.
  • 52. Number of User Outputs Each user output that provides application oriented information to the user is counted. In this context output refers to reports, screens, error messages, etc. Individual data items within a report are not counted separately.
  • 53. Number of User Inquiries An inquiry is defined as an on-line input that results in the generation of some immediate software response in the form of an on-line output. Each distinct inquiry is counted.
  • 54. Number of Files Each logical master file (i.e., a logical grouping of data that may be one part of a large database or a separate file) is counted.
  • 55. Number of External Interfaces All machine readable interfaces (e.g., data files on storage media) that are used to transmit information to another system are counted.
  • 56. Function Points To compute function points (FP), the following relationship is used: FP = count total [0.65 + 0.01 Σ(Fi)] where count total is the sum of all FP entries obtained.
  • 57. Complexity Adjustment Values 1.Does the system require reliable backup and recovery? 2. Are data communications required? 3. Are there distributed processing functions? 4. Is performance critical? 5. Will the system run in an existing, heavily utilized operational environment? 6. Does the system require on-line data entry? 7. Does the on-line data entry require the input transaction to be built over multiple screens or operations? 8. Are the master files updated on-line? 9. Are the inputs, outputs, files, or inquiries complex? 10. Is the internal processing complex? 11. Is the code designed to be reusable? 12. Are conversion and installation included in the design? 13. Is the system designed for multiple installations in different organizations? 14. Is the application designed to facilitate change and ease of use by the user?
  • 58. Function Points  Each of these questions is answered using a scale that ranges from 0 (not important or applicable) to 5 (absolutely essential). The constant values in  FP = count total [0.65 + 0.01 Σ(Fi)] and the weighting factors that are applied to information domain counts are determined empirically.
  • 59. Using Function Points Once function points have been calculated, they are used in a manner analogous to LOC as a way to normalize measures for software productivity, quality, and other attributes:  Errors per FP.  Defects per FP.  $ per FP.  Pages of documentation per FP.  FP per person-month.
  • 60.
  • 61. Function Point in various Programming Languages Programming Language LOC/FP (average) Assembly language 320 C 128 COBOL 106 FORTRAN 106 Pascal 90 C++ 64 Ada95 53 Visual Basic 32 Small Talk 22 Powerbuilder 16 SQL 12
  • 62. Quality The project manager must also evaluate quality as the project progresses. Private metrics collected by individual software engineers are assimilated to provide project level results.
  • 63. Quality Many quality measures can be collected, the primary thrust at the project level is to measure errors and defects.
  • 64. Quality Metrics derived from these measures provide an indication of the effectiveness of individual and group software quality assurance and control activities.
  • 65. Metrics Metrics such as work product (e.g., requirements or design) errors per function point, errors uncovered per review hour, and errors uncovered per testing hour provide insight into the efficacy of each of the activities implied by the metric.
  • 66. Defect Removal Efficiency Error datacan also be used to compute the defect removal efficiency (DRE) for each process framework activity.
  • 67. Factors Assess Software from three Distinct Points (1) product operation (using it), (2) product revision (changing it), and (3) product transition (modifying it to work in a different environment; i.e., "porting" it).
  • 68. Measuring Quality  Correctness  Maintainability  Integrity  Usability
  • 69. Correctness A program must operate correctly or it provides little value to its users. Correctness is the degree to which the software performs its required function. The most common measure for correctness is defects per KLOC, where a defect is defined as a verified lack of conformance to requirements.
  • 70. Maintainability Software maintenance accounts for more effort than any other software engineering activity. Maintainability is the ease with which a program can be corrected if an error is encountered, adapted if its environment changes, or enhanced if the customer desires a change in requirements.s
  • 71. Integrity Software integrity has become increasingly important in the age of hackers and firewalls. This attribute measures a system's ability to withstand attacks (both accidental and intentional) to its security.
  • 72. Usability Usabilityis an attempt to quantify user-friendliness and can be measured in terms of four characteristics: (1) the physical and or intellectual skill required to learn the system. (2) the time required to become moderately efficient in the use of the system. (3) the net increase in productivity (over the approach that the system replaces) measured when the system is used by someone who is moderately efficient. (4) a subjective assessment (sometimes obtained through a questionnaire) of users attitudes toward the system.