2주차 도메인 설계 TIL - Park-ha-neul/hhplus-e-commerce GitHub Wiki

2주차에는 시나리오를 선택하여 해당 시나리오 요구사항 분석 및 설계 문서를 작성하는 방식을 학습했다.

시나리오를 확인한 뒤, 전체적인 흐름을 시퀀스 다이어그램, 클래스 다이어그램으로 설계하고 DB를 설계하는 ERD 를 진행하였다.

기능 개발을 들어가기 전에 전체적인 흐름을 먼저 설계하고 개발하는 경험은 적어서 설계 경험을 향상시킬 수 있는 좋은 과제였다고 생각한다.

진행했던 설계 순서

  1. 요구사항 정리 (기능적/비기능적)

  2. 시퀀스 다이어그램 작성

  • 요구사항의 기능 흐름을 시나리오로 그려서 객체가 어떤 순서로 동작하는지 표현 (기능/로직의 흐름을 명확히 함)
  1. ERD 설계
  • 기능 흐름에 대한 데이터 구조 정의
  • 어떻게 연결되는지 설계
  1. 클래스 다이어그램 작성
  • 시퀀스 다이어그램 + ERD를 참고하여 코드 단위 클래스의 책임과 관계를 구체화
  • 객체 간 상속, 의존 관계 등을 설계

결론 및 아쉬웠던 점

  • 처음 설계하고 코드리뷰를 하면서 설명을 하다보니 빠진 부분을 찾게 되었다.
  • 코드리뷰를 받기 전 누군가에게 설명한다는 생각으로 먼저 검토를 하고 진행했다면 빠진 부분을 찾았을 거라고 생각함

다음 주 목표

  • 코드리뷰 피드백 내용 반영 (빠진 부분 추가)
  • 설계 내용을 바탕으로 기능을 개발한다.