1. 引言部分
引言部分主要說明編寫目的、系統的范圍和參考資料等。
1.1目的
該文檔的目的是描述“自習吧”微信小程序的概要設計,主要內容包括系統功能簡介、系統結構設計、模塊設計和界面設計等。
本文檔的預期讀者包括:Triple兔成員,軟件工程老師,用戶。
1.2 范圍
1.2.1 系統目標
開發一個滿足華農學生查詢可自習的空教室的微信小程序。方便同學們自習的同時,還可以讓同學們約自習;同時,本小程序還提供蹭課查詢功能,豐富大家的課余時間。
1.2.2 主要軟件需求
該系統的主要功能包括:
l 查詢空教室
l 蹭課查詢
l 約自習
1.2.3 軟件設計約束、限制
軟件支持多客戶端同時使用的分布式物理結構。
1.3縮寫說明
無。
1.4術語定義
無。
1.5參考資料
[1]竇萬峰.軟件工程與實踐[M].北京:機械工業出版社,2017.
1.6版本信息
修改編號
|
修改日期
|
修改后版本
|
修改位置
|
修改內容概述
|
|
|
|
|
|
2.數據設計
本部分主要描述軟件所涉及的外部數據的結構描述。如果數據以數據庫文件呈現,則描述表的名稱和表字段結構;如果數據以外部文件形式呈現,則要描述文件的內部結構。
2.1數據對象和形成的數據結構
自習吧微信小程序所設計的主要數據結構如下:
課程表(schedule):
I.經過篩選后,系統用於生成找自習教室的主界面。
該數據結構包括課程id,星期幾,上課節次,起始周,課程編號,課程名稱,教師名,上課場所,上課時間詳細,上課場所詳細,課程性質,教學樓,專業組成。其數據結構是一個順序結構。
課程(class)
I.經過用戶自定義篩選后,系統從課程表中篩選符合條件課程,生成蹭課界面的課程列表。
該數據結構包括課程id,授課老師,組成班級,起始周,星期幾,上課節次,上課場所。其數據結構是一個順序結構。
簡要組隊邀請(invitation)
I.用於生成約自習界面的組隊帖子
該數據結構包含invitation_id,昵稱,性別,專業,組隊性別,關鍵詞,概括組隊說明。其數據結構為一個順序結構。
詳細組隊邀請(invitation)
I.用於用戶個人編輯組隊邀請內容
該數據結構包含invitation_id,昵稱,性別,專業,組隊性別,詳細組隊說明,關鍵詞。其數據結構為一個順序結構。
用戶個人信息(User)
I.用於保存用戶個人資料
該數據結構包含用戶id,昵稱,性別,學院,專業,座右銘,便簽。其數據結構為一個順序結構。
2.2文件和數據庫結構
描述文件的的數據結構或者庫表的結構
2.2.1外部文件結構
無
2.2.2全局數據
該系統需要的全局變量有:
1.課程表Schedule
2.用戶個人資料(包括用戶id,昵稱,性別,專業,座右銘,便簽)
3 體系結構設計
這一部分主要描述軟件的邏輯組成接口,即軟件結構圖的繪制。
3.1數據和控制流復審
對需求規格說明書中要實現的功能進行歸納分析,對涉及的數據和控制流進行匯總和歸並,為概要設計做准備。
一般對數據流圖的精化分析包括兩個方面的內容,一是復審整個數據流圖,查看有沒有遺漏的地方,並補充和完善。二是分析每一個數據流圖(活動圖),去掉一些細節的內容。
3.2 得出的程序結構
根據復審的數據流圖,逐步得出軟件的邏輯結構組成。利用優化思想,對軟件結構圖進行優化設計,得出模塊層次結構適中的軟件結構圖。如下所示:
4.界面設計
這一部分主要給出界面設計的總體要求和界面序列,以及界面設計規約。
4.1 人機界面規約
給出界面風格,約定和操作要求,設計出用戶的所有界面。“自習吧”微信小程序的界面主要包括以下幾種。
1.查詢空教室界面(默認界面):該界面可根據用戶輸入的教學樓編號,教學樓座號,樓層號檢索教室信息。
2.蹭課界面:該界面可根據用戶的選擇進行搜索,可以選擇按課程名、專業名、教師名檢索,搜索結果應包含課程名稱,授課老師,上課時間,上課地點。
3.約自習界面:該界面用戶可以發布自習邀約,查看別人發布的自習邀約,刪除個人發布的自習邀約。發布自習邀約需要填寫個人信息,如果用戶一開始沒有填寫基本個人信息,則在每次發布動態時會提醒用戶需填寫自己的個人基本信息,否則,不予發布;當用戶首次完整填寫個人信息后,系統提示用戶可以將其保存在個人信息頁面,供將來直接調用。
4.2人機界面設計規約
給出界面序列關系,以及每個界面的操作規則和處理規則。“自習吧”微信小程序有以下幾種界面序列。
登錄首界面:
新用戶的界面序列:授權小程序獲取用戶信息—進入默認界面(空教室查詢界面)。
老用戶的界面序列:登錄—進入默認界面(空教室查詢界面)。
默認界面與約自習界面序列:默認界面—約自習界面—選擇發布或瀏覽—刷新
默認界面與蹭課界面序列:默認界面—蹭課界面—檢索—得到結果
內部模塊
●登錄模塊
●小程序初始化模塊
●查教室模塊
●查看自習邀約模塊
●修改自習邀約模塊
●刪除自己的自習邀約模塊
●發布自習邀約模塊
●蹭課模塊
5、模塊過程設計
5.1處理說明
1.約自習登錄模塊
I.首次登錄:綁定微信號,獲取微信名
II.普通登錄:驗證身份。正確即登入,錯誤即拒絕接入,退出。
2.查教室模塊
注:有課為灰色,自習為綠色
I.默認界面:上方選項卡默認為二教F1,界面顯示為二教教室情況。
II.篩選后界面:上方選項卡為用戶點擊結果,界面顯示相應教學樓教室情況
3.約自習模塊:
1)對自習邀約的管理,包括查看自習邀約,發布自習邀約,刪除自己發布的自習邀約和修改自習邀約模塊:
2)查看所有人發布的自習邀約,當數據有更新時,界面自動刷新
刪除自己的自習邀約模塊
3)發布自習邀約模塊。用戶填寫邀約信息和個人信息后,點擊發布,所有人都可在廣場上看見該邀約
4.蹭課模塊:
1. 關鍵詞搜索
1.1 按專業名搜索
1.2 按課程名搜索
1.3 按老師名搜索
2. 結果顯示
6、需求交叉索引
描述需求與模塊的關系、存在交叉的部分,相互聯系又有相互獨立的部分。
需求中小程序的啟動需要登錄模塊和小程序初始化模塊,只有這兩個模塊正常運行,小程序才能正常啟動
需求中小程序的默認模塊為空教室查詢模塊
需求中三大模塊分別為空教室查詢模塊、約自習模塊、蹭課模塊,相互之間獨立。
需求中部分模塊又有自己的子模塊,約自習模塊又分為查看自習邀約模塊、刪除自己的自習邀約模塊、發布自習邀約模塊,三者之間相互調用。