kcg-ai-monitoring/docs/sfr-user-guide.md
htlee 831045ace9 docs: 프로젝트 산출문서 2026-04-17 기준 정비
- docs/architecture.md: shared/components/ui 9개·i18n 네임스페이스 갱신
- docs/sfr-traceability.md: v3.0 전면 재작성 (운영 상태 기반 531 라인)
- docs/sfr-user-guide.md: 헤더 + SFR-01/02/09/10/11/12/13/17 구현 현황 갱신
- docs/data-sharing-analysis.md / next-refactoring.md / page-workflow.md: stale 3건 제거
2026-04-17 06:52:51 +09:00

884 lines
36 KiB
Markdown
Raw Blame 히스토리

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SFR 요구사항별 화면 사용 가이드
> **문서 작성일:** 2026-04-06
> **최종 업데이트:** 2026-04-17 (2026-04-17 릴리즈 기준)
> **시스템 버전:** 운영 배포 (rocky-211 + redis-211)
> **다국어:** 한국어/영어 전환 지원 (헤더 우측 EN/한국어 버튼)
> **테마:** 다크/라이트 전환 지원 (헤더 우측 해/달 아이콘 버튼)
---
## 문서 안내
이 문서는 **KCG AI 모니터링 시스템**의 각 SFR(소프트웨어 기능 요구사항)이 화면에서 어떻게 구현되어 있는지를 **비개발자**(일반 사용자, 사업 PM, 산출물 작성자)가 이해할 수 있도록 정리한 가이드입니다.
### 시스템 현황 (2026-04-17 기준)
- **프런트엔드·백엔드·분석엔진(prediction) 운영 배포 완료** — 자체 JWT 인증 + 트리 기반 RBAC + 감사 로그 + 65+ API
- **AI 분석 엔진(prediction)**: 5분 주기로 AIS 원천 데이터(snpdb)를 분석하여 결과를 `kcgaidb` 에 자동 저장 (14 알고리즘 + DAR-03 G-01~G-06)
- **실시간 연동 화면**: Dashboard / MonitoringDashboard / ChinaFishing / DarkVesselDetection / GearDetection / EnforcementHistory / EventList / AIAlert / Statistics / AccessControl / PermissionsPanel / Audit 등 **15+ 화면이 실 API + prediction 결과를 실시간으로 표시**
- **Mock 화면**: DataHub / AIModelManagement / RiskMap / PatrolRoute / FleetOptimization / ExternalService / ShipAgent / MLOpsPage / AIAssistant 는 UI 완성, 백엔드/AI 엔진 연동은 단계적 추가 중
- **자세한 추적 매트릭스**: `docs/sfr-traceability.md` v3.0 참조
---
## 목차
- [SFR-01: 사용자 인증 및 접근 제어](#sfr-01-사용자-인증-및-접근-제어)
- [SFR-02: 시스템 공통기능 및 환경설정](#sfr-02-시스템-공통기능-및-환경설정)
- [SFR-03: 데이터 수집 허브](#sfr-03-데이터-수집-허브)
- [SFR-04: AI 모델 관리](#sfr-04-ai-모델-관리)
- [SFR-05: 위험도 분석 지도](#sfr-05-위험도-분석-지도)
- [SFR-06: 단속 계획 및 경보](#sfr-06-단속-계획-및-경보)
- [SFR-07: 단일함정 순찰경로 최적화](#sfr-07-단일함정-순찰경로-최적화)
- [SFR-08: 다함정 경로 최적화](#sfr-08-다함정-경로-최적화)
- [SFR-09: Dark Vessel 탐지](#sfr-09-dark-vessel-탐지)
- [SFR-10: 어망/어구 탐지](#sfr-10-어망어구-탐지)
- [SFR-11: 단속/탐지 이력 관리](#sfr-11-단속탐지-이력-관리)
- [SFR-12: 종합 상황판 및 경보 현황판](#sfr-12-종합-상황판-및-경보-현황판)
- [SFR-13: 통계 및 성과 분석](#sfr-13-통계-및-성과-분석)
- [SFR-14: 외부 서비스 연계](#sfr-14-외부-서비스-연계)
- [SFR-15: 모바일 서비스](#sfr-15-모바일-서비스)
- [SFR-16: 함정 Agent](#sfr-16-함정-agent)
- [SFR-17: AI 알림 발송](#sfr-17-ai-알림-발송)
- [SFR-18/19: MLOps 플랫폼](#sfr-1819-mlops-플랫폼)
- [SFR-20: AI 의사결정 지원](#sfr-20-ai-의사결정-지원)
---
## SFR-01: 사용자 인증 및 접근 제어
### 로그인
**메뉴 위치:** 시스템 접속 시 최초 화면
**URL:** `/login`
**접근 권한:** 모든 사용자
**화면 설명:**
시스템에 접속하기 위한 로그인 화면입니다. 사용자 ID와 비밀번호를 입력하여 로그인할 수 있으며, 역할별로 5개의 데모 계정이 제공됩니다.
**주요 기능:**
- 사용자 ID/비밀번호 입력을 통한 로그인
- 역할별 데모 계정 선택 (ADMIN, OPERATOR, ANALYST, FIELD, VIEWER)
- 로그인 후 역할에 따른 메뉴 접근 제어
**구현 완료 (2026-04-17 기준):**
- ✅ 로그인 화면 UI + 자체 ID/PW 인증 + JWT 쿠키 세션 + 역할별 데모 계정 5종 실 로그인
- ✅ 비밀번호 정책(9자 이상 영문+숫자+특수) + 5회 실패 30분 잠금 + BCrypt 해시
- ✅ 트리 기반 RBAC (47 리소스 노드, Level 0 13개 + Level 1 32개, 5 operation) + Caffeine 10분 TTL
- ✅ 모든 로그인 시도 감사 로그 저장 및 조회 (로그인 이력 화면)
- ✅ 역할 기반 세션 유지 및 메뉴 접근 제어 (사이드바/라우트 가드)
**향후 구현 예정 (기업 환경 연동):**
- 🔲 SSO(해양경찰 통합인증) 연동
- 🔲 GPKI(정부 공인인증서) 인증 연동
- 🔲 공무원증 기반 인증 연동
- 🔲 인사 시스템 연동 역할 자동 부여
---
### 권한 관리
**메뉴 위치:** 시스템 관리 > 권한 관리
**URL:** `/access-control`
**접근 권한:** ADMIN
**화면 설명:**
시스템 사용자의 역할(Role)과 권한을 관리하는 화면입니다. RBAC(역할 기반 접근 제어) 방식으로 5가지 역할을 정의하고 각 역할별 메뉴 접근 권한을 설정할 수 있습니다.
**주요 기능:**
- 5가지 역할(ADMIN, OPERATOR, ANALYST, FIELD, VIEWER) 조회
- 역할별 접근 가능 메뉴 및 기능 권한 설정
- 사용자 목록 조회 및 역할 할당
**구현 완료 (2026-04-17 기준):**
- ✅ 트리 기반 RBAC 실 운영 — 47 리소스 노드 × 5 operation (READ/CREATE/UPDATE/DELETE/EXPORT) × 다중 역할 OR 합집합
- ✅ 역할별 권한 매트릭스 시각화 (셀 클릭 Y → N → 상속 사이클)
- ✅ 부모 READ 거부 시 자식 강제 거부, 상속 표시
- ✅ 역할 CRUD (admin:role-management) + 권한 매트릭스 갱신 (admin:permission-management)
- ✅ 사용자-역할 할당 다이얼로그 (admin:user-management)
- ✅ 모든 권한 변경은 `auth_audit_log` 에 자동 기록 (ROLE_CREATE/UPDATE/DELETE/PERM_UPDATE/USER_ROLE_ASSIGN)
**향후 구현 예정:**
- 🔲 권한 변경 이력 UI (auth_audit_log 조회는 현재 별도 화면)
- 🔲 역할 템플릿 복제 기능
---
## SFR-02: 시스템 공통기능 및 환경설정
### 환경설정
**메뉴 위치:** 시스템 관리 > 환경설정
**URL:** `/system-config`
**접근 권한:** ADMIN, OPERATOR
**화면 설명:**
시스템 운영에 필요한 기준정보를 조회하고 관리하는 화면입니다. 875건의 기준정보 항목이 표시되며, 검색 및 필터링이 가능합니다.
**주요 기능:**
- 기준정보 875건 목록 조회 및 검색
- 카테고리별 필터링
- 설정값 수정 UI
**구현 완료:**
- ✅ 875건 기준정보 목록 표시 및 검색/필터 UI
- ✅ 공통 컴포넌트 적용 (DataTable, 엑셀 내보내기, 인쇄 기능)
**향후 구현 예정:**
- 🔲 기준정보 DB 연동 (조회/수정/저장)
- 🔲 설정 변경 이력 관리
**보완 필요:**
- ⚠️ 현재 표시 데이터는 샘플이며, DB 연동 후 실제 운영 데이터로 교체 필요
---
### 공지사항
**메뉴 위치:** 시스템 관리 > 공지사항
**URL:** `/notices`
**접근 권한:** ADMIN (작성/수정/삭제), 전체 역할 (조회)
**화면 설명:**
시스템 운영 관련 공지사항을 등록하고 조회하는 게시판입니다.
**주요 기능:**
- 공지사항 목록 조회
- 공지사항 작성, 수정, 삭제 (CRUD)
- 공지사항 상세 조회
**구현 완료:**
- ✅ 공지사항 CRUD UI 완성
- ✅ 목록/상세/작성/수정 화면 전환
**향후 구현 예정:**
- 🔲 공지사항 DB 연동
- 🔲 첨부파일 업로드/다운로드
**보완 필요:**
- ⚠️ 현재 작성한 공지사항은 새로고침 시 초기화됨
---
### 이벤트 목록
**메뉴 위치:** 단속/이력 > 이벤트 목록
**URL:** `/event-list`
**접근 권한:** ADMIN, OPERATOR, ANALYST
**화면 설명:**
시스템에서 발생한 각종 이벤트(탐지, 경보, 알림 등)를 통합 목록으로 조회하는 화면입니다.
**주요 기능:**
- 이벤트 유형별 필터링 및 검색
- 이벤트 상세 정보 조회
- 이벤트 목록 엑셀 내보내기
**구현 완료:**
- ✅ 이벤트 통합 목록 UI 및 필터/검색
- ✅ DataTable 공통 컴포넌트 적용 (정렬, 페이징, 엑셀, 인쇄)
**향후 구현 예정:**
- 🔲 실시간 이벤트 수신 및 목록 자동 갱신
- 🔲 이벤트 DB 연동
**보완 필요:**
- ⚠️ 현재 목록은 샘플 데이터이며, 실시간 연동 후 자동 업데이트 필요
---
## SFR-03: 데이터 수집 허브
**메뉴 위치:** 시스템 관리 > 데이터 허브
**URL:** `/data-hub`
**접근 권한:** ADMIN, OPERATOR
**화면 설명:**
외부 데이터 소스(AIS, LRIT, SAR, CCTV, VMS 등 5개 신호원)로부터 데이터를 수집하는 현황을 모니터링하는 화면입니다. 22개 수집 채널의 상태를 실시간으로 확인할 수 있습니다.
**주요 기능:**
- 5개 신호원별 수집 상태 대시보드
- 22개 수집 채널별 연결 상태, 수신량, 오류율 조회
- 채널별 상세 수집 이력 확인
**구현 완료:**
- ✅ 5개 신호원 + 22개 수집 채널 현황 대시보드 UI
- ✅ 채널별 상태(정상/경고/오류) 시각화
**향후 구현 예정:**
- 🔲 실제 데이터 수집 엔진 연동
- 🔲 수집 채널 실시간 상태 모니터링
- 🔲 수집 데이터 품질 검증 기능
**보완 필요:**
- ⚠️ 현재 모든 수집 현황은 샘플 데이터이며, 실제 신호원 연결 후 실데이터로 교체 필요
---
## SFR-04: AI 모델 관리
**메뉴 위치:** 시스템 관리 > AI 모델관리
**URL:** `/ai-model`
**접근 권한:** ADMIN, OPERATOR
**화면 설명:**
AI 탐지 모델의 버전, 탐지 규칙, 입력 피처(Feature), 학습 파이프라인을 관리하는 화면입니다. 모델의 성능을 확인하고 운영 중인 모델을 교체하거나 새 버전을 등록할 수 있습니다.
**주요 기능:**
- AI 모델 5개 버전 목록 및 상세 정보 조회
- 6개 탐지 규칙 관리 (임계값, 조건 설정)
- 20개 입력 피처 목록 및 중요도 확인
- 학습 파이프라인 실행 현황 조회
**구현 완료:**
- ✅ 모델 버전 관리 UI (5버전 목록, 성능지표 비교)
- ✅ 탐지 규칙 6건 설정 화면
- ✅ 피처 20건 목록 및 중요도 시각화
- ✅ 파이프라인 현황 표시
**향후 구현 예정:**
- 🔲 실제 AI 모델 서버 연동 (모델 등록/배포/롤백)
- 🔲 모델 학습 파이프라인 실행 연동
- 🔲 모델 성능 모니터링 실시간 연동
**보완 필요:**
- ⚠️ 현재 모델 성능 지표는 샘플 데이터이며, 실제 모델 연동 후 정확한 지표로 교체 필요
---
## SFR-05: 위험도 분석 지도
**메뉴 위치:** 탐지/분석 > 위험도 지도
**URL:** `/risk-map`
**접근 권한:** ADMIN, OPERATOR, ANALYST
**화면 설명:**
해역별 불법조업 위험도를 히트맵(열지도) 형태로 시각화한 화면입니다. 10x18 격자로 분할된 관할 해역의 위험도를 색상으로 표현하며, MTIS 해양사고 통계를 6개 탭으로 분류하여 제공합니다.
**주요 기능:**
- 10x18 격자 기반 위험도 히트맵 지도 표시
- 격자별 상세 위험도 정보 팝업
- MTIS 해양사고 통계 6탭 (사고유형별, 해역별, 월별 등)
- 기간별 위험도 변화 추이 확인
**구현 완료:**
- ✅ 위험도 히트맵 10x18 격자 시각화
- ✅ MTIS 해양사고 통계 6탭 UI
**향후 구현 예정:**
- 🔲 AI 위험도 예측 모델 연동
- 🔲 실시간 AIS/VMS 데이터 기반 동적 위험도 갱신
- 🔲 과거 데이터 기반 위험도 예측 기능
**보완 필요:**
- ⚠️ 현재 히트맵 데이터는 샘플이며, 예측 모델 연동 후 정확한 위험도로 교체 필요
---
## SFR-06: 단속 계획 및 경보
**메뉴 위치:** 탐지/분석 > 단속 계획/경보
**URL:** `/enforcement-plan`
**접근 권한:** ADMIN, OPERATOR, ANALYST
**화면 설명:**
불법조업 단속 계획을 수립하고, 경보 발생 조건(임계값)을 설정하는 화면입니다. 현재 등록된 5건의 단속 계획과 경보 조건을 확인하고 관리할 수 있습니다.
**주요 기능:**
- 단속 계획 5건 목록 조회 및 상세 확인
- 신규 단속 계획 작성 및 수정
- 경보 임계값(위험도 기준, 선박 수 기준 등) 설정
- 단속 계획별 투입 함정/인력 배치 확인
**구현 완료:**
- ✅ 단속 계획 5건 목록/상세 UI
- ✅ 경보 임계값 설정 화면
**향후 구현 예정:**
- 🔲 AI 기반 단속 계획 자동 추천
- 🔲 경보 임계값 도달 시 자동 경보 발생
- 🔲 단속 계획 DB 연동
**보완 필요:**
- ⚠️ 현재 단속 계획 데이터는 샘플이며, 자동 추천 및 경보 기능은 AI 모델 연동 후 구현 필요
---
## SFR-07: 단일함정 순찰경로 최적화
**메뉴 위치:** 현장 대응 > 단일함정 순찰경로
**URL:** `/patrol-route`
**접근 권한:** ADMIN, OPERATOR, FIELD
**화면 설명:**
개별 함정(경비함)의 순찰 경로를 지도 위에 표시하고, AI가 최적화한 경로를 제안하는 화면입니다. 4척의 함정별 경로와 3가지 시나리오(최단거리, 위험지역 우선, 연료절감)를 비교할 수 있습니다.
**주요 기능:**
- 4척 함정별 순찰 경로 지도 표시
- 3가지 시나리오별 경로 비교
- 경유지 추가/제거를 통한 수동 경로 조정
- 예상 소요시간, 연료소모량, 해역 커버리지 정보 표시
**구현 완료:**
- ✅ 함정 4척 경로 지도 시각화
- ✅ 3가지 시나리오 비교 UI
**향후 구현 예정:**
- 🔲 AI 경로 최적화 엔진 연동
- 🔲 실시간 함정 위치 반영
- 🔲 기상/해황 정보 반영 경로 재계산
**보완 필요:**
- ⚠️ 현재 경로는 샘플 데이터이며, AI 최적화 엔진 연동 후 실제 최적 경로 제공 필요
---
## SFR-08: 다함정 경로 최적화
**메뉴 위치:** 현장 대응 > 다함정 경로최적화
**URL:** `/fleet-optimization`
**접근 권한:** ADMIN, OPERATOR
**화면 설명:**
여러 함정을 동시에 운용할 때 전체 해역 커버리지를 최대화하는 최적 경로를 계산하는 화면입니다. 5척의 함정이 6개 구역을 효율적으로 분담 순찰하도록 배치합니다.
**주요 기능:**
- 5척 함정의 담당 구역 배정 및 지도 시각화
- 6개 구역별 커버리지율 표시
- 전체 해역 커버리지 최적화 결과 확인
- 함정별 순찰 스케줄 표시
**구현 완료:**
- ✅ 5척 함정 배치 및 6구역 커버리지 시각화
- ✅ 구역별 커버리지율 표시 UI
**향후 구현 예정:**
- 🔲 AI 다함정 경로 최적화 알고리즘 연동
- 🔲 실시간 함정 위치 기반 동적 재배치
- 🔲 기상/해황 조건 반영 최적화
**보완 필요:**
- ⚠️ 현재 배치 결과는 샘플 데이터이며, AI 최적화 알고리즘 연동 후 실제 최적 배치로 교체 필요
---
## SFR-09: Dark Vessel 탐지
**메뉴 위치:** 탐지/분석 > Dark Vessel 탐지
**URL:** `/dark-vessel`
**접근 권한:** ADMIN, OPERATOR, ANALYST
**화면 설명:**
AIS(선박자동식별장치) 신호를 의도적으로 끈 의심 선박(Dark Vessel)을 탐지하는 화면입니다. 7척의 의심 선박과 5가지 행동 패턴 분석 결과를 확인할 수 있습니다.
**주요 기능:**
- Dark Vessel 의심 선박 7척 목록 및 지도 표시
- 5가지 의심 패턴(AIS 소실, 속도 급변, 해역 이탈 등) 분석 결과
- 의심 선박 상세 프로필 및 이동 궤적 조회
- 위험도 등급별 분류 표시
**구현 완료 (2026-04-17 기준):**
-**AI 분석 엔진(prediction) 5분 주기 실시간 탐지 결과 표시** — snpdb AIS 원천 데이터 기반
- ✅ Dark Vessel 11패턴 기반 0~100점 연속 점수 + 4단계 tier(CRITICAL≥70 / HIGH≥50 / WATCH≥30 / NONE)
- ✅ DarkDetailPanel — 선박 선택 시 ScoreBreakdown으로 P1~P11 각 패턴별 기여도 표시
- ✅ 지도 기반 실시간 위치 + tier별 색상 구분 (라이트/다크 모드 대응)
- ✅ 최근 1시간 / 중국 선박(MMSI 412*) 필터, MMSI/선박명/패턴 검색
- ✅ 특이운항 미니맵 (24h 궤적 + DARK/SPOOFING/TRANSSHIP/GEAR_VIOLATION/HIGH_RISK 구간 병합 하이라이트)
**향후 구현 예정:**
- 🔲 spoofing_score 산출 재설계 (중국 MID 412 선박 전원 0 수렴 이슈, BD-09 필터 + teleport 25kn 임계 재검토)
- 🔲 SAR(위성영상) 기반 탐지 연동
- 🔲 과거 이력 차트 (현재는 최근 24h 중심)
---
### 중국어선 분석
**메뉴 위치:** 탐지/분석 > 중국어선 분석
**URL:** `/china-fishing`
**접근 권한:** ADMIN, OPERATOR, ANALYST
**화면 설명:**
중국 어선의 불법조업 활동을 집중 분석하는 화면입니다. Dark Vessel 탐지(SFR-09) 및 어구 탐지(SFR-10) 결과를 중국 어선에 특화하여 종합 분석합니다.
**주요 기능:**
- 중국 어선 활동 현황 지도 표시
- 불법조업 의심 어선 목록 조회
- 해역별 중국 어선 밀집도 분석
- 시계열 활동 패턴 분석
**구현 완료 (2026-04-17 기준):**
-**3개 탭(AI 감시 대시보드 / 환적접촉탐지 / 어구·어망 판별) 전부 실데이터 연동**`/api/analysis/*` 경유, MMSI prefix `412` 고정
- ✅ 중국 선박 전체 분석 결과 실시간 그리드 (최근 1h, 위험도순 상위 200건)
- ✅ 특이운항 판별 — riskScore ≥ 40 상위 목록 + 선박 클릭 시 24h 궤적 미니맵 + 판별 구간 패널
- ✅ 해역별 통항량 + 안전도 분석 (종합 위험/안전 지수) + 위험도 도넛
- ✅ 자동탐지 결과(어구 판별 탭) row 클릭 시 상단 입력 폼 자동 프리필
**향후 구현 예정:**
- 🔲 관심영역 / VIIRS 위성영상 / 기상 예보 / VTS연계 (현재 "데모 데이터" 배지)
- 🔲 비허가 / 제재 / 관심 선박 탭 데이터 소스 연동 (현재 "준비중" 배지)
- 🔲 월별 집계 API 연동 (현재 통계 탭 "준비중")
---
## SFR-10: 어망/어구 탐지
**메뉴 위치:** 탐지/분석 > 어망/어구 탐지
**URL:** `/gear-detection`
**접근 권한:** ADMIN, OPERATOR, ANALYST
**화면 설명:**
불법 어망 및 어구를 탐지하고 분류하는 화면입니다. 6건의 탐지 결과와 어구 종류를 식별하는 결정트리(Decision Tree) 분석 결과를 제공합니다.
**주요 기능:**
- 어구 탐지 6건 목록 및 지도 표시
- 어구 종류별 식별 결정트리 시각화
- 탐지 결과 상세 정보 (위치, 크기, 어구 유형, 위험도)
- 탐지 이미지 확인
**구현 완료 (2026-04-17 기준):**
-**DAR-03 G-01~G-06 실시간 탐지 결과** — prediction 5분 주기 + 한중어업협정 906척 레지스트리(V029) 매칭 53%+
- ✅ G코드별 탐지: G-01(수역-어구 불일치) / G-02(금어기) / G-03(미등록 어구) / G-04(MMSI cycling) / G-05(고정어구 drift) / G-06(쌍끌이 — STRONG/PROBABLE/SUSPECT tier)
- ✅ 어구 그룹 지도 (ZONE_I~IV 폴리곤 + GeoJsonLayer + IconLayer) + 세부 필터 패널(해역/판정/위험도/모선 상태/허가/멤버 수) + localStorage 영속화
- ✅ GearDetailPanel — 후보 클릭 → 점수 근거(관측 7종 + 보정 3종) + 모선 확정/제외 버튼
- ✅ 24h 궤적 리플레이 (GearReplayController + TripsLayer, SPEED_FACTOR=2880, 24h→30s)
- ✅ 어구/어망 판별 화면 — 허가코드/어구물리특성/발견위치 입력 → 국적 판별(한/중/미확인) + 판별 근거·경고·AI 탐지 Rule·교차 검증 파이프라인
**향후 구현 예정:**
- 🔲 영상(CCTV/SAR) 기반 어구 자동 분류
- 🔲 한·중 어구 5종 구조 비교 이미지 라이브러리 확장
---
## SFR-11: 단속/탐지 이력 관리
**메뉴 위치:** 단속/이력 > 단속/탐지 이력
**URL:** `/enforcement-history`
**접근 권한:** ADMIN, OPERATOR, ANALYST
**화면 설명:**
과거 단속 및 탐지 활동의 이력을 조회하고 관리하는 화면입니다. 6건의 단속 이력과 AI 매칭 검증 결과를 확인할 수 있습니다.
**주요 기능:**
- 단속 이력 6건 목록 조회 (날짜, 위치, 대상 선박, 결과)
- AI 매칭 검증 — 탐지 결과와 실제 단속 결과 비교 분석
- 이력 상세 정보 조회 및 검색/필터
- 이력 데이터 엑셀 내보내기
**구현 완료 (2026-04-17 기준):**
-**실시간 이벤트 조회**`/api/events` 페이징/필터/확인(ACK)/상태 변경
-**단속 이력 CRUD**`/api/enforcement/records` (GET/POST/PATCH) + ENF-yyyyMMdd-NNNN UID 자동 발급
- ✅ 이벤트 발생 → 확인 → 단속 등록 → 오탐 처리 워크플로우 (액션 버튼 4종)
- ✅ 모든 쓰기 액션 `auth_audit_log` 자동 기록 (ENFORCEMENT_CREATE / ENFORCEMENT_UPDATE / ACK_EVENT / UPDATE_EVENT_STATUS)
- ✅ KPI 카운트 (CRITICAL/HIGH/MEDIUM/LOW) + 엑셀 내보내기 + 출력
- ✅ 단속 완료 시 prediction_events.status 자동 RESOLVED 갱신
**향후 구현 예정:**
- 🔲 증거 파일(사진/영상) 업로드 서버 연동
- 🔲 AI 매칭 검증 정량 지표 (탐지↔단속 confusion matrix)
---
## SFR-12: 종합 상황판 및 경보 현황판
### 종합 상황판
**메뉴 위치:** 모니터링 > 종합 상황판
**URL:** `/dashboard`
**접근 권한:** ADMIN, OPERATOR, ANALYST, FIELD, VIEWER
**화면 설명:**
시스템의 전체 운영 현황을 한눈에 파악할 수 있는 종합 대시보드입니다. KPI(핵심 성과 지표), 해역 위험도 히트맵, 이벤트 타임라인, 함정 배치 현황 등이 통합 표시됩니다.
**주요 기능:**
- KPI 카드 (탐지 건수, 정확도, 대응 시간 등) 표시
- 해역 위험도 히트맵 축소판
- 최근 이벤트 타임라인
- 함정 배치 현황 요약
- 실시간 경보 알림 표시
**구현 완료 (2026-04-17 기준):**
-**실시간 KPI 카드**`/api/stats/kpi` 연동, prediction 5분 주기 결과 기반
- ✅ 실시간 상황 타임라인 — 최근 `prediction_events` 스트림 (긴급/경고 카운트 실시간)
- ✅ 함정 배치 현황 + 경보 알림 + 순찰 현황 통합
- ✅ 라이트/다크 모드 반응형 (2026-04-17 PR #C 하드코딩 색상 제거)
**향후 구현 예정:**
- 🔲 WebSocket 기반 실시간 push (현재는 주기 polling)
- 🔲 맞춤형 대시보드 레이아웃 (드래그/리사이즈)
---
### 경보 현황판
**메뉴 위치:** 모니터링 > 경보 현황판
**URL:** `/monitoring`
**접근 권한:** ADMIN, OPERATOR, ANALYST
**화면 설명:**
현재 발생 중인 경보를 중심으로 긴급 상황을 모니터링하는 화면입니다. 경보 등급별 분류, 미처리 경보 목록, 경보 상세 정보를 확인할 수 있습니다.
**주요 기능:**
- 경보 등급별(긴급/경고/주의/정보) 현황 표시
- 미처리 경보 목록 및 상세 조회
- 경보 처리(확인/대응/종결) 워크플로우
- 경보 발생 이력 조회
**구현 완료 (2026-04-17 기준):**
-**실시간 경보 수신**`/api/events` + `/api/alerts` 실 API 연동, prediction event_generator 4룰 기반
- ✅ 경보 등급별(CRITICAL/HIGH/MEDIUM/LOW) 현황 + KPI 카운트
- ✅ 경보 처리 워크플로우 — 확인(ACK) → 단속 등록 → 오탐 처리 (DB 저장 + `auth_audit_log` 기록)
- ✅ 시스템 상태 패널 (백엔드/AI 분석 엔진/DB 상태 실시간 표시, 30초 자동 갱신)
**향후 구현 예정:**
- 🔲 경보 자동 에스컬레이션 정책
- 🔲 경보 룰 커스터마이즈 UI
---
### 실시간 감시
**메뉴 위치:** 모니터링 > 실시간 감시
**URL:** `/events`
**접근 권한:** ADMIN, OPERATOR, ANALYST, FIELD
**화면 설명:**
실시간 지도(LiveMap)를 통해 해역 상황을 감시하는 화면입니다. 선박 위치, 이벤트 발생 지점, 함정 위치 등을 실시간으로 확인할 수 있습니다.
**주요 기능:**
- 실시간 지도 기반 선박/함정 위치 표시
- 이벤트 발생 시 지도 상 알림 표시
- 선박/이벤트 클릭 시 상세 정보 팝업
- 지도 확대/축소 및 해역 필터링
**구현 완료 (2026-04-17 기준):**
-**실시간 선박 위치 + 이벤트 마커** — prediction 5분 주기 분석 결과(`vessel_analysis_results.lat/lon`) + `prediction_events` 기반
- ✅ MapLibre GL 5 + deck.gl 9 GPU 렌더링 (40만척+ 지원)
- ✅ 위험도별 마커 opacity/radius 차등 (2026-04-17 `ALERT_LEVEL_MARKER_OPACITY/RADIUS` 헬퍼 적용)
- ✅ 이벤트 상세 패널 + 고위험 사건 실시간 알림 (LIVE 표시)
**향후 구현 예정:**
- 🔲 WebSocket 기반 실시간 push (현재는 주기 갱신)
- 🔲 SAR 위성영상 오버레이
---
### 해역 통제
**메뉴 위치:** 모니터링 > 해역 통제
**URL:** `/map-control`
**접근 권한:** ADMIN, OPERATOR
**화면 설명:**
특정 해역에 대한 통제 구역을 설정하고 관리하는 지도 기반 화면입니다. 통제 구역 진입 선박을 감시할 수 있습니다.
**주요 기능:**
- 통제 구역 지도 상 설정 및 표시
- 통제 구역 진입/이탈 선박 모니터링
- 통제 구역 관리 (생성/수정/삭제)
**구현 완료:**
- ✅ 지도 기반 해역 통제 구역 표시 UI
- ✅ 통제 구역 관리 인터페이스
**향후 구현 예정:**
- 🔲 실시간 선박 위치 기반 진입 감시
- 🔲 통제 구역 위반 자동 경보
**보완 필요:**
- ⚠️ 현재 통제 구역 데이터는 샘플이며, 실시간 연동 필요
---
## SFR-13: 통계 및 성과 분석
**메뉴 위치:** 통계/보고 > 통계/성과 분석
**URL:** `/statistics`
**접근 권한:** ADMIN, OPERATOR, ANALYST
**화면 설명:**
시스템의 운영 성과를 통계적으로 분석하는 화면입니다. 월별 추이 그래프와 5개 KPI(탐지 정확도 93.2%, 오탐율 7.8% 등)를 제공합니다.
**주요 기능:**
- 월별 탐지/단속 추이 그래프
- KPI 5개 지표 대시보드 (탐지 정확도, 오탐율, 대응 시간, 커버리지, 가동률)
- 기간별/해역별/유형별 필터링
- 통계 데이터 엑셀 내보내기 및 인쇄
**구현 완료 (2026-04-17 기준):**
-**실시간 통계 데이터**`/api/stats/monthly|daily|hourly` 연동, prediction `stats_aggregator` 집계 결과 기반
- ✅ 월별/일별/시간별 추이 그래프 (ECharts, KST 기준)
- ✅ 해역별/유형별 필터링 + 엑셀 내보내기/인쇄
- ✅ 감사·보안 통계 — `/api/admin/stats/audit|access|login` (2026-04-17 AdminStatsService 계층 분리)
**향후 구현 예정:**
- 🔲 보고서 자동 생성 (PDF/HWP) — 현재는 UI만
- 🔲 맞춤형 지표 대시보드 설정
---
### 보고서 관리
**메뉴 위치:** 통계/보고 > 보고서 관리
**URL:** `/reports`
**접근 권한:** ADMIN, OPERATOR, ANALYST
**화면 설명:**
시스템 운영 보고서를 생성하고 관리하는 화면입니다. 정기/비정기 보고서를 작성하고 조회할 수 있습니다.
**주요 기능:**
- 보고서 목록 조회 및 검색
- 보고서 작성/수정/삭제
- 보고서 템플릿 관리
**구현 완료:**
- ✅ 보고서 관리 UI 및 목록/상세 화면
**향후 구현 예정:**
- 🔲 보고서 DB 연동
- 🔲 통계 데이터 자동 삽입
- 🔲 PDF 보고서 생성 및 다운로드
**보완 필요:**
- ⚠️ 현재 보고서 데이터는 샘플이며, DB 연동 필요
---
## SFR-14: 외부 서비스 연계
**메뉴 위치:** 시스템 관리 > 외부 서비스 연계
**URL:** `/external-service`
**접근 권한:** ADMIN
**화면 설명:**
외부 시스템과의 API 연계 현황을 관리하는 화면입니다. 5개 외부 서비스(해양경찰청 통합시스템, GICOMS, 해양교통관제 등)의 API 연결 상태를 확인할 수 있습니다.
**주요 기능:**
- 외부 서비스 5건 연계 현황 대시보드
- 서비스별 API 연결 상태(정상/오류) 확인
- API 호출 이력 및 오류 로그 조회
- 연계 설정 관리
**구현 완료:**
- ✅ 외부 서비스 5건 연계 현황 UI
- ✅ API 상태 표시 대시보드
**향후 구현 예정:**
- 🔲 실제 외부 API 연동 구현
- 🔲 API 헬스체크 자동화
- 🔲 장애 시 자동 알림 및 재연결
**보완 필요:**
- ⚠️ 현재 API 상태는 샘플 데이터이며, 실제 API 연동 후 실시간 상태 표시 필요
---
## SFR-15: 모바일 서비스
**메뉴 위치:** 현장 대응 > 모바일 서비스
**URL:** `/mobile-service`
**접근 권한:** ADMIN, OPERATOR, FIELD
**화면 설명:**
현장 요원이 사용할 모바일 앱의 화면을 웹에서 미리보기(프리뷰)하는 시뮬레이션 화면입니다. 실제 모바일 앱이 아닌 웹 기반 시뮬레이션으로, 모바일 앱의 기능과 화면 구성을 확인할 수 있습니다.
**주요 기능:**
- 모바일 앱 화면 프리뷰 (웹 시뮬레이션)
- 주요 기능 화면 미리보기 (경보 수신, 위치 공유, 보고서 작성 등)
- 모바일 레이아웃 시뮬레이션
**구현 완료:**
- ✅ 모바일 앱 프리뷰 화면 (웹 시뮬레이션)
- ✅ 주요 기능별 화면 미리보기
**향후 구현 예정:**
- 🔲 실제 모바일 앱(iOS/Android) 개발
- 🔲 Push 알림 연동
- 🔲 오프라인 모드 지원
**보완 필요:**
- ⚠️ 현재는 웹 시뮬레이션으로, 실제 모바일 앱과 UI/UX가 다를 수 있음
---
## SFR-16: 함정 Agent
**메뉴 위치:** 현장 대응 > 함정 Agent
**URL:** `/ship-agent`
**접근 권한:** ADMIN, OPERATOR
**화면 설명:**
각 경비함에 설치되는 Agent 소프트웨어의 상태를 모니터링하는 화면입니다. 6건의 함정 Agent 상태(온라인/오프라인, 버전, 마지막 통신 시간 등)를 확인할 수 있습니다.
**주요 기능:**
- 함정 Agent 6건 상태 목록 조회
- Agent별 온라인/오프라인 상태 확인
- Agent 소프트웨어 버전 및 업데이트 현황
- 마지막 통신 시간 및 통신 이력 확인
**구현 완료:**
- ✅ 함정 Agent 6건 상태 모니터링 UI
- ✅ 상태별 시각적 표시 (온라인/오프라인)
**향후 구현 예정:**
- 🔲 실제 Agent 소프트웨어 개발 및 배포
- 🔲 Agent 실시간 통신 연동
- 🔲 Agent 원격 업데이트 기능
**보완 필요:**
- ⚠️ 현재 Agent 상태는 샘플 데이터이며, 실제 Agent SW 개발 후 연동 필요
---
## SFR-17: AI 알림 발송
**메뉴 위치:** 현장 대응 > AI 알림 발송
**URL:** `/ai-alert`
**접근 권한:** ADMIN, OPERATOR
**화면 설명:**
AI가 분석한 결과를 기반으로 관련 담당자에게 알림을 발송하는 화면입니다. 5건의 알림 전송 현황을 확인하고 새로운 알림을 발송할 수 있습니다.
**주요 기능:**
- AI 알림 5건 전송 현황 조회
- 알림 유형별(긴급/일반/정보) 분류
- 알림 수신자 설정 및 발송
- 알림 전송 결과(성공/실패) 확인
**구현 완료 (2026-04-17 기준):**
-**AI 알림 이력 실 API 조회**`/api/alerts` 연동 (2026-04-17 AlertService 계층 분리)
- ✅ prediction `alert_dispatcher` 모듈이 event_generator 결과 기반으로 `prediction_alerts` 테이블에 자동 기록
- ✅ 알림 유형별 분류 + DataTable 검색/정렬/페이징/엑셀 내보내기
**향후 구현 예정:**
- 🔲 실제 SMS/푸시 발송 게이트웨이 연동 (현재는 DB 기록만)
- 🔲 알림 템플릿 엔진
- 🔲 수신자 그룹 관리
---
## SFR-18/19: MLOps 플랫폼
**메뉴 위치:** 시스템 관리 > MLOps
**URL:** `/mlops`
**접근 권한:** ADMIN
**화면 설명:**
AI 모델의 전체 생명주기(실험, 학습, 배포, 모니터링)를 관리하는 MLOps 플랫폼 화면입니다. 7개 탭으로 구성되어 실험 관리, 모델 레지스트리, 배포 관리, API 서빙, LLMOps 등의 기능을 제공합니다.
**주요 기능:**
- 실험 관리 — AI 모델 학습 실험 기록 및 비교
- 모델 레지스트리 — 학습된 모델 버전 관리
- 배포 관리 — 모델 서빙 환경 배포 및 모니터링
- API 서빙 — 모델 추론 API 관리
- LLMOps — 대규모 언어 모델(LLM) 운영 관리
- 모니터링 — 모델 성능 드리프트 감시
- 파이프라인 — 자동화된 학습/배포 파이프라인 관리
**구현 완료:**
- ✅ MLOps 7탭 UI (실험/모델/배포/API/LLMOps/모니터링/파이프라인)
- ✅ 각 탭별 상세 관리 화면
**향후 구현 예정:**
- 🔲 실제 MLOps 인프라 연동 (MLflow, Kubeflow 등)
- 🔲 모델 학습/배포 파이프라인 자동화
- 🔲 모델 성능 모니터링 실시간 연동
- 🔲 LLM 운영 관리 기능 연동
**보완 필요:**
- ⚠️ 현재 모든 데이터는 샘플이며, MLOps 인프라 구축 후 실제 데이터로 교체 필요
---
## SFR-20: AI 의사결정 지원
**메뉴 위치:** 시스템 관리 > AI 의사결정 지원
**URL:** `/ai-assistant`
**접근 권한:** ADMIN, OPERATOR, ANALYST
**화면 설명:**
AI에게 질문하고 답변을 받을 수 있는 대화형(채팅) 인터페이스입니다. RAG(검색 증강 생성) 기술을 활용하여 관련 법령, 규정, 매뉴얼을 참조한 답변을 제공합니다.
**주요 기능:**
- AI Q&A 채팅 UI (질문 입력 및 답변 표시)
- RAG 기반 법령/규정 참조 답변 (참조 출처 표시)
- 대화 이력 관리
- 답변 품질 피드백 (유용함/유용하지 않음)
**구현 완료:**
- ✅ AI Q&A 채팅 UI
- ✅ RAG 법령 참조 답변 표시 화면
**향후 구현 예정:**
- 🔲 LLM(대규모 언어 모델) 백엔드 서버 연동
- 🔲 RAG 시스템 구축 (법령/규정/매뉴얼 벡터 DB)
- 🔲 답변 품질 개선을 위한 Fine-tuning
**보완 필요:**
- ⚠️ 현재 답변은 사전 작성된 샘플이며, LLM 백엔드 연동 후 실제 AI 답변으로 교체 필요
---
## 부록: 시스템 관리 메뉴
### 시스템 관리
**메뉴 위치:** 시스템 관리 > 시스템 관리
**URL:** `/admin`
**접근 권한:** ADMIN
**화면 설명:**
시스템 전반의 관리 기능을 제공하는 화면입니다. 서버 상태, 로그 조회, 사용자 관리 등 시스템 운영에 필요한 관리 기능을 포함합니다.
**주요 기능:**
- 시스템 상태 모니터링
- 사용자 계정 관리
- 시스템 로그 조회
**구현 완료:**
- ✅ 시스템 관리 기본 UI
**향후 구현 예정:**
- 🔲 실제 서버 상태 모니터링 연동
- 🔲 사용자 관리 DB 연동
- 🔲 시스템 로그 수집/조회 연동
---
## 부록: 역할(Role)별 접근 권한 요약
| 역할 | 설명 | 접근 가능 주요 메뉴 |
|------|------|---------------------|
| **ADMIN** | 시스템 관리자 | 모든 메뉴 접근 가능 |
| **OPERATOR** | 운영 담당자 | 모니터링, 탐지/분석, 단속/이력, 통계/보고, 현장 대응, 일부 시스템 관리 |
| **ANALYST** | 분석 담당자 | 모니터링, 탐지/분석, 단속/이력, 통계/보고, AI 의사결정 지원 |
| **FIELD** | 현장 요원 | 종합 상황판, 실시간 감시, 순찰경로, 모바일 서비스 |
| **VIEWER** | 조회 전용 | 종합 상황판 (조회만 가능) |
---
## 부록: 현재 시스템 상태 요약 (2026-04-17 기준)
| 항목 | 상태 |
|------|------|
| UI 구현 | 모든 SFR 완료 |
| **백엔드 연동** | **15+ 화면 실 API 연동 완료** (Auth/RBAC/Audit/Events/Alerts/Enforcement/Stats/Analysis/Master 등 65+ API) |
| **AI 분석 엔진 (prediction)** | **운영 중** — 5분 주기로 snpdb 분석 → kcgaidb 저장, 14 알고리즘 + DAR-03 G-01~G-06 |
| **데이터** | 실 AIS 원천(snpdb) + prediction 분석 결과 + 자체 DB 저장 데이터 (일부 화면은 여전히 Mock) |
| **인증 체계** | 자체 ID/PW + JWT + 트리 기반 RBAC + 5회 실패 잠금 (SSO/GPKI 미연동) |
| **실시간 기능** | prediction 5분 주기 + 프론트 30초 폴링 (WebSocket push 미도입) |
| **AI 모델** | Dark Vessel 11패턴 / DAR-03 G-01~G-06 / 환적 5단계 / 경량 risk 등 14종 운영 중 (일부 모델은 Mock 계획 단계) |
| **외부 시스템** | snpdb / gc-signal-batch 연동 완료. 유관기관 OpenAPI(GICOMS/MTIS 등)는 미연동 |
| **디자인 시스템** | `design-system.html` 쇼케이스 SSOT 전영역 준수, 라이트/다크 모드 완전 대응 |
| **다국어** | 한/영 alert/confirm/aria-label 전수 치환 완료 (JSX placeholder 35건은 후속 과제) |
| **모바일 앱** | 웹 시뮬레이션만 제공 (PWA/네이티브 앱 미개발) |
---
## 변경 이력
| 일자 | 내용 |
|------|------|
| 2026-04-06 | 초기 작성 (프론트엔드 프로토타입 v0.1.0 기준) |
| 2026-04-17 | 헤더 + SFR-01/02/09/10/11/12/13/17 주요 섹션 업데이트. 실 API 연동 / prediction 운영 상태 / 2026-04-17 PR #A/#B/#C 반영 |