다음 단계 화면의 원본

화면과 사용 흐름

화면마다 무엇이 보이고 무엇을 할 수 있는지, 다음에 어디로 가는지.

19,987자 · 시스템이 만든 그대로입니다

사람이 손댄 곳 3군데
  • · 3단계 ‘추론 확인’에서 두 곳을 고쳤습니다. 인터뷰에 서류 만료 알림을 첫 버전에 넣겠다고 적었는데, 정작 서류 관리 자체는 후속 버전이었습니다. 그대로 두면 없는 데이터를 읽어 알림을 보내는 문서가 되므로, 첫 버전 알림을 시간표 변경 하나로 줄이고 필수 화면 목록에 알림함을 넣었습니다.
  • · 4단계에서 확인할 사용 흐름 세 가지를 다시 묶었습니다. 처음 제안된 묶음은 화면 열한 개를 순서대로 셋으로 나눈 것이라 운영자 화면과 강사 화면이 한 흐름에 섞여 있었습니다. 흐름은 “이 순서로 막힘없이 이어지는가”를 보는 자리이므로 역할별로 다시 나누고 이름도 업체가 실제로 하는 일로 바꿨습니다.
  • · 문서 본문은 손대지 않았습니다. 위 두 가지는 모두 인터뷰 답변과 화면 목록을 고친 것이고, 그 뒤 문서는 고쳐진 답변으로 다시 만들어졌습니다.

방과후 운영 한눈에 화면 및 사용 흐름 문서

1. 첫 개발 범위

첫 버전은 학기 시작 전 시간표 배정과 공개에 집중한다.

운영자가 끝내야 하는 일

  1. 업체 계정을 만든다.
  2. 학교와 강사를 등록한다.
  3. 학교별 학기·교시표를 설정한다.
  4. 수업과 담당 강사를 직접 입력하거나 엑셀로 일괄 등록한다.
  5. 같은 강사의 시간 중복을 찾아 수정한다.
  6. 충돌이 없는 시간표를 확정하고 강사에게 공개한다.
  7. 강사는 자신의 시간표와 변경 알림을 확인한다.

첫 버전에서 제외하는 기능

  • 서류 종류·제출 상태·만료일 관리
  • 서류 만료 알림
  • 성범죄 경력·아동학대 전력 조회 회신서 원본 저장
  • 대체강사 탐색
  • 강사료·재료비 정산과 지급 예정액
  • 민원 기록
  • 휴강·보강·대강 회차 관리
  • 이동시간 부족 자동 판단
  • 직전 학기 복사
  • 카카오톡 연동
  • 서비스 내 결제
  • 정산 확정 알림

업체 구독료는 서비스 밖에서 별도 청구하고 계좌이체로 받는다.


2. 사용자 역할과 접근 범위

역할접근할 수 있는 정보할 수 있는 행동
대표·운영자업체의 모든 학교, 강사, 수업 계획, 교시표, 공개 상태등록, 수정, 충돌 해결, 시간표 확정·공개, 강사 초대
강사자신에게 공개된 수업과 자신의 알림개인 시간표 조회, 알림 확인
다른 업체 사용자접근 불가다른 업체의 학교·강사·시간표를 볼 수 없음

모든 학교, 강사, 수업 계획, 알림에는 업체 식별값을 적용한다. 화면을 열거나 저장할 때마다 해당 업체 소속인지 확인한다.


3. 전체 화면 구조

운영자 메뉴

  • 학교·강사
  • 수업 배정
  • 전체 시간표

강사 메뉴

  • 내 시간표
  • 알림함

운영자 화면은 많은 수업을 한꺼번에 다루기 때문에 PC 웹에 우선 맞춘다. 강사 화면은 휴대전화 웹에서도 보기 쉽도록 반응형으로 구성한다. 별도 모바일 앱은 만들지 않는다.


4. 공통 시간표 규칙

4.1 수업 상태

상태의미강사에게 표시
임시 배정강사를 배정했지만 아직 공개하지 않은 상태표시하지 않음
확정 시간표충돌 검사를 통과해 공개할 수 있는 상태아직 표시하지 않음
공개됨운영자가 강사에게 공개한 상태개인 시간표에 표시
공개 전 변경공개된 시간표를 수정했지만 변경 내용을 아직 다시 공개하지 않은 상태기존 공개본을 유지

공개된 시간표를 수정하더라도 강사 화면을 즉시 바꾸지 않는다. 운영자가 변경 내용 공개를 눌렀을 때 최신 내용으로 바꾸고 알림을 보낸다.

4.2 시간 중복 판단

다음 조건을 모두 만족하면 같은 강사의 시간 중복이다.

  1. 같은 업체의 같은 강사다.
  2. 같은 요일이다.
  3. 두 수업의 운영 기간이 겹친다.
  4. 실제 시작·종료 시각이 겹친다.

시간은 다음 방식으로 비교한다.

기존 수업 시작 < 새 수업 종료
그리고
새 수업 시작 < 기존 수업 종료

예시:

첫 번째 수업두 번째 수업결과
14:00~14:4014:20~15:00중복
14:00~14:4014:39~15:20중복
14:00~14:4014:40~15:20중복 아님

교시명이 같아도 실제 시간이 겹치지 않으면 중복이 아니다. 반대로 교시명이 달라도 실제 시간이 겹치면 중복이다.

