Haeminway haemin/way
무료 견본
English
9 분 분량

반을 옮겼더니 지난달 성적표가 바뀌었다? 학원 프로그램이 꼬이는 진짜 이유

학생이 반을 옮겼는데 지난달 성적까지 새 반으로 따라간다면, 프로그램이 학생 기록을 처음부터 잘못 나눈 것입니다. 어느 학원에나 맞는 학생 기록 8개 서랍과, 서랍에 넣을 때 지킬 약속 5가지를 그림으로 쉽게 설명합니다. 예시는 직접 만든 Triad LMS에서 실제로 고친 기록입니다.

홍길동이 A반에서 B반으로 옮겼습니다. 그런데 지난달 A반 시험 점수가 B반 평균에 들어가 있습니다. 프로그램 고장이 아니라, 처음부터 기록을 잘못 나눈 겁니다.

핵심

3줄 요약

  • 한 사람 머릿속에만 있는 운영 방식은 그 사람이 나가거나 실수하면 함께 무너집니다.
  • 그래서 데이터 설계도가 필요합니다. 첫 단계는 무엇을 어떤 뜻으로 적을지 정하는 개념 정의이고, 학원 기록은 8개 서랍으로 나눌 수 있습니다.
  • 서랍에 넣을 때 약속 5가지만 지켜도 프로그램을 갈아엎을 일이 크게 줄어듭니다.

그 사람만 아는 학원은 커질 수 없습니다

많은 학원이 운영 방식을 머릿속에만 두고 돌아갑니다. 누가 보충 대상인지, 재시험 점수는 무엇으로 치는지, 휴원생 숙제는 어떻게 하는지를 베테랑 실장님이나 원장님만 압니다.

그 사람이 있을 때는 잘 돌아갑니다. 그런데 → 그 사람이 그만두거나, 바쁜 날 한 번 실수하면 아무도 바로잡지 못합니다.

왼쪽: 베테랑 선생님이 머릿속 업무를 들고 학원을 떠나고 남은 사람들이 빈 책상 앞에서 헤맨다. 오른쪽: 같은 업무가 모두가 보는 설계도 한 장에 적혀 있어 새로 온 사람도 그대로 일한다

핵심 인물은 양날의 검입니다. 그 사람 덕분에 돌아가지만, 그 사람만 알기 때문에 반을 늘리거나 지점을 내는 순간 막힙니다. 새 강사를 뽑아도 일을 넘겨줄 기준이 없기 때문입니다.

그래서 “무엇을, 어떤 칸에, 어떤 뜻으로 적는다”를 미리 정해 둔 데이터 설계도가 필요합니다.

데이터 설계도의 첫 단계는 개념 정의입니다. ‘반’, ‘수강’, ‘숙제’가 각각 무엇인지 모두가 같은 뜻으로 정해 두는 일입니다. 거창한 기술이 아니라 합의입니다.

개념 정의가 없을 때 실제로 어떤 일이 생기는지, 가장 흔한 장면부터 보겠습니다.

왜 성적이 새 반으로 따라갈까

학생 정보에 ‘반’ 칸을 하나만 두면 생기는 일입니다.

홍길동의 ‘반’ 칸을 A에서 B로 고치는 순간 → 프로그램은 홍길동이 처음부터 B반이었다고 믿습니다. 그래서 지난달 점수도 B반 것으로 셉니다.

왼쪽은 잘못된 방식: 반을 옮기면 지난달 성적표가 학생을 따라 새 반으로 끌려간다. 오른쪽은 맞는 방식: 지난달 성적은 A반에 남고, 학생과 A반의 연결은 끝나고 B반과의 연결이 새로 시작된다

맞는 방법은 “A반 수강 끝, B반 수강 시작”으로 적는 것입니다. 지난달 점수는 A반에 그대로 남습니다.

이렇게 ‘반’과 ‘수강’을 따로 두기로 정하는 것이 개념 정의입니다. 이 글에서는 데이터 설계도를 쉽게 서랍장에 비유하겠습니다.

학원 기록은 8개 서랍이면 됩니다

단과든 과외든 관리형이든, 학원 기록은 아래 8개 서랍에 들어갑니다.

학원 기록을 담는 8개 서랍: 학원 건물, 사람들, 시간표, 회원증, 교재, 할 일 목록, 순간을 찍은 사진, 규칙책

