정보처리기사

[정보처리기사 요약 1-6] 비용 산정(COCOMO)부터 일정 계획(PERT/CPM)까지

Hong's_Computer 2026. 2. 23. 17:51
반응형
본문에 오류가 있을 수 있음을 감안하고 봐주시길 바랍니다.
# 문제 풀이 중 오답노트 하면서 나온 내용을 정리한 것

 

하향식 비용 산정 기법: 과거의 유사한 경험을 바탕으로 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정하는 비과학적인 방법이다. 프로젝트의 전체 비용을 산정한 후 각 작업별로 비용을 세분화한다.

  • 전문가 감정 기법: 조직 내에 있는 경험이 많은 두 명 이상의 전문가에게 비용 산정을 의뢰하는 기법이다. 가장 편리하고 신속하게 비용을 산정할 수 있다. 개인적이고 주관적일 수 있다.
  • 델파이 기법: 전문가 감정 기법의 주관적인 편견을 보완하기 위해 많은 전문가의 의견을 종합하여 산정하는 기법이다. 한 명의 조정자와 여러 전문가로 구성된다.

 

 

상향식 비용 산정 기법: 프로젝트의 세부적인 작업 단위별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 방법

  • LOC(원시 코드 라인 수) 기법: 각 기능의 원시 코드 라인 수의 비관치(가장 많이 측정된 코드의 라인수), 낙관치(가장 적게 측정된 코드의 라인수), 기대치(측정된 모든 코드 라인수의 평균)를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법, 측정이 용이하고 이해하기 쉽다.
    • 노력(인월) = 개발 기간 * 투입 인원 = LOC/1인당 월평균 생산 코드 라인 수
    • 개발 비용 = 노력(인월) * 단위 비용(1인당 월평균 인건비)
    • 개발 기간 = 노력(인월) / 투입 인원
    • 생산성 = LOC / 노력(인월)
  • 개발 단계별 인월수(Effort Per Task) 기법: LOC 기법을 보완하기 위한 기법으로 각 기능을 구현시키는데 필요한 노력을 생명 주기의 각 단계별로 산정한다. LOC 기법보다 더 정확하다.

 

수학적 산정 기법(경험적 추정 모형, 실험적 추정 모형): 개발 비용 산정의 자동화를 목표로 한다. 비용의 자동산정을 위해 사용되는 공식은 과거의 유사한 프로젝트로 유도된 것이다.

  • COCOMO 모형: 원시 프로그램의 규모인 LOC에 의한 비용 산정 기법이다. 개발할 소프트웨어의 규모를 예측한 후 이를 소프트웨어 종류에 따라 다르게 책정되는 비용 산정 방식에 대입하여 비용을 산정한다. 보헴(Boehm)이 제안하였다.

COCOMO 소프트웨어 개발 유형

유형 특징
조직형(Organic Mode) · 기관 내부에서 개발된 중·소 규모의 소프트웨어
· 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리용 등의 5만(50KDSI) 라인 이하의 소프트웨어를 개발하는 유형
반분리형(Semi-Detached Mode) · 조직형과 내장형의 중간형 소프트웨어
· 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템, 유틸리티 개발 등의 30만(300KDSI) 라인 이하의 소프트웨어를 개발하는 유형
내장형(Embedded Mode) · 초대형 규모의 소프트웨어
· 트랜잭션 처리 시스템이나 운영체제, 시스템 프로그램 개발 등의 30만(300KDSI) 라인 이상의 소프트웨어를 개발하는 유형
            - KDSI → 전체 라인 수를 1,000 단위로 묶은 것

COCOMO 모형의 종류

종류 특징
기본형(Basic) COCOMO 소프트웨어의 크기와 개발 유형만을 이용하여 비용 산정
중간형(Intermediate) COCOMO 기본형 COCOMO의 공식을 토대로 사용하거나 다음 4가지 특정에 의한 비용을 산정함
  - 제품의 특성, 컴퓨터의 특성, 개발 요원의 특성, 프로젝트의 특성
발전형(Detailed) COCOMO 중간형 COCOMO를 보완하여 만들어진 모형
개별 공정별로 보다 자세하고 정확하게 노력을 산출하여 비용 산정
  • Putnam 모형: 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 예상하는 모형이다. 푸트남(Putnam)이 제안한 것으로 생명 주기 예측 모형이라고도 한다. 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다. 대형 프로젝트의 노력 분포 산정에 이용되며 개발 기간이 늘어날수록 프로젝트 적용 인원의 노력이 감소한다.

