차시(CCC) 구조

1. 콘텐츠 전달 방식 As-Is / To-Be

As-Is (Feed)

*SM(스터디모듈) *SU(스터디유닛) *SA(스터디액티비티) *R(레플리카)
콘텐츠 전달 방식 (@현영 유 TODO: 단계별 시나리오별 구조 그림 그리기)
그룹에 커리큘럼 가져오기
CMS의 CC(커리큘럼)에서 RCC(레플리카 커리큘럼)를 생성하고 Group 에 연결
다양한 피드 발송 방식으로 피드 발송 (자동발송, 예약발송, 직접발송 등)
Feed(피드)는 Group(그룹)에 연결
유저와 Feed(피드)의 연결은 FeedUser(관계) 역할
일정관리(캘린더)에서 유저 한명한명을 설정해서 피드를 수정하고 삭제하는 피드는 Feed 가 아니라 FeedUser
Feed 는 SMI 와 연결된다. (실제는 여러개의 SMI 연결을 염두해두어서 빨간색으로 별도 표시. 신경X)
SMI-SUI-SAI 계층을 가지며 각각은 User 와도 직접적으로 연결 (SUI/SAI 는 그림에서 생략)
SMI는 그룹에 연결된 RCC의 RSM과 연결되어 있다.
Feed 는 DueDate (날짜) 즉, 특정 날짜 하루에 귀속되게 되어있다. (학생 화면: 오늘의 미션)
피드 구조 특징 (@현영 유 TODO: 구조화해서 정리)
Feed 로 전달되는 시점에 RSM 을 참조하나 RCC 구조랑 상관없이 구성된다.
똑같은 피드, 부분집합 피드 등을 여러번 같은 날짜로 보내는 등의 장점
RCC 구조가 어떻게 바뀌든 영향을 받지 않고 피드 발송 이후 독립적으로 동작
RCC 구조 변화에 학생의 구조도 변경을 바로 해야하는 요구사항이 있다면 (ex: AIDT 수업설계지원) 이 구조에서는 불가능에 가깝다.
*피드의 SMI 구조가 RCC의 RSM 등의 구조와 동일하다고 담보할 수 없기 때문
대시보드나 커리큘럼에 연결된 데이터 분석을 위해서 RCC 구조를 재조합해줘야하는 파이프라인 구현이 필수적 (단점)
DueDate 가 명확히 지정
Feed 로 갔을때부터 모든 학습 활동이 날짜에 귀속되는 단점
DueDate 가 명확히 지정되기 때문에 완료율, 정답율 등 어떤 기준이 되는 데이터를 쉽게 계산 가능 (장점)
DC/RDC 는 데일리 커리큘럼인데, 실제 콘텐츠 전달시 날짜별 커리큘럼 구성이라는 해당 구성이 제대로 활용되지 않는다. (단점)
때문에, 챕터의 느낌으로 분리가 되고 DueDate 라는 제약이 있어 SM 분할, 합치기 등의 복잡한 피드 구성 기능이 구현됨

To-Be (CCC)

*CCC(기존 RCC를 대체) *CDC(기존 RDC를 대체, CDC는 가칭이므로 이름이 바뀔 수 있음. 수업 구성의 차시를 뜻함)
콘텐츠 전달 방식 (@현영 유 TODO: 단계별 시나리오별 구조 그림 그리기)
그룹에 커리큘럼 가져오기 ⇒ 수업(커리큘럼) 설계 및 등록
CMS의 CC에서 CCC를 생성하고 Group 에 연결
Group - CCC 연결 즉시, Group 에 있는 모든 User 들과 콘텐츠 관계 연결
CDC(차시) 밑에 존재하는 RSM 에 각 유저마다의 SMI(하위 동일)이 생성되고 User 랑 모두 연결된다. (피드 대신 CCCUser 가 추가되는게 가장 큰 핵심)
특정 날짜나 피드 전달 방식이 아닌 커리큘럼 그대로 연결됨
CCC 연결 구조 특징 (@현영 유 TODO: 구조화해서 정리)
CCC - CDC(차시)- 하위 모든 구조랑 User 가 강하게 연결된다.
똑같은 SMI (asis: 피드) 를 한번 더 보낸다거나 부분 SMI를 구성해서 다시 보낸다거나 하는 등의 자율성이 제한된다. (콘텐츠 자체를 보내는건 불가능하지 않으나 CCC 구성은 Group 과 통일되어야 하기 때문에 제약이 있음)
CDC(차시) 하위 모든 구조의 수정시 바로 User 와 연결 수정이 가능하여 CCC 수정에(ex: AIDT 수업설계지원) 유연하여, 그룹에 여러 유저가 있을때 선생님의 한번의 컨트롤로 여러 유저의 콘텐츠에 수정을 가할 수 있다.
*RSM 기준 (RSU, RSA 다 동일하다.)
삭제 - RSM 하나 삭제시 아래 모든 SMI 가 삭제가 된다.
수정 - RSM 하나 수정시 아래 모든 SMI 가 수정된다. (참조일때)
추가 - RSM 하나 추가가 되면 기존 CCC 추가 처럼 SMI 를 만들고 유저 관계를 만들면 된다.
DueDate 를 강제하지 않는다.
CDC(차시)에 DueDate 가 들어갈 수 있다.
DueDate가 필수가 아니기 때문에, 모든 콘텐츠를 첫번째 차시(1-CDC)부터 마지막 차시(last-CDC)까지 접근이 가능하다.
공개 상태 여부를 통해 진도 이후의 차시 접근이나 액션을 통제할 수 있다.
비공개
읽기전용(미리보기)
공개
예시) 교과서는 모든 차시가 읽기전용이었다가 해당 수업이 되면 정해진 수업 시간표에 따라 자동으로(또는 수동으로) 공개로 바뀔 수 있다.
오늘 수업이라는 것을 정의하기 어렵다. ((단점))
CDC(차시)에 DueDate 가 들어가도 꼭 그만큼 진도가 안갈수도 있기 때문.
CDC(차시)의 유의미
커리큘럼도 차시의 순서로 정렬되기 때문에 기존 RDC 보다 훨씬 유의미하다. (대시보드 등의 활용에서)
굳이 합치기나 분리를 할 필요없이 그냥 해당하는 콘텐츠를 접근하면 된다.
*현재 차시 요구사항에서는 일정관리(캘린더) 기능이 필요 없어진다.
*추천 발송 등 기존 피드 구조를 이용한 발송 구조는 아래 유즈케이스 참고

