界面原型程序demo:http://kealine.top/SE/demo/
一、引言
1.1 編寫目的
此文檔為“Violet”音樂社區開發團隊的指導文檔。開發人員閱讀此文檔有助於團隊間合作,同時提高軟件質量。開發者應仔細閱讀此文檔,根據文檔需求來進行開發,達到預期功能與效果。
1.2 開發背景
音樂是一門藝術,是由有組織的樂音來表達人們情感、反映人類現實生活情感的藝術。現代科技的發展使得人們可以利用網絡隨時隨地的享受音樂,然而在當今互聯網卻很少有一個以音樂為媒介的社交平台。本開發團隊想以“音樂+社交”的形式,開發一款集聽歌、交友和討論為一體的網上社區——“Violet”音樂社區。Violet多指紫羅蘭,也可形容羞怯的人,本團隊旨在通過此平台增強人們對音樂的交流,同時拉近人與人之間的距離。
1.3 開發工具
前端 | 后端 | |
---|---|---|
開發語言 | JavaScript | Python |
框架 | Vue.js | Flask |
二、項目需求
2.1 角色定義
角色 | 定義 |
---|---|
管理員 | 可對音樂庫進行樂曲的上傳和下架,對普通用戶進行管理,對用戶動態和圈子進行管理。 |
普通用戶 | 可以搜索音樂並播放並且關注其他用戶,可以發布動態和創建圈子。 |
游客 | 可以在曲庫中搜索音樂並播放,但是無法瀏覽用戶創建的圈子和發布的動態,自身也無法發布動態和創建圈子。 |
2.2 模塊划分
“Violet”音樂社區的功能模塊可基本分為兩個方面:音樂模塊以及社交模塊。模塊示意圖如下圖所示:
2.3 功能概述
2.3.1 管理員
-
添加歌曲到曲庫:添加歌曲(包括:歌曲名稱,歌手,歌曲圖片或歌手圖片)到曲庫中。
-
下架歌曲:應一些版權方要求或歌詞中含有一些不良信息或敏感信息而從曲庫中下架歌曲。
-
限制用戶評價歌曲:當某用戶發布的評價被其他用戶舉報(使用不文明詞匯,發布不良信息或敏感信息,發布反動言論)且核實后,封禁相應用戶在一段時間內無法評價所有歌曲,時間長短視情節嚴重改變。
-
限制用戶發布動態:當某用戶發布的動態被其他用戶舉報(使用不文明詞匯,發布不良信息或敏感信息,發布反動言論)且核實后,封禁相應用戶在一段時間內無法發布動態,時間長短視情節嚴重改變。
-
限制用戶創建圈子:當某用戶創建的圈子被其他用戶舉報(圈子內討論不正常信息,組織非法活動,組織違反道德底線的活動)且核實后,封禁相應用戶在一段時間內無法創建圈子,時間長短視情節嚴重改變。
-
解散圈子:當某用戶創建的圈子被其他用戶舉報(圈子內討論不正常信息,組織非法活動,組織違反道德底線的活動)且核實后,管理員可以解散該圈子。
-
刪除帖子:當某用戶發布的帖子被其他用戶舉報(帖子內發布不正常信息,組織非法活動,組織違反道德底線的活動)且核實后,管理員可以解散該帖子。
-
刪除用戶動態:當某用戶發布的動態被其他用戶舉報(使用不文明詞匯,發布不良信息或敏感信息,發布反動言論)且核實后,管理員可以刪除該動態。
2.3.2 普通用戶
- 修改個人信息:用戶可以在個人主頁上修改個人信息(包括個人昵稱,密碼,頭像,個人介紹)。
- 搜索歌曲:用戶在首頁搜索欄輸入歌曲名稱,網頁顯示歌曲中包含用戶輸入的搜索信息的歌曲。
- 搜索相應歌手的歌曲:用戶在首頁搜索欄輸入歌手名稱,網頁返回該歌手下對應的歌曲。
- 瀏覽評價:用戶在點擊具體某一首歌之后可以在網頁下方瀏覽該歌曲的相應的評論。
- 評價歌曲:用戶在點擊具體某一首歌之后可以在網頁下方對該歌曲進行相應的評論。
- 用戶關注:用戶在曲庫的評價頁面上,通過瀏覽其他用戶的評論尋找志同道合的人進行關注。
- 取消關注: 用戶可以在我關注的人頁面或者被關注的人的主頁進行取消關注用戶功能。
- 創建動態:用戶可以在個人主頁上發布動態(可添加圖片,動態只能被你自己和關注你的人看見)。
- 瀏覽動態: 用戶可以進入其他用戶動態頁面,瀏覽其他用戶的動態(只有關注當前用戶才能瀏覽該用戶動態,否則只能查看他的個人介紹信息)。
- 評論動態: 用戶可以對自己的動態或者關注的人的動態進行評價
- 創建圈子: 用戶可以創建一個小組形式的圈子群,並且邀請關注的人加入該圈子。
- 發布帖子: 用戶可以在自己加入的圈子中發布帖子,可供別的用戶評論。
- 評論帖子: 用戶可以在自己發布的帖子或者是其他用戶發布的帖子下方進行評論,也可對其他用戶的評論進行回復。
- 邀請用戶加入圈子: 可以邀請關注的人加入圈子
2.3.3 游客
- 搜索歌曲: 游客在首頁搜索欄輸入歌曲名稱,網頁顯示歌曲中包含游客輸入的搜索信息的歌曲。
- 搜索相應歌手的歌曲: 游客在首頁搜索欄輸入歌手名稱,網頁返回該歌手下對應的歌曲。
- 瀏覽評價: 游客在點擊具體某一首歌之后可以在網頁下方瀏覽該歌曲的相應的評論。
- 注冊賬號:游客可以在頁面上注冊賬號變成用戶從而進行具備一些用戶的權限。
2.4 數據流圖
三、前端頁面
“Violet”平台選用PC網頁端,要求整體界面簡潔、風格統一,且與用戶有良好的交互性。該平台主要有以下界面:
- 登陸界面
用於用戶驗證。要求:界面簡潔明了。
- 主頁面
用於展示熱門歌曲、歌單、專輯,並提供索引欄和播放欄。要求:界面簡潔、主題色調醒目。
- 曲庫搜索頁面
用於用戶搜索歌曲、歌單、專輯,同時提供熱門搜索鏈接。要求:界面簡潔明了。
- 動態頁面
用於展示用戶所關注的人發的動態
- 圈子頁面
用於展示該平台上存在的圈子,可通過分類索引欄找到不同類別的圈子(如華語、搖滾、情歌等)。要求:界面簡潔明了、布局合理、用戶易上手。
- 個人主頁
用於展示用戶個人所發的動態、關注的人、加入的圈子。要求:界面簡潔明了,布局合理。
(*注:若在開發過程中遇到特殊需求,可合理添加其他頁面)
四、軟件要求
4.1 性能要求
本平台主要針對普通用戶,對時間要求度不高,但仍要保證系統穩定快速地運行,同時面對不同瀏覽器不會產生兼容性問題,具體要求如下:
- 數據精確性
要求在用戶操作過程中傳輸的數據准確無誤。
- 時間特性
要求系統即使在多用戶同時訪問、負載較高的情況下,也能對用戶的操作做出快速響應,對數據的變化做出快速更新。
- 適應性
要求在不同性能的終端,不同的網絡環境,不同的瀏覽器上都能正常運行,不會產生兼容性問題。
4.2 屬性要求
本平台在使用過程中,不會對用戶系統造成傷害,不會非法竊取用戶個人信息,更不會在未經允許的情況下訪問除平台數據庫外任何用戶的文件。
- 安全性
該平台具有用戶登錄驗證功能,對嘗試登陸失敗次數超過上限的賬號,進行暫時拒絕登陸,同時通過綁定的郵箱或手機提醒用戶本人該操作。
- 完整性
在遇到突發事故,如硬件損壞、停電等,平台數據不會丟失。
- 可維護性
平台的不同模塊之間應具有良好的隔離性,產生bug時可以精確定位問題模塊,且不會影響其他模塊的正常運行。
- 易使用性
平台界面的功能和索引等元素應具有良好的交互性,便於用戶接受,同時提供必要的幫助文檔。
五、人員分工
姓名 | 學號 | 具體分工 |
---|---|---|
周佳輝 (組長) | 31701030 | 界面原型,前端開發 |
羅賢哲 | 31701013 | 界面原型,前端開發 |
孫華陽 | 31701015 | 數據庫設計,后端開發 |
陳天翼 | 31701007 | 數據流圖繪制,后端開發 |
董騰然 | 31701009 | 需求文檔撰寫,后端開發 |
周家豪 | 31701059 | 需求文檔撰寫,后端開發 |