4.3 중복 저장 규칙

  • 서로 다른 학교의 수업이 겹치면 저장할 수 없다.
  • 겹치는 두 수업을 나란히 보여 주고 한쪽을 수정하게 한다.
  • 같은 학교 안의 수업이 겹치면 운영자가 사유를 입력해 예외로 저장할 수 있다.
  • 예외에는 사유, 처리한 운영자, 처리 시각, 관련 수업을 남긴다.
  • 임시 배정도 충돌 검사에 포함한다.
  • 화면에서 한 번 검사하고, 서버가 저장 직전에 다시 검사한다.
  • 동시에 두 저장 요청이 들어와도 하나의 중복 배정만 발생하지 않도록 최종 저장 단계에서 차단한다.

5. 화면별 상세 설계

5.1 운영자 로그인 및 업체 시작 화면 [admin-login-start]

목적

대표가 업체 계정을 만들거나 기존 계정으로 로그인해 운영을 시작한다.

진입 조건

  • 로그인하지 않은 상태
  • 서비스 첫 방문
  • 로그아웃 후 다시 접속한 상태

사용자가 보는 정보

  • 서비스명: 방과후 운영 한눈에
  • 한 줄 설명: 여러 학교의 강사 배정과 시간표를 한눈에 관리하세요.
  • 로그인 입력란
  • 업체 계정 만들기 버튼
  • 비밀번호 찾기 링크

사용자가 할 수 있는 행동

업체 계정 만들기

  • 업체명 입력
  • 대표자 이름 입력
  • 로그인용 이메일 입력
  • 비밀번호 입력
  • 업체 계정 만들기 선택

기존 계정 로그인

  • 이메일 입력
  • 비밀번호 입력
  • 로그인 선택

상태 처리

상태화면 처리
성공업체와 운영자 계정을 만들고 학교·강사 등록 화면으로 이동
처음 시작먼저 학교와 강사를 등록해 주세요. 안내 표시
이미 사용 중인 이메일이미 가입된 이메일입니다. 로그인하거나 다른 이메일을 입력해 주세요.
로그인 정보 오류이메일 또는 비밀번호를 다시 확인해 주세요.
서버 오류입력값을 유지하고 잠시 후 다시 시도해 주세요. 표시

완료 조건

  • 업체 식별값이 생성된다.
  • 대표가 해당 업체의 운영자 권한으로 로그인된다.
  • 다른 업체의 정보에 접근할 수 없다.

다음 화면

  • 처음 가입: [school-instructor-list]
  • 기존 가입: [operator]

가정: 첫 버전은 이메일과 비밀번호로 로그인한다. 휴대전화 번호 로그인 지원 여부는 확인 필요다.


5.2 운영자 홈 [operator]

목적

대표가 현재 등록 상태와 공개 전 확인할 일을 한 화면에서 파악한다.

진입 조건

  • 운영자 계정으로 로그인한 상태

사용자가 보는 정보

  • 등록 학교 수
  • 등록 강사 수
  • 수업 계획 수
  • 공개된 수업 수
  • 공개 전 변경 수
  • 강사 초대 전·연결 완료 수
  • 최근 시간표 공개 시각
  • 바로가기
    • 학교 등록
    • 강사 등록
    • 학기·교시표 설정
    • 수업 직접 등록
    • 엑셀로 등록
    • 전체 시간표 확인

사용자가 할 수 있는 행동

  • 학교·강사 관리로 이동
  • 학기·교시표 설정으로 이동
  • 수업 배정 등록으로 이동
  • 전체 시간표 검토로 이동
  • 공개 전 변경 항목 확인

상태 처리

상태화면 처리
성공등록 현황과 바로가기 표시
빈 상태아직 등록된 학교가 없습니다.학교 등록하기 버튼 표시
일부 설정 누락새봄초등학교의 2026년 1학기 교시표가 없습니다.처럼 구체적으로 표시
불러오기 오류새로고침 버튼과 오류 안내 표시

완료 조건

운영자가 다음에 해야 할 일을 한 번의 선택으로 시작할 수 있다.

다음 화면

  • [school-instructor-list]
  • [school-term-period-settings]
  • [class-assignment]
  • [master-timetable]

첫 버전의 운영자 홈에는 서류, 대체강사, 정산, 민원 현황을 표시하지 않는다.


5.3 학교·강사 목록 관리 화면 [school-instructor-list]

목적

운영자가 시간표에 사용할 학교와 강사 정보를 등록하고 수정한다.

진입 조건

  • 운영자로 로그인
  • 첫 업체 설정을 시작했거나 운영자 홈에서 진입

화면 구성

상단에 학교강사 탭을 둔다.

학교 탭에서 보는 정보

  • 학교명
  • 학교 구분
    • 초등학교
    • 중학교
  • 등록된 학기 수
  • 교시표 설정 상태
  • 등록된 수업 수
  • 수정일

학교 탭에서 할 수 있는 행동

  • 학교 등록
  • 학교명과 기본 정보 수정
  • 학교별 학기·교시표 설정
  • 해당 학교의 수업 배정 화면으로 이동
  • 수업에 사용되지 않은 학교 삭제
  • 이미 수업에 연결된 학교는 삭제 대신 사용 중지

강사 탭에서 보는 정보

  • 강사명
  • 연락처
  • 계정 연결 상태
    • 초대 전
    • 초대 링크 생성
    • 연결 완료
  • 배정된 수업 수
  • 수정일

강사 이름이 같은 경우에는 내부 식별번호나 연락처 일부를 함께 표시한다.

예시:

김미술 · 강사 014 · 010-****-1234
김미술 · 강사 027 · 010-****-5678

