10張圖詳解“課程配置”模塊

0 評論 5835 瀏覽 44 收藏 15 分鐘

現(xiàn)在知識授課的形式已經(jīng)變得更加多樣化,比如線上授課這一方式就已經(jīng)十分常見,那么線上課程管理系統(tǒng)應(yīng)該如何搭建?在基本的“課程配置”模塊,設(shè)計人員要注意哪些細(xì)節(jié)事項?本篇文章里,作者就針對在線課程管理系統(tǒng)的課程配置模塊進行了設(shè)計拆解,一起來看。

互聯(lián)網(wǎng)時代,越來越多的課程和培訓(xùn)從線下轉(zhuǎn)移到了線上,線上課程較于線下課程的弊端在于無法根據(jù)學(xué)員的實際學(xué)習(xí)情況實時的調(diào)整課程的內(nèi)容和講授方式;而對比線下課程,線上課程確能為學(xué)員提供更靈活的學(xué)習(xí)時間選擇,也能讓內(nèi)容提供方無限擴大內(nèi)容的影響范圍從而獲得更多收益。那么如何搭建一套在線課程管理系統(tǒng)呢?

今天我們來詳細(xì)拆解一下課程管理模塊如何設(shè)計。

一、基本邏輯梳理

1. 從線下課程說起

在學(xué)生時代,我們會在學(xué)校學(xué)習(xí)語文、數(shù)學(xué)、英語等不同的學(xué)科;根據(jù)年級學(xué)習(xí)的側(cè)重點,學(xué)校會安排每個學(xué)科每天實際的上課計劃,直觀來講就是“課表”。

老師在實際講課的過程中,又會根據(jù)老師自己的經(jīng)驗有自己的一套教學(xué)環(huán)節(jié),比如語文課上課前5分鐘先讀一遍新課文、或者數(shù)學(xué)老師在課堂最后10分鐘安排隨堂測試等;在學(xué)期結(jié)束時,每個學(xué)科還會安排期末測試,以檢驗學(xué)習(xí)效果;測試的試卷會由不同類型和分值的試題組成,比如選擇題每題5分、填空每題10分、問答每題20分等等……

根據(jù)以上的場景,我們可以梳理出線下課程的基本結(jié)構(gòu)如下圖,為了將線下課程線上化,線上課程也同樣需要能夠支持這樣的基本結(jié)構(gòu):

2. 因地制宜的調(diào)研

課程管理模塊用于對課程結(jié)構(gòu)和內(nèi)容進行配置,即教研人員會在這個模塊配置供用戶學(xué)習(xí)的課程,根據(jù)商業(yè)模式不同、學(xué)科不同、教學(xué)風(fēng)格不同,每個公司需要的課程模塊也不盡相同。

想要確定課程的結(jié)構(gòu)體系,就需要先和教研團隊確認(rèn)課程的實際情況,即從校驗團隊的教學(xué)大綱中提煉課目、課程、各種類型和結(jié)構(gòu)等需要在系統(tǒng)上實現(xiàn)的關(guān)鍵信息,這里筆者提供幾個調(diào)研的角度:

3. 梳理中要注意的點

雖然產(chǎn)品的基本要求是會畫原型,但是筆者認(rèn)為產(chǎn)品最大的工作量在于對需求的充分理解,只有從背景、干系人、業(yè)務(wù)場景、可能出現(xiàn)的異常等多方面對需求有了理解,才能做到“胸有成竹”的去將想法落實到原型文檔上。因此在對教研系統(tǒng)背景的梳理中,除了按照教研大綱梳理課程結(jié)構(gòu)以外,應(yīng)該注意以下點:

  • 需求背景:需求處于什么階段?需要多久上線使用?MVP是什么?這關(guān)系到產(chǎn)品設(shè)計范圍的控制,如果需求非常緊急,可以接受敏捷的方式實現(xiàn),則可以粗略設(shè)計系統(tǒng)的結(jié)構(gòu),而將部分必須功能精細(xì)設(shè)計;
  • 干系人:上文中,我們說明了課程相關(guān)的邏輯梳理,但是實際的使用場景中可能不是教研團隊配置課程,誰來配置課程?課程是否有人審核?線上課程有問題的反饋給誰?這涉及到配置流程和角色權(quán)限的管理;
  • 業(yè)務(wù)場景:梳理的結(jié)果應(yīng)該能夠滿足實際的業(yè)務(wù)場景,可以通過流程圖反饋給干系人,在產(chǎn)品文檔撰寫之前確認(rèn)好設(shè)計的基本方向。

