본문으로 건너뛰기

Group 도메인 요구사항 명세서

1. 기능 요구사항

1.1 그룹(Group) 생명주기 관리

백엔드 요구사항

  • GRP-FR-BE-BE-001: 그룹을 생성, 조회, 수정, 삭제할 수 있어야 한다. (CRUD)
  • GRP-FR-BE-BE-002: 그룹은 이름, 설명, 상태(활성/비활성) 등의 메타데이터를 가져야 한다. (CRUD)
  • GRP-FR-BE-BE-003: 그룹의 활성/비활성 상태를 관리할 수 있어야 한다. (상태 관리)
  • GRP-FR-BE-BE-004: 그룹 변경 이력을 관리할 수 있어야 한다. (상태 관리)
  • GRP-FR-BE-BE-005: 그룹 생성, 수정, 삭제에 대한 감사 로그를 기록해야 한다. ([Audit 도메인] 의존, 상태 관리)
  • GRP-FR-BE-BE-006: 그룹의 버전 관리를 지원해야 한다. (버전 관리)
  • GRP-FR-BE-BE-007: 그룹 템플릿을 관리하여 신규 그룹 생성을 용이하게 해야 한다. (템플릿 관리)

1.2 그룹 유형 및 분류 관리

백엔드 요구사항

  • GRP-FR-BE-BE-008: 그룹 유형을 정의하고 관리할 수 있어야 한다. (그룹 유형 관리)
    • 환자 그룹 (Patient Groups): 치료 대상 환자들을 분류하는 그룹
      • patients.general: 일반 치료 환자 그룹
      • patients.limited-access: 제한 접근 환자 그룹
      • patients.sample: 체험/데모 환자 그룹
      • patients.guest: 약관 동의만으로 온보딩한 게스트 사용자 그룹 (지역별 세분화 patients.guest.{region})
      • patients.clinic-a, patients.clinic-b: 클리닉별 환자 그룹
    • 내부 운영자 그룹 (Operation Groups): 내부 직원들을 분류하는 그룹
      • operators.admin: 시스템 관리자 그룹
      • operators.clinician: 의료진 그룹
      • operators.researcher: 연구진 그룹
      • operators.support: 고객 지원팀 그룹
    • 테스터 그룹 (Tester Groups): 테스트 및 QA 관련 그룹
      • testers.internal: 내부 테스터 그룹
      • testers.beta: 베타 테스터 그룹
    • 지역별 그룹 (Location-based Groups): 국가별 치료 과정 및 규제 준수를 위한 그룹
      • patients.kr: 한국 지역 환자 그룹 (K-FDA 규제, 한국어 콘텐츠)
      • patients.de: 독일 지역 환자 그룹 (EMA/BfArM 규제, 독일어 콘텐츠)
      • patients.us: 미국 지역 환자 그룹 (FDA 규제, 영어 콘텐츠)
      • patients.jp: 일본 지역 환자 그룹 (PMDA 규제, 일본어 콘텐츠)
      • operators.kr, operators.de, operators.us: 지역별 운영진 그룹
      • trials.{country}.{trial-id}: 지역별 임상시험 그룹
  • GRP-FR-BE-009: 그룹별 목적과 특성을 정의하고 관리할 수 있어야 한다. (그룹 특성 관리)
  • GRP-FR-BE-010: 사용자 유형별 그룹을 구분하여 관리해야 한다:
    • 고객(환자) 그룹: 치료 대상자들의 분류 및 관리
    • 내부 운영자 그룹: 조직 내 역할별 직원 분류 및 관리

1.3 그룹 역할 및 권한 관리

백엔드 요구사항

  • GRP-FR-BE-011: 그룹에 역할(Role)을 할당하여 그룹 멤버에게 권한을 부여할 수 있어야 한다. ([IAM 도메인] 연동, 그룹-역할 할당)
  • GRP-FR-BE-012: 그룹에 할당된 역할 정보를 조회하고 변경할 수 있어야 한다. (그룹-역할 할당)
  • GRP-FR-BE-013: 그룹-역할 할당 이력을 추적하고 관리할 수 있어야 한다. (할당 이력 관리)
  • GRP-FR-BE-014: 역할 변경 시 해당 그룹 멤버들에게 미치는 영향을 분석할 수 있어야 한다. (영향도 분석)
  • GRP-FR-BE-015: 그룹-역할 할당 변경에 대한 감사 로그를 기록해야 한다. ([Audit 도메인] 의존, 할당 관리)
  • GRP-FR-BE-016: 그룹별 역할 할당 권한을 관리할 수 있어야 한다. (할당 권한 관리)

