기출 기능점수(Function Point)의 특징 및 요구분석 단계 이후의 기능점수를 이용한 소프트웨어 비용 산정 절차와 활성화 방안에 대해 기술하시오

agnusdei·2025년 7월 1일
0

Software Engineering

목록 보기
53/59

문제

기능점수(Function Point)의 특징 및 요구분석 단계 이후의 기능점수를 이용한 소프트웨어 비용 산정 절차와 활성화 방안에 대해 기술하시오

답변

1. 기능점수(Function Point)의 특징

1.1 기능점수의 개념

  • 소프트웨어의 기능적 규모를 사용자 관점에서 측정하는 정량적 방법론
  • 1979년 IBM의 앨런 앨브레히트(Allan Albrecht)가 개발한 소프트웨어 규모 측정 기법
  • 국제 표준(ISO/IEC 20926)으로 인정된 소프트웨어 규모 측정 방법

1.2 기능점수의 주요 특징

1) 사용자 관점의 측정

  • 기술적 구현이 아닌 사용자에게 제공되는 기능 중심으로 측정
  • 비즈니스 가치 중심의 소프트웨어 규모 평가 가능
  • 사용자가 이해할 수 있는 단위로 소프트웨어 크기 표현

2) 개발 언어 독립성

  • 구현 언어나 기술에 관계없이 동일한 기준으로 측정 가능
  • 다양한 개발 환경과 플랫폼 간 비교 분석 용이
  • 프로그래밍 패러다임 변화에도 일관된 측정 가능

3) 조기 측정 가능성

  • 요구사항 분석 단계에서부터 규모 예측 가능
  • 개발 초기 단계부터 프로젝트 비용과 일정 추정에 활용
  • 프로젝트 진행에 따라 측정값 정교화 가능

4) 표준화된 방법론

  • IFPUG(International Function Point Users Group) 등의 표준 방법론 제공
  • 국제적으로 검증된 측정 절차와 가이드라인 존재
  • 다양한 산업 분야에서 널리 채택되어 사용

1.3 기능점수 측정 구성요소

1) 데이터 기능(Data Functions)

  • ILF(Internal Logical File): 내부 논리 파일
    • 애플리케이션 내에서 유지관리되는 논리적 데이터 그룹
    • 복잡도에 따라 7/10/15점 가중치 적용
  • EIF(External Interface File): 외부 인터페이스 파일
    • 다른 애플리케이션에서 유지관리되지만 참조되는 데이터 그룹
    • 복잡도에 따라 5/7/10점 가중치 적용

2) 트랜잭션 기능(Transaction Functions)

  • EI(External Input): 외부 입력
    • 애플리케이션 경계 외부에서 데이터가 들어와 내부 파일을 변경하는 처리
    • 복잡도에 따라 3/4/6점 가중치 적용
  • EO(External Output): 외부 출력
    • 애플리케이션 내부에서 파생된 데이터가 경계를 넘어 외부로 전달되는 처리
    • 복잡도에 따라 4/5/7점 가중치 적용
  • EQ(External Inquiry): 외부 조회
    • 입력이 즉각적인 출력을 생성하지만 내부 파일을 변경하지 않는 처리
    • 복잡도에 따라 3/4/6점 가중치 적용

2. 요구분석 단계 이후의 기능점수를 이용한 소프트웨어 비용 산정 절차

2.1 기능점수 측정 프로세스

1) 애플리케이션 경계 결정

  • 측정 대상 애플리케이션의 범위와 경계 정의
  • 사용자 관점에서의 시스템 기능 범위 설정
  • 외부 인터페이스와 내부 기능의 경계 구분

2) 데이터 기능 식별 및 측정

  • ILF와 EIF 식별
  • 각 파일 유형의 복잡도 평가(DET, RET 기반)
  • 가중치 적용 및 데이터 기능 점수 합산

3) 트랜잭션 기능 식별 및 측정

  • EI, EO, EQ 식별
  • 각 트랜잭션의 복잡도 평가(FTR, DET 기반)
  • 가중치 적용 및 트랜잭션 기능 점수 합산

4) 미조정 기능점수(UFP) 계산

  • 데이터 기능 점수와 트랜잭션 기능 점수 합계 산출
  • 기본적인 소프트웨어 규모 산정값 도출

5) 조정 계수(VAF) 산정

  • 14개 일반 시스템 특성(GSC)에 대한 영향도 평가
  • 각 특성별 0~5점 척도로 평가
  • VAF = 0.65 + (0.01 × Σ영향도) 계산

6) 조정된 기능점수(AFP) 산출

  • AFP = UFP × VAF 계산
  • 기술적 복잡도를 반영한 최종 기능점수 도출

2.2 기능점수 기반 비용 산정 절차

1) 생산성 지표 설정

  • 기능점수 당 공수(Man-Hour/FP) 산출
  • 조직의 과거 프로젝트 데이터 분석
  • 산업 표준 생산성 지표 참조

2) 개발 공수 산정

  • 개발 공수 = 기능점수(FP) × 단위 공수(MH/FP)
  • 개발 단계별 공수 배분 비율 적용
  • 요구사항 분석, 설계, 구현, 테스트 등 단계별 공수 산출

3) 개발 기간 산출

  • 투입 인력 규모 결정
  • 개발 기간 = 총 개발 공수 ÷ (투입 인력 × 일일 작업시간)
  • 프로젝트 복잡도에 따른 일정 조정계수 적용

