현재 선택한 데이터 아키텍처 과정

DAsP 이론 학습

이론 목록으로 돌아가기

논리 모델 품질 검토

논리 모델 품질 검토는 ERD 모양이나 명명 준수만 확인하는 일이 아니라 요구사항과 업무 규칙이 엔터티·속성·식별자·관계·도메인·이력 구조에 완전하고 일관되게 반영되었는지 검증하는 활동입니다.

예상 읽기 7

핵심 요약

좋은 논리 모델은 업무 범위의 사실과 규칙을 빠짐없이 표현하고, 같은 의미를 같은 구조로 나타내며, 식별자·함수 종속·관계 기수성·선택성이 실제 시나리오와 맞는다. 품질 검토는 요구 추적, 구조 규칙 검사, 데이터 예시, 정상·예외 시나리오, CRUD 교차 검증을 함께 사용해야 한다.

학습 목표

  • 논리 모델의 완전성·정확성·일관성·추적성을 구분한다.
  • 엔터티·속성·식별자·관계·정규화·표준을 체크리스트로 검토한다.
  • 정상·예외 데이터와 업무 시나리오로 관계 기수성·선택성을 검증한다.
  • 개념 모델 품질, 논리 모델 품질, 물리 모델 품질의 경계를 설명한다.

1. 품질 기준

1.1 완전성

정의된 업무 범위 안의 데이터 대상·속성·관계·업무 규칙·이력 요구가 누락되지 않았는지 본다.

  • 요구사항의 명사만 엔터티로 만들고 상태 전이·유일성·기간 중복 같은 규칙을 빠뜨리지 않았는가?
  • 온라인 화면뿐 아니라 배치·외부 인터페이스·수기 보정에서 생성되는 데이터도 포함했는가?
  • 정상 흐름 외 취소·반품·재처리·소급 변경을 표현할 수 있는가?

1.2 정확성

모델 요소가 실제 업무 의미를 올바르게 표현하는지 본다.

  • 주식별자가 인스턴스를 유일하고 안정적으로 식별하는가?
  • 속성이 올바른 엔터티의 식별자에 종속되는가?
  • 관계의 1:N, M:N, 선택/필수가 업무 규칙과 일치하는가?
  • 도메인과 코드값이 실제 허용 범위를 표현하는가?

1.3 일관성

동일한 의미와 패턴이 모델 전체에서 같은 방식으로 표현되는지 확인한다.

  • 동일한 고객번호가 엔터티마다 다른 정의·길이·도메인을 갖지 않는가?
  • 기간 경계, 현재행 표현, 코드 엔터티 처리 방식이 이유 없이 제각각이지 않은가?
  • 관계명·역할명·식별자 표기 수준이 일관되는가?

1.4 추적성과 검증 가능성

각 요구와 업무 규칙이 어느 모델 요소에 반영되었는지 추적할 수 있어야 한다. 반대로 각 엔터티·속성·관계가 어떤 요구에서 나온 것인지 설명할 수 있어야 한다. 모델 요소에 근거가 없으면 불필요한 구조일 수 있고, 요구에 대응 요소가 없으면 누락이다.

2. 영역별 체크리스트

검토 영역핵심 질문대표 결함
범위·주제영역포함·제외 범위와 외부 경계가 명확한가?외부 시스템 생성 데이터를 내부 C로 오해
엔터티독립 식별·지속 관리할 업무 대상인가?화면 섹션을 엔터티로 오인, 핵심 엔터티 누락
식별자유일성·최소성·안정성·필수성이 있는가?변경 가능한 명칭을 주식별자로 사용
속성한 의미·한 값이며 올바른 엔터티에 종속되는가?반복 속성, 파생 규칙 누락, 타 엔터티 사실 중복
도메인타입·길이·단위·허용값·NULL이 일관적인가?같은 코드의 상이한 의미, NULL 사유 불명확
관계기수성·선택성·역할·식별관계가 맞는가?필수 부모 없는 자식 허용, M:N 미해소
정규화함수 종속과 이상 현상을 검토했는가?부분·이행 종속 방치
서브타입분류 기준·완전성·배타성이 명확한가?코드값을 무조건 서브타입화
이력과거 재현 질문·경계·중복 규칙이 있는가?수정일시만 두고 과거값 미보존
표준표준 단어·도메인·코드·명명 규칙을 적용했는가?동일 의미의 용어 혼용
요구 추적요구↔모델 양방향 연결이 가능한가?근거 없는 속성, 반영되지 않은 업무 규칙