2. CCC 구조를 통한 AIDT 유즈케이스 구현 (*구조 그림 추가 논의 필요, TODO: @훈 김 님이 UML 추가하기)

*몇가지 구조

CCC의 Main 과 Sub

Main
예시
검인정 대상이 되는 교과서 콘텐츠 (수업에서 활용)
Sub
예시
교과서 콘텐츠에서 발송된 오답, 추천, 숙제, 복습 등의 콘텐츠
Main Sub 연결 관계에 대한 논의 (미정) @훈 김

CDC 의 DueDate 와 공개 상태

CDC 는 시작날짜, 종료날짜를 가질 수 있다.
기존에는 종료날짜만 있었지만, 시작날짜~종료날짜 필요 (Range, Start~End Date)
학생의 오늘 해야 할 일에 Start~End 에 들어와있는 CDC 는 모두 표시 될수 있다.
날짜에 따라 공개 상태 여부가 달라 질 수 있다. (아래는 예시)
교과서
읽기 전용 → (수업 시작시) 공개 → (선택: 수업종료시) 읽기 전용
숙제
(발송시) 공개 → (마감날짜 이후) 읽기전용

*오늘 수업 정의하기 (대시보드/지식태그에서 필수 개념)

하나의 그룹(학습)에서 수업 시간표 상(시작,종료시각 +-10min) 그 시간 내에 일어난 N 명 이상(N% 이상) 수행한 SA/SU/SM
→ 보완할 수 있는 장치는 필요

Usecase 1. CCC에 기존 CDC(차시) 내 또는 새로운 CDC 추가

(메인 수업에서 보통 활용)
메인 교과서 커리큘럼 CCC
공통으로 시행되는
진단평가 (SU 타입으로 풀 수 있음)
형성평가
⇒ CDC 가 기존에 존재할수도 새로 생성될 수도 있음
수업 중에 같이 풀어볼만한 문제(SA 또는 SU 또는 SM 또는 차시)를 추가하는 유즈케이스
그룹에 있는 모든 유저가 공통된 콘텐츠를 소비한다면 1번 유즈케이스에 해당될 수 있다.

Usecase 2. 하나의 트리거로 각 유저의 CCC에게 새 CDC 를 만들어서 (서로 다른) 콘텐츠를 보내는 경우

(메인 수업 외)
숙제 (선생님이 보낸 것)
숙제는 콘텐츠가 같으나 다른 CCC 로 관리되어 별도로 대시보드를 볼 수 있게 제공
ex: 학급 숙제 대시보드
AI 추천, 오답, 재풀이 등 (기계가 추천해서 선생님이 보낸 것)
학생 각각에게 서로 다른 콘텐츠를 보내는 경우
진단 평가 이후 각 학생마다 맞춤형 학습 콘텐츠를 발송. 형성 평가 이후 각 학생에게 오답을 한번 더 발송 등
스스로에게 보내기(자습 self-study) 등도 같은 케이스 (학생이 보낸 것)
해당 유즈케이스는 대체로 다른 CCC 에서 발현되는 경우가 많은데, 이때 CDC 끼리 연결 관계를 가지게 한다. (어떤 차시의 어떤 문제에서 해당 차시의 문제가 발송/연결되었는지에 대한 맥락 연결 필요)
+ 트리거(Assignmenet)
발송시 생성되는 트리거
콘텐츠 전달 이후 어떻게 볼지? - 데이터팀?

Action Item

*트리거를 어떻게 묶을지, 숙제, 추천 등의 플래그를 어떻게 @훈 김 → Assignment
*추후에 밀당PT와 연결성을 고려하면 Feed 로 연결 확장되어야 함.
*수업 중에 SA 를 가져올때 지식 태그 속성으로 자동으로 추천?
*CCC 수업 설계?