Skip to content

mgstyle97/design-pattern-tutorial-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Design Pattern Project

  • 주제

    • 학교홈페이지의 간단한 구현
  • 개요

    비로그인, 학생, 교수, 조교 사용자가 서버에 접근하여 원하는 명령어를 입력하였을 때 이를 처리해주는 작업을 수행하도록 하는 프로그램

비로그인

  • 회원가입

    User 별로 해당하는 DAO에게 ID를 확인한 후 릴레이션에 입력한 ID가 없다면 새로운 데이터를 삽입하여 회원가입 요청에 대한 처리를 해준다.

  • 로그인

    User에 해당하는 DAO에게 입력받은 ID와 PASSWORD를 확인한 후 해당하는 투플이 있다면 로그인 요청을 처리한다.

  • 종료

    프로그램을 종료한다.

학생

  • 수강 신청

    lecture Relation에 등록되어 있는 강의들을 확인한 후 원하는 강의의 교수 ID와 강의 ID를 입력하여 register에 등록되어 있지 않은 강의라면 등록한다.

    만약 입력한 ID가 잘못되었다면 요청을 취소한다.

  • 수강 신청 목록 조회

    register Relation에 등록되어 있는 수강 과목들의 목록을 조회할 수 있도록 한다.

  • 수강 취소

    register Relation에 등록되어 있는 강의들을 확인한 후 삭제를 원하는 강의의 교수 ID와 강의 ID를 입력받은 후 해당 강의를 삭제한다.

    만약 입력한 ID가 잘못되었다면 요청을 취소한다.

교수

  • 강의 등록

    course Relation에 등록되어 있는 강의 목록들을 확인한 후 자신이 강의하기를 원하는 강의의 ID를 입력받은 후 해당 강의와 자신의 ID를 lecture Relation에 등록한다.

    만약 입력한 ID가 잘못되었다면 요청을 취소한다.

  • 강의 삭제

    lecture Relation에 등록되어 있는 강의들을 확인한 후 수정을 원하는 강의의 ID를 입력받은 후 해당 강의를 삭제한다.

    만약 입력한 ID가 잘못되었다면 요청을 취소한다.

조교

  • 공지사항 수정

    notice Relation에 등록되어 있는 공지사항들을 확인한 후 자신이 작성한 공지사항에 해당하는 공지사항의 ID를 수정하도록 한다.

    만약 입력한 ID가 잘못되었다면 요청을 취소한다.

  • 공지사항 등록

    notice Relation에 새로운 공지사항을 등록한다.

    만약 같은 제목의 공지사항이 있다면 등록하지 않는다.

전체 공통 사항

  • 공지사항 확인

    상위 클래스인 Server 클래스에 정의되어 있는 NoticeDAO를 통해 notice Relation에 있는 모든 공지사항 tuple의 정보를 확인한다.

회원 공통 사항

  • 개인정보조회

    각 DTO에 해당하는 ID를 통해 개인정보를 조회할 수 있도록 한다.

    • 학생

      student 릴레이션에서 자신의 id에 해당하는 정보를 찾을 수 있도록 한다.

    • 교수

      professor 릴레이션에서 자신의 id에 해당하는 정보를 찾을 수 있도록 한다.

    • 조교

      officials 릴레이션에서 자신의 id에 해당하는 정보를 찾을 수 있도록 한다.

  • 개인정보수정

    각 DTO에 해당하는 ID를 통해 개인정보를 수정할 수 있도록 한다.

    register, lecture, notice는 foreign key를 사용하기 때문에 on update cascade를 사용하여 데이터가 변경되면 자동으로 변경되도록 한다.

  • 로그아웃

    각 DTO에 해당하는 값들을 모두 초기화한 뒤 초기 비로그인 화면으로 돌아간다.

About

Design Pattern Simple Project with Java

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages