기능적 요구사항 정리

이진희·2022년 8월 13일
0

기능적 요구사항 정리

회원

  • OAuth로 링크 가능 (google/kakao/github)
    • 회원가입시 아래 정보 입력
      • 닉네임
      • 아이디(id
      • 비밀번호
    • 닉네임과 아이디는 사용자가 입력을 마쳤다고 판단할 때 서버를 통해 체크한다.
  • 프로필
    • 비번 바꾸기
    • 프로필 사진 바꾸기 (로컬 파일로만)
    • 소셜 계정 연동 추가
    • 탈퇴하기

문제

  • 문제 등록/수정/삭제
    • 제목
    • 문제등급
    • 시간 제한/ 메모리 제한
    • 문제 설명(전체적인 거)
    • 입력 설명
    • 출력 설명
    • 예제 입력/출력(테스트케이스 여러개일 수 있으므로 배열로)
    • tag(어떤 문제 유형인지)
    • 실제 입력 데이터 및 출력 데이터(테스트 케이스)
    • 제출 횟수/정답 횟수/맞힌 사람/정답률
  • 문제 채점 ( c/c++/python2/python3/java)
    • 실행하기 버튼 → 단순 코드 실행해서 실행 결과 보여주는거
      • Judger의 실행 결과 + 채점 결과를 응답해줌 (예제 데이터로만 채점)
    • 제출하기 → 진짜로 제출
      • Judger의 채점 결과만 응답 (실제 채점 데이터로 채점)

채점 현황

  • 본인꺼는 항상 뜨고 타인꺼는 채점결과 페이지에서만 표기
    • STOMP subscribe 사용

제출 이력

  • 저장 데이터
    • 제출 번호
    • 시도 수
    • 언어
    • 제출 시간
    • 채점 결과 (메모리, 시간, 결과)
    • 코드 길이
  • 모든 채점 제출 이력 저장
  • 이력과 비교해서 같은 코드일 경우 채점 X

맞힌 사람

  • 제출 이력을 소팅
    • 메모리 > 시간 > 코드 길이

랭킹

  • 데이터
    • 맞은 문제
    • 제출
    • 정답 비율

페이지 정리

profile
슬로우 스타터

0개의 댓글