一、需求規格說明書
-
面向用戶分析
我們的選題是 iGDUT 小程序的一個子板塊「活動牆」,面向的用戶是有兩個方向,一是廣工大的各大學生機構和學生組織;二是廣工大的所有學生。
活動牆,顧名思義,是給哥打學生組織或者機構,發布活動信息的地方。舉個例子,比如最近信息工程學院舉辦的信息杯競賽,就可以通過在我們的活動牆上發布信息杯的競賽活動信息,來推廣這個活動,使得能夠被更多學生看到、了解到這個活動。既為活動主辦方提供了曝光的渠道,也為廣大學生提供了一個了解活動、豐富課外生活的窗口。
-
功能性需求
本項目的功能性需求主要包含兩個部分:面向機構用戶的 Web 端,和面向普通用戶的小程序端。
面向機構用戶的 Web 端:
該部分主要面向的用戶,是各大學生組織和機構的負責人。該部分需要具備的功能需求有如下幾個:
- 登錄注冊
具備注冊和登錄功能,其中,注冊需要完成實名認證和機構認證。登錄則通過小程序掃碼的方式,實現快捷登錄,優化用戶體驗。
- 內容編輯、發布和管理
平台內置富文本編輯器,支持編輯類似於微信公眾號推文的內容形式,並且支持通過微信公眾號推文鏈接、一鍵快速導入內容。
能夠對內容進行發布和管理。內容發布需要經過審核流程,審核通過后進入“待發布”狀態,用戶可以隨時進行發布。發布后也可以對內容進行申請頭條廣告位、刪除內容等內容管理操作。
- 活動內容數據的統計和查看
通過對小程序端的數據埋點和收集,實現針對每個活動的數據統計。並支持機構在管理后台查看每個活動的統計數據。
面向普通用戶的小程序端:
- 活動列表的查看、篩選、排序和搜索
用戶可以在活動牆板塊中,以列表的形式查看活動,並且點擊查看活動詳情。除此之外,還需要能夠支持按照特定的范圍和條件,來對活動列表進行篩選和排序。並且能根據關鍵詞來搜索特定的活動。
- 查看活動詳情
用戶通過點擊活動列表的某一項,進入對應活動的詳情頁,來查看活動詳細信息。要支持活動詳情的圖文並茂查看。
-
技術需求
本項目的技術需求也可以划分為兩個部分:面向機構用戶的 Web 端,和面向普通用戶的小程序端。
面向機構用戶的 Web 端:
- 登錄注冊
注冊環節需要具備接入 iGDUT 完成實名認證的功能,其中涉及到前后端、Web 端和小程序端的多端交互。登錄環節由於采用手機掃碼登錄,因此依然設計Web 端和小程序端的多端交互,需要從技術上解決多端交互的狀態機維護、防御欺騙攻擊等問題。
- 內容編輯、發布和管理
由於平台內置富文本編輯器,並且支持通過微信公眾號推文鏈接、一鍵快速導入內容。因此,首先需要具備富文本編輯能力,並且需要具備抓取和解析微信推文源代碼的能力。
活動內容的審核流程,涉及內容安全的問題。因此,需要解決能自動識別不良、有害以及涉政信息的能力,同時還需要具備出現問題時快速切斷鏈接的能力。
面向普通用戶的小程序端:
- 活動列表的查看、篩選、排序和搜索
要實現對活動列表的查看、篩選、排序和搜索,就必須先對活動進行打標簽、分類等操作。這就要求我們的系統有一定的自動分類能力,然后輔以用戶發布時手動設置的標簽,然后實現對活動內容的快速索引,從而實現高效的排序和搜索。
此外,需要引入 CDN 和分布式架構設計,使得系統能夠承載 2000 人並發訪問,以應對大多數情況下用戶使用場景的需求。
- 查看活動詳情
查看豐富、多種內容形式的活動詳情頁,意味着小程序端需要支持多種形式內容的富文本渲染能力,以及具備打開率、讀完率、閱讀時間、分享數據的收集和統計,以便機構用戶在管理后台查看活動數據。
二、預期用戶量
預期用戶量 25000 ,這是根據很長一段時間內的平均日活計算得出。
三、系統的真實性、可用性以及價值闡述
-
真實:本項目被設計為小程序 iGDUT 的子版塊之一,而 iGDUT 小程序已有數萬日活,本項目一開發完成上線,即可立即觸達數萬真實用戶,不僅需求和資源真實存在,上線之后所有的場景和使用數據也都真實可考。
-
可用:iGDUT 如今已每日服務數萬用戶,活動牆一經上線,所有功能都即時可用。
-
有價值:當前,社團舉辦活動的宣傳和推廣主要靠發傳單和擺攤以及公眾號推文朋友圈傳播,難以觸達大量用戶;另一方面,很多想要參加活動的學生苦與無從獲得活動信息。於是我們在兩者之間搭建一道橋梁,在雙方之間去做一個信息的聚合和分發,對接雙方需求。
如今是信息爆炸的時代,每天我們都浸泡在大量的信息之中,所以需要有一個渠道去整合信息,幫助人們篩選自己想要的信息。
綜上,本項目在日常生活中貼合我們實際的需求,能為用戶產生持續且巨大的價值。
四、團隊項目的碼雲鏈接、issues 截圖
團隊項目的碼雲鏈接:https://gitee.com/sixers/activityWall-Web (前端)
https://gitee.com/sixers/activityWall-Server (后台)
注:因項目特殊性,代碼不能公開,因此倉庫是私有的。要檢查倉庫,請發郵件聯系我我們團隊 mail@str-mo.com
,抱歉!
我們對每周的開發計划都建立了 issues,issues 截圖如下:
五、團隊項目的時間安排表
原先的計划:
時間 | 事項 |
---|---|
第9周 | 1.進行需求分析,編寫需求文檔 |
2.原型設計,設計第一版 UI,隊員估計任務難度並學習必要的技術 | |
3.編碼規范完成、平台環境搭建完成、初步架構搭建 | |
4.開發人員確立前后端接口文檔 | |
第10周 | 1.原型改進(給目標用戶展現原型,並進一步理解需求) |
2.架構設計,WBS, 團隊成員估計各自任務所需時間 | |
3.制定測試計划 | |
第11周 | 1. 團隊項目 Alpha 任務分配計划 |
2. 連續7天的 Alpha 敏捷沖刺,7 篇 每日 Scrum Meeting 博客+代碼提交 | |
第12周 | 1.用戶反饋 + 測試計划改進 |
2. 團隊 Alpha 階段個人總結 | |
3. 團隊項目 Alpha 博客:發布說明、測試報告、展示博客、項目管理 | |
第13周 | 1. 團隊項目 Alpha 博客:事后分析 |
修正后的計划:
時間 | 事項 |
---|---|
第9周 | 1.進行需求分析,編寫需求文檔 |
2.原型設計,設計第一版 UI,隊員估計任務難度並學習必要的技術 | |
3.編碼規范完成、平台環境搭建完成、初步架構搭建 | |
4.開發人員確立前后端接口文檔 | |
第10周 | 1.UI 改進,並邀請一些用戶提出意見,跟進修改並最終定稿第一版UI |
2.架構設計,WBS, 團隊成員估計各自任務所需時間 | |
3.初步開展開發工作,制定測試計划 | |
第11周 | 1. 團隊項目 Alpha 任務分配計划 |
2. 連續7天的 Alpha 敏捷沖刺,7 篇 每日 Scrum Meeting 博客+代碼提交,每日與用戶交流開發進展,聽取用戶意見 | |
第12周 | 1.用戶反饋 + 測試計划改進 |
2. 團隊 Alpha 階段個人總結 | |
3. 團隊項目 Alpha 博客:發布說明、測試報告、展示博客、項目管理 | |
第13周 | 1. 團隊項目 Alpha 博客:事后分析 |
矯正計算方法:
上表的修改主要集中在第 10 、11 周。
我們提早引入用戶的參與,部分修正開發流程,讓用戶盡可能全程參與到我們的產品設計中來。
六、團隊的分工
- 莫少政:負責產品設計和前端開發,統籌團隊開發工作和架構設計,驗證技術需求。
- 黃思揚:負責前端開發,設計 Web 原型圖,和后端人員確立接口文檔以及開發規范。
- 余澤端:負責后台方面的開發,進行接口對接,與前端開發人員確定接口文檔,共同完成每周的作業博客。
- 江海靈:我在此次項目開發主要完成后端服務器邏輯操作,同時在保證小程序正常運行的情況下(測試正常下)做相關文案工作,緩解團隊壓力。
- 溫治乾:這次我的分工安排為負責后端邏輯處理的一些工作,盡管可能經驗有點欠缺,不過我會好好為之付出。同時與前端的同學溝通好數據的傳遞、接口的對接等等。
七、每個人完成的情況
- 莫少政:與團隊一起討論需求,完成了需求分析和初步的產品設計,完成對整個產品流程和交互的初步構思和設計,對部分可能存在問題的技術需求完成了驗證。
- 黃思揚:與隊友共同分析確立需求,完成了第一版原型圖的設計,確立了 Web 端頁面組件邏輯,與后端開發人員確立了第一版接口文檔。
- 余澤端:與前端開發人員確定接口文檔,理清基礎業務邏輯,完成后台的基礎架構。
- 江海靈:我主要擔任項目測試工作,由於項目正在開發,暫不能進行測試工作,於是我幫助團隊分擔項目需求分析書。
- 溫治乾:與前端人員已溝通好接口方面的內容,對整體的邏輯有了進一步的了解。
八、每個人的感想
- 莫少政:這幾天的需求討論,團隊之間增進了感情,更重要的是,大家對我們要實現的項目有了更清晰的認識,對之前可能存在有些模糊和分歧的地方,達成了共識。
- 黃思揚:經過這幾天與隊友一起分析討論需求,以及到確立開發規范和邏輯,我感受到了一個團隊高效的合作氛圍。除此之外,也開始一步步接觸到了完整規范的開發流程,明白了高質量的需求規格說明書之於一個項目的重要性。
- 余澤端:在經歷一個合作團隊項目的開發過程中,最大的收獲便是合作分工,交流進步過程的鍛煉。理清業務邏輯的前提是與團隊負責產品設計,需求分析人員進行討論。在確立接口文檔的過程中,需要進一步的理解需求,與前端開發人員共同討論功能的設計,制定規范的接口,制作合格的需求文檔。
- 江海靈:我很高興能參與到軟工團隊項目開發中,我們一致認為活動牆的推動將給大學生(目前試點立於我們學校)帶來越大的便利,大學生不需要頻繁從多種渠道獲取活動信息,我們目標是做到只在一處地方就能獲取所有活動,無須花過多時間在於搜索;另外地對我們成員來說,由於老師常常提供幫助性建議,少讓走彎路,我們不僅比較輕松完成團隊前階段任務,而且收獲團員間深厚友誼。
- 溫治乾:很高興這次軟工作業能夠跟班里幾個很優秀的同學合作,這不僅能夠讓這次的作業完成地更高質量,同時與這樣優秀的同學一起做這項工作還給了我一次非常寶貴地機會學習他們在做一個項目時考慮的東西、注重的地方,以及能夠學習他們做事的細節。我們這次打算做的活動牆,我認為是一個非常具有社會價值的項目,我希望能在其中發揮自己一份小小的力量。