項目 | 內容 |
---|---|
這個作業屬於哪個課程 | 2021春季軟件工程(羅傑 任健) |
這個作業的要求在哪里 | Beta-項目展示 |
我們是誰 | 刪庫跑路對不隊 |
我們在做什么 | 題士 |
進度如何 | 進度總覽 |
一、項目與團隊亮點
1.關於我們
1.1 團隊成員與分工簡介
姓名 | 負責 | 具體工作簡介 |
---|---|---|
QSY | PM&前端 | 產品主頁與后台管理系統設計與開發,服務器nginx與SSL等部署與維護,例會報告與產品相關博客的撰寫,推進項目進度,審查項目質量 |
LKL | 后端 | 題目、知識卡片和考期日歷相關接口、單元測試的撰寫,CICD的部署,題目、知識卡片和考期日歷相關數據模型的設計與建立 |
CWM | 前端 | 題庫、收藏|錯題列表、各種刷題模式、模擬考試、資源社區等頁面相關的前端工作的設計、開發與測試 |
CYY | 后端 | 用戶相關,后台管理相關接口、單元測試的撰寫,服務器后端相關配置與維護,個人信息、消息通知和舉報機制相關數據模型的設計與建立 |
LS | 前端 | 注冊、登錄、首頁、我的及個人信息、產品介紹、考期日歷、知識卡片和問答社區等頁面相關的前端工作的設計、開發與測試 |
WCC | 后端 | 題目評論和問答社區相關接口、單元測試的撰寫;題目數據的爬取、清洗與導入;題目圖片與用戶頭像上傳等接口的開發與測試 |
1.2 項目管理
Gitlab的Milestone+issue+Merge Request的方式管理
首先建立Milestone
根據Beta預計開發計划,設計相應頁面,改進相關功能,修復Alpha階段bug並逐一划分為具體任務,任務分為Design,Develop,Test,Bug和Improve五類,並以issue的形式分配給團隊成員
同時划分為題士,產品主頁和后台管理三個項目分別管理,團隊成員分別創建個人開發分支,通過發起merge request的形式,將前端階段性開發成果經由二次確認后merge進入front-end分支,將后端階段性開發成果經由二次確認后merge進入back-end分支;前后端功能完善,符合Milestone設定計划后,發起merge request,經由PM審核后merge進入master分支;在每次merge的過程中,關聯issue,在確認merge后,自動關閉對應issue
2.典型用戶場景
臨近期末,小A還沒開始航概期末復習,現在他正面臨着復習時間緊迫,復習資料不完整的問題,正當他不知所措的時候,小B向他推薦了題士...
小A:我使用的是IOS操作系統,一般的軟件和應用都對IOS平台不支持,我能夠使用題士嗎?
小B:題士利用微信小程序平台對IOS和安卓平台統一支持!
小A:現在離期末考試僅剩幾天,但是我對於相關知識點和題目都不了解,題士能夠給我什么幫助嗎?
小B:題士提供順序刷題,隨機刷題和易錯刷題等多種做題模式,順序刷題幫助你按照章節進行復習,隨機刷題幫助你交叉復習不同章節內容,易錯刷題統計了所有同學常見易錯題,幫助你聚焦易錯內容,你還可以通過知識卡片記憶概念定義,在資源社區下載對應科目的資源,在問答社區瀏覽科目相關的討論,快速獲取復習要點
小A:可是我對很多內容不熟悉,應該會錯很多題,有沒有什么比較有效的復習方式?
小B:題士能夠幫助你對做錯的題目進行記錄,提供錯題列表,也能夠在錯題列表中直接對錯題進行復習;同時提供收藏列表,讓用戶自主收藏好題;而且如果對於內容不熟悉的話,也可以選擇題士提供的背題模式,對航概、計算機導論和經管等科目進行快速復習
小A:真是太好了,我的期末考試有救啦!
3.特色功能
3.1 殺手功能
題士Alpha版本的殺手功能包括多模式刷題,模擬考試,知識卡片,問答社區,資源社區等功能
3.2 對比競品
說明:✔️表示完全具備,🔺 表示不完全具備,❌表示不具備
對比內容 | 航概練習題庫 | 考前自救題庫 | 題士 |
---|---|---|---|
小程序端 | ✔️ | ✔️ | ✔️ |
切換科目 | ✔️ | ✔️ | ✔️ |
查看題庫 | ✔️ | ✔️ | ✔️ |
關鍵詞搜索 | ✔️ | ✔️ | ✔️ |
順序刷題 | ✔️ | ✔️ | ✔️ |
隨機刷題 | ✔️ | ✔️ | ✔️ |
錯題列表 | ✔️ | ✔️ | ✔️ |
收藏題目列表 | ✔️ | ✔️ | ✔️ |
易錯刷題 | ❌ | ✔️ | ✔️ |
模擬考試實時判題 | ❌ | ❌ | ✔️ |
模擬考試統一判題 | ❌ | ❌ | ✔️ |
背題模式 | ❌ | ✔️ | ✔️ |
做題天數 | ❌ | ✔️ | ✔️ |
設置用戶頭像 | ❌ | ❌ | ✔️ |
做題情況統計 | ✔️ | ❌ | ✔️ |
比賽 | ❌ | ✔️ | ❌ |
打卡 | ❌ | ✔️ | ❌ |
知識卡片 | ❌ | ❌ | ✔️ |
問答社區 | ❌ | ❌ | ✔️ |
資源社區 | ❌ | ❌ | ✔️ |
考期日歷 | ❌ | ❌ | ✔️ |
舉報機制 | ❌ | ❌ | ✔️ |
4.項目發布
4.1 面向使用人群發布
向即將進行航概、計算機導論和經管考試的同學率先推廣題士,為同學們提升備考體驗