3. 검토 절차

3.1 범위와 요구 기준선 확정

검토 대상 버전, 업무 범위, 요구사항 목록, 표준 용어·도메인, 주요 업무 규칙을 고정한다. 기준선이 없으면 검토자가 서로 다른 범위를 가정해 결함 판정이 흔들린다.

3.2 정적 구조 검사

모델 자체에서 찾을 수 있는 규칙 위반을 점검한다.

  • 식별자 없는 핵심 엔터티
  • 동일 이름·상이한 정의, 상이한 이름·동일 정의
  • 미해소 M:N 관계
  • 고립 엔터티, 순환 종속, 선택성 모순
  • 반복 속성, 부분·이행 종속
  • 정의·도메인·NULL 규칙이 없는 속성

3.3 시나리오 워크스루

대표 업무 한 건을 실제 데이터 예시로 생성·변경·종료한다.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
신규 고객 등록
→ 배송지 2개 등록
→ 주문 생성
→ 일부 품목 취소
→ 주소 변경
→ 과거 주문 당시 주소 조회

각 단계에서 어떤 엔터티·관계·속성이 생성·변경되는지 확인하면 정적 ERD만으로 보이지 않던 이력·선택성·삭제 규칙 누락을 찾을 수 있다.

3.4 요구 추적과 CRUD 교차 확인

요구사항-모델 추적표와 프로세스-엔터티 CRUD 매트릭스를 사용한다. 이 단원에서는 “교차 검증이 필요하다”는 수준을 다루고, 실제 CRUD 매트릭스 작성·판독은 82600045에서 수행한다.

3.5 결함 분류와 재검토

결함을 정확성·완전성·일관성·표준·추적성으로 분류하고 심각도·근거·수정대상을 기록한다. 수정 후에는 해당 부분만 보지 말고 식별자·관계·이력·표준에 미치는 연쇄 영향을 회귀 검토한다.

4. 사례: 주문 취소 규칙 누락

요구사항:

  1. 주문은 한 개 이상의 주문라인을 가진다.
  2. 일부 라인만 취소할 수 있다.
  3. 전체 라인이 취소되면 주문상태는 자동으로 전체취소가 된다.
  4. 취소 사유와 취소일시를 보존한다.

초기 모델:

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
주문(주문번호, 주문상태코드, 주문일시)
주문라인(주문번호, 라인순번, 상품번호, 수량)

검토 결과:

  • 주문라인에 취소 여부·사유·일시 또는 별도 취소 이력이 없어 부분 취소를 재현할 수 없다. 완전성 결함이다.
  • 주문상태와 라인 상태 사이의 파생·정합성 규칙이 없다. 정확성·업무 무결성 결함이다.
  • 취소가 반복·정정될 수 있다면 단일 취소일시 속성보다 주문라인상태이력 또는 취소 사건 구조가 필요하다.
  • “주문은 한 개 이상 라인”이라는 최소 기수성과 주문 생성 트랜잭션을 확인해야 한다.

개선 모델의 한 예:

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
주문 1 ─── N 주문라인
주문라인 1 ─── N 주문라인상태이력

주문라인상태이력(
  주문번호, 라인순번, 상태시작일시,
  주문라인상태코드, 변경사유코드, 처리자
)

5. 모델 단계별 품질 경계

