완제품 관리
주요 업무
- 생산 계획표에 맞춰 생산된 제품을 등록, 보관, 공급 및 출하 관리
- 부족하거나 긴급하게 필요한 제품에 따라 생산 계획표를 신속하게 수정
- (추가) 제품 정의(ProductDefinition)에 따라 전선뿐만 아니라 다양한 조립품/제품에 대한 생산 대응
- (추가) 생산된 제품의 Lot ID, 수량, 상태, 보관 위치 등 이력 정보 관리
- (추가) BOM 및 레시피(RMS) 기준에 따라 제품 사양과 공정 조건을 일관되게 적용
- (추가) 생산 계획 ↔ 생산 결과 ↔ 공급 ↔ 품질 검증 도메인 간 데이터 흐름 연계
- (추가) 긴급 생산 여부, 우선순위, BOM/Recipe 버전 등 계획 기준 정보 고정 및 추적 가능
설계 목적
- 제품 중심 구조로의 통합을 통해 단품이 아닌 조립품까지 포함한 유연한 생산 흐름 관리
- 재귀적 BOM 구조를 활용하여 제품 간 구성 관계 및 생산 자재 구조를 정형화
- 레시피(RMS)와의 연계를 통해 장비/공정 제어 자동화 기반 마련
- 생산 계획과 실행 이력 간 추적성 확보를 통해 공정 이탈 여부, 품질 이슈 등을 분석 가능
- 생산–검사–출하 도메인 간 데이터 정합성 확보 및 MES 내 흐름 통합 완성
고민한 내용
1. 부품과 레시피를 어떤 방식으로 표현할 것인가?
-> 제품 정의(ProductDefinition)에 부품(BOM)과 레시피(RMS)를 따로 연결한다.
장점 : 상품 중심 설계. 책임이 분리되어 개념이 명확하고, 재사용이 용이함, RMS와 무관한 시스템 운용이 가능함.
단점 : 레시피와 부품의 동기화가 어려움, 레시피를 통한 생산 제어 어려움
-> 레시피(Recipe)에 부품(BOM)을 포함시키도록 구조화한다.
장점 : 공정 중심 설계. 공정과정과 부품을 일체형으로 표현 하기에 용이함
단점 : 부품 관리와 레시피 관리를 분리해서 사용하기 어려움, 제품의 부품이 레시피 없이는 알 수 없음
결론 : 제품 정의(ProductDefinition)에 부품(BOM)과 레시피(RMS)를 따로 연결한다.
2. 제품이 다른 제품의 부품이 되는 경우는 어떻게 처리할 것인가?
-> 재귀적인 부품관리 필요. 제품 정의 정보를 바탕으로 부품을 관리할 수 있도록 처리
3. 동일 제품이어도, 생산 계획 당시의 레시피와 부품이 시기에 따라 다를 수 있는데 어떻게 처리할 것인가?
-> 제품과 생산계획에 모두 레시피와 부품을 넣어준다. 단 계획 중 레시피와 부품이 미정일 수 있으므로 Optional 처리
Productuction (생산 관리)
속성명 | 타입 | 설명 | 관계 / 특징 |
productionId | UUID | 생산 고유 식별자 | 식별자, Aggregate Root |
productDefinitionId | UUID | 생산 대상 제품 정의 ID | ProductDefinition과 연관 |
lotId | String | 생산된 제품의 Lot 번호 | 품질 검증, 추적성 연계 |
quantity | Int | 생산 수량 | 단위는 ProductDefinition 또는 UOM에 종속 |
status | Enum | 생산 상태 (진행 중, 완료, 보류, 취소 등) | 상태 전이 흐름 기반 |
startTime | LocalDateTime | 생산 시작 일시 | 생산 일정, 분석용 |
endTime | LocalDateTime | 생산 완료 일시 | 생산 흐름, 리드타임 분석용 |
supplyPlanId | UUID (Optional) | 연동된 생산 계획 ID | 계획 기반 생산 시 연결 |
isUrgent | Boolean | 긴급 수요 기반 생산 여부 | 계획 우선순위 변경 트리거용 |
recipeId | UUID (Optional) | 사용된 레시피 ID (RMS 연동) | 장비 제어, 공정 제어 기준 연결 가능 |
remarks | String | 비고 및 메모 | 자유 기입 |
ProductDefinition (제품 정의)
속성명 | 타입 | 설명 | 관계 / 특징 |
productDefinitionId | UUID | 제품 정의 고유 식별자 | 식별자, 생산/계획/검사 도메인과 광범위 연계 |
name | String | 제품명 | UI/보고서/검색 등 전반에서 사용 |
code | String | 제품 코드 (사내 품번, 고객 코드 등) | ERP, 품질, 출하 등 외부 연계 포인트 |
type | Enum | 제품 유형 (전선, 하네스, 조립품 등) | 도메인 내 분기, BOM 조건 결정 |
description | String | 제품 용도, 특이사항 등 설명 | 문서 연동, 보고서용 |
quantityUnit | Enum | 제품 수량 단위 (개, m, 세트 등) | 제품 공급 단위와 연관, 단위 표준화 필요 |
bomId | UUID | 해당 제품의 BOM ID | BOM 참조 (재귀 구성 가능) |
recipeId | UUID | RMS 연동용 레시피 ID | 공정 조건 자동화 대응 |
designSpecRef | String (URL) | 제품 설계 문서, 도면 등 | 문서 관리 시스템과 연계 가능 |
isActive | Boolean | 유효한 제품 여부 | 과거 정의와 구분, 비활성 시 생산 불가 |
createdAt | LocalDateTime | 생성일 | 변경 이력 관리용 |
updatedAt | LocalDateTime | 수정일 | 최신 정보 판단용 |
partProduct (부품 관리)
속성명 | 타입 | 설명 | 관계 / 특징 |
bomId | UUID | BOM 고유 ID | ProductDefinition에서 참조 |
version | String | BOM 버전 | 버전별 BOM 관리 가능 |
createdAt | LocalDateTime | 생성일 | BOM 변경 이력 관리 |
isActive | Boolean | 유효 여부 | 설계 변경 시 BOM 선택 관리 |
partProductComponent (부품 구성)
속성명 | 타입 | 설명 | 관계 / 특징 |
bomId | UUID | 상위 BOM ID | BOM과 연결 |
componentId | UUID | 구성품 제품 정의 ID (ProductDefinition) | 재귀 참조 가능 → 제품이 다른 제품의 부품이 될 수 있음 |
quantity | Int | 필요한 수량 | 단위는 외부 도메인(UOM)으로 관리 가능 |
quantityUnit | String | 단위 (개, m, 세트 등) | 단위 표준화 필요 |
sequence | Int | 조립 순서 | 공정 흐름 대응 가능 (선택 사항) |
remarks | String | 비고 | Optional |
SupplyPlan (생산 계획)
속성명 | 타입 | 설명 | 관계 / 특징 |
supplyPlanId | UUID | 생산 계획 고유 ID | 식별자, Aggregate Root |
planDate | LocalDateTime | 계획이 등록된 날짜 | 분석, 히스토리 관리 기준 |
scheduledDate | LocalDateTime | 실제 생산 예정 일자 | MES 생산 캘린더 기준 |
productDefinitionId | UUID | 생산할 제품 정의 ID | ProductDefinition과 연관 |
targetQuantity | Int | 목표 생산 수량 | 단위는 ProductDefinition에 종속 |
priority | Enum / Int | 생산 우선순위 (일반, 우선, 긴급 등) | 긴급 생산 트리거 또는 스케줄링에 영향 |
status | Enum | 계획 상태 (계획됨 / 확정 / 진행 중 / 완료 / 취소 등) | 상태 전이 기반 흐름 제어 |
modifiedByUrgent | Boolean | 긴급 요청에 의해 변경된 계획 여부 | 이력 추적 및 자동화 기준 |
appliedBomId | UUID (Optional) | 적용될 BOM 버전 ID | 사양 고정된 계획일 경우 명시적으로 고정 가능 |
appliedRecipeId | UUID (Optional) | 사용할 RMS 레시피 ID | Recipe 기반으로 생산 통제 필요 시 명시 |
createdBy | String | 계획 작성자 | 사용자 기록 또는 자동 생성 기준 |
remarks | String | 비고 및 기타 메모 | 자유 기입 |
createdAt | LocalDateTime | 계획 생성 일시 | 타임스탬프 |
updatedAt | LocalDateTime | 최근 수정 일시 | 히스토리 기반 변경 감지 용도 |
'제조 소프트웨어 > 설계' 카테고리의 다른 글
제조업 경험을 도메인으로(5) - MES/MSA 자재 관리 설계 (0) | 2025.04.14 |
---|---|
제조업 경험을 도메인으로(3) - MES/MSA 품질 검증 설계 (0) | 2025.04.10 |
제조업 경험을 도메인으로(2) - MES/MSA 설비 관리 설계 (0) | 2025.04.05 |
제조업 경험을 도메인으로(1) (0) | 2025.04.05 |
제조업 경험 다시 읽기 (2) | 2025.03.27 |