2018년 DA 설계공모전 문제
분 야	일반부
수행과제 및 전제조건	제시된 지문에 대한 요구사항분석서, 데이터표준정의서를 작성하고, 최적의 논리 데이터 모델을 작성하시오. 단, ERD 작성 시 반드시 다음 조건을 충족해야 함. 1. 제출된 논리 데이터 모델에는 다대다 관계가 남아 있지 않아야 함. 2. 식별자는 지문 상에서 특별한 지시가 없는 한 본질식별자를 기준으로 정의해야 함. 3. 서브타입 정의가 필요한 경우에 구분(유형)코드 엔터티로 대체하는 것은 불가피한 경우를 제외하고는 가급적 지양할 것

오프라인 매장(백화점, 마트)을 운영하고 있는 당사는 온라인 사업으로의 확장을 준비하고 있다. 온라인 사업부를 신설하고, 온라인 판매 시스템을 구축하고자 한다.

오프라인 매장에서 판매하는 제품 중 온라인에서 판매가 가능한 상품을 판매할 예정이며, 온라인 전용상품도 개발하여 판매할 예정이다. (담배, 주류는 온라인을 통해 판매할 수 없으며, 온라인 상품 등록 자체가 불가하다.)

온라인 상품은 거래처가 직접 상품을 등록하고 전시화면에 노출하여 판매하는 방식을 적용할 예정이며 PL상품(자체기획/개발상품, 유통업체의 브랜드를 붙여 판매하는 상품으로, PB(Private Brand)상품이라고도 함) 또한 판매 할 예정이다.

당사는 온라인판매시스템 구축 영역 중 주문의 대상이 되는 복잡/다양한 상품에 대한 관리 영역을 먼저 개발하고자 한다.

상품을 효율적으로 관리하기 위한 일환으로 표준카테고리(상품분류체계, 상품을 화면에 전시하기 위한 전시카테고리와는 다름) 정보를 관리할 예정이다. 관리해야 할 속성으로 카테고리명, 사용여부, 최저/최고판매가 정보를 관리하며, 상품 분류 중 약품, 의료기기의 경우 상품평을 노출할지 여부를 관리해야 하며 거래처가 등록한 판매가 및 상품판매상태(등록 및 철회 등)에 대해 상품담당자의 확정(결재) 단계가 필요한지 여부를 관리할 예정이다. 이를 위해서는 표준카테고리를 담당하는 MD(상품담당자, 판매촉진담당자)정보를 관리해야 한다. 표준카테고리 담당 MD 중 계약 / 상담 담당여부와 함께 대표 MD 여부도 관리한다. 계약 및 판매를 담당하는 MD는 사용자 정보로 관리하며 MD직군으로 등록된 사용자만 지정될 수 있다. 상품분류체계는 대-중-소-세 최대 4-Depth 레벨로 관리할 예정이지만 향후 그 레벨이 확대/축소 될 수 있다. 모든 상품분류체계가 4 Depth 정보를 다 관리하지는 않는다. (필요에 따라 대-중 2Depth, 대-중-소 3Depth 까지만 관리할 수 있다) 현재 오프라인(백화점, 마트) 또한 별도의 판매관리시스템을 운영하고 있다. 각 오프라인 시스템 또한 상품을 관리하기 위해 백화점 상품과 마트 상품에 대한 별도의 상품분류체계가 존재한다. 오프라인 상품을 온라인 시스템에 등록하기 위해서는 타 시스템 상품분류체계와의 매핑(Mapping) 정보를 관리해야 한다. 백화점상품의 분류체계는 대-중-소 3-Depth 레벨로 관리하고 있으며, 마트 상품은 대-중-소-세 4-Depth 레벨로 관리하고 있다. 또한 제휴업체(에누리, 네이버 등 최저가 정보 제공 업체와 타 회사 쇼핑몰 등) 시스템에도 상품 노출을 위한 인터페이스 요건이 있으며, 이를 위해서는 데이터 인터페이스 대상의 제휴사에서 관리하는 상품분류체계와의 매핑(Mapping) 정보를 관리해야 한다. (가상의 타 시스템 상품분류 정의해야 함) 온라인 상품분류체계와 백화점, 마트, 제휴사에서 관리하는 타 상품 분류체계와의 매핑 정보는 그 종류와 대상이 추가될 수 있으므로 유연성을 고려하여 식별체계를 정의해야 한다. 온라인 시스템에 등록된 상품을 화면에 노출하기 위해서는 전시카테고리 정보와의 매핑 정보 또한 관리해야 한다. 상품 등록 후 기본 전시화면에 등록하기 위함이며 전시분류체계는 상품분류체계와 비슷하나 최대 5-Depth 레벨까지 관리할 예정이다.

