기능 요구사항 (Functional Requirements)

시스템이 무엇을 해야 하는지 정의하는 문서입니다.


목차

  1. 개요
  2. 1. 사용자 스토리
    1. 사용자 역할 정의
    2. User Story Template
  3. 2. 핵심 기능 (Core Features)
    1. 2.1 [기능 그룹명] (예: 사용자 인증 및 권한 관리)
    2. 2.2 [기능 그룹명] (예: 데이터 관리)
  4. 3. Use Case 다이어그램
  5. 4. 비즈니스 규칙
  6. 5. 인터페이스 요구사항
    1. 5.1 외부 시스템 연동
  7. 6. 데이터 요구사항
    1. 6.1 데이터 입력 규칙
  8. 7. 요구사항 추적
  9. ✅ 완료 체크리스트

개요

기능 요구사항은 사용자가 시스템을 통해 수행할 수 있는 기능과 시스템의 동작 방식을 구체적으로 기술합니다.


1. 사용자 스토리

사용자 역할 정의

역할 설명 권한
일반 사용자 기본 기능을 사용하는 사용자 읽기, 생성
관리자 시스템을 관리하는 사용자 전체 권한
게스트 비회원 사용자 제한적 읽기

User Story Template

1
2
3
4
5
6
7
8
As a [역할],
I want to [기능],
So that [목적/이유].

Acceptance Criteria:
- [ ] 조건 1
- [ ] 조건 2
- [ ] 조건 3

2. 핵심 기능 (Core Features)

2.1 [기능 그룹명] (예: 사용자 인증 및 권한 관리)

FR-001: [기능명] (예: 사용자 회원가입)

  • 설명: [기능에 대한 명확한 설명]
  • 우선순위: 🔴 Must have / 🟡 Should have / 🟢 Could have / ⚪ Won’t have
  • 입력:
    • [입력 데이터 1]
    • [입력 데이터 2]
  • 처리:
    1. [처리 단계 1]
    2. [처리 단계 2]
  • 출력:
    • 성공: [성공 시 결과]
    • 실패: [실패 시 결과]
  • 예외 처리:

예시:

1
2
3
4
5
6
FR-001: 사용자 로그인
- 설명: 사용자는 이메일과 비밀번호로 로그인할 수 있다.
- 우선순위: 🔴 Must have
- 입력: 이메일, 비밀번호
- 처리: 인증 확인 → JWT 토큰 발급
- 출력: 액세스 토큰, 리프레시 토큰

2.2 [기능 그룹명] (예: 데이터 관리)

sequenceDiagram
    actor User
    participant System
    participant DB

    User->>System: 요청
    System->>DB: 데이터 처리
    DB-->>System: 결과
    System-->>User: 응답

FR-010: [기능명]

  • 설명: [기능 설명]
  • 우선순위: [우선순위 선택]
  • 입력: [입력 정보]
  • 출력: [출력 정보]

3. Use Case 다이어그램

graph TD
    User[일반 사용자]
    Admin[관리자]

    User --> UC1[기능 1]
    User --> UC2[기능 2]
    Admin --> UC3[관리 기능]

    style User fill:#e1f5ff
    style Admin fill:#ffe1e1

4. 비즈니스 규칙

BR-001: [규칙명]

  • [규칙 내용]

예시:

1
2
3
BR-001: 데이터 소유권
- 사용자는 자신이 생성한 데이터만 수정/삭제할 수 있다.
- 관리자는 모든 데이터에 대한 권한을 가진다.

5. 인터페이스 요구사항

5.1 외부 시스템 연동

FR-100: [연동 시스템명]

  • 설명: [연동 내용]
  • 우선순위: [우선순위]
  • 프로토콜: [API 방식]

6. 데이터 요구사항

6.1 데이터 입력 규칙

필드 타입 필수 길이 규칙
[필드명] [데이터 타입] ✅/❌ [길이 제한] [검증 규칙]

예시: | 필드 | 타입 | 필수 | 길이 | 규칙 | |——|——|——|——|——| | 이메일 | String | ✅ | 최대 255 | RFC 5322 형식 | | 비밀번호 | String | ✅ | 8-100 | 영문+숫자+특수문자 |


7. 요구사항 추적

ID 요구사항 우선순위 HLD 참조 DLD 참조 테스트 케이스
FR-001 [기능명] 🔴 [HLD 문서] [DLD 문서] [테스트 ID]

✅ 완료 체크리스트

  • 모든 사용자 역할 정의 완료
  • 핵심 기능 명세 작성 완료
  • Use Case 다이어그램 작성 완료
  • 비즈니스 규칙 정의 완료
  • 데이터 입력 규칙 정의 완료
  • 이해관계자 리뷰 완료

다음 단계: 비기능 요구사항 작성