項目功能規格說明書
1. 引言
1.1 編寫目的
此功能規格說明書目的在於將網站想法具體化,並規划開發方向,明確功能需求,以提高開發效率。
本說明書僅供北航“燙燙燙燙燙”團隊(hotcode5)參考。
1.2 項目背景
在北航的每一學期開始時,微信群中總是閃現着同學們要課件的身影;在北航的每一學期結束時,QQ群中總是充斥着同學們求考題的辛酸。北航目前最主要的課程資源平台——“課程中心”,由於全權交給授課教師管理,而學生並沒有上傳資源的權限,導致大部分課程的課件、考題等資源並沒有出現在上面。一批批熱愛學習的北航學子只得穿梭於各個Q群,四處問詢課件和復習資料的蹤跡,年復一年。2017年的秋天,在北航壓抑了兩年的老學長們,終於在一門名叫“軟件工程基礎”的課上明確了自己的價值——我們需要一個穩定的課程資源共享平台!
1.3 開發意圖
該平台主旨在於“營造一個優良的課程學習環境”,提供資源共享、博文撰寫等功能,讓同學們更簡單地取得提高成績的途徑,向學霸看齊。
1.4 用戶群體
該平台面向北航在讀的全體學生,無論知識層次或能力如何,都能在該平台找到自己的存在感。
2. 典型用戶
A君:所謂大佬
不屑於學院安排的課程,對課外知識涉獵更多,利用平台進行知識與經驗的分享。
| 用戶信息 | 用戶情況 |
|---|---|
| 姓名 | A君 |
| 用戶身份 | 某學院大三學生 |
| 知識層次和能力 | 大牛,在某一學科有一定深入的見解 |
| 生活工作情況 | 投入大量精力學習,對學習充滿興趣 |
| 用戶動機 | 渴望將自己的收獲分享給大家 |
| 用戶困難 | 目前找不到針對北航學生的學習資源分享平台 |
| 典型場景 | 發布博文,整理自己的學習經驗,並將自己的一些成果以資源的形式發布,共大家學習 |
| 用戶偏好 | 可以有其他同學在博文下評論,起到交流的作用,讓更多同學看到自己的成果 |
| 用戶比例 | 3%左右 |
B君:普通學生
平時還算用功,單純希望期末考個好成績,對得起這一學期的努力。
| 用戶信息 | 用戶情況 |
|---|---|
| 姓名 | B君 |
| 用戶身份 | 某學院大一學生 |
| 知識層次和能力 | 成績中等,不算太好也不算太差 |
| 生活工作情況 | 學習娛樂兩不誤 |
| 用戶動機 | 期末考試取得高分 |
| 用戶困難 | 大班群里資源太有限 |
| 典型場景 | 下載考題,准備期末考試,並看一看大神總結 |
| 用戶偏好 | 要是有題解就更好了 |
| 用戶比例 | 40%左右 |
C君:成績較差
平時浪太多,期末壓力大,利用平台進行知識惡補。
| 用戶信息 | 用戶情況 |
|---|---|
| 姓名 | C君 |
| 用戶身份 | 某學院大一學生 |
| 知識層次和能力 | 能力較差,對知識掌握不牢固 |
| 生活工作情況 | 基礎很薄弱,跟不上老師進度,掛科近在咫尺 |
| 用戶動機 | 想要及格 |
| 用戶困難 | 要考試了,可是翻課件也太難理解了,只怪自己基礎太薄弱 |
| 典型場景 | 通過閱讀學長總結的筆記,以及部分同學針對專項總結的解題技巧,對考試有很大幫助 |
| 用戶偏好 | 希望能夠有一些深入淺出的講解,一定狠狠地贊 |
| 用戶比例 | 8%左右 |
D君:考研選手
即將面臨研究生考試,有些方,希望能在平台上得到比較靠譜的指點。
| 用戶信息 | 用戶情況 |
|---|---|
| 姓名 | D君 |
| 用戶身份 | 某學院大四學生 |
| 知識層次和能力 | 成績中等,不算太好也不算太差 |
| 生活工作情況 | 抓緊時間,復習考研 |
| 用戶動機 | 考研想取得不錯的成績 |
| 用戶困難 | 手頭資源有限,也不知如何高效復習,也不懂考試技巧是什么,希望能有過來人替我講講 |
| 典型場景 | 在考研相關課程上下載考研資源,閱讀學長總結的考研心得 |
| 用戶偏好 | 希望能有一些標簽,幫助我識別哪些是考研用的,哪些是平時或期末考試用的 |
| 用戶比例 | 30%左右 |
E君:刻苦學霸
學習很努力,善於做筆記,記錄自己學習的點滴收獲
| 用戶信息 | 用戶情況 |
|---|---|
| 姓名 | E君 |
| 用戶身份 | 某學院大三學生 |
| 知識層次和能力 | 成績優良,中等偏上,不屬於頂尖學神陣營 |
| 生活工作情況 | 將學習放在第一位,認真完成作業,及時總結 |
| 用戶動機 | 想要把學習過程中遇到的問題總結一下,一來以后復習的時候可以再回顧,二來供其他同學參考 |
| 用戶困難 | 只能自我總結,也不知道自己總結得有沒有道理 |
| 典型場景 | 將總結的學習筆記以資源或博文的形式發布到平台上 |
| 用戶偏好 | 希望能得到認可或是中肯的評價 |
| 用戶比例 | 8%左右 |
3. 產品界面原型設計
3.1 預定實現功能
- 核心功能
- 課程的分類
- 課程資源的上傳和下載
- 課程基本信息的獲取
- 用戶貢獻點及其排行
- Alpha階段拓展功能
- 課程的搜索
- 添加課程
- 課程資源標簽
- 課程資源的收藏和點贊
- 課程資源的審核與舉報
- 用戶登錄/注冊
- 個人資料的獲取與編輯
- 首頁公告欄
- 聯系我們
- Beta階段拓展功能
- 課程資源評論區
- 博文相關功能
- 私信/消息功能
- 關注用戶
- 獲取用戶最近動態
- 首頁推送熱門博文
3.2 界面原型設計(Alpha)
我們使用MockPlus繪制了Alpha階段的原型設計,該設計包含所有Alpha階段中計划實現的功能,並包含少量Beta階段中計划實現的功能。
3.2.1 菜單欄
菜單欄原型設計如下圖所示:

