본문 바로가기
Framekwork/SPRING

[SPRING] 스프링 부트 - 회원 관리 예제 > 비즈니스 요구사항 정리

by 아이엠제니 2023. 8. 30.

 

 


 

회원 관리 예제 - 백엔드 개발

  • 비즈니스 요구사항 정리
  • 회원 도메인과 리포지토리 만들기
  • 회원 리포지토리 테스트 케이스 작성
  • 회원 서비스 개발
  • 회원 서비스 테스트

 

 


비즈니스 요구사항 정리

  • 데이터: 회원ID, 이름
  • 기능: 회원 등록, 조회
  • 아직 데이터 저장소가 선정되지 않음 (가상의 시나리오)

 

 

일반적인 웹 애플리케이션 계층 구조

  • 컨트롤러: 웹 MVC의 컨트롤러 역할
  • 서비스: 핵심 비즈니스 로직 구현
  • 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리
  • 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨

 

 

클래스 의존관계

  • 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계
  • 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정
  • 개발을 진행하기 위해 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용

 

 

 


요구사항 정의

요구사항 정의는 프로젝트나 제품을 개발하기 위해 필요한 기능, 성능, 인터페이스, 제약조건 등을 명확하게 정의하는 과정을 말함. 이는 프로젝트나 제품의 성공적인 개발과 제공을 위해 필수적인 단계 중 하나임. 요구사항 정의는 이해관계자들과 개발자들 간의 의사소통을 원활하게 하고, 프로젝트나 제품의 목표를 명확하게 정의하여 성공적인 결과물을 얻는 데 도움을 줌

 

  1. 목표 설정: 프로젝트나 제품의 목표와 방향성을 설정하기 위해 요구사항을 명확히 정의함. 이를 통해 개발팀과 이해관계자들은 무엇을 달성해야 하는지를 알고 일치된 목표를 추구함
  2. 기능 정의: 제품이나 시스템이 어떤 기능을 제공해야 하는지를 명확히 정의함. 이를 통해 개발 과정에서 필요한 기능들을 파악하고 설계할 수 있음
  3. 범위 제한: 요구사항 정의는 프로젝트의 범위를 제한하기 위해 사용됨. 모든 요구사항을 고려하며 프로젝트 범위를 확정함으로써 끊임없는 범위 확장을 방지할 수 있음
  4. 인터페이스 명세: 시스템이 다른 시스템 또는 구성 요소와 상호 작용하는 방식을 명시함. 이는 다른 시스템과의 통합을 용이하게 하며, 명확한 커뮤니케이션을 보장함
  5. 성능과 품질 요구사항: 시스템이나 제품이 어느 정도의 성능을 가져야 하는지, 어떤 품질 기준을 충족해야 하는지를 정의함
  6. 제약 조건: 개발 프로세스에 영향을 미치는 제약 조건들을 명시함. 이는 예산, 시간, 기술적 제약 등을 포함할 수 있음
  7. 변경 관리: 요구사항 정의를 기반으로 개발이 진행되는 동안 발생하는 변경 사항을 추적하고 관리하는 데 도움이 됨. 변경이 있을 때마다 이를 정확히 평가하고 관리할 수 있음

출처: chat gpt

 

 

 

인프런 김영한 - <스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술> 실습
300x250