소프트웨어 종류 및 개발 방법론 5

랑아·2023년 4월 13일
0
post-thumbnail

프로젝트 관리 및 생명주기 모형

02. 비용 측정

1) 비용 측정 요소

1. 직접 측정 요소

  • 수치, 양, 크기처럼 직접적으로 측정이 가능한 요소
  • 노력(인월), 비용, 라인 수(LOC), 오류 수, 투입 인원, 처리 속도, 문서 수 등이 있음

2. 간접 측정 요소

  • 비교 대상이 있어야 측정이 가능한 요소
  • 생산성, 품질, 기능 점수(FP), 문서화 비율, 효율성, 신뢰도, 유지보수성 등이 있음

2) 인월(MM : Man Month, PM : Person Month, 노력)

  • 한 사람이 1개월 동안 작업할 양
  • 24인월이면 1명이 24개월 동안 작업할 양이며, 24명이 1개월에 작업할 양
  • 비용 측정 단위로 가장 많이 사용되는 요소

3) 비용 측정 원칙

1. 소프트웨어 비용 측정을 최대한 지연시킨다.

  • 비용 측정의 실패는 프로젝트 전체의 실패
  • 가능한 최대한 늦춰서 측정해야 실패 위험이 감소

2. 분해 기술을 이용한다.

  • 개발할 소프트웨어를 기능별로 분리한 뒤 모아서 전체 비용을 측정해야 실패 위험이 감소

3. 실험적 비용 측정 모델을 이용한다.

  • 이미 개발되었던 소프트웨어의 비용을 참고로 하여 측정

4. 자동화 도구를 이용한다.

  • SLIM과 같은 비용 측정 프로그램을 이용하여 비용을 측정

4) 개발 비용과 개발 기간의 상관관계

  • 개발 기간이 짧아질수록 개발 지용은 증가하고, 개발 기간이 증가하면 개발 비용이 감사
    (반비례 그래프)

5) 간접 측정 평가 공식

생산성 = LOC / 인월
개발 기간 = 인월 / 개발 인원
개발 비용 = 인월 * 단위 비용(1인당 측정 금액)

6) 비용 측정 방법론의 분류

1. 하향식

  • 전체 비용을 측정한 후 기능이나 단계별 비용으로 분리하는 방법

2. 상향식

  • 기능이나 단계별로 비용을 측정한 후 전체 비용을 측정하는 방법

7) 전문가 측정

  • 소프트웨어 개발 비용을 전문적으로 측정하는 사람에게 의뢰하는 방법으로 신속하게 비용 결정이 되지만 전문가의 편견이 문제가 될 수 있음

8) 델파이(Delphi) 측정

  1. 중재자는 여러 전문가에게 개발할 소프트웨어에 대하여 설명
  2. 전문가들은 자신이 측정한 비용을 중재자에게 제출
  3. 중재자는 전문가들의 비용 측정 결과를 익명으로 공개
  4. 2, 3을 반복하면서 평균치의 비용을 최종 비용으로 결정

9) LOC(Line Of Code) 측정

  • 소프트웨어를 기능별로 세분화
  • 입력 기능, 처리 기능, 출력 기능으로 세분화한 기능의 라인 수를 예측
  • 프로그램 개발에 경험을 가진 사람들이 예측한 라인 수 중 가장 적은 라인 수는 날관치, 많은 라인 수는 비관치, 평균은 기대치로 측정
  • 측정된 라인 수를 공식에 적용하여 예측치를 계산
    • 예측치 = (낙관치 + (4 * 기대치) + 비관치) / 6
  • 예측치를 통해 라인당 비용을 측정해도 되고, 경험적인 방법으로 예측치의 인월을 산출하여도 됨

10) 단계별 인월(Effort per Task 기법)

  • LOC 측정의 단점을 보완한 방식
  • LOC 측정은 라인 수로만 측정되기 때문에 단계별 중요도가 무시됨
  • 단계별 중요도를 인월로 가중치를 부여한 후 측정
  • 예를 들어 입력 기능을 측정할 때 요구분석 단계에서의 작업이 구현 단계에서 하는 작업의 역할이나 중요도와 다르기 때문에 가중치를 인월로 부여하여 측정
  • 전체 인월 합계는 단위 비용(월급)을 곱하여 계산

