11주차 보고서

By | 2026년 05월 18일
  1. 수정한 것
  2. DB
  3. 피드백
  4. 12주차 목표

[수정 내용]
– 교수 ‘강의 정보 입력’ 이전에 겹쳐보였던 실습시 배정 필요 체크박스의 위치를 수정하였음
-조교와 교수의 전체 시간표 조회 디자인을 동일하게 맞추었음(각자 개발하던 디자인 일치화)

10주차 문제점: 등록된 강의실 정보 수정 시 강의실이 사라짐, 학부 시간표 조회 시 타 학부의 시간표가 조회되는 등 DB 관련 정보 문제들이 많이 발생하였음

[DB 구제화 수정]
DB 테이블이 단순한 구조로 개발을 진행하다보니 논리적인 오류가 발생하는 문제가 많아졌다. 따라 DB를 구체적으로 정보를 받고 정보 조회가 더 쉬울 수 있도록 DB 테이블을 추가하였다.

  1. 사용자 및 권한
    • Users: 학생, 조교, 교수의 기본 인적 사항과 암호화된 비밀번호, 세션 토큰이 담긴 핵심 테이블
    • User_Departments:
      조교가 여러 학과를 관리하거나 교수가 타 학과로 출강 나갈 때, 다중 학과 권한을 부여해 주는 교차 매핑 테이블
  2. 인프라 및 기초 데이터
    • Departments_Master: 학부와 학과의 계층 기준을 잡아주어 전체 시간표 조회를 돕는 마스터 테이블
    • Rooms: 각 건물의 강의실과 실습실, 수용 인원 데이터가 들어있는 테이블
    • Student_Counts: 알고리즘이 빈 방을 찾을 때 기준이 되는 학과/학년/반별 예상 학생 수 데이터
  3. 수업 및 시간표
    • Courses: 조교나 교수가 개설한 강의의 이름, 학점, 분할 정보(JSON), 학기 정보 등이 담겨있는 테이블입니다.
    • Professor_Availability: 교수님들이 직접 마우스로 선택해서 제출한 요일별 수업 가능 시간표
    • Schedules: 알고리즘이나 조교의 수동 배정으로 최종 확정된 수업들의 ‘강의실+시간+요일’ 연강 정보가 담긴 마스터 시간표 격자
    • Enrollments: 학생들이 전공을 포기하거나 직접 조립한 최종 수강 신청 내역이 들어가는 테이블
  4. 보관소
    • Archived_Enrollments: 과거 학기 학생들의 수강 이력이 보관되는 테이블

+ 시간표 조회 시 여러 정보 조회 오류를 예방하기 위해 회원가입할 때 조교와 교수도 학과 정보를 입력하도록 수정하였음

[DB 수정 후 변경된 것]
– 통합 시간표 조회 필터 학년 정보 기준 테이블을 studentCount 테이블로 수정
– 교수 홈에서 교수 시간표만 볼 수 있게 로그인된 id와 강의 정보에 입력된 id 일치 후 course 테이블에 저장된 강의 정보로 최종 schedules 테이블에 입력된 강의 시간 조회가 가능하도록 수정
– 잘리거나 늘어난 시간표 이미지 저장 및 수정

[문제점 및 피드백]
– DB 테이블이 신규로 생성된 것들이 많기 때문에 전반적인 DB 연동을 확인해봐야함
– 조교 수동 배정 시 강의 해제 실패 문제 발생
– 강의 정보를 id 기반으로 저장하였으나 편의상 교수 회원가입 시 이름 정보를 받아 시간표 조회 시 교수 id가 아닌 교수명을 강의명에 띄우는 것으로 수정할 필요가 있음
– 교수/조교/학생 계정 모두 1개씩만 존재하고 있음 > 여러 계정으로 실습 테스트를 진행해야 함
– 마이크로소프트 공유 폴더로만 개발을 진행했음, 매번 새롭게 바뀐 코드를 업로드해야하는 불편성 발생 >> github로 개발 환경 바꿔야함

[12주차 목표]
– 전반적인 DB와 코드 간의 연동 문제 확인
– 조교 수동 배정 강의 해제 실패 문제 해결
– 교수 회원가입 시 이름 정보 입력받을 것
– 각 역할 별 2개 이상의 계정 보유 후 테스트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다