RadarURL
Skip to content
조회 수 675 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

기능점수의 측정은 요구사항수집, 기능도출기능별점수측정의 세가지 단계로 이루어진다. (그래서 기능점수다) 일반적으로 기능점수를 이용하여 개발비를 산출하는 과정은 아래와 같다.

image_thumb1.png

요구사항수집

기능점수는 사용자의 요구에 대한 복잡도의 측정이므로 요구사항이 없으면 도출할 수 없다. 즉, 요구사항을 수집하거나, 제안요청서 등에서 추출하거나, 기획/영업단계라면 직접 고객이 필요한 사항을 도출하여야 한다.

사실 기능점수는 기획/영업단계에서 많이 산출된다. 실제 SI 사업의 영업단계에서 고객에게 프로젝트의 예산수립을 위한 자료를 제공하여야 하기 때문이다. 이 시점에서 기능점수의 산출시 산출담당자는 누가 적당한가에 대한 문제가 발생한다. 영업부는 기능점수를 모르고 개발부서는 요구사항을 모른다.

사실 이 시점에서 적임자는 없을 듯하다. 소프트웨어 개발업체라면 영업부서/개발부서 모두 기능점수에 대한 상당한 이해도가 있어야 하며, 이에 따라 두 부서가 협력하여야 한다.

즉, 영업부서는 기능점수 산출 요청시, 산출자에게 충분한 요구사항을 정리하여 전달하여야 한다.

기능도출

기능점수에서의 기능은 개발자 측면에서 구현기능과 다른 의미이다. 이는 철저히 사용자 관점이며 실제 구현 시의 프로그램 구조와는 별개의 의미이다. 따라서, 반드시 모든 기능은 사용자가 인지할 수 있는 기능의 형식으로 도출되거나, 이에 유사하게 표현하여야 한다.

?

기능은 요구사항이 기술된 문장을 분석하여 해당 요구를 만족하기 위해서는 어떤 기능을 제공하여야 하는지를 도출하여야 한다. 즉, 하나의 요구사항 문장은 여러 개의 기능을 포함할 수 있다. 따라서, 요구를 분해하여 최소의 단위 기능으로 도출하여야 한다. 이는 개발방법론의 분석단계에서 요구사항을 정의하고 이를 분해하여 프로세스를 도출하는 과정과 거의 유사하다.

?

일반적으로 기능을 도출하는 방법은 아래와 같다.

?

  • 기능은 요구사항을 분해하여 논리적인 최소 업무단위로 도출

-?????? 기능를 도출하기 위하여 사용자 요구를 분석하고, 이를 바탕으로 필요한 기능을 분해하여 도출한다.

-?????? 추후 몇 개의 윈도우 등으로 구현될 지 고려할 필요는 없다. 단지, 어떤 트랜잭션 기능을 갖게 될 것인지만 도출하면 된다.

?

  • 하나의 요구사항이 다루는 정보가 여러가지 일 경우, 모든 기능을 별개로 취급한다.

-?????? 요구사항이 다수의 정보를 나열하고 나열된 정보 모두를 처리하는 기능을 요구하는 경우에 해당한다

(예) Email, Fax, Web, 전화 등으로 수신되는 주문정보를 조회할 수 있어야 한다.

-?????? 이런 경우, 추후 하나의 공용모듈로 처리 가능하더라도 각각을 개별적인 기능으로 도출하여야 한다. : Email주문조회, Fax주문조회, Web주문조회, 전화주문조회

-?????? 기능점수에서 기능은 요구사항의 복잡도를 측정하므로 각각의 정보를 요구했다면 각각을 모두 다른 기능으로 인식하여야 한다.

?

  • 사용자가 인지 가능한 기능만을 도출한다.

-?????? 기능점수에서 기능은 사용자가 인지 가능한 기능을 도출한다.

-?????? 즉, 사용자가 어떤 행위를 하거나, 사용자에게 어떤 정보를 주는 기능이 주로 도출된다.

-?????? 따라서, 기능명이 사용자가 인지할 수 없는 느낌의 이름은 피하도록 한다.

-?????? 즉, 기능명이 XXX 처리, XXX 표시와 같이 표현되면, 이는 사용자가 인지할 수 없는 기능으로 보이므로 피하도록 한다.