상품분류체계 영역에서는 고객에게 상품별로 제공해야 할 정보항목을 관리해야 한다. 정보항목에는 법적으로 의무 고시할 항목과, 법적으로 고시할 의무는 없지만 고객에게 추가로 제공이 필요한 항목도 관리할 수 있어야 한다. 상품관리항목은 사전에 정의하여 분류/정의할 예정이며, 유사한 상품분류체계 간에 적용할 수 있도록 재사용성을 고려해야 한다. 각 상품관리항목은 문자형 / 숫자형 / 날짜형 / 선택형 4가지가 있으며 선택형일 경우 사전에 정의된 항목(코드)만 선택할 수 있도록 한다. 온라인에서는 판매하는 상품의 종류는 가전에서부터 의류, 채소 등 유형상품에서부터 문화상품권 등 무형상품까지 매우 다양하며, 각 상품별로 관리해야 될 정보도 가지각색이다. 또한 새로운 유형의 상품도 수용할 수 있어야 한다. 해당 상품관리항목을 모두 상품의 속성으로 관리하기에는 유지/보수 측면에서 부담스럽다. 가변적인 상품관리항목을 상품테이블에서 관리할지, 별도의 테이블에서 관리할지를 구분해야 한다. (유연성을 고려한 관리 방법 적용 필요)

사전에 시스템에서 상품관리항목을 정의해서 일괄적으로 적용할 수도 있지만, 일부 상품은 상품별로 사전에 정의하지 않은 상품속성을 사용자가 정의해서 관리할 수 있도록 구조적으로 지원해야 한다.

온라인에서 판매하는 상품 유형은 백화점, 마트 상품 그리고 온라인에서 등록한 온라인 전용상품이다. 본 상품의 출처가 오프라인인지, 온라인인지 구분해야 하며, 오프라인 상품의 주문인 경우 상품 배송 및 출고가 오프라인에서 이루어진다. 따라서 오프라인 시스템으로 주문 및 배송지시를 보내기 위해서는 오프라인 상품정보로 인터페이스 해야 하므로 오프라인 상품의 경우 온라인 상품과의 매핑 정보가 필요하다. 상품 기본정보로는 상품명, 모델명, 판매상태(승인전 / 판매중 / 일시판매중지 / 영구판매중지) 정보를 관리하고 일시중지일 경우 중지기간을 관리해야 하며, 상품을 식별할 수 있는 정보로 공급업체와 공급업체에서 관리하는 상품ID, 그리고 브랜드, 제조사, 생산제조국, 주원산지 정보를 관리해야 한다. 상품의 제조사는 상품을 공급하는 계약 거래처(업체)와는 그 정의가 다르며 별도로 관리할 예정이다. 제조사 정보로는 제조사명과 함께 오프라인에서 등록한 정보인지 온라인에서 등록한지를 구분하는 정보를 관리한다. 상품의 원료원산지는 국가를 의미하며 상품의 생산제조국 정보를 관리할 때도 상속 받아 관리한다. 미가공귀금속 / 모바일기프트 / 상품권 / 쇼핑충전금 등 일부 상품은 쿠폰적용제외, 신용카드청구할인제외 상품으로 관리하기 위해 일반상품과 구분할 수 있는 상품특성정보를 관리해야 한다. 또한 배송에 필요한 정보로 해외구매대행 / 주문제작 / 설치 / 무배송 제품인지를 구분할 수 있는 배송상품구분 정보도 관리해야 하며 해당 상품의 배송방법으로 택배 / 매장방문 / 자사배송 구분정보를 관리한다. 상품의 종류가 식품일 경우 원료에 대한 함량과 원산지 정보를 관리할 수 있어야 한다. 백화점 상품의 경우 해외배송이 가능 상품은 해외배송비 책정을 무게를 기준으로 구간별로 계산한다. 해외 배송업체는 우체국 EMS를 이용한다. 이를 위해 상품군무게기준 정보로서 상품군무게기준 한글명과 영문명 그리고 예측무게를 관리한다.

일부 상품의 경우 고객 당 구매 수량을 제한할 필요가 있다. 판매 수량 제한을 위한 그룹 정보를 관리하며 구매수량제한그룹명과 함께 고객이 최대로 주문 가능한 수량을 관리한다.