1.4 사용자-그룹 할당 관리

백엔드 요구사항

  • GRP-FR-BE-017: 사용자를 그룹에 할당하거나 해제할 수 있어야 한다. ([User 도메인] 연동, 사용자-그룹 관계)
  • GRP-FR-BE-018: 사용자는 하나 이상의 그룹에 속해야 한다. (사용자-그룹 관계, [User 도메인] 의존)
  • GRP-FR-BE-019: 특정 그룹에 속한 사용자 목록을 조회할 수 있어야 한다. (그룹 멤버 조회)
  • GRP-FR-BE-020: 특정 사용자가 속한 그룹 목록을 조회할 수 있어야 한다. (사용자 그룹 조회)
  • GRP-FR-BE-021: 사용자-그룹 할당 이력을 추적하고 관리할 수 있어야 한다. (할당 이력 관리)
  • GRP-FR-BE-022: 그룹 멤버십 변경에 대한 감사 로그를 기록해야 한다. ([Audit 도메인] 의존, 멤버십 관리)
  • GRP-FR-BE-023: 사용자 유형에 따라 적절한 그룹 할당 규칙을 적용해야 한다:
    • 고객(환자) 사용자: 'private' 스키마의 사용자 정보와 연결
    • 내부 운영자 사용자: 'operation' 스키마의 사용자 정보와 연결
  • GRP-FR-BE-054: 시스템은 게스트 사용자 그룹 할당과 전환을 자동화해야 한다.
    • 게스트 계정 생성 시 patients.guest.{region} 그룹에 자동 편성해야 한다.
    • 게스트가 정규 사용자로 전환될 때 신규 그룹 할당 규칙을 적용하고, 이전 게스트 멤버십을 종료 이력에 기록해야 한다.
    • 게스트 그룹 멤버십 변경 이벤트는 IAM과 Plan 도메인에 전달되어 권한 및 플랜 재계산을 트리거해야 한다.

1.5 그룹 계층 구조 관리

백엔드 요구사항

  • GRP-FR-BE-024: 그룹 간 계층 구조(부모-자식 관계)를 정의하고 관리할 수 있어야 한다. (계층 구조 관리)
  • GRP-FR-BE-025: 그룹 계층에서 순환 참조를 방지해야 한다. (순환 참조 방지)
  • GRP-FR-BE-026: 부모 그룹의 설정이 자식 그룹에 상속되도록 지원해야 한다. (상속 관리)
  • GRP-FR-BE-027: 계층 구조 변경 시 영향도를 분석할 수 있어야 한다. (영향도 분석)
  • GRP-FR-BE-028: 그룹 트리 구조를 효율적으로 조회할 수 있어야 한다. (트리 조회 최적화)
  • GRP-FR-BE-029: 그룹 계층 구조 변경에 대한 감사 로그를 기록해야 한다. ([Audit 도메인] 의존, 계층 관리)

1.6 그룹 권한 및 정책 관리

백엔드 요구사항

  • GRP-FR-BE-030: 그룹별 접근 권한을 정의하고 관리할 수 있어야 한다. ([IAM 도메인] 연동, 권한 관리)
  • GRP-FR-BE-031: 그룹 관리 권한을 계층적으로 부여할 수 있어야 한다. (권한 위임)
  • GRP-FR-BE-032: 그룹별 리소스 할당량을 정의하고 관리할 수 있어야 한다. (리소스 관리)
  • GRP-FR-BE-033: 그룹별 정책을 적용할 수 있어야 한다. (정책 적용)
  • GRP-FR-BE-034: 그룹 권한 변경에 대한 감사 로그를 기록해야 한다. ([Audit 도메인] 의존, 권한 관리)

1.7 그룹 템플릿 및 프리셋 관리

