UML Tagged Value로 모델 메타데이터를 관리하는 방법

UML Profile의 Tagged Value로 모델 의미를 바꾸지 않고 보안, 추적성, 운영 메타데이터를 관리·검증·자동화하는 설계 방법

2026-08-14 · 최초 발행 2025-10-31

모델 자체를 바꾸지 않고 관리 정보를 붙이는 방법

Tagged Value는 UML/SysML 모델의 표준 메타모델을 수정하지 않은 채, 요소와 속성에 관리 목적의 메타데이터를 부여하는 확장 수단이다. 모델 거버넌스, 자동화, 규정 준수처럼 업무 속성만으로 표현하기 어려운 정보를 구조화할 때 사용한다.

UML Profile의 Stereotype이 선언한 이름-값 쌍이 Tagged Value의 단위다. 클래스, 속성(필드), 연관 끝, 연산 등 여러 모델 요소에 붙일 수 있다. 이는 모델의 업무 속성이 아니라 메타 수준의 관리 속성이라는 점에서 일반 속성과 구분된다. 주석(Note)이나 도구 전용 속성보다 표준 기반의 XMI 교환성을 확보할 수 있다.

단일 값과 다중 값을 모두 다룰 수 있으며, 기본형·열거형·참조형을 지원한다. OCL 또는 도구 규칙과 연결하면 형식과 제약도 강제할 수 있다.

프로파일에서 태그의 범위와 검증 기준을 정한다

태그는 Profile 안의 Stereotype에 정의한다. 이 계층을 통해 표준 메타모델을 손대지 않고도 확장 구조를 만들며, 여러 모델에서 같은 규범을 재사용할 수 있다.

Primitive, Enumeration, Classifier Reference 타입을 지정하고 기본값과 다중성을 선언할 수 있다. 필수값, 범위, 정규식 같은 패턴 검증은 OCL이나 규칙 엔진으로 연결한다. 자유 입력에 맡기지 않고 데이터 품질을 통제하는 방식이다.

Stereotype을 상속하면 태그도 상속하거나 재정의할 수 있다. 또한 속성 전용, 연관 끝 전용처럼 요소 유형별 적용 범위를 제한해 잘못된 사용을 막는다. XMI로 직렬화해 도구 간 교환을 지원하고, 변경 이력 관리 및 리포팅과 연계하면 감사 추적성도 강화된다.

보안·추적성·운영 정보를 모델과 연결한다

데이터 거버넌스와 보안에서는 분류 등급(classification), 개인정보 여부(PII), 보존 기간(retention)을 태그로 표현할 수 있다. 설계 단계의 규정 준수 점검과 배포 전 자동 검증 파이프라인에도 연결할 수 있다.

요구사항과 테스트의 관계에는 요구 ID, 근거(소스), 위험도 태그를 추가해 추적 링크를 보강한다. 커버리지 리포트를 자동 생성하고 영향도 분석을 빠르게 수행하는 기반이 된다.

아키텍처와 운영 영역에서는 지연, 가용성 목표 같은 비기능 속성, region과 tier 같은 배포 힌트를 부여할 수 있다. 이 메타데이터는 런타임 컨피그 생성이나 IaC 파라미터 매핑으로 이어진다. DevOps와 문서화에서는 태그를 코드 어노테이션·스키마 주석으로 생성하거나, 모델 기반 문서(SRS/SAD)의 표준 섹션을 채우는 데 활용한다.

요구 수집부터 검증과 산출물 생성까지

먼저 규정, 보안, 운영, 보고 관점에서 필요한 메타데이터를 식별한다. 이후 이름 규칙, 타입, 기본값, 허용 범위를 데이터 사전으로 정리한다.

프로파일에서는 Stereotype 계층과 적용 범위를 설계하고 태그를 선언한다. 검증 로직은 OCL, 스크립트, 규칙 엔진에 등록한다. 완성된 Profile은 팀 저장소(리포지토리)에 배포한 뒤 모델 요소에 일괄 적용한다.

이 과정의 결과물은 검증 리포트, 코드·스키마·문서 같은 생성 아티팩트, 감사 로그다. 타입 불일치, 필수값 누락, 다중성 위반이 발견되면 커밋을 차단할 수 있다. 마이그레이션에서는 태그 스키마의 버전 호환성을 검사하고 자동 변환 스크립트를 적용한다.

성공실패: 규칙 충돌/누락유효오류: 타입/필수값/다중성메타데이터 요구 수집프로파일 설계스테레오타입/태그 정의타입/제약 유효성 규칙 등록프로파일 배포모델 요소에 적용검증 실행아티팩트 생성(코드/문서/XMI)감사 로그/리포트 저장

일반 속성·주석·도구 전용 속성과의 차이

지표 Tagged Value 속성(Property) 주석(Note) 툴 전용 속성
확장성 높음 낮음(모델 의미 변경 위험) 낮음 중간(툴 의존)
일관성 높음(프로파일 규범) 중간 낮음 중간
안정성 높음(형·제약 검증) 중간 낮음 중간
성능 중간(검증 비용 존재) 높음 높음 중간
운영 편의 높음(일괄 적용/리포팅) 중간 높음(단순) 중간
교환성(XMI) 높음 높음 낮음 낮음~중간

수동 점검과 비교하면 규정 위반 결함은 4060% 감소하고 리뷰 시간은 30% 절감될 수 있다. 문서와 코드 생성 자동화는 산출물 작성 시간을 2550% 단축한다. 팀 간 의미 체계를 표준화하고 변경 영향 예측 가능성을 높이며, 감사 근거의 일관성과 온보딩 학습 곡선에도 영향을 준다.

태그 스키마를 운영할 때 남는 선택지

이름은 Company.Security.classification처럼 네임스페이스 형태로 관리하고, Profile은 SemVer 기반으로 버전 관리할 수 있다. 엄격한 버전 관리는 초기 설정 비용을 높이는 트레이드오프가 있다.

열거형, 패턴, 범위 제약을 우선해 자유 입력을 줄이면 데이터 품질을 유지하기 쉽다. 반면 제약을 과도하게 두면 모델링 유연성이 떨어질 수 있다.

태그는 리포트와 자동화에서 실제로 사용하는 것만 유지하는 최소 충분 원칙이 적합하다. 분기나 가중치가 낮은 항목을 제거하면 관리 부담은 줄지만, 과소 설계는 이후 확장 시 재작업으로 이어질 수 있다.

XMI 라운드트립 테스트를 도입하고 도구 특화 속성의 사용을 최소화하면 교환성을 지킬 수 있다. 그 대가로 스마트 패널 같은 일부 편의 기능을 포기해야 할 수 있다. CI 파이프라인에 Profile 배포, 검증, 리포팅을 통합하면 운영 자동화를 강화할 수 있지만 초기 스크립팅과 인프라 구성 비용이 발생한다.

Tagged Value는 모델 요소의 업무 의미를 왜곡하지 않고 메타데이터를 구조적으로 관리하는 표준 확장 수단이다. Profile 설계, 유효성 규칙, 자동화 파이프라인을 함께 운영하면 거버넌스와 생산성을 동시에 높일 수 있다.

UML태그값모델 거버넌스메타데이터스테레오타입