菜單欄位於頁面的最上端,供用戶在首頁、課程與聯系我們三個頁面之間相互切換。
此時菜單欄處於未登錄狀態,因此最右邊的按鈕為“登錄/注冊”,登錄后該位置按鈕會變為用戶昵稱和“注銷”。
主要功能如下表所示:
| 元素 | 功能 | 驗收標准 |
|---|---|---|
| 登錄/注冊 | 彈出登錄/注冊窗口 | 在當前界面彈出登錄/注冊窗口,點擊窗口外部窗口消失 |
| 用戶名(若登錄,出現在登錄/注冊位置) | 進入個人主頁 | 通過新窗口進入用戶個人中心 |
| 注銷(若登錄,出現在登錄/注冊位置) | 注銷賬號 | 界面刷新,賬號注銷 |
| 首頁 | 進入首頁 | 界面切換到首頁 |
| 課程 | 進入課程相關頁面 | 界面切換到選擇課程界面 |
| 聯系我們 | 進入聯系我們頁面 | 界面切換到聯系我們界面 |
3.2.2 首頁
首頁原型設計如下圖所示:

其中,公告欄后面為一張背景圖片。在Alpha階段,我們力求首頁的簡介,因此首頁除了公告欄以外不設置其它功能。
主要功能如下表所示:
| 元素 | 功能 | 驗收標准 |
|---|---|---|
| 公告欄的某一個公告 | 查看公告詳情 | 點擊后彈出公告窗口,再點擊窗口外面的部分窗口關閉 |
3.2.3 選擇課程界面
我們點擊課程進入選擇課程界面。
選擇課程界面原型設計如下圖所示:

