콘텐츠로 이동

품질 속성 시나리오

좋은생각사람들 C/S → Web 전환 프로젝트에서 달성해야 할 품질 속성별 구체적인 시나리오를 정의합니다.


각 시나리오는 다음 6가지 요소로 구성됩니다:

요소설명
Source (자극원)시나리오를 유발하는 주체
Stimulus (자극)시스템에 도착하는 이벤트/요청
Artifact (대상)자극을 받는 시스템 구성요소
Environment (환경)자극이 발생하는 상황/조건
Response (응답)시스템이 자극에 대해 취하는 행동
Response Measure (응답 측정)응답의 측정 가능한 품질 기준

요소내용
Source내부 - 통합 웹 관리자 서버 (AWS ECS/EC2)
StimulusNestJS API 서버 프로세스 크래시
Artifact통합 웹 관리자 시스템 (관리자 SPA + API 서버)
Environment정상 운영 시간 (09:00~18:00, 평일) — 사내 직원 + 외부콜센터 동시 사용
ResponseECS 헬스체크 → 자동 재시작, ALB 페일오버
Response Measure서비스 중단 시간 5분 이내, 연간 가용률 99.5% (약 43시간/년 허용)
요소내용
Source외부 - Playauto API (네이버 스마트스토어/쿠팡 주문 수집 경유)
StimulusAPI 타임아웃 또는 오류 응답 (네이버/쿠팡 측 장애 포함)
ArtifactMarketplaceService — 외부몰 주문 수집 모듈
Environment자동 주문 수집 배치 실행 중 (10분 간격 폴링)
ResponseCircuit Breaker 패턴 적용, 3회 재시도 후 실패 시 수동 처리 대기열 등록 및 담당자 알림
Response Measure3회 재시도(30초 간격), 정기구독팀 담당자 알림 1분 이내 (SMS/Slack)
요소내용
Source내부 - 통합 DB (AWS RDS for SQL Server)
StimulusPrimary DB 연결 실패 또는 인스턴스 장애
Artifact전체 시스템 (관리자 + 홈페이지 + 배치)
Environment정상 운영 중
ResponseRDS Multi-AZ 자동 페일오버, 읽기 전용 레플리카로 조회 전환, 쓰기 작업 큐잉
Response Measure읽기 서비스 30초 이내 복구, 데이터 유실 0건, RPO 0 (동기 복제)

요소내용
Source시스템 - 배치 스케줄러 (NestJS @nestjs/schedule)
StimulusPlayauto 경유 외부몰 주문 수집 (네이버+쿠팡 합산 약 50~100건/일 추정)
ArtifactMarketplaceService — 주문 수집 배치 모듈
Environment10분 간격 폴링 (업무 시간대 09:00~18:00)
Response외부몰 주문 자동 수집 → 통합 DB 저장 → 재고 차감
Response Measure1회 수집 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초 이내

P-3: 레거시 데이터 마이그레이션

섹션 제목: “P-3: 레거시 데이터 마이그레이션”
요소내용
Source시스템 관리자 (ISP 구축 팀)
StimulusOn-Prem MSSQL (75t) + AWS MSSQL (63t) + CMS (13t) → 통합 DB 이관 실행
ArtifactETL 마이그레이션 모듈 (데이터 정제 + 스키마 통합 + 적재)
Environment비운영 시간 (야간/주말), 서비스 중단 윈도우
Response데이터 정제 → 스키마 매핑 → 적재 → 정합성 검증 (카운트/합계/샘플)
Response Measure4시간 이내 완료, 데이터 정합성 100%, 롤백 계획 수립

요소내용
Source내부 사용자 — 외부콜센터 상담원 (더아이앤오, CTI담당 역할)
StimulusPT_Customer 개인정보 조회 (전화번호, 주소, 결제정보 등 48개 컬럼)
Artifact고객 정보 API (CustomerService)
Environment정상 운영 중, CTI 인바운드 콜 연동
ResponseRBAC 권한 검증 (PT_Auth + PT_MENU_authority 기반) → 역할별 마스킹 처리된 정보 제공
Response Measure무권한 접근 차단 100%, 감사 로그 기록 100% (AuditLog 테이블), 외부콜센터는 주소 뒷자리/카드번호 마스킹
요소내용
Source외부 - 악의적 사용자
StimulusSQL Injection, XSS 공격 시도 (현행 PPTP VPN 제거 후 인터넷 노출)
Artifact통합 웹 관리자 + 홈페이지
Environment정상 운영 중 — 현행 대비 공격 표면 증가 (On-Prem → 클라우드 전환)
ResponseAWS WAF 규칙 탐지 → 차단 → CloudWatch 알림 → 관리자 통보
Response MeasureOWASP Top 10 공격 차단 100%, 알림 발송 1분 이내
요소내용
Source내부 사용자 (영업추진팀, 경영지원팀)
Stimulus고객 목록/구독자 목록 대량 Excel 다운로드 시도
Artifact데이터 내보내기 기능 (고객, 구독, 발송 데이터)
Environment정상 운영 중
Response100건 초과 시 상위 관리자 승인 프로세스 실행, 다운로드 전 사유 입력 필수
Response Measure100건 초과 시 승인 필요, 모든 다운로드 AuditLog 기록, 월 1회 다운로드 현황 리포트