강사 탭에서 할 수 있는 행동

  • 강사 등록
  • 이름과 연락처 수정
  • 강사 초대 링크 생성
  • 초대 상태 확인
  • 해당 강사의 전체 배정 확인
  • 수업에 연결되지 않은 강사 삭제
  • 이미 수업에 연결된 강사는 사용 중지

상태 처리

상태화면 처리
등록 성공새봄초등학교를 등록했습니다.
학교 빈 상태등록된 학교가 없습니다. 첫 학교를 등록해 주세요.
강사 빈 상태등록된 강사가 없습니다. 시간표에 배정할 강사를 등록해 주세요.
학교명 중복같은 업체 안에서 동일한 학교명 등록 차단
같은 이름의 강사등록은 허용하되 동명이인 강사입니다. 연락처를 확인해 주세요. 표시
삭제 불가연결된 수업 수와 함께 사용 중지를 안내
오류입력값을 유지하고 해당 항목 아래에 오류 표시

완료 조건

  • 수업에 연결할 학교와 강사가 각각 고유 식별값을 갖는다.
  • 이름은 화면 표시와 엑셀 매칭에만 사용한다.
  • 시간표 저장 시에는 학교와 강사의 고유 식별값을 사용한다.

다음 화면

  • 학교 행의 학기·교시표 설정[school-term-period-settings]
  • 학교 행의 수업 등록[class-assignment]
  • 강사 행의 초대 → 초대 링크 생성 후 [instructor-login-invite]
  • 기본 등록 완료 → [class-assignment]

5.4 학교별 학기·교시표 설정 화면 [school-term-period-settings]

목적

학교가 사용하는 교시명과 실제 시작·종료 시각을 연결해 정확한 시간 중복 판단이 가능하게 한다.

진입 조건

  • 학교가 먼저 등록되어 있음
  • 운영자로 로그인
  • 다음 화면에서 진입 가능
    • [school-instructor-list]
    • [class-assignment]
    • [excel-import-preview]

사용자가 보는 정보

학기 정보

  • 학교명
  • 학기명
    • 예: 2026년 1학기
  • 운영 기간
    • 시작일
    • 종료일

교시 템플릿 정보

  • 교시 템플릿 이름
    • 예: 2026년 1학기 기본 교시표
  • 적용 기간
  • 적용 요일
  • 교시 목록
요일교시명시작 시각종료 시각
화요일늘봄 1교시13:1013:50
화요일늘봄 2교시14:0014:40
화요일늘봄 3교시14:5015:30

사용자가 할 수 있는 행동

  • 학기 추가
  • 운영 기간 수정
  • 교시 템플릿 추가
  • 요일별 교시명과 시간 등록
  • 행 추가·삭제
  • 다른 요일의 교시표 복사
  • 기존 교시표 수정
  • 이미 등록된 수업에 미치는 영향 확인

교시표 변경 규칙

이미 수업이 등록된 교시표를 수정하면 다음 내용을 먼저 보여준다.

이 변경으로 등록된 수업 8건의 실제 시간이 달라질 수 있습니다.

운영자는 다음 중 하나를 선택한다.

  1. 기존 수업의 실제 시간 유지
  2. 새 교시표 시간으로 기존 수업 변경

새 교시표 시간으로 변경하면 모든 영향을 받는 수업을 다시 충돌 검사한다. 공개된 시간표에 영향을 주면 바로 강사 화면을 바꾸지 않고 공개 전 변경으로 둔다.

상태 처리

상태화면 처리
저장 성공2026년 1학기 교시표를 저장했습니다.
빈 상태교시 입력 예시와 첫 교시 추가 버튼 표시
종료가 시작보다 빠름해당 행을 빨간색으로 표시하고 저장 차단
적용 기간 오류운영 기간 밖의 적용 기간이면 저장 차단
적용 범위 중복같은 학교·같은 날짜·같은 요일에 적용할 교시표를 하나로 정할 수 없으면 저장 차단
사용 중인 교시 삭제영향을 받는 수업 수를 보여 주고 수정 방법 안내
충돌 발생변경으로 중복되는 두 수업을 보여 주고 저장 차단

완료 조건

  • 모든 교시의 종료 시각이 시작 시각보다 늦다.
  • 학교·날짜·요일 기준으로 적용할 교시표를 한 가지로 결정할 수 있다.
  • 교시명과 실제 시작·종료 시각이 함께 저장된다.

다음 화면

  • 설정 완료 → [class-assignment]
  • 변경으로 충돌 발생 → [master-timetable]
  • 학교 목록으로 돌아가기 → [school-instructor-list]

5.5 학교별 수업 및 강사 배정 등록 화면 [class-assignment]

목적

운영자가 수업 계획을 한 건씩 직접 등록하고 담당 강사를 배정한다.

진입 조건

  • 학교와 강사가 등록되어 있음
  • 해당 학교의 학기·운영 기간이 등록되어 있음
  • 교시명으로 시간을 정하려면 교시표가 등록되어 있어야 함

사용자가 보는 정보

수업 입력 항목

  • 학교
  • 학기
  • 운영 기간
    • 시작일
    • 종료일
  • 요일
  • 과목
  • 담당 강사
  • 교시명
  • 실제 시작 시각
  • 실제 종료 시각
  • 배정 상태
    • 기본값: 임시 배정

교시명을 선택하면 실제 시작·종료 시각을 자동으로 보여 준다.

예시:

늘봄 2교시 · 14:00~14:40