상품 유행에 대한 중요한 분석 기준으로 브랜드 정보를 관리하고, 브랜드 정보 등록 주체에 따라 오프라인 / 온라인 / CRM 으로 구분하며, CRM 부서에서는 유사한 브랜드를 하나로 묶는 단위로 상위브랜드 정보를 관리한다. 상품에 대한 브랜드 이미지도 상품 전시 화면에 노출해야 하므로 이미지 정보를 별도로 관리한다. 이미지는 데이터베이스에 저장하지 않으며 별도의 서버에 파일형태로 관리할 예정이다.

상품별 상품상세설명 정보를 관리해야 하며, 상품상세설명 정보 종류는 상세설명 / 주의사항 / 식품영양성분 / 사이즈조견표 / 예외마진사유 / 원산지증명서 / 수입신고필증 / 광고심의필증 등이 있으며, 설명방법으로는 텍스트 / HTML / 이미지 / URL이 있다. 이미지의 경우 데이터베이스에 저장하지 않고 별도의 서버에서 파일형태로 관리할 예정이며 서버상의 경로와 파일명으로 관리한다.

상품의 옵션으로 단품 정보를 관리한다. (옵션이란 의류의 경우 사이즈 / 색상 / 패턴 / 등이 있으며, 식품일 경우 맛, 향수일 경우 향기 등을 의미함). 옵션이 없는 상품은 상품레벨로 주문 및 판매가 이루어지며, 옵션이 있는 상품은 단품 레벨로 판매가 이루어진다. 단품에 대해서는 옵션 구성 정보를 관리할 수 있어야 하며 (사이즈 100 / 색상 레드 등), 옵션 구성 조합 레벨은 최대 5개까지 관리한다. 색상 / 사이즈 등 옵션 정보는 재고 관리 및 발주 단위가 되며, 향후 상품 판매 분석을 위한 중요한 분석 기준이다. 이에 구체적인 통계 및 추이 분석이 가능하도록 체계적으로 관리되어야 한다. 상품가격은 시장상황과 가격정책에 따라 수시로 변동될 수 있으며, 상품가격의 변경이력에 대해 특정 과거시점의 가격을 재현 할 수 있어야 한다, 판매가 부진한 상품 옵션의 경우 인하된 공급가, 판매가, 마진율 정보와 함께, 정상가 / 할인가 구분 정보를 관리한다.

서로 다른 종류의 상품을 하나로 구성하여 판매하는 구성(묶음)상품도 관리할 수 있어야 한다, 구성 상품의 가격은 구성하는 단품 가격의 합으로 결정되고 구성 이전의 원 가격상품보다 저렴하게 판매될 경우 할인율(에누리)을 관리한다. 즉 구성 상품의 판매가의 합과 관계없이 팩상품 레벨에서 매입가 및 판매가 관리가 가능해야 한다.

구성유형에는 아래와 같은 유형으로 관리하고자 한다.

- 묶음 : 서로 다른 상품을 하나로 묶어 판매하는 상품

- 사은품 : 본상품은 필수, 사은품은 옵션 (사은품일 경우 사은품 제공 기간 관리)

- 추가구성 : 본상품은 필수, 추가구성상품은 옵션

구성상품 관리 정책에 따라 상품정보에는 고객에게 판매하는 상품을 구성정보를 기준으로 분류할 수 있어야 한다. 분류정보는 일반(단품이 하나인 상품) / 옵션(단품이 두개 이상인 상품) / 구성(서로 다른 상품을 하나로 구성하여 판매하는 상품) / 사은품(본상품과 함께 증정용도로 판매하는 상품으로 단독판매 불가) / 추가구성(본상품과 함께 추가로 구매할 수 있도록 판매하는 상품으로 단독판매 불가) 상품으로 구분한다.

고객의 구매유도를 위해 해당 상품과 연관된 상품 정보를 노출할 예정이다. 연관상품 유형으로는 CROSS상품(함께 구매하면 좋은 상품), UP상품(좀 더 사양이 좋은 높은 가격의 상품)이 있다.

당사에서 구축할 온라인 쇼핑몰은 고객은 내국인뿐 아니라 외국인도 주요 고객층이 될 수 있도록 상품명, 브랜드, 생산제조국가, 원산지에 대해서는 다국어로 서비스가 가능해야 한다. 해당 항목에 대해서는 다국어 명을 관리한다. 우선 영어, 일본어, 중국어를 다국어 서비스 대상 언어로 관리할 예정이다.