백엔드 요구사항

  • GRP-FR-BE-035: 그룹 템플릿을 생성하고 관리할 수 있어야 한다. (템플릿 관리)
  • GRP-FR-BE-036: 템플릿을 사용하여 신규 그룹을 빠르게 생성할 수 있어야 한다. (템플릿 기반 생성)
  • GRP-FR-BE-037: 그룹 프리셋(사전 정의된 설정)을 관리할 수 있어야 한다. (프리셋 관리)
  • GRP-FR-BE-038: 템플릿 버전 관리를 지원해야 한다. (템플릿 버전 관리)
  • GRP-FR-BE-039: 템플릿 사용 통계를 수집하고 분석할 수 있어야 한다. (템플릿 분석)

1.8 동적 그룹 관리

백엔드 요구사항

  • GRP-FR-BE-040: 조건 기반 동적 그룹을 정의하고 관리할 수 있어야 한다. (동적 그룹)
  • GRP-FR-BE-041: 사용자 속성 변경 시 자동으로 그룹 멤버십을 업데이트해야 한다. (자동 멤버십 관리)
  • GRP-FR-BE-042: 동적 그룹 규칙을 검증하고 테스트할 수 있어야 한다. (규칙 검증)
  • GRP-FR-BE-043: 동적 그룹 변경 이력을 추적할 수 있어야 한다. (동적 그룹 이력)

1.9 조직 연동 및 통합

백엔드 요구사항

  • GRP-FR-BE-044: 외부 조직도 시스템과 연동할 수 있어야 한다. (외부 연동)
  • GRP-FR-BE-045: LDAP/Active Directory와 그룹 정보를 동기화할 수 있어야 한다. (LDAP 연동)
  • GRP-FR-BE-046: 조직 구조 변경 시 그룹 구조를 자동으로 업데이트해야 한다. (조직 동기화)
  • GRP-FR-BE-047: 다중 테넌트 환경에서 그룹을 격리하여 관리할 수 있어야 한다. (테넌트 격리)

1.10 그룹 모니터링 및 분석

백엔드 요구사항

  • GRP-FR-BE-048: 그룹별 사용 통계를 수집하고 분석할 수 있어야 한다. (사용량 분석)
  • GRP-FR-BE-049: 그룹 멤버 활동 패턴을 분석할 수 있어야 한다. (활동 분석)
  • GRP-FR-BE-050: 그룹 성능 지표를 모니터링할 수 있어야 한다. (성능 모니터링)
  • GRP-FR-BE-051: 그룹 최적화 추천을 제공할 수 있어야 한다. (최적화 추천)
  • GRP-FR-BE-052: 그룹별 비용 분석을 지원해야 한다. ([Billing 도메인] 연동, 비용 분석)

1.11 지역별 그룹 관리 (Location-based Groups)

백엔드 요구사항

  • GRP-FR-BE-053: 지역별 그룹을 생성하고 관리할 수 있어야 한다. (지역별 그룹 관리)
    • 국가 코드(ISO 3166-1 alpha-2) 기반 그룹 명명 규칙을 지원해야 한다.
    • 지역별 그룹의 메타데이터(언어, 시간대, 규제 기관 등)를 관리할 수 있어야 한다.
  • 지역별 규제 준수를 자동화할 수 있어야 한다. (규제 자동화)
    • 그룹별 규제 프로파일을 정의하고 관리할 수 있어야 한다.
    • 사용자의 지역별 그룹에 따라 해당 규제를 자동 적용해야 한다.
    • GDPR, HIPAA, 개인정보보호법 등 지역별 데이터 보호 규정을 준수해야 한다.
  • 지역별 콘텐츠 관리 및 제공을 지원해야 한다. (지역화 콘텐츠)
    • 그룹별 언어 설정에 따른 콘텐츠 필터링을 지원해야 한다.
    • 동일한 치료 플랜에 대해 지역별로 다른 콘텐츠를 제공할 수 있어야 한다.
    • 지역별 문화적 맥락을 반영한 콘텐츠 매핑을 관리할 수 있어야 한다.
  • 지역별 치료 프로토콜 차별화를 지원해야 한다. (프로토콜 지역화)
    • 동일한 치료 목표에 대해 지역별 의료 관행을 반영한 프로토콜을 적용할 수 있어야 한다.
    • 지역별 임상 가이드라인에 따른 치료 과정 변형을 지원해야 한다.
    • 지역별 전문가 네트워크와의 연동을 관리할 수 있어야 한다.
  • 지역별 데이터 거버넌스를 지원해야 한다. (데이터 거버넌스)
    • 그룹별 데이터 저장 위치 및 백업 정책을 관리할 수 있어야 한다.
    • 지역별 데이터 이전 제한 및 보관 기간을 자동 적용해야 한다.
    • 교차 지역 데이터 접근에 대한 제어 및 감사를 수행해야 한다.
  • 지역별 감사 및 보고를 지원해야 한다. (지역별 감사)
    • 지역별 규제 기관에 대한 감사 보고서를 자동 생성할 수 있어야 한다.
    • 지역별 데이터 처리 활동 기록을 관리할 수 있어야 한다.
    • 교차 지역 데이터 이전에 대한 추적 및 보고를 지원해야 한다.

