DB설계 - [Week2] 주제 선정 (1/2) 및 제안서 초안

2022. 9. 18. 22:48Learn

728x90

지난 주차 내용

 

DB설계 - [Week1] 주제 및 ERD 조사

Useful Tips DB설계 시 유의점 DB설계 매뉴얼 - Sun Java Enterprise System 배포 계획 백서 요구사항 분석을 하는 이유 소프트웨어 요구 사항 분석 페이퍼요약 - 유명 실패 사례로 본 요구사항 개발, 검증,

spems.tistory.com


2주차 수업 내용 정리

1. Goal: 가상의 서비스 환경을 정의하고 설계하라.

=> 자세한 조사를 위해 가능하면 실제로 접할 수 있는 서비스를 대상으로 하는 것 고려

기본적으로 자체 컨셉에 맞춰 일관성을 추구하면 되나,

유사한 실제 서비스의 설계를 참고하여 차이점을 어떻게 수용할 것인지에 대해서는 고민해보아야 함.

1-1. 서로 다른 다양한 서비스들이 갖는 공통적인 특성 취합 - ex) 운영 환경, 규모, 핵심 고객, 연매출 등

1-2. 각 서비스 별로 존재하는 특징적인 차이점 취합

 

2. 최대한 다양한 상황에 대한 시나리오 가정

ex) 접속자 폭주 대비한 부하 분산 (Load Balancing), 서비스/고객/시스템 라이프사이클, 문제/예외/긴급/불만 상황, 요금 테이블 (요금/과금 기준 - 결제/할인 혜택/페이백 - 요금/할인/주문/취소/환불 설정),   

=> 가정한 시나리오에 대한 진행 순서/메뉴얼/대응책 강구

 

3. 가능한 한 많은 경우를 고려한 상태에서 적정 규모의 테이블을 가지도록 가지치기

=> (자주하는 실수 !) 테이블 속성 값으로 들어갈 부분을 또 다른 하나의 테이블로 작성하여 연결하는 경우

 

4. 운영 환경에 가해지는 다양한 제약 고려 - ex) 도덕, 법, 자금력, 네트워크 환경 등

=> 법적 규제가 최소화되고, 운영의 자율성이 보장되는 서비스 유리 - ex) 개인 사업자

 

5. 설계한 UI를 통해 역으로 프로세스 추적

ex) 재생 시점 기록하여 이어볼 수 있도록 UI를 제공한다면,

이어보기 기능이 있어야 하고, 유저가 마지막으로 시청한 시점에 대한 데이터가 있어야 함. 

 

6. 실제 서비스의 DB 구조를 조사하는 것이 중요.

 

7. 제안서 작성 > 업무 분석 > UI 설계 순으로 진행

7-1. 제안서 작성: ~를 하도록 하겠다 (What; 무엇을 할 것인지)

7-2. 업무분석:~를 어떤 방식으로 하겠다 (How; 어떻게 할 것인지)

7-3. UI 설계:업무 프로세스의 시각적 구현


온라인 판매업 사업 모델 초안
ER 다이어그램 구조화 초안


1. ERD 작성을 위한 새로운 도구 탐색

더보기
https://www.erdcloud.com/d/5aKucPNWhDw7SzCbQ

PRODUCT_type

1. 판매자는 개인 사업자 / 법인으로 인증 과정을 거쳐 공식 계정을 생성할 수 있다.
2. 정식 절차를 거쳐 제품에 대한 상세 정보를 전달하면 제품을 공식적으로 등록할 수 있게 된다.

A: 공식 계정 / 공식 등록 제품

B: 비공식 / 공식 등록 제품

C: 사용자 개별 등록 제품


맨땅에 헤딩하는 느낌으로 우선 작성을 시도해봤다.
구상해둔 시나리오가 없어서 설계에 어려움이 있었고, 사용하는 툴 자체도 불편하고 기능이 적음

기존에 사용하던 draw.io 를 쓰거나
IntelliJ에서 작성한 코드를 바탕으로 ERD 자동 생성 가능하다고 하니 시도할만한 가치가 있을듯.

 

2. 주제 선정을 위한 의견 공유 및 논의

더보기

 

서론: 
브랜드 편의점 점포를 대상으로 기업이 서비스하는 내용을 이해하고, 이를 구성한다. 


요구 사항:
1. 기업은 점포 '운영을 위한 서비스'를 제공해야한다.
2. 기업은 점포에 '상품을 조달하기 위한 서비스'를 제공해야한다.
3. 기업은 점포가 '고객을 응대하기 위한 서비스'를 제공해야한다.
4. 기업은 고객 데이터를 분석하고 응용하기 위해서 '데이터를 수집'해야한다.


개념적 설계:
기업의 입장에서 일괄로 저장되어야하는 데이터는 다음과 같다.

1-1) 운영을 위한 서비스에는 다음과 같은 데이터가 필요하다.
* 점포에 필요한 물건 리스트(매대, 포스기 등등)
* 점포에서 운영을 도울 운영 프로그램(포스기 프로그램 등등)
* 점포의 ID, 위치, 이름 등등
* 점포에서 취급할 상품 종류 목록
* 점포에서 취급할 상품 목록
+)
* 할인 카드 안내
* 관련 어플리케이션 개발 및 운영

1-2) 상품을 조달하기 위한 서비스에는 다음과 같은 데이터가 필요하다.
* 제공할 수 있는 상품 리스트(업데이트)
* 점포 주문 리스트
* 제품 주문 및 배달 서비스(입고)
* 제품 유통기한 관리 및 알람
* 제품 폐기 절차 관리

1-3) 고객을 응대하기 위한 서비스에는 다음과 같은 데이터가 필요하다.
* 결제 서비스, 구매 내역
* 배달 서비스
* 즉석 조리식품 판매 서비스
* 택배 서비스
* 포스기 업데이트(가격 변동 및 이벤트 관리)

1-4) 데이터를 수집을 위해서는 다음과 같은 서비스가 필요하다.
* 고객 결제 내역 관리
* 점포 판매 데이터 관리
* 제품 판매 데이터 관리

3. 주제 선정 후 다양한 시나리오 구상

4. Naming Convention 생각

> https://jang8584.tistory.com/35

 

Database 네이밍 룰(Naming rule)

1. Database 관련 Naming Rule<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 가. Database Schema Name 1)  규칙 █   Database Profile 이름을 의미함 █   DB Alias 이..

jang8584.tistory.com

 

728x90