반응형
소프트웨어 비용 산정
- 개발에 소요되는 인원, 자원, 기간 등으로 소프트웨어의 규모를 확인하여 개발 계획 수립에 필요한 비용을 산정하는 것입니다.
- 소프트웨어 비용을 너무 높게 산정할 경우 예산 낭비와 일의 효율성 저하를 초래할 수 있고, 너무 낮게 산정할 경우 개발자의 부담이 가증되고 품질 문제가 발생할 수 있습니다.
- 소프트웨어 비용 산정 기법에는 하향식 비용 산정 기법과 상향식 비용 산정 기법이 있습니다.
소프트웨어 비용 결정 요소
요소 | 내용 |
프로젝트 요소 | - 제품 복잡도 : 소프트웨어의 종류에 따라 발생할 수 있는 문제점들의 난이도 - 시스템 크기 : 소프트웨어의 규모에 따라 개발해야 할 시스템의 크기 - 요구되는 신뢰도 : 일정 기간 내 주어진 조건하에서 프로그램이 필요한 기능을 수행하는 정도 |
자원 요소 | - 인적 자원 : 소프트웨어 개발 관련자들이 갖춘 능력 혹은 자질 - 하드웨어 자원 : 소프트웨어 개발 시 필요한 장비와 워드프로세서, 프린터 등의 보조 장비 - 소프트웨어 자원 : 소프트웨어 개발 시 필요한 언어 분석기, 문서화 도구 등의 개발 지원 도구 |
생산성 요소 | - 개발자 능력 : 개발자들이 갖춘 전문지식, 경험, 이해도, 책임감, 창의력 등 - 개발 기간 : 소프트웨어를 개발하는 기간 |
반응형
1) 하향식 비용 산정 기법
- 하향식 비용 산정 기법은 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정하는 비과학적인 방법입니다.
- 프로젝트의 전체 비용을 산정한 후 각 작업별로 비용을 세분화합니다.
- 전문가 감정 기법, 델파이 기법이 있습니다.
하향식 - 전문가 감정 기법
- 전문가 감정 기법은 조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법입니다.
- 가장 편리하고 신속하게 비용을 산정할 수 있습니다.
- 의뢰자로부터 믿음을 얻을 수 있습니다.
- 개인적이고 주관적일 수 있습니다.
하향식 - 델파이 기법
- 델파이 기법은 전문가 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가들의 의견을 종합하여 산정하는 기법입니다.
- 전문가들의 편견이나 분위기에 지배되지 않도록 한 명의 조정자와 여러 전문가로 구성됩니다.
2) 상향식 비용 산정 기법
- 상향식 비용 산정 기법은 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법입니다.
- 주요 상향식 비용 산정 기법에는 LOC(원시 코드 라인 수) 기법, 개발 단계별 인월수 기법, 수학적 산정 기법이 있습니다.
상향식 - LOC(원시 코드 라인 수, source Line Of Code) 기법
- LOC 기법은 소프트웨어 각 기능의 원시 코드 라인 수의 비관치(가장 많이 측정된 코드 라인 수), 낙관치(가장 적게 측정된 코드 라인 수), 기대치(측정된 모든 코드 라인 수의 평균)를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법입니다.
- 측정이 용이하고 이해하기 쉬워 가장 많이 사용됩니다.
- 예측치를 이용하여 생산성, 노력, 개발 기간 등의 비용을 산정합니다.
- 산정 공식
- 노력(인월) = 개발 기간 X 투입 인원 = LOC / 1인당 월평균 생산 코드 라인 수
- 개발 비용 = 노력(인월) X 단위 비용(1인당 월평균 인건비)
- 개발 기간 = 노력(인월) / 투입 인원
- 생산성 = LOC / 노력(인월)
상향식 - 개발 단계별 인월수 (Effort Per Task) 기법
- 개발 단계별 인월수 기법은 LOC 기법을 보완하기 위한 기법입니다.
- 각 기능을 구현시키는 데 필요한 노력을 생명 주기의 각 단계별로 산정합니다.
- LOC 기법보다 더 정확합니다.
3) 수학적 산정 기법
- 수학적 산정 기법은 상향식 비용 산정 기법으로, 경험적 추정 모형, 실험적 추정 모형이라고도 합니다.
- 개발 비용 산정의 자동화를 목표로 합니다.
- 비용의 자동 산정을 위해 사용되는 공식은 과거의 유사한 프로젝트를 기반으로 유도된 것입니다.
- 주요 수학적 산정 기법에는 COCOMO 모형, Putnam 모형, 기능 점수(FP) 모형이 있습니다.
COCOMO(COnstructive COst MOdel) 모형
- COCOMO 모형은 원시 프로그램의 규모인 LOC(원시 코드 라인 수)에 의한 비용 산정 기법입니다.
- 개발할 소프트웨어의 규모를 예측한 후 이를 소프트웨어 종류에 따라 다르게 책정되는 비용 산정 방정식에 대입하여 비용을 산정합니다.
- 비용 산정 결과는 프로젝트를 완성하는 데 필요한 노력(Man-Month)으로 나타납니다.
- 보헴(Boehm)이 제안하였습니다.
COCOMO의 소프트웨어 개발 유형
유형 | 특징 |
조직형 (Organic Mode) |
- 기관 내부에서 개발된 중/소 규모의 소프트웨어 - 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리용 등의 5만 라인 이하의 소프트웨어를 개발하는 유형 - 사무 처리용, 업무용, 과학용 응용 소프트웨어 개발에 적합 |
반분리형 (Semi-Detached Mode) |
- 조직형과 내장형의 중간형 소프트웨어 - 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등의 30만 라인 이하의 소프트웨어를 개발하는 유형 - 컴파일러, 인터프리터와 같은 유틸리티 개발에 적합 |
내장형 (Embedded Mode) |
- 초대형 규모의 소프트웨어 - 트랜잭션 처리 시스템이나 운영체제 등의 30만 라인 이상의 소프트웨어를 개발하는 유형 - 신호기 제어 시스템, 미사일 유도 시스템, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적합 |
COCOMO 모형의 종류
종류 | 특징 |
기본형(Basic) | 소프트웨어 크기과 개발 유형만을 이용하여 비용 산정 |
중간형(Intermediate) | 기본형 COCOMO의 공식을 토대로 사용하나, 아래 4가지 특성에 의해 비용을 산정 - 제품의 특성 - 컴퓨터의 특성 - 개발 요원의 특성 - 프로젝트의 특성 |
발전형(Detailed) | - 중간형 COCOMO를 보완하여 만들어진 모형 - 개발 공정별로 보다 자세하고 정확하게 노력을 산출하여 비용 산정 - 소프트웨어 환경과 구성 요소가 사전에 정의되어 있어야 하며, 개발 과정의 후반부에 주로 적용 |
Putnam 모형
- 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 예상하는 모형입니다.
- 푸트남이 제안한 것으로, 생명 주기 예측 모형이라고도 합니다.
- 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 합니다. (* Rayleigh-Norden 곡선 : 노든이 소프트웨어 개발에 관한 경험적 자료를 수집하여 이를 근거로 그린 곡선)
- 대형 프로젝트의 노력 분포 산정에 이용됩니다.
- 개발 기간이 늘어날수록 프로젝트 적용 인원의 노력이 감소합니다.
기능 점수(FP: Function Point) 모형
- 소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여하고, 요인별로 가중치를 합산하여 총 기능 점수를 산출하며, 총 기능 점수와 영향도를 이용하여 기능 점수(FP)를 구한 후 이를 이용해서 비용을 산정하는 기법입니다.
- 알브레히트(Albrecht)가 제안하였습니다.
- 소프트웨어 기능 증대 요인
- 자료 입력 (입력 양식)
- 정보 출력 (출력 보고서)
- 명령어 (사용자 질의수)
- 데이터 파일
- 필요한 외부 루틴과의 인터페이스
비용 산정 자동화 추정 도구
SLIM | Rayleigh-Norden 곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구 |
ESTIMACS | 다양한 프로젝트와 개인별 요소를 수용하도록 FP 모형을 기초로 하여 개발된 자동화 추정 도구 |
반응형
'정보처리기사 준비 > 실기 공부' 카테고리의 다른 글
개발 프로젝트 일정 계획 (2) | 2023.07.09 |
---|---|
소프트웨어 공학의 발전적 추세 - 재사용, 재공학 (Reuse, Reengineering) (0) | 2023.07.09 |
소프트웨어 개발 방법론의 정의와 종류 (구조적, 정보공학, 객체지향 등) (0) | 2023.07.09 |
패키지 다이어그램 (Package Diagram) (0) | 2023.07.09 |
시퀀스(Sequence), 커뮤니케이션(Communication), 상태(State) 다이어그램 (2) | 2023.07.02 |