2. 비기능 요구사항

2.1 보안

접근 제어

  • GRP-NFR-001: 모든 그룹 관리 API 요청은 인증 및 인가를 거쳐야 한다.
  • GRP-NFR-002: 그룹 정보 접근은 역할 기반 접근 제어(RBAC)를 통해 제어되어야 한다.
  • GRP-NFR-003: 그룹별 민감 정보는 암호화하여 저장해야 한다.
  • GRP-NFR-004: 그룹 데이터의 무결성을 보장해야 한다.

데이터 보안

  • GRP-NFR-005: 그룹 설정 정보는 암호화하여 저장해야 한다.
  • GRP-NFR-006: 그룹 멤버십 정보는 개인정보 보호 규정을 준수해야 한다.
  • GRP-NFR-007: 그룹 변경 이력은 변조 방지를 위해 해시 체인으로 관리해야 한다.
  • GRP-NFR-008: 그룹 정보에 대한 모든 접근 및 변경은 감사 로그로 기록되어야 한다.

API 보안

  • GRP-NFR-009: 그룹 관리 API는 입력값 검증을 통해 Injection 공격을 방지해야 한다.
  • GRP-NFR-010: 그룹 조회 API는 Rate Limiting을 적용해야 한다.
  • GRP-NFR-011: 그룹 변경 API는 추가적인 보안 검증을 수행해야 한다.
  • GRP-NFR-012: 대량 그룹 조작 시 추가 인증을 요구해야 한다.

지역별 보안

  • GRP-NFR-013: 지역별 그룹 데이터는 해당 지역의 데이터 보호 규정에 따라 암호화되어야 한다.
  • GRP-NFR-014: 교차 지역 데이터 접근은 추가적인 인증 및 승인 프로세스를 거쳐야 한다.
  • GRP-NFR-015: 지역별 그룹 정보 접근은 지리적 IP 제한을 적용할 수 있어야 한다.
  • GRP-NFR-016: 지역별 데이터 이전에 대한 모든 활동은 감사 로그로 기록되어야 한다.
  • GRP-NFR-017: 규제 준수를 위한 자동화된 보안 정책 검증을 수행해야 한다.

2.2 성능

응답 시간

  • GRP-NFR-018: 그룹 조회 API 평균 응답 시간: < 50ms
  • GRP-NFR-019: 그룹 목록 조회 API 평균 응답 시간: < 100ms
  • GRP-NFR-020: 그룹 생성/수정 API 평균 응답 시간: < 200ms
  • GRP-NFR-021: 그룹 삭제 API 평균 응답 시간: < 300ms
  • GRP-NFR-022: 그룹 멤버 조회 API 평균 응답 시간: < 150ms
  • GRP-NFR-023: 그룹 계층 구조 조회 API 평균 응답 시간: < 200ms

처리량

  • GRP-NFR-024: 초당 최소 3000건의 그룹 조회 요청을 처리할 수 있어야 한다.
  • GRP-NFR-025: 초당 최소 500건의 그룹 멤버 조회 요청을 처리할 수 있어야 한다.
  • GRP-NFR-026: 초당 최소 100건의 그룹 수정 요청을 처리할 수 있어야 한다.
  • GRP-NFR-027: 초당 최소 50건의 그룹 생성 요청을 처리할 수 있어야 한다.
  • GRP-NFR-028: 초당 최소 200건의 사용자-그룹 할당 요청을 처리할 수 있어야 한다.

캐싱 전략

  • GRP-NFR-029: 그룹 정보를 캐싱하여 조회 성능을 향상시켜야 한다.
  • GRP-NFR-030: 그룹-역할 관계 정보를 캐싱해야 한다.
  • GRP-NFR-031: 그룹 멤버 목록을 캐싱해야 한다.
  • GRP-NFR-032: 그룹 계층 구조를 캐싱해야 한다.
  • GRP-NFR-033: 캐시 데이터의 일관성을 유지하기 위한 적절한 무효화 전략을 사용해야 한다.

