Skip to content

Latest commit

 

History

History
43 lines (36 loc) · 2.35 KB

README.md

File metadata and controls

43 lines (36 loc) · 2.35 KB

course-registration

프로젝트 요약

  • 수강 신청이라는 상황을 가정하여, 간단한 요구사항들을 추려보았다. 그리고 이런 요구사항들을 헥사고날 아키텍처를 이용하여 구현하며 헥사고날 아키텍처에 대한 경험을 해보고자 한다.

  • 서비스를 목적으로 만든 프로젝트가 아니기에 인증﹒인가에 대한 세부사항 및 보안 관련 사항 등은 크게 고려하지 않고 제시된 요구사항을 만족할 수 있는 도메인 로직 구현에만 집중하고자 한다.

헥사고날 아키텍처

Untitled (18)

요구사항

  1. 교수가 강의를 등록한다.(강의명, 강의 시간대, 최대 수강 가능 인원, 학점)
    1. 교수만 가능하다.
    2. 강의시간대는 월 ~ 금, 1 ~ 9교시만 가능하다.
    3. 학점은 1 ~ 3점까지 가능하다.
  2. 교수가 등록한 강의를 수정할 수 있다.
    1. 교수만 가능하다.
    2. 교수 자신이 등록한 강의만 수정할 수 있다.
    3. 강의시간대는 월 ~ 금, 1 ~ 9교시만 가능하다.
    4. 학점은 1 ~ 3점까지 가능하다.
  3. 교수가 강의를 삭제한다.
    1. 교수만 가능하다.
    2. 교수 자신이 등록한 강의만 삭제할 수 있다.
    3. 삭제할 경우, 이미 수강 신청 완료한 학생들의 강의 목록에도 변동이 생긴다.
    4. 동시에 학생들이 현재 신청한 학점에도 변동이 생긴다.
  4. 사용자가 모든 강의를 확인한다.
    1. 학생, 교수 모두 가능하다.
    2. 이미 수강 인원이 가득찬 강의도 확인할 수 있다.
  5. 학생이 강의를 신청한다.
    1. 학생만 가능하다.
    2. 학생이 신청할 수 있는 최대 학점은 10점이다.
    3. 학생은 월 ~ 금, 1 ~ 9교시 수업만 들을 수 있다.
    4. 수업 시간이 겹칠 수 없다.
  6. 학생이 신청한 강의를 취소한다.
    1. 학생만 가능하다.
    2. 자신이 신청한 강의만 취소할 수 있다.
  7. 학생이 자신의 수강 신청 완료된 강의들을 확인한다.
    1. 학생만 가능하다.
  8. 교수는 자신의 이름과 교사번호를 통해서 교수등록을 할 수 있다.
  9. 학생은 자신의 이름과 학번을 통해서 학생등록을 할 수 있다.