의사결정표 (Decision Table) — 복잡한 조건 로직의 표준 설계
Entity (인물·조직)lectureverified2026-05-09

의사결정표 (Decision Table) — 복잡한 조건 로직의 표준 설계

#vch#lecture-intro#C-se-tool#se-g1

의사결정표 (Decision Table) — 복잡한 조건 로직의 표준 설계

1. 요약

의사결정표는 여러 조건의 조합각 조합에 대응하는 행동 을 표 형태로 표현하는 설계 도구다. 1950년대에 등장해 COBOL 시대 비즈니스 로직 표현의 표준이 됐고, 2014년 OMG의 DMN 1.0 (Decision Model and Notation) 으로 현대화됐다. if-else 중첩이 5개 이상이면 의사결정표를 써라 는 격언이 살아있다.

2. 배경 (이전 도구의 한계)

플로차트는 순차 흐름 표현에는 강하지만 N개 조건의 모든 조합 을 표현할 때 화살표가 폭발한다. 4개 조건이면 분기 16개, 5개면 32개 — 종이에 안 들어간다. 1950년대 보험·세무·은행의 비즈니스 로직은 수십 개 조건의 조합 이 일상이었고, 플로차트로는 감당 불가능했다.

3. 핵심 개념·표기법

전통적 의사결정표는 4사분면으로 구성된다:

Rule 1Rule 2Rule 3...
Condition 1YNY...
Condition 2YYN...
Action 1X--...
Action 2-XX...
  • 상단: 조건 (Condition Stub + Condition Entry)
  • 하단: 행동 (Action Stub + Action Entry)
  • 각 열 = 1개의 규칙 (Rule)
  • Limited Entry (Y/N) vs Extended Entry (값 직접 기입)

4. 언어·OS 매핑 (★ 강의 핵심)

시대언어·OS의사결정표 활용
1950s~60sAssembly, FORTRAN보조 설계
1960s~80sCOBOL + IBM OS/360★ 핵심 설계 도구 (Filetab 등 전용 언어)
1990sC·C++·Java비즈니스 룰 엔진 (Drools 1999)
2010s~모든 언어 + CloudDMN 1.0 (OMG 2014) 표준

특히 COBOL · CICS · DB2 의 비즈니스 시스템에서는 의사결정표가 코드보다 먼저 작성되는 1차 설계 산출물이었다. 1961~1962년에는 의사결정표를 직접 실행 가능한 코드로 변환 하는 전처리기 (Filetab 등) 가 만들어졌다.

5. 현대까지의 영향

  • Drools (1999) — Java 비즈니스 룰 엔진, 의사결정표 입력 지원
  • DMN 1.0 (2014, OMG) — Decision Model and Notation 국제 표준
  • 테스트 케이스 설계Decision Table Testing (ISTQB 표준 기법)
  • Camunda · KIE — 클라우드 시대 의사결정 엔진
  • TypeScript 패턴 매칭 (ts-pattern) — 함수형 진화

CODASYL System Committee가 1973년 Decision Table Task Group을 만들고 1982년 표준 보고서를 발행한 역사적 계보 가 DMN 1.0 으로 이어진다.

6. 주요 인물·사건

연도사건
1950s 후반의사결정표 등장 (시스템 분석 도구)
1961~62Filetab 등 의사결정표 → COBOL 변환 전처리기 등장
1965~80변환 알고리즘 연구 활발
1973CODASYL Decision Table Task Group 출범
1982CODASYL 표준 보고서 발행
1999Drools 등 룰 엔진 등장
2014OMG DMN 1.0 표준 발표

7. 강의 활용

"if-else 중첩으로 망가진 코드" 사례를 보여주고 "이 코드는 1960년대 COBOL 프로그래머들이 의사결정표로 먼저 그렸을 것" 으로 기록한다. 복잡한 조건 로직 = 표로 설계 는 70년 동안 변하지 않은 패턴 — Vibe Coding 시대에도 LLM에게 의사결정표 형태로 명세를 주면 코드 품질이 올라간다.

출처

그룹 시리즈

synthesis/group-se_g1 (시대 그룹 종합 카드)