4) 비용 추정

  • 인건비 산정: 개발 공수 × 인력 등급별 단가
  • 하드웨어 및 소프트웨어 비용 추가
  • 관리 및 지원 비용 추가
  • 총 프로젝트 비용 산출

5) 리스크 분석 및 조정

  • 프로젝트 리스크 요소 식별
  • 비용 추정치에 리스크 대응 비용 추가
  • 최종 비용 산정안 확정

2.3 기능점수 기반 비용 산정 사례

항목계산식예시
총 기능점수UFP × VAF500 FP × 1.1 = 550 AFP
생산성 지표과거 데이터 기반8 MH/FP (인시간/기능점수)
총 개발 공수FP × 생산성 지표550 FP × 8 MH/FP = 4,400 MH
일일 작업시간표준 작업시간8시간/일
인력 규모프로젝트 규모 기반5명
개발 기간총 공수 ÷ (인력 × 일 작업시간)4,400 ÷ (5 × 8) = 110일
인건비공수 × 평균 단가4,400 MH × 50,000원 = 2.2억원
총 프로젝트 비용인건비 + 부대비용2.2억원 + 0.8억원 = 3억원

3. 기능점수 활용 활성화 방안

3.1 조직 차원의 활성화 방안

1) 기능점수 전문 인력 양성

  • 전문 교육 프로그램 운영
  • CFPS(Certified Function Point Specialist) 등 공인 자격 취득 지원
  • 내부 전문가 그룹 구성 및 운영

2) 표준화된 측정 프로세스 수립

  • 조직 특성에 맞는 기능점수 측정 가이드라인 개발
  • 프로젝트 유형별 측정 템플릿 제공
  • 측정 품질 검증 절차 마련

3) 역사적 데이터 수집 및 분석

  • 프로젝트 데이터베이스 구축
  • 기능점수와 실제 투입 공수의 상관관계 분석
  • 조직 맞춤형 생산성 지표 개발

3.2 제도적 활성화 방안

1) 정부 및 공공 프로젝트 의무 적용

  • 일정 규모 이상 프로젝트의 기능점수 측정 의무화
  • 기능점수 기반 예산 책정 체계 마련
  • 제안요청서(RFP)에 기능점수 기반 규모 명시

2) 소프트웨어 대가 기준 고도화

  • 기능점수와 연계된 표준 대가 기준 개발
  • 다양한 개발 방법론에 적합한 산정 모델 제공
  • 정기적인 대가 기준 갱신 및 현실화

3) 산학 협력 강화

  • 기능점수 관련 연구 지원
  • 대학 교육과정에 기능점수 방법론 포함
  • 산업체 협력 연구를 통한 방법론 개선

3.3 기술적 활성화 방안

1) 자동화 도구 개발 및 보급

  • 요구사항 문서에서 기능점수 자동 추출 도구
  • 설계 모델과 연계된 기능점수 측정 도구
  • 비용 산정 자동화 도구 개발

2) 애자일 방법론과의 통합

  • 스토리 포인트와 기능점수 간 매핑 방법론 개발
  • 반복 개발 방식에 적합한 점진적 기능점수 측정 방법
  • DevOps 환경에서의 지속적 규모 측정 방안

3) 새로운 소프트웨어 패러다임 대응

  • 클라우드 네이티브 애플리케이션 측정 방법 개발
  • 마이크로서비스 아키텍처 기반 시스템 측정 지침
  • AI/ML 기반 시스템을 위한 확장 방안 연구

3.4 활성화를 위한 실행 로드맵

단계기간핵심 활동
도입기1년차• 기본 교육 및 인식 제고
• 파일럿 프로젝트 적용
• 내부 가이드라인 초안 작성
정착기2~3년차• 측정 프로세스 표준화
• 데이터 축적 및 분석 시작
• 조직 생산성 지표 초기 개발
성숙기3~5년차• 자동화 도구 도입 및 활용
• 조직 맞춤형 생산성 지표 고도화
• 비용 산정 정확도 향상
혁신기5년차~• 신기술 영역 확장
• 예측 모델 고도화
• 지속적인 방법론 개선

4. 기능점수 활용의 미래 전망

4.1 인공지능 기반 자동화

  • AI를 활용한 요구사항 문서 분석 및 기능점수 자동 산출
  • 기계학습을 통한 복잡도 평가 자동화
  • 정확도 지속 향상을 위한 피드백 루프 구축

4.2 하이브리드 측정 모델

  • 기능점수와 다른 측정 방법론의 융합
  • 다양한 개발 패러다임에 적용 가능한 유연한 모델 개발
  • 비즈니스 가치와 기술적 복잡성 모두 반영하는 통합 지표 개발

4.3 실시간 비용 예측 모델

  • 프로젝트 진행에 따른 기능점수 변화 추적
  • 실시간 비용 예측 및 조정 메커니즘
  • 데이터 기반의 의사결정 지원 체계

어린이 버전 요약

기능점수는 컴퓨터 프로그램이 얼마나 많은 일을 할 수 있는지 측정하는 방법이에요. 마치 케이크를 만들 때 얼마나 많은 재료와 장식이 필요한지 계산하는 것과 비슷해요. 케이크의 크기와 복잡도를 알면 얼마나 많은 시간과 돈이 필요한지 미리 알 수 있죠. 기능점수도 마찬가지로, 프로그램이 해야 할 일들을 미리 세어보고 점수로 매기면 개발 비용과 시간을 예측할 수 있답니다!

profile
DevSecOps ⚙️ + Pentest 🚩

0개의 댓글