# KT AI 기반 소상공인 이벤트 자동 생성 서비스 - 유저스토리 목록 ## 전체 유저스토리 요약 | 서비스 | ID | 유저스토리 | 우선순위 | 복잡도 | |--------|-----|-----------|----------|--------| | **User** | UFR-USER-010 | [회원가입] 소상공인으로서 간편하게 회원가입하고 싶다 | M | 8 | | | UFR-USER-020 | [매장정보등록] 맞춤형 이벤트를 위해 매장 정보를 등록하고 싶다 | M | 13 | | **Event Planning** | UFR-PLAN-010 | [이벤트목적선택] 효과적인 이벤트를 위해 목적을 선택하고 싶다 | M | 3 | | | UFR-PLAN-020 | [AI업종트렌드분석] 성공률 높은 이벤트를 위해 AI 트렌드 분석을 원한다 | M | 13 | | | UFR-PLAN-030 | [AI경품추천] 예산 내 최적 경품을 AI가 추천해주기를 원한다 | M | 21 | | | UFR-PLAN-040 | [AI참여방법설계] 재방문 유도하는 참여 방법을 AI가 설계해주기를 원한다 | M | 21 | | | UFR-PLAN-050 | [AI홍보문구생성] 매력적인 홍보 문구를 AI가 자동 생성해주기를 원한다 | M | 13 | | | UFR-PLAN-060 | [이벤트기획안승인] 완성된 기획안을 검토하고 승인하고 싶다 | M | 5 | | **Content Generation** | UFR-CONT-010 | [AI이미지생성] 브랜드 컬러와 로고를 반영한 이미지를 AI가 생성해주기를 원한다 | M | 34 | | | UFR-CONT-020 | [AI영상제작] SNS 및 우리동네TV용 15초 영상을 AI가 제작해주기를 원한다 | M | 34 | | | UFR-CONT-030 | [SNS콘텐츠생성] 플랫폼별 최적화된 콘텐츠를 자동 생성해주기를 원한다 | M | 21 | | | UFR-CONT-040 | [QR포스터생성] 오프라인 홍보용 QR 포스터를 생성하고 싶다 | M | 8 | | | UFR-CONT-050 | [콘텐츠편집] 생성된 콘텐츠를 개인화하기 위해 수정하고 싶다 | S | 13 | | | UFR-CONT-060 | [콘텐츠최종승인] 완성된 콘텐츠를 검토하고 승인하고 싶다 | M | 3 | | **Distribution** | UFR-DIST-010 | [다중채널배포설정] 여러 채널에 한 번에 배포하고 싶다 | M | 13 | | | UFR-DIST-020 | [우리동네TV배포] 주변 지역 고객에게 우리동네TV로 도달하고 싶다 | M | 21 | | | UFR-DIST-030 | [링고비즈연결음업데이트] 매장 전화 연결음을 이벤트 내용으로 업데이트하고 싶다 | S | 13 | | | UFR-DIST-040 | [지니TV광고배포] 가정의 TV를 통해 지니TV 광고를 배포하고 싶다 | M | 21 | | | UFR-DIST-050 | [SNS자동포스팅] Instagram, Naver Blog, Kakao에 자동 포스팅하고 싶다 | M | 13 | | | UFR-DIST-060 | [오프라인자료다운로드] QR 포스터와 인쇄용 PDF를 다운로드하고 싶다 | S | 5 | | **Participation** | UFR-PART-010 | [이벤트참여신청] 고객이 간편하게 이벤트에 참여하고 싶다 | M | 8 | | | UFR-PART-020 | [중복참여방지] 공정한 이벤트 운영을 위해 1인 1회만 참여 허용하고 싶다 | M | 8 | | | UFR-PART-030 | [자동당첨자추첨] 이벤트 종료 시 자동으로 당첨자가 추첨되기를 원한다 | M | 13 | | | UFR-PART-040 | [당첨알림발송] 고객이 SMS나 카카오 알림톡으로 당첨 알림을 받고 싶다 | M | 8 | | | UFR-PART-050 | [당첨자명단관리] 당첨자 명단을 확인하고 관리하고 싶다 | M | 5 | | **Analytics** | UFR-ANAL-010 | [실시간대시보드조회] 실시간으로 참여자 수, 노출 수, 매출 증가율을 확인하고 싶다 | M | 21 | | | UFR-ANAL-020 | [채널별성과분석] 채널별 노출 수와 참여율을 비교하고 싶다 | M | 13 | | | UFR-ANAL-030 | [ROI자동계산] 총비용 대비 수익(ROI)이 자동으로 계산되기를 원한다 | M | 13 | | | UFR-ANAL-040 | [분석리포트생성] 종합 분석 리포트를 PDF로 다운로드하고 싶다 | S | 8 | | **AI Learning** | UFR-AIMPR-010 | [AI개선안생성] AI가 분석 결과를 바탕으로 구체적인 개선안을 제안해주기를 원한다 | M | 21 | | | UFR-AIMPR-020 | [다음이벤트아이디어제안] AI가 시즌별 성공 이벤트 아이디어를 제안해주기를 원한다 | S | 13 | | | UFR-AIMPR-030 | [성공패턴학습] AI 시스템이 이벤트 결과를 학습하여 성공 패턴을 축적하고 싶다 | M | 34 | | **비기능 요구사항** | NFR-PERF-010 | [AI기획속도] AI 이벤트 기획을 10초 이내에 완료하고 싶다 | M | 21 | | | NFR-PERF-020 | [콘텐츠생성속도] 이미지와 영상 생성을 5-8분 내에 완료하고 싶다 | M | 34 | | | NFR-PERF-030 | [배포속도] 다중 채널 배포를 1분 이내에 완료하고 싶다 | M | 21 | | | NFR-PERF-040 | [실시간데이터수집] 5분 간격으로 실시간 데이터를 수집하고 싶다 | M | 13 | | | NFR-SECU-010 | [개인정보보호] 개인정보 보호 규정을 준수하고 암호화를 적용하고 싶다 | M | 13 | | | NFR-RELI-010 | [배포실패자동재시도] 배포 실패 시 자동으로 3회까지 재시도하고 싶다 | M | 8 | | | NFR-SCAL-010 | [동시이벤트처리] 최소 100개의 이벤트를 동시에 처리할 수 있어야 한다 | S | 21 | --- ## 우선순위별 통계 | 우선순위 | 개수 | 비율 | |---------|------|------| | M (필수) | 33 | 80.5% | | S (선택) | 8 | 19.5% | | **총계** | **41** | **100%** | --- ## 서비스별 통계 | 서비스 | 유저스토리 수 | 평균 복잡도 | 필수(M) | 선택(S) | |--------|-------------|-----------|---------|---------| | User | 2 | 10.5 | 2 | 0 | | Event Planning | 6 | 12.7 | 6 | 0 | | Content Generation | 6 | 18.8 | 5 | 1 | | Distribution | 6 | 14.3 | 4 | 2 | | Participation | 5 | 8.4 | 5 | 0 | | Analytics | 4 | 13.8 | 3 | 1 | | AI Learning | 3 | 22.7 | 2 | 1 | | 비기능 요구사항 | 7 | 18.7 | 6 | 1 | | **총계** | **39** | **14.8** | **33** | **6** | --- ## 복잡도별 통계 | 복잡도 범위 | 개수 | 유저스토리 | |-----------|------|-----------| | 1-5 (낮음) | 5 | UFR-PLAN-010, UFR-PLAN-060, UFR-CONT-060, UFR-DIST-060, UFR-PART-050 | | 6-13 (중간) | 23 | UFR-USER-010, UFR-USER-020, UFR-PLAN-020, UFR-PLAN-050, UFR-CONT-030, UFR-CONT-040, UFR-CONT-050, UFR-DIST-010, UFR-DIST-030, UFR-DIST-050, UFR-PART-010, UFR-PART-020, UFR-PART-040, UFR-ANAL-020, UFR-ANAL-030, UFR-AIMPR-020, NFR-PERF-040, NFR-SECU-010, NFR-RELI-010 | | 14-21 (높음) | 10 | UFR-PLAN-030, UFR-PLAN-040, UFR-DIST-020, UFR-DIST-040, UFR-ANAL-010, UFR-AIMPR-010, NFR-PERF-010, NFR-PERF-030, NFR-SCAL-010 | | 22+ (매우 높음) | 3 | UFR-CONT-010, UFR-CONT-020, UFR-AIMPR-030, NFR-PERF-020 | --- ## 주요 기능별 상세 목록 ### 1. User 서비스 (회원 인증 및 매장 정보 관리) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | |----|------|----------|--------|-------------| | UFR-USER-010 | 회원가입 | M | 8 | 이름, 전화번호, 이메일, KT 본인 인증(선택), 중복 가입 방지 | | UFR-USER-020 | 매장정보등록 | M | 13 | 매장명, 업종, 주소, 영업시간, 사업자번호 검증, 무료 체험 쿠폰 발급 | **검증 로직:** - 사업자번호 형식 검증 (XXX-XX-XXXXX) - 국세청 사업자번호 검증 시스템 API 연동 - 사업자번호 유효성 확인 및 휴폐업 여부 확인 --- ### 2. Event Planning 서비스 (AI 기반 이벤트 자동 기획) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | AI 모델 | |----|------|----------|--------|-------------|---------| | UFR-PLAN-010 | 이벤트목적선택 | M | 3 | 신규고객 유치/재방문 유도/매출 증대/인지도 향상 선택 | - | | UFR-PLAN-020 | AI업종트렌드분석 | M | 13 | 업종, 지역, 시즌 기반 트렌드 분석, 성공 사례 분석 | Claude API | | UFR-PLAN-030 | AI경품추천 | M | 21 | 예산, 타겟 고객층 기반 경품 Top 5 추천, 수정 가능 | Claude API | | UFR-PLAN-040 | AI참여방법설계 | M | 21 | 간단한 참여 방법 + 재방문 유도 + 바이럴 확산 3가지 옵션 | Claude API | | UFR-PLAN-050 | AI홍보문구생성 | M | 13 | 5개 버전 홍보 문구 + SNS 해시태그 + 플랫폼별 최적화 | GPT-4 API | | UFR-PLAN-060 | 이벤트기획안승인 | M | 5 | 기획안 요약 제공, 승인 처리, 수정 기능 | - | **성능 목표:** 전체 기획 과정 10초 이내 완료 --- ### 3. Content Generation 서비스 (AI 기반 콘텐츠 자동 생성) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | AI 모델 | |----|------|----------|--------|-------------|---------| | UFR-CONT-010 | AI이미지생성 | M | 34 | 브랜드 컬러, 로고 반영, 3가지 스타일 (심플/화려/트렌디), 1080x1080 | Stable Diffusion | | UFR-CONT-020 | AI영상제작 | M | 34 | 15초 영상, 배경 음악, 텍스트 오버레이, 우리동네TV용 1920x1080 | AI 영상 제작 엔진 | | UFR-CONT-030 | SNS콘텐츠생성 | M | 21 | Instagram (1080x1080), Naver Blog (800x600), Kakao (800x800) | - | | UFR-CONT-040 | QR포스터생성 | M | 8 | QR 코드 포함, A4/A3 PDF, 인쇄 최적화 (300dpi) | - | | UFR-CONT-050 | 콘텐츠편집 | S | 13 | 텍스트 수정, 색상 조정, 레이아웃 변경, 편집 이력 관리 (최대 3개 버전) | - | | UFR-CONT-060 | 콘텐츠최종승인 | M | 3 | 전체 콘텐츠 미리보기, 승인 처리 | - | **성능 목표:** 전체 콘텐츠 생성 5-8분 이내 완료 --- ### 4. Distribution 서비스 (다중 채널 자동 배포) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | 연동 API | |----|------|----------|--------|-------------|---------| | UFR-DIST-010 | 다중채널배포설정 | M | 13 | 채널 선택 (우리동네TV, 링고비즈, 지니TV, SNS), 즉시/예약 배포 | - | | UFR-DIST-020 | 우리동네TV배포 | M | 21 | 반경 (500m/1km), 송출 시간대, 15초 영상 업로드 | 우리동네TV API | | UFR-DIST-030 | 링고비즈연결음업데이트 | S | 13 | 네이버 클로바 TTS 음성 생성, 연결음 업데이트, 미리듣기 | 링고비즈 API, Clova TTS | | UFR-DIST-040 | 지니TV광고배포 | M | 21 | 타겟 지역 (1km/3km/5km), 노출 시간대, 예산 기반 노출량 | 지니TV API | | UFR-DIST-050 | SNS자동포스팅 | M | 13 | Instagram, Naver Blog, Kakao OAuth 연동, 예약 포스팅 | SNS API (Instagram, Naver, Kakao) | | UFR-DIST-060 | 오프라인자료다운로드 | S | 5 | QR 포스터 (A4/A3 PDF), QR 코드 이미지, 인쇄용 이미지 | - | **성능 목표:** 전체 배포 과정 1분 이내 완료 --- ### 5. Participation 서비스 (이벤트 참여 및 접수 관리) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | |----|------|----------|--------|-------------| | UFR-PART-010 | 이벤트참여신청 | M | 8 | 고객명, 전화번호, 참여 경로 추적, 응모번호 발급 | | UFR-PART-020 | 중복참여방지 | M | 8 | 전화번호 기반 중복 체크, 매장 방문 고객 가산점 | | UFR-PART-030 | 자동당첨자추첨 | M | 13 | 이벤트 종료 시 자동 추첨, 난수 기반 무작위 알고리즘, 매장 방문 가산점 | | UFR-PART-040 | 당첨알림발송 | M | 8 | SMS/카카오 알림톡 발송, 경품 수령 방법 안내, 실패 시 재발송 (최대 3회) | | UFR-PART-050 | 당첨자명단관리 | M | 5 | 당첨자 목록, 경품 지급 상태 관리, 엑셀 다운로드 | **정책:** - 1인 1회 참여 제한 - 개인정보 보호 규정 준수 - 매장 방문 고객 가산점 부여 --- ### 6. Analytics 서비스 (실시간 효과 측정 및 분석) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | 데이터 소스 | |----|------|----------|--------|-------------|------------| | UFR-ANAL-010 | 실시간대시보드조회 | M | 21 | 참여자 수, 채널별 노출 수, 매출 증가율, ROI (5분 간격 업데이트) | KT 채널 API, POS, GA | | UFR-ANAL-020 | 채널별성과분석 | M | 13 | 노출 수, 참여율, 전환율, 비용 대비 효과 (CPA) 비교 | 각 채널 API | | UFR-ANAL-030 | ROI자동계산 | M | 13 | 총 투자 비용 vs 수익, 손익분기점, 회수 기간 | - | | UFR-ANAL-040 | 분석리포트생성 | S | 8 | 종합 리포트 PDF 생성, 업종 평균 대비 벤치마킹 | 구글 애널리틱스 | **데이터 수집:** - 실시간 데이터 수집 (5분 간격) - 구글 애널리틱스 연동 - POS 시스템 연동 --- ### 7. AI Learning 서비스 (AI 학습 및 개선 제안) | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | AI 모델 | |----|------|----------|--------|-------------|---------| | UFR-AIMPR-010 | AI개선안생성 | M | 21 | 성공/실패 요인 분석, 3가지 개선안 제시 (경품 변경, 참여 방법 단순화, 채널 조정) | AI 머신러닝 엔진 | | UFR-AIMPR-020 | 다음이벤트아이디어제안 | S | 13 | 시즌별 성공 이벤트 아이디어 5가지, 예상 성과 제공 | 트렌드 DB | | UFR-AIMPR-030 | 성공패턴학습 | M | 34 | 이벤트 결과 데이터 학습, 성공 패턴 축적, 추천 정확도 개선 | 빅데이터 분석 시스템 | **학습 전략:** - 성공 패턴 자동 학습 및 재활용 - 실패 요인 회피 로직 적용 - 업종별/지역별 데이터 축적 - 지속적 성능 개선 알고리즘 --- ### 8. 비기능 요구사항 (성능, 보안, 안정성, 확장성) | 카테고리 | ID | 기능 | 우선순위 | 복잡도 | 핵심 요구사항 | |---------|-----|------|----------|--------|-------------| | 성능 | NFR-PERF-010 | AI기획속도 | M | 21 | AI 이벤트 기획 10초 이내 (병렬 호출, 캐싱) | | | NFR-PERF-020 | 콘텐츠생성속도 | M | 34 | 이미지 2-3분, 영상 3-5분, 총 5-8분 이내 (병렬 처리, GPU 가속) | | | NFR-PERF-030 | 배포속도 | M | 21 | 다중 채널 배포 1분 이내 (채널별 병렬 배포) | | | NFR-PERF-040 | 실시간데이터수집 | M | 13 | 5분 간격 자동 데이터 수집 (스케줄러, 재시도 3회) | | 보안 | NFR-SECU-010 | 개인정보보호 | M | 13 | 전화번호 AES-256 암호화, GDPR/개인정보보호법 준수, RBAC | | 안정성 | NFR-RELI-010 | 배포실패자동재시도 | M | 8 | 배포 실패 시 자동 재시도 (최대 3회, 지수 백오프) | | 확장성 | NFR-SCAL-010 | 동시이벤트처리 | S | 21 | 100개 이벤트 동시 처리 (Auto Scaling, 로드 밸런싱, 메시지 큐) | --- ## 기술 스택 요약 ### AI/ML 모델 | 모델 | 용도 | 관련 유저스토리 | |------|------|----------------| | Claude API | 트렌드 분석, 경품 추천, 참여 방법 설계 | UFR-PLAN-020, UFR-PLAN-030, UFR-PLAN-040 | | GPT-4 API | 홍보 문구 생성 | UFR-PLAN-050 | | Stable Diffusion | 이미지 생성 | UFR-CONT-010 | | AI 영상 제작 엔진 | 15초 영상 제작 | UFR-CONT-020 | | 네이버 클로바 TTS | 연결음 음성 합성 | UFR-DIST-030 | | AI 머신러닝 엔진 | 개선안 생성, 성공 패턴 학습 | UFR-AIMPR-010, UFR-AIMPR-030 | ### 외부 API 연동 | API | 용도 | 관련 유저스토리 | |-----|------|----------------| | 국세청 사업자번호 검증 | 사업자번호 유효성 확인 | UFR-USER-020 | | 우리동네TV API | 지역 타겟팅 영상 송출 | UFR-DIST-020 | | 링고비즈 API | 연결음 업데이트 | UFR-DIST-030 | | 지니TV API | TV 광고 배포 | UFR-DIST-040 | | Instagram API | SNS 자동 포스팅 | UFR-DIST-050 | | Naver Blog API | 블로그 자동 포스팅 | UFR-DIST-050 | | Kakao Channel API | 카카오 채널 자동 포스팅 | UFR-DIST-050 | | SMS/카카오 알림톡 | 당첨 알림 발송 | UFR-PART-040 | | POS 시스템 | 매출 데이터 수집 | UFR-ANAL-010 | | 구글 애널리틱스 | 웹/앱 유입 데이터 수집 | UFR-ANAL-010, UFR-ANAL-040 | --- ## 마이크로서비스 아키텍처 ``` ┌─────────────────────────────────────────────────────────────┐ │ API Gateway │ └─────────────────────────────────────────────────────────────┘ │ ┌─────────────────────┼─────────────────────┐ │ │ │ ┌───────▼────────┐ ┌────────▼────────┐ ┌────────▼────────┐ │ User Service │ │ Event Planning │ │ Content │ │ (UFR-USER) │ │ (UFR-PLAN) │ │ Generation │ │ │ │ │ │ (UFR-CONT) │ └────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ │ │ │ ┌───────▼────────┐ ┌────────▼────────┐ ┌────────▼────────┐ │ Distribution │ │ Participation │ │ Analytics │ │ (UFR-DIST) │ │ (UFR-PART) │ │ (UFR-ANAL) │ └────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ └─────────────────────┼─────────────────────┘ │ ┌─────────▼─────────┐ │ AI Learning │ │ (UFR-AIMPR) │ └───────────────────┘ ``` --- ## 개발 우선순위 로드맵 ### Phase 1: MVP (8주) **목표:** 기본 이벤트 기획 및 배포 기능 | 순서 | 서비스 | 유저스토리 | 비고 | |------|--------|-----------|------| | 1 | User | UFR-USER-010, UFR-USER-020 | 회원가입, 매장 정보 등록 | | 2 | Event Planning | UFR-PLAN-010, UFR-PLAN-030, UFR-PLAN-060 | 목적 선택, 경품 추천, 승인 | | 3 | Content Generation | UFR-CONT-010, UFR-CONT-040, UFR-CONT-060 | 이미지 생성, QR 포스터, 승인 | | 4 | Distribution | UFR-DIST-010, UFR-DIST-050 | 다중 채널 설정, SNS 포스팅 | | 5 | Participation | UFR-PART-010, UFR-PART-020, UFR-PART-030 | 참여 신청, 중복 방지, 자동 추첨 | ### Phase 2: 고도화 (6주) **목표:** AI 기능 강화 및 분석 기능 추가 | 순서 | 서비스 | 유저스토리 | 비고 | |------|--------|-----------|------| | 6 | Event Planning | UFR-PLAN-020, UFR-PLAN-040, UFR-PLAN-050 | 트렌드 분석, 참여 방법, 홍보 문구 | | 7 | Content Generation | UFR-CONT-020, UFR-CONT-030 | 영상 제작, SNS 콘텐츠 | | 8 | Distribution | UFR-DIST-020, UFR-DIST-040 | 우리동네TV, 지니TV | | 9 | Participation | UFR-PART-040, UFR-PART-050 | 당첨 알림, 명단 관리 | | 10 | Analytics | UFR-ANAL-010, UFR-ANAL-020, UFR-ANAL-030 | 실시간 대시보드, 채널별 분석, ROI | ### Phase 3: 완성 (4주) **목표:** AI 학습 및 선택 기능 추가 | 순서 | 서비스 | 유저스토리 | 비고 | |------|--------|-----------|------| | 11 | Distribution | UFR-DIST-030, UFR-DIST-060 | 링고비즈 연결음, 오프라인 자료 | | 12 | Content Generation | UFR-CONT-050 | 콘텐츠 편집 | | 13 | Analytics | UFR-ANAL-040 | 분석 리포트 | | 14 | AI Learning | UFR-AIMPR-010, UFR-AIMPR-030 | 개선안 생성, 성공 패턴 학습 | | 15 | AI Learning | UFR-AIMPR-020 | 다음 이벤트 아이디어 | --- ## 성능 요구사항 요약 | 단계 | 목표 시간 | 관련 유저스토리 | |------|----------|----------------| | AI 이벤트 기획 | 10초 이내 | UFR-PLAN-020~050, NFR-PERF-010 | | 콘텐츠 생성 | 5-8분 이내 | UFR-CONT-010~030, NFR-PERF-020 | | 다중 채널 배포 | 1분 이내 | UFR-DIST-010~050, NFR-PERF-030 | | 실시간 데이터 수집 | 5분 간격 | UFR-ANAL-010, NFR-PERF-040 | --- ## 보안 요구사항 요약 | 항목 | 요구사항 | 관련 유저스토리 | |------|----------|----------------| | 개인정보 암호화 | AES-256 (전화번호, 이름) | NFR-SECU-010 | | 전송 보안 | HTTPS/TLS | NFR-SECU-010 | | 접근 제어 | RBAC (역할 기반) | NFR-SECU-010 | | 개인정보 보호 | GDPR, 개인정보보호법 준수 | NFR-SECU-010 | | 보유 기간 | 이벤트 종료 후 3개월 | NFR-SECU-010 | --- ## 안정성 및 확장성 요구사항 | 항목 | 요구사항 | 관련 유저스토리 | |------|----------|----------------| | 자동 재시도 | 배포 실패 시 최대 3회 (지수 백오프) | NFR-RELI-010 | | 동시 처리 | 최소 100개 이벤트 동시 처리 | NFR-SCAL-010 | | Auto Scaling | 마이크로서비스 수평 확장 | NFR-SCAL-010 | | 로드 밸런싱 | 트래픽 분산 | NFR-SCAL-010 | | 메시지 큐 | 비동기 처리 (RabbitMQ/Kafka) | NFR-SCAL-010 |