【Beta】“北航社團幫”發布聲明——小程序v2.0與網頁端v1.0
【Beta】“北航社團幫”測試報告——小程序v2.0與網頁端v1.0
團隊介紹
- 團隊名稱:北航紅太陽 BuaaRedSun
- 團隊成員介紹:(點擊名字跳轉至個人博客)
成員 | 角色 | 自我介紹 | 照騙 |
---|---|---|---|
HansBug | 架構師,后端組長。 | 做過一些簡單的開發,寫過一些簡單的算法題,喜歡沒事寫寫程序,偶爾去創造一下奇跡改變一下社會。 | ![]() |
馬振亞 | 后端開發 | 擅長各種行政打雜事物(給各位大佬端茶遞水) 能寫 c/java/python/js 求各位大佬帶帶 |
![]() |
庄廓然 | 后端開發 | 熟悉java,c++,c,c#,參與過的安卓開發,后台開發,寫過unity游戲腳本,工作積極,希望向各位大佬學習。 | ![]() |
周雨飛 | 前端開發 | 主要負責的工作是給其他幾位大佬端茶遞水 擅長Java/Python 前端和后端都會一點點 求各位大佬帶飛 |
![]() |
李大 | 前端開發 | 活潑開朗。非計算機/軟工學生,16級高工3系,接觸過一些簡單的軟件項目(app、unity游戲),希望在軟工課上體驗較復雜的軟件項目團隊開發,積累經驗。學習寫代碼,也學習如何進行團隊交涉,和科班同學多多接觸,補一補不怎么牢固的cs基礎。 | ![]() |
廖青城 | 前端開發 | ↑來自生醫學院<br/>但是喜歡寫bug然后debug(什么x),希望通過該項目學會如何嚴謹的寫bug(′゜ω。‵) |
![]() |
彭宇飛 | 需求分析,溝通社聯 | 社聯主席。經管學院信息管理專業,邏輯思維較強,產品經驗比較豐富。做過一些小型的算法和數據庫,要積極向組內各位同學學習! |
![]() |
謝靜芬 | PM | 計算機系大三狗 人送外號分解(所以經常在數學課躺槍...) 雖然邏輯嚴密,擅長寫文檔(誤) 但是算法能力較弱,編程效率較低 希望在團隊中向大佬們學習,提升自我~ |
![]() |
其中,青城和宇飛沒有選軟件工程課,屬於外援~~
項目願景
在用戶群體上,我們將用戶分為三類人:普通學生、社團管理員、社聯管理員。
我們針對不同的用戶群體開發出不同的平台和功能:
- 普通學生:使用“北航社團幫”小程序,功能包括:瀏覽各社團活動和動態,瀏覽各社團的文字和視頻介紹,在線申請加入社團,報名社團活動,接收社團的活動通知,生成並分享社團活動海報圖片。以上功能均已實現,alpha階段計划的支付社團社費功能未實現。
- 社團管理員:使用“北航社團幫網頁端”管理社團,功能包括:編輯社團信息,設置入社條件,管理社員,向社聯報備活動、申請活動場地,發布投票,發布消息,發布活動、審核報名人員、向報名人員發送活動通知。上述功能最終實現了:編輯社團信息,發布活動,發布新聞。未實現的功能中,管理社員和活動推送在小程序端實現,其余功能我們認為不屬於項目當前階段高優先級、高收益功能,未實現。
- 社聯管理員:在網頁端管理社團,擁有所有社團社長權限。初期計划時希望支持活動申請和場地申請,並建立社團星級評定系統,我們認為這些任務在當前階段優先級不高,未實現。
除了上面未實現的功能,其實還有很多能夠挖掘的功能,如wowotou團隊在前期規划了但尚未實現的一些好功能:在線售賣社團文化產品、社團論壇、社團網盤等,這些功能的真實需求和收益評估也還需要后續調查。
整個項目的預期典型用戶
- 大一萌新
- 需求
- 有某個平台整合北航社團信息供了解
- 可以隨時提交線上入社申請
- 使用場景
- 剛入學時了解社團信息
- 百團大戰時完成線下流程后提交線上申請
- 錯過百團大戰后提交入社申請
- 重要性
- 非常重要,如果從大一開始就認可這個小程序,並時常關注北航社團的信息,那么這部分用戶的使用年份會很長;另外,如果萌新M之后當了社團管理員,也會向社員推廣這個產品。
- 需求
- 社團活動活躍用戶
- 需求
- 查看感興趣的社團近期動態
- 接收感興趣的活動的通知
- 使用場景
- 偶爾查看感興趣的社團近期動態
- 關注感興趣的活動,活動前收到消息通知提醒
- 重要性
- 非常重要,他們是小程序的長期活躍用戶。有他們社團管理人員才願意發社團動態。
- 需求
- 社團管理人員
- 需求
- 編輯社團信息
- 發布社團新聞
- 發布社團活動
- 處理入社申請
- 管理社員
- 導出社員信息(未實現)
- 場地申請(未實現)
- 收取社費(未實現)
- 使用場景
- 同需求
- 重要性
- 非常重要,有他們才有新鮮的社團動態,才能吸引用戶。
- 需求
- 社聯管理人員:
- 需求
- 管理社團動態
- 導出社團信息(未實現)
- 使用場景
- 社團注冊及評級時導出信息進行處理
- 平時對一些社團的動態(活動)進行管理
- 需求
功能展示
- 新聞主頁 - 點擊跳轉公眾號文章
- 活動主頁
- 活動詳情頁
- 生成海報分享
- 海報
-
活動推送
-
社團主頁
- 社團詳情頁
- 我的頁面
- 我的申請
- 社團管理
- 網頁端
原預期用戶數量
- alpha階段小程序發布后一周內,用戶量累計500人
- beta階段小程序發布后一周內,用戶累計1000人
- beta階段網頁端發布后一周內,15位社長和社聯進行使用,約20人。逐漸讓各社長認證,累計入駐社團50個。
項目使用情況數據分析
用戶量變化
- 圖中三個箭頭為三個階段發布
- alpha階段發布后我們靠自己推廣,發布一周后用戶量達到470。
- beta階段發布后我們聯系社聯進行推廣,於6.8號用戶量超過1000,截止6.17,用戶量達到1100。
- gamma階段發布時間點已接近考期,我們的目標用戶在這個階段里都沒有理由會使用小程序,我們僅在社長群里進行了新功能說明,未進行額外推廣,但是可以看到用戶量依然在緩慢增長,從發布起到6.17,用戶量增加70。
學生認證人數
- beta階段我們加入了新功能支持北航學生認證,認證時需要補充個人手機號信息。
- 截止6.17,共有325人進行了學生認證,其中180人為18級學生,100人為17級學生,38人為16級學生,7人為15級。
社長認證人數
- beta階段我們加入了社團管理功能,需要社長進行認證后才能管理社團。
- 截止6.17,共有67個社團完成了社長認證,還有54個社團社長未認證。
入社申請數
- 截止6.17,共有264個入社申請,說明線上申請加入社團這一需求是真切的,220條被處理。
活動發布
- beta階段我們在網頁端支持了社團活動發布
- 截止6.17,共發布了12個活動。
新聞發布
- beta階段我們在網頁端支持了社團新聞發布,
- 截止6.17,共發布了93條社團新聞。其中有16條是社團管理人員自主發布的。
網頁端使用情況
- 截止6.17,共有55個社團使用過網頁端編輯社團信息。
小程序打開次數
- alpha發布和beta發布后都形成了打開次數的高峰,beta發布后的高峰持續時間更長,峰值也更大。
- beta發布5.25-29之間我們依靠自己推廣,峰值下降得很快;5.29號后社聯參與推廣,可以考到形成的峰持續時間長得多。gamma階段發布后我們並未進行推廣,盡管臨近考期,但仍有少量用戶偶爾使用小程序。
小程序使用時間
- 用戶打開小程序的次數還不足以說明小程序使用情況,結合用戶在小程序上停留的時間和訪問深度我們可以進一步說明小程序的使用情況。
- alpha階段發布至beta階段發布
- beta階段發布至今
- 可以明顯看出,beta階段發布后用戶在小程序上停留的時間明顯變長,頁面訪問深度也增大,說明用戶在預覽更多信息。在更真切地使用小程序。
軟件工程記錄
- 燃盡圖
- 每日計划
- 任務計划,進度跟蹤,有效防止摸魚
- 任務細化分配
- 貢獻分記錄
測試
文檔與技術博客
文檔
- 接口文檔
- 需求分析文檔
- 其他相關資源(如未實現功能中的場地申請表格等)
后端
環境配置:
- 少昂: gitlab快速部署流程
- 少昂: win10下vagrant+centos7 rails虛擬開發機配置流程
- 少昂: 【vagrant】硬盤擴容
- 廓然: 利用Vagrant+virtualbox在windows下進行linux開發
技術點:
- 廓然: 數據庫1+N查詢問題
- 廓然: rails控制台調試路由
- 振亞: 如何避免在代碼中多重render
- 振亞: 用戶驗證碼驗證機制---redis緩存數據庫的使用
- 雨飛: 小程序掃碼登錄網頁端原理
- 雨飛: 小程序模板消息
前端
相比alpha階段,軟件質量提高
- beta階段更換了服務器,響應時間提高;同時使用了雲圖床,圖片下載速度提高。
- 功能拓展
- beta階段
- 支持社團信息、新聞、活動發布
- 討論區
- 申請入社
- 社員管理
- gamma階段
- 支持海報生成
- 消息推送
- 個人信息編輯
- beta階段
- bug fix
- 修復了自己發現以及用戶反饋的bug,alpha發布后前后端累計超過50個
- 用戶反饋
- beta階段接入社聯獲取用戶反饋
- gamma階段面向社長拉起小程序答疑群獲取反饋
- 之后發現bug的頻率大幅度提高
- 有了從基層了解需求的感覺
- 共發出7次問卷收集使用體驗、需求,根據問卷結構理性調整任務規划
- 聯系用戶進行debug
相比alpha階段,軟件工程質量的提高
- 階段前規划和任務分配
- 每日計划與跟蹤
- 注釋
- gamma階段集中補充了前后端注釋
- 后端重要模型、函數,前端復雜頁面結構、異步js調用都寫了注釋
- 冗余代碼清理
- beta階段結束和gamma階段結束都清理了前后端冗余代碼,主要為前端頁面重制所留下的冗余代碼。
- 需求篩選
- gamma階段的一個工作重心是從茫茫多的需求中挑選當前階段高優先級的任務
- 接口文檔審核
- 前后端互審保證接口設計符合需求
- 代碼審核
- beta階段雨飛參與后端代碼審核,代碼審核效率明顯提高
- 服務器崩潰次數相比從alpha階段起漸少,后端開發人員逐漸熟悉,服務器長期保持正常工作
- 代碼風格統一
- beta階段后端進行了代碼風格統一,涉及模型和接口數據格式
- 風險控制
- gamma階段根據團隊成員時間分配情況預估進度進行適當任務調整保證最終任務能按時完成
- 測試
- 保持全接口覆蓋的單元測試
- 總體覆蓋率超過90%
- 500並發壓力測試保證服務器在高流量下可以正常工作
- 前端對照需求設計細致地進行權限檢查和功能檢查
- scrum meeting
- 開會效率逐漸提高,前后端對接效率提高;開會時長逐漸減少,能更好地組織會議流程,先按計划開完會,有額外問題的人再留下來繼續解決,節約無關的人的時間。
Beta和Gamma階段學到了什么
Beta
- 技能上的主要提升:
- 使用對象存儲中間件來作為圖床,使得網頁端圖片的上傳成為可能,也使得小程序端獲取圖片更為流暢。
- 學會了使用redius保存10分鍾有效的緩存key數據來進行社長認證。即,每當社長想要跟社聯申請社長認證時,就由社聯調用這個接口,輸入社團id號,生成10分鍾內有效的key,社長即可進行認證。
- UI的設計:PM通過對比多種類似布局的小程序或APP,以及與前端同學進行討論,來對許多頁面的原型設計進行了改版,雖然只是處在模仿和拼接的階段的,但效果已經不錯,下一階段會爭取和設計師合作,從模仿提升到設計。
- 需求文檔的維護和更新:上一階段對需求文檔沒有進行更新,而只是停留在口頭交代,本階段對需求文檔進行了維護和更新,使得團隊成員對需求的理解更加深入,不足的地方在於需求文檔的書寫不大規范還需完善。
Gamma
-
技能上的主要提升:
1.為使用微信的服務:小程序碼頁面跳轉和模板消息推送,我們將服務器接入了微信服務器。熟悉了微信服務接口的使用流程並在實踐中積累了一些debug經驗。
2.前端學會用js生成圖片(海報),實現過程可謂到處是坑,相當艱辛。
3.后端實現了一個簡單的定時任務系統,用於在社團活動前開始24h推送消息到用戶微信。
4.需求篩選。Gamma階段我們仍有很多可以實現的功能(之前版本功能的拓展,社聯希望我們支持的功能,社團管理人員希望我們支持的功能,一般用戶希望我們支持的功能),我們最終綜合實現成本、收益分析、后續維護問題以及用戶需求調研進行了篩選決定了gamma階段實現的功能。鍛煉了軟工的需求分析能力。
5.面向當前階段用戶建立了一個答疑群,對小程序使用進行了答疑,用戶反饋了很多Bug以及意見,對小程序的改善有重要作用。鍛煉了與用戶溝通的能力。
-
UI設計:這一版沒有大改UI,新的UI繼承上一版的風格,小程序UI整體風格逐漸統一。
-
文檔維護和代碼注釋:這一版補充了一些技術博客、配置文檔,保持新接口在接口文檔中的更新,並在代碼中加入許多重要注釋,方便后續維護和增量開發。同時,前后端都對冗余代碼進行了刪除,有助於軟件工程質量的提高。
文檔位置和新人入口
- 文檔在gitlab上,主要包括:
- 明年的同學若繼續開發這個項目,可能會有一些抱怨,但是怨氣不會太大。因為我們的文檔還算完備(如上),能夠讓新學生了解整個項目從0到1的過程,以及最重要的接口文檔。其中,上述快速搭建環境文檔可以指導新人順利運行我們的項目。
- gamma階段我們對后續還可以繼續開發的功能做了詳細的需求分析討論,后續開發的同學可以考慮參考該文檔。【Gamma】設計與計划。
關於以前的項目
- 雖然我們的項目在名義上,是基於以前的項目,但其實兩個項目只是有所交叉,其實區別很大,而且以前項目的版本太舊跑不起來。因此我們在整個項目中實際並未使用任何之前的代碼,完全自己重構開發。