NestJS · Final Design

프로젝트 요구사항을 백엔드 계약으로 번역하기

요구사항 분석은 기능명을 나열하는 일이 아니라, 사용자 행위를 API 계약·데이터 모델·권한 규칙·관측 항목으로 바꾸는 설계 작업이다.

01

행위 추출

회원가입, 주문 생성, 문서 공유처럼 사용자 행동을 command와 query로 나눈다.

02

계약 작성

각 행동의 요청 DTO, 응답 DTO, 오류 코드, 권한 조건을 정한다.

03

데이터 설계

엔티티 관계, unique 제약, 상태 전이, 삭제 정책을 결정한다.

04

요구사항 품질 기준

성능 목표, 감사 로그, 테스트 범위, 배포 위험을 acceptance 기준에 포함한다.

Command
상태 변경 생성, 수정, 취소, 승인 같은 업무
idempotency와 권한 중요
Query
조회 목록, 상세, 검색, 통계
pagination과 filter 필요
Policy
접근 규칙 role, ownership, tenant scope
API마다 명시
Constraint
데이터 무결성 unique, foreign key, 상태 전이 제한
DB와 서비스 양쪽에서 보호

완료 기준 · 오류 · 권한 점검

요구사항 계약 검수 성공 조건과 실패 조건이 모두 적혀 있다.
오류 validation, conflict, forbidden, not found가 구분된다.
권한 리소스별 ownership 판정이 빠지지 않는다.
관측 중요 명령은 로그와 감사 기록 기준이 있다.