3센터 A-A-A RTGS 실시간총액결제 프로토타입 최초 버전관리 시작. - backend: Kotlin/Gradle 멀티모듈(sequencer, common, 채널/센터 모듈) - frontend: Vite + TS - infra: docker-compose, prometheus/grafana, ELK 네이티브 스크립트 - loadtest(k6), sim(장애/순서/정합성 시나리오), docs(PoC 보고서/복원력방안)
4.7 KiB
4.7 KiB
RTGS SW 산출물 관리대장
목적: 코드와 문서의 정합성 유지(과거 PoC 시 문서 미갱신으로 코드와 설계서가 어긋난 문제 재발 방지). 원칙: 개발·변경이 있을 때 관련 산출물을 같은 작업에서 즉시 갱신하고, 개발일지에 이력을 남긴다. 관리: 루비(AI) · 검토: 양팀장님 · 최초 2026-07-10
1. 정합성 원칙 (Single Source of Truth)
| 정보 | 진실의 출처(코드/설정) | 문서는 이를 "반영"만 |
|---|---|---|
| 포트·서비스 구성 | run-dc1.cmd, 각 application.yml |
아키텍처 설계서 §3·§4, 부록 A |
| Kafka 토픽 | common/Constants.kt (Topics) |
아키텍처 §5.3, 워크플로우 §4 |
| DB 스키마 | Flyway backend/louisvuitton/.../db/migration/V*.sql (수기 ALTER 금지, 신규는 V+1 추가) + JPA 엔티티 |
아키텍처 §5.2 |
| 인증/권한(관리자) | Gucci JWT 발급 + LouisVuitton 검증(role ADMIN), 비밀키 BCrypt | 아키텍처 §8.5 |
| 항목 한글명(데이터 사전) | DB COMMENT ON COLUMN (→ /meta/labels) |
화면 라벨·문서 표 |
| 전문(ISO20022) | common/resources/iso20022/xsd/* + 샘플 |
아키텍처 §6.1, 테스트 시나리오 |
| API 목록 | 각 *Controller.kt |
아키텍처 §6.2, 테스트 시나리오 |
| 상태머신 | common/TxSts.kt + 서비스 로직 |
아키텍처 §5.4, 워크플로우 §3 |
문서가 코드와 다르면 코드가 맞다고 간주하고 문서를 고친다(반대 아님). 의도적 설계 변경이면 코드·문서를 함께 바꾼다.
2. 필수 산출물 목록
| 산출물 | 목적 | 갱신 트리거 | 최신 갱신 |
|---|---|---|---|
| RTGS 아키텍처 설계서.md | 구조·스택(OS-WAS-DB)·데이터·인터페이스·보안 | 서비스/포트/스택/스키마/API/전문/보안 변경 | 2026-07-10 |
| RTGS 프로토타입 워크플로우.md | 처리 흐름·토픽·서비스 책임 | 처리흐름/토픽/서비스 역할 변경 | 2026-07-10 |
| RTGS 프로토타입 로컬 테스트 시나리오.md | 기능·엔드포인트·샘플 시험 절차 | 기능/엔드포인트/샘플/포트 변경 | 2026-07-10 |
| RTGS 프로토타입 개발일지.md | 일자별 개발·변경 이력(감사 추적) | 모든 작업·변경 시(必) | 2026-07-10 |
| sim/README.md | 복원력 검증(S1/S2/S4) 절차·결과 | 검증 수행·시나리오 변경 | 2026-07-10 |
| SW 산출물 관리대장.md (본 문서) | 산출물·정합성 관리 규칙 | 산출물/규칙 변경 | 2026-07-10 |
| (메모리) rtgs-project 등 | 세션 간 지식 유지 | 아키텍처·결정 변경 | 2026-07-10 |
참고 자료(입력물, 갱신 대상 아님): 2센터흐름도.png, chanel/dior/hermes/prada.png, UML.xlsx, pacs.7z,
복원력방안 PDF, PoC 1~3차 결과보고, rtgs 프로젝트 개요.txt(양팀장님 관리).
3. 변경 유형 → 갱신 대상 매핑 (체크리스트)
작업 시 해당 행의 문서를 모두 갱신한다.
| 변경 유형 | 갱신할 산출물 |
|---|---|
| 서비스 추가/포트 변경 | 아키텍처(§3·§4·부록A) · run-dc1.cmd · 테스트 시나리오(포트) · 개발일지 · 메모리 |
| 처리 흐름/토픽 변경 | 워크플로우 · 아키텍처(§5.3·§7) · 개발일지 |
| DB 스키마 변경 | Flyway 새 마이그레이션 V+1__*.sql 추가(+ COMMENT) · 엔티티 · 아키텍처(§5.2) · (초기화 대상이면 admin reset) · 개발일지 |
| API 추가/변경 | 컨트롤러 · 아키텍처(§6.2) · 테스트 시나리오 · 개발일지 |
| 전문(ISO) 변경 | XSD/샘플 · 아키텍처(§6.1) · 테스트 시나리오 · 개발일지 |
| 보안/인증 변경 | 아키텍처(§8.5) · 워크플로우(Gucci) · 개발일지 |
| 검증(sim/k6) 수행 | sim/README(결과) · 개발일지 |
4. 정합성 점검 (주기·릴리스 전)
아래가 문서와 실제가 일치하는지 확인한다(불일치 시 문서 수정):
- 포트:
run-dc1.cmd/application.yml↔ 아키텍처 부록 A - 토픽:
Constants.kt↔ 아키텍처 §5.3 - 테이블: Flyway 마이그레이션(V*) ↔ 아키텍처 §5.2 (실DB
flyway_schema_history로 적용본 확인) - API:
*Controller.kt↔ 아키텍처 §6.2 / 테스트 시나리오 - 전문 버전: XSD 파일명 ↔ 아키텍처 §6.1
- 서비스 수: 빌드 모듈 수 ↔ 문서의 "N개 서비스"
(자동화 여지) 위 항목은 grep 기반 점검 스크립트로 만들 수 있음 — 필요 시
docs/tools/에 추가.
5. 최종 산출물 변환
- 개발 중:
.md유지. 완성 시:docs/tools/convert.cmd로 PPT/PDF 생성(→docs/_dist/). - 다이어그램: 참고 PNG 임베드 + 신규는 Mermaid. PPT/PDF 변환 전 Mermaid는 PNG로 선렌더.