Ravleigh-Norden 곡선

  • 기능 점수(Function-Point) 모형: 소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여하고 요인별 가중치를 합산하여 총 기능 점수를 산출하며 총 기능 점수와 영향도를 이용하여 기능 점수(FP)를 구한 후 이를 이용하여 비용을 산정하는 기법이다. 알브레히트(Albrecht)가 제안하였다. UFP를 계산한다.

         - 소프트웨어 기능 증대 요인: 자료 입력(입력 양식), 정보 출력(출력 보고서), 명령어(사용자 질의수), 데이터 파일, 필요한 외부 루틴과의 인터페이스

 

비용 산정 자동화 추정 도구

  • SLIM: Rayleigh-Norden  곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구
  • ESTIMACS: 다양한 프로젝트와 개인별 요소를 수용하도록 FP 모형을 기초로 하여 개발된 자동화 추정 도구

 

PERT(프로그램 평가 및 검토 기술): 프로젝트에 필요한 전체 작업의 상호 관계를 표시하는 네트워크이다. 개발 경험이 없어 소요 기간 예측이 어려운 프로젝트 일정 계획에 사용한다. 노드와 간선으로 구성되며 결정 경로, 작업에 대한 경계 시간, 작업 시간의 상호 관련성 등을 알 수 있다.

  • 작업 예측치 = (비관치 + 4*기대치 + 낙관치) / 6
    • 비관치: 가장 늦게 진행될 때 걸리는 시간
    • 기대치: 모든 상황이 정상적일 때 걸리는 시간 
    • 낙관치: 최대로 빨리 진행될 때 걸리는 시간
  • 평방 편차 = [(비관치-낙관치)/6]^2

PERT(프로그램 평가 및 검토 기술)

CPM(Critical Path Method, 임계 경로 기법): 프로젝트 완성에 필요한 작업을 나열하고 작업에 필요한 소요 기간을 예측하는 데 사용하는 기법이다. 노드와 간선으로 구성된 네트워크로 노드는 작업을, 간선은 작업 사이의 전후 의존 관계를 나타낸다. 원형 노드는 각각의 작업을 의미하여 박스 노드는 이정표를 의미한다. # 최장 경로를 선택, 효과적인 프로젝트 통제, 경영층의 과학적인 의사 결정 지원

CPM(임계 경로 기법)

간트 차트: 프로젝트의 각 작업들이 언제 시작하고 언제 종료되는지에 대한 작업 일정을 막대 도표를 이용하여 표시하는 프로젝트 일정표이다. 시간선(Time-Line) 차트라고도 한다. 중간 목표 미달성 시 그 이유와 기간을 예측할 수 있게 하며 사용자의 문제점이나 예산의 초과 지출 등을 관리할 수 있게 한다. 자원 배치와 인원 계획에 유용하게 사용하며 이정표, 작업 일정, 작업 기간, 산출물로 구성되어 있다. 수평 막대의 길이는 각 작업(Task)의 기간을 나타낸다. CPM 네트워크로부터 만드는 것이 가능하다.

간트 차트(by Gemini)

 

 

프로젝트 관리: 주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동이다.

관리 유형 주요 내용
일정 관리 작업 순서, 작업 기간 산정, 일정 개발, 일정 통제
비용 관리 비용 산정, 비용 예산 편성, 비용 통제
인력 관리 프로젝트 팀 편성, 자원 산정, 프로젝트 조직 정의, 프로젝트 팀 개발, 자원 통제, 프로젝트 팀 관리
위험 관리(Risk Analysis) · 위험 식별 → 위험 분석 및 평가 → 위험 관리 계획 → 위험 감시 및 조치
· 프로젝트에 내재된 위험 요소를 인식하고 그 영향을 분석하여 이를 관리하는 활동
· 프로젝트를 성공시키기 위하여 위험 요소를 사전에 예측, 대비하는 모든 기술과 활동
품질 관리 품질 계획, 품질 보증 수행, 품질 통제 수행

 

 

위험 감시 및 조치

  • 위험 회피(Risk Avoidance): 위험 관리에 대한 최상의 전략으로 위험이 발생될것을 예상하고 회피하는 것
  • 위험 감시(Risk Monitoring): 위험 요소 징후들에 대하여 계속적으로 인지하는 것
  • 위험 관리(Risk Management) 및 비상 계획 수립: 위험 회피 전략이 실패할 경우 위험에 대해 관리하고 대비책과 비상 계획을 세움

 

소프트웨어 프로젝트 관리 3P

  • Process(프로세스): 소프트웨어를 개발하는 전반적인 작업 절차와 방법론, Task Framework의 고려
  • Problem(문제): 사용자 입장에서 문제를 분석하여 인식함
  • People(사람): 프로젝트에 참여하여 실제 작업을 수행하는 개발자 및 인적 자원

 

반응형