8

세 질문으로 클래스 계층 세우기

온톨로지 스펙 작성

학습 목표
  • CQ 핵심 개념에서 클래스를 역산한다
  • 판별 3질문으로 클래스·인스턴스·속성·관계를 가른다
  • 최상위 분할을 정한다

클래스 계층 도출

CQ 15선의 핵심 개념 열에서 출발합니다. 백지에서 시작하지 않는 것이 CQ 주도 설계의 이점입니다.

1단계: 판별 3질문 (코스 2)

수확한 명사마다 물어봅니다.

  • 클래스인가, 인스턴스인가? — 그 아래 개체가 여럿이고 공통 속성을 갖는가
  • 클래스인가, 속성인가? — 그것 자체가 관계의 출발점·도착점이 되어야 하는가
  • 클래스인가, 관계인가? — CQ 가 그것의 속성을 묻는가 (묻는다면 노드)

요약 규칙: CQ 가 "그것에 대해" 물으면 클래스, "그것으로" 물으면 속성, "그것을 통해" 연결만 하면 관계.

2단계: 최상위 분할

코스 2의 8기둥을 기본으로 하되, 범위에 없는 기둥은 빼고 필요하면 추가합니다.

Party / MovableObject / Place / Equipment / Event / Document / Rule / Metric

⚠️ 기둥을 추가하거나 뺄 때는 근거 CQ 를 대야 합니다. "있으면 좋을 것 같아서"는 근거가 아닙니다.

3단계: 계층 작성

들여쓰기로 상하위를 표현하고, 클래스마다 근거 CQ 번호를 괄호로 답니다.

Place (장소·시설)
├── Port 항만 (CQ-03) — UN/LOCODE 보유
├── Terminal 터미널 (CQ-07)
└── Berth 선석 (CQ-01, CQ-05)

점검

  1. 어느 CQ 도 근거로 대지 못하는 클래스가 있는가 → 삭제 후보
  2. 어느 클래스로도 답할 수 없는 CQ 가 있는가 → 설계 누락
  3. 추적성 매트릭스의 "요구 클래스" 열을 채우고 상태를 갱신합니다

산출물: 클래스 계층 v1 (근거 CQ 표기, 15~30클래스 권장)

에디터 로딩 중...
용어