사용자가 할 수 있는 행동

  • 수업 직접 등록
  • 기존 수업 수정
  • 교시명 선택
  • 실제 시간을 직접 입력
  • 담당 강사 변경
  • 임시 배정으로 저장
  • 충돌 해결
  • 엑셀 양식 다운로드
  • 엑셀 업로드 화면으로 이동

시간 입력 우선순위

  1. 시작·종료 시각을 직접 입력하면 해당 시간을 사용한다.
  2. 실제 시간이 없고 교시명만 있으면 교시표에서 시간을 가져온다.
  3. 교시명과 직접 입력한 시간이 다르면 경고를 표시하고 실제 입력 시간을 사용한다.

경고 문구:

선택한 늘봄 2교시는 14:00~14:40입니다. 현재 입력한 시간은 14:10~14:50입니다. 실제 입력 시간을 사용할지 확인해 주세요.

중복 발생 시 처리

서로 다른 학교의 수업과 겹치면 저장하지 않고 두 수업을 나란히 펼친다.

기존 수업새로 입력한 수업
햇살초등학교새봄초등학교
화요일화요일
14:20~15:0014:00~14:40
창의미술클레이
김미술김미술

안내 문구:

김미술 강사는 같은 시간에 햇살초등학교 수업이 있습니다. 시간 또는 담당 강사를 변경해 주세요.

운영자는 다음 중 하나를 수정한다.

  • 기존 수업의 시간
  • 새 수업의 시간
  • 기존 수업의 담당 강사
  • 새 수업의 담당 강사

같은 학교의 수업끼리 겹치면 다음 선택을 제공한다.

  • 수업 수정
  • 사유를 입력하고 예외 저장

예외 사유는 필수다.

상태 처리

상태화면 처리
저장 성공수업을 임시 배정으로 저장했습니다.
필수값 누락해당 입력란 바로 아래에 구체적인 안내 표시
교시표 없음이 학교의 교시표를 먼저 설정해 주세요.와 이동 버튼 표시
다른 학교 시간 중복저장 차단, 두 수업 비교 화면 표시
같은 학교 시간 중복사유 입력 시 예외 저장 가능
운영 기간 비중복같은 요일과 시간이더라도 정상 저장
저장 중 변경 발생서버 최종 검사 결과를 보여 주고 다시 수정하도록 안내

완료 조건

  • 학교, 학기 또는 운영 기간, 요일, 과목, 강사, 실제 시작·종료 시각이 저장된다.
  • 서로 다른 학교의 동일 강사 시간 중복이 저장되지 않는다.
  • 같은 학교 중복 예외는 사유와 처리 이력이 남는다.

다음 화면

  • 계속 등록 → 현재 화면
  • 엑셀 일괄 등록 → [excel-import-preview]
  • 전체 검토 → [master-timetable]

5.6 엑셀 업로드 확인 및 수정 화면 [excel-import-preview]

목적

운영자가 여러 학교의 수업을 엑셀로 한꺼번에 올리고, 저장 전 오류 행만 수정한다.

진입 조건

  • 학교와 강사가 등록되어 있음
  • 학교별 학기·교시표가 필요한 경우 설정되어 있음
  • [class-assignment]에서 엑셀로 등록 선택

화면 단계

양식 다운로드
→ 파일 업로드
→ 행별 검증
→ 오류 행 수정
→ 최종 확정

엑셀 양식 열

열 이름필수 여부설명
학교명필수등록된 학교명
수업 시작일필수운영 기간 시작일
수업 종료일필수운영 기간 종료일
요일필수월요일~일요일
과목필수방과후·늘봄 수업명
강사명필수등록된 강사명
교시명조건부실제 시간이 없을 때 필수
시작 시각조건부교시명을 사용하지 않을 때 필수
종료 시각조건부교시명을 사용하지 않을 때 필수

교시명 또는 시작 시각·종료 시각 중 하나는 반드시 입력해야 한다.

사용자가 보는 정보

  • 업로드한 파일명
  • 전체 행 수
  • 정상 행 수
  • 경고 행 수
  • 오류 행 수
  • 저장 전 미리보기 표
  • 행별 상태
    • 정상
    • 경고
    • 오류

오류로 처리하는 항목

  • 등록되지 않은 학교명
  • 같은 이름의 강사가 여러 명이어서 자동 연결할 수 없는 경우
  • 등록되지 않은 강사명
  • 교시명과 실제 시간이 모두 비어 있음
  • 시작 시각 또는 종료 시각만 입력됨
  • 종료 시각이 시작 시각보다 빠르거나 같음
  • 학교·학기·요일에 해당 교시명을 찾을 수 없음
  • 운영 종료일이 시작일보다 빠름
  • 서로 다른 학교의 동일 강사 시간 중복
  • 업로드 파일 안에서 발생한 중복
  • 기존 시간표와 업로드 행 사이의 중복

문제 행 수정 방식

오류 행은 빨간색과 아이콘을 함께 사용한다. 색상만으로 오류를 구분하지 않는다.

예시:

상태학교강사시간문제
4오류새봄초김미술비어 있음교시명 또는 실제 시간을 입력해 주세요.
7오류햇살초김미술14:20~15:00새봄초 14:00~14:40 수업과 겹칩니다.
9오류푸른중김미술15:00~15:40같은 이름의 강사가 2명입니다. 강사를 선택해 주세요.

운영자는 표 안에서 직접 다음 항목을 수정할 수 있다.

  • 등록된 학교로 변경
  • 동명이인 강사 중 정확한 강사 선택
  • 교시명 변경
  • 시작·종료 시각 입력
  • 담당 강사 변경
  • 운영 기간 수정

