› Module 7: Software Quality Assurance & Metrics › 7.3 Software Metrics: Size vs Function-Oriented
M O D U L E

Module 7: Software Quality Assurance & Metrics

Software quality concepts, McCall's factors, SQA activities, metrics (LOC/FP), and CMM maturity levels

7.1 Software Quality Concepts & McCall's Factors

Software Quality is defined as conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics expected of all professionally developed software.

McCall's Quality Factors

  • Product Operation: Correctness, Reliability, Efficiency, Integrity, Usability.
  • Product Revision: Maintainability, Flexibility, Testability.
  • Product Transition: Portability, Reusability, Interoperability.

7.2 Software Quality Assurance (SQA) Activities

SQA is an overarching planned pattern of actions ensuring that software development processes adhere to documented standards and procedures throughout the lifecycle.

  • Preparing and managing the formal SQA Plan.
  • Conducting Formal Technical Reviews (FTRs): Walkthroughs, inspections, and architectural audits.
  • Enforcing adherence to language coding standards and security policies.
  • Tracking deviations and tracking bug metrics to release readiness.

7.3 Software Metrics: Size vs Function-Oriented

A Software Metric is a quantitative measurement of the degree to which a system, component, or process possesses a given attribute.

  • Size-Oriented Metrics (LOC / KLOC): Derived by counting physical lines of code. Weakness: language-dependent and penalizes concise high-level expressions.
  • Function-Oriented Metrics (Function Points - FP): Measures the business functionality delivered to the user independent of programming language, calculated from external inputs, external outputs, external inquiries, internal logical files, and external interface files.
  • Product Metrics: Measure quality of deliverables (cyclomatic complexity, defect density).
  • Process Metrics: Measure efficiency of the engineering organization (lead time, cycle time, bug fix turnaround).

7.4 Capability Maturity Model (CMM)

Developed by the Software Engineering Institute (SEI) at Carnegie Mellon University, the Capability Maturity Model (CMM) evaluates the process maturity and discipline of a software organization across five progressive levels.

Figure 7.1: The 5 Levels of the Capability Maturity Model (CMM) Level 5: Optimizing Continuous process improvement via quantitative feedback Level 4: Managed Process measured quantitatively & controlled statistically Level 3: Defined Standardized, documented processes across the organization Level 2: Repeatable Basic project management established Level 1: Initial Ad-hoc, chaotic, unpredictable

Figure 7.1: The 5-level SEI Capability Maturity Model progresses from chaotic heroics to continuous optimization.

MODULE COMPREHENSIVE QUIZ

Module 7 Final Quiz

Test your understanding across all 4 topics of this module with interview-grade questions, tricky edge cases, and code output predictions.

Take Module 7 Final Quiz →
Yukti Mascot