2.3 가용성

서비스 가용성

  • GRP-NFR-034: 그룹 서비스 가용성은 99.99% 이상이어야 한다.
  • GRP-NFR-035: 장애 발생 시 5분 이내 자동 복구를 시도해야 한다.
  • GRP-NFR-036: 무중단 배포를 지원해야 한다.

데이터 가용성

  • GRP-NFR-037: 중요한 그룹 데이터는 실시간으로 백업되어야 한다.
  • GRP-NFR-038: 그룹 데이터 복구 계획을 수립하고 정기적으로 테스트해야 한다.
  • GRP-NFR-039: 데이터베이스는 다중 가용 영역에 걸쳐 복제되어야 한다.

2.4 확장성

수평적 확장

  • GRP-NFR-040: Stateless 아키텍처를 지향하여 서비스 인스턴스를 쉽게 확장할 수 있어야 한다.
  • GRP-NFR-041: 로드 밸런서를 통해 트래픽을 분산 처리할 수 있어야 한다.

기능 확장성

  • GRP-NFR-042: 새로운 그룹 유형을 쉽게 추가할 수 있어야 한다.
  • GRP-NFR-043: 그룹별 사용자 정의 속성을 추가할 수 있도록 확장 가능해야 한다.
  • GRP-NFR-044: 외부 시스템과의 연동이 용이해야 한다.
  • GRP-NFR-045: 그룹 관련 새로운 비즈니스 규칙을 쉽게 적용할 수 있어야 한다.

2.5 사용자 유형별 그룹 관리

  • GRP-NFR-046: 모든 그룹 설정을 관리할 수 있어야 한다. (System Admin)
  • GRP-NFR-047: 모든 그룹의 상태를 관리할 수 있어야 한다. (System Admin)
  • GRP-NFR-048: 그룹 생성, 수정, 삭제가 가능해야 한다. (System Admin)
  • GRP-NFR-049: API 호출 제한 없이 사용할 수 있어야 한다. (System Admin)
  • GRP-NFR-050: 할당된 범위 내 그룹의 상태를 관리할 수 있어야 한다. (Group Admin)
  • GRP-NFR-051: 그룹 정보를 조회하고 수정할 수 있어야 한다. (Group Admin)
  • GRP-NFR-052: 그룹 멤버를 관리할 수 있어야 한다. (Group Admin)
  • GRP-NFR-053: 시간당 최대 10,000 요청으로 제한되어야 한다. (Group Admin)
  • GRP-NFR-054: 그룹 정보를 조회할 수 있어야 한다. (Service Account)
  • GRP-NFR-055: 그룹 멤버 정보를 조회할 수 있어야 한다. (Service Account)
  • GRP-NFR-056: 시간당 최대 100,000 요청으로 제한되어야 한다. (Service Account)
  • GRP-NFR-057: 자신이 속한 그룹 정보만 조회할 수 있어야 한다. (Regular User)
  • GRP-NFR-058: 시간당 최대 100 요청으로 제한되어야 한다. (Regular User)

3. 제약사항

3.1 데이터 제약사항

그룹 데이터

  • GRP-CR-001: 그룹 이름은 시스템 내에서 고유해야 한다.
  • GRP-CR-002: 그룹 식별자는 생성 후 변경할 수 없다.
  • GRP-CR-003: 하나의 그룹에 속할 수 있는 사용자의 최대 개수는 10,000명으로 제한한다.
  • GRP-CR-004: 그룹 설명의 최대 길이는 1000자로 제한한다.
  • GRP-CR-005: 그룹 계층 구조의 최대 깊이는 5단계로 제한한다.

그룹-역할 관계 데이터

  • GRP-CR-006: 하나의 그룹은 여러 개의 역할을 가질 수 있다.
  • GRP-CR-007: 그룹-역할 관계 변경 시 즉시 반영되어야 한다.
  • GRP-CR-008: 그룹-역할 관계의 메타데이터 최대 크기는 2KB로 제한한다.

사용자-그룹 관계 데이터

  • GRP-CR-009: 한 명의 사용자는 최대 20개의 그룹에 속할 수 있다.
  • GRP-CR-010: 사용자는 최소 1개 이상의 그룹에 속해야 한다.
  • GRP-CR-011: 사용자-그룹 관계의 메타데이터 최대 크기는 1KB로 제한한다.

