제 2 장

요구사항 분석

본 장은 사업이 해결하려는 문제를 먼저 정의하고, 그로부터 기능·비기능 요구사항을 도출한다. 여기서 정의한 문제가 제 5 장·제 6 장의 설계 판단 근거가 된다.

1) 문제 정의

구인 경로의 문제

현행 생활체육의 용병 모집은 단체 대화방과 지인 연락에 의존한다. 이 경로는 아래 지점에서 실패한다.

실패 지점 내용
탐색 범위 운영자가 아는 사람과 참여 중인 대화방을 넘지 못한다
조건 확인 포지션·실력·이동 가능 여부를 매번 대화로 되묻는다
확정 방식 조건이 아니라 먼저 답한 사람으로 정해진다
기록 보존 누가 왔고 어땠는지가 대화 기록에 흩어져 다음 모집에 쓰이지 못한다

경기 직전일수록 이 문제가 커진다. 남은 시간이 짧으면 탐색 범위를 넓힐 수 없어, 조건을 따지지 않고 답한 사람을 그대로 확정하게 된다.

실력 정보의 문제

용병의 실력은 본인이 말한 내용 외에 확인할 방법이 없다. 여기에는 두 겹의 문제가 있다.

  • 과장 — 실력을 낮게 말할 유인이 없다. 자기 신고는 한쪽으로 치우친다.
  • 기준 부재 — 과장이 없더라도 ‘중급’이 가리키는 수준이 사람마다 다르다. 같은 말이 같은 실력을 뜻하지 않는다.

그 결과 경기 수준이 어긋나고, 한쪽이 일방적으로 끌려가는 경기가 반복되면 참여자가 이탈한다.

두 문제는 맞물려 있다

두 문제는 따로 있지 않다. 구인이 급할수록 검증을 포기하게 되고, 검증 없이 부른 용병이 경기를 망치면 다음번 구인은 더 좁은 범위에서 이뤄진다. 한쪽만 풀면 다른 쪽이 되돌린다. 본 사업이 구인과 검증을 한 플랫폼에서 함께 다루는 이유가 여기에 있다.

2) 사용자 요구사항

사용자 유형

유형 정의
팀 운영자 경기를 주최하고 인원을 채우는 주체. 공고를 등록하고 참여자를 확정한다
용병 개별 경기에 참여하는 주체. 공고에 지원하고 영상 근거로 실력이 산출된다
운영자(서비스) 신고·이의 제기를 처리하는 서비스 측 관리 주체

한 사람이 경기에 따라 팀 운영자이면서 다른 경기의 용병일 수 있으므로, 유형은 계정 속성이 아니라 경기별 역할로 둔다.

유형별 요구사항

ID 유형 요구사항
UR-01 팀 운영자 경기 직전에도 조건에 맞는 인원을 확보할 것
UR-02 팀 운영자 부르기 전에 상대 실력을 가늠할 수 있을 것
UR-03 팀 운영자 노쇼 이력을 확인하고 선택에 반영할 것
UR-04 팀 운영자 최종 결정은 직접 내릴 것
UR-05 용병 자신의 실력·포지션에 맞는 경기를 추천받을 것
UR-06 용병 말이 아니라 영상 근거로 실력을 증명할 것
UR-07 용병 부당한 판정에 근거를 확인하고 이의를 제기할 것
UR-08 운영자 신고와 이의를 근거와 함께 처리할 것

UR-04는 제 5 장에서 자동 확정을 넣지 않은 근거이고, UR-07은 제 6 장의 이의 제기 경로로 이어진다.

3) 기능 요구사항

ID 기능 설명 관련 장
FR-11 모집 공고 등록 종목·일시·장소·포지션·요구 실력대를 지정해 공고를 등록한다 5장
FR-12 공고 상태 관리 모집중·마감·확정·종료·취소 상태를 서버가 전이시킨다 5장
FR-13 공고 탐색 조건에 맞는 공고를 조회하고 알림을 받는다 5장
FR-21 지원 접수 중복 지원과 시간 충돌을 검사해 지원을 접수한다 5장
FR-22 자동 매칭 공고 조건과 후보 스탯을 대조해 순위와 근거를 제시한다 4·5장
FR-23 조건 완화 후보 부족 시 조건을 단계적으로 완화하고 그 사실을 표시한다 5장
FR-24 참여 확정 운영자가 참여자를 확정하고 대기자를 승격한다 5장
FR-31 경기 기록 입력 종료된 경기의 참여 결과를 기록한다 5장
FR-32 영상 업로드·색인 경기 영상을 받아 장면과 플레이 이벤트를 추출해 색인한다 4장
FR-33 근거 검색·판정 실력 주장에 대한 근거 장면을 검색해 판정하고 출처를 남긴다 4·6장
FR-34 스탯 갱신 집계 결과로 스탯을 갱신하고 변동 폭을 제한한다 6장
FR-35 신뢰도 산출 검증 이력으로 신뢰도를 산출하고 등급으로 표시한다 6장
FR-41 노쇼 기록 사전 취소·지각 취소·노쇼를 구분해 집계한다 5장
FR-42 이의 제기 판정·신고에 대한 이의를 근거와 함께 접수하고 처리한다 6장

4) 비기능 요구사항

ID 항목 기준 목표
NFR-01 매칭 응답 시간 후보 목록 요청부터 순위 표시까지 〔확인 필요〕
NFR-02 매칭 정확도 추천 상위 후보가 실제 확정으로 이어진 비율 〔확인 필요〕
NFR-03 근거 검색 성능 Hit Rate / Recall@5 90% / 90%
NFR-04 스탯 안정성 단일 경기로 인한 스탯 변동 폭 상한 〔확인 필요〕
NFR-05 확장성 종목 추가 시 코드 변경 없이 스탯 항목·플레이 이벤트를 정의할 것 —
NFR-06 개인정보 위치는 구장 단위까지만 저장하고, 영상은 촬영 동의를 받은 경기만 색인할 것 —
NFR-07 모델 비용 경기 1건당 에이전트 호출 비용(영상 분석 포함) 〔확인 필요〕
NFR-08 색인 소요 시간 영상 업로드부터 색인 완료까지 〔확인 필요〕

NFR-01과 NFR-07은 서로 맞선다. 매칭 품질을 높이려 호출을 늘리면 비용과 지연이 함께 올라간다. 제 5 장에서 매칭 에이전트 호출을 후보 열람과 마감 두 시점으로 제한한 것이 이 절충의 결과다.

NFR-07과 NFR-08도 같은 관계다. 영상 분석은 프레임 수가 비용과 소요 시간을 동시에 결정하므로, 프레임을 촘촘히 뽑으면 둘 다 나빠진다. 제 4 장의 2단계 추출이 이 절충의 결과이며, 목표치는 시험을 거쳐 제 7 장에 기록한다.