11) Walston 측정

  • 미국의 60개 개발업체에서 이미 개발한 소프트웨어의 자료를 수집하여 통계적 공식을 만듦
    • MM(인월) = 5.2 * [KDSI]0.91
    • TDEV(개발기간) = 2.47 * [MM]0.35
  • KDSI는 KLOC(전체 라인 수)에서 공백 라인, 주석, 라이브러리 등을 제외한 실제 수행되는 명령어 라인 수
  • Walston 공식은 소프트웨어의 규모와 난이도에 상관없이 적용하기 떄문에 오차가 많음
  • Walston 공식의 단점을 보완하여 COCOMO 단체에서는 소프트웨어의 규모와 난이도를 고려하여 3가지 형태로 분류

12) COCOMO 모형(Basic COCOMO)

1. 유기형(Organic)

  • 기관 내부에서 개발된 중소 규모의 소프트웨어로 일괄 처리나 과학기술 계산용, 비즈니스 자료 처리용으로 5만 라인 이하의 소프트웨어를 평가하는 유형
  • MM(인월) = 2.4 * [KDSI]1.05
  • TDEV(개발기간) = 2.5 * [MM]0.38

2. 준 분리형(Semi-Detached)

  • 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등의 30만 라인 이하의 소프트웨어를 평가하는 유형
  • MM(인월) = 3.0 * [KDSI]1.12
  • TDEV(개발기간) = 2.5 * [MM]0.35

3. 내재형(Embedded)

  • 초대형 규모(제한 X)의 트랜잭션 시스템이나 운영체제 등의 소프트웨어를 평가하는 유형
  • MM(인월) = 3.6 * [KDSI]1.20
  • TDEV(개발기간) = 2.5 * [MM]0.32

13) Putnam 모형

  • 대형 프로젝트에서 이용되는 기법
  • 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도 곡선으로 그려짐
  • 개발 기간이 연장될수록 프로젝트 적용 인원의 노력이 감소하므로 대형 프로젝트의 노력 분포 산정에 용이함
  • Putnam 모형을 기초로 해서 만든 자동화 추정 도구는 SLIM
  • SLIM은 총인월(MM), 개발 기간 등의 비용 측정값을 입력하면 소프트웨어 비용 산출을 자동으로 출력
  • Putnam 모형 공식
    • MM = LOC3 / ([개발 기술 지수]3 * [개발 기간]4)
    • LOC = [개발 기술 지수] [MM]1/3^1/_3 [개발 기간]4/3^4/_3
  • 개발 기술 지수는 임의로 부여할 수 있는 값으로 예를 들면, 최악 환경은 12000, 보통 환경은 8000, 최상 환경은 5000 정도로 적용하면 됨

14) 기능 점수(Function Point) 모형

1. 기능 점수 모형의 개념

  • 기능 점수는 논리적 설계 관점에서 사용자(고객)가 요구하고 인도받는 기능량을 정량적으로 산적하는 방식으로 소프트웨어 기능 규모 산정하는 소프트웨어 규모 산정 방법
  • 기능 점수는 소프트웨어의 양과 질을 동시에 고려한 소트프웨어 규모 산정 방식의 일종으로 정보처리 규모와 기능적 복잡도에 의해 소프트웨어 규모를 사용자의 관점에서 기술적 요소는 배제하고 측정하는 방식
  • 물리적인 파일이나 테이블 또는 프로그램 모듈 수를 산정하는 것이 아니라, 사용자 관점의 논리적 사용자의 기능 요구사항을 산정하는 것
  • 산정 기준이 모두 규칙으로 정의되어 있어 비용 산정 결과의 일관성과 정확성을 확보할 수 있음
  • 국제 표준 소프트웨어 규모 산정 방법으로 애플리케이션에 적용되는 방법이나 기술과 무관하게 사용자의 기능적 요구사항을 기준으로 산정하는 방법

2. 기능 점수 모형과 LOC 측정의 비교

구분기능 점수LOC 측정
적용 시점전체 생명주기구현 이후
고객과의 소통좋음나쁨
관점고객 관점
논리적
개발자 관점
물리적
표준국제 표준(ISO/IEC 14143)없음

3. 기능 점수의 비용 산정 요소

  • 입력 유형의 수 : 형식이 다른 입력 양식의 수, 입력 파일
  • 출력 유형의 수 : 형식이 다른 출력 양식의 수, 출력 보고서
  • 사용자 명령어 수 : 데이터 구조 변경을 위한 명령이 아니라 프로그램을 실행하는 명령어 수, 사용자 질의 수
  • 데이터 파일의 수 : 시스템에 의해 생성되는 내부 파일의 수
  • 인터페이스의 수 : 외부 프로그램과의 연계되는 수

0개의 댓글