정보처리기사 - 요구사항 확인 #22~25
2023. 8. 19. 10:59ㆍ자격증/정보처리기사
22. 비용 산정 기법
22.1 소프트웨어 비용 산정
개발에 소요되는 인원, 자원, 기간 등으로 소프트웨어의 규모를 확인하여 개발 계획 수립에 필요한 비용을 산정하는 것
- 소프트웨어 비용을 너무 높게 산정할 경우 예산 낭비와 일의 효율성 저하를 초래할 수 있고, 너무 낮게 산정할 경우 개발자의 부담이 가중되고 품질 문제가 발생할 수 있음
- 하향식 비용 산정 기법과 상향식 비용 산정 기법이 있음
22.2 소프트웨어 비용 결정 요소
- 프로젝트 요소, 자원 요소, 생산성 요소
요소 | 내용 |
---|---|
프로젝트 요소 | - 제품 복잡도 : 소프트웨어의 종류에 따라 발생할 수 있는 문제점들의 난이도 - 시스템 크기 : 소프트웨어의 규모에 따라 개발해야 할 시스템의 크기 - 요구되는 신뢰도 : 일정 기간 내 주어진 조건 하에서 프로그램이 필요한 기능을 수행하는 정도 |
자원 요소 | - 인적 자원 : 소프트웨어 개발 관련자들이 갖춘 능력 혹은 자질 - 하드웨어 자원 : 소프트웨어 개발 시 필요한 장비와 워드프로세서, 프린터 등의 보조 장비 - 소프트웨어 자원 : 소프트웨어 개발 시 필요한 언어 분석기, 문서화 도구 등의개발 지원 도구 |
생산성 요소 | - 개발자 능력 : 개발자들이 갖춘 전문지식, 경험, 이해도, 책임감, 창의력 등 - 개발 기간 : 소프트웨어를 개발하는 기간 |
- 소프트웨어 개발 비용은 시스템의 크기가 크고, 신뢰도가 높을수록 많이 들고, 개발 후기로 갈수록 적게 듦
23. 비용 산정 기법 - 하향식
23.1 하향식 비용 산정 기법
과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정하는 비과학적인 방법
- 프로젝트의 전체 비용을 산정한 후 각 작업별로 비용을 세분화
- 하향식 비용 산정 기법
- 전문가 감정 기법
- 델파이 기법
23.2 전문가 감정 기법
조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법
- 가장 편리하고 신속하게 비용을 산정할 수 있음
- 의뢰자로부터 믿음을 얻을 수 있음
- 개인적이고 주관적일 수 있음
23.3 델파이 기법
전문가 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가의 의견을 종합하여 산정하는 기법
- 전문가들의 편견이나 분위기에 지배되지 않도록 한 명의 조정자와 여러 전문가로 구성
24. 비용 산정 기법 - 상향식
24.1 상향식 비용 산정 기법
프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법
- 주요 상향식 비용 산정 기법
- LOC(원시 코드 라인 수) 기법
- 개발 단계별 인월수 기법
- 수학적 산정 기법
24.2 LOC(source Line Of Code, 원시 코드 라인 수) 기법
소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법
- 비관치 : 가장 많이 측정된 코드
- 낙관치 : 가장 적게 측정된 코드
- 기대치 : 측정된 모든 코드 라인 수의 평균
- 측정이 용이하고 이해하기 쉬워 가장 많이 사용됨
- 예측치를 이용하여 생산성, 노력, 개발 기간 등의 비용을 산정
- 예측치 = (낙관치 + (4 * 기대치) + 비관치) / 6
- 산정 공식
- 노력(인월) = 개발 기간 * 투입 인원 = LOC / 1인당 월평균 생산 코드 라인 수
- 개발 비용 = 노력(인월) * 단위 비용(1인당 월평균 인건비)
- 개발 기간 = 노력(인월) / 투입 인원
- 생산성 = LOC / 노력(인월)
24.3 개발 단계별 인월수(Effort Per Task) 기법
LOC 기법을 보완하기 위한 기법으로, 각 기능을 구현시키는 데 필요한 노력을 생명 주기의 각 단계별로 산정
- LOC 기법보다 더 정확함
25. 수학적 산정 기법
25.1 수학적 산정 기법
상향식 비용 산정 기법으로, 경험적 추정 모형, 실험적 추정 모형이라고도 함
- 개발 비용 산정의 자동화를 목표로 함
- 비용의 자동산정을 위해 사용되는 공식은 과거의 유사한 프로젝트를 기반으로 유도된 것임
- 주요 수학적 산정 기법
- COCOMO 모형
- Putnam 모형
- 기능 점수(FP) 모형
25.2 COCOMO(COnstructive COst MOdel) 모형
원시 프로그램의 규모인 LOC(원시 코드 라인 수)에 의한 비용 산정 기법
- 개발할 소프트웨어의 규모(LOC)를 예측한 후 이를 소프트웨어 종류에 따라 다르게 책정되는 비용 산정 방정식에 대입하여 비용을 산정
- 비용 산정 결과는 프로젝트를 완성하는 데 필요한 노력(Man-Month)으로 나타남
- 보헴(Bohem)이 제안
25.3 COCOMO의 소프트웨어 개발 유형
유형 | 특징 |
---|---|
조직형 (Organic Mode) |
- 기관 내부에서 개발된 중/소규모의 소프트웨어 - 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리용의5만(50KDSI) 라인 이하의 소프트웨어를 개발하는 비용 - 사무 처리용, 업무용, 과학용 응용 소프트웨어 개발에 적합 |
반분리형 (Semi-Detached Mode) |
- 조직형과 내장형의 중간형 소프트웨어 - 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등의 30만(300KDSI) 라인 이하의 소프트웨어를 개발하는 유형 - 컴파일러, 인터프리터와 같은 유틸리티 개발에 적합 |
내장형 (Embedded Mode) |
- 초대형 규모의 소프트웨어 - 트랜잭션 처리 시스템이나 운영체제 등의 30만(300KDSI)라인 이상의 소프트웨어를 개발하는 유형 - 신호기 제어 시스템, 미사일 유도 시스템, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적합 |
25.4 COCOMO 모형의 종류
종류 | 특징 |
---|---|
기본형 (Basic) COCOMO |
소프트웨어의 크기와 개발 유형만을 이용하여 비용 산정 |
중간형 (Intermediate) COCOMO |
- 기본형 COCOMO의 공식을 토대로 사용하나, 다음 4가지 특성에 의해 비용 산정 1. 제품의 특성 2. 컴퓨터의 특성 3. 개발 요원의 특성 4. 프로젝트 특성 |
발전형 (Detailed) COCOMO |
- 중간형 COCOMO를 보완하여 만들어진 모형 - 개발 공정별로 보다 자세하고 정확하게 노력을 산출하여 비용산정 - 소프트웨어의 환경과 구성 요소가 사전에 정의되어 있어야 하며, 개발 과정의 후반부에 주로 적용 |
25.5 Putnam 모형
소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 예상하는 모형
- 푸트남(Putnam)이 제안, 생명 주기 예측 모형이라고도 함
- 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 함
- Rayleigh-Norden 곡선 : 노든(Norden)이 소프트웨어 개발에 관현 경험적 자료를 수집하여 이를 근거로 그린 곡선
- 대형 프로젝트의 노력 분포 산정에 이용
- 개발 기간이 늘어날수록 프로젝트 적용 인원의 노력이 감소
25.6 기능 점수 (FP; Function Point) 모형
소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능 점수를 산출하며, 총 기능 점수와 영향도를 이용하여 기능 점수(FP)를 구한 후 이를 이용해서 비용을 산정하는 기법
- 총 기능 점수 : 소프트웨어 개발의 규모, 복잡도, 난이도 등을 하나의 수치로 집약시킨 것
- 알브레히트(Albrecht)가 제안
- 소프트웨어 기능 증대 요인
- 자료 입력(입력 양식)
- 정보 출력(출력 보고서)
- 명령어(사용자 질의수)
- 데이터 파일
- 필요한 외부 루틴과의 인터페이스
25.7 비용 산정 자동화 추정 도구
25.7.1 SLIM
Rayleigh-Norden 곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구
25.7.2 ESTIMACS
다양한 프로젝트와 개인별 요소를 수용하도록 FP 모형을 기초로 하여 개발된 자동화 추정 도구
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 - 데이터 입출력 구현 #31~35 (0) | 2023.08.19 |
---|---|
정보처리기사 - 요구사항 확인 #26~30 (0) | 2023.08.19 |
정보처리기사 - 요구사항 확인 #20~21 (0) | 2023.08.19 |
정보처리기사 - 요구사항 확인 #14~19 (0) | 2023.08.19 |
정보처리기사 - 요구사항 확인 #10~13 (0) | 2023.08.19 |