-?????? 대신 XXX관리, XXX입력, XXX조회와 같은 사용자관점에서의 능동적인 이름을 주로 사용한다.

?

  • 기능의 유형에 해당하는 트랜잭션 기능을 요구로부터 도출한다.

-?????? 기능점수에서 트랜잭션기능은 입력/출력/조회 유형밖에 없다.

-?????? 즉, 기능을 이 세가지 유형 관점에서 도출한다.

-?????? 주로 C(생성), U(수정), D(삭제)와 통계(출력), 조회 또는 검색(조회), 선택(조회) 으로 끝나는 이름을 기능으로 도출하는 것이 좋다.

?

  • 서버 기능, 인터페이스 기능 등은 기능명을 변형하여 도출한다.

-?????? 실제 기능이 서버기능이라 사용자가 인지할 수 없는 기능인 경우, 기능점수 산출을 위해서는 이름은 변형하여 사용자가 인지가능한 것처럼 표현해야 할 경우가 있다.

-?????? 즉, XXX 처리, XXX 송수신과 같은 기능은 XXX 저장, XXX 수신등과 같은 이름을 사용한다.

-?????? 송신은 “XXX입력” 으로 표현하고, “EI ? ILF(송신데이터)”로 도출, 수신은 “XXX조회” 등으로 표현하고, “EQ ? ILF(수신데이터)”로 도출한다.

-??? 만약 송수신 대상 시스템이 외부 시스템이라면 다르게 도출된다. 송신은 외부로 출력되는 기능이므로 “XXX조회” 또는 “XXX출력”으로 표현하고 “EQ or EO ? ILF”로 도출, 수신은 외부에서 입력되는 기능이므로 “XXX입력”으로 표현하고 “EI ? ILF”로 도출한다.

최근 공공사업에서는 사업대가근거로 제시한 기능점수를 전문기관에 의뢰하여 검증하는 경우가 많다. 이 경우, 기능점수의 원리에서 벗어나는 기능이 도출된 경우 오류로서 지적될 수 있다. 따라서, 사용자 입장에서 의미있는 이름으로 기능을 표현하는 것이 중요하다.

  • 데이터 기능의 도출

-?????? 데이터 기능은 대부분 트랜잭션기능에서 도출된다.

-?????? 트랜잭션기능의 이름은 대부분 목적데이터 + 동사형으로 표현되는데, 목적데이터부문이 데이터 기능으로 도출된다.

-?????? 또한 트랜잭션기능과 마찬가지로 이 데이터 기능은 물리적인 데이터가 아니다. 즉, 요구되어진 모든 정보가 데이터 기능으로 도출되어야 한다.

-?????? 즉, 요구사항 문장에서 데이터를 뜻하는 명사가 모두 트랜잭션기능으로 도출될 가능성이 높다.

-?????? 다시 강조하자면, 데이터기능의 논리파일은 추후 주로 데이터베이스의 테이블이 되지만, 논리파일을 테이블로만 봐서는 안되며, 각 기능에서 유지관리되거나 조회되는 모든 논리적인 정보를 논리파일로 도출한다.

-?????? 즉, 시스템의 상태정보, 송수신데이터 등 사용자가 인지가능한 모든 정보를 도출한다.

?

즉 위 설명을 요약하면, 기능은 아래와 같이 도출된다.

image_thumb2.png

기능명

트랜잭션기능

데이터기능

사용자 관리

사용자관리

사용자

연락처 조회

연락처조회

연락처

?

이렇게 도출된 각 기능을 엑셀 또는 다른 도구를 이용하여 정리한다. 이때, 데이터 기능은 모두 취합하여 중복을 제거한 후 정리한다.

트랜잭션 기능

image_thumb3.png

데이터 기능

image_thumb4.png

?

앞에서 설명한 바와 같이 기능명은 사용자에게 인지 가능한 기능을 사용하여야 한다. 트랜잭션 기능의 유형을 고려했을 때, 기능점수의 검증에서 문제가 되지 않기위해서는 될 수 있으면 아래의 동사형을 사용하는 것이 권장한다.

?

기능명

설명

관리

생성/수정/삭제와?조회기능을?모두?가지는?관리기능

입력

정보의 생성기능

수정

정보의 수정기능

삭제

정보의 삭제 기능

검색

정보의 검색과 상세정보 조회 기능

조회