상태 처리

상태화면 처리
업로드 성공읽은 내용을 바로 저장하지 않고 미리보기 표시
모든 오류 해결시간표로 반영 버튼 활성화
오류 남음오류 수와 해당 행을 표시하고 최종 반영 차단
잘못된 파일지정된 엑셀 양식을 사용해 주세요.
빈 파일등록할 수업 행이 없습니다.
시간 형식 오류문자열과 엑셀 시간 형식을 정리한 뒤 해석할 수 없는 행만 오류 표시
최종 반영 성공{정상 행 수}건을 임시 배정으로 등록했습니다.
최종 저장 중 충돌최신 시간표 기준으로 다시 검사하고 새로 발견된 충돌 표시

완료 조건

  • 업로드 파일은 임시 데이터로만 먼저 읽는다.
  • 저장 차단 오류가 모두 해결되기 전에는 실제 시간표에 반영하지 않는다.
  • 반영되는 모든 수업은 다시 서버 충돌 검사를 통과한다.
  • 성공한 수업은 임시 배정 상태로 저장된다.

다음 화면

  • 오류 수정 계속 → 현재 화면
  • 등록 완료 → [master-timetable]
  • 학교 또는 교시표 추가 필요 → [school-instructor-list] 또는 [school-term-period-settings]

5.7 전체 시간표와 중복 배정 경고 화면 [master-timetable]

목적

운영자가 전체 학교의 수업 배정을 검토하고, 충돌을 해결한 뒤 확정 시간표를 강사에게 공개한다.

진입 조건

  • 한 건 이상의 수업이 등록되어 있음
  • 운영자로 로그인
  • [class-assignment]에서 전체 시간표 확인 선택

사용자가 보는 정보

상단 요약

  • 선택한 학기
  • 전체 수업 수
  • 임시 배정 수
  • 확정 시간표 수
  • 공개된 수업 수
  • 공개 전 변경 수
  • 같은 학교 중복 예외 수

필터

  • 학교
  • 강사
  • 요일
  • 배정 상태
  • 공개 상태
  • 과목

시간표 표시 항목

  • 학교
  • 요일
  • 교시명
  • 실제 시간
  • 과목
  • 담당 강사
  • 운영 기간
  • 배정 상태
  • 공개 상태
  • 예외 여부

표시 예시:

새봄초등학교
화요일 · 늘봄 2교시 · 14:00~14:40
창의미술 · 김미술
2026.03.02~2026.07.17

사용자가 할 수 있는 행동

  • 학교별·강사별 시간표 보기
  • 수업 한 건 수정
  • 담당 강사 변경
  • 시간 변경
  • 충돌 재검사
  • 겹치는 수업 나란히 보기
  • 같은 학교 중복 예외 사유 보기
  • 임시 배정을 확정 시간표로 변경
  • 선택한 학교·학기의 시간표 공개
  • 공개 전 변경 내용 공개

중복 수업 현장 수정

수정 중 중복이 발생하면 기존 값은 유지하고 오른쪽에 해결 영역을 연다.

김미술 강사의 화요일 수업이 겹칩니다.

[수업 A]
새봄초등학교
늘봄 2교시 · 14:00~14:40
창의미술

[수업 B]
햇살초등학교
3교시 · 14:20~15:00
클레이

각 수업 아래에 다음 행동을 제공한다.

  • 이 수업 시간 바꾸기
  • 이 수업 강사 바꾸기

서로 다른 학교이면 예외 저장 버튼을 제공하지 않는다.

시간표 공개

공개 전에 다음 내용을 확인한다.

  • 저장되지 않은 시간 중복이 없음
  • 모든 수업에 학교가 연결됨
  • 모든 수업에 강사가 연결됨
  • 실제 시작·종료 시각이 있음
  • 운영 기간이 올바름

공개 확인 문구:

선택한 시간표를 강사에게 공개합니다. 공개 후 변경하면 해당 강사에게 변경 알림이 전송됩니다.

공개 시 다음 정보를 남긴다.

  • 공개본 식별값
  • 공개한 운영자
  • 공개 시각
  • 공개 범위
  • 공개 당시 수업 내용

공개 후 변경

운영자가 공개된 수업을 바꾸면 상태를 공개 전 변경으로 둔다.

변경 내용 공개를 선택하면 다음을 처리한다.

  1. 공개 전후 값을 비교한다.
  2. 영향을 받는 강사를 찾는다.
  3. 강사 개인 시간표를 최신 내용으로 바꾼다.
  4. 강사별 알림을 한 번씩 생성한다.
  5. 변경한 운영자와 변경 시각을 남긴다.

담당 강사가 바뀌면 기존 강사와 새 강사 모두에게 알린다.

상태 처리

상태화면 처리
검토 완료시간 중복이 없습니다. 시간표를 확정할 수 있습니다.
빈 상태등록된 수업이 없습니다.와 등록 버튼 표시
편집 중 충돌저장 차단 후 두 수업 비교 영역 표시
같은 학교 예외예외 저장됨 표시와 사유 조회 제공
확정 성공선택 범위를 확정 시간표로 변경
최초 공개 성공시간표를 공개하고 해당 강사에게 알림을 보냈습니다.
변경 공개 성공변경된 강사 수와 수업 수 표시
공개 실패기존 공개본 유지, 재시도 안내
권한 오류수정·공개 차단

