좋은생각사람들 C/S → Web 전환 프로젝트에서 달성해야 할 품질 속성별 구체적인 시나리오를 정의합니다.
현행 시스템 규모 참고
사용자 : 사내 직원 ~10명 + 외부콜센터(더아이앤오) 4명 = 동시 사용자 약 10~15명
데이터 : 통합 DB 151 tables (고객관리 75t + 홈페이지 63t + CMS 13t)
비즈니스 로직 : 49개 (20 SP + 14 Function + 15 Trigger)
외부 연동 : 나이스페이 PG, CJ대한통운, Playauto(네이버/쿠팡), 이카운트 ERP, CTI
각 시나리오는 다음 6가지 요소로 구성됩니다:
요소 설명 Source (자극원) 시나리오를 유발하는 주체 Stimulus (자극) 시스템에 도착하는 이벤트/요청 Artifact (대상) 자극을 받는 시스템 구성요소 Environment (환경) 자극이 발생하는 상황/조건 Response (응답) 시스템이 자극에 대해 취하는 행동 Response Measure (응답 측정) 응답의 측정 가능한 품질 기준
요소 내용 Source 내부 - 통합 웹 관리자 서버 (AWS ECS/EC2) Stimulus NestJS API 서버 프로세스 크래시 Artifact 통합 웹 관리자 시스템 (관리자 SPA + API 서버) Environment 정상 운영 시간 (09:00~18:00, 평일) — 사내 직원 + 외부콜센터 동시 사용 Response ECS 헬스체크 → 자동 재시작, ALB 페일오버 Response Measure 서비스 중단 시간 5분 이내, 연간 가용률 99.5% (약 43시간/년 허용)
요소 내용 Source 외부 - Playauto API (네이버 스마트스토어/쿠팡 주문 수집 경유) Stimulus API 타임아웃 또는 오류 응답 (네이버/쿠팡 측 장애 포함) Artifact MarketplaceService — 외부몰 주문 수집 모듈 Environment 자동 주문 수집 배치 실행 중 (10분 간격 폴링) Response Circuit Breaker 패턴 적용, 3회 재시도 후 실패 시 수동 처리 대기열 등록 및 담당자 알림 Response Measure 3회 재시도(30초 간격), 정기구독팀 담당자 알림 1분 이내 (SMS/Slack)
요소 내용 Source 내부 - 통합 DB (AWS RDS for SQL Server) Stimulus Primary DB 연결 실패 또는 인스턴스 장애 Artifact 전체 시스템 (관리자 + 홈페이지 + 배치) Environment 정상 운영 중 Response RDS Multi-AZ 자동 페일오버, 읽기 전용 레플리카로 조회 전환, 쓰기 작업 큐잉 Response Measure 읽기 서비스 30초 이내 복구, 데이터 유실 0건, RPO 0 (동기 복제)
요소 내용 Source 시스템 - 배치 스케줄러 (NestJS @nestjs/schedule) Stimulus Playauto 경유 외부몰 주문 수집 (네이버+쿠팡 합산 약 50~100건/일 추정) Artifact MarketplaceService — 주문 수집 배치 모듈 Environment 10분 간격 폴링 (업무 시간대 09:00~18:00) Response 외부몰 주문 자동 수집 → 통합 DB 저장 → 재고 차감 Response Measure 1회 수집 1분 이내 완료, 오류율 0.1% 미만, 중복 주문 방지 100%
수치 근거 : 현행 Playauto 경유 네이버 스마트스토어 + 쿠팡 주문이 일 50~100건 수준으로 추정 (정확한 수치는 인터뷰 시 확인 필요). 월간지 정기구독 중심 사업 특성상 외부몰 단건 주문량은 상대적으로 적음.
요소 내용 Source 정기구독팀 담당자 (정황규, 어은진) 또는 외부콜센터(더아이앤오) 상담원 Stimulus 고객 정보 검색 (이름, 전화번호, 고객번호, 회사명) — CTI 인바운드 콜 연동 포함 Artifact 고객 조회 화면 (PT_Customer 48컬럼 + 관련 구독/결제/CS 이력) Environment 동시 사용자 10~15명 (사내 10명 + 외부콜센터 4명), 전화 상담 중 Response 통합된 고객 정보 (기본정보 + 구독 이력 + 결제 이력 + CS 이력 + 수신자 목록) 표시 Response Measure 응답 시간 2초 이내, 검색 결과 정확도 100%, CTI 팝업 1초 이내
요소 내용 Source 시스템 관리자 (ISP 구축 팀) Stimulus On-Prem MSSQL (75t) + AWS MSSQL (63t) + CMS (13t) → 통합 DB 이관 실행 Artifact ETL 마이그레이션 모듈 (데이터 정제 + 스키마 통합 + 적재) Environment 비운영 시간 (야간/주말), 서비스 중단 윈도우 Response 데이터 정제 → 스키마 매핑 → 적재 → 정합성 검증 (카운트/합계/샘플) Response Measure 4시간 이내 완료, 데이터 정합성 100%, 롤백 계획 수립
요소 내용 Source 내부 사용자 — 외부콜센터 상담원 (더아이앤오, CTI담당 역할) Stimulus PT_Customer 개인정보 조회 (전화번호, 주소, 결제정보 등 48개 컬럼) Artifact 고객 정보 API (CustomerService) Environment 정상 운영 중, CTI 인바운드 콜 연동 Response RBAC 권한 검증 (PT_Auth + PT_MENU_authority 기반) → 역할별 마스킹 처리된 정보 제공 Response Measure 무권한 접근 차단 100%, 감사 로그 기록 100% (AuditLog 테이블), 외부콜센터는 주소 뒷자리/카드번호 마스킹
요소 내용 Source 외부 - 악의적 사용자 Stimulus SQL Injection, XSS 공격 시도 (현행 PPTP VPN 제거 후 인터넷 노출) Artifact 통합 웹 관리자 + 홈페이지 Environment 정상 운영 중 — 현행 대비 공격 표면 증가 (On-Prem → 클라우드 전환) Response AWS WAF 규칙 탐지 → 차단 → CloudWatch 알림 → 관리자 통보 Response Measure OWASP Top 10 공격 차단 100%, 알림 발송 1분 이내
요소 내용 Source 내부 사용자 (영업추진팀, 경영지원팀) Stimulus 고객 목록/구독자 목록 대량 Excel 다운로드 시도 Artifact 데이터 내보내기 기능 (고객, 구독, 발송 데이터) Environment 정상 운영 중 Response 100건 초과 시 상위 관리자 승인 프로세스 실행, 다운로드 전 사유 입력 필수 Response Measure 100건 초과 시 승인 필요, 모든 다운로드 AuditLog 기록, 월 1회 다운로드 현황 리포트
요소 내용 Source 영업추진팀 (이성수) 요청 → 개발팀 Stimulus 새로운 판매 채널 (예: 11번가, 카카오커머스) 연동 요청 Artifact MarketplaceService — 외부몰 주문 수집 모듈 (어댑터 패턴) Environment 설계 시점 — 현행 Playauto 경유 네이버/쿠팡 2채널 → 추가 확장 Response 신규 채널 어댑터 개발 (IMarketplaceAdapter 인터페이스 구현) 및 배포 Response Measure 개발 공수 5일 이내, 기존 코드 수정 0건 (Open/Closed 원칙)
요소 내용 Source 정기구독팀 (정황규) Stimulus 월간지 배송 프로세스 단계 추가 요청 (예: 발송 전 품질 검수 단계) Artifact ShippingService — 발송 워크플로우 Environment 운영 시점 Response 워크플로우 상태 머신 설정 변경으로 대응 (코드 수정 최소화) Response Measure 설정 변경 + 테스트 1일 이내 반영, 기존 발송 데이터 영향 없음
요소 내용 Source 경영지원팀 (송윤경) Stimulus 월간 매출 리포트 항목 추가 요청 (예: 채널별 이연수익 현황) Artifact 통계/리포트 모듈 Environment 운영 시점 Response 리포트 템플릿 수정 및 적용 Response Measure 개발 공수 2일 이내, 기존 리포트 영향 없음
요소 내용 Source 신규 직원 (예: 정기구독팀 신규 채용) 또는 외부콜센터 신규 상담원 Stimulus 첫 시스템 사용 — 현행 XPlatform C/S 대비 완전히 새로운 웹 UI Artifact 통합 웹 관리자 UI Environment 교육 세션 (업무 매뉴얼 + 실습) Response 기본 업무 수행 가능 (고객 조회, 상담 등록, 구독 확인) Response Measure 4시간 교육 후 독립 업무 수행 가능 (현행 C/S 대비 학습 시간 동등 이하)
요소 내용 Source 일반 사용자 (사내 직원 전체) Stimulus 잘못된 입력 (예: 고객번호 형식 오류, 구독 기간 미입력) 또는 시스템 오류 Artifact 통합 웹 관리자 UI (Ant Design 폼 컴포넌트) Environment 정상 운영 중 Response 필드 레벨 유효성 검사 + 명확한 한국어 오류 메시지 + 해결 방법 제시 Response Measure 사용자가 1회 안내로 문제 해결 가능, 서버 에러 시 Sentry 자동 보고
요소 내용 Source 정기구독팀 담당자 또는 외부콜센터 상담원 Stimulus CTI 인바운드 콜 → 고객 조회 → 상담 이력 등록 → 구독 상태 확인 → 배송 조회 Artifact 통합 웹 관리자 UI — 고객 상세 화면 (탭 구성) Environment 전화 상담 중 (고객 대기 상태) Response CTI 팝업 → 고객 상세 → 탭 전환으로 전체 이력 확인 → 상담 등록 → 완료 Response Measure 전체 상담 업무 흐름 5클릭 이내 완료, 화면 전환 없이 탭으로 처리
요소 내용 Source 시스템 관리자 (경영지원팀 또는 외주 운영) Stimulus 시스템 상태 점검 — CPU, 메모리, DB 커넥션, API 응답 시간, 배치 상태 Artifact AWS CloudWatch + Sentry 대시보드 Environment 정상 운영 중 Response 실시간 메트릭 표시, 임계치 초과 시 알림 (Slack/SMS) Response Measure 이상 징후 5분 이내 감지, 알림 발송 1분 이내
요소 내용 Source 시스템 - NestJS 배치 스케줄러 (@nestjs/schedule) Stimulus 배치 작업 실패 — 월간지 발송 데이터 생성, 지로 생성, 이연수익 계산, 외부몰 주문 수집 등 Artifact 배치 모니터링 (현행 PT_DataMonitoringLog 확장) Environment 자동 배치 실행 중 Response 실패 알림 즉시 발송, 관리자 UI에서 수동 재실행 가능, 실패 원인 로그 기록 Response Measure 실패 알림 즉시 발송, 재실행 UI 제공, 연속 3회 실패 시 에스컬레이션
우선순위 시나리오 품질 속성 비즈니스 중요도 근거 1 P-2: 고객 조회 응답 성능 높음 전화 상담 중 고객 대기 — 정기구독팀+외부콜센터 핵심 업무 2 S-1: 개인정보 접근 통제 보안 높음 외부콜센터 접근 + 개인정보보호법 의무 3 A-2: 외부 채널 연동 장애 가용성 높음 Playauto 경유 주문 수집 중단 시 매출 영향 4 U-3: 상담 업무 접근성 사용성 높음 현행 C/S 대비 UX 열위 시 사용자 저항 5 M-1: 신규 판매 채널 추가 변경용이성 중간 향후 채널 확장 대비 (11번가, 카카오 등) 6 P-1: 외부몰 주문 수집 성능 중간 현행 수동 입력 → 자동화 핵심 가치
날짜 작성자 변경 내용 2026-02-24 ISP팀 초안 작성 — 6개 품질 속성, 17개 시나리오 2026-03-03 ISP팀 현행 시스템 분석 기반 시나리오 구체화 — 실제 팀명/역할 반영 (정기구독팀, 영업추진팀, 경영지원팀, 외부콜센터), 동시 사용자 10~15명 구체화, P-1 수치 보정 (500건→50~100건), 시스템 구성요소 실명 반영 (PT_Customer, MarketplaceService, NestJS 등), 보안 시나리오 현행 매핑 (RBAC, AuditLog), 시나리오 규모 참고 정보 추가