4.2 題士宣傳動畫
4.3 宣傳冊
4.4 實際日活數據
發布四天平均訪問次數達到546,最高支持同時1000+用戶進行訪問,平均訪問深度達到4

日活平均達到200

累計用戶量達到597

4.5 用戶反饋


5.軟件工程質量
5.1 設計文檔
文檔是開發的依據,是維護的憑證,是拓展的基礎
項目有完善的API設計文檔和數據庫設計文檔
5.2 代碼規范
前端代碼規范
題士uni-app開發遵循uni-app開發規范和Vue單文件規范
在產品主頁和后台管理系統開發過程中,將部分內容修改后的現有業內開發規范設置為自身開發規范,具體規范代碼詳見gitlab倉庫
后端代碼規范
后端開發主要采用node.js框架,使用javascript語言,因此遵循javascript開發規范
5.3 項目繼承
項目代碼結構清晰,文檔規范,繼承項目者在查詢uni-app和node.js前后端開發框架后即可接手開發,項目開發可進一步查閱uni-app和node.js開發文檔
5.4 單元測試與CI/CD
前端以功能測試和性能測試為主,后端以壓力測試和單元測試為主
小程序性能測試、前端功能測試和后端壓力測試詳見Beta階段測試報告,后端單元測試結果如下:
部署CI/CD,編寫共計207個測試用例,代碼覆蓋率達到95%,測試結果如圖:
5.5 經驗教訓
內容較為獨立,因此另發一篇總結博客記錄,詳見Beta階段性總結
5.6 題士開發總結
5.7 未來計划
題士項目未來將完全開源,同時與航概、計算機導論等科目老師及時溝通,成為官方指定考期復習軟件!
二、項目與團隊總結
項目與團隊總結部分為亮點中涉及的項目相關內容的進一步擴充,對亮點部分形成支撐
1. 成員溝通
Beta開發階段團隊成員在合理平衡比賽、競賽、考試和大作業的時間投入的前提下,爭取做到每兩天進行一次例會,每次例會總結個人開發進度,討論開發成果,制定開發計划,並進行集中高效開發,及時溝通,及時調整
每次例會時間在4h-8h之間,會議記錄詳見Scrum Meeting匯總
2. 資源平衡
團隊兩名前端開發人員LS與CWM負責微信小程序題士主體功能的開發工作
另一名前端開發人員QSY負責產品主頁和后台管理系統的開發工作
兩名后端開發人員LKL與CYY負責題士主體功能的后端開發工作
另一名后端開發人員WCC同時負責題士評論功能和問答社區的后端開發工作和題庫的數據爬取、清洗和導入等相關工作
項目能夠如期交付的原因如下:
- 團隊各個成員的能力均十分突出,可以獨當一面
- 團隊各個成員對項目均抱有認同感,認為在做一件有價值、有意義的事,而非單純地為了分數完成任務
- 團隊成員彼此熟識,配合默契,可以為同一目標齊心協力,全力沖刺
- 團隊成員可以主動提升團隊開發任務相較於個人任務的優先級,保證項目進度正常推進
3. 進度推進
團隊成員Beta開發過程開始較早,進度較快,具體燃盡圖(0609)如下:
4. 成員貢獻
成員貢獻計算依據團隊貢獻分分配規則,具體結果如下:
姓名 | 基礎分 | 工作量 | 額外工作 | 額外工作說明 | 總分 |
---|---|---|---|---|---|
QSY | 45 | 3 | 5 | PM工作,協調監督,完成團隊博客 | 53 |
LKL | 45 | 2 | 0 | 47 | |
CWM | 45 | 2 | 1 | 改進Alpha部分功能,提升題士質量 | 48 |
CYY | 45 | 3 | 4 | 后端壓力測試 整理經管知識卡片,題庫 后端服務器管理與維護 后端單元測試整合及細節完善 |
52 |
LS | 45 | 3 | 3 | 幫助cwm完善UI 負責小程序的審核 |
51 |
WCC | 45 | 2 | 2 | 后端壓力測試 整理經管知識卡片,題庫 計算機導論,航空航天概論,經管知識卡片,題庫導入 |
49 |
團隊成員具體任務說明與數據支持如下:
姓名 | 負責 | 團隊貢獻分 | 具體工作簡介 | 代碼量 | 參與文檔 |
---|---|---|---|---|---|
QSY | PM&前端 | 53 | 產品主頁與后台管理系統設計與開發,服務器nginx與SSL等部署與維護,例會報告與產品相關博客的撰寫,推進項目進度,審查項目質量 | 6099 | 除題目相關API、題目評論相關API和數據庫設計文檔外的所有文檔 |
LKL | 后端 | 47 | 修改模擬考試接口適配前端新增模式 優化模擬考試、題庫列表返回接口 完成知識卡片后端API 完成考期日歷后端API 完成考期日歷消息生成腳本 完善alpha question單元測試 完成知識卡片考期日歷單元測試 |
1039 | 知識卡片考期日歷API設計 知識卡片考期日歷數據庫設計 |
CWM | 前端 | 48 | 模擬考試完成界面 新增模擬考試統一判題模式 資源社區UI設計及邏輯實現 知識卡片邏輯實現 考試日歷邏輯實現 alpha階段題庫頁面、收藏頁面、易錯刷題頁面優化 |
3550 | 資源社區數據庫文檔 資源社區API設計 |
CYY | 后端 | 52 | 完成資源社區相關功能實現 完成消息通知機制 完成舉報相關機制 完成管理平台對資源社區和舉報的查詢、管理等功能后端 完成管理平台的消息發布功能后端 對應后端功能的單元測試 |
1604 | Beta階段初始任務分配 消息通知機制API和數據庫設計 舉報機制API和數據庫設計 資源社區API和數據庫設計 |
LS | 前端 | 51 | 完成考期日歷、資源社區、卡片、問答社區組件的開發 完成問答社區頁面、消息通知頁面開發和測試 實現舉報功能。 |
3684 | 問答相關API設計 舉報相關API設計 |
WCC | 后端 | 49 | 完成問答社區后端接口,舉報信息后端接口,管理端評論相關,問答社區相關后端接口的開發 完成問答社區,舉報信息后端單元測試 |
1633 | 問答社區相關API和數據庫設計 舉報相關API和數據庫設計 |
5. 用戶場景相關
項目開發前的目標
-
實現一款集刷題、題目討論、錯題整理、社區資料分享等功能為一體的優質軟件
-
Alpha階段:累計用戶量為200;Beta階段:保守估計每日活躍用戶為400
預期的典型用戶場景
我們針對產品的典型用戶進行了以下五類划分:普通學生,大佬,DDL選手,助教和老師,具體描述如下
普普通通,平平無奇的普通學生
內容 | 說明 |
---|---|
用戶姓名 | 釘崎野薔薇 |
照片 | ![]() |
用戶身份 | 19歲,女大學生,普普通通的大學生,各項能力平均 |
用戶痛點1 | 有一定學習基礎,想要通過做題對學習內容進行復習,獲得中等偏上的成績 |
用戶痛點2 | 對基礎題目能夠正確作答,對於難題存在作答障礙或者理解困難 |
用戶痛點3 | 對於惡心的題目,有強烈的吐槽欲望 |
軟件對應功能 | 題士多模式做題功能(alpha版);題士題目搜索(alpha版);題士討論區(beta版);題士題目評論區(alpha版)。目前可以進行多模式刷題,可以在對應的題目下進行評論 |
使用預期場景 | 日常學習時,通過題士多模式刷題及時回顧學習內容,鞏固知識點;在遇到難題時,通過問答社區提問,等待大佬或者老師助教的解答;在做題的同時,在題目討論區吐槽,創作 |
用戶比例 | 50% |
學習無難事,萬人膜拜的大佬
內容 | 說明 |
---|---|
用戶姓名 | 伏黑惠 |
照片 | ![]() |
用戶身份 | 20歲,男大學生,學習能力強,願意為同學答疑解惑,分享做題經驗 |
用戶痛點1 | 想要更有效率地進行做題和復習,對題目進行整理和分類,方便記錄做題筆記,獲得高分 |
用戶痛點2 | 沒有便捷途徑獲得往年的考題資料,及時復習 |
用戶痛點3 | 想要有個途徑對自己的踩坑進行記錄和分享 |
軟件對應功能 | 題士題目收藏,錯題自動整理功能(alpha版);題士資源分享社區(beta版);題士討論區(beta版)。目前可以在錯題和收藏題目列表中快速查看自己的錯題和收藏題目 |
使用預期場景 | 日常做題,通過平台能夠方便整理錯題,同時收藏好題和易錯題;在做題同時,記錄解題思路和對應知識點;通過資源分享社區,及時獲取往年真題,及時刷題 |
用戶比例 | 20% |
平時玩樂,期末完了的DDL選手
內容 | 說明 |
---|---|
用戶姓名 | 虎杖悠仁 |
照片 | ![]() |
用戶身份 | 20歲,男大學生,摸魚一時爽,期末火葬場,不到期末絕不復習的DDL選手 |
用戶痛點1 | 期末考前,想要通過最短時間過最多的題,同時重點關注好題和易錯題 |
用戶痛點2 | 知識點難以在短時間記憶,希望有人分享知識點記憶技巧 |
軟件對應功能 | 題士背題功能(alpha版);題士易錯題刷題(alpha版);題士題目評論區(alpha版)。目前可以在背題模塊中快速背題,在短時間內通過背題獲取大量知識 |
使用預期場景 | 三天之后航概期末考試,在短時間內,通過大量快速過題進行復習;吸取踩坑經驗,做題小技巧,盡全力不掛科 |
用戶比例 | 25% |
靦腆但是熱情的課程助教
內容 | 說明 |
---|---|
用戶姓名 | 兩面宿儺 |
照片 | ![]() |
用戶身份 | 24歲,男研究生,課程助教,內向靦腆,有耐心願意為同學答疑解惑 |
用戶痛點1 | 同學們常常提問同質問題,每次都需要重新回答同樣的內容 |
用戶痛點2 | 班級群中發布的資料常常過期,需要重新發送 |
軟件對應功能 | 題士討論社區(beta版);題士資源共享社區(beta版)。beta階段進一步進行場景測試 |
使用預期場景 | 助教通過翻閱提問區問題,對共性題目統一解答;通過平台上傳資料,不用擔心資源過期,不能下載的問題 |
用戶比例 | 4% |
有責任心的老教師
內容 | 說明 |
---|---|
用戶姓名 | 五條悟 |
照片 | ![]() |
用戶身份 | 45歲,教授,課程主講教師 |
用戶痛點 | 希望了解同學們對於學習該門課程普遍的難點,痛點,針對性講解題目,整理知識點,幫助同學們通過課程 |
軟件對應功能 | 題士易錯題(alpha版);題士討論區(beta版)。目前可以查看易錯題,根據易錯題制定習題課,提升學生成績 |
使用預期場景 | 打開題士,查詢易錯題和討論區常見問題,制定習題課和復習課計划,幫助同學們針對性復習 |
用戶比例 | 1% |
預期的功能描述
界面 | 功能描述 | 開發階段 |
---|---|---|
登錄 | 用戶可以通過微信或郵箱兩種方式進行登錄 | Alpha |
注冊 | 用戶通過輸入郵箱,獲取驗證碼進行注冊,綁定賬戶 | Alpha |
首頁 | 首頁展示產品的核心功能,並提供相應功能入口,包括考期日歷、錯題/收藏、知識卡片、題庫、資源社區、問答社區和刷題功能等,用戶可以切換不同科目,選定科目后開始使用本產品 | Alpha |
我的-題庫 | 展示用戶頭像、昵稱、累計做題數、做題天數、歷史記錄等內容,提供關於我們、意見反饋、分享、設置和退出等功能入口 | Alpha |
我的-社區 | 由默認的題庫選項切換至社區選項,獲取問答數量、獲贊數量等統計數據信息,提供我的問答的鏈接入口,方便用戶直接查看 | Alpha |
刷題|背題 | 支持用戶在刷題和背題兩種模式中切換,對題目進行收藏等。在刷題模式下,用戶根據題干內容選擇正確選項,產品反饋正誤,用戶可以點擊查看評論按鈕,查看各種評論,也可以自己發表評論或評論他人評論;在背題模式下,產品直接提供題干內容和正確答案,用戶可以快速背題 | Alpha |
題庫 | 支持用戶在題庫中根據關鍵詞進行搜索,同時展現當前科目下各章節的所有題目的完成情況,用戶可以點擊某一題開始刷題 | Alpha |
錯題|收藏 | 展示用戶的錯題數或收藏題目數,並按照不同章節整理錯題或收藏的題目,用戶可以點擊某一章節進入題目列表,查看該章節下的所有錯題或收藏的題目 | Alpha |
題目列表 | 某一章節下的錯題列表或收藏題目列表,用戶可以點擊開始按鈕對錯題或收藏的題目進行練習 | Alpha |
考期日歷 | 支持用戶根據考期安排設置考期日歷,產品將根據考期日歷對用戶進行貼心提醒 | Beta |
知識卡片 | 對於不便於設置為選擇題形式的知識內容,均可以通過知識卡片的形式進行理解、記憶。知識卡片對知識進一步細化、整理和歸納,提升用戶學習效率。開發團隊將導入部分知識卡片,用戶也可以自行添加設置卡片 | Beta |
問答社區 | 支持用戶查看Open、Closed、All和Mine四種狀態下的討論貼,用戶可以發帖,回帖,參與討論,產品將綜合關注度、發帖時間等因素對不同狀態的討論貼分別排序后呈現 | Beta |
資源社區 | 支持用戶添加資源描述上傳資源鏈接、根據鏈接下載資源等 | Beta |
在哪里發布了軟件?
產品官網:
https://buaatishi.com
微信小程序平台,直接搜索題士,或直接掃碼體驗

項目發布后是否滿足了全部典型場景?剩下的為何沒有滿足?
已滿足全部典型場景
6. 競品評價
思考一下競品出於什么原因並沒有囊括該特色功能,團隊憑借什么樣的優勢實現了它?
根據競品自救題庫的NABCD分析可以看出,競品開發團隊並未進行充分有效的需求分析(至少在博客中並未體現需求分析調研結果)
題士開發團隊在產品功能開發前,對預期使用用戶進行了較為詳盡的需求分析;在開發過程中,配合默契,團隊開發進度推進合理,每位開發人員的開發工作均做到全身心投入
7. 自我評價
- 題士,六周之作,不只是題庫
- 完成所有預期功能,並增加消息通知、舉報機制
再次注明:項目與團隊總結部分為亮點中涉及的項目相關內容的進一步擴充,總結部分未覆蓋的內容已在亮點部分說明