1.계획서

                      종합설계 프로젝트 계획서 요약

팀명

AttentionSeeker

제출일

2015 9 17

프로젝트 제목

Docker를 이용한 알고리즘 채점 서버 개발

팀원

성명

학번

SNS 주소

이영찬

20093322 https://www.facebook.com/youngchan.lee.186?fref=ts

이의재

20093326 https://www.facebook.com/uijae.lee.5?fref=ts

이종석

20093327

최슬기

20093348 https://www.facebook.com/seulgi.choi.714?fref=ts

황석진

20093355 https://www.facebook.com/profile.php?id=100003552574794

설계 프로젝트 개요

프로젝트 개요

  • 다양한 플랫폼의 개발과 사용자의 증가로 인해 플랫폼에 적합한 새로운 프로그램의 요구는 급격하게 증하고 있으며, 그에 따른 능력있는 프로그래머의수요 역시 증가하고있다.
  • 이러한 현실에 맞춰 외국 유명 대학들은 문과대를 비롯한 비전공생을 위한 프로그래밍 강의가 개설되어 사회의 요구를 충족시기고 있으며, 이를 참고하여 우리 학교에서도 비전공생을 위한 프로그래밍 강의를 신설하였다.
  • 프로그래밍 과목 특성상 이론 보다는 직접 프로그래밍을 해보는 것이 프로그래밍적, 논리적 사고를 배우는데 더 많은 도움이 된다. 이러한 이유로 프로그래밍 수업에서 실습과제는 필수적인 요소가 된다. 하지만 특별한 시스템 없이 소수의 담당자가 많은 학생들의 과제를 관리하는 것은 무리가 있다.
  • 본 프로젝트는 위 상황을 해결하는데 도움이 되는 채점 시스템을 제작하는 것으로, 2,000여명의 학생을 수용할 수 있는 서버를 개발하게된다. 이 프로젝트로 인해 더 많은 학생들을 소수의 담당자로 관리하는 것이 훨씬 편리해 질것이다.

 

장점

  • 하나의 담당자가 많은 학생들을 반별로 관리할 수 있게하여, 효과적으로 관리 할 수 있게 된다.
  • 체계적인 데이터 관리로 추후 학생들의 코드나 제출정보 등을 제공할 수 있다.
  • 전 서버보다 적확한 채점이 가능하며, 사용 시간/메모리 등을 측정하여 사용자들의 학습을 도울 수 있다.
  • Docker를 활용하여 채점 중 발생하는 문제(에러)들이 웹 서버(채점 서버)에 미치는 영향을 막을 수 있어 보다 안정적인 서버 운영이 가능하다.

 

현실적 제한요소

  • 채점의 경우 Docker container 안에서 개별적인 자원을 활용하여 진행되기 때문에 동시처리 개수는 총 가용 프로세스 중 80%까지만 가능하다.
  • 기본 알고리즘 채점을 기준으로 file input과 stdoutput을 이용하기 때문에 GUI 또는 소켓 프로그래밍과 같은 것들은 적용에 제한이 있다.

 

비교대상

  현재  다양한 알고리즘 채점 사이트들이 존재하고 있으나, 그 사이트들을 학교 수업에 효과적으로 적용하기에는 몇가지 문제가 따른다.

  • 개별적으로 사이트에 등록된 문제를 푸는 방식으로 분반별로 학생을 관리하는데 큰 어려움이 따른다.
  • 다양한 문제들이 자율적으로 풀게 돼있어, 학생들의 과제로 문제를 제한하는데 어려움이 있다.
  • 틀린 테스트 케이스에 대해 참고할 자료가 없어, 비전공자가 학습하기에 무리가 따를 수 있다.

  본 프로젝트는 위 단점들을 보완하여 학교 수업에 최적화된 서버로 개선할 것이다.

 

마일스톤 일정

  • 항목

    세부내용

    7

    8

    9

    10

    11

    12

    비고

    요구사항분석

    UI 문제점 파악

     

     

     

     

     

     

     

    현재 채점 서버 분석

     

     

     

     

     

     

     

    관련분야연구

    LINUX 인코딩 연구

     

     

     

     

     

     

     

    Ajax 연구

     

     

     

     

     

     

     

    UI 플러그인 연구

     

     

     

     

     

     

     

    SSL  연구

     

     

     

     

     

     

     

    설계

    UI 디자인 설계

     

     

     

     

     

     

     

    데이터베이스 설계

     

     

     

     

     

     

     

    비정상 접근 로직 설계

     

     

     

     

     

     

     

    프로그램 설계

     

     

     

     

     

     

     

    외부 경시 대회

    외부 경시대회 참가

     

     

     

     

     

     

     

    구현

    UI 구현

     

     

     

     

     

     

     

    데이터베이스 구현

     

     

     

     

     

     

     

    프로그램 구현

     

     

     

     

     

     

     

    테스트

    시스템 테스트

     

     

     

     

     

     

     

결론

  • 본 프로젝트는 현재 운영되고 있는 많은 알고리즘 채점 사이트들의 장점들을 참고하고, 학교 수업에 효과적으로 적용할 수 있는 기능들을 추가/보완할 것이다. 현재 1차 프로젝트 때 완성한 서버를 운영하고 있으며, 운영 학생/조교들의 요구사항을 수용하여 보완작업을 하고 있다.
  • 이번 프로젝트의 최종 목표는 운영중인 서버를 안정화하고 가능한 많은 기능들을 사용자에 맞게 개선하여 후에 후배들에게 운영이 인계된 후에도 안정적으로 운영될 수 있게 하는 것이다.

참고: 학기 전에 지도교수에게 과제를 제안하고 선정하는 과정을 이미 거친 것으로 간주하여 프로젝트 계획서는 이미 결정된 과제의 구체적 수행 계획을 서술합니다. 즉 과제를 제안하는 제안서와는 성격이 다릅니다.

첨부화일 (아래 안내는 첨부 후에 삭제할 것)
1. 계획서 발표 슬라이드쇼(200초 미만, 음성 녹음을 하여 슬라이드쇼로 만든 .ppsx 파일을 첨부 할 것.)
2. 계획서 발표 슬라이드(PDF, 장당 2개)
3. 계획서 화일(반드시 PDF파일로 제출 할 것.)
ć
14조 캡스톤,
2015. 9. 23. 오전 12:24
Ċ
14조 캡스톤,
2015. 9. 17. 오전 12:17