MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

download MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

of 22

Transcript of MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    1/22

    Software Engineering 1

    Basic Software Project

    Management

    Software Metricsand Estimation

    TOPIC SIX

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    2/22

    Software Engineering 2

    Software Metrics

    It refers to a variety of measure used in computer software..

    Measurements can be:

    applied to software process with the intent of continuous

    improvement. used throughout a software project to assist in estimation, quality

    control, productivity assessment and project control.

    used by software engineers to help assess the quality of technicalwork products and to assists in the tactical decision making as

    project proceeds.

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    3/22

    Software Engineering 3

    Software Measurement

    Reasons to indicate the quality of the product

    to assess the productivity of the people who produce theproduct

    to assess the benefits derived from new softwareengineering methods and tools

    to form a baseline for estimation

    to help justify request for new tools or additional training.

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    4/22

    Software Engineering 4

    Categories of Measurements

    Direct Measurements

    Software process measurements are cost and effort applied to thedevelopment of the software.

    Product measurements are lines of code (LOC) produced,execution, speed, memory size and defects report over a period oftime.

    Indirect Measurements

    Product measurements are functionality, quality, complexity,efficiency, reliability, maintainability etc.

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    5/22

    Software Engineering 5

    Metrics Categorization

    Size-oriented Metrics

    It is used to collect direct measures of software outputand quality based on the line of codes (LOC) produced.

    Function-oriented Metrics It is used to collect direct measures of software output

    and quality based on the program's functionality orutitlity.

    Human-oriented Metrics It provides measures collected about the manner in

    which people develop computer software and humanperception about the effectiveness of methods and tools.

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    6/22

    Software Engineering 6

    Metrics Categorization Productivity Metrics

    It refers to the measure on the output of softwareprocess.

    Quality Metrics

    It refers to the measure that provides indication of howclosely software conforms to implicit and explicitcustomer requirements.

    It is used for software fitness.

    Technical Metrics

    It refers to the measure on the characteristic of theproduct such as logical complexity and degree ofmodularity.

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    7/22

    Software Engineering 7

    Size-oriented Metrics (LOC)

    It consists of a table which keeps track of the followinginformation on each software project done by anorganization:

    effort in terms of man-days or person-month

    cost

    lines of code generated

    pages of documentation

    number of people

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    8/22

    Software Engineering 8

    Size-oriented Metrics (LOC)

    Project Effort Cost KLOC Pages Errors People

    (in P)

    Project One 22 222 .222 222 2 2 2

    Project Two 22 222 .2 2 2 2222 22 2

    Project Three 22 222 .222 2222 22 2

    Project Four 22 22 22 22 22 2

    Derived Metrics:Productivity = KLOC / person-months

    Quality = errors / KLOC

    Cost = Cost / KLOC

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    9/22

    Software Engineering 9

    Function-oriented Metrics:

    Function Points (FP) focus on the program's functionality or utility

    are derived using an empirical relationship based oncountable measures of software's information domain and

    assessment of software complexity used for business information system applications

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    10/22

    Software Engineering 10

    Computation of Function

    Point Determine the value of the information domain. Determine the complexity adjustment value.

    Use the Function Point formula.

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    11/22

    Software Engineering 11

    Information Domain

    Weighing Factor

    Measurement Count Simple Average Complex

    Number of User Input x 2 2 2 =

    Number of User Output x 2 2 2 =

    Number of User Inquiries x 2 2 2 =

    Number of Files x 2 22 22 =

    Number of External Interfaces x 2 2 22 =

    Count-Total =

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    12/22

    Software Engineering 12

    Complexity Adjustment Value2 2 2 2 2 2

    No Influence Incidental Moderate Average Significant Essential

    Fx:1. Does the system requirereliable backup?

    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 multiplescreens 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 design 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?

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    13/22

    Software Engineering 13

    Function Point Formula

    FP = Count-Total x [0.65 + 0.01 x sum(Fx)]

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    14/22

    Software Engineering 14

    Function Points

    Derived Metrics:

    Productivity = FP / person-months

    Quality = Defects / FP

    Cost = Cost / FP

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    15/22

    Software Engineering 15

    Reconciling LOC and FP

    Program m ing LanguagesLOC/FP (Average)

    Assem bly Language 222

    C 222

    Cobol 22

    Ada 2 2 2

    Java 22

    Perl 2 2

    Visual Bas ic 22

    SQL 22C++ 22

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    16/22

    Software Engineering 16

    Software Estimation

    Requirements

    experience

    access to good historical information

    courage to commit to quantitative measures when qualitative dataare all that exists

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    17/22

    Software Engineering 17

    Using FP and LOC

    Assume that the project similar to PROJECT FOUR of theSoftware Metrics History.

    Steps:

    Compute the Function Point. Determine the estimated LOC.

    Use Derived Formulas for the effort and cost estimation.

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    18/22

    Software Engineering 18

    Compute the Function Point

    Information Domain Weighting FactorMeasurement Parameter Count S imple Average Complex

    Number of User Inputs 2 x 3 4 6 6

    Number of User Outputs 5 x 4 5 7 20Number of User Inquiries 3 x 3 4 6 9

    Number of Files 2 x 7 10 15 14

    Number of External

    Interfaces

    2 x 5 7 10 10

    Count-Total 59

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    19/22

    Software Engineering 19

    Compute the Function Point

    2. Are data communications required? 3

    3. Are there distributed processing functions? 1

    4. Is performance critical? 2

    5. Will the system run in an existing, heavily utilized operational environment? 3

    6. Does the system require on-line data entry? 4

    7. Does the on-line data entry require the input transaction to be built over multiplescreens or operations? 2

    8. Are the master files updated on-line? 2

    9. Are the inputs, outputs, files, or inquiries complex? 1

    10.Is the internal processing complex? 1

    11.Is the code designed to be reusable? 4

    12.Are conversion and installation included in the design? 3

    13.Is the system designed for multiple installations in different organizations? 1

    14.Is the application designed to facilitate change and ease of use by the user? 1

    Total= 31

    FP = 59 X [0.65 + 0.01 x 31] = 56.64 FP

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    20/22

    Software Engineering 20

    Determine the LOC

    The project heavily uses JAVA.

    LOC = 56.64 * 63 = 3568.32 LOC

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    21/22

    Software Engineering 21

    Derive effort and cost

    estimatesCost Estimates are computed as follows:

    Cost of Producing a single LOC (From the Database): KLOC / Cost

    Cost/KLOC = P30,000/15,000LOC = P2.00/LOC

    Cost of the project = 3568.32 * 2.00 = P7136.64

    Effort Estimates are computed as follows:

    Number of LOC produced in a month (From the Database): KLOC/EffortKLOC/Effort = 15,000LOC / 8 months = 1875 LOC / month

    Effort of the project = 3568.32 / 1875 = 1.9 or 2 months

  • 7/29/2019 MELJUN CORTES JEDI Slides-7.6 Software Metrics and Estimation

    22/22

    Software Engineering 22

    Summary

    Software Metrics

    Categories of Measurement

    Size-oriented Metrics

    Lines Of Code (LOC)

    Software Metric History

    Function-oriented Metrics

    Function Points (FP

    Reconciling LOC and FP Metrics Project Estimations