본문 바로가기

Spring/웹 애플리케이션 개발

03. 애플리케이션 구현 준비

💡 본 게시글은 김영한님의 인프런(Inflearn) 강의 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발에 대해 공부하고, 정리한 내용입니다.

1. 애플리케이션 구현 준비

1) 구현 요구사항

(1) 요구사항 분석 - 01

  1. 기능 목록
    • 회원 기능
      • 회원 등록
      • 회원 조회
    • 상품 기능
      • 상품 등록
      • 상품 수정
      • 상품 조회
    • 주문 기능
      • 상품 주문
      • 주문 내역 조회
      • 주문 취소
  2. 예제를 단순화하기 위해 다음 기능은 구현하지 않음
    • 로그인과 권한 관리
    • 파라미터 검증과 예외 처리
    • 상품은 도서만 사용
    • 카테고리
    • 배송 정보

2) 애플리케이션 아키텍처

(1) 애플리케이션 아키텍처 - 01

  • 계층형 구조 사용
    • Controller, Web 계층: 웹 요청을 처리하고 응답을 반환.
    • Service 계층: 비즈니스 로직과 트랜잭션 관리.
    • Repository 계층: JPA를 사용해 데이터베이스와 소통.
    • Domain 계층: 도메인 모델의 엔티티가 위치.

(2) 패키지 구조

  • jpabook.jpashop
    • domain: 엔티티 및 도메인 모델.
    • exception: 애플리케이션 예외 관리.
    • repository: 데이터베이스 접근 계층.
    • service: 비즈니스 로직 처리 계층.
    • web: 웹 요청 처리 계층.

(3) 개발 순서

  1. Service, Repository 계층 개발
  2. 테스트 케이스 작성 및 검증
  3. Web 계층 적용

2. 총 정리

  1. 구현 요구사항을 명확히 정의하여 개발 범위 설정: 핵심 기능(회원, 상품, 주문)을 중심으로 구현하고, 불필요한 기능은 생략하여 집중도 향상.
  2. 계층형 아키텍처의 활용: 계층별 역할을 명확히 하여 코드의 가독성과 유지보수성 향상. Controller, Service, Repository, Domain 계층으로 나누어 설계.
  3. 패키지 구조의 중요성: 각 계층의 책임을 명확히 하기 위해 패키지를 분리하여 모듈화와 재사용성을 높임.
  4. 효율적인 개발 순서: 비즈니스 로직과 데이터 접근을 우선 개발하고, 테스트 케이스로 검증한 후 웹 계층을 마지막에 적용하여 전체 구조의 완성도 보장.
  5. 테스트 케이스의 필수성: 기능을 사전에 검증하여 코드의 안정성을 확보하고, 유지보수 시 오류를 최소화.

위 개념들을 바탕으로 스프링 부트와 JPA를 활용한 효율적이고 유지보수성이 높은 애플리케이션 개발이 가능해집니다.

'Spring > 웹 애플리케이션 개발' 카테고리의 다른 글

06. 주문 도메인 개발  (0) 2024.09.08
05. 상품 도메인 개발  (0) 2024.09.08
04. 회원 도메인 개발  (0) 2024.09.08
02. 도메인 분석 설계  (2) 2024.09.08
01. 프로젝트 환경설정  (0) 2024.09.08