완료 조건

  • 서로 다른 학교의 동일 강사 시간 중복이 없다.
  • 확정 시간표의 필수 정보가 모두 입력되어 있다.
  • 공개 시점의 시간표를 구분할 수 있다.
  • 변경 알림이 같은 공개 작업에서 강사별로 중복 생성되지 않는다.

다음 화면

  • 새 수업 추가 → [class-assignment]
  • 교시표 수정 → [school-term-period-settings]
  • 강사 초대 → [school-instructor-list]
  • 공개 완료 → 운영자 홈 [operator]

5.8 강사 로그인 및 초대 연결 화면 [instructor-login-invite]

목적

초대받은 강사가 계정을 만들거나 로그인하고, 업체가 등록한 자신의 강사 정보와 연결한다.

진입 조건

  • 운영자가 강사 초대 링크를 생성함
  • 강사가 유효한 초대 링크를 엶
  • 또는 연결되지 않은 상태로 강사 시간표에 접근함

사용자가 보는 정보

  • 초대한 위탁업체명
  • 연결될 강사명
  • 초대 유효 상태
  • 계정 만들기
  • 기존 계정 로그인

안내 문구:

방과후 운영 한눈에에서 개인 시간표를 확인할 수 있도록 초대받았습니다.

사용자가 할 수 있는 행동

  • 이메일과 비밀번호로 계정 만들기
  • 기존 계정으로 로그인
  • 표시된 업체와 강사 정보 확인
  • 내 강사 정보와 연결 선택

강사가 목록에서 다른 강사 이름을 직접 고르게 하지 않는다. 초대 링크에 연결된 강사 식별값만 사용한다.

상태 처리

상태화면 처리
연결 성공계정 연결이 완료되었습니다. 후 개인 시간표로 이동
이미 연결됨바로 개인 시간표로 이동
만료된 초대초대 링크가 만료되었습니다. 운영자에게 새 링크를 요청해 주세요.
잘못된 초대업체명과 강사명을 노출하지 않고 접근 차단
다른 계정에 연결됨중복 연결 차단 후 운영자 문의 안내
로그인 실패입력값 확인 안내

완료 조건

  • 강사 계정과 업체의 강사 정보가 일대일로 연결된다.
  • 강사는 다른 강사의 시간표와 알림에 접근할 수 없다.
  • 연결 상태가 운영자의 강사 목록에 반영된다.

다음 화면

  • 연결 완료 → [instructor-timetable]
  • 초대 오류 → 운영자에게 새 초대 링크 요청

확인 필요: 첫 버전의 최소 방식은 운영자가 초대 링크를 생성해 복사하는 것이다. 서비스가 이메일로 자동 발송할지는 별도 확정이 필요하다.


5.9 강사 개인 화면 [instructor]

목적

강사가 로그인 후 자신의 오늘 일정과 확인하지 않은 알림을 빠르게 파악한다.

진입 조건

  • 강사 계정으로 로그인
  • 업체의 강사 정보와 계정 연결 완료

사용자가 보는 정보

  • 강사명
  • 업체명
  • 오늘 수업
  • 다음 수업
  • 읽지 않은 알림 수
  • 내 시간표 보기
  • 알림함 보기

오늘 수업 카드에는 다음 정보를 표시한다.

  • 학교
  • 교시명
  • 실제 시간
  • 과목

사용자가 할 수 있는 행동

  • 내 시간표로 이동
  • 알림함으로 이동
  • 로그아웃

강사는 시간표를 직접 수정하거나 다른 강사의 일정을 볼 수 없다.

상태 처리

상태화면 처리
오늘 수업 있음시간순으로 수업 카드 표시
오늘 수업 없음오늘 예정된 수업이 없습니다.
공개된 시간표 없음아직 공개된 시간표가 없습니다. 운영자가 공개하면 여기에서 확인할 수 있습니다.
읽지 않은 알림 있음알림 수와 최근 변경 요약 표시
오류새로고침 안내

완료 조건

강사가 두 번 이내의 선택으로 개인 시간표나 알림함에 접근할 수 있다.

다음 화면

  • [instructor-timetable]
  • [instructor-notifications]

첫 버전에는 지급 예정액을 표시하지 않는다.


5.10 강사 개인 시간표 화면 [instructor-timetable]

목적

강사가 자신에게 공개된 학교, 요일, 교시, 과목을 직접 확인한다.

진입 조건

  • 강사 계정 연결 완료
  • 강사로 로그인
  • 운영자가 한 건 이상의 시간표를 공개함

사용자가 보는 정보

  • 학기 선택
  • 요일별 개인 시간표
  • 학교명
  • 교시명
  • 실제 시작·종료 시각
  • 과목
  • 운영 기간
  • 최근 공개 또는 변경 시각

예시:

화요일

새봄초등학교
늘봄 2교시 · 14:00~14:40
창의미술
운영 기간 2026.03.02~2026.07.17

알림에서 이동한 경우 변경된 수업을 잠시 강조한다.

사용자가 할 수 있는 행동

  • 학기 변경
  • 요일별 시간표 확인
  • 수업 상세 내용 펼치기
  • 알림함으로 이동

수정, 삭제, 다른 강사 일정 조회 기능은 제공하지 않는다.

상태 처리

상태화면 처리
시간표 있음요일과 시간순으로 표시
공개 전 임시 배정만 있음강사에게 표시하지 않음
공개된 수업 없음아직 공개된 시간표가 없습니다.
배정에서 제외됨해당 수업을 시간표에서 제거하고 변경 알림으로 안내
권한 오류다른 강사의 시간표를 열 수 없음
불러오기 오류마지막 내용을 사실처럼 표시하지 않고 재시도 안내

