우선순위 P2 · 출시 전 전수 QA 2/13 · 상위 이슈 #252
배경
산출물 곳곳이 비기능 요구사항 ID를 근거로 인용하는데, 정의가 한 곳에 모여 있지 않고 충족 여부도 확인된 적이 없다.
특히 COR(제약)은 "만들면 안 되는 것"이라 위반하면 규제 문제가 된다.
검사 대상 — 산출물에서 실제로 인용되는 19개
| 분류 |
ID |
확인해야 할 것 |
| 성능 PER |
001 · 003 · 004 · 007 |
응답시간 기준(화면정의서 DASH-W01 "3초 이내(PER-001)") 실측 |
| 감사 SAR |
002 |
감사로그가 남아야 하는 행위 전부에서 실제로 남는가 |
| 구현표준 SIR |
001 · 002 · 006 · 007 · 008 |
006=MPA/Ajax(#246에서 정리) · 007=예외처리 단일 @RestControllerAdvice · 008=시간대 Asia/Seoul |
| 제약 COR |
001 · 002 · 004 · 006 · 009 · 010 |
001=자금이체 API 없음 · 004=요율·한도를 요청 바디로 받지 않음 · 009=교육용 표기 |
| 환경 ECR |
001 · 002 · 005 |
Thymeleaf 등 기술 스택 제약 |
할 일
- 19개 ID의 정의 원문 위치를 찾아 한 표로 모은다 (요구사항명세서 xlsx의 비기능 시트가 리포지토리에 CSV로 없다 — 이것부터 확인 필요).
- COR 금지 항목은 위반이 없다는 것을 증명한다. 예:
POST /api/v1/payments/transfer 같은 경로가 없음, 요율·한도를 @RequestBody로 받는 API가 없음.
- PER은 실측한다. 최소한 시연 경로 10컷의 각 화면 응답시간.
- SIR-007 검증: 컨트롤러 안에
try-catch가 없는지, 예외 처리가 GlobalExceptionHandler 한 곳인지.
통과 기준
산출물
ID / 정의 위치 / 요구 내용 / 충족 여부 / 근거 표
공통 규칙 (모든 QA 이슈에 적용)
- 근거 없는 수정 금지 —
00_인덱스/근거대장.md를 먼저 읽고, 모든 수정 제안에 근거 ID(REG-xx / SRC-xx)를 붙인다. 못 붙이면 "근거 없음 — 확인 필요"로 남긴다.
- 발견을 3분류한다 — ① 문서가 틀림 ② 구현이 틀림 ③ 아직 구현 안 됨(문서 유효). ③을 ①로 오인해 지우면 설계 의도가 사라진다.
- 이 이슈에서 직접 고치는 것은 "명백한 오기·1줄짜리"까지. 판단이 필요한 것은 후속 이슈로 분리하고 여기에 링크한다.
- PR 하나가 커지지 않게 — 검사 결과를 먼저 이 이슈에 표로 남기고, 수정은 그다음에 올린다.
배경
산출물 곳곳이 비기능 요구사항 ID를 근거로 인용하는데, 정의가 한 곳에 모여 있지 않고 충족 여부도 확인된 적이 없다.
특히 COR(제약)은 "만들면 안 되는 것"이라 위반하면 규제 문제가 된다.
검사 대상 — 산출물에서 실제로 인용되는 19개
@RestControllerAdvice· 008=시간대Asia/Seoul할 일
POST /api/v1/payments/transfer같은 경로가 없음, 요율·한도를@RequestBody로 받는 API가 없음.try-catch가 없는지, 예외 처리가GlobalExceptionHandler한 곳인지.통과 기준
근거 없음 — 확인 필요로 남았다산출물
ID / 정의 위치 / 요구 내용 / 충족 여부 / 근거표공통 규칙 (모든 QA 이슈에 적용)
00_인덱스/근거대장.md를 먼저 읽고, 모든 수정 제안에 근거 ID(REG-xx / SRC-xx)를 붙인다. 못 붙이면 "근거 없음 — 확인 필요"로 남긴다.