단일 정보의 조회 기능

통계

통계의 산출과 표시 기능

산출

정보의 산출(수학적?계산)과?표시 기능

?

계산

현황

목록성 정보의 조회 기능

출력

정보의 인쇄/출력기능

인쇄

로그인

사용자의 로그인 기능

선택

리스트, 콤보 등의 목록에서 항목을 선택하는 기능

저장

내부 시스템에 정보를 저장하는 기능

송신

내부시스템에?데이터를?송신하거나?저장하는?기능

사용자입장에서의 다른 이름을 사용하기를 권장함

(내부시스템끼리의 송수신은 기능점수에서 기능유형으로 도출되지 않음)

수신

내부시스템으로부터?데이터를?수신하거나?조회하는?기능

사용자입장에서의 다른 이름을 사용하기를 권장함

(내부시스템끼리의 송수신은 기능점수에서 기능유형으로 도출되지 않음)

현황조회

단일 또는 목록성 정보의 조회 기능

내역조회

목록성 정보의 조회 기능

연계송신

외부시스템에?데이터를?송신하는?기능

외부출력” 또는 “외부조회”를 사용하기를 권장함

연계저장

외부송신

연계수신

외부시스템으로부터?데이터를?수신하거나?조회하는?기능

외부입력”을 사용하기를 권장함

연계조회

외부수신

외부출력

외부시스템에?데이터를?송신하거나?저장하는?기능

외부입력

외부시스템으로부터?데이터를?수신하거나?조회하는?기능

연계

외부시스템과의?연계기능 -외부입력, 외부출력과동일?

외부입력또는 외부출력을 사용하거나, 기능유형에 외부출력과 외부입력 모두를 계산

  • 트랜잭션 기능의 유형 결정

-?????? 트랜잭션기능과 데이터 기능의 목록을 도출하였다면, 각 기능별 유형을 결정한다.

-?????? 트랜잭션과 데이터 기능은 각각의 고유한 유형을 가지므로 각각 작업을 하면 된다.

-?????? 우선 트랜잭션 기능은 각 기능의 CRUD(생성/조회/수정/삭제) 만을 고려하므로, 기능이 가지는 특성에 따라 CRUD의 수를 각각 산출한다.

-?????? 각 CRUD 특성은 다수가 산출되어도 무방하다. 기능이 가지는 입출력 기능 모두를 산출한다.

-?????? 아래와 같이 표형식으로 정리하면 편하게 작업할 수 있다.

?

기능명

외부입력

외부출력

외부조회

입력

수정

삭제

시스템관리

사용자관리

1

1

1

2

?

부서관리

1

1

1

?

2

전자결재

결재문서조회

?

?

?

?

2

?

-?????? 위 예에서 사용자관리는 CUD를 모두 포함하므로 모두 1을 입력하였고, 검색 및 상세정보조회를 가지므로 외부조회가 2가 되었다.

?

  • 데이터 기능의 유형 결정

-?????? 데이터 기능도 트랜잭션과 동일한 방법으로 유형을 결정한다.

-?????? 데이터 기능은 ILF와 EIF만을 결정하면 되므로, 내부데이터인지 외부데이터인지만을 판단하여 아래와 같이 표로 작업한다.

?

데이터

내부논리파일

외부연계파일

사용자

1

부서

1

?

?

  • 기능점수의 산출

-?????? 위의 모든 작업을 완료하였다면, 기능점수는 쉽게 도출된다.

-?????? 간이법을 기준으로 하는 경우, 각 기능유형에 따라 미리 정해진 평균복잡도 점수를 적용해주면 된다.

-?????? 즉, 각 유형(EI/EO/EQ/ILF/EIF) 별 합산을 구하고, 각 유형별 합에 평균 복잡도 점수를 곱한다.

-?????? 최종 기능점수는 이 점수들의 합이다.

-?????? 이는 엑셀로 스크립트를 작성하면 자동으로 산출할 수 있다.

?

-?????? 아래와 예와 같이 산출한 유형의 합을 구한다.

기능명

외부입력

외부출력

외부조회

입력

수정

삭제

시스템관리

사용자관리

1

1

1

2

?

부서관리

1

1

1

?

2

전자결재

결재문서조회

?

?

?

?

2

합계

6

0

6

?

데이터

내부논리파일

외부연계파일

사용자

