728x90
반응형
개요
본수산정(LOC, Lines of Code)은 소프트웨어 개발 시 작성되는 실제 소스 코드의 물리적 양을 기준으로 시스템의 규모를 측정하는 대표적인 정량적 산정 기법입니다. 언어별 생산성 계수와 개발자 평균 공수 데이터를 기반으로 개발 비용과 일정, 인력 수요를 예측할 수 있어 과거부터 지금까지 실무에서 폭넓게 활용되고 있습니다.
1. 개념 및 정의
LOC 방식은 소프트웨어를 구성하는 소스 코드의 라인 수를 기반으로 시스템 규모를 측정합니다. 주석, 공백, 컴파일된 코드 포함 여부 등 다양한 기준으로 세분화되며, 특정 언어나 도구의 영향 없이 양적인 측정을 통해 프로젝트의 복잡도 및 개발 난이도를 가늠할 수 있는 장점이 있습니다.
2. 특징
구분 | 설명 | 예시 |
정량적 수치 기반 | 작성된 코드 라인 수 기준 | 5,000 LOC, 20,000 LOC 등 |
언어별 생산성 계수 차이 | 언어 구조에 따라 LOC 차이 발생 | Python < Java < C 기준으로 본수 다름 |
개발 완료 이후 정확성↑ | 초기 추정보다 구현 이후 측정에 유리 | 개발 완료 후 정확한 본수 측정 가능 |
LOC는 코드 중심 조직 또는 유지보수 사업에서 신뢰도 높은 지표로 활용됨.
3. 산정 방식 및 계산 절차
단계 | 설명 | 주요 도구 |
1단계 | 프로젝트 단위, 모듈별 LOC 기준 정의 | 물리적 라인 수 기준 선정 |
2단계 | 언어별 코드 라인 수 측정 | CLOC, SLOCCount, SonarQube 등 도구 사용 |
3단계 | 생산성 계수 적용 (LOC/인월) | 예: Java 1,000 LOC/인월 |
4단계 | 총 공수 및 인건비 산정 | LOC ÷ 생산성 × 단가 |
초기 단계에서는 과거 유사 프로젝트의 본수 기반 예측 방식도 사용 가능.
4. 장점 및 이점
항목 | 설명 | 기대 효과 |
간단한 산정 논리 | 수량 기반 단순 산정 | 이해하기 쉬운 계산 방식 |
유사 사례 적용 용이 | 과거 프로젝트와 비교 가능 | 재사용 코드 비교 분석 가능 |
생산성 관리에 유리 | 인당 LOC 기반 생산성 분석 | 팀 성과 및 비용 통제 지표 제공 |
다만, 로직 복잡도나 기능 수를 반영하지 못하는 한계가 존재함.
5. 주요 활용 사례 및 고려사항
활용 사례 | 설명 | 고려사항 |
유지보수 단가 산정 | 코드 변경 라인 기준 비용 계산 | 수정 본수만 집계할지 여부 결정 필요 |
시스템 리팩토링 범위 분석 | 기존 코드 라인 총량으로 변경 규모 추정 | 주석 및 중복 코드 제거 여부 명확히 해야 함 |
자동 측정 기반 정기 분석 | 주기적 코드 품질 및 규모 추적 | 자동 측정 도구의 기준 일관성 유지 필요 |
본수 기준은 정량적이지만, 기능 복잡도나 가치 기준을 보완해야 함.
6. 비교: 기능점수법 vs LOC 방식
항목 | 기능점수법(FP) | 본수산정(LOC) |
산정 기준 | 사용자 기능 | 코드 라인 수 |
언어 독립성 | 있음 | 없음 (언어 영향 있음) |
초기 추정 가능성 | 요구사항만으로 가능 | 개발 완료 후에 정확도 ↑ |
정확성/객관성 | 중간 수준 | 코드 기반으로 높은 신뢰도 |
상황에 따라 병행하거나 단계별로 다른 산정법을 활용하는 것이 효과적임.
7. 결론
본수산정은 여전히 많은 소프트웨어 프로젝트에서 실무적으로 유효한 산정 방식입니다. 특히 코드 기반 유지보수, 리팩토링, 유사 프로젝트 분석 등에서 강점을 가지며, 자동화 도구를 활용하면 시간과 인력을 절감하면서 높은 정확도의 산정이 가능합니다. 다만, 기능 중심이 아닌 구조 중심이라는 한계를 인식하고, FP와 병행하여 활용하는 것이 효과적입니다.
728x90
반응형
'Topic' 카테고리의 다른 글
신뢰성 성장 모델(Reliability Growth Model) (0) | 2025.04.10 |
---|---|
품질관리 QC 7도구 (0) | 2025.04.10 |
비용산정(Cost Estimation) (0) | 2025.04.09 |
기능점수법(Function Point Analysis) (1) | 2025.04.09 |
소프트웨어사업 대가산정 가이드 (0) | 2025.04.09 |