서랍들어가는 것자주 하는 실수
기관학원, 지점, 교실지점을 나중에 내는데 기존 기록에 ‘어느 지점’ 칸이 없음
사람학생, 보호자, 강사, 직원보호자 번호를 하나만 적어 엄마·아빠 두 보호자를 못 담음
수업반, 시간표, 휴강·보강, 진도반 이름을 바꾸면서 새 반을 만들어 지난 기록이 끊김
소속수강, 휴원, 담당 강사’현재 반’ 칸 하나만 둬서 지난 성적이 새 반으로 따라감
자료교재, 문항, 단어, 프린트같은 단어가 교재마다 따로 있어 합쳐서 못 봄
할 일숙제, 시험, 보충 약속반 전체 공지와 학생별 할 일을 같은 것으로 봄
일어난 일출결, 시험 본 기록, 제출, 검사, 상담결과를 할 일 칸에 덮어써서 몇 번 했는지 모름
규칙통과 점수, 지각 기준, 채점 기준기준을 바꾸면 지난 판정까지 같이 바뀜

자료 서랍의 실수는 Triad에서 실제로 겪었습니다. 단어가 교재마다 따로 들어 있어 1,429줄이었는데, 같은 단어끼리 묶으니 1,227개였습니다.

학원마다 다른 건 서랍 속 내용물입니다. 서랍장 자체는 같습니다.

가운데 같은 서랍장 하나를 단과 학원, 1:1 과외, 관리형 자습실, 지점 여러 개인 학원이 함께 쓰는 그림

  • 1:1 과외 → ‘학생 1명짜리 반’으로 보면 같은 서랍에 들어갑니다. 회차를 예약하는 과외라면 예약·변경·취소만 더합니다.
  • 관리형 → ‘일어난 일’ 서랍에 입실·퇴실 기록이 많고, 좌석과 자습 계획이 붙습니다.
  • 지점이 여러 개 → ‘기관’ 서랍에 지점이 늘고, 학생의 지점 이동과 지점별로 볼 수 있는 범위를 정합니다.

수업료·환불은 성격이 달라서 이 글에서는 뺐습니다.

서랍에 넣을 때 지킬 약속 5가지

제가 만든 학원 프로그램 Triad LMS는 이 약속을 하나씩 어겨서 다시 고쳤습니다. 표 구조를 바꾼 파일만 49개 쌓였습니다.

약속 1. 여러 번 생길 수 있는 건 따로 적는다

시험은 한 번이지만, 시험을 ‘보는 일’은 여러 번 생깁니다.

Triad 단어 시험은 처음에 학생 한 명이 한 시험을 한 번만 본다고 짰습니다. → 통과할 때까지 다시 보는 재시험을 저장할 자리가 없었습니다.

왼쪽: 학생과 시험 사이에 칸이 하나뿐이라 두 번째 응시가 막힌다. 오른쪽: 응시 기록이 1회, 2회, 3회로 줄지어 들어간다

지금은 응시마다 “몇 번째 도전”을 적습니다.

약속 2. “언제부터 언제까지”를 붙인다

반 소속, 휴원, 담당 강사는 모두 기간이 있는 정보입니다.

회원증에 시작일과 끝나는 날이 있는 것과 같습니다. Triad 수강 기록에도 시작일·종료일 칸이 있습니다.

반 회원증 아래에 시작 깃발과 끝 깃발이 있는 시간 띠. 첫 반이 끝나는 지점에서 다음 반 회원증이 이어진다

그래서 홍길동의 지난달 점수를 “그때 다니던 반”으로 찾아갈 수 있습니다.

약속 3. 지우개 대신 노트를 쓴다

바꾼 기록을 지우면, “왜 바뀌었냐”는 질문에 답할 수 없습니다.

Triad의 옛 보충 기록은 날짜를 바꾸면 이전 약속을 덮어썼습니다. → 몇 번 미뤘는지 그 기록만으로는 알 수 없었습니다.

왼쪽: 화이트보드의 이전 약속을 지우개로 지워 버려 선생님이 헷갈린다. 오른쪽: 노트에 이전 약속이 연하게 남고 새 약속이 맨 위에 쌓인다

지금은 이전 약속을 ‘취소’로 남기고 새 약속을 한 줄 더 적습니다.

약속 4. 비어 있음, 모름, 0점을 구분한다

