Skip to content

Software Metrics

  • indicator of size, quantity amount or dimension of particular attribute of a product or process.
  • Two categories
    1. Direct Measures
    2. Indirect Measures
  • Direct Measures
    • includes cost, effort applied, LOC produced, execution speed, and total no of errors
  • Indirect Measures

    • includes products like functionality, quality,complexity, reliability, maintainability and much more.
  • Software metrics are of three categories:

    1. Product Metrics: It estimate Size, Complexity, Quality & Reliability of software.
    2. Process Metrics: It estimate Faults rate during development, Pattern of testing defect arrival. Time it takes for a fixed operation.
    3. Project Metrics: It estimate Number of software developers. Cost, Scheduling and Productivity of software

Size Metrics 1. LOC - does not include comments/blank lines - Pro - Most used metric in cost estimation - Very easy to estimate effort - Con - cannot measure size specification - Bad software design may cause an excessive line of code - Language Dependent - analogy based, design-oriented, convertible to FP(backfiring) 1. Fp - Functional Point - measure functionality, what the system performs - Pro - Not restricted to code - Language Independent - Con - Ignore quality issue - Subjective counting depend on estimation - Specification based, user-oriented, extensible to LOC

Factors affect on Project Estimation 1. Cost 2. Time 3. Size & Scope 4. Risk 5. Resources

Steps of Software Project Estimation 1. Estimate Project Size 2. Estimate Efforts (Person per month/hr) 3. Estimate Project Schedule (Month/Year) 4. Estimate Project Cost (Currency / Dollars)

Estimate Project Schedule: - Efforts in man-month are translated to calendar months thumb rule is used. - Schedule in calendar months = 3.0 * (man-months)1/3

  • Software Project Estimation is a form of problem solving (To estimate cost, time & efforts in software project.)
  • Decomposition Technique is divide & conquer approach of Software Project Estimation.
  • Decomposition Techniques are:

    1. Software Sizing
    2. Problem based Estimation
    3. Process based Estimation
  • Approaches of Software Sizing:

    1. "Fuzzy Logic" Sizing
    2. Function Point Sizing
    3. Standard Component Sizing
    4. Change Sizing

FPA - three point / expected value\(\(S\ = \ (S_{opt} + 4S_{m} + s_{pess})/6\)\)Where opt -> optimistic value, m -> Most likely, p -> pessimistic value

Constructive Cost Model (COCOMO) - depends on the size means number of lines of code for software product development. - Projects categorised into 3 types: 1. small and simple (2-50KLOC) 2. Semi Detached Type (50-300 KLOC) 3. Embedded Type (300+ KLOC) - Highest level of complexity, creativity and experience requirement.

Pasted image 20240430072426.png

Type 1 Basic COCOMO Model
  • static model to estimate software development effort quickly and roughly.(\(Effort\ (E)\ = \ a*(KLOC)^b\)\)(\(Scheduled\ Time(D)\ = \ c*(E)^d\ \ Month(m)\)\) Where,
    • E = Total effort required for the project in Man Months
    • D = Total Time required for project development in months
    • KLOC -> Kilo lines of code
    • a,b,c,d constant parameters\(\(Person\ Required \ = E/D\)\)
Type 2 Intermediate COCOMO Model
  • Extension of Basic COCOMO model which enhance more accuracy to cost estimation model result
  • Include cost drivers (Product, Hardware, Resource & project Parameter) of project.\(\(Effort(E)\ = \ a*(KLOC)^b*EAF \ \ \ \ \ ManMonths\)\)
  • (\(Scheduled Time(D) \ = \ c(E)^d\ \ \ Months\)\)Where,
    • E -> required in Man Months
    • D -> Total time required for project in months
    • EAF -> Effort Adjustment Factor

Type 3: Detailed / Complete COCOMO Model - incorprates all qualities of both previous models - 6 phases of detailed COCOMO 1. Planning and requirements 2. System design 3. Detailed design 4. Module code and test 5. Integration and test 6. Cost constructive model

Advantages of COCOMO Model 1. Provides a systematic way to estimate the cost and effort of a software project. 2. Estimate cost and effort of software project at different stages of the development process. 3. Helps in identifying the factors that have the greatest impact on the cost and effort of a softwareproject. 4. Provide ideas about historical projects. 5. Easy to implement with various factors.

Disadvantages of COCOMO Model 1. It ignores requirements, customer skills and hardware issues. 2. It limits the accuracy of the software costs. 3. It is based on assumptions and averages. 4. It mostly depends on time factors. 5. Assumes that the size of the software is the main factor that determines the cost and effort of a software project, which may not always be the case.

RMMM
  • Risk Mitigation, Monitoring and Management Plan
  • Risk Mitigation is a technique for avoiding risks (Risk Avoidance).
    • It is proactive approach. Apply before risk have generate.
  • Risk monitoring is an activity used to track a project's progress.
    • Performed by Project Manager.
  • Risk Management is reactive approach, applied after risk is generated
Software Configuration Management (SCM)
  • process to systematically manage, organise, & control changes in documents, codes & other entities during the Software Development Life Cycle.
  • goal is to increase productivity with minimal mistakes.

FPA

  • FPA Matrix.png
  • \[FPA\ = \ CAF \ * \ UFP$$ $$CAF \ = \ 0.65 \ + (0.01 * 14 * Degree\ of \ significance)\]
  • Degree of Significance ranges from 0 to 5
  • 0 -> not present
  • 1 -> insignificant
  • 2 -> moderate
  • 3 -> Average
  • 4 -> significant
  • 5 -> Esssential(\(UFP\ = \ \sum_{i=1}^{i=5} w_{ij}*c_{ij}\)\)Where,
    • \(w_{ij}\) -> Weight Adjustment
    • \(c_{ij}\) -> Count of values