심기보 숭실대학교 정보과학대학원 교수


▲ 심기보 숭실대학교 정보과학대학원 교수





FP법에 의한 요구정의 (트랜잭션 기능)

FP법에서 많은 사람이 헤매는 것이 트랜잭션 기능의 계측이다. 처리의 흐름을 올바르게 파악하여 빠짐없고 중복없는 계측이 요구된다. 규모 견적의 고비가 되는 FP법의 '처리'의 계측에 대해 알아본다. 'FP수의 계측 결과가 사람에 따라 크게 다르다'라는 이야기를 자주 듣게 된다. 그 원인의 대부분이 애플리케이션의 '처리'인 트랜잭션 기능을 올바르게 계측하지 못했기 때문이다. 전회에서 소개한 데이터 기능은 데이터베이스 그 자체에 주목하면 비교적 간단하게 계측할 수 있다. 하지만 트랜잭션 기능은 화면이나 장표 등의 사양서를 참조하면서 복잡한 처리의 흐름을 분석하여 빠짐없이, 중복 없이 처리를 찾아갈 필요가 있으므로 용이하지 않다. 이번 호에서는 IFPUG(International Function Point Group)법에 근거한 기능점수(FP)법의 계측 수순 중에서 가장 실패하기 쉬운 트랜잭션 기능의 계측에 대하여 알아본다.


처리의 종류는 3개로 분류

트랜잭션 기능이란 계측 대상의 애플리케이션에 대한 데이터의 출입을 수반하는 처리이다. 구체적으로는 '화면으로부터의 데이터 입력'이나 '장표 인쇄', '데이터 검색', '배치 처리에서의 파일의 경신(생성, 추가, 변경, 삭제)'등이 해당된다.

이러한 처리를 분류하면 크게'외부 입력(EI : External Input)', '외부 출력(EO : External output)', '외부 조회(EQ : External inQuiry)'의 3개로 나누어진다(그림1) . FP법에서는 이들 3개의 트랜잭션 기능을 추출•평가한다.



▲ <그림 1> 트랜젝션 기능의 애플리케이션 타입





각각 어떠한 차이가 있는 것일까. 우선 EI는 화면이나 다른 애플리케이션 등으로부터의 데이터 입력에 의해 데이터 기능을 경신하는 처리를 가리킨다. 배치에서도 데이터 기능을 경신하는 처리는 EI가 된다.

EO는 화면이나 장표, 다른 애플리케이션 등에 데이터를 출력하는 처리이다. 다만, EO 에는 또 하나의 조건이 붙는다. 그것은 출력 데이터에 '계산'이나 '파생 데이터'를 포함한다는 조건이다.

계산이란 사칙 연산이나 함수를 이용한 연산, 그래프 작성 등이 해당된다. 소계나 합계 값, 평균값을 요구하는 것도 계산이다. 파생 데이터란 데이터 기능이나 시스템이 가지는 데이터 등의 기존 데이터 항목에서 생성되는, 의미가 다른 별도의 데이터 항목이다.

파생 데이터는 통상 '계산'에 의해 생성된다. 조건과 일치한 데이터 건수를 계산하여 '해당 건수'를 생성하는 경우, 혹은 문자열을 연결하여 다른 데이터 항목을 작성하는 경우 등이 해당된다.

마지막으로 EQ는 내부 논리 파일(ILF : Internal logical File)을 경신하지 않고 화면이나 장표, 다른 애플리케이션 등에 데이터 기능의 정보(ILF나 외부 인터페이스 파일(EIF))를 출력하는 처리이다.

EO와의 차이는 출력 데이터에 '계산'이나 '파생 데이터'를 포함해서는 안 된다는 것이다. 데이터베이스에 격납되고 있는 데이터 항목이나 시스템이 가지는 데이터를 가공하지 않고 그대로 표시하는 처리가 된다.

단, 코드에서 명칭에의 변환, 플러그에서 의미에의 변환, 숫자의 사사오입, 단위의 변환(g → kg), 수치 데이터에의 콤마의 삽입(1234567 → I,234,567) 등은 계산이나 파생 데이터라고 보지 않는다. 가공 데이터를 포함하지 않고 이러한 데이터를 표시하는 처리는 EQ로서 카운트 한다.



<이하 상세 내용은 컴퓨터월드 11월 호 참조>

저작권자 © 아이티데일리 무단전재 및 재배포 금지