KCG AI 기반 불법조업 탐지·차단 플랫폼 프론트엔드. React 19 + TypeScript 5.9 + Vite 8 + MapLibre + deck.gl + Zustand + Tailwind CSS. SFR 20개 전체 UI 구현 완료, 백엔드 연동 대기. - npm + Nexus 프록시 레지스트리 설정 - 팀 워크플로우 v1.6.1 부트스트랩 파일 배치 - .githooks (commit-msg, post-checkout) - package.json name: kcg-ai-monitoring v0.1.0 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
38 KiB
SFR 요구사항 추적 매트릭스 (Requirements Traceability Matrix)
프로젝트: AI 기반 불법조업 감시 시스템
문서 버전: 2.0
최종 업데이트: 2026-04-06
근거 문서: 제안요청서 (RFP) 소프트웨어 기능 요구사항 (SFR)
기술 스택 및 아키텍처 현황
| 항목 | 내용 |
|---|---|
| 기술 스택 | React 19, Vite 8, deck.gl 9.2, Zustand 5.0, ECharts, MapLibre GL |
| 데이터 흐름 | data/mock → Zustand store → 페이지 렌더 |
| 렌더링 | deck.gl 제로 리렌더 아키텍처 (useMapLayers + RAF) |
| i18n | 10 네임스페이스, MainLayout + 24페이지 + LoginPage 적용 |
| 테마 | Dark/Light 전환 지원 (CSS 변수 기반) |
요약
| 구분 | 건수 |
|---|---|
| 전체 SFR | 20건 |
| UI 완료 | 20건 (100%) |
| 기능 일부 구현 (프론트엔드 시뮬레이션) | 20건 |
| 백엔드 연동 완료 | 0건 (0%) |
현재 전체 SFR에 대해 화면(UI) 프로토타입이 완성되었으며(31페이지), 시뮬레이션 데이터 기반으로 동작합니다.
데이터는data/mockJSON에서 8개의 Zustand store(kpiStore,vesselStore,eventStore,enforcementStore,patrolStore,gearStore,transferStore,settingsStore)를 거쳐 페이지에 전달됩니다.
지도 페이지는 deck.gl 레이어 렌더링을 사용하며, 모든 페이지에 i18n 제목/설명 및 Dark/Light 테마가 적용되어 있습니다.
실제 백엔드 API, AI 모델, 외부 시스템 연동은 2차 개발 단계에서 수행됩니다.
구현 진척 요약
| 항목 | 상태 |
|---|---|
| UI 프로토타입 | ✅ 완료 (31페이지) |
| 기술스택 전환 | ✅ 완료 (React 19, Vite 8, deck.gl, ECharts) |
| 데이터 통합 | ✅ 완료 (7 mock → 8 store) |
| i18n 구조 | ✅ 완료 (제목/메뉴, 내부 텍스트 미완) |
| 테마 시스템 | ✅ 완료 (dark/light, 시맨틱 CSS 변수) |
| API 서비스 | 🔲 샘플 구조만 (mock 반환) |
| 실시간 인프라 | 🔲 스캐폴드만 (STOMP.js 미설치) |
| 코드 스플리팅 | 🔲 미적용 (3.2MB 단일 번들) |
SFR 목록
| SFR | 요구사항 명칭 | 구현 화면 | 구현 상태 |
|---|---|---|---|
| SFR-01 | 시스템 로그인 및 권한 관리 | LoginPage, AccessControl | UI 완료 |
| SFR-02 | 시스템 기본 환경설정 및 공통 기능 | SystemConfig, NoticeManagement, 공통 컴포넌트 | UI 완료 |
| SFR-03 | 통합 데이터 허브 수집·연계 관리 | DataHub | UI 완료 |
| SFR-04 | AI 불법조업 예측모델 관리 | AIModelManagement | UI 완료 |
| SFR-05 | 격자 기반 불법조업 위험도 지도 생성·시각화 | RiskMap | UI 완료 |
| SFR-06 | 단속 계획·경보 연계 | EnforcementPlan | UI 완료 |
| SFR-07 | AI 경비함정 단일 함정 순찰·경로 추천 | PatrolRoute | UI 완료 |
| SFR-08 | AI 경비함정 다함정 협력형 경로 최적화 | FleetOptimization | UI 완료 |
| SFR-09 | 불법 어선 패턴 탐지 | DarkVesselDetection | UI 완료 |
| SFR-10 | 불법 어망·어구 탐지 및 관리 | GearDetection, GearIdentification | UI 완료 |
| SFR-11 | 단속·탐지 이력 관리 | EnforcementHistory, EventList | UI 완료 |
| SFR-12 | 모니터링 및 경보 현황판(대시보드) | Dashboard, MonitoringDashboard | UI 완료 |
| SFR-13 | 통계·지표·성과 분석 | Statistics | UI 완료 |
| SFR-14 | 외부 서비스 제공 결과 연계 | ExternalService | UI 완료 |
| SFR-15 | 단속요원 이용 모바일 대응 서비스 | MobileService | UI 완료 |
| SFR-16 | 함정용 단말 Agent 개발 | ShipAgent | UI 완료 |
| SFR-17 | 현장 함정 즉각 대응 AI 알림 메시지 발송 | AIAlert | UI 완료 |
| SFR-18 | 기계학습 운영 기능 | MLOpsPage | UI 완료 |
| SFR-19 | 대규모 언어모델(LLM) 운영 기능 | MLOpsPage (LLMOps 탭) | UI 완료 |
| SFR-20 | 자연어 처리 기반 AI 의사결정 지원(Q&A) 서비스 | AIAssistant | UI 완료 |
상세 추적 내역
SFR-01: 시스템 로그인 및 권한 관리
제안요청서 정의: 사용자 유형별 안전한 인증 및 역할 기반 권한 관리 체계를 구축하여, 시스템 접근 보안을 확보하고 사용자 활동에 대한 감사 추적을 가능하게 한다.
세부 요구사항 요약:
- 해양경찰 SSO·공무원증·GPKI 등 기존 인증체계 로그인 연동
- 역할 기반 접근 제어(RBAC) 구현
- 감사 로그(Audit Log) 기록 및 조회
- 비밀번호 정책 적용 (9자 이상, 영문+숫자+특수문자)
- 5회 연속 인증 실패 시 계정 잠금 (30분)
구현 화면: 로그인 페이지 (src/features/auth/LoginPage.tsx), 접근 권한 관리 (src/features/admin/AccessControl.tsx)
화면 구성 요소:
- 로그인 폼: ID/PW 입력, GPKI 인증서 로그인, SSO 연동 버튼 (3가지 인증 방식 탭)
- 역할별 데모 계정 5종: 관리자(ADMIN), 운용자(OPERATOR), 분석관(ANALYST), 현장요원(FIELD), 열람자(VIEWER)
- 비밀번호 정책 검증 UI (길이·복잡도 실시간 표시)
- 계정 잠금 카운터 및 잠금 상태 표시
- 접근 권한 관리 테이블 (역할별 메뉴/기능 접근 매트릭스)
구현 상태: UI 완료
통합 현황:
- i18n: 로그인 페이지 제목/설명, 접근 권한 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- Zustand:
settingsStore를 통한 테마/언어 설정 관리
미구현 항목:
- 실제 SSO(해양경찰 통합인증) 연동
- GPKI(정부 공인인증서) 인증 모듈 연동
- 공무원증 기반 인증 연동
- 백엔드 세션 관리 및 JWT 토큰 발급
- 감사 로그 DB 저장 및 조회 API
- 인사 시스템 연동을 통한 역할 자동 부여
SFR-02: 시스템 기본 환경설정 및 공통 기능
제안요청서 정의: 시스템 운영에 필요한 공통 코드, 기준정보, 알림, 공통 UI 컴포넌트를 관리하며, GIS 지도 기반 웹서비스 및 범용 데이터 처리 기능을 제공한다.
세부 요구사항 요약:
- 공통 코드 등록·수정·폐기 관리
- 알림 관리 (팝업, 배너, 공지사항)
- GIS 지도 기반 웹서비스 제공
- 파일 업로드/다운로드
- 검색·페이징·정렬
- 엑셀 내보내기
구현 화면: 시스템 설정 (src/features/admin/SystemConfig.tsx), 공지사항 관리 (src/features/admin/NoticeManagement.tsx)
공통 컴포넌트:
src/shared/components/common/DataTable.tsx- 데이터 테이블 (정렬, 필터링)src/shared/components/common/ExcelExport.tsx- 엑셀 내보내기src/shared/components/common/Pagination.tsx- 페이징 처리src/shared/components/common/SearchInput.tsx- 검색 입력src/shared/components/common/FileUpload.tsx- 파일 업로드src/shared/components/common/PrintButton.tsx- 인쇄 버튼src/shared/components/common/SaveButton.tsx- 저장 버튼src/shared/components/common/NotificationBanner.tsx- 알림 배너src/shared/components/common/PageToolbar.tsx- 페이지 도구 모음src/shared/components/ui/card.tsx- 카드 컴포넌트src/shared/components/ui/badge.tsx- 뱃지 컴포넌트
화면 구성 요소:
- 공통 코드 관리 테이블 (875건 기준정보 JSON)
- 공지사항 등록·수정·삭제 폼
- 알림 설정 (팝업/배너/공지 유형 선택)
- GIS 지도 컴포넌트 (MapLibre 기반)
구현 상태: UI 완료
통합 현황:
- i18n: 시스템 설정/공지사항 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원 (시맨틱 CSS 변수 기반)
- Zustand:
settingsStore를 통한 시스템 설정 상태 관리 - GIS 지도: MapLibre GL 기반 공통 지도 컴포넌트
미구현 항목:
- 공통 코드 CRUD 백엔드 API 연동
- 기준정보 DB 저장 (현재 JSON 파일 기반)
- 파일 업로드/다운로드 서버 연동
- 알림 발송 엔진 (푸시, 이메일)
- 엑셀 내보내기 서버사이드 렌더링 (대용량)
SFR-03: 통합 데이터 허브 수집·연계 관리
제안요청서 정의: AIS, V-PASS, 위성, 해양환경 등 이기종 데이터를 통합 수집하는 데이터 허브를 구축하고, 수집 파이프라인의 실시간 모니터링 및 이상 감지 기능을 제공한다.
세부 요구사항 요약:
- 다중 데이터 소스 수집 파이프라인 구축 (AIS, V-PASS, 위성, 해양환경, 기상)
- 실시간 스트리밍 및 배치 수집 지원
- 수집 상태 모니터링 대시보드
- 이상 감지 시 자동 알림
- 수집 이력 조회 화면
구현 화면: 데이터 허브 (src/features/admin/DataHub.tsx)
화면 구성 요소:
- 선박신호 수신 현황: 5개 신호원(지상 AIS, 위성 AIS, V-PASS, LRIT, 해상VHF) 24시간 타임라인 히트맵
- 선박위치정보 모니터링: 22개 연계 채널 상태 테이블 (수신율, 지연시간, 최종수신)
- 채널별 상태 표시 (정상/경고/오류)
- 수집 파이프라인 등록·시작·중지 관리 버튼
- 수집 이력 로그 테이블
구현 상태: UI 완료
통합 현황:
- i18n: 데이터 허브 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- Zustand: mock 데이터 기반 수집 현황 표시
미구현 항목:
- 실제 AIS 수신기 연동 (지상·위성)
- V-PASS 시스템 API 연동
- LRIT 데이터센터 연동
- 해양환경·기상 데이터 수집 배치 구현
- 실시간 스트리밍 파이프라인 (Kafka 등)
- 수집 이상 감지 알림 엔진
- 수집 이력 DB 저장
SFR-04: AI 불법조업 예측모델 관리
제안요청서 정의: 해역별 불법조업 위험도를 예측하는 AI 모델의 개발·훈련·배포·모니터링 전주기를 관리하는 체계를 제공한다.
세부 요구사항 요약:
- 학습 데이터셋 관리 (수집·정제·라벨링)
- 모델 구조 설계 및 하이퍼파라미터 관리
- 과적합 방지 (교차검증, 정규화)
- 재학습 파이프라인 (자동/수동)
- 예측 결과 API 제공
구현 화면: AI 모델 관리 (src/features/ai-operations/AIModelManagement.tsx)
화면 구성 요소:
- 모델 레지스트리: 5개 버전 관리 (v1.0~v2.1), 배포 이력, 성능 지표 비교 테이블
- 탐지 규칙 관리: 6개 규칙 (EEZ 침범, AIS 차단, 속력 이상, 선단 밀집, 환적 의심, MMSI 변조) ON/OFF 토글, 가중치 슬라이더
- 피처 엔지니어링: 20개 피처 (Kinematic/Geometric/Temporal/Behavioral/Contextual 5개 카테고리)
- 학습 파이프라인: 6단계 시각화 (데이터 수집 → 전처리 → 피처추출 → 모델학습 → 평가 → 배포)
- 성능 모니터링: 정확도·Recall·F1·오탐률·리드타임 추이 차트
- 어구 탐지 모델: GB/T 5147 어구 분류 체계
- 7대 탐지 엔진: 불법조업 감시 알고리즘 v4.0 (906척 허가어선 기준)
- API 문서: 예측 결과 API 사양 표시
구현 상태: UI 완료
통합 현황:
- i18n: AI 모델 관리 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- ECharts: 성능 모니터링 추이 차트 렌더링
미구현 항목:
- 실제 ML 모델 학습 및 추론 엔진 연동
- 학습 데이터셋 관리 (데이터 수집·정제·라벨링 파이프라인)
- 모델 버전 관리 저장소 (MLflow 등)
- 재학습 자동화 (스케줄러, 트리거 기반)
- 예측 결과 REST API 서버 구현
- 과적합 감지 및 모델 드리프트 모니터링
SFR-05: 격자 기반 불법조업 위험도 지도 생성·시각화
제안요청서 정의: AI 예측 결과를 격자 및 해역 단위 위험도 지도로 시각화하여, 해역별 위험 수준을 직관적으로 파악할 수 있는 지리정보 기반 인터페이스를 제공한다.
세부 요구사항 요약:
- 격자체계 정의 (해역 분할 기준)
- 5단계 등급화 위험도 지도 (매우높음/높음/보통/낮음/안전)
- 조건별 필터링 (기간, 해역, 위험등급)
- 격자 선택 시 상세 이력 조회
- 지도 출력(인쇄) 기능
- MTIS 해양사고 통계 연계
구현 화면: 위험도 지도 (src/features/risk-assessment/RiskMap.tsx)
화면 구성 요소:
- 10x18 격자 히트맵: 위험도 5단계 색상 매핑
- 6개 탭: 위험도 히트맵 / 년도별 통계 / 선박 특성별 / 사고종류별 / 시간적 특성별 / 사고율
- 해역별 요약 테이블: 6개 구역 위험도·추세·선박수
- 위험등급 분포 범례 (건수, 비율)
- GIS 지도 오버레이 (EEZ, NLL 경계선 표시)
- MTIS 해양사고 통계 차트 (중앙해양안전심판원 데이터 기반)
- 년도별 사고 추이, 선박 유형별·톤수별·선령별 분포, 사고종류별 분석
구현 상태: UI 완료
통합 현황:
- i18n: 위험도 지도 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- deck.gl: 격자 히트맵 레이어 렌더링 (
useMapLayers+ RAF 제로 리렌더) - ECharts: MTIS 해양사고 통계 차트, 년도별 추이 차트
미구현 항목:
- AI 예측 모델 연동을 통한 실시간 위험도 산출
- 격자 선택 시 실제 이력 데이터 조회 (DB 연동)
- MTIS 실시간 데이터 API 연계
- 위험도 지도 자동 갱신 (주기적 배치)
- 격자 해상도 동적 변경
SFR-06: 단속 계획·경보 연계
제안요청서 정의: AI 위험도 분석 결과를 기반으로 단속 우선지역을 자동 도출하고, 임계값 초과 시 경보를 발령하여 선제적 대응 체계를 구축한다.
세부 요구사항 요약:
- 위험도 기반 단속 우선지역 자동 추천
- 적정 단속 계획 수립 (인력·함정 배치)
- 임계값 초과 시 자동 경보 발령
- 단속 계획 이력 관리
구현 화면: 단속 계획 (src/features/risk-assessment/EnforcementPlan.tsx)
화면 구성 요소:
- 단속 계획 목록: 5개 계획 (계획명, 대상 해역, 기간, 투입 함정, 상태)
- 지도 기반 계획 시각화 (단속 구역·함정 배치 표시)
- 단속 계획 상세 테이블 (우선순위, 예상 위험도, 투입 자원)
- 경보 현황 패널
구현 상태: UI 완료
통합 현황:
- i18n: 단속 계획 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- deck.gl: 단속 구역/함정 배치 지도 레이어 렌더링
- Zustand:
enforcementStore를 통한 단속 계획 데이터 관리
미구현 항목:
- 위험도 기반 단속 우선지역 자동 추천 알고리즘
- 경보 발령 엔진 (임계값 설정 및 자동 발송)
- 단속 계획 승인 워크플로우
- 함정·인력 자원 관리 시스템 연동
- 단속 계획 이력 DB 저장
SFR-07: AI 경비함정 단일 함정 순찰·경로 추천
제안요청서 정의: 개별 경비함정의 최적 순찰 경로를 AI가 산출하여 추천하며, 함정 성능·기상·위험도를 종합적으로 반영한 시나리오별 경로를 제공한다.
세부 요구사항 요약:
- 함정 성능(속력, 항속거리), 기상 조건, 해역 위험도를 반영한 경로 산출
- 시나리오별 가중치 조정 (위험도 중시 / 커버리지 중시 / 연료 효율)
- 경유점 기반 시뮬레이션
- Human-in-the-loop (운용자 수정 → 재계산)
구현 화면: 순찰 경로 (src/features/patrol/PatrolRoute.tsx)
화면 구성 요소:
- 함정 선택: 4척 (3001함/3005함/3009함/5001함), 함급·속력·항속거리·상태 표시
- 추천 경로 지도: 경유점(Waypoint) 마커, 경로 폴리라인, EEZ/NLL 경계
- 3가지 시나리오: 위험도 중시 / 커버리지 중시 / 연료 효율
- 경로 요약: 거리, 소요시간, 연료 소모, 감시 격자 수
- 경유점 상세: ID, 명칭, 좌표, 예상도착시간(ETA), 설명
구현 상태: UI 완료
통합 현황:
- i18n: 순찰 경로 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- deck.gl: 경유점 마커, 경로 폴리라인, EEZ/NLL 경계 레이어 렌더링
- Zustand:
patrolStore를 통한 함정/경로 데이터 관리
미구현 항목:
- AI 경로 최적화 엔진 (유전 알고리즘, TSP 기반)
- 실시간 기상 데이터 반영
- 해류·조류 정보 연동
- Human-in-the-loop: 운용자 경유점 수정 시 실시간 재계산
- 경로 확정 및 함정 단말 전송
SFR-08: AI 경비함정 다함정 협력형 경로 최적화
제안요청서 정의: 다수 경비함정의 협력 운용을 통해 해역 커버리지를 최대화하고, 함정 간 중복을 최소화하는 최적 배치 계획을 산출한다.
세부 요구사항 요약:
- 다함정 동시 배치 계획 수립
- 해역 커버리지 최적화 (전체 감시 면적 최대화)
- 함정 간 순찰 구역 중복 최소화
- 최적화 전후 비교 시뮬레이션
구현 화면: 함대 최적화 (src/features/patrol/FleetOptimization.tsx)
화면 구성 요소:
- 함정 현황: 5척 투입 함정 목록 (함명, 함급, 상태, 담당 구역)
- 커버리지 구역: 6개 구역 배치 현황
- 최적화 전후 비교: 커버리지율, 중복율, 응답시간 개선 지표
- 지도 기반 배치 시각화
구현 상태: UI 완료
통합 현황:
- i18n: 함대 최적화 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- deck.gl: 함정 배치, 커버리지 구역 지도 레이어 렌더링
- Zustand:
patrolStore를 통한 함정 현황 데이터 관리
미구현 항목:
- 다함정 협력 최적화 AI 엔진 (다목적 최적화)
- 실시간 함정 위치 추적 연동
- 커버리지 계산 알고리즘 (보로노이 분할 등)
- 시뮬레이션 실행 엔진
- 최적화 결과 함정 단말 자동 배포
SFR-09: 불법 어선 패턴 탐지
제안요청서 정의: AIS 조작·위장·Dark Vessel(AIS 미송출 선박) 등 불법조업 관련 이상 패턴을 AI로 탐지하여 의심 선박을 식별한다.
세부 요구사항 요약:
- AIS 송출 차단(Dark Vessel) 탐지
- MMSI 변조 감지 (동일 선박 다중 MMSI 사용)
- 속력 변화 이상 패턴 탐지
- 국적·선명 위장 감지
- 위험도 스코어링 및 라벨링
구현 화면: 다크베셀 탐지 (src/features/detection/DarkVesselDetection.tsx)
화면 구성 요소:
- 의심 선박 목록: 7척 (선박명, 위험도 스코어, 탐지 유형, 좌표, 패턴)
- 5가지 탐지 패턴: AIS 차단, MMSI 변조, 속력 이상, 국적 위장, 선단 밀집
- 위험도 스코어링: 0~1.0 수치 기반 위험 등급 표시
- 라벨링 기능: 의심 선박에 대한 분류 태그 부여
- 지도 기반 의심 선박 위치 표시
구현 상태: UI 완료
통합 현황:
- i18n: 다크베셀 탐지 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- deck.gl: 의심 선박 위치 마커, 이동 경로 레이어 렌더링
- Zustand:
vesselStore를 통한 의심 선박 데이터 관리
미구현 항목:
- AI 패턴 탐지 엔진 (AIS 시계열 분석 모델)
- 실시간 AIS 데이터 스트림 연동
- 위성 영상 기반 Dark Vessel 교차 검증
- MMSI 변조 이력 DB 축적 및 분석
- 탐지 결과 자동 경보 발령
- 라벨링 결과 재학습 파이프라인 연동
SFR-10: 불법 어망·어구 탐지 및 관리
제안요청서 정의: 불법 어구 설치 현황을 탐지하고, AIS 조작 패턴과 연계하여 불법 어구 사용 선박을 식별하는 분석 체계를 제공한다.
세부 요구사항 요약:
- AIS 조작 패턴 기반 불법 어구 사용 감지
- 불법 어망·어구 분석 및 식별
- 어구 유형별 분류 및 판정
구현 화면: 어구 탐지 (src/features/detection/GearDetection.tsx), 어구 식별 (src/features/detection/GearIdentification.tsx)
화면 구성 요소:
- 어구 탐지 현황: 6개 어구 유형별 탐지 목록
- 어구 식별 결정 트리: 어구 유형 판정 로직 시각화
- 판정 요인 분석: 선박 이동 패턴, 정박 시간, 조업 형태 등 요인별 기여도
- 중국어선 어구 탐지 (
src/features/detection/ChinaFishing.tsx내 연계)
구현 상태: UI 완료
통합 현황:
- i18n: 어구 탐지/어구 식별 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- Zustand:
gearStore를 통한 어구 탐지 데이터 관리
미구현 항목:
- AI 어구 탐지 모델 (위성 영상 + AIS 패턴 융합)
- 어구 유형 자동 분류 모델 (GB/T 5147 기반)
- 실시간 AIS 패턴 분석을 통한 어구 사용 추정
- 탐지 결과 DB 저장 및 이력 관리
- 불법 어구 적발 통계 자동 집계
SFR-11: 단속·탐지 이력 관리
제안요청서 정의: 단속 활동 및 AI 탐지 결과에 대한 이력을 체계적으로 관리하여, 과거 사례 조회 및 AI 매칭 검증이 가능한 이력 관리 체계를 구축한다.
세부 요구사항 요약:
- 단속·탐지 이력 통합 조회
- AI 탐지 결과와 실제 단속 결과 매칭 검증
- 이력 기반 통계 분석
구현 화면: 단속 이력 (src/features/enforcement/EnforcementHistory.tsx), 이벤트 목록 (src/features/enforcement/EventList.tsx)
화면 구성 요소:
- 단속 이력 테이블: 6건 단속 기록 (일시, 해역, 선박, 위반 유형, 조치, 결과)
- 이벤트 목록: 15건 탐지 이벤트 (DataTable 기반 정렬·필터·페이징)
- 이력 상세 조회 패널
- 검색·필터링 (기간, 해역, 위반 유형)
구현 상태: UI 완료
통합 현황:
- i18n: 단속 이력/이벤트 목록 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- Zustand:
enforcementStore,eventStore를 통한 이력 데이터 관리
미구현 항목:
- 단속·탐지 이력 DB 연동 (CRUD API)
- AI 탐지 결과 ↔ 실제 단속 결과 자동 매칭 로직
- 이력 기반 통계 분석 백엔드
- 단속 보고서 자동 생성
- 첨부파일(증거 사진·영상) 관리
SFR-12: 모니터링 및 경보 현황판(대시보드)
제안요청서 정의: 해양 불법조업 감시 현황을 실시간으로 종합 모니터링하고, 경보 상태를 직관적으로 파악할 수 있는 통합 대시보드를 제공한다.
세부 요구사항 요약:
- 핵심 KPI 실시간 표시
- 실시간 상황 모니터링 (선박 위치, 탐지 현황)
- 경보 현황 표시 및 이력 타임라인
구현 화면: 메인 대시보드 (src/features/dashboard/Dashboard.tsx), 모니터링 대시보드 (src/features/monitoring/MonitoringDashboard.tsx)
화면 구성 요소:
- KPI 카드 6종: 실시간 탐지(47건), EEZ 침범(18건), 다크베셀(12건), 불법환적 의심(8건), 추적 중(15건), 나포/검문(3건) — 전일 대비 증감 표시
- 작전 경보 타임라인: 10건 시간순 이벤트 (CRITICAL/HIGH/MEDIUM/LOW 4단계)
- 위험 선박 TOP 8: 위험도 스코어 순위, 선박명·국적·위치·패턴 표시
- 경비함정 현황: 6척 상태 (추적/검문/초계/귀항/대기)
- 해역별 위험도: 7개 구역 위험 수준·추세
- 시간대별 탐지 추이 차트
- GIS 지도: EEZ/NLL 경계선, 선박 위치 마커, 히트맵 레이어
- 기상 정보 표시 (풍향, 풍속, 수온, 파고)
구현 상태: UI 완료
통합 현황:
- i18n: 대시보드/모니터링 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- deck.gl: GIS 지도에 선박 위치 마커, 히트맵 레이어 렌더링
- Zustand:
kpiStore,vesselStore,eventStore를 통한 대시보드 데이터 관리 - ECharts: 시간대별 탐지 추이 차트, 해역별 위험도 차트
미구현 항목:
- 실시간 데이터 스트리밍 연동 (WebSocket)
- 실시간 AIS 선박 위치 표시
- 경보 자동 발령 및 알림 연동
- KPI 실시간 갱신 (DB 기반 집계)
- 기상청 API 연동
SFR-13: 통계·지표·성과 분석
제안요청서 정의: 단속 건수, 위반 유형, 해역별·계절별 패턴, AI 적중률 등 핵심 성과 지표를 체계적으로 분석하고 시각화한다.
세부 요구사항 요약:
- 월별 단속 추이 분석
- 위반 유형별 분포 통계
- KPI 지표: 정확도, 오탐률, 리드타임, 성공률, 응답시간
구현 화면: 통계 (src/features/statistics/Statistics.tsx)
화면 구성 요소:
- 월별 단속 추이 차트 (AreaChart)
- 위반 유형별 분포 차트 (PieChart/BarChart)
- KPI 지표 테이블: 정확도, 오탐률, 리드타임, 성공률, 응답시간
- 해역별·계절별 크로스탭 분석
- 통계 기간 설정 필터
구현 상태: UI 완료
통합 현황:
- i18n: 통계 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- ECharts: 월별 단속 추이(AreaChart), 위반 유형별 분포(PieChart/BarChart) 렌더링
미구현 항목:
- 통계 데이터 집계 백엔드 (DB 기반)
- AI 적중률 자동 산출 (탐지 ↔ 단속 결과 매칭)
- 보고서 자동 생성 및 출력
- 기간별·해역별 다차원 분석 엔진
- 성과 지표 목표 대비 달성률 추적
SFR-14: 외부 서비스 제공 결과 연계
제안요청서 정의: 유관기관(해수부, 수협, 어업관리단 등) 간 데이터를 API 기반으로 상호 조회·공유하며, 개인정보 비식별화 처리를 통해 보안을 확보한다.
세부 요구사항 요약:
- API 기반 데이터 제공 체계 구축
- 개인정보 비식별화 처리
- 유관기관별 접근 권한 관리
구현 화면: 외부 서비스 (src/features/statistics/ExternalService.tsx)
화면 구성 요소:
- 외부 서비스 목록: 5개 연계 서비스 (서비스명, 대상기관, 데이터 유형, 상태)
- 프라이버시 등급 표시 (개인정보 비식별화 수준)
- API 사용 현황 모니터링
- 서비스별 접근 권한 설정
구현 상태: UI 완료
통합 현황:
- i18n: 외부 서비스 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
미구현 항목:
- 외부 기관 API Gateway 구축
- 개인정보 비식별화 처리 모듈 (k-익명성, 차등 프라이버시)
- 유관기관 연계 프로토콜 합의 및 구현
- API 인증·인가 (OAuth 2.0 / API Key)
- 데이터 제공 이력 감사 로그
SFR-15: 단속요원 이용 모바일 대응 서비스
제안요청서 정의: 현장 단속요원이 모바일 기기를 통해 AI 예측 정보, 경로 추천, 지도 조회 등을 활용할 수 있는 모바일 대응 서비스를 제공한다.
세부 요구사항 요약:
- AI 예측 정보 수신 (위험도, 의심선박)
- 최적 경로 추천 수신
- 모바일 지도 조회
- 오프라인 모드 지원
구현 화면: 모바일 서비스 (src/features/field-ops/MobileService.tsx)
화면 구성 요소:
- 모바일 화면 프리뷰: 반응형 레이아웃 미리보기
- 푸시 알림 설정: 알림 유형별 수신 ON/OFF
- 미니맵: 축소 지도에서 주요 이벤트 표시
- 모바일 기능 목록 (예측 조회, 경로 수신, 사진 보고 등)
구현 상태: UI 완료
통합 현황:
- i18n: 모바일 서비스 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
미구현 항목:
- 네이티브 모바일 앱 개발 (현재 웹 시뮬레이션만 존재)
- 푸시 알림 서버 (FCM/APNs)
- 오프라인 데이터 캐싱 (Service Worker / SQLite)
- 모바일 전용 경량 지도 엔진
- 현장 사진·영상 업로드 기능
- 단속 보고서 모바일 작성
SFR-16: 함정용 단말 Agent 개발
제안요청서 정의: 경비함정 터미널에서 AI 기반 예측·경로분석·신속 정보 조회가 가능한 전용 Agent 소프트웨어를 개발한다.
세부 요구사항 요약:
- AI 예측 결과 실시간 표시
- 경로 분석 및 최적화 제안
- 신속 정보 제공 (선박 DB, 위험 이력)
- 지도 기반 상황 질의 인터페이스
구현 화면: 함정 Agent (src/features/field-ops/ShipAgent.tsx)
화면 구성 요소:
- Agent 상태 테이블: 6개 함정별 Agent 설치 현황 (함명, 버전, 상태, 최종접속)
- Agent 기능 목록 (예측 조회, 경로 수신, DB 조회, 상황 보고)
구현 상태: UI 완료
통합 현황:
- i18n: 함정 Agent 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
미구현 항목:
- 함정 단말용 Agent 소프트웨어 개발 (네이티브 or Electron)
- AI 예측 결과 실시간 수신 모듈
- 함정 단말 ↔ 본부 서버 통신 프로토콜
- 오프라인 동작 모드 (위성 통신 불안정 대비)
- 지도 기반 자연어 질의 인터페이스
SFR-17: 현장 함정 즉각 대응 AI 알림 메시지 발송
제안요청서 정의: AI 탐지 결과를 현장 함정에 즉각 알림 메시지로 자동 발송하고, 수신 확인 및 미수신 시 재발송 기능을 제공한다.
세부 요구사항 요약:
- AI 탐지 결과 자동 전송 (함정 단말 + 모바일)
- 수신 확인 관리
- 미수신 시 자동 재발송
구현 화면: AI 알림 (src/features/field-ops/AIAlert.tsx)
화면 구성 요소:
- 알림 목록: 5건 발송 내역 (알림 유형, 대상 함정, 발송시간, 내용 요약)
- 전송 상태 표시: 발송 완료 / 수신 확인 / 미수신
- 재발송 버튼
- 알림 유형 필터 (긴급/일반/정보)
구현 상태: UI 완료
통합 현황:
- i18n: AI 알림 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
미구현 항목:
- 알림 발송 서버 (메시지 큐 기반)
- 함정 단말 수신 확인 프로토콜
- 미수신 자동 재발송 로직 (재시도 정책)
- 위성 통신 기반 발송 채널
- 알림 발송 이력 DB 저장
SFR-18: 기계학습 운영 기능
제안요청서 정의: ML 모델의 학습·배포·모니터링 전주기를 관리하는 MLOps 체계를 구축하여, 모델 품질 유지 및 지속적 개선을 지원한다.
세부 요구사항 요약:
- 실험(Experiment) 관리 및 비교
- 모델 레지스트리 (버전 관리, 승인 워크플로우)
- 배포 파이프라인 (Canary/Blue-Green)
- 모델 성능 모니터링 (드리프트 감지)
구현 화면: WING AI 플랫폼 (src/features/ai-operations/MLOpsPage.tsx)
화면 구성 요소:
- 7개 탭 구성:
- 운영 대시보드: KPI 4종 (고위험 탐지, 중위험 탐지, 배포 중 모델, 진행 중 실험), 리소스 사용량
- Experiment Studio: 실험 목록, 하이퍼파라미터, 메트릭 비교
- Model Registry: 등록 모델, 버전 이력, 승인 상태
- Deploy Center: 배포 파이프라인, Canary/Blue-Green 전략
- API Playground: 모델 API 테스트 인터페이스
- LLMOps: 대규모 언어모델 운영 (SFR-19와 공유)
- 플랫폼 관리: 리소스·사용자·권한 관리
구현 상태: UI 완료
통합 현황:
- i18n: WING AI 플랫폼 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
- ECharts: 리소스 사용량, 실험 메트릭 비교 차트
미구현 항목:
- MLOps 플랫폼 백엔드 (Kubeflow / MLflow 등)
- GPU 클러스터 연동 및 리소스 관리
- 실험 추적 및 메트릭 저장 (MLflow Tracking)
- 모델 레지스트리 저장소 (S3/MinIO)
- CI/CD 기반 배포 파이프라인
- 모델 드리프트 자동 감지 및 재학습 트리거
SFR-19: 대규모 언어모델(LLM) 운영 기능
제안요청서 정의: 대규모 언어모델(LLM)의 선택·학습·추론·튜닝 기능을 제공하여, 자연어 기반 AI 서비스의 운영 기반을 구축한다.
세부 요구사항 요약:
- LLM 모델 선택 및 관리
- Fine-tuning 학습 파이프라인
- 추론 서빙 및 로그 관리
- 하이퍼파라미터 튜닝(HPS)
구현 화면: WING AI 플랫폼 LLMOps 탭 (src/features/ai-operations/MLOpsPage.tsx — LLMOps 탭)
화면 구성 요소:
- LLMOps 5개 서브탭:
- 학습(Train): Fine-tuning Job 6건, 데이터셋·에포크·학습률 설정
- HPS: 하이퍼파라미터 서치 설정 및 결과
- 로그(Log): 추론 로그, 토큰 사용량, 응답 시간
- 워커(Worker): GPU 워커 상태 모니터링
- LLM 테스트: 모델별 프롬프트 테스트 인터페이스
- LLM 모델 목록: 6개 모델 (모델명, 파라미터 크기, 상태, 용도)
구현 상태: UI 완료
통합 현황:
- i18n: LLMOps 탭 제목/설명 적용 (MLOpsPage 공유)
- 테마: Dark/Light 전환 지원
미구현 항목:
- LLM 서빙 인프라 (vLLM / TGI 등)
- Fine-tuning 학습 파이프라인 (LoRA/QLoRA)
- 하이퍼파라미터 자동 탐색 (Optuna 등)
- GPU 클러스터 연동 및 워커 관리
- 추론 로그 수집 및 분석
- LLM 모델 평가 벤치마크
SFR-20: 자연어 처리 기반 AI 의사결정 지원(Q&A) 서비스
제안요청서 정의: 자연어 질의를 통해 법령·사례·AI 예측결과를 통합 검색하고, RAG 기반 대화형 의사결정 지원 서비스를 제공한다.
세부 요구사항 요약:
- RAG(검색 증강 생성) 기반 대화형 Q&A
- 법령 DB 연결 (수산업법, 해양경비법 등)
- 부적절 답변 필터링 (가드레일)
- 대화 이력 관리
구현 화면: AI 어시스턴트 (src/features/ai-operations/AIAssistant.tsx)
화면 구성 요소:
- 채팅 UI: 대화형 인터페이스 (사용자 질문 → AI 답변)
- 샘플 대화: 불법조업 관련 법령·절차·사례 질의응답 시연
- 대화 이력 사이드바: 과거 대화 세션 목록
- 법령 참조 뱃지: 답변에 인용된 법령·규정 출처 표시
- 관련 문서 링크
구현 상태: UI 완료
통합 현황:
- i18n: AI 어시스턴트 페이지 제목/설명 적용
- 테마: Dark/Light 전환 지원
미구현 항목:
- LLM 백엔드 서빙 (GPT-4 / LLaMA 등)
- RAG 파이프라인 (Vector DB + Embedding + Retriever)
- 법령 DB 구축 및 인덱싱 (수산업법, 해양경비법, EEZ법 등)
- 답변 품질 가드레일 (Hallucination 방지, 부적절 답변 필터)
- 대화 이력 DB 저장
- 사용자 피드백 수집 및 모델 개선 루프
부록: 파일 경로 매핑 요약
| SFR | 주요 파일 경로 |
|---|---|
| SFR-01 | src/features/auth/LoginPage.tsx, src/features/admin/AccessControl.tsx |
| SFR-02 | src/features/admin/SystemConfig.tsx, src/features/admin/NoticeManagement.tsx, src/shared/components/common/* |
| SFR-03 | src/features/admin/DataHub.tsx |
| SFR-04 | src/features/ai-operations/AIModelManagement.tsx |
| SFR-05 | src/features/risk-assessment/RiskMap.tsx |
| SFR-06 | src/features/risk-assessment/EnforcementPlan.tsx |
| SFR-07 | src/features/patrol/PatrolRoute.tsx |
| SFR-08 | src/features/patrol/FleetOptimization.tsx |
| SFR-09 | src/features/detection/DarkVesselDetection.tsx |
| SFR-10 | src/features/detection/GearDetection.tsx, src/features/detection/GearIdentification.tsx |
| SFR-11 | src/features/enforcement/EnforcementHistory.tsx, src/features/enforcement/EventList.tsx |
| SFR-12 | src/features/dashboard/Dashboard.tsx, src/features/monitoring/MonitoringDashboard.tsx |
| SFR-13 | src/features/statistics/Statistics.tsx |
| SFR-14 | src/features/statistics/ExternalService.tsx |
| SFR-15 | src/features/field-ops/MobileService.tsx |
| SFR-16 | src/features/field-ops/ShipAgent.tsx |
| SFR-17 | src/features/field-ops/AIAlert.tsx |
| SFR-18 | src/features/ai-operations/MLOpsPage.tsx |
| SFR-19 | src/features/ai-operations/MLOpsPage.tsx (LLMOps 탭) |
| SFR-20 | src/features/ai-operations/AIAssistant.tsx |
부록: 공통 컴포넌트 매핑
| 컴포넌트 | 파일 경로 | 관련 SFR |
|---|---|---|
| DataTable | src/shared/components/common/DataTable.tsx |
SFR-02, SFR-11, SFR-13 |
| ExcelExport | src/shared/components/common/ExcelExport.tsx |
SFR-02 |
| Pagination | src/shared/components/common/Pagination.tsx |
SFR-02 |
| SearchInput | src/shared/components/common/SearchInput.tsx |
SFR-02 |
| FileUpload | src/shared/components/common/FileUpload.tsx |
SFR-02 |
| PrintButton | src/shared/components/common/PrintButton.tsx |
SFR-02, SFR-05 |
| SaveButton | src/shared/components/common/SaveButton.tsx |
SFR-02 |
| NotificationBanner | src/shared/components/common/NotificationBanner.tsx |
SFR-02 |
| PageToolbar | src/shared/components/common/PageToolbar.tsx |
SFR-02 |
| Card / Badge | src/shared/components/ui/card.tsx, badge.tsx |
전체 SFR 공통 |
부록: Zustand Store 매핑
| Store | 파일 경로 | 관련 SFR |
|---|---|---|
| kpiStore | src/stores/kpiStore.ts |
SFR-12 |
| vesselStore | src/stores/vesselStore.ts |
SFR-09, SFR-12 |
| eventStore | src/stores/eventStore.ts |
SFR-11, SFR-12 |
| enforcementStore | src/stores/enforcementStore.ts |
SFR-06, SFR-11 |
| patrolStore | src/stores/patrolStore.ts |
SFR-07, SFR-08 |
| gearStore | src/stores/gearStore.ts |
SFR-10 |
| transferStore | src/stores/transferStore.ts |
SFR-09 |
| settingsStore | src/stores/settingsStore.ts |
SFR-01, SFR-02 (테마/언어 설정) |
부록: 2차 개발 단계 우선순위 제안
아래는 백엔드 연동 및 실제 기능 구현 시 권장하는 우선순위이다.
1순위 (핵심 인프라)
| SFR | 항목 | 사유 |
|---|---|---|
| SFR-01 | SSO/GPKI 인증 연동 | 시스템 접근 보안의 기본 요건 |
| SFR-03 | 데이터 수집 파이프라인 | 전체 시스템의 데이터 기반 |
| SFR-02 | 공통 기능 백엔드 | CRUD, 파일관리 등 기반 기능 |
2순위 (AI 핵심 기능)
| SFR | 항목 | 사유 |
|---|---|---|
| SFR-04 | AI 예측 모델 연동 | 시스템 핵심 가치 |
| SFR-09 | 패턴 탐지 엔진 | 불법조업 감시 핵심 |
| SFR-05 | 위험도 지도 실시간화 | 예측 결과 시각화 |
3순위 (운용 기능)
| SFR | 항목 | 사유 |
|---|---|---|
| SFR-07 | 단일 함정 경로 최적화 | 현장 운용 직결 |
| SFR-08 | 다함정 협력 최적화 | 함대 운용 효율화 |
| SFR-06 | 단속 계획·경보 | 예측→대응 연계 |
| SFR-12 | 대시보드 실시간화 | 상황 인식 핵심 |
4순위 (확장 기능)
| SFR | 항목 | 사유 |
|---|---|---|
| SFR-18 | MLOps 플랫폼 | AI 모델 운영 자동화 |
| SFR-19 | LLMOps | LLM 서비스 운영 |
| SFR-20 | AI Q&A 서비스 | 의사결정 지원 |
| SFR-10 | 어구 탐지 | 전문 탐지 모델 |
| SFR-11 | 이력 관리 DB | 데이터 축적 |
| SFR-13 | 통계 백엔드 | 성과 분석 |
| SFR-14 | 외부 연계 API | 유관기관 협업 |
| SFR-15 | 모바일 앱 | 현장 대응 |
| SFR-16 | 함정 Agent | 함정 단말 |
| SFR-17 | AI 알림 발송 | 즉각 대응 |