3.2 API 호출 제한

System Admin 제한사항

  • GRP-CR-012: Rate Limit: 무제한
  • GRP-CR-013: 권한 검증 결과 캐시의 TTL은 1분으로 설정한다.
  • GRP-CR-014: 최대 동시 요청 수는 무제한이다.

Group Admin 제한사항

  • GRP-CR-015: Rate Limit: 시간당 10,000 요청으로 제한한다.
  • GRP-CR-016: 권한 검증 결과 캐시의 TTL은 5분으로 설정한다.
  • GRP-CR-017: 최대 동시 요청 수는 100개로 제한한다.

Service Account 제한사항

  • GRP-CR-018: Rate Limit: 시간당 100,000 요청으로 제한한다.
  • GRP-CR-019: 권한 검증 결과 캐시의 TTL은 10분으로 설정한다.
  • GRP-CR-020: 최대 동시 요청 수는 200개로 제한한다.

Regular User 제한사항

  • GRP-CR-021: Rate Limit: 시간당 100 요청으로 제한한다.
  • GRP-CR-022: 권한 검증 결과 캐시의 TTL은 30분으로 설정한다.
  • GRP-CR-023: 최대 동시 요청 수는 10개로 제한한다.

3.3 데이터 저장 제약

  • GRP-CR-024: 그룹 정보는 'group' 스키마에 저장해야 한다.
  • GRP-CR-025: 사용자-그룹 관계 정보는 사용자 유형에 따라 'private' 또는 'operation' 스키마에 저장해야 한다.
  • GRP-CR-026: 그룹 변경 이력은 'group' 스키마에 저장해야 한다.
  • GRP-CR-027: 그룹 템플릿 및 프리셋 정보는 'group' 스키마에 저장해야 한다.
  • GRP-CR-028: 민감 정보는 항상 암호화되어 저장되어야 한다.

3.4 비즈니스 제약

  • GRP-CR-029: 그룹 삭제 시 해당 그룹에 속한 사용자들을 다른 그룹으로 이전해야 한다.
  • GRP-CR-030: 그룹 역할 변경 시 영향을 받는 사용자들에게 사전 통지해야 한다.
  • GRP-CR-031: 그룹 계층 구조 변경 시 하위 그룹들의 동의를 받아야 한다.

3.5 지역별 그룹 제약사항

지역별 그룹 데이터 제약

  • GRP-CR-032: 지역별 그룹 이름은 ISO 3166-1 alpha-2 국가 코드를 포함해야 한다.
  • GRP-CR-033: 사용자는 동일한 사용자 유형(환자, 운영자 등) 내에서 하나의 지역별 그룹에만 속할 수 있다.
  • GRP-CR-034: 지역별 그룹 간 사용자 이전 시 데이터 이전 승인 절차를 거쳐야 한다.
  • GRP-CR-035: 지역별 그룹의 메타데이터 최대 크기는 5KB로 제한한다.

지역별 규제 제약

  • GRP-CR-036: 지역별 그룹은 해당 지역의 데이터 보호 규정을 위반할 수 없다.
  • GRP-CR-037: 교차 지역 데이터 접근은 양쪽 지역의 규제를 모두 준수해야 한다.
  • GRP-CR-038: 지역별 데이터 보관 기간은 해당 지역의 법적 요구사항을 따라야 한다.
  • GRP-CR-039: 민감한 의료 데이터는 지역 경계를 넘어 이전될 수 없다.

지역별 콘텐츠 제약

  • GRP-CR-040: 동일한 치료 플랜은 모든 지역에서 동일한 구조를 유지해야 한다.
  • GRP-CR-041: 지역별 콘텐츠 변형은 원본 콘텐츠의 의료적 효과를 보장해야 한다.
  • GRP-CR-042: 지역별 콘텐츠 매핑 정보의 최대 크기는 10KB로 제한한다.

지역별 성능 제약

  • GRP-CR-043: 지역 내 사용자의 그룹 정보 조회 응답 시간: < 30ms
  • GRP-CR-044: 교차 지역 그룹 정보 조회 응답 시간: < 100ms
  • GRP-CR-045: 지역별 그룹 생성 시 규제 검증 시간: < 500ms

4. 가정사항

