Software metrics can be categorized into Size-Oriented Metrics and Function-Oriented Metrics, both of which measure software productivity and quality but use different approaches. Below is a detailed comparison between the two types.
1. Size-Oriented Metrics
Size-oriented metrics measure software based on physical size, such as lines of code (LOC), the number of modules, or delivered bytes. These metrics assume that larger software requires more effort to develop and maintain.
Key Characteristics
✅ Based on size (e.g., lines of code, number of modules).
✅ Easier to measure since LOC is directly countable.
✅ Good for comparing projects of similar technology.
✅ Works well for procedural languages like C, Java, and Python.
❌ Not ideal for object-oriented and high-level languages (e.g., SQL, UML).
❌ Doesn’t account for complexity or efficiency.
Common Size-Oriented Metrics

2. Function-Oriented Metrics
Function-oriented metrics measure software based on functionality delivered to the user instead of size. This approach focuses on what the software does rather than how many lines it has.
Key Characteristics
✅ Based on function points (FP), not lines of code.
✅ More useful for high-level languages and modern software (e.g., web apps, AI, cloud computing).
✅ Considers complexity and user functionality.
✅ Better for comparing projects across different technologies.
❌ Harder to calculate compared to LOC.
❌ Requires expert judgment for accurate measurement.
Common Function-Oriented Metrics


Comparison Table: Size-Oriented vs. Function-Oriented Metrics
Aspect | Size-Oriented Metrics | Function-Oriented Metrics |
---|---|---|
Measurement Unit | Lines of Code (LOC) | Function Points (FP) |
Focus | Code size | Software functionality |
Best for | Procedural programming (C, Java, Python) | High-level software (AI, Cloud, Web) |
Estimation Basis | Code volume | User inputs, outputs, complexity |
Technology-Independent? | ❌ No | ✅ Yes |
Measures Productivity? | ✅ Yes | ✅ Yes |
Measures Complexity? | ❌ No | ✅ Yes |
Easy to Calculate? | ✅ Yes | ❌ No |
Useful for Cost Estimation? | ✅ Yes | ✅ Yes |