{ "comparisonMetadata": { "previousVersion": "v2.2.0", "currentVersion": "v2.3.0", "comparisonDate": "2025-10-25", "analyst": "Claude (AI Assistant)", "previousVersionDate": "2025-10-23", "currentVersionDate": "2025-10-24" }, "documentStructure": { "v2.2.0": { "description": "기존 구조: 유저스토리 섹션과 논리 아키텍처 반영 사항 요약 섹션 포함", "mainSections": [ "차별화 전략", "마이크로서비스 구성", "유저스토리", "논리 아키텍처 반영 사항 요약", "문서 이력" ], "userStoryFormat": "계층적 구조 (서비스 > 기능 그룹 > 유저스토리)", "userStoryPrefix": "AFR/UFR 혼용", "totalUserStories": 25 }, "v2.3.0": { "description": "신규 구조: 프로토타입 기반으로 재정비, 논리 아키텍처 섹션 제거, 유저스토리 형식 표준화", "mainSections": [ "차별화 전략", "마이크로서비스 구성", "유저스토리 v2.3.0 - USER & MEETING 서비스", "문서 이력" ], "userStoryFormat": "표준화된 형식 (수행절차, 입력, 출력/결과, 예외처리, 관련 유저스토리)", "userStoryPrefix": "UFR로 통일 (AFR 제거)", "totalUserStories": 27 }, "changes": [ "논리 아키텍처 반영 사항 요약 섹션 삭제 (설계 문서로 이관)", "유저스토리 형식 대폭 개선: 기존의 자유 형식에서 구조화된 템플릿으로 전환", "모든 유저스토리에 '수행절차', '입력', '출력/결과', '예외처리', '관련 유저스토리' 섹션 추가", "AFR 코드 제거 및 UFR로 통일 (더 이상 아키텍처 참조 코드 사용하지 않음)", "프로토타입 화면과의 연계성 강화 (화면 번호, 파일명 명시)", "유저스토리 ID 체계 유지 (기존 24개 ID 승계)" ] }, "addedStories": [ { "code": "UFR-USER-010", "previousCode": "AFR-USER-010", "title": "[로그인] 사용자로서 | 나는, 시스템에 접근하기 위해 | 사번과 비밀번호로 로그인하고 싶다", "description": "기존 AFR-USER-010에서 UFR-USER-010으로 전환. 상세한 수행절차, 입력/출력 명세, 예외처리 추가", "significance": "프로토타입 01-로그인.html과 직접 연계. 로그인 흐름, 검증 규칙, 에러 처리가 구체화됨", "newFeatures": [ "로그인 상태 유지 체크박스 추가", "Enter 키 입력 시 다음 필드로 자동 이동", "비밀번호 최소 8자 검증", "로딩 상태 UI 명시", "이미 로그인된 경우 자동 리다이렉트" ], "relatedPrototype": "01-로그인.html" }, { "code": "UFR-USER-020", "previousCode": "AFR-USER-020", "title": "[대시보드] 사용자로서 | 나는, 나의 회의 및 Todo 현황을 파악하기 위해 | 대시보드를 조회하고 싶다", "description": "기존 AFR-USER-020에서 UFR-USER-020으로 전환. 대시보드 위젯 구성 재정의 및 상세 명세 추가", "significance": "프로토타입 02-대시보드.html 기반으로 대시보드 구성 완전 재설계. 통계 블록, 최근 회의, Todo, 회의록 섹션 구체화", "newFeatures": [ "통계 블록 2열 그리드 (예정된 회의, 나의 Todo)", "최근 회의 목록 (회의록 미생성 우선, 최대 3개)", "나의 Todo 목록 (미완료 우선, D-day 표시, 최대 3개)", "나의 회의록 2x2 그리드 (최대 4개)", "FAB 메뉴 (회의예약, 바로시작)", "반응형 네비게이션 (데스크톱 사이드바, 모바일 하단 탭)" ], "relatedPrototype": "02-대시보드.html" }, { "code": "UFR-MEET-015", "previousCode": null, "title": "[회의진행] 회의 참석자로서 | 나는, 회의 중 추가 참석자가 필요할 때 | 실시간으로 참석자를 초대하고 싶다", "description": "**신규 추가**: 회의 진행 중 실시간 참석자 초대 기능", "significance": "프로토타입 05-회의진행.html의 '참석자' 탭 기능 반영. 회의 진행 중 동적 참석자 관리 가능", "newFeatures": [ "회의 진행 중 검색 모달을 통한 참석자 초대", "초대된 참석자 실시간 표시", "Notification 서비스 연동 (초대 알림 발송)", "모든 참석자에게 WebSocket 기반 실시간 동기화" ], "relatedPrototype": "05-회의진행.html", "relatedUserStories": [ "UFR-MEET-030 (회의시작)", "UFR-COLLAB-010 (회의록수정동기화)", "UFR-NOTI-010 (알림발송)" ] }, { "code": "UFR-AI-030", "previousCode": null, "title": "[실시간AI제안] 회의 참석자로서 | 나는, 회의 중 놓치는 내용을 최소화하기 위해 | AI가 실시간으로 주요 내용을 분석하여 제안하고 싶다", "description": "**신규 추가**: 회의 진행 중 AI 실시간 분석 및 제안 기능", "significance": "프로토타입 05-회의진행.html의 'AI 제안' 탭 기능 구현. 회의 중 AI가 주요 내용을 감지하여 자동 제안하는 차별화 기능", "newFeatures": [ "STT 텍스트 실시간 분석", "주요 내용 감지 시 AI 제안 카드 자동 생성", "'메모에 추가' 버튼으로 회의 메모에 즉시 추가", "모든 참석자에게 실시간 동기화", "로컬 캐시를 통한 네트워크 오류 대응" ], "relatedPrototype": "05-회의진행.html", "relatedUserStories": [ "UFR-STT-020 (텍스트변환)", "UFR-MEET-030 (회의시작)", "UFR-COLLAB-010 (회의록수정동기화)" ], "differentiatorImpact": "지능형 회의 진행 지원의 핵심 기능으로, 회의 중 놓치는 내용 최소화" }, { "code": "UFR-NOTI-010", "previousCode": null, "title": "[알림발송] Notification 시스템으로서 | 나는, 사용자에게 중요한 이벤트를 알리기 위해 | 주기적으로 알림 대상을 확인하여 이메일을 발송하고 싶다", "description": "**신규 추가**: 알림 시스템 폴링 방식 명세", "significance": "알림 아키텍처를 실시간 발송에서 주기적 폴링 방식으로 통일. Notification 서비스의 독립성과 안정성 확보", "newFeatures": [ "주기적 폴링 (1분 간격) 방식 알림 발송", "이메일 발송 실패 시 최대 3회 재시도", "알림 유형별 템플릿 적용", "6가지 알림 유형 지원 (Todo 할당, Todo 완료, 회의 시작, 회의록 확정, 참석자 초대, 회의록 수정)" ], "relatedUserStories": [ "UFR-TODO-010 (Todo할당)", "UFR-TODO-030 (Todo완료처리)", "UFR-MEET-015 (참석자 실시간 초대)", "UFR-MEET-050 (최종확정)" ], "architectureImpact": "Notification 서비스를 독립적인 폴링 기반 마이크로서비스로 명확히 정의" } ], "removedStories": [ { "code": "AFR-USER-010", "title": "[사용자관리] 시스템 관리자로서 | 나는, 서비스 보안을 위해 | 사용자 인증 기능을 원한다", "reason": "UFR-USER-010으로 전환. AFR(아키텍처 참조) 코드 체계 폐지 및 UFR(사용자 기능 요구사항)로 통일", "impact": "코드 변경일 뿐, 기능은 UFR-USER-010으로 승계되어 유지됨" }, { "code": "AFR-USER-020", "title": "[대시보드] 사용자로서 | 나는, 회의록 서비스의 주요 정보를 한눈에 파악하기 위해 | 대시보드를 통해 요약 정보를 확인하고 싶다", "reason": "UFR-USER-020으로 전환. 프로토타입 기반으로 상세 명세 재작성", "impact": "코드 변경 및 내용 대폭 보강. 기능은 강화되어 승계됨" } ], "modifiedStories": [ { "code": "UFR-MEET-010", "title": "[회의예약] 회의 생성자로서 | 나는, 회의를 효율적으로 준비하기 위해 | 회의를 예약하고 참석자를 초대하고 싶다", "changes": [ "프로토타입 03-회의예약.html 기반으로 전면 재작성", "상세한 수행절차 추가 (10단계)", "입력 필드 상세 명세 (종일 회의 토글, 온라인/오프라인 회의 토글, 회의 링크 자동 생성)", "예외처리 8가지 추가 (과거 날짜 선택, 뒤로가기 확인 모달 등)", "임시저장 기능 추가", "참석자 검색 모달 UI 상세화" ], "significance": "프로토타입과의 정확한 매칭으로 개발 시 명확한 가이드 제공" }, { "code": "UFR-MEET-020", "title": "[템플릿선택] 회의 생성자로서 | 나는, 회의록을 효율적으로 작성하기 위해 | 회의 유형에 맞는 템플릿을 선택하고 싶다", "changes": [ "프로토타입 04-템플릿선택.html 기반으로 재작성", "4가지 템플릿 내용 상세 명세 (일반, 스크럼, 킥오프, 주간 회의)", "건너뛰기 옵션 추가", "템플릿 미리보기 구성 명시 (아이콘, 설명, 섹션 목록)" ], "significance": "템플릿별 섹션 구성이 구체화되어 일관된 회의록 작성 지원" }, { "code": "UFR-MEET-030", "title": "[회의시작] 회의 생성자로서 | 나는, 회의를 시작하고 회의록을 작성하기 위해 | 회의를 시작하고 음성 녹음을 준비하고 싶다", "changes": [ "프로토타입 05-회의진행.html 기반으로 전면 재작성", "8단계 상세 수행절차 추가", "4개 탭 네비게이션 명시 (참석자, AI 제안, 용어사전, 관련회의록)", "웨이브폼 애니메이션, 타이머, 녹음 상태 UI 추가", "하단 고정 메모 영역 추가", "일시정지 및 종료 확인 모달 추가" ], "significance": "회의 진행 화면의 핵심 UX가 상세히 정의되어 실시간 협업 기능 구현 가이드 제공" }, { "code": "UFR-MEET-040", "title": "[회의종료] 회의 생성자로서 | 나는, 회의를 종료하고 회의록을 정리하기 위해 | 회의를 종료하고 요약 내용을 확인한 후 다음 단계를 선택하고 싶다", "changes": [ "프로토타입 07-회의종료.html 기반으로 재작성", "통계 카드 4개 명시 (참석자, 시간, 안건, Todo)", "주요 키워드 태그 표시 추가", "안건별 아코디언 카드 구조 명시 (AI 한줄 요약 + 상세 요약 + Todo)", "읽기 전용 안내 표시", "하단 액션 바 3가지 옵션 명시 (회의록 수정, 바로 최종 확정, 대시보드)" ], "significance": "회의 종료 후 워크플로우가 명확해져 사용자 선택권 확대 및 UX 개선" }, { "code": "UFR-MEET-050", "title": "[최종확정] 회의 생성자로서 | 나는, 회의록을 완성하기 위해 | 모든 안건을 검증하고 최종 회의록을 확정하고 싶다", "changes": [ "2가지 시나리오로 분리 (회의록 수정 후 확정, 회의 종료 화면에서 바로 확정)", "각 시나리오별 수행절차 5-6단계 상세화", "확인 모달 메시지 구체화", "바로 확정 시 모든 안건 자동 검증 완료 처리 로직 추가", "확정 후 편집 권한 정책 명시 (회의 생성자만 잠금 해제 후 수정 가능)" ], "significance": "유연한 확정 워크플로우 제공으로 사용자 편의성 향상" }, { "code": "UFR-MEET-046", "title": "[회의록목록조회] 회의 참석자로서 | 나는, 참여한 회의록들을 효율적으로 관리하기 위해 | 회의록 목록을 조회하고 필터링하고 싶다", "changes": [ "프로토타입 12-회의록목록조회.html 기반으로 재작성", "데이터 소스 명시 (common.js → SAMPLE_MINUTES 배열)", "필터링 옵션 상세화 (상태별, 정렬, 참여 유형, 검색)", "통계 표시 추가", "페이지네이션 방식 명시 (초기 10개, '10개 더보기' 버튼)", "목록 표시 정보 8가지 추가", "우선순위 M → S로 변경 (MVP 집중)" ], "significance": "프로토타입 연계 강화, 샘플 데이터 30개 기반 개발 가능" }, { "code": "UFR-MEET-047", "title": "[회의록상세조회] 회의 참석자로서 | 나는, 지난 회의록의 상세 정보와 전체 내용을 | 한눈에 확인하고 싶다", "changes": [ "프로토타입 10-회의록상세조회.html 기반으로 재작성", "회의 기본 정보 표시 항목 7가지 상세화", "섹션별 상세 내용 표시 구조 추가", "관련 회의록 섹션 추가 (최대 3개, 관련도 % 표시)", "탭 네비게이션 구성 명시 (대시보드, 회의록 2개 탭)" ], "significance": "회의록 조회 화면 정보 구조 명확화 및 관련 회의록 연결 강화" }, { "code": "UFR-MEET-055", "title": "[회의록수정] 회의 참석자로서 | 나는, 검증이 완료되지 않았거나 수정이 필요한 | 지난 회의록을 수정하고 싶다", "changes": [ "프로토타입 11-회의록수정.html 기반으로 전면 재작성", "3가지 시나리오로 확장 (작성중 회의록 수정, 확정완료 회의록 수정, 안건 검증)", "각 시나리오별 상세 수행절차 추가", "잠금 해제 메커니즘 명시 (확정완료 회의록의 경우)", "검증 완료 프로세스 상세화 (안건별 체크 버튼, 검증률 표시)" ], "significance": "회의록 수정 워크플로우가 상태별로 명확해져 협업 시나리오 지원 강화" } ], "overallImpact": { "userExperience": { "improvements": [ "프로토타입 기반 유저스토리로 실제 사용 흐름과 정확히 일치", "상세한 수행절차로 사용자 작업 흐름 명확화", "예외처리 시나리오 추가로 에러 상황 대응 개선", "실시간 AI 제안 기능으로 회의 중 놓치는 내용 최소화", "유연한 확정 워크플로우로 사용자 선택권 확대", "회의 진행 중 참석자 실시간 초대로 협업 유연성 향상" ], "keyEnhancements": [ "대시보드 재설계로 정보 접근성 향상 (통계 블록, 최근 회의, Todo, 회의록 4개 섹션)", "회의 진행 화면 4개 탭으로 기능 분리 (참석자, AI 제안, 용어사전, 관련회의록)", "회의 종료 화면 3가지 액션 옵션으로 워크플로우 유연성 확보" ] }, "functionality": { "improvements": [ "신규 기능 3개 추가 (참석자 실시간 초대, 실시간 AI 제안, 알림 발송)", "알림 아키텍처 폴링 방식으로 통일하여 시스템 안정성 확보", "모든 유저스토리에 입력/출력 명세 추가로 API 설계 가이드 제공", "예외처리 시나리오 추가로 에러 핸들링 강화", "관련 유저스토리 명시로 기능 간 연계성 파악 용이" ], "architectureAlignment": [ "Notification 서비스의 독립성 강화 (폴링 방식)", "프로토타입 10개 화면과 유저스토리 1:1 매핑", "WebSocket 기반 실시간 동기화 시나리오 명확화" ] }, "documentation": { "improvements": [ "유저스토리 형식 표준화로 일관성 확보", "AFR/UFR 혼용 제거, UFR로 통일하여 코드 체계 단순화", "프로토타입 파일명 명시로 개발 시 참조 용이성 향상", "각 유저스토리에 관련 유저스토리 섹션 추가로 추적성 확보", "문서 구조 간소화 (논리 아키텍처 섹션 제거)" ], "qualityEnhancement": [ "v2.2.0: 25개 유저스토리, 자유 형식", "v2.3.0: 27개 유저스토리, 표준 형식 (수행절차, 입력, 출력/결과, 예외처리, 관련 유저스토리)", "평균 유저스토리 상세도 약 3배 증가 (기존 20-30줄 → 60-100줄)" ] } }, "statistics": { "v2.2.0": { "totalUserStories": 25, "afrCodes": 2, "ufrCodes": 23, "averageLinesPerStory": "20-30 (추정)" }, "v2.3.0": { "totalUserStories": 27, "afrCodes": 0, "ufrCodes": 27, "averageLinesPerStory": "60-100 (추정)" }, "changes": { "added": 5, "removed": 2, "modified": "대다수 (프로토타입 기반 재작성)" } }, "keyTakeaways": [ "v2.3.0은 프로토타입 분석을 통해 유저스토리를 전면 재정비한 버전", "신규 기능 3개 추가: 참석자 실시간 초대, 실시간 AI 제안, 알림 발송", "알림 아키텍처를 폴링 방식으로 통일하여 시스템 안정성 확보", "유저스토리 형식 표준화로 개발 가이드 역할 강화", "프로토타입 10개 화면과 유저스토리 1:1 매핑으로 개발 명확성 확보", "기존 24개 유저스토리 ID 승계하여 연속성 유지", "평균 유저스토리 상세도 약 3배 증가로 품질 대폭 향상" ], "recommendedActions": [ "API 설계서를 v2.3.0 유저스토리 기반으로 업데이트 (입력/출력 명세 반영)", "프로토타입과 유저스토리 간 1:1 매핑 검증", "신규 추가된 UFR-MEET-015, UFR-AI-030, UFR-NOTI-010 기반 API 및 시퀀스 설계", "알림 아키텍처 폴링 방식 반영하여 물리 아키텍처 업데이트", "각 유저스토리의 예외처리 시나리오를 테스트 케이스로 전환", "관련 유저스토리 섹션을 활용하여 통합 테스트 시나리오 작성" ] }