4. 변경용이성 (Modifiability) 시나리오

섹션 제목: “4. 변경용이성 (Modifiability) 시나리오”
요소내용
Source영업추진팀 (이성수) 요청 → 개발팀
Stimulus새로운 판매 채널 (예: 11번가, 카카오커머스) 연동 요청
ArtifactMarketplaceService — 외부몰 주문 수집 모듈 (어댑터 패턴)
Environment설계 시점 — 현행 Playauto 경유 네이버/쿠팡 2채널 → 추가 확장
Response신규 채널 어댑터 개발 (IMarketplaceAdapter 인터페이스 구현) 및 배포
Response Measure개발 공수 5일 이내, 기존 코드 수정 0건 (Open/Closed 원칙)
요소내용
Source정기구독팀 (정황규)
Stimulus월간지 배송 프로세스 단계 추가 요청 (예: 발송 전 품질 검수 단계)
ArtifactShippingService — 발송 워크플로우
Environment운영 시점
Response워크플로우 상태 머신 설정 변경으로 대응 (코드 수정 최소화)
Response Measure설정 변경 + 테스트 1일 이내 반영, 기존 발송 데이터 영향 없음
요소내용
Source경영지원팀 (송윤경)
Stimulus월간 매출 리포트 항목 추가 요청 (예: 채널별 이연수익 현황)
Artifact통계/리포트 모듈
Environment운영 시점
Response리포트 템플릿 수정 및 적용
Response Measure개발 공수 2일 이내, 기존 리포트 영향 없음

요소내용
Source신규 직원 (예: 정기구독팀 신규 채용) 또는 외부콜센터 신규 상담원
Stimulus첫 시스템 사용 — 현행 XPlatform C/S 대비 완전히 새로운 웹 UI
Artifact통합 웹 관리자 UI
Environment교육 세션 (업무 매뉴얼 + 실습)
Response기본 업무 수행 가능 (고객 조회, 상담 등록, 구독 확인)
Response Measure4시간 교육 후 독립 업무 수행 가능 (현행 C/S 대비 학습 시간 동등 이하)
요소내용
Source일반 사용자 (사내 직원 전체)
Stimulus잘못된 입력 (예: 고객번호 형식 오류, 구독 기간 미입력) 또는 시스템 오류
Artifact통합 웹 관리자 UI (Ant Design 폼 컴포넌트)
Environment정상 운영 중
Response필드 레벨 유효성 검사 + 명확한 한국어 오류 메시지 + 해결 방법 제시
Response Measure사용자가 1회 안내로 문제 해결 가능, 서버 에러 시 Sentry 자동 보고
요소내용
Source정기구독팀 담당자 또는 외부콜센터 상담원
StimulusCTI 인바운드 콜 → 고객 조회 → 상담 이력 등록 → 구독 상태 확인 → 배송 조회
Artifact통합 웹 관리자 UI — 고객 상세 화면 (탭 구성)
Environment전화 상담 중 (고객 대기 상태)
ResponseCTI 팝업 → 고객 상세 → 탭 전환으로 전체 이력 확인 → 상담 등록 → 완료
Response Measure전체 상담 업무 흐름 5클릭 이내 완료, 화면 전환 없이 탭으로 처리

요소내용
Source시스템 관리자 (경영지원팀 또는 외주 운영)
Stimulus시스템 상태 점검 — CPU, 메모리, DB 커넥션, API 응답 시간, 배치 상태
ArtifactAWS 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회 실패 시 에스컬레이션

우선순위시나리오품질 속성비즈니스 중요도근거
1P-2: 고객 조회 응답성능높음전화 상담 중 고객 대기 — 정기구독팀+외부콜센터 핵심 업무
2S-1: 개인정보 접근 통제보안높음외부콜센터 접근 + 개인정보보호법 의무
3A-2: 외부 채널 연동 장애가용성높음Playauto 경유 주문 수집 중단 시 매출 영향
4U-3: 상담 업무 접근성사용성높음현행 C/S 대비 UX 열위 시 사용자 저항
5M-1: 신규 판매 채널 추가변경용이성중간향후 채널 확장 대비 (11번가, 카카오 등)
6P-1: 외부몰 주문 수집성능중간현행 수동 입력 → 자동화 핵심 가치

날짜작성자변경 내용
2026-02-24ISP팀초안 작성 — 6개 품질 속성, 17개 시나리오
2026-03-03ISP팀현행 시스템 분석 기반 시나리오 구체화 — 실제 팀명/역할 반영 (정기구독팀, 영업추진팀, 경영지원팀, 외부콜센터), 동시 사용자 10~15명 구체화, P-1 수치 보정 (500건→50~100건), 시스템 구성요소 실명 반영 (PT_Customer, MarketplaceService, NestJS 등), 보안 시나리오 현행 매핑 (RBAC, AuditLog), 시나리오 규모 참고 정보 추가