450 likes | 851 Views
과제명 : 소프트웨어 사업대가기준 개선체계에 관한 연구 (2001. 3.26 ~ 2001.12.25). 소프트웨어 개발비 산정기준 ( 간이모델 중심 ). 2001.12.27. 연구자 : 심 기 보 Tel : 02-3456-2130 CP : 011-9615-9765 E-mail : shimkb@khnp.co.kr. 정 보 통 신 부 한국소프트웨어 산업협회. 목 차. 1. 소프트웨어 견적방법 2. 현행 대가기준 문제점 3. 소프트웨어 규모산정 해외사례 4. 개선 대가기준 개요
E N D
과제명 : 소프트웨어 사업대가기준 개선체계에 관한 연구 (2001. 3.26 ~ 2001.12.25) 소프트웨어 개발비 산정기준 (간이모델 중심) 2001.12.27 연구자 : 심 기 보 Tel : 02-3456-2130 CP : 011-9615-9765 E-mail : shimkb@khnp.co.kr 정 보 통 신 부 한국소프트웨어 산업협회
목 차 1. 소프트웨어 견적방법 2. 현행 대가기준 문제점 3. 소프트웨어 규모산정 해외사례 4. 개선 대가기준 개요 5. 현행/개선 대가기준 비교 6. 기대효과 정 보 통 신 부 소프트웨어산업협회
1. 소프트웨어 견적방법 소프트웨어의 量은… ●측정하는 목적이 명확할 것 ● 계측대상이 명확할 것 ● 동일 量은, 동일하다는 것을 나타내고 있을 것, 혹은 그 반대. ●재현성이 있을 것 ● 사용하기 쉽고, 측정하기 쉬울 것 정 보 통 신 부 소프트웨어산업협회
■견적방법 비교 (1) PROGRAM LOC법 시스템의 개발규모는 ××스텝 IDENTIFICATION DIVISION. PROGRAM-ID ……………. ……………. END PROGRAM 행수(스텝수) 를 셈한다 ①외부에서 입력하는 데이타 시스템의 개발규모는 ○○FP ①~⑤의 수와 복잡성을 계산 하여 시스템 전체의 특성에 따라 보정한다 ⑤외부의 소프 트웨어가 갱신 하는 데이터 ②외부에 출력하는 데이타 ④내부에서 유지하는 데이타 F P 법 ③외부에서 참조하는 데이타 정 보 통 신 부 소프트웨어산업협회
■견적방법 비교 (2) < LOC에 의한 견적방법> 과거의 경험과 개인의 직감 표준생산성 등에 의해 추정 User의 요구사항 Source Code의 행수(추정치) 개발공수, 개발기간(추정치) 소정의 수순에 따라 측정 과거의 사례 통계분석을 기초로 추정 기능량(측정치) <FP에 의한 견적방법> ※ LOC 견적방법과 FP 견적방법의 차이 - FPA는 최초로 시스템의 요구사양으로 「기능량(function point)」을 산출함 - 측정값이며 견적 담당자의 주관에 의해 좌우되지는 않음 - 이 기능량을 토대로 시스템의 규모(source code의 행수)와 개발 공수를 추정 정 보 통 신 부 소프트웨어산업협회
■ LOC의 결점 (1) 지금부터의 주류 최근까지의 주류 4GL로 개발 재이용 (라이브 러리 등) 시판 소프트 웨어의 이용 3 GL로 개발 3 GL로 개발 GUI빌더에 의한 개발 LOC로 계측불가 LOC로 계측 可 정 보 통 신 부 소프트웨어산업협회
■ LOC의 결점 (1) 앞으로의 주류 최근까지의 주류 4GL로 개발 재이용 (라이브 러리 등) 시판 소프트 웨어의 이용 3 GL로 개발 3 GL로 개발 GUI빌더에 의한 개발 LOC로 계측불가 LOC로 계측 可 정 보 통 신 부 소프트웨어산업협회
■ LOC의 결점 (2) LOC는 중요한 소프트웨어 메트릭 이지만, 개발의 초기단계에서 소프트웨어의 量을 규정하는 척도로서 보면 … ●정밀도가 좋지 않음 - 개발의 결과로서 얻어지는 것이며, 개발의 초기단계에서는 예측치로서만 얻어짐 ● 재현성이 결핍 - 결정된 수법이 아님 ● 屬人的임 - 「경험자의 경험과 감」에 의존 ● 개발기술, 개발환경에 의존 됨 - 개발 소프트웨어에 대한 요구조건(사양)에 고유한 量을 나타내지 못함 정 보 통 신 부 소프트웨어산업협회
금괴 가 격 중 량 시세,시가 중량으로 가격을 결정하는 요인 소프트웨어 Function Point 개발경비 개발기간 Function Point법 (측정법) ■기능점수(Function Point)의 역할 (秤) 적용 축적된 관리 데이터 등 정 보 통 신 부 소프트웨어산업협회
■ 기능점수(Function Point) 견적방법 외부사양 가중합계 FP0 품질level에 따른 보정 (grade 보정) FP1 개발기법에 따른 보정 FP2 Y=aX+b Y=aX+b Y=aX+b 제1단계 외부사양으로 부터 기능점수 계산 규모0 공수0 규모1 공수1 규모2 공수2 제2단계 품질을 반영 제3단계 구체적 개발량을 견적 정 보 통 신 부 소프트웨어산업협회
■ LOC와 FP의 비교(종합) 정 보 통 신 부 소프트웨어산업협회
■ 기능점수법 개요 ○ USER 에 제공되는 기능 가운데 화일 화면 장표와 같이 명확히 셀 수 있는 기능을 수량화 한 것 ○ 소프트웨어의 기능을 아래의 5종류로 분류하여, 각 기능의 복잡도에 따른 평가 를 산출 ·합계한 것 EI 입력/ 갱신 출력 외부 어플리케이션 트랜잭션 EO EI. EQ EQ or EO EI 측정대상 어플리케이션 관련화일 EO ILF EIF EIF 징수표 마스터 화일 참조용 DB 정 보 통 신 부 소프트웨어산업협회
■ 용어정의 ● EI (외부입력) : 통상의 입력 (입력 트랜잭션 , 입력화면) ● EO(외부출력) : 통상의 출력 (출력 트랜잭션, 출력보고서) ● EQ(외부조회) : 데이터의 가공을 수반하지 않는 입출력 (화면조회) ● ILF(내부논리화일) : 계측대상의 소프트웨어 시스템에 이용되는 데이터의 집합. 반드시 화일이 아니더라도 좋지만, 통상은 마스타화일, 데이터 베이스 등이 대응 ● EIF(외부인터페이스 화일) : 계측대상의 소프트웨어 시스템 이외의 시스템에서 이용되고, 계측대상 시스템이 참조하는 데이터의 집합. 통상, 타 시스템의 마스터 화일이나 데이터 베이스 등 정 보 통 신 부 소프트웨어산업협회
2. 현행 사업대가 기준의 문제점 ■ 대상업무 유형의 문제점 ▷ 사무업무 중심의 규모 및 대가산정 ▷ 제어/계산업무는 가중치 보정방식 채용 ■ 규모산정 모델의 문제점 ▷ 본수/스텝수 등 개발자 중심의 척도가 주류 ▷ 기능점수모델은 현실적으로 사용이 안되고 있음(LOC의 150~170%정도 견적) ■ 비용산정 모델의 문제점 ▷ 인건비, 제경비, 기술료 등 일반기술용역의 실비정액가산방식 채용 ▷ 인건비가 전체 개발비의 40% 정도에 그침 정 보 통 신 부 소프트웨어산업협회
■ 현행 사업대가 기준상의 개발업무 범위 1. 진척관리 - 필요공수 견적 - 스케쥴 결정/관리 - 진척 데이터 수집 - 계획/실적관리 (계획조정) 2. 품질관리 - 품질기준/품질 척도 설정 - 작업단계별 품질검사 - 품질 데이터 수집 - 품질개선 3. 비용관리 - 개발비용 견적 (견적모델 설정) - 비용견적 기준치 (공수단가/스텝단가) - 작업실시 단계의 비용관리 4. 요원관리 - 프로젝트 팀 편성 - 팀내 정보전달과 회의운영 - 요원 실적 데이터 수집 - 실적관리 5. 기타 - 개발지원 TOOL 관리 - 납기관리 - 원가관리 • 수주자의 업무범위중 「기초요구분석」단계의 업무는 인력지원 방식으로 수행하는 것을 원칙으로 함. 따라서 「기초요구분석」 에 소요되는 직접인건비는 투입(소요)인력 기준으로 산정하는 것을 권장함. 정 보 통 신 부 소프트웨어산업협회
3. 소프트웨어 규모산정 해외사례 ● JFPUG에 238 회원(대다수는 법인 회원(2000년 6월말일 현재) ) ● COSDES 법 → 電中硏법으로 대체 ● 일본 유니시스, NTT, 히타찌, 미쓰비시 상사등이 이용, 그 밖에 많은 회사가 이용을 검토중 일 본 ● 미국 IFPUG (약600 회원)를 중심으로 각국이 결집(영국,호주, 덴마크, 일본, 노르웨이,남아프리카) ● 호주,영국이 열심. 유럽 전체의 독자적인 연합체를 결성 - 유럽,호주를 중심으로 새로운 수법의 개발 움직임(COSMIC) ● ISBSG에 의한 국제적인 개발 데이터수집과 분석 결과의 제공 미국 등 표 준 화 ● 1998년 6월에 ISO의 국제 표준화로서 출판 (1993년 12월부터 작업) 표준화 시키기 위해서는 Definition of Concepts (FP법의 개념규정) 기타 4항목의 표준화 작업중 ● 상기의 표준은 2000년10월에 JIS(일본)로서 출판 (JIS × 0135 -1) ※ COSDES : Committee On Software Development Estimation System ISBSG : International Software Benchmarking Standards Group 정 보 통 신 부 소프트웨어산업협회
■ Function Point법의 파생수법 정 보 통 신 부 소프트웨어산업협회
북육전력용전중연법 FPA Mark-II IBM법 NBC법 IBM법 SPR개산법 IPA법 초기IBM법 IFPUG법 3D FPs COSDES/전중연법 전중연법(제2판) Boeing3D Ext 전중연법(제1판) 기능점수법 1979 년 1984 년 1985 년 1986 년 1987 년 G2 : 간편성을 가장중시 1988 년 G3 : 도입용이성을 가장중시 1989 년 G1 : 엄밀성을 가장중시 1990 년 ■ Function Point법 파생수법 계통 정 보 통 신 부 소프트웨어산업협회
■ Function Point법 파생수법 장단점 정 보 통 신 부 소프트웨어산업협회
■ 개선모델 도출 정 보 통 신 부 소프트웨어산업협회
■ 개선모델 요약 견적시기 및 요구되는 정밀도 간이모델 상세모델 ○ 활용 단계 및 대상 - 계획단계 - 상대적으로 낮은 정밀도 - 단기/ 소규모 프로젝트 ○ 모델(안) - SPR 개산 법 - 초기 IBM법 ○ 활용 단계 및 대상 - 분석단계 - 높은 정밀도 - 장기/대규모 프로젝트 ○ 모델(안) - 현 사업대가 FP법 - 電 中硏 법 - IFPUG 법 정 보 통 신 부 소프트웨어산업협회
■ 개선모델별 견적시점 ▶ 평가 필드테스트 기초요구분석 간이모델 ▶ (초기견적) 기능테스트 상세요구분석 상세모델 ▶ (견적) 결합테스트 진척관리 I/O 및 파일설계 단위테스트 프로그램 설계 ▶ 계측시점 ↔ 계측치이용 사양변경이 있는 경우에는 그 시점 코 딩 정 보 통 신 부 소프트웨어산업협회
4. 개선 대가기준 개요 정 보 통 신 부 소프트웨어산업협회
■개선 대가기준의 구조 정 보 통 신 부 소프트웨어산업협회
계약의 관점 문서화프로세스 취득프로세스 형상관리프로세스 공급프로세스 품질관리의 관점 품질보증프로세스 검증프로세스 타당성확인프로세스 공동리뷰프로세스 감리프로세스 문제해결프로세스 ■소프트웨어 라이프싸이클 프로세스(예) 기본구조 주라이프사이클 프로세스 지원라이프사이클 프로세스 기본구조의 수정 기획의 관점 운용의 관점 엔지니어링 의 관점 운용프로세스 기획 프로세스 개발프로세스 보수프로세스 조직에 관한 라이프사이클 프로세스 관리 프로세스 환경정비 프로세스 개선 프로세스 교육훈련 프로세스 시스템감사프로세스 Tailoring프로세스 정 보 통 신 부 소프트웨어산업협회
■ 개발범위(개발 프로세스 세부공정) ※ 1. 지원 및 관리 프로세스는 13개 개발 프로세스에 포함 2. 추가 요구되는 프로세스(예 : CONVERSION 등)는 추가 공정율로 가산 정 보 통 신 부 소프트웨어산업협회
■규모산정 정 보 통 신 부 소프트웨어산업협회
■ 5개 기능(EI,EO,EQ,ILF,EIF) 개수를 모두 알 수 있을 때(예시) ●단위 업무별 기능유형 식별 정 보 통 신 부 소프트웨어산업협회
●기능점수 계산 ※ ( ) 는 사용자조사 의 평균 복잡도 임. 정 보 통 신 부 소프트웨어산업협회
■모델공식에 의한 기능점수 계산(1) 5개 기능유형 중 일부 기능유형만 알 수 있을 경우 기능점수 계산 [별첨 73개 프로젝트 기준] 구 분 모 델 공 식 (FP1 : 상수항(절편) 有, FP2 : 상수항(절편) 無) 결정계수 (R^2) EI, EO,EQ FP1 = 299.8 + 4.97×EI + 8.62×EO + 4.15×EQ FP2 = 4.89×EI + 8.61×EO + 5.39×EQ 94.0% 90.0% EI, ILF FP1 = 88.14 + 6.13×EI + 11.78×ILF FP2 = 6.20×EI + 12.08 × ILF EI, EO, ILF 96.8% FP1 = 213.16 + 5.20×EI + 6.60×EO + 7.42×ILF FP2 = 5.38×EI + 6.41 × EO + 8.27×ILF 정 보 통 신 부 소프트웨어산업협회
구 분 모 델 공 식 (FP1 : 상수항(절편) 有, FP2 : 상수항(절편) 無) 결정계수 (R^2) EI, EO,EQ FP1 = 559 + 3.38×EI + 7.03×EO + 7.75×EQ FP2 = 4.91×EI + 9.46×EO + 7.04×EQ 94.7% EI, EO, EQ, ILF FP1 = 4.71+ 4.01×EI + 5.03×EO + 3.98×EQ+10.0×ILF FP2 = 4.02×EI + 5.04×EO + 3.97×EQ+ 10.0×ILF 100.7% EI, ILF FP1 = 32 + 7.68×EI + 12.5×ILF FP2 = 7.68×EI + 12.6×ILF 99.1% EI, EO, ILF FP1 = -152 + 7.85×EI + 4.77×EO + 11.7×ILF FP2 = 7.84×EI + 4.29×EO + 11.2×ILF 98.0% ■모델공식에 의한 기능점수 계산(2) 5개 기능유형 중 일부 기능유형만 알 수 있을 경우 기능점수 계산 [별첨 46개 프로젝트 활용] ※ 통계작업 패키지 : MINITAB, 통계학 박사 정미선 지원 정 보 통 신 부 소프트웨어산업협회
■비용산정 정 보 통 신 부 소프트웨어산업협회
■보정계수 유형 정 보 통 신 부 소프트웨어산업협회
■프로젝트 목표 보정계수 정 보 통 신 부 소프트웨어산업협회
■프로젝트 규모 보정계수 ※ 현 행 : 보간법 계산, 10,000스텝 미만은 0.65를 적용하고 1,000,000 이상은 10,000스텝 당 0.0005씩 추가한다 ※ 개선(안) : 식[0.096 × 자연log(기능점수) + 0.2229]으로 계산, 300 미만은 0.70을 적용하고 100,000이상은 1.35를 적용한다 정 보 통 신 부 소프트웨어산업협회
■프로젝트 형태(어플리케이션 유형) 보정계수 정 보 통 신 부 소프트웨어산업협회
■개발기종 보정계수 정 보 통 신 부 소프트웨어산업협회
■개발언어별 생산성 보정계수 ●SPR(Software Productivity Research, Inc, http://www.spr.com ) 기준 ▷450여 종의 개발언어에 관한 「1 FP당 스텝수」를 제공 [예] COBOL, Fortran77 : 107행/FP, C 언어 : 128행/FP 등 ●개발언어 세대별(제1 ~ 제5세대) FP 당 소스 프로그램 행수 ● 대가산정을 위한 스텝수 환산 - 분석 및 설계단계 : 3세대(80스텝)와 4세대(20스텝)의 평균(50스텝) 적용 - 코딩 및 설치단계 : 개발언어별 보정계수 적용 정 보 통 신 부 소프트웨어산업협회
■주요 개발 언어별 1 FP 당 스텝수(예) ※ 출전 : 美 SPR(Software Productivity Research) 정 보 통 신 부 소프트웨어산업협회
5. 현행/개선 대가기준 비교 요약 정 보 통 신 부 소프트웨어산업협회
■대가산정 결과비교(1) <대상 프로젝트 : 46개 프로젝트(별첨)> 모델공식 : 상수항(절편)이 있는 경우 ※ A : EI(외부입력), B : EO(외부출력), C : EQ(외부조회), D : ILF(내부화일), E : EIF(외부화일) 정 보 통 신 부 소프트웨어산업협회
■대가산정 결과비교(2) <대상 프로젝트 : 46개 프로젝트(별첨)> 모델공식 : 상수항(절편)이 없는 경우 ※ A : EI(외부입력), B : EO(외부출력), C : EQ(외부조회), D : ILF(내부화일), E : EIF(외부화일) 정 보 통 신 부 소프트웨어산업협회
6. 기대효과 ■ 예산편성 기준으로 활용 - 초기공정(기본설계 단계)에서 적용 가능 - EI, EO(EQ) 정도 파악으로 예산수립 가능 ■ 기능계측의 간편성 : 단순하고 이해하기 쉽다 - 소프트웨어 기능을 측정한 것으로 유저가 이해하기 쉽다 ■공무원 및 공공기관의 발주자(비 전산요원 포함)도 사용 가능 ■ 개발기술, 개발환경등에 영향이 적다 정 보 통 신 부 소프트웨어산업협회
감사합니다. 끝. 정 보 통 신 부 소프트웨어산업협회