-> 이번에는 프로세스의 생명주기 중에서 '계획' 단계를 자세히 알아본다.
-> sw개발의 성패는 비용, 기간, 인력과 같은 자원을 토대로 초기에 계획을 얼마나 잘 세우느냐가 중요
계획 단계에서 해야할 것들을 알아보자.
: 작업의 범위 설정 + 어떤 기능을 필요로 하는 지
-> 배경지식, 경험 중요
: 경제적으로 효용 가치가 있는지
-> 투자 효율성과 시장성 검증
: 얼마나 개발 가능한 지 (회사가 요구하는 기술 가지고 있는지)
: 개발 기능이 법적으로 문제가 없는 지
-> 오픈 소스 사용 시, 어디까지 무료로 사용할 수 있는 지 확인해야 함
: SW는 무형이라 개발 비용 산정 어려움 (근거를 명확하기 제시하기 어려움)
-> 노력(M/M)= 참여인원 개발기간
-> 개발 비용= 노력 단위비용
-> 개발 기간= 노력 / 참여인원
-> 체계적으로 비용 산정
-> 얼마나 복잡하느냐에 따라 보정계수
-> 프로젝트 유형에 따라 개발기간 산정
@ 보정 계수 반영하기 (노력 조정 수치 반영)
-> 노력 조정 수치가 반영된 PM
개발 기간(TDEV) = c * (PM)^d
적정 투입 인원(FPS) = PM/TDEV
인적 비용(COST) = PM * 1인당 월평균 급여
2. 기능 점수 산정 방법: 라인 수와 무관하게, 기능이 많고 규모도 크면 복잡도가 높다고 판단 (기능별로 복잡도 적용해서 기능 비용 산정)
: 소프트웨어의 기능을 정량화/ 소프트웨어가 얼마나 복잡한가를 상대적인 점수로 ( 개발 시 비용 산정, 유지보수 비용 산정, 개발 시 필요한 자원 산정)
특징:
-> 소프트웨어의 규모 측정
-> 기능적 요구사항이 중심
-> 요구사항 복잡도 측정
-> 사용자 관점의 요구 기능을 정량적으로 산정
-> 소프트웨어 개발 생명주기의 전체 단계에서 사용 가능
기능 점수 산정 방법의 구분
@ 정규 기능 점수법: 설계 단계 이후에 유용. 기능의 유형별 복잡도를 구해서 정확한 기능 점수 산정
@ 간이 기능 점수법: 기획 단계에서 유용. 평균 복잡도를 적용해 기능 점수 산정
기능의 구분
간이 기능 점수법을 이용한 기능 점수 산정 방법
간이기능 점수법: 프로젝트 초기 단계에서 각 기능의 요소를 모르는 경우에 평균 복잡도 가중치를 사용해서 소프트웨어 기능의 크기를 측정 (평균 복잡도- 과거의 소프트웨어 기능 점수 산정 결과 분석을 통해 적용해 복잡도를 계산한 가중치의 평균값)
-> 기능에 따른 평균 복잡도 가중치
과정
: 시간 내 작업 완수하도록 계획 세우기
WBS (Work Breakdown Structure) 작업 분할 구조도: 활동과 업무를 세분화 (해당 업무의 담당자를 할당할 수 있을 정도로 작게 나눔)
: 프로젝트 RISK 관리
위험 요소 식별
: sw 개발에 방해가 되는 요소를 파악
-> 브레인 스토밍, 이전 프로젝트 참조, 대표적인 요구 사항 (개발자들의 이직, 요구사항의 변경)
위험 분석
: 위험 요소의 발생 확률과 영향도 평가
-> 각 위험 요소의 발생 가능성, 영향력 평가
위험 계획 수립
: 대응 방안 결정
-> 위험 대응 방안 잘 세워야 함
위험 감시
: 발생 확률, 변화 등을 관리
: 위험 요소 얼마나 발생 했는지, 대응 방안 적절했는지 평가
: 유사 프로젝트를 위해 데이터베이스에 기록해둬야 함
⭕ 나의 언어로 정리:
프로세스의 생명 주기 중에, 계획 단계에 대해 자세히 살펴보았다. 계획 단계에서는 총 5가지가 이루어진다. 문제 범위 설정하고 어떤 기능이 들어갈 지 설정하는 문제 정의. 경제적, 기술적, 법적 타당성 분석, 개발 비용 산정, 일정계획(WBS, 간트차트, 네트워크 차트), 위험분석이 있다.
개발 비용 산정 방법은 크게는 3가지로 나눌 수 있다. 첫번째는 G하향식 방법. 전문가 판단기법, 델파이 기법이다. 두번째는 상향식 방법이다. 코드 라인 수에 따라 식에 적용한다. 세번째는 수학적 방법이다. COCOMO방법은 라인수에 따라 구하는 방법이다. 여기에 SW의 종류에 따라 보정계수를 곱할 수 있다. 기능 점수 산정법은 기능에 따라 복잡도에 따라 계산하는 것이다. 그 기능점수 산정법은 이전의 소프트웨어 평균치를 이용하는 간이기능 산정법을 이용해서 구할 수도 있다.
----> 개발 비용 산정법 부분이 어렵다. 이 단원 열심히 복습하고, 식 통해서 구하는 거 연습하자!!