4.1 시스템 환경

  • GRP-AR-001: 시스템은 마이크로서비스 아키텍처 기반으로 구축된다.
  • GRP-AR-002: 시스템은 클라우드 환경(예: GCP)에서 운영된다.
  • GRP-AR-003: Event-driven 아키텍처를 통해 다른 도메인과 통신한다.

4.2 사용자 환경

  • GRP-AR-004: 관리자는 별도의 관리 콘솔을 통해 그룹을 관리한다.
  • GRP-AR-005: 일반 사용자는 자신의 그룹 정보를 조회할 수 있다.
  • GRP-AR-006: 서비스 계정은 다른 시스템과의 연동을 위해 그룹 정보 API를 호출한다.

4.3 비즈니스 환경

  • GRP-AR-007: 그룹 구조는 조직 구조 변화에 따라 동적으로 변경될 수 있다.
  • GRP-AR-008: 그룹 변경은 사용자에게 영향을 최소화하는 방향으로 수행된다.
  • GRP-AR-009: 그룹 기반 권한 관리가 시스템의 핵심 보안 메커니즘이다.

4.4 조직 환경

  • GRP-AR-010: 조직은 계층적 구조를 가질 수 있다.
  • GRP-AR-011: 외부 조직도 시스템과 연동될 가능성이 있다.
  • GRP-AR-012: 그룹 구조는 비즈니스 요구사항에 따라 지속적으로 진화한다.

5. 의존성

5.1 내부 의존성

  • GRP-DR-001: User 도메인: 사용자 정보 참조, 사용자-그룹 할당 관리
  • GRP-DR-002: IAM 도메인: 그룹 기반 권한 부여, 그룹별 역할 매핑
  • GRP-DR-003: Audit 도메인: 그룹 변경, 멤버십 변경 등 주요 작업에 대한 감사 로그 기록
  • GRP-DR-004: Billing 도메인: 그룹별 비용 분석, 리소스 사용량 추적
  • GRP-DR-005: Analytics 도메인: 그룹 사용량 분석, 그룹 성능 지표 수집

5.2 외부 의존성

  • GRP-DR-006: LDAP/Active Directory: 조직 구조 동기화를 위한 디렉터리 서비스
  • GRP-DR-007: 조직도 시스템: 외부 조직 구조 연동을 위한 HR 시스템
  • GRP-DR-008: 알림 시스템: 그룹 변경, 멤버십 변경 등의 이벤트 알림 전송
  • GRP-DR-009: 워크플로우 엔진: 그룹 승인 프로세스 처리를 위한 외부 워크플로우 시스템

5.3 지역별 그룹 의존성

내부 의존성

  • GRP-DR-010: Localization 도메인: 지역별 콘텐츠 번역 및 문화적 적응을 위한 의존성
  • GRP-DR-011: Compliance 도메인: 지역별 규제 준수 검증 및 정책 적용을 위한 의존성
  • GRP-DR-012: Content 도메인: 지역별 치료 콘텐츠 매핑 및 제공을 위한 의존성
  • GRP-DR-013: Analytics 도메인: 지역별 사용자 행동 분석 및 효과 측정을 위한 의존성

외부 의존성

  • GRP-DR-014: 규제 기관 API: 각 지역 의료기기 규제 기관 (K-FDA, EMA, FDA, PMDA 등)과의 연동
  • GRP-DR-015: 지역별 인증 시스템: 지역별 의료진 자격 인증 시스템과의 연동
  • GRP-DR-016: 번역 서비스: 자동 번역 및 의료 용어 번역을 위한 외부 서비스
  • GRP-DR-017: 지역별 결제 시스템: 지역별 결제 및 보험 청구 시스템과의 연동
  • GRP-DR-018: 데이터 보호 감사 도구: GDPR, HIPAA 등 규제 준수 감사를 위한 외부 도구

6. GDPR 컴플라이언스 (개인정보 보호)

6.1 그룹 멤버십과 개인정보

백엔드 요구사항

  • GRP-FR-BE-043: 시스템은 그룹 멤버십 정보를 개인정보로 관리해야 한다.
    • 그룹 소속 정보 암호화
    • 그룹별 개인정보 처리 범위 정의
    • 그룹 이전 시 데이터 이전 동의
    • 그룹 삭제 시 멤버 정보 처리
  • GRP-FR-BE-044: 시스템은 지역별 그룹의 개인정보 처리를 분리해야 한다.
    • 지역별 데이터 저장소 분리
    • 교차 지역 접근 제한
    • 지역별 규제 준수 (GDPR, HIPAA, K-FDA)
    • 데이터 이전 제한