二、基本功能設(shè)計

通過調(diào)研和梳理,我們可以整理出一套基礎(chǔ)的課目結(jié)構(gòu),并針對整理出的課程結(jié)構(gòu)分析相應(yīng)的落地實現(xiàn)方案,用英語課程的結(jié)構(gòu)為例:

1. 科目設(shè)計

如果我們的業(yè)務(wù)場景如上圖一樣,是確定數(shù)量的課目,那么課目就可以直接作為一個確定(不需要擴展)的類型去設(shè)計。

但是如果是一個復(fù)雜的知識性平臺(例如得到),平臺內(nèi)包含了多種多樣的科目,那就需要對先對課目進行管理,將課目首先設(shè)計成一個可供擴展的類型。

科目具體是否需要進行管理,還有一個很重要的一個判斷依據(jù)是:它是否會作為用戶端的一個篩選類型,直觀來講就是科目是否作為課程類型供用戶在APP或者網(wǎng)頁上進行篩選,如果需要則需要對科目類型進行單獨的配置管理,甚至要做多層關(guān)聯(lián)性的配置管理,例:

2. 課程設(shè)計

1)設(shè)計順序

課程作為一個單獨的學(xué)習(xí)內(nèi)容組,是每日課程的一個綜合體。對外,它需要承載向用戶解釋說明課程內(nèi)容的作用;對內(nèi),它需要對下屬的日課程進行配置和管理。

這里筆者建議先設(shè)計單節(jié)課程的配置頁面,再進行課程列表頁進行設(shè)計,因為列表頁可以視作對課程統(tǒng)一信息的一個整體展示,即每個列表字段代表了一個課程的核心要素,這個要素應(yīng)該是每個課程都包含的、典型的、重要的,而提煉這些字段需要對每種課程的要素進行抽象,那么先對單個課程的配置進行梳理,并在梳理中發(fā)現(xiàn)每個字段的屬性,就可以順利的對列表的字段進行提煉。

2)單個課程

單個課程應(yīng)該包含兩個大的結(jié)構(gòu):基本信息、課程內(nèi)的單個課程(每節(jié)課)。

基本信息會用于前端用戶的展示策略:用戶需要從圖標(biāo)、課程名、課程簡介對課程有一個初步的了解;所屬科目和課程標(biāo)簽還可用于前端的欄目管理或用戶內(nèi)容篩選的依據(jù);預(yù)計課數(shù)用于讓用戶提前了解課程的數(shù)量情況,為用戶提供學(xué)習(xí)選擇的依據(jù)。

課程內(nèi)的單個課程,即課程下屬的實際課程,需要為系統(tǒng)提供實際上課時的元素,比如上課中用于講解課程內(nèi)容的視頻、用戶可以下載來自己預(yù)習(xí)復(fù)習(xí)的課件,以及學(xué)習(xí)完成后的課后測試等。因為課程是很多單個的課組成的,所以還需要支持對于下屬課程的增刪和順序調(diào)整的功能。

3)課程列表

完成了單個課程配置的設(shè)計后,我們回過頭來看課程列表的設(shè)計,課程列表中應(yīng)該展示課程的基本信息:

作為唯一值的課程編號,課程編號在課程創(chuàng)建后就生成,有了它課程名稱就不需要具有唯一性,即多個課程的課程名稱可以重復(fù),而用課程編號識別不同的課程;

課程名稱和所屬科目作為課程的基本屬性,配合檢索區(qū)域進行課程的快速查找;

