1 / 32

The New Course Registration System - Mid Presentation -

C R S. The New Course Registration System - Mid Presentation -. 20050653 박문형 20060234 박성헌 20070290 문태훈 20070351 배경윤 20070502 유지현. 01. 차 례. System overview (reminder) Initial input and final output of the system Design of GUI Algorithm design Development plan Q&A. 02.

summer
Download Presentation

The New Course Registration System - Mid Presentation -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. C R S The New Course Registration System - Mid Presentation - 20050653 박문형 20060234 박성헌 • 20070290 문태훈 20070351 배경윤 20070502 유지현

  2. 01 차례 • System overview (reminder) • Initial input and final output of the system • Design of GUI • Algorithm design • Development plan • Q&A

  3. 02 System Overview (Reminder) • System Perspectives 기존 수강신청 시스템 Next 수강신청 시스템 • CAIS, KAIPA 2가지 방법 • 어느 시스템을 사용 하느냐가 수강 신청 성공을 가름. • NEXT 하나로 통합됨 • 통합된 환경을 제공하여 공정하고 편리한 수강신청 제공. 접속 방법 • 선착순, 랜덤 신청 • 컴퓨터 환경이 수강 신청에 큰영향. 계획대로 듣기 힘듦. • Credit과 대기번호제 • Credit으로 신청 과목에 Weight를줄 수 있음. 계획대로 듣기 쉬움. 수강 신청 방법 • 분리된 인터페이스 • 미리 과목을 신청하는 기능 없음. • 신청한 과목을 한눈에 알 수 없다. • 통합된 인터페이스 • 신청 화면과 시간표 화면을 통합. • 한눈에 신청한 정보를 볼 수 있다. 인터페이스 • 아주 큰 순간 서버 부담 • 모든 학생이 동시에 서버에 접속. 부담이 아주 크다. • 작은 순간 서버 부담 • 선착순이 아니므로 접속이 분산. • 서버에 걸리는 부담이 적다. 서버 부담

  4. 03 Initial Input And Final output Of The System 개발 Scope 外 • 수강 신청 시스템의 입력 구조 • 학생들의 학적과 성적 및 개설 교과목을 관리합니다. • 만들어진 교과목을 바탕으로 해당 학기의 과목을 개설합니다. s_lecture s_student, s_score, s_lecture… 학과 사무실 직원 학적팀 직원 Estimate Query Mileage Query Registration Info 교육 혁신팀 직원 s_subject • 교과 과정 협의회를 통하여 • 교과목을 만듭니다. • 전체 시스템을 관리합니다. C R S All tables 개발 Scope 內 학술 정보팀 직원 (수강신청) s_student s_attend s_score s_mileage s_notice s_lecture Scholar DB (공지 사항 조회)* (개설 강의 조회) (수강 신청 조회) (마일리지 조회)* (강의 평가) (성적 조회) (학적 조회) (마일리지 교환) 학생 * 공지사항 조회 및 마일리지 조회는 현재 수강 신청 시스템에서 제공하지 않는 기능으로 현재 Scholar DB에는 s_notice와 s_mileage가 존재하지 않습니다. ** 현재 저희 팀에 현재 사용되는 Scholar DB에 대한 접근 권한이 없기 때문에 일단 Scholar DB와 동일한 Schema를 가진 DB를 만들어 제작한 뒤 후에 실제 Scholar DB와의 연동을 시도할 것입니다. (Scope外)

  5. 03 Initial Input And Final output Of The System • 수강 신청 시스템의 출력 구조 (마일리지 교환) (수강 신청) (강의 평가) Register QueryReturn VO Timetable QueryReturn VO Semester CourseInfo Grade Info Mileage Info Notice BoardVO Registration Info C R S s_estimate s_mileage s_attend Scholar DB (공지 사항 조회) (마일리지 조회) (개설 강의 조회) (성적 조회) (학적 조회) (수강 신청 조회) (시간표 조회) 학생

  6. 04 Design Of GUI • Design Concept • 수강과 관련된 모든 기능을 한 화면에서 통합 제공. • Lkin과 같이 개설 강의를 듣고 싶은 시간대, 전공별, 분류별로빠르고 보기 좋게 나눔. • Lkin과 같이 시간표와 수강 신청을 한 화면에 구현. 편의성 제공.

  7. 04 Design Of GUI • Login

  8. 04 Design Of GUI • 공지 사항

  9. 04 Design Of GUI • 학적 조회

  10. 04 Design Of GUI • 개설 강의 조회

  11. 04 Design Of GUI • 수강 신청 조회

  12. 04 Design Of GUI • 시간표 조회

  13. 04 Design Of GUI • 성적 조회

  14. 04 Design Of GUI • 수강 신청

  15. 04 Design Of GUI • 강의 평가

  16. 04 Design Of GUI • 마일리지 교환

  17. 05 Algorithm Design • 경매 알고리즘 • Constraints & Assumptions • 과목 경매기간이 끝나면 컴퓨터에 의해 자동 입찰이 이루어 진다. • 각 과목은 각 학생이 입찰한 Credit의 양에 따라 순차적으로 배정된다. • 각 학생은 시간이 겹치는 과목에 대해 최대 3개까지 입찰 할 수 있으며겹치는 각 과목에 대해 우선순위를 정해야 한다. • 시간이 겹치는 과목 여러 개를 동시에 낙찰 받는 경우 학생이 가장 높게책정한 우선순위의 과목 하나만 최종 낙찰 받게 된다. • 과목의 커트라인 Credit 양을 입찰한 사람이 여럿이면 랜덤으로 낙찰자를뽑는다. • 낙찰에 실패한 사람들에게는 각자가 배분한 Credit양에 따라 순차적으로대기번호를 부여한다.

  18. 05 Algorithm Design • 경매 알고리즘 • Process • 각 과목에 입찰한 사람들을 Credit 내림차순으로 정렬한다. • 만약 같은 Credit을 입찰한 사람들이 있으면 그들간의 순서는 입찰 순서가아닌 랜덤한 순서가 되도록 한다. 이산구조 선형대수학개론 전산학프로젝트

  19. 05 Algorithm Design • 경매 알고리즘 • Process • 제한 인원으로 잘라 각 과목의 낙찰자를 정한다. • 낙찰되지 않은 사람들에게는 대기 번호를 부여한다. 이산구조 선형대수학개론 전산학프로젝트 1 2 3 4 5 6 1 2 3 4 1 2 3

  20. 05 Algorithm Design • 경매 알고리즘 • Process • 전 학생을 돌며 같은 시간대에 겹치는 과목이 여러 개 중복 낙찰 되었는지본다. • 중복 낙찰이 된 경우 하나만 낙찰 시키고 빈 자리는 다음 사람에게 준다. 같은 시간 이산구조 선형대수학개론 전산학프로젝트 1 2 3 4 5 6 1 2 3 4 1 2 3

  21. 05 Algorithm Design • 경매 알고리즘 • Process • 다음 사람이 에게 그 과목의 자리를 주었을 때 그 사람이 그 과목을 수강하게 됨으로써 새로 생기는 중복 수강 문제가 있나 살핀다. • 새로운 중복 수강 문제가 생기면 그것을 위와 같이 해결한다. 같은 시간 이산구조 선형대수학개론 전산학프로젝트 1 2 3 4 5 6 1 2 3 4 1 2 3

  22. 05 Algorithm Design • 경매 알고리즘 • Process • 모든 사람에 대해 중복체크가 끝나면 다음과 같은 결과가 될 것이다. 같은 시간 이산구조 선형대수학개론 전산학프로젝트 1 2 3 4 5 6 (EOF)

  23. 05 Algorithm Design • 경매 알고리즘 • Psuedo code /* 경매 알고리즘 */ for each 과목 in 개설 과목들 unstable sort 입찰한 학생 by credits in descending order end for for each 과목 in 개설 과목들 낙찰자 확정 by 그 과목의 수강 인원 end for for each 학생 in 학생들 check 같은 시간대 낙찰된 과목. if 같은 시간대 낙찰된 과목이 있으면 then for each 과목 in 우선순위 낮은 과목들 findSideEffect(이 학생, 과목) end for end if end for

  24. 05 Algorithm Design • 경매 알고리즘 • Psuedo code /* findSideEffect */ function findSideEffect(학생, 과목) remove 학생 in 과목 if 새 낙찰자에게 이 과목과 같은 시간대에 낙찰된 과목이 있으면 then for each 낮은 과목 in 우선순위 낮은 과목들 findSideEffect(새 낙찰자, 낮은 과목) end for end if end function

  25. 06 Development Plan 현재 개발 완료된 부분 4.13 ~ 4.19 4.20 ~ 4.26 4.27 ~ 5.3 5.4 ~ 5.10 5.11 ~ 5.17 • 로그인, 학적 조회, 개설 강의 조회, 수강 신청 조회 • 성적 조회, 시간표 조회, 마일리지 교환 구현 • 강의 평가, 수강신청 - 경매 방식 구현 • 수강신청 – 대기번호제구현, 수강 변경 기간 구현 • 테스트 및 여유 기간 • 테스트 및 여유 기간

  26. 07 Q&A • 경청해 주셔서 감사합니다. • 의문 사항에 대해 자유롭게 질문해 주십시오.

  27. X0 별첨 자료 (안내) • Scholar DB의 Schema는 보안 문제로 첨부하지 않습니다. • 아래의 별첨에는 시스템의 Input과 Output에서 언급된 각각의 Value Object에 대한 세부 정의가 포함되어 있습니다. (2009. 4. 13. 현재 정의된 내역)

  28. X1 별첨 자료 (RegistrationInfo) public class RegistrationInfoimplements java.io.Serializable { private static final long serialVersionUID = 1L; public String grade; public intcredit; public Boolean retaking; public intyear; public intsemester;//0봄1여름2가을3겨울 public intdemartmentID; public intcourseID; public intpriority;//1부터시작 }

  29. X2 별첨 자료 (SemesterCourseInfo) public class SemesterCourseInfoimplements java.io.Serializable { private static final long serialVersionUID = 1L; public intyear; public intsemester; public ArrayList<CourseInfo> courseInfoList; }

  30. X3 별첨 자료 (StudentInfoVO) public class StudentInfoVOimplements java.io.Serializable { private static final long serialVersionUID = 1L; public String studentName; public String studentId; public String englishName; public String birthDate; public String major; public String degree; public String status1; public String status2; public String professor; public String submajorStatus; public String submajorName; }

  31. X4 별첨 자료 (StudentInfoVO) public class RegisterQueryReturnVOimplements java.io.Serializable { private static final long serialVersionUID = 1L; public String studentName; public String studentId; public String englishName; public String birthDate; public String major; public String degree; public String status1; public String status2; public String professor; public String submajorStatus; public String submajorName; }

  32. X5 별첨 자료 (TimetableQueryReturnVO) public class TimetableQueryReturnVO_Initimplements java.io.Serializable { private static final long serialVersionUID = 1L; public List<String> years; public List<String> semesters; public List<String> yearsPlusSemesters; public List<CourseInfo> semesterCoursesList; //SemesterCourseInfo객체가안에들어감 }

More Related