11 KiB
11 KiB
| FR ID | 기능명 | 설명 | 입력 | 출력 | 예외 | 우선순위 |
|---|---|---|---|---|---|---|
| FR-001 | 회원가입 | 비회원은 이메일 또는 아이디와 비밀번호를 이용해 계정을 생성할 수 있어야 한다. 시스템은 계정 정보를 저장하고 이후 로그인 가능 상태로 전환해야 한다. | 이메일 또는 아이디, 비밀번호 | 회원가입 성공/실패 결과, 생성된 사용자 정보 | 이미 존재하는 계정, 비밀번호 정책 미충족, 필수값 누락 | 높음 |
| FR-002 | 로그인 | 사용자는 등록된 계정 정보로 로그인할 수 있어야 하며, 로그인 성공 시 인증 상태를 획득해야 한다. | 이메일 또는 아이디, 비밀번호 | 로그인 성공/실패 결과, 인증 세션 또는 토큰 | 계정 없음, 비밀번호 불일치, 비활성 계정 | 높음 |
| FR-003 | 로그아웃 | 로그인한 사용자는 현재 인증 세션 또는 토큰을 종료할 수 있어야 한다. | 인증 정보(세션/토큰) | 로그아웃 성공/실패 결과 | 인증 정보 없음, 이미 만료된 세션/토큰 | 높음 |
| FR-004 | 인증 세션 유지 | 로그인한 사용자는 재인증 없이 보호된 API를 사용할 수 있어야 하며, 시스템은 인증 상태를 유지해야 한다. | 세션 쿠키 또는 JWT 토큰 | 인증된 사용자 컨텍스트, 보호 API 접근 허용 | 만료된 세션/토큰, 위조 또는 무효 토큰 | 높음 |
| FR-005 | 기본 프로필 조회 | 로그인한 사용자는 자신의 기본 프로필 정보를 조회할 수 있어야 한다. | 인증 정보 | 사용자 프로필 정보 | 인증 실패, 존재하지 않는 사용자 | 중간 |
| FR-006 | 루트 폴더 자동 생성 | 시스템은 회원가입 완료 시 사용자 전용 루트 폴더를 자동으로 생성해야 한다. | 사용자 식별 정보 | 루트 폴더 생성 결과 | 루트 폴더 생성 실패, 사용자 생성 실패 | 높음 |
| FR-007 | 루트 폴더 조회 | 로그인한 사용자는 자신의 루트 폴더 및 최상위 파일/폴더 목록에 접근할 수 있어야 한다. | 인증 정보 | 루트 폴더 정보, 하위 파일/폴더 목록 | 인증 실패, 루트 폴더 미존재 | 높음 |
| FR-008 | 폴더 생성 | 사용자는 특정 부모 폴더 하위에 새 폴더를 생성할 수 있어야 한다. | 부모 폴더 ID, 폴더명 | 생성된 폴더 정보 | 부모 폴더 없음, 권한 없음, 중복 이름 정책 위반 | 높음 |
| FR-009 | 폴더명 변경 | 사용자는 기존 폴더의 이름을 변경할 수 있어야 한다. 실제 저장 경로가 아니라 메타데이터 기준으로 처리한다. | 폴더 ID, 새 폴더명 | 변경된 폴더 정보 | 대상 폴더 없음, 권한 없음, 중복 이름 정책 위반 | 중간 |
| FR-010 | 폴더 삭제 | 사용자는 폴더를 삭제할 수 있어야 한다. 비어 있지 않은 폴더의 삭제는 시스템 정책에 따라 처리한다. | 폴더 ID | 삭제 성공/실패 결과 | 대상 폴더 없음, 권한 없음, 하위 항목 존재, 루트 폴더 삭제 시도 | 중간 |
| FR-011 | 파일 업로드 초기화 | 사용자는 업로드를 시작하기 위해 파일 메타데이터와 업로드 요청을 등록할 수 있어야 한다. | 파일명, 크기, 타입, 대상 폴더 ID | 업로드 세션 정보, 업로드 URL | 권한 없음, quota 초과, 파일 크기 제한 초과, 대상 폴더 없음 | 높음 |
| FR-012 | 파일 업로드 진행 및 재개 | 시스템은 대용량 파일 업로드 중 네트워크가 끊겨도 이어서 업로드할 수 있어야 한다. | tus 업로드 세션, 청크 데이터 | 업로드 진행 상태, 재개 가능 상태 | 세션 만료, 손상된 청크, 잘못된 업로드 오프셋 | 높음 |
| FR-013 | 업로드 완료 처리 | 파일 업로드가 완료되면 시스템은 메타데이터를 저장하고 파일 목록에 반영해야 한다. | 업로드 완료 이벤트, 파일 식별 정보 | 저장된 파일 메타데이터, 목록 반영 결과 | 저장 실패, 메타데이터 반영 실패, 파일 무결성 오류 | 높음 |
| FR-014 | 파일 다운로드 | 권한 있는 사용자는 저장된 파일을 다운로드할 수 있어야 한다. | 파일 ID, 인증 정보 | 파일 스트림 또는 다운로드 응답 | 권한 없음, 대상 파일 없음, 삭제된 파일 | 높음 |
| FR-015 | 파일명 변경 | 사용자는 파일명을 변경할 수 있어야 한다. 실제 저장 객체는 유지하고 메타데이터만 수정한다. | 파일 ID, 새 파일명 | 변경된 파일 정보 | 대상 파일 없음, 권한 없음, 중복 이름 정책 위반 | 중간 |
| FR-016 | 파일 이동 | 사용자는 파일을 다른 폴더로 이동할 수 있어야 한다. 실제 바이너리 파일은 이동하지 않고 메타데이터의 부모 폴더만 변경한다. | 파일 ID, 대상 폴더 ID | 이동된 파일 정보 | 대상 파일 없음, 대상 폴더 없음, 권한 없음, 동일 위치 이동 | 중간 |
| FR-017 | 파일 삭제 | 사용자는 파일을 삭제할 수 있어야 하며, 삭제된 파일은 사용자 목록에서 제거되어야 한다. | 파일 ID | 삭제 성공/실패 결과 | 대상 파일 없음, 권한 없음, 이미 삭제된 파일 | 높음 |
| FR-018 | 파일 목록 조회 | 사용자는 특정 폴더 내 파일 및 하위 폴더 목록을 조회할 수 있어야 한다. | 폴더 ID, 인증 정보 | 파일/폴더 목록 | 대상 폴더 없음, 권한 없음 | 높음 |
| FR-019 | 파일 목록 정렬 | 사용자는 파일 목록을 이름, 크기, 수정일 기준으로 정렬할 수 있어야 한다. | 폴더 ID, 정렬 기준, 정렬 방향 | 정렬된 파일/폴더 목록 | 지원하지 않는 정렬 기준, 대상 폴더 없음 | 중간 |
| FR-020 | 공유 링크 생성 | 사용자는 특정 파일에 대해 외부 공유용 다운로드 링크를 생성할 수 있어야 한다. | 파일 ID, 선택 옵션(만료일/비밀번호) | 공유 링크 URL, 링크 메타데이터 | 대상 파일 없음, 권한 없음 | 높음 |
| FR-021 | 공유 링크 옵션 설정 | 사용자는 공유 링크에 대해 만료일, 비밀번호, 활성화 상태를 설정하거나 수정할 수 있어야 한다. | 링크 ID, 만료일, 비밀번호, 활성화 여부 | 변경된 링크 정보 | 대상 링크 없음, 권한 없음, 잘못된 만료일 형식 | 중간 |
| FR-022 | 공유 링크 비활성화 | 사용자는 기존 공유 링크를 비활성화하여 외부 접근을 차단할 수 있어야 한다. | 링크 ID | 비활성화 결과 | 대상 링크 없음, 권한 없음, 이미 비활성화된 링크 | 중간 |
| FR-023 | 공유 링크 다운로드 | 외부 사용자는 유효한 공유 링크를 통해 파일을 다운로드할 수 있어야 한다. | 공유 링크, 비밀번호(필요 시) | 파일 다운로드 응답 | 링크 만료, 링크 비활성화, 비밀번호 불일치, 대상 파일 없음 | 높음 |
| FR-024 | 이미지 미리보기 | 사용자는 지원되는 이미지 파일을 브라우저 내에서 바로 확인할 수 있어야 한다. | 파일 ID | 이미지 미리보기 데이터 또는 URL | 지원하지 않는 형식, 대상 파일 없음, 권한 없음 | 중간 |
| FR-025 | 텍스트 미리보기 | 사용자는 txt, md, json, log 등의 텍스트 파일 내용을 브라우저 내에서 확인할 수 있어야 한다. | 파일 ID | 텍스트 내용 | 지원하지 않는 형식, 인코딩 오류, 파일 크기 초과 | 중간 |
| FR-026 | PDF 미리보기 | 사용자는 PDF 파일을 브라우저 내장 뷰어를 통해 열람할 수 있어야 한다. | 파일 ID | PDF 미리보기 URL 또는 스트림 | 지원하지 않는 형식, 대상 파일 없음, 권한 없음 | 중간 |
| FR-027 | 미지원 형식 처리 | 미리보기를 지원하지 않는 파일은 다운로드만 허용해야 한다. | 파일 ID | 다운로드 가능 상태 정보 | 대상 파일 없음, 권한 없음 | 낮음 |
| FR-028 | 사용자 저장 용량 집계 | 시스템은 사용자별 총 파일 사용량을 계산하고 표시할 수 있어야 한다. | 사용자 ID 또는 인증 정보 | 총 사용 용량, quota 대비 사용률 | 사용자 없음, 집계 실패 | 중간 |
| FR-029 | 업로드 용량 제한 검사 | 시스템은 업로드 요청 시 파일 크기 제한과 사용자 quota 초과 여부를 검사해야 한다. | 사용자 ID, 파일 크기 | 업로드 가능/불가 결과 | quota 초과, 업로드 최대 크기 초과 | 높음 |
| FR-030 | 기본 로그 기록 | 시스템은 업로드, 삭제, 공유 링크 생성 등 주요 이벤트를 로그로 기록해야 한다. | 이벤트 정보, 사용자 정보, 대상 리소스 정보 | 로그 저장 결과 | 로그 저장 실패, 이벤트 정보 누락 | 중간 |