신발 주문 시스템 분석 도메인 - KEEMSY/shoes-ordering-system GitHub Wiki
완료
나의 신발 주문 시스템의 목표는 장애가 없는 사용자 경험을 개선하고, 다양한 요구사항에 대한 기능의 효율성 증진이다. 이를 위해 시스템을 분석하며, 분석은 도메인 분석과 시스템 아키텍처 분석으로 나뉜다.
- 도메인 분석을 통해 프로젝트에서 필요한 도메인들을 식별하고, 해당 도메인을 모델링 한다.
- 기능적 요구사항, 비기능적 요구사항을 정의하여, 필요한 기술 스택과 아키텍처를 구성한다.
신발 주문 도메인은 다음과 같이 식별하였다.
User(사용자)
Product(제품)
Order(주문)
Payment(결제)
Shipment(배송)
분석한 도메인 별 기능적 요구사항과 비기능적 요구사항을 정의한다.
-
User
-
기능 요구 사항
- 사용자 등록: 사용자가 필요한 정보를 제공하여 새 계정을 만들 수 있도록 한다.
- 사용자 인증: 보안 로그인 메커니즘을 구현하여 사용자를 인증한다.
- 개인정보 설정 : 사용자가 주소, 전화번호 등 프로필 정보를 관리할 수 있도록 한다.
-
비기능적 요구 사항
- 보안: 사용자 데이터 및 결제 정보는 암호화를 사용하여 안전하게 저장 및 전송되어야 한다.(성늘저하 없이 많은 수의 사용자를 처리해야 한다.)
- 성능: 사용자 등록 및 인증 프로세스에 대한 빠른 응답시간을 제공해야 한다.
- 사용성: 명확한 지침과 오류 처리가 존재해야 한다.
-
-
Product
-
기능 요구 사항
- 제품 관리: 관리자가 제품을 추가, 업데이트 및 삭제 할 수 있다.
- 상품 검색 및 필터링: 사용자가 특정 상품을 찾을 수 있도록 검색 및 필터링 기능을 제공한다.
- 상품 상세정보: 삼품명, 설명, 가격, 카테고리 등 각 상품에 대한 상세 정보를 확인 할 수 있어야 한다.
-
비기능적 요구 사항
- 확장성: 증가하는 제품 수 혹은 사용자 트래픽을 처리해야한다.
- 가용성: 사용자가 제품 정보에 항상 엑세스 할 수 있어야 한다.
- 성능: 지연 또는 성능 저하를 방지하기 위한 동시 사용자 요청을 효율적으로 처리해야한다.
- 보안: 인증된 관리자만이 제품관리 작업을 수행할 수 있어야 한다.
-
-
Order
-
기능 요구 사항
- 주문 배치: 사용자가 장바구니에 제품을 추가하고 주문 할 수 있다.
- 주문 추적: 사용자는 주문 상태를 추적할 수 있다.
- 주문내역 : 사용자별 주문 내역을 저장 및 표시한다.
-
비기능적 요구 사항
- 신뢰성: 신뢰할 수 있는 주문 처리, 추적 및 이력 관리를 보장하여 데이터 손실 또는불일치의 위험을 최소화 한다.
- 성능: 많은 수의 동시 사용자가 주문을 하고, 주문을 추적하고, 주문 내역을 볼 수 있어야 한다.
- 가용성: 시스템은 중단 없이 주문을 하고 주문 상태를 추적할 수 있어야 한다.
-
-
Payment
-
기능 요구 사항:
- 결제 처리: 다양한 결제 방법을 사용하여 주문에 대한 결제를 실시간 결제 시작할 수 있다.
- 결제 확인: 결제 거래의 성공 또는 실패를 나타내는 결제 확인 알림을 사용자에게 제공한다.
- 결제 추적: 사용자는 보류, 승인 또는 완료와 같은 주문에 대한 결제 상태를 볼 수 있어야 한다.
-
비기능적 요구 사항:
- 보안: 민감한 결제 정보를 보호하기 위해 업계표준 보안 관행을 준수하고, 암호화, 보안 통신 프로토콜을 구현한다.
- 신뢰성: 결제 시스템은 안정적이고 일관된 처리르 보장하여 실패 또는 오류의 위험을 최소화 해야한다.
- 성능: 성능 저하 없이 많은 양의 결제 요청을 동시에 처리할 수 있어야 한다.
- 규정 준수: 다양한 결제 서비스의 서비스 제공자가 정한 지침 및 규칙을 준수해야 한다.
-
분석한 기능 요구사항 및 비기능 요구사항을 통해 모델링(전술적 도메인 설계) 및 아키텍처 설계를 진행한다.
- 기능적, 비기능적 요구사항을 만족시킬 수 있는 아키텍처 특성을 고려해여 기술 스택을 선정하고 시스템을 설계한다.