1. 소프트웨어 비용 산정의 개요
- 소프트웨어의 개발 규모를 소요되는 인원, 자원, 기간 등ㅇ로 확인하여 실행 가능한 계획을 수립하기 위해 필요한 비용을 산정하는 것
- 하향식 비용산정 기법 / 상향식 비용산정 기법
2. 소프트웨어 비용결정 요소
2-1) 프로젝트 요소
- 제품 복잡도 : 소프트웨어 종류에 따라 발생할 수 있는 문제점들의 난이도를 의미
- 시스템 크기 : 소프트웨어 규모에 따라 개발해야 할 시스템의 크기 의미
- 요구되는 신뢰도 : 일정기간 내 주어진 조건에서 프로그램이 필요한 기능을 수행하는 정도를 의미
2-2) 자원 요소
- 인적자원 : 소프트웨어 개발 관련자들이 갖춘 능력 혹은 자질을 의미
- 하드웨어 자원 : 소프트웨어 개발 시 필요한 장비와 워드프로세서, 프린터 등의 보조 장비를 의미
- 소프트웨어 자원 : 소프트웨어 개발 시 필요한 언어 분석기, 문서화 도구 등의 개발 지원 도구를 의미
2-3) 생산성 요소
- 개발자의 능력 : 개발자들이 갖춘 전문지식, 경험, 이해도, 책임감, 창의력 등을 의미함
- 개발기간 : 소프트웨어를 개발하는 기간을 의미함
3. 하향식 비용산정 기법
- 과거 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정하는 비과학적인 방법
- 전문가 감정 기법, 델파이 기법
3-1) 전문가 감정 기법
- 조직 내에 있는경험 많은 두명 이상의 전문가에게 비용 산정을 의뢰하는 기법
- 새로운 프로젝트에는 과거의 프로젝트와 다른 요소들이 있다는 것을 간과할 수 있음
- 새로운 프로젝트와 유사한 프로젝트에 대한 경험이 없을 수 있음
- 개인적이고 주관적일 수 있음
3-2) 델파이 기법
- 전문가 감정 기법의 주관적인 편견을 보완하기 위해 한명의 조정자와 여러 전문가의 의견을 종합하여 산정하는 기법
4. 상향식 비용 산정 기법
- 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법
- LOC (원시 코드 라인 수) 기법, 개발 단계별 인월수 (Effort Per Task), 수학적 산정 기법 (COCOMO모형, Putnam모형, 기능점수 모형)
4-1) LOC (source Line Of Code원시 코드 라인 수) 기법 ★
- 소프트웨어 각 기능의 원시코드라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용 산정
- 총 라인 수 50,000라인, 평균생산 200라인, 프로그래머가 10인일때 개발 소요 기간은? ((50,000 / 200)/10 = 25개월)
4-2) 개발 단계별 인월수(Effort Per Task) 기법
- LOC 기법을 보완하기 위한 기법
- 각 기능을 구현시키는 데 필요한 노력을 생명주기의 각 단계별로 산정함, LOC보다 더 정확함
4-3) COCOMO (Constructive Cost Model) 모형 ★★
- Boehm보헴이 제안한 것으로, 원시 프로그램의 규모인 LOC에 의한 비용 산정 기법
- 비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 널리 통용되고 있음
- 같은 규모의 프로그램이라도 그 성격에 따라 비용이 다르게 산정됨
- 비용 산정 결과는 프로젝트를 완성하는데 필요한 노력(Man-Month)로 나타남
4-3-1) COCOMO의 소프트웨어 개발 유형 ★
- 조직형(Organic) : 기관 내부에서 개발된 중, 소규모의 소프트웨어로 일괄 자료처리나 과학 기술 계산용, 비즈니스 자료 처리용으로 5만 라인 이하의 소프트웨어 개발하는 유형
- 반 분리형(Semi-Detached) : 트렌젝션의 처리 시스템, 운영체제, 데이터베이스 관리 시스템 등의 30만 라인 이하 소프트웨어 개발하는 유형
- 내장형(Embedded) : 최대형 규모의 트렌젝션 처리 시스템이나 운영체제 등의 30만라인 이상의 소프트웨어를 개발하는 유형
4-3-2) COCOMO 모형의 종류 ★
- 기본형(Basic) : 소프트웨어의 크기 (생산코드 라인 수)와 개발 유형만을 이용하여 비용을 산정하는 모형
- 중간형(Intermediate) : 기본형 COCOMO + 제품, 컴퓨터, 개발요원, 프로젝트 특성의 15가지 요인에 의해 비용 산정
- 발전형(Detailed) : 중간형을 보완하여 만들어진 방법, 개발 공정별로 자세하고 정확하게 노력을 산출
- 소프트웨어 환경과 구성요소가 사전에 정의되어 있어야하며 개발 과정의 후반부에 주로 적용
4-4) Putnam 모형
- 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 가정해주느 모형
- 푸트남이 제안한 것으로 생명주기 예측 모형이라고도 함
- 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 함
- 대형 프로젝트의 노력 분포 산정에 이용되는 기법
- 개발 기간이 늘어날수록 프로젝트 적용 인원이 감소함
- SLIM : Rayleigh-Norden 곡선과 Putnam 예측 모형을 기초로 개발된 자동화 추정 도구
4-5) 기능점수 (FP : Function Point) 모형
- 알브레히트 (Albrecht)가 제안한 것으로, 소프트웨어의 기능을 증대시키는 요인별 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능점수를 산출하며 총 기능점수와 영향도를 이용하여 기능점수 (FP)를 구한 후 이를 이용해서 비용을 산정하는 기법
- ESTIMACS: 다양한 프로젝트와 개인별 요소를 수용하도록 FP 모형을 기초로 개발된 자동화 추정 도구
4-5-1) 기능점수 모형에서 비용산정에 이용되는 요소
- 자료입력 (입력양식)
- 정보출력 (출력보고서)
- 명령어 (사용자 질의수)
- 데이터 파일
- 필요한 외부 루틴과 인터페이스
- 입출명데인
4-6) 프로젝트 관리
- 주어진 기간 내에 최소한의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동
- 일정 관리 : 작업순서, 작업기간 산정, 일정 개발, 일정 통제
- 비용 관리 : 비용산정, 비용 예산 편성, 비용통제
- 인력 관리 : 프로젝트 팀 편성, 자원산정, 프로젝트 조직 정의, 프로젝트 팀 개발, 자원 통제, 프로젝트 팀 관리
- 위험 관리 : 위험 식별, 위험 평가, 위험 대처, 위험 통제
- 품질 관리 : 품질 계획, 품질 보증 수행, 품질 통제 수행
- 일비인위품
'정보처리기사 (필기) > 5. 정보 시스템 구축' 카테고리의 다른 글
[정보처리기사] 5-7. 경로 제어 / 트래픽 제어 (0) | 2022.04.21 |
---|---|
[정보처리기사] 5-5. 네트워크 관련 신기술 (0) | 2022.04.21 |
[정보처리기사] 5-4. 네트워크 구축 (0) | 2022.04.21 |
[정보처리기사] 5-3. 소프트웨어 개발 (0) | 2022.04.20 |
[정보처리기사] 5-1. 소프트웨어 개발 방법론 (0) | 2022.04.20 |