應(yīng)用策略支持對課程進行上下架管理,即是否讓用戶在前端看到課程,上下架的設(shè)計需要考慮到課程的實際關(guān)聯(lián)場景,從用戶接觸到APP開始:下架后售賣此課程的商品有什么影響?下架后用戶進入APP是否能看到這個課程?下架當(dāng)時正在上課的用戶如何處理?如果課程有學(xué)習(xí)記錄,下架后相應(yīng)的學(xué)習(xí)記錄如何處理?等等一系列的問題,需要在【下架】這個按鈕的設(shè)計說明里列清楚,請不要只寫一個“這里加個【下架】按鈕”,如果這里的策略產(chǎn)品無法定奪,要及時和業(yè)務(wù)方溝通方案。

列表中的操作是指的對單個課程可以做的操作,這里一般來講會有查看和編輯的選擇,編輯是為了修改已經(jīng)創(chuàng)建完成的課程里的內(nèi)容;查看則是為了通過權(quán)限管理實現(xiàn)部分不可以編輯但是又有“知情權(quán)”的系統(tǒng)使用人員去了解課程配置情況,復(fù)制課程是快捷的生成新的課程,同時代入已有課程的信息以便修改,用于創(chuàng)建相似度較高的課程。

列表之外,還應(yīng)該支持創(chuàng)建新的課程,點擊按鈕進入到上文中講到的單個課程的頁面,進行一個新課程的創(chuàng)建。

三、抽象與解耦

至此,常規(guī)的系統(tǒng)功能已經(jīng)具備,但是對于課程類型復(fù)雜的平臺,上述的配置還是過于細(xì)碎。我們在進行基礎(chǔ)的頁面設(shè)計的時候,除了思考與課程結(jié)構(gòu)的符合以外,還應(yīng)該考慮每個操作背后所關(guān)聯(lián)的邏輯,比如上圖中“課后測試”模塊要怎么實現(xiàn)呢?

1. 兩種處理思路

我們觀察到,第二種方式其實是一種概念的抽象,也就是將測試抽象成了一個單獨的模塊與課程結(jié)構(gòu)進行了解耦,這種解耦有利于在復(fù)雜場景中提升內(nèi)容可復(fù)用度、提高復(fù)雜內(nèi)容的配置效率。

沿著這個思路,我們再來觀察課程配置的圖例,在實際的課程配置中,其實有些章節(jié)是不需要課后測試的,那么除了將課后測試變成“非必填”以外,還有什么方式來處理這種“同一個模塊下不同組成部分的差異性”呢?答案就是:抽象與解耦。

2. 功能抽象

我們試著將課程環(huán)節(jié)的組成抽象成一個模型,將環(huán)節(jié)類型作為一個單獨的管理模塊,與每節(jié)課的實際配置進行解耦,那么課程管理就會變成這樣:

注意!頁面中,我們增加了類型的選擇,類型決定了對應(yīng)章節(jié)中需要配置的內(nèi)容類型,方便我們對課程的結(jié)構(gòu)進行統(tǒng)一的管理,在章節(jié)類型的背后,需要有章節(jié)模型的管理,在對章節(jié)模型進行管理時,需要結(jié)合課程的特點去設(shè)計需要統(tǒng)一管理的模塊,即細(xì)化到對模塊規(guī)格的管理,示例:

抽象與解耦還有一個容易被忽略的優(yōu)勢,就是提升客戶端的效率,將規(guī)范好的課程結(jié)構(gòu)直接復(fù)用會比每個課程都判斷一次結(jié)構(gòu)效率要高,舉個例子:買煎餅的時候,如果跟老板說“老樣子”或者“套餐一”,會比說:不要蔥花、少放香菜、加一袋辣條、兩個雞蛋、多放薄脆要來的方便快捷。

四、結(jié)語

在配置型的模塊設(shè)計的時候,除了上述的基本功能,還要充分考慮角色權(quán)限的控制,以及操作日志的記錄,以便能夠追溯操作歷史,遇到問題也可以追溯責(zé)任人。

課程設(shè)計完成后,如何讓用戶看到課程,是所有用戶都能看到且免費學(xué)習(xí),還是需要付費購買單個課程,亦或是要充會員解鎖會員課程,這里就涉及到商品模塊的知識了,我們后面再對商品模塊進行拆解分析。

本文由 @夢溪 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!