온라인 IT 교육최강 (www.gisa79.com) 강의정보처리필기강사조대호 차시명 [SE-02 강 ] 프로젝트관리, 비용산정, 조직구성차시 2 차시 학습내용 프로젝트관리, 비용산정, 조직구성 학습목표 프로젝트관리의개념을이해할수있다. 비용산정기법의종류에대해분류하고이해한다. 프로젝트조직구성에대해정리할수있다 학습내용 1. 소프트웨어프로젝트관리개념 (1) 소프트웨어프로젝트관리의개념 1) 프로젝트관리 (Project Management) 는주어진기간내에최소의비용으로사용자를만족시키는시스템을개발하기위한전반적인활동 2) 프로젝트관리는소프트웨어개발계획을세우고분석, 설계, 구현등의작업을통제하는것으로소프트웨어생명주기의전과정에걸쳐진행 3) 소프트웨어프로젝트를성공적으로수행하기위해서는수행할작업의범위, 필요한자원, 수행업무, 이정표, 비용, 추진일정들은알아야함 (2) 프로젝트관리대상 1) 계획관리 : 프로젝트계획, 비용산정, 일정계획, 조직계획 2) 품질관리 : 품질통제, 품질보증 3) 위험관리 : 위험식별, 위험분석및평가, 위험관리계획, 위험감시및조치 (3) 효과적인소프트웨어프로젝트관리를위한 3P (3대요소 ) 1) People( 사람 ) : 인적자원 2) Problem( 문제 ) : 문제인식 3) Process( 프로세스 ) : 작업계획 2. 프로젝트계획및예측 (1) 프로젝트계획수립 프로젝트가수행되기전에소프트웨어개발영역결정, 필요한자원, 비용, 일정등을예측하는작업 - 1 -
(2) 소프트웨어영역 (Software Scope) 결정 1) 개발될소프트웨어의영역을결정하는것 2) 예측의대상 : 기능 (Function), 성능 (Performance), 신뢰도 (Reliability), 비용, 일정, 참여인원수, 요구되는노력, 제약조건 (3) 소프트웨어프로젝트를신뢰성있게예측하는방법 1) 이미수행된유사프로젝트를참고함 2) 프로젝트를상대적으로잘게분리하여예측함 3) 경험적예측모델을활용함 4) 예측을가능한뒤로미룸 ( 현실성이부족함 ) 5) 하나이상의자동화측정도구들을이용함 (4) 프로젝트계획수립시고려사항 1) 프로젝트규모파악 ( 제일먼저해야할작업 ) 2) 프로젝트복잡도 3) 구조적불확실성의정도 4) 과거정보의가용성 5) 위험성 (5) 프로젝트비용결정요소프로젝트요소 자원요소 생산성요소 제품의복잡도 인적자원 개발자의능력 시스템의크기 하드웨어자원 개발기간 요구되는신뢰도 소프트웨어자원 (6) 개발비용과시스템크기ㆍ신뢰도ㆍ개발기간의관계 2. 비용산정기법 (1) 하향식비용산정기법 1) 하향식비용산정기법은과거의유사한경험을바탕으로전문지식이많은개발자들이참여한회의를통해비용을산정하는비과학적인방법 2) 프로젝트의전체비용을산정한후각작업별로비용을세분화함 3) 하향식비용산정기법에는전문가감정기법, 델파이기법등이있음 - 2 -
(2) 상향식비용산정기법 1) 상향식비용산정기법은프로젝트의세부적인작업단위별로비용을산정한후집계하여전체비용을산정하는방법으로 LOC( 원시코드라인수 ) 기법, 개발단계별인월수기법, 수학적산정기법등이있음 2) LOC( 원시코드라인수 ) 방법프로그램의라인수를평가하여비용을산정하는방법, 즉소프트웨어각기능의 LOC( 원시코드라인수 ) 의비관치, 낙관치, 기대치를측정하여예측치를구하고, 이것으로비용을산정하는방법 1 예측치 = { 낙관치 +(4 기대치 )+ 비관치 } / 6 2 산정공식 개발기간 = 노력 ( 인월 )/ 투입인원 개발비용 = 노력 ( 인월 ) 단위비용 노력 ( 인월 ) = 개발기간 투입인원 생산성 = LOC/ 노력 ( 인월 ) 예 1) 두명의개발자가 5 개월에걸쳐 20,000 라인의코드를개발하였을때, 월별 (personmonth) 생산성측정을위한계산방식 생산성 = KLOC/ 노력 ( 인월 ) 혹은생산성 = LOC/ 노력 ( 인월 ), (KLOC : 천라인수 ) 노력 ( 인월 ) = 개발기간 투입인원 문제에서라인수가 20,000라인이므로노력 ( 인월 ) 만구하면됨노력 ( 인월 ) 은두명이 5개월동안개발한양이므로 1명이개발했을때사용하는단위 ( 인월 ) 로표현하면 10인월임따라서생산성은 20,000 / (5 2) = 2,000이됨 예 2) LOC 기법에의하여예측된총라인수가 20000 라인일경우개발에투입될프로그래머의수가 5 명이고, 프로그래머들의평균생산성이월당 500 라인일때, 개발에소요되는기간 개발기간 = 노력 ( 인월 )/ 투입인원노력 ( 인월 ) = 개발기간 투입인원 = 20,000/500 = 40 따라서개발에소요되는기간 = 40 / 5 = 8 개월 - 3 -
3) COCOMO 모형 1 COCOMO(COnstructive COst MOdel) 모형 보헴 (Boehm) 이제안한원시프로그램의규모에의한비용예측모형 소프트웨어의종류에따라다르게책정되는비용신장방정식을이용함 같은규모의프로그램이라도그성격에따라비용이다르게산정됨 비용견적의강도분석및비용견적의유연성이높아소프트웨어개발비견적에널리통용되고있음 비용산정결과는프로젝트를완성하는데필요한노력 (Man-Month) 으로나타냄 2 COCOMO 소프트웨어프로젝트모드 (= 개발유형 ) 소프트웨어개발유형은소프트웨어의복잡도혹은원시프로그램의규모에따라아래와같이분류됨 조직형 (Organic Mode) - 조직형은기관내부에서개발된중ㆍ소규모의소프트웨어로일괄자료처리나과학기술계산용, 비즈니스자료처리용으로 5만 (50KDSI) 라인이하의소프트웨어를개발하는유형 - 사무처리용, 업무용, 과학용응용소프트웨어개발에적합 반분리형 (Semi-Detached Mode) - 반분리형은조직형과내장형의중간형으로트랜잭션처리시스템이나운영체제, 데이터베이스관리시스템등의 30만 (300KDSI) 라인이하의소프트웨어를개발하는유형 내장형 (Embedded Mode) - 내장형은최대형규모의트랜잭션처리시스템이나운영체제등의 30만 (300KDSI) 라인이상의소프트웨어를개발하는유형 - 신호기제어시스템, 미사일유도시스템, 실시간처리시스템등의시스템프로그램개발에적합 3 COCOMO 모형의종류 : COCOMO는비용산정단계및적용변수의구체화정도에따라기본 (Basic) 형, 중간 (Intermediate) 형, 발전 (Detailed) 형으로구분할수있음 기본 (Basic) 형 COCOMO : 기본형 COCOMO는소프트웨어의크기 ( 생산코드라인수 ) 와개발유형 ( 모드 ) 만을이용하여비용을산정하는모형 중간 (Intermediate) 형 COCOMO : 중간형 COCOMO는기본형 COCOMO의공식을토대로사용하나, 여러가지다른요인에의해비용을산정하는모형 발전 (Detailed) 형 COCOMO : 발전형 COCOMO는중간 (Intermediate) 형 COCOMO를보완하여만들어진방법으로개발공정별로보다자세하고정확하게노력을산출하여비용을산정하는모형 예 ) COCOMO의비용산정에의해개발에소요되는노력이 40PM(Programmer-Month) 으로계산되었고, 개발에소요되는기간이 5개월, 1인당인건비가 100만원이라면이프로젝트에소요되는총인건비는? 인적비용 (COST) = MM x 1인당월평균급여노력 ( 인월, PM, MM) 이 40PM이므로한사람이개발할때 40개월걸리는프로젝트규모이므로총인건비는 40 x 100만원즉, 4천만원이됨 4) Putnam 모형 1 Putnam 모형은소프트웨어생명주기의전과정동안에사용될노력의분포를가정해주는모형 2 푸트남 (Putnam) 이제안한것으로생명주기예측모형이라고도함 3 시간에따른함수로표현되는 Rayleigh-Norden 곡선의노력분포도를기초로함 4 SLIM : Putnam 예측모델과 Rayleigh-Norden 곡선을기초로하여개발된자동화추정도구 - 4 -
5) 기능점수 (FP, Function Point) 기능점수모형은 Albrecht가제안한것으로, 소프트웨어의기능을증대시키는요인별로가중치를부여하고, 요인별가중치를합산하여총기능점수를산출하며총기능점수와영향도를이용하여기능점수 (FP) 를구한후이를이용하여비용을산정하는기법 요점정리 1. 프로젝트관리의개념을정리합니다. 2. 비용산정기법의종류에대해분류하고정리합니다. 3. 프로젝트조직구성에대해정리해둡니다. 다음차시예고 수고하셨습니다. 다음 3 주차에서는 [SE-03 강 ] 프로젝트일정, 품질보증, 위험관리 에대해서학습하도록하겠습 니다. - 5 -