핵심 인사이트 (3줄 요약)

  1. 데이터 처리의 동적 측면: 기능점수(FP) 산정 시 사용자 요청에 따라 데이터를 입력, 출력, 조회하는 처리 단위인 트랜잭션을 측정함.
  2. EI/EO/EQ 구분: 데이터 저장(EI), 계산/가공 출력(EO), 단순 조회(EQ)라는 세 가지 명확한 행위 기준으로 기능을 분류함.
  3. 복잡도 결정: 참조 파일(FTR) 수와 데이터 항목(DET) 수를 기준으로 가중치를 부여하여 소프트웨어의 동적 크기를 산출함.

Ⅰ. 개요 (Context & Background)

어플리케이션의 정적인 크기가 데이터 기능(ILF, EIF)이라면, **트랜잭션 기능(Transaction Functions)**은 사용자가 시스템과 상호작용하며 데이터를 처리하는 동적인 크기를 의미한다. 이는 사용자가 버튼을 누르거나 API를 호출했을 때 발생하는 의미 있는 비즈니스 프로세스의 단위로, 전체 FP 산정의 절반 이상을 차지하는 핵심 요소다.


Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)

[ User / External System ]
          | (Trigger Action)
    +-----+-----------------+
    |   [ EI ] (Input)      | ----> (Maintain ILF)
    |   - Register, Update  |
    +-----------------------+
          |
    +-----+-----------------+
    |   [ EQ ] (Query)      | <---- (Reference ILF/EIF)
    |   - Simple View       |
    +-----------------------+
          |
    +-----+-----------------+
    |   [ EO ] (Output)     | <---- (Reference + Calculation)
    |   - Report, Graph     |
    +-----------------------+

Bilingual ASCII Diagram:
+-------------------+       +---------------------------+       +-------------------+
|      User         | ----> |   Application Boundary    | ----> |      Output       |
|   (사용자 입력)   |       |   (애플리케이션 경계)     |       |   (결과 보고서)   |
+---------+---------+       +-------------+-------------+       +---------+---------+
          |                               |                               ^
          |           [ EI ]              |           [ EO ]              |
          +-----------------------------> | (Maintain / Update ILF) ------+
          |                               |                               |
          |           [ EQ ]              |                               |
          +-----------------------------> | (Simple Retrieval ILF/EIF) ---+
  • EI (External Input, 외부 입력): 애플리케이션 경계 외부에서 들어오는 데이터나 제어 정보로, 하나 이상의 ILF를 유지(등록/수정/삭제)하는 기능.
  • EO (External Output, 외부 출력): 보고서 작성, 계산 등을 통해 가공된 정보를 외부로 보내는 기능. 적어도 하나 이상의 수학적 계산이나 파생 데이터 생성이 포함되어야 함.
  • EQ (External Inquiry, 외부 조회): 데이터를 가공 없이 단순 검색하여 결과를 화면에 보여주는 기능.
  • 측정 기준:
    • DET (Data Element Type): 입출력 화면에 나타나는 고유한 데이터 항목 수.
    • FTR (File Type Referenced): 해당 기능을 수행하기 위해 참조하거나 수정하는 ILF 또는 EIF의 개수.

Ⅲ. 융합 비교 및 다각도 분석 (Comparison & Synergy)

구분외부 입력 (EI)외부 출력 (EO)외부 조회 (EQ)
주요 목적데이터베이스 상태 변경계산된 결과물 제공저장된 데이터 단순 확인
핵심 행위등록, 수정, 삭제보고서, 통계, 알람상세 조회, 목록 검색
FP 가중치중간 (저:3, 중:4, 고:6)높음 (저:4, 중:5, 고:7)낮음 (저:3, 중:4, 고:6)
차이점DB 쓰기(Write) 위주읽기 + 파생(Derivation)단순 읽기(Read)

Ⅳ. 실무 적용 및 기술사적 판단 (Strategy & Decision)

기술사적 판단: 트랜잭션 식별의 성패는 **기본 프로세스(Elementary Process)**의 독립성을 얼마나 잘 정의하느냐에 달려 있다.

  1. 버튼 vs 기능: 화면에 버튼이 5개라고 해서 기능이 5개는 아님. '취소'나 '이전' 버튼은 비즈니스 로직이 아니므로 제외하고, '저장' 버튼이 실제 ILF를 변경하는 최소 단위인지를 검토해야 함.
  2. EO와 EQ의 구분: 단순 조회가 아니라 '평균값 계산'이나 '전년 대비 증감' 등 데이터 가공 로직이 들어가면 반드시 EO로 산정하여 가중치를 확보해야 함.
  3. 일괄 처리(Batch): 화면 없이 백그라운드에서 주기적으로 돌아가는 배치 작업도 하나의 EI나 EO로 식별하여 규모에 포함시켜야 함.

Ⅴ. 기대효과 및 결론 (Future & Standard)

트랜잭션 기능 산정은 사용자 요구사항 정의의 완전성을 검증하는 도구다. 요구사항 명세서(RFP) 상의 기능 목록이 EI/EO/EQ로 매핑되지 않는다면, 이는 요구사항이 불명확함을 의미한다. 앞으로 마이크로서비스 간의 통신(REST API)이 복잡해질수록, API 하나하나를 독립적인 트랜잭션 기능으로 식별하고 그 복잡도(FTR)를 관리하는 것이 소프트웨어 공학의 핵심 관리 기준이 될 것이다.


📌 관련 개념 맵 (Knowledge Graph)

  • 상위 개념: 기능점수(Function Point), SW 규모 산정
  • 하위 개념: DET, FTR(참조 파일), 기본 프로세스
  • 연관 개념: 데이터 기능(ILF, EIF), 기능점수 산정 가이드(ISO/IEC 14143)

👶 어린이를 위한 3줄 비유 설명

  1. EI (외부 입력): 자판기에 돈을 넣고 '콜라' 버튼을 누르는 것처럼, 내가 기계에 정보를 넣어주는 거예요.
  2. EQ (외부 조회): 은행 앱에서 내가 가진 돈이 얼마인지 화면으로만 '살짝 보는' 거예요.
  3. EO (외부 출력): 한 달 동안 내가 얼마를 썼는지 영수증을 모아 '성적표'를 만들어주는 것처럼, 기계가 계산해서 알려주는 거예요.