본문 바로가기
JAVA/sparta

[sparta lecture] - 수강생 관리 시스템 프로젝트 (1일차)

by nam_ji 2024. 1. 10.

스파르타 코딩 클럽 두번째 프로젝트

수강생 관리 시스템 요구사항

요구사항

더보기
  • 캠프에는 필수 과목과 선택 과목이 존재합니다.
    (필수 과목과 선택 과목은 예시입니다)
    • 필수 과목
      • Java
      • 객체지향
      • Spring
      • JPA
      • MySQL
    • 선택 과목
      • 디자인 패턴
      • Spring Security
      • Redis
      • MongoDB
  • 캠프 수강생들은 최소 3개 이상의 필수 과목과 2개 이상의 선택 과목을 선택합니다.
  • 캠프 수강생들은 캠프 기간동안 선택한 과목별로 총 10회의 시험을 봅니다.
    • 점수에 따라 등급이 매겨집니다.
      • e.g.Java
        1회차 2회차 3회차 ......
        A B C .......
      • 등급 산정 기준
        • 필수 과목
          A B C D F N
          95 ~ 100 90 ~ 94 80 ~ 89 70 ~ 79 60 ~ 69 60점 미만
        • 선택 과목
          A B C D F N
          90 ~ 100 80 ~ 89 70 ~ 79 60 ~ 69 50 ~ 59 50점 미만
  • 캠프 매니저는 수강생을 등록 및 관리할 수 있습니다.
    • 수강생 정보 예시
      • 고유 번호
      • 이름
      • 과목 목록
      • 점수 목록
  • 캠프 매니저는 수강생들의 과목과 시험 점수를 등록 및 관리할 수 있습니다.
    • 과목 정보 예시
      • 고유 번호
      • 과목명
      • 과목타입(필수, 선택)
    • 점수 정보 예시
      • 과목 고유 번호
      • 수강생 고유 번호
      • 회차
      • 점수
      • 등급

기능명세서

더보기
  • 필수 요구 사항
    • 수강생 관리
      1. 수강생 정보를 등록할 수 있습니다.
        • 등록 필수 정보
          •      고유 번호
          •      이름
          •      과목 목록
        •      고유 번호가 중복될 경우 Exception 발생!
        •      선택한 필수 과목이 3개 미만이면 Exception 발생!
        •      선택한 선택 과목이 2개 미만이면 Exception 발생!
      2. 수강생 목록을 조회할 수 있습니다.
        • 조회 형식은 자유입니다.
          • 조회 필수 정보
            •      고유 번호
            •      이름
    • 점수 관리
      1. 수강생의 과목별 시험 회차 및 점수를 등록할 수 있습니다.
        •      점수를 등록하면 자동으로 등급이 추가 저장됩니다.
        •      해당 과목의 회차 점수가 이미 등록되어 있다면 Exception 발생!
        •      회차에 10 초과 및 1 미만이 저장되면 Exception 발생!
        •      점수에 100 초과 및 음수가 저장되면 Exception 발생!
      2. 수강생의 과목별 회차 점수를 수정할 수 있습니다.
      3. 수강생의 특정 과목 회차별 등급을 조회할 수 있습니다.
        • 조회 형식은 자유입니다.
          • 조회 필수 정보
            •      회차
            •      점수
  • 추가 요구 사항
    • 수강생 관리
      1. 수강생 상태를 관리할 수 있습니다.
        • 상태 종류
          •      Green
          •      Yellow
          •      Red
      2. 수강생 정보를 조회할 수 있습니다.
        • 조회 형식은 자유입니다.
          • 조회 필수 정보
            •      고유 번호
            •      이름
            •      상태
            •      선택한 과목명
      3. 수강생 정보를 수정할 수 있습니다.
        • 수정 가능한 정보
          •      이름
          •      상태
      4. 상태별 수강생 목록을 조회할 수 있습니다.
        • 조회 형식은 자유입니다.
          • 조회 필수 정보
            •      고유 번호
            •      이름
      5. 수강생을 삭제할 수 있습니다.
        •      해당 수강생의 점수 기록도 함께 삭제합니다.
    • 점수 관리
      1. 수강생의 과목별 평균 등급을 조회할 수 있습니다.
        • 조회 형식은 자유입니다.
          • 조회 필수 정보
            •      과목명
            •      평균 등급
      2. 특정 상태 수강생들의 필수 과목 평균 등급을 조회합니다.
        • 조회 형식은 자유입니다.
          • 조회 필수 정보
            •      수강생 이름
            •      필수 과목 평균 등급