마이클잭슨이 부르는 땡뻘..
이제는 UCC동영상 제작법도 익혀야 한다는 생각이 드네요.
'취미 그리고 생각' 카테고리의 다른 글
세일러문 (0) | 2007.10.16 |
---|---|
러시아워3 (0) | 2007.09.25 |
피랍자 사건에 대한 생각 (0) | 2007.08.12 |
전문가가 되기 위해서 필요한 기술들 (0) | 2007.08.08 |
UCC 오페라 (0) | 2007.08.03 |
세일러문 (0) | 2007.10.16 |
---|---|
러시아워3 (0) | 2007.09.25 |
피랍자 사건에 대한 생각 (0) | 2007.08.12 |
전문가가 되기 위해서 필요한 기술들 (0) | 2007.08.08 |
UCC 오페라 (0) | 2007.08.03 |
기능점수(Function Point)산정 및 활용 방안
발주지원센터 | 송기호(khsong@software.or.kr)
소프트웨어 프로젝트들은 환경,기술력, 자본, 개발규모 등 다양한 환경적인 요소들이 동반되기 때문에 소프트웨어 개발비용을 예측하는 것은 어려운 문제
최근 수년 동안 정보시스템 구축과 운영 사업의 증가로 국가예산에서 정보화예산이 차지하는 비중이 커짐에 따라 정보화 예산 관리의 과학화와 효율화를 위해 사업의 소요 비용을 초기에 보다 정확하고, 정밀하게 예측하는 것이 중요한 문제로 대두
이러한 문제점을 해결하기 위하여 기존의 본수(本數) 방식이나 스텝(step)수 방식의 모호성과 부정확성을 보완하기 위하여 개발자 관점이 아닌 사용자 관점에서 사용기술과는 무관하게 소프트웨어 개발규모를 측정할 수 있는 국제 표준 기법인 기능점수(Function Point)방식을 기본 산정 방식으로 하는 대가기준에 대한 연구를 수행
소프트웨어개발비 산정의 현황
2004년 2월 소프트웨어규모산정 방식을 본수 방식에서 기능점수 방식 중심으로전환
기능점수방식으로 전환됨에 따라 합리적으로 규모를 수량화 할 수 있게 되었고, 이를 기반으로 사업초기 단계에서 개발비용을 예측할 수있는 근거가 마련
기획예산처에서는 좀더 근거 있고 합리적인 예산 반영을 위하여 소프트웨어개발비와 관련하여 예산 요구 자료를 기능점수방식으로 제출하도록 권고
하지만, 2004년 소프트웨어개발비 산정방식을 본수에 기능점수 방식으로 전환 후 대다수의 기관에서 기능점수의 개념에 대한 이해 부족과 적용의 어려움으로 이를 잘 활용 하지못하고 있는 실정
1. 소프트웨어사업대가기준 소개
정보통신부 고시로 규정하고 있는 소프트웨어사업 대가의 기준은 국가기관 등이 소프트웨어 개발, 데이터베이스 구축, 정보전략계획 수립 등의 정보화사업을 추진함에 있어 정보통신기술의 발전 및 사회적 여건변화에 유연하게 대처하고, 소프트웨어 산업과의 선순환적 구조를 가질 수 있도록 소프트웨어사업에 대한 예산수립이나 발주시 적정비용 등 을 산정하기 위한 기준을 제공하는 것을 목적
[ 표 1. 소프트웨어사업대가기준 구성 ]
구분 | 비용산정(방식 | 비용구성 |
소프트웨어개발비 | 기능점수 | 개발원가,직접경비,이윤 |
코드라인수 | 직접인건비,제경비,기술료,직접경비 | |
투입인력과기간 | 유지보수시점에서 소프트웨어개발비의 10~15% | |
유지보수및재개발비 | 유지보수 | |
재개발 | ||
시스템운용환경구축비 | 시스템운용환경설계비 | 공사비요율 기본설계비,실시설계비 |
시스템운용환경조성비 | 공사비 | |
DB구축비 | 원시자료유형별데이터량 | 인건비,제경비,이윤,직접경비 |
ISP수립비 | 컨설팅지수 | 공수×(컨설팅지수)0.95 +10,000,000원 |
소프트웨어개발비
소프트웨어개발비는 국제 표준인 ISO 12207의 소프트웨어 개발 기본공정을 적용한 소프트웨어 개발의 단계별 공정을 수행하는데 필요한 개발원가와 직접경비 그리고 이윤의 합으로 구성
첫째는 소프트웨어개발규모에 의한 산정방식에 따라 소프트웨어개발비를 산정하는 방식이 있고, 두 번째는 Mam/Month방식으로 이미 우리에게 친숙한 투입인력과 기간에의한 산정방식으로 구분
또한 소프트웨어개발규모에 의한 산정방식은 기능점수 방식과 코드라인수(Line of Code) 방식으로 구분
[ 표 2. 소프트웨어개발원가 산정 방법 ]
소프트웨어개발원가 산정방법 | 산정(방법 | |
개발규모에 의한 산정방법 | 기능점수 | 기능점수×기능점수단가×보정계수 |
코드라인수 | 코드라인수×코드라인수단가×보정계수 | |
투입인력수와 기간에 의한 산정방법 | 투입인력수×투입기간×기술자등급별단가 |
소프트웨어 개발규모에 의한 산정 방식인 기능점수 방식과 코드라인수 방식은 개발하려는 소프트웨어의 개발 크기(기능점수, 코드라인수)를 산정하고 여기에 단가(기능점수당 단가, 코드라인당 단가)와 보정요소를 곱하여 산정하는 방식
2. 기능점수(Function Point) 산정 방법
기능점수 방식은 사용자 관점에서 소프트웨어 규모를 산정하는 방법으로, 주로 논리적 설계를 기초로 하여 소프트웨어가 사용자에게 제공하는 기능의 수를 수치로 정량화하고 소프트웨어의 규모를 산정하는 방식
기능점수 방식은 먼저 개발하려는 소프트웨어의 범위 및 경계를 설정하고 데이터기능(Data Function)과 트랜잭션기능(Transaction Function)을 도출한 후 복잡도 가중치를 적용하여 기능점수를 산출하는 방식
즉, 데이터기능점수와 트랜잭션기능점수의 합계를 [그림 1]에서와 같이 구한다음, 시스템의 특성에 따라 그 값을 보정함으로써 최종적인 소프트웨어의 기능점수를 계산하는 방식
데이터기능점수와 트랜잭션기능점수의 합을 보정전 기능점수라고 하고, 보정전 기능점수에 보정요소를 곱한 것을 보정기능점수라고도함
[그림 1. 데이터 기능과 트랜잭션 기능 및 기능점수 산정]
데이터기능
데이터기능점수는 내부 및 외부 자료 요구사항을 만족시키기 위해 사용자에게 제공되는 기능
내부논리파일(ILF: Internal Logical File)과 외부연계파일(EIF: External Interface File)로 구성
내부논리파일은 응용시스템에서 유지되고 사용자가 식별 가능한 논리적으로 연관된 자료 및 제어정보(control information)의 그룹
다시 말해서 내부논리파일의 기본적인 용도는 개발하려는 응용시스템의 내에서 단위프로세스(elementary process)에서 유지되는 데이터를 저장
외부연계파일은 개발하려는 응용시스템에서 참조되지만 다른 응용시스템에서 유지되며 사용자가 식별 가능한 논리적으로 연관된 자료 및 제어정보의 그룹
즉, 외부연계파일의 용도는 개발하려는 해당 응용시스템내의 단위 프로세스에서 참조되는 데이터를 저장
외부연계파일은 반드시 다른 응용시스템의 내부논리파일임.
데이터기능의 기능점수는 내부논리파일과 외부연계파일 모두 데이터요소유형(DET:Data Element Type)3)과 레코드요소유형(RET:Record Element Type)4)의 개수에 따라 [표 3]와 같이 복잡도를 결정하고, 그 복잡도에 따라 [표 4]와 같이 가중치를 정하여 각 기능별 기능수에 가중치를 곱하여 산정
[ 표 3. ILF/EIF 복잡도 ]
레코드요소유형(RET)의 개수 | 데이터요소유형(DET)의 개수 | ||
1~19 | 20~50 | 51이상 | |
1 | 낮음 | 낮음 | 보통 |
2~5 | 낮음 | 보통 | 높음 |
6이상 | 보통 | 높음 | 낮음 |
[ 표 4. ILF/EIF 가중치 ]
복잡도 | 가중치 | |
ILF | EIF | |
낮음 | 7 | 5 |
낮음 | 10 | 7 |
낮음 | 15 | 10 |
ㅁ데이터요소유형(DET): 사용자가 식별가능하고 비 반복적인 유일한 필드
ㅁ레코드요소유형(RET): ILF나 EIF안에서 사용자가 식별 가능한 데이터요소의 서브그룹
트랜잭션기능
데이터를 처리하기 위해 사용자에게 제공되는 기능
외부입력(EI: External Input), 외부출력(EO: External Output), 외부조회(External inQuiry)의 세 가지 기능
외부입력은 응용시스템 외부에서 들어오는 데이터 및 제어정보를 처리하는 단위프로세스. 외부입력은 주로 내부논리파일을 유지하거나 변경하는데 사용
외부출력은 응용시스템 밖으로 데이터나 제어정보를 보내는 단위프로세스. 외부출력은 주로 데이터 및 제어정보의 조회 외에 처리 로직을 통해서 사용자에게 정보를 제공하는데 사용
처리 로직은 수학적 공식 및 계산식을 포함하거나 유도되는 데이터를 생성해야 함
외부조회는 응용시스템 외부에 데이터나 제어정보를 보내는 단위프로세스.
외부조회는 주로 데이터나 제어정보 조회를 통해 사용자에게 정보를 제공
트랜잭션기능의 기능점수는 외부입력, 외부출력, 외부조회 모두 참조파일유형(FTR: File Type Reference)과 데이터요소유형(DET:Data Element Type)의 개수에 따라 [표 5],[표 6]와 같이 복잡도를 결정하고, 그 복잡도에 따라 [표 7]와 같이 가중치를 정하여 각 기능별 기능수에 가중치를 곱하여 산정
[ 표 5. EI의 복잡도 ]
참조파일 유형(FTR)의 개수 | 데이터요소유형(DET)의 개수 | ||
1~4 | 5~15 | 16이상 | |
0~1 | 낮음 | 낮음 | 보통 |
2 | 낮음 | 보통 | 높음 |
3이상 | 보통 | 높음 | 낮음 |
[ 표 6. EO/EQ의 복잡도 ]
레코드요소 유형(RET)의 개수 | 데이터요소유형(DET)의 개수 | ||
1~5 | 6~19 | 20이상 | |
0~1 | 낮음 | 낮음 | 보통 |
2~3 | 낮음 | 보통 | 높음 |
4이상 | 보통 | 높음 | 낮음 |
[ 표 7. EI/EO/EQ의 가중치 ]
복잡도 | 가중치 | |
EI/EQ | EO | |
낮음 | 3 | 4 |
낮음 | 4 | 5 |
낮음 | 6 | 7 |
ㅁ참조파일유형(FTR) : 트랜잭션 기능에 의해 읽히거나 유지되는 내부논리파일 또는 트랜잭션기능에 의해 읽히는 외부연계파일
3. 소프트웨어 개발비 산정을 위한 간이기능점수 모형
예산수립 시나 사업제안단계에서는 기능 수준만 도출해 내고 분석/설계단계에서 기능의 속성까지 상세하게 도출되므로, 속성의 개수(DET,RET, FTR의 개수)를 고려하여 기능의 복잡도와 가중치를 도출하는 것은 사업초기단계에 현실적으로 무리
따라서 소프트웨어사업대가기준에서는 사업초기 각 기능의 복잡도와 가중치를 결정하기 어려운 현실을 반영하여 [표 8]의 평균복잡도가중치를 제시하여 보다 기능점수 방식을 사용하기 편리하게 유도
평균복잡도가중치는 기능이 도출되고 복잡도를 결정하는 단계를 생략하고, 제시된 평균복잡도 가중치를 바로 각 기능의 수에 곱하게 된다. 평균복잡도가중치란 과거 수행된 소프트웨어의 기능점수 산정결과를 통계분석하여 내부논리파일,외부연계파일, 외부입력, 외부출력, 외부조회에 적용된 복잡도에 대해 계산한 가중치들의 평균값
평균복잡도가중치의 적용은 예산수립단계 및 사업제안단계, 사업초기에 기능점수 산정에 필요한 자료가 충분하지 않은 경우 또는 정상적인 기능점수 산정 결과에 대한 검증이 필요한 경우 사용
평균복잡도 가중치를 사용한 기능점수 방식을 간이기능점수 방법이라함
[ 표 8. 2007년도 평균복잡도가중치 ]
유형 | 내부논리파일 | 외부연계파일 | 외부입력 | 외부출력 | 외부조회 |
가중치 | 7.4 | 5.5 | 3.9 | 5.1 | 3.8 |
따라서, 소프트웨어사업대가기준에서 제시하고 있는 기능점수 방식은 복잡도 적용방법에 따라 크게 국제기능점수사용자그룹에서 정의하는 정규기능점수법과 소프트웨어사업 대가기준에서 제시하는 간이기능점수법 두 가지로 구분
[ 그림 2. 정규기능점수법과 간이기능점수법 ]
4. 기능점수 활용 방안
기능점수 방식의 기본 정신은 사업초기에 개발하려는 소프트웨어의 범위와 경계를 식별하고 사용자관점에서 기능들을 도출하여 요구사항을 명확히 하고 이를 수치로서 정량화하는 것
구현하려는 소프트웨어 기능들의 목록과 이에 점수를 부여하여 소프트웨어의 개발규모를 정량화 한다는 것은 사업관리 측면에서는 범위관리, 일정관리, 형상관리에서 기능점수 목록을 활용하여 프로젝트 편성 및 변경통제를 강화
개발공정에서는 기존 산출물의 추가 보완을 통하여 기능점수를 상세 모형으로 유지관리가 가능
시험단계와 검수단계에서는 기능점수 목록이 기준선(Baseline)으로서 역할을 하며 프로젝트의 위험을 감소시키는 역할
가장 대표적으로 기능점수 모형이 활용되는 것은 요구사항관리(Requirement Management)가 크게 향상
기능점수는 예산수립이나 사업의 제안 단계에서 요구사항을 정리 할 수 있으며, 이를 정량화 할 수 있기 때문에, 근거 있는 예산 및 사업비를 산정에 도움
잘 만들어진 기능점수 목록은 소프트웨어개발사업의 관리에 중요한 수단으로 활용
현재폴더에서 도스창 실행 (0) | 2007.10.22 |
---|---|
SW품질평가-ISO9126 (2) | 2007.10.18 |
80x15 배너이미지 만들기 (0) | 2007.08.02 |
RSS 관리 (0) | 2007.08.02 |
자바에 사용되는 용어들 (0) | 2007.07.26 |
공개SW라이센스가이드(20007.11) (0) | 2008.01.05 |
---|---|
[펌]오라클 OCP 데이터베이스 백업과 복구전략 (0) | 2007.09.06 |
선점형 비선점형 운영체제 (0) | 2007.08.13 |
할로윈문서-MS의 공개SW 보고 (0) | 2007.08.09 |
오픈소스 스택(Stack) 전략 (0) | 2007.08.02 |
[펌]오라클 OCP 데이터베이스 백업과 복구전략 (0) | 2007.09.06 |
---|---|
간략한 보안취약점 점검 (0) | 2007.08.13 |
할로윈문서-MS의 공개SW 보고 (0) | 2007.08.09 |
오픈소스 스택(Stack) 전략 (0) | 2007.08.02 |
소셜북마킹 del.icio.us (0) | 2007.08.02 |
법정스님
러시아워3 (0) | 2007.09.25 |
---|---|
UCC동영상 마이클잭슨의 땡뻘 (0) | 2007.09.01 |
전문가가 되기 위해서 필요한 기술들 (0) | 2007.08.08 |
UCC 오페라 (0) | 2007.08.03 |
학점인정 정보 (0) | 2007.07.09 |
간략한 보안취약점 점검 (0) | 2007.08.13 |
---|---|
선점형 비선점형 운영체제 (0) | 2007.08.13 |
오픈소스 스택(Stack) 전략 (0) | 2007.08.02 |
소셜북마킹 del.icio.us (0) | 2007.08.02 |
기업들의 오픈소스 스택(Stack) 전략 (0) | 2007.08.01 |
UCC동영상 마이클잭슨의 땡뻘 (0) | 2007.09.01 |
---|---|
피랍자 사건에 대한 생각 (0) | 2007.08.12 |
UCC 오페라 (0) | 2007.08.03 |
학점인정 정보 (0) | 2007.07.09 |
몸을 움직여 사는 사람 (0) | 2007.07.07 |
피랍자 사건에 대한 생각 (0) | 2007.08.12 |
---|---|
전문가가 되기 위해서 필요한 기술들 (0) | 2007.08.08 |
학점인정 정보 (0) | 2007.07.09 |
몸을 움직여 사는 사람 (0) | 2007.07.07 |
신사의 조건 (0) | 2007.07.07 |
SW품질평가-ISO9126 (2) | 2007.10.18 |
---|---|
기능점수(Function Point)산정 및 활용 방안 (0) | 2007.08.22 |
RSS 관리 (0) | 2007.08.02 |
자바에 사용되는 용어들 (0) | 2007.07.26 |
자바에 사용되는 용어들 (0) | 2007.07.26 |
□ 개요
지 난해부터 SW 시장은 SOA를 비롯한 신기술의 성숙과 오픈소스 SW, SaaS, 컨버전스와 같은 대형 트렌드가 출현해 큰 폭의 시장 변화가 진행되고 있다. 이로 인해 SW의 기존 라이프사이클, 즉 개발, 공급, 유지보수 모델 등이 큰 변화를 맞이하고 있다.
최근 SW 시장의 변화를 주도하고 있는 트렌드들은 상호 연계 및 융합되면서 변화의 폭을 더욱 크게 하고 있으며, 기존과 다른 새로운SW 공급망을 형성해 SW 시장의 새로운 패러다임을 만들어가고 있다.
현시점에서 주목할 만한 변화는 IT 컨버전스화(Convergence)를 들 수 있다. 각종 기술이 융합되는 추세는 점차 제품과 제품, 제품과 기술을 넘어서 이제는 제품과 서비스가 통합되는 모습으로 확대되고 있으며, SW 부분에서 컨버전스는 시스템의 복잡성을 줄이고 SW 설치 위험과 비용을 줄이기 위한 통합이 주로 나타나고있다.
OS, 보안, 네트워크 영역 등은 상호 통합되어 가고 있으며, 인프라스트럭처 영역과 애플리케이션 영역이 결합된 플랫폼 형태의 제품이 증가하고 있는 것이 단적인 예라고할 수 있다. SW 벤더들 역시 다양한 SW 분야를 커버할 수 있는 스택(Stack) 전략을 통해 지원 분야를 넓혀가고 있으며, 새로이 확보한 영역들을 기존 영역과 통합 및 융합시켜가고 있다
※ 스택(Stack)전략 : OS에서부터 데이터베이스, 미들웨어, 비즈니스 애플리케이션에 이르기까지 SW 전 제품을 공급할 수 있는 포트폴리오를 갖춰 제품의 융합 및 매출 극대화를 꾀하는 전략
공개SW분야 기업들의 비즈니스 형태는 아래의 다양한 유형으로 나타난다.
구분 |
설명 |
관련기업 |
제품판매 |
공개SW 솔루션으로 형성된 스택을 제품화 하거나, 스택을 구성하는 개별 S/W, H/W 판매, 또는 미리 테스트를 통해 검증한 개발용 라이브러리 등을 판매하는 형태 |
RedHat, Suse, IBM, HP, 한글과컴퓨터, SK C&C, SpikeSource, devzuz |
시스템 구축 및 개발 |
검증된 개별 어플리케이션을 제공하면서 고객의 요구사항에 맞는 개발 또는 커스터마이징을 제공하는 형태 |
Openlogic, Optaros, 엔위즈, LG, SK, 삼성, 한글과컴퓨터 |
컨설팅 |
공개SW 기반의 인프라스트럭처 및 어플리케이션 스택을 구축할 수 있도록 컨설팅 |
LG, SK, 삼성, 한글과컴퓨터, |
교육 및 훈련 |
공개SW 기반 시스템 구축 및 운영에 필요한 기술 인력에 대한 교육을 제공하는 형태 |
Redhat, 리눅스원 |
사용권 판매 |
일정기간동안 기술지원이나 각종서비스(보안패치, 업데이트 등)을 보증하는 사용권을 판매하는 형태 |
covalent, Redhat, 한글과컴퓨터, 엔티씨큐브 |
<Spike Stacks 구성 - www.spikesource.com >
● Optaros (http://www.optaros.com/en)
다양한 공개SW 솔루션에 대한 신뢰성을 미리 여러 가지 관점에서 분석하여, 그 중 고객의 요구사항에 적합한 공개SW로 구성된 인프라를 제공하는 Optaros' Services 를 제공 한다.
● HP
- HP는 독점 및 오픈 소스 방식이 혼합된 사전 검증 솔루션 스택으로 구성된 오픈 소스 미들웨어 스택(OSMS)을 사용. OSMS에는 BEA 및 Oracle®의 상용 소프트웨어와 함께 JBoss, MySQL, The Apache Software Foundation, OpenLDAP Foundation, Jabber 등의 오픈 소스 소프트웨어가 포함.
● ReaHat
- Red Hat Application Stack 은 Red Hat Enterprise Linux, Tomcat 을 포함한 JBoss Application Server, JBoss Hibernate 및, MySQL 이나 PostgreSQL등의 오픈소스 데이터베이스, Apache Web Server 등으로 구성.
서버당 연간 서브스크립션으로 판매되며, Red Hat Network를 통해 온라인으로 제공. Basic Edition 지원레벨부터 24시간 연중무휴의 Premium Edition 지원레벨까지 고객의 필요에 따라 선택가능
● UniSys
- Unisys Open and Secure Integrated Solutions (OASIS) 프레임워크는 JBoss 애플리케이션 서버, Tomcat 웹 서버, 그리고 MySQL이나 PostgreSQL 데이터베이스 등의 구성 요소들이 엔터프라이즈 Linux에 맞게 튜닝되어 제공
선점형 비선점형 운영체제 (0) | 2007.08.13 |
---|---|
할로윈문서-MS의 공개SW 보고 (0) | 2007.08.09 |
소셜북마킹 del.icio.us (0) | 2007.08.02 |
기업들의 오픈소스 스택(Stack) 전략 (0) | 2007.08.01 |
TCP/IP Layer model (0) | 2007.08.01 |