모델 단계주된 검토 관점이 단원과의 관계
개념 모델핵심 업무 대상·상위 관계·범위이미 학습한 기본 대상을 전제로 함
논리 모델속성·식별자·상세 관계·정규화·이력·도메인이 단원의 중심
물리 모델DBMS 타입·컬럼·PK/FK·제약·인덱스·DDL·배포82600044의 중심

논리 품질 검토에서 특정 DBMS의 데이터 타입 길이나 인덱스 옵션을 상세 판정하면 단계 경계가 섞인다. 다만 논리 도메인이 물리 구현 가능한지 여부는 후속 물리 검토로 전달해야 한다.

시험 판단 포인트

  • 표준 명명 준수율이 높아도 업무 규칙 누락이 있으면 논리 모델 품질이 높다고 할 수 없다.
  • 관계 기수성과 선택성은 실제 정상·예외 인스턴스를 넣어 읽어야 한다.
  • 요구사항에서 모델로, 모델에서 요구사항으로 양방향 추적이 가능해야 한다.
  • 정규화·서브타입·이력은 별도 장식이 아니라 업무 사실을 정확히 표현하는 검토 항목이다.
  • CRUD는 논리 모델 검증의 한 기법이며 단독으로 모든 품질을 증명하지 않는다.

자주 틀리는 부분

  • ERD 문법 오류가 없으면 품질 검토가 끝났다고 본다.
  • 화면·보고서에 보이는 속성만 대조하고 배치·외부연계·예외 규칙을 제외한다.
  • 명명 표준과 모델 의미의 정확성을 동일시한다.
  • 모든 관계를 필수로 두면 데이터 품질이 좋아진다고 오해한다. 업무 생명주기상 선택 관계가 필요한 시점이 있다.
  • 논리 모델 검토에서 인덱스·파티션 같은 물리 해법부터 제시한다.
스스로 확인하기

개념 확인 문제

문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.

01객관식 다음 중 논리 모델의 완전성 검토에 가장 직접적인 활동은? A. 인덱스 리프 블록 수를 측정한다. B. 요구사항의 정상·예외 시나리오가 엔터티·속성·관계·이력으로 표현되는지 추적한다. C. 테이블스페이스 자동 확장을 설정한다. D. SQL 실행계획의 조인 순서를 고정한다.
정답 및 해설

요구 추적표: 요구사항별 대응 엔터티·속성·관계를 대조해 누락과 근거 없는 요소를 찾는다.

02객관식 동일한 고객상태코드가 고객 엔터티에서는 가입상태를, 주문 엔터티에서는 주문처리상태를 의미한다. 주된 품질 결함은? A. 용량 부족 B. 의미·도메인 일관성 결함 C. 무조건적인 BCNF 위반 D. 파티션 키 오류
정답 및 해설

정적 구조 체크리스트: 식별자 부재, M:N 미해소, 반복 속성, 도메인 누락, 선택성 모순을 찾는다.

03참·거짓 “모든 속성이 표준 단어로 명명되었다면 요구 누락 여부를 추가로 검토할 필요가 없다.”
정답 및 해설

정상 시나리오 워크스루: 주문 생성·결제·출고 시 실제 인스턴스가 모델에 생성되는지 확인한다.

04결함 판정 요구사항에는 “한 고객은 여러 배송지를 등록할 수 있고 기본 배송지는 정확히 한 개”라고 되어 있다. 모델에는 고객(고객번호, 기본배송지주소)만 있다. 발견할 결함과 개선 방향을 쓰시오.
정답 및 해설

예외 시나리오 워크스루: 부분취소·반품·재결제·소급정정에서 이력과 관계 규칙 누락을 찾는다.

05검토 계획 신규 주문 모델을 검토할 때 사용할 최소 4개의 검토 기법과 각 기법이 찾는 결함을 작성하시오.
정답 및 해설

CRUD 교차 검증: 생성되지 않는 엔터티, 사용되지 않는 엔터티, 과도하게 많은 데이터를 변경하는 프로세스를 찾는다.