“숙제 없음”과 “숙제 확인 안 함”은 전혀 다른 말입니다.

둘을 같은 빈칸으로 적으면 숙제 완료율이 엉뚱하게 나옵니다. Triad는 수업마다 숙제 공지를 ‘모름·없음·있음’ 세 가지로 나눴습니다.

세 개의 받침대: 비어 있음을 확인한 빈 쟁반, 아직 확인 안 해서 천으로 덮인 상자, 진짜 0점이 적힌 시험지

약속 5. 장부는 하나만

같은 내용을 두 군데에 따로 적으면 언젠가 숫자가 달라집니다.

Triad는 한동안 학원 컴퓨터와 클라우드에 같은 성적을 따로 적었습니다. → 두 학부모 화면이 서로 다른 내용을 보여 줄 수 있었습니다.

왼쪽: 두 책상에서 각자 장부를 쓰고 두 휴대폰에 다른 그래프가 뜬다. 오른쪽: 장부 하나에서 두 휴대폰으로 같은 그래프가 전달된다

두 장부를 맞춰 합친 뒤, 클라우드 하나만 기준으로 정했습니다.

핵심

서랍 8개에 나눠 담고, 약속 5가지를 지키면 됩니다. 어떤 프로그램을 쓰든 이 순서는 같습니다.

실제 학원 프로그램의 서랍장은 이렇게 생겼습니다

말로만 들으면 감이 안 옵니다. 그래서 Triad LMS의 데이터베이스데이터베이스 database 많은 자료를 표처럼 정리해 저장하고 빠르게 찾아 쓰는 저장 공간.눌러서 용어 설명서 보기 → 구조와 코드에서 개념을 뽑아 그렸습니다. 개념 36개, 연결 84개입니다.

TRIAD LMS · 실제 개념도

개념 36개, 연결 84개

파란 선은 숙제 한 건이 지나가는 길입니다. 그림을 누르면 크게 열리고, 흐름을 고르면 빛이 그 길을 따라갑니다. 개념을 누르면 연결된 것만 밝아집니다.

흐름을 고르면 데이터가 지나가는 길을 순서대로 보여 줍니다.

흐름을 눌러 재생해 보세요.

수업에서 낸 숙제가 학생별 할 일이 되고, 제출·검사를 거쳐 보호자 화면에 보이기까지입니다.

  1. 과제 낸다
  2. 배정한다
  3. 검사받는다
  4. 검사받는다
  5. 숙제 검사에서 다른 연결로 이어집니다.

  6. 요약한다
  7. 열람한다

개념 찾아보기

사람3개
소속2개
수업3개
자료5개
할 일7개
일어난 일13개
규칙3개
개념 살펴보기
학생 보호자 직원 수강 이력 보호자 인증 수업반 시간표 진도 계획 교재 학습 자료 단어 교재 듣기 시험 평가 문항 시험 계획 시험 할 일 듣기 할 일 학습 과제 학생 할 일 보충 약속 오답 과제 수업 기록 출결 기록 상담 메모 자료 배부 단어 응시 교사 정정 듣기 응시 영작 답안 성적 기록 학습 진행 숙제 검사 기한 변경 학습 보고 채점 기준 개인 예외 학습 수준

← 옆으로 밀어 보기 →

흐름을 골라 보세요

흐름을 선택하면 데이터가 지나가는 길을 단계별로 볼 수 있습니다.

Triad LMS 실제 개념도

흐름 글로 보기

숙제 한 건

수업에서 낸 숙제가 학생별 할 일이 되고, 제출·검사를 거쳐 보호자 화면에 보이기까지입니다.

  1. 수업 기록 → 학습 과제 선생님이 수업 기록에 오늘 숙제를 적습니다. 아직은 반 전체에 낸 공지입니다.
  2. 학습 과제 → 학생 할 일 홍길동을 대상으로 고르면 홍길동만의 할 일이 생깁니다. 공지와 할 일은 따로 적습니다.
  3. 학생 할 일 → 숙제 검사 홍길동이 숙제를 내면 선생님이 숙제 검사에 제출 상태를 남깁니다.
  4. 숙제 검사 → 학생 할 일 검사 결과가 홍길동 할 일의 현재 상태를 바꿉니다. 검사 기록은 덮어쓰지 않고 따로 쌓입니다.
  5. 숙제 검사 → 학습 보고 학습 보고가 검사 기록을 모아 했는지, 늦었는지, 검사를 안 한 날은 언제인지 보여 줍니다.
  6. 학습 보고 → 보호자 인증 인증한 보호자만 자기 자녀의 숙제 현황을 봅니다.

