[정처기 필기] 「5」 | 소프트웨어 개발 방법론 활용 - (1.2) 수학적 산정 기법, 프로젝트 일정 계획
[정처기 필기] 「5」 | 소프트웨어 개발 방법론 활용 - (1.2) 수학적 산정 기법, 프로젝트 일정 계획
「1」 소프트웨어 설계
「2」 소프트웨어 개발
「3」 데이터베이스 구축
「4」 프로그래밍 언어 활용
> 「5」 정보시스템 구축 관리
- > 소프트웨어 개발 방법론 활용, IT프로젝트 정보 시스템 구축 관리, 소프트웨어 개발 보안 구축, 시스템 보안 구축
1 소프트웨어 개발 방법론
2 SW 공학의 발전적 추세
3 상향식 비용 산정 기법
> 4 수학적 산정 기법
> 5 프로젝트 일정 계획
6 소프트웨어 개발 방법론 결정
7 소프트웨어 개발 표준
8 소프트웨어 개발 방법론 테일러링
9 소프트웨어 개발 프레임워크
4. 수학적 산정 기법
수학적 산정 기법의 개요
상향식 비용 산정 기법, 개발 비용 산정의 자동화를 목표, == 경험적 추정 모형, 실험적 추정 모형
- 비용을 자동으로 산정하는 공식은 과거 유사한 프로젝트를 기반으로 경험적으로 유도된 것
- COCOMO 모형, Putnam 모형, 기능 점수(FP) 모형
COCOMO(COnstructive COst MOdel) 모형 개요
보헴(Boehm)이 제안, LOC에 의한 비용 산정 기법
- LOC를 측정한 후, 소프트웨어 종류에 따라 다르게 책정되는 비용 산정 방정식에 대입하여 비용 산정
- 작은 규모의 프로젝트들을 통계 분석한 결과를 반영한 모델, 중소 규모 소프트웨어 프로젝트 비용 추정에 적합
- 성격에 따라 비용이 다르게 산정
- 비용 산정 결과는 필요한 노력(Man-Month)으로 나타냄
COCOMO의 소프트웨어 개발 유형
소프트웨어 복잡도, 원시 프로그램의 규모에 따라 조직형, 반분리형, 내장형으로 분류
조직형(Organic Mode)
: 개관 내부에서 개발된 중 / 소규모의 소프트웨어, 일괄 자료 처리, 과학 기술 계산용, 비즈니스 자료 처리용, 5만(50KDSI) 라인 이하
: 사무 처리용, 업무용, 과학용 응용 소프트웨어 개발
반분리형(Semi-Detached Mode)
: 조직형과 내장형의 중간형, 트랜재션 처리 시스템, 운영체제, 데이터베이스 관리 시스템, 30만(300KDSI) 라인 이하
: 컴파일러, 인터프리터와 같은 유틸리티 개발
내장형(Embedded Mode)
: 초대형 규모의 트랜잭션 처리 시스템, 운영체제 등 30만(300KDSI) 라인 이상
: 신호기 제어 시스템, 미사일 유도 시스템, 실시간 처리 시스템 등 시스템 프로그램 개발에 적합
Putnam 모형
소프트웨어 생명 주기의 전 과정 동안 사용될 노력의 분포를 가정해 주는 모형
- 푸트남(Putnam)이 제안, == 생명 주기 예측 모형
- 시간에 따른 함수로 표현되는 Rayleigh-Norden 곡선의 노력 분포도를 기초
- 대형 프로젝트의 노력 분포 산정에 이용되는 기법
- 개발 기간이 늘어날수록 프로젝트 적용 인원의 노력 감소
기능 점수(FP) 모형
알브레히트(Albrecht)가 제안, 소프트웨어의 기능을 증대시키는 요인별로 가중치 부여, 합산하여 총 기능 점수를 산출, 총 기능 점수와 영향도 이용하여 기능 점수(FP) 구한 뒤 비용 산정
- 유용성과 간편성으로 비용 산정 기법 중 최선의 평가받음
- 소프트웨어 기능 증대 요인
: 자료 입력(입력 양식)
: 정보 출력(출력 보고서)
: 명령어(사용자 질의수)
: 필요한 외부 루틴과의 인터페이스
>자동화 추정 도구<
SLIM : Rayleigh-Norden 곡선, Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구
ESTIMACS : 다양한 프로젝트와 개인별 요소를 수용, FP 모형을 기초로 개발된 자동화 추정 도구
5. 프로젝트 일정 계획
개요
프로젝트 일정 계획은 프로젝트의 프로세스를 이루는 소작업을 파악, 예측된 노력을 각 소작업에 분배, 소작업의 순서와 일정을 정하는 것
- 소프트웨어 개발 기간의 지연 방지, 계획대로 진행되도록 일정 계획
- 계획된 일정은 프로젝트의 진행을 관리하는 데 기초 자료
- 계획된 일정, 프로젝트 진행도를 비교하여 차질이 있을 경우 여러 조치로 조정
- WBS, PERT / CPM, 간트 차트 등 사용
PERT(Program Evaluation and Review Technique, 프로그램 평가 / 검토 기술)
프로젝트에 필요한 전체 작업의 상호 관계를 표시하는 네트워크, 낙관적인 경우, 가능성 있는 경우, 비관적인 경우로 나눠 각 단계별 종료 시기를 결정하는 방법
- 과거의 경험이 없어 소요 기간 예측이 어려울 때 사용
- 노드와 간선으로 구성, 원 노드에 작업, 간선에 낙관치, 기대치, 비관치 표시
- 결정 경로, 작업에 대한 경계 시간, 작업 간 상호 관련성 등 알 수 있음
CPM(Critical Path Method, 임계 경로 기법)
프로젝트 완성에 필요한 작업을 나열하여 소요 기간 예측
- 노드와 간선으로 구성된 네트워크, 노드에 작업, 간선은 작업 사이 전후 의존 관계
- 원형 노드는 각 작업 의미, 작업 이름과 소요 기간 표시, 박스노드는 이정표 의미, 예상 완료 시간 표시
- 화살표의 흐름에 따라 진행, 전 작업이 완료된 후 다음 작업 진행
- 각 작업 순서, 의존관계, 어느 작업이 동시 수행되는지 한눈에 볼 수 있음
- 경영층의 과학적인 의사 결정을 지원, 효과적인 프로젝트 통제
- 병행 작업이 가능, 이를 위한 자원 할당도 가능
- 임계 경로는 최장 경로
ex)
임계 경로 소요일
↗ 2일 | □ | → 2일 | ○ | → 3일 | □ | ↘ 3일 | ||
○ | ↘ 3일 | ○ | ↘ 5일 | ○ | ||||
↘ 3일 | □ | → → | → 5일 | → → | □ | ↗ 4일 |
// 모든 경로 중 2 + 3 + 5 + 4 = 14일이 가장 긺
>일정 계획의 순서<
CPM 네트워크를 사용한 일정 계획 순서
1 프로젝트 규모 추정
2 각 단계에서 필요한 작업 분할
3 각 작업의 상호의존 관계를 CPM 네트워크로 나타냄
4 일정 계획을 간트 차트로 나타냄
간트 차트(Gantt Chart)
프로젝트의 각 작업이 언제 시작하고 언제 종료하는지에 대한 작업 일정을 막대 도표로 표시하는 프로젝트 일정표, == 시간선(Time-Line) 차트
- 중간 목표 미달성 시 그 이유, 기간 예측
- 사용자와의 문제점, 예산의 초과 지출 등 관리
- 자원 배치, 인원 계획에 사용
- CPM 네트워크의 데이터를 바탕으로 제작
- 작업 경로를 표시할 수 없으며, 계획의 변화에 대한 적응성 약함
- 계획 수립, 수정 때 주관적 수치에 기울어지기 쉬움
- 이정표, 작업 일정, 작업 기간, 산출물로 구성
- 수평 막대의 길이는 각 작업(Task)의 기간
출처 | <시나공> 정보처리기사 필기 2024 기본서 (길벗알앤디)