product metrics by ravi
TRANSCRIPT
-
7/30/2019 Product Metrics by ravi
1/23
Ravi varma
-
7/30/2019 Product Metrics by ravi
2/23
Software quality:Conformance to
explicitly stated functional and
performance requirements, explicitly
documented development standards, andimplicit characteristics that are expected
of all professionally developed software.
-
7/30/2019 Product Metrics by ravi
3/23
McCalls Quality Factors
Factors that affect software quality can be categorized in two broad groups:
1. Factors that can be directly measured (e.g. defects uncovered during testing)
2. Factors that can be measured only indirectly (e.g. usability or maintainability)
McCalls quality factors
1. Product operation(operational characteristics)
a. Correctness
b. Reliability
c. Efficiency
d. Integrity
e. Usability
2. Product Revision(ability to undergo change)
a. Maintainability
b. Flexibility
c. Testability
3. Product Transition(adaptability to new
environment)a. Portability
b. Reusability
c. Interoperability
-
7/30/2019 Product Metrics by ravi
4/23
ISO 9126 Quality Factors
1.Functionality
2.Reliability
3.Usability
4.Efficiency
5.Maintainability
6.Portability
-
7/30/2019 Product Metrics by ravi
5/23
Product metrics for computer software helps usto assess quality.
Measure
-- Provides a quantitative indication of the extent,
amount, dimension, capacity or size of someattribute of a product or process
Metric(IEEE 93 definition)
-- A quantitative measure of the degree to which asystem, component or process possess a given
attribute Indicator
-- A metric or a combination of metrics thatprovide insight into the software process, asoftware project or a product itself
-
7/30/2019 Product Metrics by ravi
6/23
Product metrics for the Analysis model
Function point Metric
First proposed by Albrecht
Measures the functionality delivered by thesystem
FP computed from the following parameters
1. Number of external inputs(EIS)
2. Number external outputs(EOS)3. Number of external Inquiries(EQS)
4. Number of Internal Logical Files(ILF)
5. Number of external interface files(EIFS)
-
7/30/2019 Product Metrics by ravi
7/23
-
7/30/2019 Product Metrics by ravi
8/23
To compute function points(FP) the following
relationship is used.
FP = count total x [0.65 + 0.01 x (Fi)]
Fi= 1 to 14 are value adjustment factor(VAF)based on these 14 questions
For questions go through textbook
For each question there is 1 to 5 value on
average we take 3 for each question.
So generally we take Fi =42.
-
7/30/2019 Product Metrics by ravi
9/23
Metrics for Specification Quality
we assume that there are nr requirements in a
specification, such that
nr= nf+ nnfnf= number of functional requirements
nnf= number of non-functional requirements
specificity Q1 = nui/n
rnui is the number of requirements for which all
reviewers had identical interpretations
Completeness Q2 = nu/[ni X ns]
-
7/30/2019 Product Metrics by ravi
10/23
Architectural Design Metrics
Card and Glass define three software designcomplexity measures : structural complexity, datacomplexity, and system complexity.
Structural complexity of a module i is defined in thefollowing manner:
S(i)=f2out(i)
Data complexity provides an indication of thecomplexity in the internal interface for a module i
and is defined asD(i)= v(i)/[fout (i)+1]
Fout (fan-out) indicates the number of modules imme-diately subordinate to module i; that is, the numberof modules that are directly invoked by module i.
-
7/30/2019 Product Metrics by ravi
11/23
system complexity is defined as the sum ofstructural and data complexity, specified as
C(i)= S(i)+ D(i)
Fenton suggests a number of simple morphology
Size = n + a
n is number of nodes
a is number of arcs
r= a/n
depth = the longest path from the root (top) nodeto a leaf node.
Width = maximum number of nodes at any onelevel of the architecture
-
7/30/2019 Product Metrics by ravi
12/23
-
7/30/2019 Product Metrics by ravi
13/23
DSQI(Design Structure Quality Index) US airforce has designed the DSQI
Compute s1 to s7 from data and architecturaldesign
S1:Total number of modules
S2:Number of modules whose correct function depends onthe data input
S3:Number of modules whose function depends on priorprocessing
S4:Number of data base items
S5:Number of unique database items
S6: Number of database segments
S7:Number of modules with single entry and exit
-
7/30/2019 Product Metrics by ravi
14/23
Calculate D1 to D6 from s1 to s7 as follows:
D1=1 if standard design is followed otherwise D1=0
D2(module independence)=(1-(s2/s1))
D3(module not depending on prior processing)=(1-(s3/s1))
D4(Data base size)=(1-(s5/s4))
D5(Database compartmentalization)=(1-(s6/s4)
D6(Module entry/exit characteristics)=(1-(s7/s1))
DSQI=sigma of WiDi
-
7/30/2019 Product Metrics by ravi
15/23
Metrics for object-oriented design-Size
Size is defined in terms of four views: population, volume, length, andfunctionality
Complexity
How classes of an OO design are interrelated to one another How classes of an
OO design are interrelated to one another Coupling
The physical connections between elements of the OO design The physicalconnections between elements of the OO design
Sufficiency
the degree to which an abstraction possesses the features the degree to whichan abstraction possesses the features required of it, or the degree to which a
design component required of it, or the degree to which a design componentpossesses features in its abstraction, from the point of view of possessesfeatures in its abstraction, from the point of view of the current application.
Completeness
An indirect implication about the degree to which the abstraction An indirectimplication about the degree to which the abstraction or design componentcan be reused
-
7/30/2019 Product Metrics by ravi
16/23
-Cohesion
The degree to which all operations workingtogether to achieve a single, well-definedpurpose
PrimitivenessApplied to both operations and classes, the degreeto which an operation is atomic
Similarity
The degree to which two or more classes are
similar in terms of their structure, function,behavior, or purpose
-volatility
The degree to which the likelihood that a changewill occur
-
7/30/2019 Product Metrics by ravi
17/23
Class oriented metrics- CK metrics suite
Proposed by Chidamberand Kemerer
weighted methods per class(WMC)
complexity of n methods is c1.. Cn of classfor WMC = ci
depth of the inheritance tree(DIT)
number of children(NOC)
coupling between object classes(CBO)
response for a class(RFC)
lack of cohesion in methods(LCOM)
-
7/30/2019 Product Metrics by ravi
18/23
Class-Oriented Metrics The MOOD Metrics
Suite( go through text book)
Method inheritance factor(MIF)
Coupling factor
Operation-Oriented Metrics
proposed by Lorenz and Kidd
average operation size
operation complexity
average number of parameters per
Operation
-
7/30/2019 Product Metrics by ravi
19/23
Component-Level Design MetricsCohesion metrics: afunction of data objects
and the locus of their definition
Coupling metrics :a function of input and
output parameters, global variables, and
modules called
Complexity metrics :hundreds have been
proposed (e.g., cyclomatic complexity)
Interface Design MetricsLayout appropriateness:a function of layout
entities, the geographic position and the
costofmaking transitions among entities
-
7/30/2019 Product Metrics by ravi
20/23
HSS(Halstead Software science) Primitive measure that may be derived after the code
is generated or estimated once design is completen1 = the number of distinct operators that appear in a
program
n2 = the number of distinct operands that appear in aprogramN1 = the total number of operator occurrences.N2 = the total number of operand occurrence.Overall program length N can be computed: N = n1 log2 n1 + n2 log2 n2Program volume V = N log2 (n1 + n2)
Volume ratio
L= 2/n1 X n2/N2
-
7/30/2019 Product Metrics by ravi
21/23
n1 = the number of distinct operators that
appear in a program n2 = the number of distinct operands that
appear in a program
N1 = the total number of operatoroccurrences.N2 = the total number of operand
occurrence.
Program Level and Effort
PL = 1/[(n1 / 2) x (N2 / n2 l)]
e = V/PL
-
7/30/2019 Product Metrics by ravi
22/23
Metrics for object-oriented testing
Lack of cohesion in methods (LCOM).
Percent public and protected (PAP).Public access to data members (PAD).
Number of root classes (NOR).
Fan-in (FIN).Number of children (NOC) and depth of the
inheritance tree (DIT).
-
7/30/2019 Product Metrics by ravi
23/23
Mt = the number of modules in the currentrelease
Fc = the number of modules in the currentrelease that have been changed
Fa = the number of modules in the currentrelease that have been added.Fd = the number of modules from the
preceding release that were deleted inthe current release
The Software Maturity Index, SMI, isdefined as:
SMI = [Mt (Fc + Fa + Fd)/ Mt ]