완료 조건

  • 강사는 공개된 최신 시간표만 본다.
  • 학교, 요일, 교시명, 실제 시간, 과목을 한 카드에서 확인할 수 있다.
  • 다른 강사 정보는 응답 내용에도 포함하지 않는다.

다음 화면

  • 알림 확인 → [instructor-notifications]
  • 홈 → [instructor]

5.11 강사 알림함 화면 [instructor-notifications]

목적

강사가 시간표 최초 공개와 변경 내용을 모아서 확인한다.

진입 조건

  • 강사 계정 연결 완료
  • [instructor] 또는 [instructor-timetable]에서 알림함 선택

알림 종류

첫 버전에서는 두 가지 시간표 알림만 제공한다.

  1. 시간표 최초 공개
  2. 공개된 시간표 변경

서류 알림과 정산 알림은 제공하지 않는다.

사용자가 보는 정보

  • 읽지 않은 알림 수
  • 알림 발생 시각
  • 변경한 업체
  • 변경된 학교
  • 요일
  • 교시명
  • 실제 시간
  • 과목
  • 변경 전후 내용
  • 읽음 여부

알림 예시

최초 공개

2026년 1학기 시간표가 공개되었습니다.
새봄초등학교 · 화요일 · 늘봄 2교시 · 14:00~14:40 · 창의미술

시간 변경

새봄초등학교 수업 시간이 변경되었습니다.
변경 전: 화요일 늘봄 2교시 · 14:00~14:40
변경 후: 화요일 늘봄 3교시 · 14:50~15:30

담당 제외

햇살초등학교 클레이 수업의 담당 강사가 변경되어 내 시간표에서 제외되었습니다.

사용자가 할 수 있는 행동

  • 알림 열기
  • 읽음 처리
  • 변경된 개인 시간표로 이동
  • 읽은 알림과 읽지 않은 알림 구분

알림 생성 규칙

  • 한 번의 공개 작업에서 한 강사에게 같은 알림을 중복 생성하지 않는다.
  • 여러 수업이 함께 바뀌면 하나의 알림에 변경 목록을 묶을 수 있다.
  • 담당 강사가 바뀌면 기존 강사와 새 강사 모두에게 알린다.
  • 알림을 열면 읽음 시각을 저장한다.
  • 알림에서 시간표로 이동하면 관련 수업을 강조한다.

상태 처리

상태화면 처리
알림 있음최신 알림부터 표시
빈 상태아직 받은 알림이 없습니다.
이미 삭제된 배정변경 당시 내용을 알림에서 계속 확인 가능
시간표 이동 가능현재 개인 시간표의 관련 위치로 이동
권한 오류다른 강사의 알림 접근 차단
오류읽음 처리를 임의로 완료하지 않고 다시 시도 안내

완료 조건

  • 시간표 공개·변경 시 영향을 받는 강사에게 알림이 한 번 생성된다.
  • 알림에 변경된 학교, 요일, 교시명, 실제 시간, 과목, 변경 시각이 포함된다.
  • 읽음 여부와 읽은 시각을 확인할 수 있다.

다음 화면

  • 알림 선택 → [instructor-timetable]
  • 강사 홈 → [instructor]

6. 핵심 사용자 흐름

흐름 1. 대표가 처음 업체를 시작하는 경우

[admin-login-start]
업체 계정 만들기
→ [school-instructor-list]
학교 등록
→ [school-term-period-settings]
학교별 학기·교시표 설정
→ [school-instructor-list]
강사 등록
→ [class-assignment]
수업 배정 시작

완료 기준

  • 업체가 생성되어 있다.
  • 한 곳 이상의 학교가 등록되어 있다.
  • 학교의 학기와 교시표가 등록되어 있다.
  • 한 명 이상의 강사가 등록되어 있다.

흐름 2. 수업을 한 건씩 직접 등록하는 경우

[class-assignment]
학교·학기 선택
→ 운영 기간·요일·과목 입력
→ 교시명 또는 실제 시간 입력
→ 담당 강사 선택
→ 시간 중복 검사
→ 임시 배정 저장
→ [master-timetable]
전체 시간표 검토

중복이 없을 때

  • 수업을 임시 배정으로 저장한다.

서로 다른 학교와 중복될 때

  • 저장을 막는다.
  • 겹치는 두 수업을 나란히 보여 준다.
  • 시간 또는 강사를 바꾼다.
  • 다시 검사한 후 저장한다.

같은 학교 안에서 중복될 때

  • 수업을 수정하거나 예외 사유를 입력한다.
  • 예외로 저장하면 처리 이력을 남긴다.

흐름 3. 엑셀로 일괄 등록하는 경우

[class-assignment]
엑셀 양식 다운로드
→ 양식 작성
→ [excel-import-preview]
파일 업로드
→ 행별 오류 확인
→ 빨간색 오류 행만 수정
→ 전체 재검사
→ 시간표로 반영
→ [master-timetable]
전체 시간표 검토

완료 기준

  • 등록되지 않은 학교명이 없다.
  • 동명이인 강사가 정확한 강사 정보와 연결되어 있다.
  • 모든 수업에 교시명 또는 실제 시간이 있다.
  • 종료 시각이 시작 시각보다 늦다.
  • 서로 다른 학교의 동일 강사 시간 중복이 없다.
  • 모든 행이 임시 배정으로 정상 반영된다.

흐름 4. 전체 시간표를 확정하고 공개하는 경우