6.2 그룹 데이터 주체 권리

백엔드 요구사항

  • GRP-FR-BE-045: 시스템은 그룹 관련 데이터 주체 권리를 보장해야 한다.
    • 그룹 멤버십 열람권
    • 그룹 소속 정정권
    • 그룹 탈퇴권
    • 그룹 데이터 이동권

7. ISO27001 정보보호 관리

7.1 그룹 접근 통제

백엔드 요구사항

  • GRP-FR-BE-046: 시스템은 그룹 기반 접근 통제를 강화해야 한다.
    • 그룹별 리소스 접근 제한
    • 그룹 관리자 권한 제어
    • 그룹 간 격리
    • 그룹 계층 기반 권한 상속
  • GRP-FR-BE-047: 시스템은 그룹 변경을 안전하게 관리해야 한다.
    • 그룹 변경 승인 프로세스
    • 변경 영향 분석
    • 롤백 메커니즘
    • 변경 알림

7.2 그룹 데이터 보안

백엔드 요구사항

  • GRP-FR-BE-048: 시스템은 그룹 데이터 무결성을 보장해야 한다.
    • 그룹 정보 변조 방지
    • 멤버십 정보 일관성
    • 그룹 이력 추적
    • 감사 로그 기록

7.3 MAO 티어/동의/라우팅 연계

백엔드 요구사항

  • GRP-FR-BE-061: 시스템은 tier(anonymous/guest/member)별 기본 그룹(anonymous, guest-consented-min, member)을 자동 매핑하고 IAM에 전달해야 한다(누락 시 anonymous).
  • GRP-FR-BE-062: guest→member 승격 시 기존 게스트 그룹 멤버십을 해제하고 member 그룹으로 이관하며, 관련 이벤트를 발행해야 한다.
  • GRP-FR-BE-063: anonymous/guest 그룹은 짧은 보존 정책을 적용해야 한다(anonymous 1일, guest 7일, member 영속)이며 data_persistence 클레임에 따라 TTL을 설정해야 한다.
  • GRP-FR-BE-064: 그룹 멤버십 이벤트에 tier/consent_version을 포함하여 MAO/Chat/IAM이 라우팅/정책 평가에 활용할 수 있어야 한다.
  • GRP-FR-BE-065: anonymous/guest는 PII/PHI/저장형 컨텍스트 그룹에 배정되지 않아야 하며, FAQ/정보성 그룹만 허용한다.

변경 이력

버전날짜작성자변경 내용
0.1.02025-04-27bok@weltcorp.com최초 문서 생성 (IAM 및 User 도메인에서 Group 관련 요구사항 분리)
0.1.02025-07-16bok@weltcorp.comGroup-Plan 독립성 확보 - 그룹-플랜 연결 제거, 그룹-역할 직접 관리로 변경
0.2.02025-07-17bok@weltcorp.com지역별 그룹 관리 요구사항 추가: 국가별 치료 과정 차이, 규제 준수, 콘텐츠 지역화를 위한 포괄적 요구사항 정의
0.3.02025-08-07bok@weltcorp.com요구사항 ID 체계 적용 - GRP 도메인 코드 적용 (GRP-FR-BE-xxx, GRP-NFR-xxx, GRP-CR-xxx, GRP-AR-xxx, GRP-DR-xxx)
0.4.02025-08-12bok@weltcorp.comGDPR 및 ISO27001 컴플라이언스 요구사항 추가 (섹션 6, 7) - 그룹 멤버십 개인정보, 그룹 기반 접근 통제
0.5.02025-10-27bok@weltcorp.com게스트 그룹 유형 및 멤버십 전환 자동화 요구사항 추가 (1.2, 1.4절)
0.6.02025-11-26bok@weltcorp.com기본 그룹 매핑 누락 시 anonymous, 보존 TTL(anon 1일/guest 7일), PII/PHI 그룹 배정 금지 확정
0.6.02025-11-26bok@weltcorp.comMAO 라우팅을 위한 tier 기반 기본 그룹 매핑, 승격 시 그룹 이관 및 데이터 보존/TLL 정책 요구사항 추가