단어 시험과 보충

교재 범위로 시험을 정하고, 여러 번 응시하고, 선생님이 채점을 고친 뒤, 통과 못 하면 보충을 잡기까지입니다.

  1. 단어 교재 → 시험 계획 선생님이 단어 교재에서 시험 범위를 고르고 시험 날짜를 정합니다.
  2. 시험 계획 → 시험 할 일 홍길동의 단계와 개인 예외를 보고, 홍길동이 봐야 할 시험이 정해집니다.
  3. 시험 할 일 → 단어 응시 홍길동이 시험을 봅니다. 떨어지면 다시 봐도 되고, 몇 번째 도전인지 함께 적힙니다.
  4. 단어 응시 → 채점 기준 채점할 때 그 시험에 맞는 정답 기준과 통과 점수를 찾습니다.
  5. 채점 기준 → 단어 응시 점수와 그때 쓴 기준, 통과 여부를 그 응시 기록에 남깁니다.
  6. 단어 응시 → 교사 정정 선생님이 답안을 확인하고, 틀리게 채점된 문항은 이유와 함께 고칩니다.
  7. 교사 정정 → 시험 할 일 고친 결과로 통과 여부를 다시 계산해 홍길동의 시험 할 일에 반영합니다.
  8. 시험 할 일 → 보충 약속 끝까지 통과 못 하면 선생님이 보충 약속을 잡습니다.

반 이동

반을 옮겨도 지난 기록은 그때 반에 남는 이유입니다.

  1. 학생 → 수강 이력 홍길동이 반을 옮기면, 지금 반 수강에 끝난 날짜를 적습니다.
  2. 수강 이력 → 수업반 새 반 수강을 새 시작 날짜와 함께 따로 하나 더 만듭니다.
  3. 수업반 → 수업 기록 지난 수업 기록은 그때 반 번호를 그대로 가지고 있습니다.
  4. 수업 기록 → 출결 기록 지난 출결은 그때 수업 기록에 붙어 있어서 함께 남습니다.
  5. 출결 기록 → 학습 보고 선생님이 보는 학습 보고는 지난 기록을 그때 반으로 찾아 보여 줍니다.

보호자가 성적 보기

보호자가 로그인해서 자기 자녀의 기록만 보기까지입니다.

  1. 보호자 → 학생 홍길동에게 등록된 보호자 연락처로 보호자와 자녀를 잇습니다.
  2. 학생 → 보호자 인증 보호자가 반, 학생 이름, 전화번호 뒤 네 자리를 넣으면 로그인 기록이 생깁니다.
  3. 보호자 인증 → 학생 화면을 열 때마다 이 보호자가 아직 그 자녀의 보호자인지 다시 확인합니다.
  4. 학생 → 성적 기록 확인된 자녀 중 고른 학생의 성적 기록만 가져옵니다.
  5. 성적 기록 → 학습 보고 점수와 통과 여부를 보여 주고, 내 자녀가 아닌 학생은 보여 주지 않습니다.

듣기 시험과 오답 연습

듣기 시험을 보고, 틀린 문항을 받아쓰기로 연습해 통과하기까지입니다. 처음 점수는 그대로 남습니다.

  1. 듣기 시험 → 듣기 할 일 홍길동의 듣기 학년에 맞는 시험이 홍길동의 듣기 할 일로 배정됩니다.
  2. 듣기 할 일 → 듣기 응시 홍길동이 듣기 시험을 보면 문항별 정답과 점수가 남습니다.
  3. 듣기 응시 → 성적 기록 처음 끝낸 시험 점수만 성적 기록에 옮깁니다.
  4. 듣기 응시 → 학습 진행 틀린 문항은 받아쓰기 연습으로 이어지고, 문항별 진행이 남습니다.
  5. 학습 진행 → 듣기 할 일 틀린 문항 받아쓰기를 다 끝내면 듣기 할 일이 통과로 바뀝니다.
  6. 듣기 할 일 → 학습 보고 보호자 화면에는 지금의 통과 상태가 보입니다.
  7. 성적 기록 → 학습 보고 성적 기록에는 처음 점수가 그대로 남아, 연습 뒤 통과와 원래 점수를 둘 다 볼 수 있습니다.

