2. • Software Measurement: A measurement is a manifestation of the
size, quantity, amount, or dimension of a particular attribute of a
product or process. Software measurement is a titrate impute of a
characteristic of a software product or the software process. It is an
authority within software engineering.
3. • Software Measurement Principles:
• The software measurement process can be characterized by five activities-
• Formulation: The derivation of software measures and metrics appropriate
for the representation of the software that is being considered.
• Collection: The mechanism used to accumulate data required to derive the
formulated metrics.
• Analysis: The computation of metrics and the application of mathematical
tools.
• Interpretation: The evaluation of metrics resulting in insight into the
quality of the representation.
• Feedback: Recommendation derived from the interpretation of product
metrics transmitted to the software team.
4. Need for Software Measurement:
• Software is measured to:
• Create the quality of the current product or process.
• Anticipate future qualities of the product or process.
• Enhance the quality of a product or process.
• Regulate the state of the project in relation to budget and schedule.
• Classification of Software Measurement:
• There are 2 types of software measurement:
• Direct Measurement: In direct measurement, the product, process, or
thing is measured directly using a standard scale.
• Indirect Measurement: In indirect measurement, the quantity or quality to
be measured is measured using related parameters i.e. by use of reference.
5. Metrics:
• A metric is a measurement of the level at which any impute belongs
to a system product or process.
• Software metrics will be useful only if they are characterized
effectively and validated so that their worth is proven. There are 4
functions related to software metrics:
• Planning
• Organizing
• Controlling
• Improving
6. Characteristics of software Metrics:
•
• Quantitative: Metrics must possess quantitative nature. It means metrics
can be expressed in values.
• Understandable: Metric computation should be easily understood, and the
method of computing metrics should be clearly defined.
• Applicability: Metrics should be applicable in the initial phases of the
development of the software.
• Repeatable: The metric values should be the same when measured
repeatedly and consistent in nature.
• Economical: The computation of metrics should be economical.
• Language Independent: Metrics should not depend on any programming
language.
7. Classification of Software Metrics:
• There are 3 types of software metrics:
• Product Metrics: Product metrics are used to evaluate the state of
the product, tracing risks and undercover prospective problem areas.
The ability of the team to control quality is evaluated.
• Process Metrics: Process metrics pay particular attention to
enhancing the long-term process of the team or organization.
• Project Metrics: The project matrix describes the project
characteristic and execution process.
8. Lines of Code (LOC) in Software Engineering
• A line of code (LOC) is any line of text in a code that is not a comment
or blank line, and also header lines, in any case of the number of
statements or fragments of statements on the line. LOC clearly
consists of all lines containing the declaration of any variable, and
executable and non-executable statements. As Lines of Code (LOC)
only counts the volume of code, you can only use it to compare or
estimate projects that use the same language and are coded using the
same coding standards.
9. Line of Code
• Features :
• Variations such as “source lines of code”, are used to set out a codebase.
• LOC is frequently used in some kinds of arguments.
• They are used in assessing a project’s performance or efficiency.
• Advantages :
• Most used metric in cost estimation.
• Its alternates have many problems as compared to this metric.
• It is very easy in estimating the efforts.
• Disadvantages :
• Very difficult to estimate the LOC of the final program from the problem specification.
• It correlates poorly with quality and efficiency of code.
• It doesn’t consider complexity.
10.
11. Function Point (FP) Metric
• The function point metric is used to measure
• the functionality delivered by the system
• estimate the effort
• predict the number of errors
• estimate the number of components in the system.
Function point is derived by using a relationship between the complexity of
software and the information domain value. Information domain values
used in function point include
the number of external inputs
external outputs
external inquires
internal logical files
the number of external interface files.
12. Counting Function Point (FP):
Step-1:F = 14 * scale
Scale varies from 0 to 5 according to character of Complexity Adjustment Factor (CAF).
Below table shows scale:
0 - No Influence 1 - Incidental 2 - Moderate 3 - Average 4 - Significant 5 - Essential
Step-2: Calculate Complexity Adjustment Factor (CAF).CAF = 0.65 + ( 0.01 * F )
Function Units Low Avg High
EI 3 4 6
EO 4 5 7
EQ 3 4 6
ILF 7 10 15
EIF 5 7 10
ILF
EIF
•Step-3: Calculate Unadjusted Function Point (UFP).
TABLE (Required)
Multiply each individual function point to corresponding values in TABLE.
13. Multiply each individual function point to corresponding values in TABLE.
Step-4: Calculate Function Point.
FP = UFP * CAF
Example:
Given the following values, compute function point when all complexity adjustment factor (CAF) and
weighting factors are average.
User Input = 50 User Output = 40 User Inquiries = 35 User Files = 6 External Interface = 4
Explanation:
•Step-1: As complexity adjustment factor is average (given in question), hence
•scale = 3.
• F = 14 * 3 = 42
•Step-2:CAF = 0.65 + ( 0.01 * 42 ) = 1.07
•Step-3: As weighting factors are also average (given in question) hence
•we will multiply each individual function point to corresponding values in TABLE.
•UFP = (50*4) + (40*5) + (35*4) + (6*10) + (4*7) = 628
Step-4:Function Point = 628 * 1.07 = 671.96