밍경송의 E.B
<2> Project Planning of Software Engineering 1 본문
이 글은 시험이 약 11시간 남은 학부생이 중간고사 암기를 위해 적은 글입니다...........내용은 지현박 교수님의 강의자료를 참고하였음을 밝힙니다.
⭐ Cost estimation
✔️ Estimation Technique (2가지)
1) 경험 기반 기법 : 미래의 노력 요구 사항에 대한 추정은 관리자의 과거 프로젝트 경험과 어플리케이션 도메인을 근거로 함. (미래에 어떻게 될 것인가? 판단)
- 프로젝트에서 생성되는 산출물과 개발될 여러 SW 컴포넌트들을 식별
- 식별된 결과물을 문서화, 개별적 추정 과정을 거침
- 추정치는 프로젝트 예산을 정하는데 데에 사용 + 수치 실현을 위해 제품 조정됨
*but 기술의 변화 -> 이전 추정 경험이 도움이 되지 않도록 함
2) 알고리즘 비용 모델 : 제품 속성의 추정치, 프로젝트 특성, 참여한 직원들의 경험을 근거로하는 공식적 접근법 (정확한 예측은 불가하나 객관적으로 보일 수 있음)
*Size는 다양한 요소로 정의가 가능하나 보통은 코드의 크기 이용.
✔️Size related measures
: 코드라인(LOC) = 시스템의 크기와 문서의 양사이에 선형관계가 있다고 가정. - 동일한 기능 구현 -> 저급 언어에서 더 많은 코드 필요 - 코드 라인을 기반으로 측정하면 장황한 코드 작성이 더 생산적으로 여겨지는 문제가 있음
: 기능 점수(Function-points) = SW 기능으로 산정하자
- 프로그램 특성의 조합 기반
- 외부 입출력
- 사용자와 상호작용
- 외부 인터페이스
- 시스템에서 사용한느 파일
=> 각각 연관된 가중치 존재.
*예시
: UFP(미보정 기능 점수) = 3*7 + 5*8 + 3*45 + 10*12 + 19*10 = 506
=> 기능 점수(FP) 도출은?
FP = UFP *TCF(기술 복잡도)
✔️ TCF : 14개의 factor들에 대해 0-5까지 가중치 값을 부여한 후 더함
TCF = 0.65 +0.01 * DI(영향도)
DI가 50일 때,
TCF= 0.65*0.01*50 =1.15 => FP = 506 * 1.15
*코드 크기 = AVC *FPAVC(평균코드 줄 수) : 어셈블리언어의 경우 200-300 LOC / SQL의 경우 2-40
✔️Algorithmic cost modelling : The COCOMO model
: 프로젝트 경험에 기반한 실증적 모델 / 문서화가 잘 되어 있는 독립적 모델
✔️ COCOMO model 2
: 현대적 접근법들에 근거하여 더 자세한 추정치를 생성하는 여러 서브 모델 포함
- 어플리케이션 결함 모델 : 기존 컴포넌트를 이용하여 SW 구성할 때
- 초기 설계 모델 : 요.사가 도출된 후 초기단계동안
- 재사용 모델 : 재사용 가능한 구성요소 통합의 노력 계산
- 포스트 아키텍처 모델 : 시스템 아키텍처 설계 후 추가 정보 제공시
✔️COCOMO 81의 Nominal effort 예시 --> (⭐A와 B 값의 변화)
ex) moderate mode로 size는 10KDSI인 프로젝트의 effort는?
: 3.0 * (10)^1.12 = 39.54
만약 M이 1.35라면 총 effort는 39.54 * 1.35 = 53
✔️ Estimation accuracy
- SW 최종 크기에 영향을 미치는 요소
- COTS(산업적 SW) 와 컴포넌트 사용
- 프로그래밍 언어 (assembly인지 아닌지.._)
- 개발 프로세스가 진행됨에 따라 추정치가 더욱 정확해짐 / but M과 M에 기여하는 요인들의 추정치는 주관적.
'CSE > 소프트웨어공학' 카테고리의 다른 글
<5> Architecture design (0) | 2023.10.16 |
---|---|
<4> Requirements Engineering (0) | 2023.10.16 |
<3> Software Processes (0) | 2023.10.16 |
<2> Project Planning of Software Engineering 1 (0) | 2023.10.16 |
<1> Introduction of Software Engineering (0) | 2023.10.16 |