제 2 강 - 위세너 송재호 LMS 개발 강좌
위세너
쪽지전송
Views : 89,227
2015-01-19 13:53
위세너 - 전화 화상 영어 창업
1270206796
|
제 2 강 - 위세너 송재호 LMS 개발
본사와 가맹사 홈페이지는 독립적이며 연결은 웹 서비스로
마지막 편집일 : 2015년 1월 19일
최초 편집일 : 2015년 1월 10일
본 문서 내에서 높임말과 낮춤말을 혼용 할 수 있으니 양해부탁드립니다.
본 문서의 내용은 수시료 변경이 될 수 있습니다.
본 문서는 LMS 개발 강좌 형식으로 진행이 되고 있습니다.
하지만 단순하고 간단한 프로그램이 아니라서 프로그램 소스 코드 한줄 한줄을 바탕으로 설명을 할 수 없습니다.
따라서 개념적으로 풀어나가는 것을 원칙으로 하며 모든 소스코드와 개발진행 단계는 프로젝트 홈페이지에서 오픈하도록 하겠습니다.
LMS 명칭
소프트웨어 명칭이 있어야겠죠.
X8 로 정했습니다.
지난 2006 년 부터 수 많은 LMS 시스템을 개발했는데, 개발할 때 마다 명칭이 조금씩 달랐습니다.
주로 CenterX 와 같은 명칭이 붙었었죠. CenterX1, CenterX2 와 같이 진행을 해 왔는데, CenterX6 부터는 대신 X, X2 로 명칭이 정해졌는데,
이번에는 X3,4,5,6,7 을 건너띄고 X8 로 정했습니다.
LMS 개발 계획
그 동안 수 많은 Learning Management System 을 만들어왔지만 늘 시간에 쫓겨가면서 개발을 해 왔기 때문에 완성도 면에서 아쉬운 부분이 많았는데,
이번에는 시간이 걸리더라도 최고의 완성판을 만들자는 계획입니다.
프로젝트 홈페이지 : http://dev.withcenter.com:3000/projects/lms
현재 프로젝트가 어떻게 진행되고 있는지 궁굼하신 분은 프로젝트 홈페이지를 방문하시면 가장 상세히 알 수 있습니다.
베타 버젼의 발표는 Feature close 입니다.
RC 버젼의 발표는 Critical 이 close 입니다.
정식 버젼의 발표는 bug close 입니다.
LMS 기능
LMS 기능이 많아서 한번에 다 나열하기는 쉽지가 않아서 차츰 업데이트를 할 예정입니다.
LMS 기능은 프로젝트 홈페이지의 Issue 를 보면 잘 알 수가 있을 것입니다.
RWD
이것은 디자인 적인 부분으로 학생의 페이지는 완벽하게 100% RWD 로 한다.
단, 모바일페이를 따로 만들지 말지는 차후에 디자인 부분에서 고렬르 한다.
또한, 선택적으로 모바일 페이지와 데스크탑 페이지를 선택 할 수 있도록 한다.
교육 분야 확대
처음에 영어,한국어,음악,수학,태권도,요리 와 같이 총 6개의 교육을 할 수 있는 시스템을 만들 것이며 차후에 다른 교육을 할 수 있도록 쉽게 기능을 추가 할 수 있도록 만들 것입니다.
프랜차이즈
본사와 가맹사 개념을 추가하여 프랜차이즈를 가능하게 할 것입니다.
본사와 가맹사 홈페이지는 독립적이며 연결은 웹 서비스로
본사와 가맹사 홈페이지가 서로 다른 서버에 설치가 가능하며 홈페이지 프로그램도 각자 개발이 가능하다.
데이터는 Ajax 와 JSON 포멧으로 교환한다.
LMS 회원 관리
Drupal 8 에 회원 관리 기능이 있겠죠.
드루팔 8 이 세상에 나온지 얼마 안되었고 또 아직 많은 공부를 한 것이 아니라 아직 드루팔 8에 대해서 별로 아는게 없네요.
그렇지만 드루팔 8에 회원 관리 기능이 있다는 가정 하에,
회원 구분은
본사 회원
본사 사장 : 1명
본사 부장 : 다수
본사 과장 : 다수
본사 대리 : 다수
본사 평직원 : 다수
선생 관리자 : 다수,
학생 관리자 : 다수
선생 : 다수
학생 : 다수
일반 회원 : 다수
가맹사 회원
가맹사 사장 : 1 명
가맹사 부장 : 다수
가맹사 과장 : 다수
가맹사 대리 : 다수
가맹사 평직원 : 다수
선생 관리자 : 다수
학생 관리자 : 다수
선생 : 다수
학생 : 다수
일반 회원 : 다수
권한
선생관리자와 학생 관리자의 권한은 평직원 보다 아래입니다.
학생 정보 열람 등의 권한은 과장급 이상이 부하 직원에게 부여 할 수 있습니다.
회원 기능
본사에서는 본사의 회원 정보 뿐만아니라 가맹사의 회원 정보를 열람할 수 있습니다.
가맹사에서는 가맹사 내의 회원 정보만 열람할 수 있습니다.
열람할 수 있는 회원 정보에는 개인 정보 외에 수업 정보와 관련된 모든 정보를 포함합니다.
개인 정보 열람을 할 수 있으면 개인 정보 수정도 같이 할 수 있습니다.
LMS 수업 관리
수업 관리는 아주 편리하게 되어야 한다는 것이 제 1 의 목표입니다.
수업 관리에 있어서 극한, 극강의 편리함을 제공할 계획입니다.
수업 시간표 관리
관리자로 로그인을 했다면,
선생님 목록, 선생님 등급별, 스타 강사별 목록 옵션
선생님 수업 시간표 목록, 시간대별 목록, 오늘 부터, 내일 부터 한달 수업 가능한 시간표 목록
시간표 목록에서 다른 페이지 이동 없이 학생을 선택해서 바로 수업 예약, 취소
학생을 선택해다면, 쿠키나 세션에 기억을 해서 수업 시간표를 검색해서 수업 예약을 할 수 있도록.
PreRe - 선예약 자동 옵션이나 수업 예약 전,후 페이지 이동 없이 곧 바로 버튼 한번 클릭으로 선예약 또는 선예약 해제 할 수 있도록.
수업 진행
수업 진행은 아래와 같은 형식으로 진행됩니다.
-
교재 작성 후 오픈 강좌 문서
-
동영상 강좌. 실시간 동영상 가능.
-
전화 통화.
-
화상 통화 ( 스카이프와 직접 개발한 솔루션 두가지만 지원 )
수업 진도 관리
처음 수업 시작한 날 부터
강사의 학생 평가
강사는 수업이 끝난 후 해당 수업에 대해서 평가를 해야한다.
그날의 학생이 수업에 참여도가 높았는지,
학생이 어떤 내용에 관심을 기울이는지,
어떤 부분에서 학생이 강하고 어떤 부분에서 학생이 약한지 등을 메모하도록 한다.
해당 수업에 대해서
학생 결석 여부:
학생 지각 여부:
강사 결석 여부:
강사 지각 여부:
수업이 성공적으로 완료되었는지 여부:
학생의 수업 참여도: 1,2,3
학생이 잘하는 부분 : ____________________________
학생이 부족한 부분 : ____________________________
수업의 전체 평점 : 0~9
기타 : 각 교육 과목 별 추가 항목
예를 들어 언어(영어,한국어 등)교육이면, 문법, 발음, 말솜씨(빠르고 정확한 표현), 어휘 등을 추가 할 수 있으며,
요리 교육이라면 : 칼 휘두르는 솜씨, 채를 써는 솜씨, 요리 속도, 간을 맞추는 솜씨 등
태권도 교육이라면 : 발차기 씨 기합을 강도, 날라차기를 할 때, 얼마나 높이 날으는지 등
원하는 항목을 직접 입력하고 통계를 낼 수 있게 할 것입니다.
공개 여부 : 전체 공개와 학생 정보, 선생 정보 선택.
참고: 회사의 규정에 따라서 수업 끝난 직후 또는 근무시간 기준(회사의 근무시간이 아닌 본인의 근무시간) 24시간 이내로 평가를 하게 할 수 있다.
학생이 강사 평가
강사가 학생을 평가하는 것과 반대로 학생이 직접 강사가 좋은지 나쁜지, 교육을 잘 하는지 못하는지 평가를 할 수 있다.
공개 여부 : 학생의 정보, 강사 정보 선택.
수업 성취도 관리
주, 월, 분기, 년, 기간 선택
다른 학생과 비교, 전체 평균과 비교
그래프로 표시하여 학부모가 쉽게 이해 할 수 있도록
수업 성취도는 공개 가능하다.
공개 옵션 : 회원 정보 공개 선택.
강의실 입장
강사는 전화든, 스카프이드, 솔루션이든 다른 어떤 것이든 모조건 강의실 입장을 클릭해야지만 입력 가능.
전화, 스카이프, 솔루션.
중요 : 만약 강사 아웃소싱을 하는데 다른 홈페이지를 사용해야하는 경우,
그 홈페이지 주소를 입력.
즉, 예약은 로컬 사이트에서 하고, 클릭하면 해당 홈페이지가 열리게 함.
이 때, 학생 아이디는 임의로 만들면 된다.
Drupal 8 - LMS 모듈
과거에는 직접 CMS( 회원 관리, 게시판 관리 등 )를 만들고 LMS 기능을 추가하였습니다.
그러다가 그누보드에 LMS 기능을 추가 할 수 있도록 하였죠.
X8 에서는 Drupal 8 에 맞추어서 제작하고 있습니다.
하지만 최대한 호환성을 유지 할 수 있도록 제작하여 차 후에 다른 CMS 와도 쉽게 연동할 수 있도록 할 계획입니다.
본 강좌는 LMS 개발에 관한 것입니다.
아쉽지만 HTML 이나 CSS, Javascript, PHP 또는 Drupal 에 대해서는 직접 공부를 하셔야합니다.
독립 데이터 저장소
데이터 관리와 관련해서는 Drupal 8 의 데이터 테이블이나 Storage 를 사용하지 않을 계획입니다.
드루팔 8 에 맞튼 인터페이스를 만들고 다른 CMS 연동 할 때, 또 그에 맞는 인터페이스를 개발하면 되지만 좀 귀찮을 것 같습니다.
그래서 그냥 독립 DB 를 구성 할 계획입니다.
간단하면서도 빠른 SQLite3 를 사용 하도록 하겠습니다.
레이아웃 (디자인) 작업
LMS 에 맞춰진 테마를 만들어야 한다.
전세계의 모든 드루팔 사용자들이 모든 경우에 사용 할 수 있는 테마를 만드는 것이 아니므로 동적으로 메뉴를 조절 할 필요가 없으며
레이아웃 또한 고정해서 사용하면 된다.
따라서 드루팔에서 제공하는 레이아웃 또는 메뉴는 사용하지 않는다.
또한 필요 없는 Region 은 작성하지 않는다.
header, footer 다 필요 없이 고정한다.
다만 sidebar 에는 충분한 block 을 추가 할 수 있도록 해 준다.
@알림 : 코멘트를 작성하시려면 로그인을 하십시오.