1

부서

1

?

합계

2

0

?

-?????? 각 기능유형별 평균복잡도 점수는 아래와 같다.

기능유형

EI

EO

EQ

ILF

EIF

평균복잡도

4.0

5.2

3.9

7.5

5.4

?

-?????? 즉, 위의 예에서 최종적으로 기능유형별 합계와 평균 복잡도를 곱하면 총 기능점수는 아래와 같이 계산된다.

기능유형

평균복잡도

합계

외부입력(EI)

6

X

4.0

24.0

외부출력(EO)

0

X

5.2

0.0

외부조회(EQ)

6

X

3.9

23.4

내부논리파일(ILF)

2

X

7.5

15.0

외부연계파일(EIF)

0

X

5.4

0.0

총합

62.4

?

-?????? 즉, 총 기능점수는 이 경우, 62.4점이 된다.

?

?

요약

위에서 설명한 기능점수를 산출하는 순서를 요약하자면,

?

  • 요구사항으로부터 트랜잭션기능과 데이터기능의 목록을 도출하여 정리한다.

  • 트랜잭션기능과 데이터기능의 유형을 결정한다.

  • 기능유형별 합산에 평균복잡도를 곱하여 총합을 구한다.

 

출처 : http://rainiac.com/dev/index.php/%ea%b8%b0%eb%8a%a5%ec%a0%90%ec%88%98-%ec%82%b0%ec%b6%9c-%ec%8b%a4%ec%a0%84-3-%ea%b8%b0%eb%8a%a5%ec%a0%90%ec%88%98-%ec%b8%a1%ec%a0%95%eb%b0%a9%eb%b2%95/

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
51 기능점수 활용 프로젝트 추정과 계획 – 3.기능점수에 의한 일정계획 및 진척관리 예시 JaeSoo 2014.03.27 782
50 기능점수 활용 프로젝트 추정과 계획 – 2.기능점수에 의한 프로젝트 계획과 진척관리 JaeSoo 2014.03.27 767
49 기능점수 활용 프로젝트 추정과 계획 – 1.기능점수에 의한 프로젝트 추정 JaeSoo 2014.03.27 746
48 기능점수 산출 프로그램 – FPStudio JaeSoo 2014.03.26 1165
47 재개발기능점수 산출 엑셀양식 JaeSoo 2014.03.26 875
46 기능점수 산출 실전 – 10.재개발 기능점수 산출 Tip JaeSoo 2014.03.26 682
45 기능점수 산출 실전 – 9. 재개발기능점수산출 JaeSoo 2014.03.26 858
44 기능점수 산출 엑셀 양식 JaeSoo 2014.03.26 693
43 기능점수 산출 실전 – 8.-기능점수산출 정리 JaeSoo 2014.03.26 704
42 기능점수 산출 실전 – 7. 기능점수 산출 Tip JaeSoo 2014.03.26 685
41 기능점수 산출 실전 – 6. 상황별 기능점수 산출방법 JaeSoo 2014.03.26 675
40 기능점수 산출 실전 – 5.기능점수 및 소프트웨어 개발비 산정 예제 JaeSoo 2014.03.26 895
39 기능점수 산출 실전 – 4. 개발비산정 JaeSoo 2014.03.26 797
» 기능점수 산출 실전 – 3. 기능점수 측정방법 JaeSoo 2014.03.26 675
37 기능점수 산출 실전 – 2. 기능점수란? JaeSoo 2014.03.26 781
36 조달청 투찰(전자입찰)방법 JaeSoo 2013.12.03 1613
35 MIS ERP? MIS? SIS? BPR? JaeSoo 2013.11.12 1587
34 MIS CRM, ERP, MIS의 차이점 JaeSoo 2013.11.12 1781
33 기능점수 산출 실전 – 1. 기능점수 소개 JaeSoo 2013.10.21 1429
32 BSP 전사적 자원 관리(Enterprise Resource Planning, ERP)의 개요, 회계 및 인사프로세스, 물류 프로세스, 구축전략, 확장(Extended), 패키지(Package) 선정 JAESOO 2014.03.11 870
Board Pagination Prev 1 2 3 4 Next
/ 4

PageViews   Today : 929 Yesterday : 1026 Total : 21710836  /  Counter Status   Today : 658 Yesterday : 813 Total : 1140554

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소