추정 기법
- 경험 기반(Experience-based)
- 과거 프로젝트 경험을 바탕으로 추정
- 관리자가 감에 의존하여 노력량 판단
- 알고리즘 기반(Algorithmic cost modeling)
- 수학 공식 이용 (입력 값 = 프로젝트 속성들)
- 제품 크기, 팀 경험, 개발 방식 등 입력값으로 계산
경험 기반 접근
방법: 프로젝트를 구성하는 작업과 산출물들을 나열하고, 각각의 작업에 대해 필요한 노력량을 직접 추정
=> 보통 여러 명이 함께 논의하면서 추정하는 게 좋음.
단점:
- 새로운 프로젝트는 과거와 다를 수 있음
- 최신 기술, 새로운 도구 등은 경험이 부족하여 추정 정확도가 낮아짐
알고리즘 기반 추정

- A: 조직별 상수 (소프트웨어 종류에 따라 다름)
- Size: 코드 크기 (SLOC 기준)
- B: 복잡도 계수 (1.0~1.5)
- M: 보정 계수들(팀 경험, 플랫폼 난이도 등 포함)
COCOMO 모델
1. Application composition model
사용: 재사용(또는 프로토타이핑) 프로젝트

- NAP: 총 application point
- PROD: 생산성 (experience, 도구 숙련도에 따라 다름)
2. Early design model
사용: 요구사항만 확정된 초기 설계 단계에 사용

여기서 M = PERS × RCPX ×
- M은 7개의 곱셈 요소로 구성됨 (예: 팀 능력, 플랫폼 복잡도, 재사용 수준 등)
- B는 프로젝트의 새로움/리스크/유연성 등으로 조정됨
3. Reuse model
- 블랙박스 재사용: 수정 없이 그대로 사용하는 코드
- 화이트박스 재사용: 코드 수정 후 통합 → ESLOC(Equivalent SLOC) 계산 필요

- AAM: 적응 조정 계수 (변경/이해/재사용 의사결정 비용 포함)
4. Post-architecture model & Scale factor
- Early design과 같은 공식 사용하되 보정 계수는 17개로 더 많음
- 지수항 결정 scale factor
| Precedentedness | 유사 프로젝트 경험 |
| Development flexibility | 개발 자유도 |
| Architecture/risk resolution | 리스크 분석 수준 |
| Team cohesion | 팀 응집력 |
| Process maturity | 프로세스 성숙도 (CMM 기반) |

'공부 > 소프트웨어 공학' 카테고리의 다른 글
| Software Engineering: Agile (0) | 2025.04.20 |
|---|---|
| Software Engineering: Plan-driven development & Project Plans (0) | 2025.04.20 |
| Software Engineering: Project Planning & Software Price (0) | 2025.04.20 |
| Software Engineering 소프트웨어 공학: Project Management 프로젝트 관 (0) | 2025.04.19 |
| SoftwareEngineering: Software Process (0) | 2025.04.19 |