*version 1.0.1
* 광운대학교 2022년 2학기 <오픈소스소프트웨어개발> 교과목의 14조 팀프로젝트 결과물입니다.
-
제안서: [14조]프로젝트_제안서.pdf
-
중간보고서: [14조]중간보고서.pdf
-
최종보고서: [14조]최종_보고서.pdf
-
시연영상 : https://youtu.be/j6hC-xBA_TI
광운대학교 학부생들이 학업 성취도에 대한 진단을 스스로 할 수 있도록 Window 기반 GUI 프로그램을 만들었습니다.
KLAS(광운대학교 웹 어플리케이션) 로그인 시 사용하는 id,pw를 입력받아, 학부생의 학업 성취 데이터를 추출하여 파라미터를 구성합니다.
사용자의 요청에 따라 파라미터를 기준으로 다양한 기능을 수행 합니다.
- (2022-09-12 ~ 2022-11-26)
- klas에 교과목 수강기록과 성적 정보가 입력되어있는 광운대학교 재학생
- (수강 기록에 e-learing 과목이 포함되어 있을 시, 프로그램이 정상 동작되지 않습니다.)
- KLAS (광운대학교 웹어플리케이션, https://klas.kw.ac.kr) 로그인을 통하여 사용자가 입력한 id,pw 유효성 검사
- id,pw 가 유효하다면 klas에 접근하여 아래 기능을 수행 (유효하지 않은 id,pw 가 입력되었다면, 프로그램 종료)
-id,pw가 유효할 경우
-id,pw가 유효하지 않을 경우
-
학기별 출석율, 과제제출율, 성적 등의 학생 Data Scraping 및 파라미터 값 추출
[파라미터] - 의지력 = (출석 / (출석+지각+결석)) X 100 - 사고력 = ((실제 취득 학점) / (취득 가능 학점) ) X 100 - 생존력 = (*수강과목 갯수 에 따른 점수) + 총 과제,퀴즈 갯수(50개 이상 이면 50점) - 근명성 = (제출한 과제 수 + 제출한 퀴즈 수) / (총 과제 수 + 총 퀴즈 수) X 100 - 가성비 = (사고력 /의지력) *수강과목 갯수 에 따른 점수: 6 개 이상: 50점 5 개 : 40점 4 개 : 32점 3 개 : 24점 2 개 : 16점 1 개 : 8점 -
Data Scraping 중 문제 발생 시, 메시지 창 출력 후 프로그램 종료
-
로컬 PC에 cache file 생성 (파일이름은 '<학번>.plk') 후 파라미터 값 저장 (이후 프로그램 구동 시, Scraping 과정 생략)
-
파라미터를 근거로 사용자가 원하는 학기에 대해 그래프 출력
단일 학기 분석 시, 오각형 방사 그래프(Radiation Graph Of A Pentagon) 출력 두개 학기 분석 시, 막대 그래프(Bar Graph) 출력 -
완료된 학기에 분석하여 사용자의 학업 성취 스타일 판단
1. 5개의 파라미터 각각의 중앙값으로 가장 높은 값, 두번째로 높은 값을 가지는 파라미터를 확인 2. 가장 높은 값을 가지는 파라미터로 적절한 동물 이미지를 매치 3. 두번째로 높은 값을 가지는 파라미터로 적절한 배경 이미지를 매치 4. 2,3 번 으로 장점이 부각된 사용자의 학업 성취 스타일 출력 5. 5개의 파라미터 각각의 중앙값으로 가장 낮은 값, 두 번째로 낮은 값을 가지는 파라미터를 확인 6. 가장 낮은 값을 가지는 파라미터로 적절한 동물 이미지를 매치 7. 두번째로 낮은 값을 가지는 파라미터로 적절한 배경 이미지를 매치 8. 6,7 번 으로 단점이 부각된 사용자의 학업 성취 스타일 출력
++사용자의 장점이 부각된 동물 이미지 : ['소나무', '돌고래', '쥐', '개미', '네잎클로버']
++사용자의 단점이 부각된 동물 이미지 : ['베짱이', '금붕어', '게복치', '나무늘보', '까마귀']
++사용자의 장점이 부각된 형용어 : ['열정많은', '저명한', '끈질긴', '부지런한', '운 좋은']
++사용자의 단점이 부각된 형용어 : ['노력상실', '우둔한', '포기빠른', '게으른', '불운한']
-
사용자로부터 관심있는 진로 분야를 입력받아, '잡코리아'(https://www.jobkorea.co.kr/) 로 연결
-
사용자 요청에 따른 cache file 초기화
-
파이썬 설치 (https://www.python.org/downloads/)
-
visual studio 설치 (https://visualstudio.microsoft.com/ko/)
-
terminal을 열고 다음 명령어를 순서대로 수행
- 'git clone https://github.com/oss01-SourceFree/KlasCroller.git'
- 'cd ./KlasCroller'
-
관련 라이브러리/모듈 설치 (tkinter, matplotlib, numpy, selenium, beautifulsoup4, webdriver-manager 등)
-
네이버 나눔 글꼴 설치 (https://hangeul.naver.com/font)
-
'main.py' 실행
-> [ Ctrl + Alt + N ] or [ 왼쪽 마우스 클릭 + 'Run Code' ]
- KLAS 로그인 시 사용하는 id,pw로 프로그램에 로그인 해주세요.
- 프로그램이 정상 작동이 되었다면 아래와 같은 화면에 사용자의 학번이 출력됩니다.
- {단일 학기 분석} 버튼을 클릭한다면, 해당 기능에 대한 설명과 학기 선택 콤보 박스가 있는 학기선택 창을 보실 수 있습니다. 선택된 학기에 대해서 사용자의 파라미터 값으로 오각형의 방사그래프(Radiation Graph Of A Pentagon)가 출력됩니다.
- {두개 학기 비교} 버튼을 클릭한다면, 해당 기능에 대한 설명과 학기 선택 콤보 박스가 있는 학기선택 창을 보실 수 있습니다. 선택된 두개 학기에 대해서 사용자의 파라미터 값으로 막대 그래프(Bar Graph)가 출력됩니다.
- {SF MBTI} 버튼을 클릭한다면, 해당 기능에 대한 설명을 보실 수 있습니다. 완료된 학기들을 종합적으로 평가하여 사용자의 학업 스타일과 어울리는 동물(+ 배경) 이미지가 출력됩니다.
- {취업 공고 분야} 버튼을 클릭한다면, 해당 기능에 대한 설명을 보실 수 있습니다. 관심 있는 진로, 취업 분야의 키워드를 입력한 뒤 검색버튼을 누르면 '잡코리아'(웹사이트) 에서 해당 키워드에 대한 공고문을 바로 보실 수 있습니다.
- 새 학기를 업데이트 하려거나, KLAS 정보를 local PC에 저장하고 싶지 않을 경우, {내 정보 초기화} 버튼을 클릭 해주세요. cache file 이 삭제되고, 프로그램이 종료 됩니다.
※ main.py(18 ~ 28), displaying.py(21 ~ 31) 사용된 resource_path() 는 리소스 파일의 상대경로를 입력받아 로컬PC에서의 절대경로를 반환해주는 함수로서 아래의 블로그에서 인용한 코드임을 밝힙니다.
출처: https://stackoverflow.com/questions/7674790/bundling-data-files-with-pyinstaller-onefile



