[master-timetable]
학교·학기 선택
→ 시간표 전체 검사
→ 충돌 또는 누락 수정
→ 확정 시간표로 변경
→ 공개 범위 확인
→ 시간표 공개
→ 강사 알림 생성
→ [instructor-timetable]
강사 개인 시간표 표시

공개 완료 기준

  • 저장 차단 시간 중복이 0건이다.
  • 모든 공개 수업에 학교, 강사, 과목, 요일, 실제 시간이 있다.
  • 공개본 식별값과 공개 시각이 저장된다.
  • 영향을 받는 강사에게 최초 공개 알림이 생성된다.

흐름 5. 공개된 시간표를 바꾸는 경우

[master-timetable]
공개된 수업 선택
→ 시간 또는 강사 변경
→ 충돌 재검사
→ 공개 전 변경으로 저장
→ 변경 전후 내용 확인
→ 변경 내용 공개
→ 해당 강사 알림 생성
→ [instructor-notifications]
강사가 변경 내용 확인
→ [instructor-timetable]
최신 시간표 확인

담당 강사가 바뀐 경우

  • 기존 강사에게 내 시간표에서 제외됨 알림을 보낸다.
  • 새 강사에게 새 수업이 추가됨 알림을 보낸다.
  • 두 강사의 개인 시간표를 각각 최신 상태로 바꾼다.

흐름 6. 강사가 초대받아 시간표를 확인하는 경우

[school-instructor-list]
운영자가 강사 초대 링크 생성
→ [instructor-login-invite]
강사가 가입 또는 로그인
→ 강사 정보 연결
→ [instructor]
강사 홈
→ [instructor-timetable]
개인 시간표 확인
→ [instructor-notifications]
변경 알림 확인

완료 기준

  • 강사 계정이 정확한 강사 정보와 연결된다.
  • 강사는 자신에게 공개된 시간표만 확인한다.
  • 다른 강사의 일정과 알림에는 접근할 수 없다.

7. 핵심 저장 정보

구분주요 정보
업체업체 식별값, 업체명
운영자계정 식별값, 업체 식별값, 이름, 로그인 정보
학교학교 식별값, 업체 식별값, 학교명, 학교 구분
강사강사 식별값, 업체 식별값, 이름, 연락처, 계정 연결 상태
학기학교, 학기명, 운영 시작일·종료일
교시 템플릿학교, 적용 기간, 요일, 교시명, 시작·종료 시각
수업 계획업체, 학교, 학기, 운영 기간, 요일, 교시명, 실제 시간, 과목, 강사, 상태
중복 예외관련 수업, 사유, 처리 운영자, 처리 시각
공개본공개 범위, 공개본 식별값, 공개 운영자, 공개 시각
알림강사, 알림 종류, 변경 전후 내용, 생성 시각, 읽음 시각
엑셀 등록 작업업로드 행, 연결 후보, 행별 검증 결과, 최종 반영 여부

모든 시간은 한국 표준시를 기준으로 저장하고 표시한다.


8. 첫 버전 전체 완료 조건

첫 버전은 다음 조건을 모두 충족해야 완료로 본다.

  • 운영자가 업체 계정을 만들 수 있다.
  • 학교와 강사를 등록·수정할 수 있다.
  • 학교별 학기, 운영 기간, 교시명, 실제 시작·종료 시각을 설정할 수 있다.
  • 수업을 화면에서 한 건씩 등록·수정할 수 있다.
  • 지정 엑셀 양식을 내려받고 업로드할 수 있다.
  • 엑셀 내용을 저장 전에 표로 확인할 수 있다.
  • 문제가 있는 행만 빨간색으로 표시하고 화면에서 수정할 수 있다.
  • 등록되지 않은 학교, 동명이인 강사, 비어 있는 시간 등을 검출한다.
  • 실제 시간과 운영 기간을 기준으로 동일 강사의 중복을 검사한다.
  • 서로 다른 학교의 시간 중복은 저장을 차단한다.
  • 겹치는 두 수업을 나란히 보고 한쪽을 수정할 수 있다.
  • 같은 학교의 시간 겹침은 사유를 남긴 경우에만 예외 저장할 수 있다.
  • 충돌 검사를 통과한 시간표를 확정하고 공개할 수 있다.
  • 강사가 초대 링크로 계정을 연결할 수 있다.
  • 강사는 자신의 공개된 시간표만 확인할 수 있다.
  • 최초 공개와 공개 후 변경 시 서비스 안 알림함에 알림이 생성된다.
  • 공개 후 변경 전에는 강사에게 기존 공개본이 유지된다.
  • 업체별 정보가 서로 섞이지 않는다.
  • 민감한 서류 원본과 서류 상태 정보는 첫 버전에 저장하지 않는다.

9. 확인 필요 항목

  • 서비스 로고와 대표 색상
  • 운영자 추가 계정 초대 지원 여부
  • 강사 초대 링크의 유효기간
  • 초대 링크 자동 이메일 발송 여부
  • 지원할 엑셀 파일 형식 범위
  • 학교 유형 외에 주소·담당자 정보를 첫 버전에 포함할지 여부
  • 단축수업용 교시 템플릿을 첫 버전에서 어느 범위까지 지원할지 여부
  • 휴강·보강·격주 수업과 수업 회차 관리는 후속 버전에서 별도 확정
  • 학교 간 이동시간 부족 경고는 후속 버전에서 기준 확정
  • 직전 학기 복사 기능은 후속 버전에서 제공 여부 확정
화면과 사용 흐름 — 방과후·늘봄 강사 배정 관리 서비스 | Prometheon