[카테고리:] <span>소프트웨어 공학</span>

이번에는 정보처리기사 필기 과목인 소프트웨어 공학의 프로젝트 계획과 비용 산정을 알아보아요.

프로젝트 계획
누가 무엇을 어느 기간동안 어떻게 개발해야 하는지 예측하는 작업입니다.
구현해야 할 기능과 요구하는 성능 및 인터페이스 성능에 따라 개발 범위를 정합니다.
구현할 프로젝트의 특징과 자원 및 생산성에 따라 비용을 예측합니다.

비용 산정에 영향을 주는 요소
프로젝트의 특징: 구현해야 할 프로젝트의 복잡도와 크기 및 요구 신뢰도
투자 자원: 인력, 지원 하드웨어, 지원 소프트웨어
생산성: 인적 자원의 능력과 경험 및 개발 기간
*개발 기간과 개발 비용은 반비례합니다.

비용 산정 방식
하향식 비용 산정 방식과 상향식 비용 산정 방식으로 나눌 수 있습니다.

하향식 비용 산정 방식
경험이 많은 전문가에게 비용 산정을 의뢰하거나 여러 전문가와 조정자를 통해 산정하는 방식입니다.

상향식 비용 산정 방식
세부적인 요구 사항과 기능에 따라 필요한 비용을 계산하는 방식입니다.
코드 라인 수(LOC, Lines of code), 개발 단계 별 Man*Month 및 수학적으로 비용을 산정합니다.
COCOMO 모형과 Putnam 모형, FP 모형 등이 있습니다.

COCOMO 모형
보헴이 제안한 모형으로 프로그램 규모에 따라 비용을 산정합니다.
Organic(5만 라인 이하), Semi-Detached(30만 라인 이하), Embedded(그 이상)
비용 산정 단계와 적용할 인수에 따라 Basic, Intermediate, Detailed형으로 구분합니다.
LOC(Lines of code)기법을 사용합니다.
예상 비용 = (낙관 정도 + 4*기대 정도 + 비관 정도)/6

Putnam 모형
소프트웨어 개발 주기의 간 단계별로 요구할 인력의 분포를 가정하는 모형입니다.
Putnam 모형과 Rayleigh Noden 곡선을 기초로 개발한 자동화 추정 도구로 SLIM이 있습니다.

FP 모형
FP(Funtion Point) = 전체 기능 점수 * [0.65 + (0.1 * 총 영향 정도)]
요구 기능을 증가시키는 인자별로 가중치를 부여하여 기능의 점수를 계산하여 비용을 산정하는 방식

소프트웨어 공학