Top Banner

of 23

Product Metrics by ravi

Apr 14, 2018

Download

Documents

Ravi Varma
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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 ]