지도를 보면 세 가지가 눈에 띕니다.

  • ‘일어난 일’ 서랍의 개념이 13개로 가장 많습니다. → 학원 기록에는 “무슨 일이 있었나”를 쌓는 칸이 그만큼 많이 필요합니다.
  • 출결·숙제 검사·성적·보충 약속이 ‘학습 보고’로 모여 학부모 화면이 됩니다.
  • ‘기관’ 서랍은 비어 있습니다. 학원·지점을 따로 담는 표가 없습니다. → 지점을 내려면 이 서랍부터 채워야 합니다.

숙제 한 건이 학부모 화면에 닿기까지

지도의 첫 번째 흐름을 글로 풀면 이렇습니다.

  1. 수업 기록에 숙제를 공지합니다. 이때는 아직 ‘반 전체 공지’입니다.
  2. 홍길동을 대상으로 고르면 홍길동의 ‘할 일’이 생깁니다. 공지와 할 일은 서로 다른 칸입니다.
  3. 홍길동이 제출하면 선생님이 ‘숙제 검사’에 제출 상태를 남깁니다.
  4. 검사 결과로 할 일의 현재 상태가 바뀝니다. 검사 기록 자체는 따로 보존됩니다.
  5. 학습 보고가 검사 대상 명단과 검사 기록을 맞춰 보고, 했는지·검사를 안 했는지를 나눠 보여 줍니다.
  6. 인증한 보호자만 자기 자녀의 보고를 봅니다.

이 여섯 단계 중 하나라도 같은 칸을 같이 쓰면 → “숙제 안 함”과 “검사 안 함”이 섞입니다.

데이터 설계도를 프로그램으로 옮기면

데이터 설계도가 정해지면, 프로그램은 그 설계도를 그대로 따라 만들면 됩니다.

사람마다 제각각 적어 두던 메모 쪽지들이 틀을 지나 똑같은 모양의 블록이 되고, 차례로 서랍장에 들어가는 그림

  • 서랍 속 대상(학생·반·교재) → 바뀌지 않는 번호를 붙인 표. 이름은 바뀔 수 있으니 이름으로 연결하지 않습니다.
  • 연결(수강·담당·보호자) → 둘을 잇는 표. 기간이 중요하면 시작일·종료일을 붙입니다.
  • 일어난 일(출결·응시·검사) → 쌓는 기록. 고칠 땐 원래 기록에 정정을 이어 붙입니다.
  • 상태 → 모름·없음·있음처럼 미리 정한 값만 쓰게 합니다.
  • 규칙 → 바꿀 수 있는 설정으로 두고, 기록마다 그때 기준을 같이 남깁니다.

이 글이 다루는 학생·수강·출결·숙제 관리는 흔히 쓰는 데이터베이스로 충분히 만들 수 있습니다.

프로그램 고르기 전에, 이 질문부터

아래 질문에 바로 답이 안 나오면, 그 부분이 나중에 꼬이는 곳입니다.

  1. 학생이 반을 옮기면 지난 성적은 어느 반에 남나요?
  2. 재시험 점수는 처음 점수·마지막 점수·최고 점수 중 무엇을 보여 주나요?
  3. 보충 날짜를 바꾸면 이전 약속이 남나요?
  4. ‘숙제 없음’과 ‘확인 안 함’을 구분해서 적나요?
  5. 같은 내용을 두 군데 이상에 적고 있나요?
  6. 프로그램을 바꿀 때 학생 명단 말고 지난 기록도 옮길 수 있나요?

다음 글부터 반 이동, 숙제 기록, 보호자 관계, 프로그램 옮기기를 하나씩 더 쉽게 풀어 보겠습니다.

8개 서랍으로 만든 화면은 Triad LMS 체험판에서 가상 데이터로 눌러 볼 수 있습니다.

무료 견본

가르치시는 지문 1개를 보내 주시면, 해설서 1부를 무료로 만들어 드려요

변형문제·워크북 견본도 됩니다. 학원·강사용 프로그램이나 자동화가 필요하셔도 같은 곳에 남겨 주세요.

견본 신청하기 →

새 글 소식

새 글이 나오면 메일로 알려 드립니다.

새 글 주소와 한 줄 요약만 보냅니다. 광고는 보내지 않습니다.