其中,“添加課程”功能我們決定暫時不實現。
主要功能如下表所示:
| 元素 | 功能 | 驗收標准 |
|---|---|---|
| 課程類別 | 顯示所有課程分類 | 1.來回點擊“開設院系”和“課程類別”,保證切換正常;2.在“課程類別”打開狀態下點擊“課程類別”,課程類別欄折疊 |
| 開設院系 | 顯示學院列表 | 同上 |
| 一般專業類(核心通識、學院同理) | 1.顯示該類別所有課程 | 在“核心通識類”和“一般專業類”之前切換,保證顯示對應的課程;2.點擊同一個類別兩次,課程不發生變化;3.課程默認按照用戶訪問熱度進行排序 |
| 課程列表中的課程 | 進入該課程界面 | 進入該課程界面 |
| 添加課程 | (暫時不實現) | (暫時不實現) |
| 搜索 | 在下拉菜單中選擇搜索方式,並在輸入框中鍵入關鍵字,點擊搜索即可進行全局課程搜索 | 1.嘗試不同搜索方式,搜索結果正確;2.如果不鍵入關鍵字,需彈出模態對話框,告知用戶需鍵入關鍵字 |
3.2.4 課程界面
在上圖中點擊軟件工程基礎,進入軟工課程的界面。
課程界面原型設計如下圖所示:

該界面為Alpha階段界面,而Beta階段要實現的博文功能在課程資源的下方,暫時沒有體現在原型圖中。
課程信息中的圖片可以為該課程所使用的教材封面,增加課程識別度。
主要功能如下表所示:
| 元素 | 功能 | 驗收標准 |
|---|---|---|
| “返回選課界面”按鈕 | 返回到選擇課程界面 | 返回到選擇課程界面 |
| 授課教師的名字 | 返回到選擇課程界面,並以該教師名字為關鍵字進行課程搜索 | 搜索結果正確 |
| 我來補充 | 對課程簡介進行修改或補充 | 彈出課程簡介修改窗口 |
| 貢獻度排行中的用戶名 | 進入到該用戶的個人中心 | 1.能以打開新窗口的方式正常進入該用戶個人中心;2.測試姓名相同,但用戶名不同的情況 |
| 課程資源欄中的某一個資源 | 彈出課程資源窗口 | 彈出課程資源窗口 |
| 課程資源后的“查看全部” | 進入到課程資源分類界面 | 進入到課程資源分類界面 |
3.2.5 課程資源分類界面
我們點擊“查看全部”,進入課程資源分類界面。
課程資源原型設計如下圖所示:

其中資源中的“♡”表示收藏量(感覺用“☆”代替會更好),如果這個資源被收藏了,那么“♡”會變為“♥”。
主要功能如下表所示:
| 元素 | 功能 | 驗收標准 |
|---|---|---|
| 任意資源 | 點擊后會彈出資源窗口 | 1.無論點擊“♡”還是用戶名,均需彈出資源窗口;2.點擊資源窗口外部,資源窗口消失 |
| “返回課程界面”按鈕 | 返回軟工課程界面 | 返回的課程界面要正確,不能跑到別的課程界面去 |
| 資源類別(課件、考題、習題……) | 查看不同類別的資源 | 1.點擊其他的資源類型,課件會有所改變;2.如果沒有對應類型的資源,則需告知用戶“沒有該類型的資源”;3.點擊當前的資源類型,沒有任何變化,不會刷新一遍。 |
| 升序、降序排序 | 在左側下拉菜單中選擇排序方式,點擊升序排序或降序排序對該類別資源進行排序 | 測試多種排序方式,結果正確 |
| 搜索資源 | 在左側輸入框里鍵入資源名稱關鍵詞,點擊“搜索資源”進行全局搜索(全局的體現值得再深入設計) | 1.搜索結果完整且正確;2.如果不鍵入關鍵字,需彈出模態對話框,告知用戶需鍵入關鍵字 |
3.2.6 資源窗口
點擊上圖中的全部課件,彈出該課件的資源窗口。
資源窗口原型設計如下圖所示:

對於圖片文件,窗口中的圖片元素可以是文件的預覽圖;而對於一般文件,窗口中的圖片元素為該文件類型的圖標。
評論功能為Beta階段范疇,在Alpha階段中暫時不做考慮。
主要功能如下表所示:
| 元素 | 功能 | 驗收標准 |
|---|---|---|
| 舉報 | 彈出舉報窗口 | 點擊舉報窗口外部,窗口消失 |
| “點擊下載”或標簽下方“↓”圖標 | 下載課件,下載量+1 | 1.下載量可以不即時變更,但關閉窗口后再打開一定要有所變化;2.同一個用戶多次下載同一資源,下載量不會多次增加 |
| 標簽下方“♡”圖標 | 收藏資源,同時圖標變為“❤”,收藏量+1,再點擊一次則為取消資源 | 1.測試收藏與取消功能皆正常(Alpha階段暫不實現查看所有已收藏資源,因此只要有圖標變化就好);2.收藏或取消收藏后,關閉資源窗口,回到課程資源界面,刷新,圖標和收藏量需有所變化 |
| 好評/差評(在實際版本中用相應圖標替代“好評”和“差評”文字) | 對資源進行評價,並更新評價數據 | 1.若未評價,點擊好評或差評可以進行評價;2.若已評價,點擊未選擇的評價可以切換評價;3.若已評價,點擊已選擇的評價可以取消評價;4.對評價的變更需即時體現在數字上 |
| 上傳者后面的用戶名 | 進入該用戶個人中心 | 通過新窗口的形式進入該用戶個人中心,原窗口不變 |
3.2.7 舉報窗口
我們發現這個zip文件里面是空的,原來是一個騙下載量的資源[滑稽],這時候我們點擊右上方的舉報,彈出舉報窗口。

這里的功能就不必贅述了,選擇舉報的原因為“無意義資源”,並在詳細原因下方寫明“空zip文件”,並點擊“舉報”按鈕,相關信息就會發送至管理員,等待管理員的處理。
3.2.8 登錄/注冊窗口
點擊右上角的“登錄/注冊”按鈕,彈出登錄/注冊窗口。


點擊“登錄”按鈕和“注冊”按鈕可以在兩個窗口之間進行切換。
忘記密碼功能屬於Beta階段的范疇,在Alpha階段不做考慮。
注冊窗口中的郵箱暫定只能使用北航的郵箱,這是為了保證一名同學只擁有一個賬號,且校外的同學無法獲取校內的資源。
| 元素 | 驗收標准 |
|---|---|
| 登錄/注冊切換 | 1.在“登錄”窗口時,“登錄”為藍色狀態,在“注冊”窗口時,“注冊”為藍色狀態;2.不同時存在登錄和注冊兩個窗口 |
| 登錄密碼 | 輸入內容以暗文顯示 |
| 登錄按鈕 | 窗口關閉,界面刷新為已登錄狀態 |
| 注冊用戶名 | 1.合法用戶名為英文/數字/下划線,長度在12個字符以內,否則為不合法用戶名,大小寫不敏感;2.若用戶輸入的用戶名不合法,或用戶名已被注冊,則需要在輸入框下方即時進行提示 |
| 注冊密碼 | 1.合法密碼為英文/數字/下划線,長度在8~20個字符內,否則為不合法密碼,大小寫敏感;2.若用戶輸入的密碼不合法,則需要在輸入框下方即時進行提示;3.輸入內容以暗文顯示 |
| 注冊確認密碼 | 1.若確認密碼和密碼不符,則需要在輸入框下方即時進行提示;2.輸入內容以暗文顯示 |
| 注冊北航郵箱 | 1.需檢測是否為北航郵箱,否則需要在輸入框下方即時進行提示;2.需檢測該郵箱是否已經被注冊過,否則也要提示 |
| 注冊按鈕 | 界面會提示用戶“確認郵件”,系統會向該北航郵箱發送一封郵件,用戶點擊郵件上的鏈接,頁面跳轉到登錄狀態的首頁,用戶信息方存入數據庫 |
3.2.9 個人中心
登錄成功后,在原“登錄/注冊”位置會顯示用戶的頭像與昵稱,點擊即可進入個人中心。
個人中心原型設計如下圖所示:

在Alpha階段暫時只實現個人資料和主要貢獻兩個功能。點擊“編輯資料”可以變更用戶資料,這一功能在訪問其他用戶的個人中心時是不存在的。
4. 副作用分析
感覺最大的副作用還是管理的成本問題:
- 盡管貢獻分這個功能在一定程度上起到了鼓勵用戶分享資源的作用,但也有可能導致出現一批刷分用戶,由此為管理帶來許多成本。
- 一些不允許公布的資源(如部分課程的考題)也可能出現在這個網站上,該如何界定這些資源,如何處理這些資源,是一個值得討論的問題
- 上傳資源的審核成本較大,要是用戶上傳了惡意程序該怎么辦?如果管理員以身試險,那么管理員恐怕就要遭殃了。如何盡可能減少受害者的出現?
