Software Engineering: Estimation techniques

2025. 4. 22. 19:30·공부/소프트웨어 공학

 

추정 기법

  1. 경험 기반(Experience-based)
    • 과거 프로젝트 경험을 바탕으로 추정
    • 관리자가 감에 의존하여 노력량 판단
  2. 알고리즘 기반(Algorithmic cost modeling)
    • 수학 공식 이용 (입력 값 = 프로젝트 속성들)
    • 제품 크기, 팀 경험, 개발 방식 등 입력값으로 계산

 

경험 기반 접근

 

방법: 프로젝트를 구성하는 작업과 산출물들을 나열하고, 각각의 작업에 대해 필요한 노력량을 직접 추정

=> 보통 여러 명이 함께 논의하면서 추정하는 게 좋음.

 

단점:

  • 새로운 프로젝트는 과거와 다를 수 있음
  • 최신 기술, 새로운 도구 등은 경험이 부족하여 추정 정확도가 낮아짐

알고리즘 기반 추정

 

 

  • A: 조직별 상수 (소프트웨어 종류에 따라 다름)
  • Size: 코드 크기 (SLOC 기준)
  • B: 복잡도 계수 (1.0~1.5)
  • M: 보정 계수들(팀 경험, 플랫폼 난이도 등 포함)

COCOMO 모델

1. Application composition model

 

사용: 재사용(또는 프로토타이핑) 프로젝트

  • NAP: 총 application point
  • PROD: 생산성 (experience, 도구 숙련도에 따라 다름)

 

2. Early design model

사용: 요구사항만 확정된 초기 설계 단계에 사용

여기서 M = PERS × RCPX ×

  • M은 7개의 곱셈 요소로 구성됨 (예: 팀 능력, 플랫폼 복잡도, 재사용 수준 등)
  • B는 프로젝트의 새로움/리스크/유연성 등으로 조정됨

 

3. Reuse model

 

  • 블랙박스 재사용: 수정 없이 그대로 사용하는 코드
  • 화이트박스 재사용: 코드 수정 후 통합 → ESLOC(Equivalent SLOC) 계산 필요

  • AAM: 적응 조정 계수 (변경/이해/재사용 의사결정 비용 포함)

4. Post-architecture model & Scale factor

  • Early design과 같은 공식 사용하되 보정 계수는 17개로 더 많음
  • 지수항 결정 scale factor
Precedentedness 유사 프로젝트 경험
Development flexibility 개발 자유도
Architecture/risk resolution 리스크 분석 수준
Team cohesion 팀 응집력
Process maturity 프로세스 성숙도 (CMM 기반)

 

 

 

 

'공부 > 소프트웨어 공학' 카테고리의 다른 글

Software Engineering: Agile  (0) 2025.04.20
Software Engineering: Plan-driven development & Project Plans  (0) 2025.04.20
Software Engineering: Project Planning & Software Price  (0) 2025.04.20
Software Engineering 소프트웨어 공학: Project Management 프로젝트 관  (0) 2025.04.19
SoftwareEngineering: Software Process  (0) 2025.04.19
'공부/소프트웨어 공학' 카테고리의 다른 글
  • Software Engineering: Agile
  • Software Engineering: Plan-driven development & Project Plans
  • Software Engineering: Project Planning & Software Price
  • Software Engineering 소프트웨어 공학: Project Management 프로젝트 관
rlacofls294
rlacofls294
아좌잣!~!
  • rlacofls294
    정신채린
    rlacofls294
  • 전체
    오늘
    어제
    • 분류 전체보기 (17)
      • 공부 (15)
        • 코딩테스트 (4)
        • 데이터베이스 (3)
        • 소프트웨어 공학 (7)
        • SQL (1)
      • 애니메이션 (1)
        • 생각정리 (1)
      • 프로젝트 (1)
        • 1 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    소프트웨어공학
    동적 계획법
    SE
    코테
    귀멸의칼날
    database
    디비
    DP
    Software Engineering
    컴공
    DML
    다이나믹 프로그래밍
    다이나믹프로그래밍
    귀칼
    코딩테스트
    백준
    소공
    무한성편
    소프트웨어 공학
    알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
rlacofls294
Software Engineering: Estimation techniques
상단으로

티스토리툴바