1. 引言
1.1編寫目的
本部分旨在闡明編寫詳細設計的目的,面向讀者對象。
本文檔主要描述各個模塊的細節設計,明確軟件的結構與實現過程,分析各個模塊,描述模塊的功能、性能和結構等方面包括模塊接口、調用關系、處理過程和算法,以及各個模塊的測試方案。本文檔的主要讀者為軟件設計人員、模塊開發人員、管理人員、測試人員。
1.2項目背景
我們通過調查問卷的方式,調查了華農部分學生,結果顯示參加調查的50%以上的學生有查找空教室,蹭課,約自習需求。經過討論權衡分析最終確定以該想法----華中農業大學空教室查詢作為項目主題,並在此基礎上進行功能拓展:經過約自習、蹭課,以微信小程序為應用平台,為華農全體學生提供便利的空教室查詢途徑。
1.2.1項目來源
該項目起初源自Triple兔小組一名成員的想法。
1.2.2項目實現
本項目由Triple兔小組成員共同實現。
1.3縮寫定義
華農:華中農業大學。
Triple兔:華中農業大學信息學院triple兔軟件工程小組。
1.4術語定義
無。
1.5參考資料
[1]竇萬峰.軟件工程與實踐[M].北京:機械工業出版社,2017.
1.6版本信息
修改編號
|
修改日期
|
修改后版本
|
修改位置
|
修改內容概述
|
1
|
2019-5-17
|
1.0
|
全部
|
完成第一次編寫
|
2.總體設計
本部分簡要給出系統的需求和軟件結構組成,以便追蹤到需求與設計。
2.1需求概述
自習吧小程序的需求定義如下:
初始化設置:設置用戶登錄后的初始頁面為查空教室頁面。
用戶發布邀約設置:在發出邀約之前,必須填寫個人資料。
2.2軟件結構
自習吧小程序流程圖經過優化設計,得出模塊層次結構適中的軟件總流程圖如下:
3.程序描述
本部分針對每一個模塊進行詳細設計。
3.1登錄模塊
3.1.1 模塊說明如下:
小程序授權登錄,獲取用戶個人信息,進入小程序
3.1.2算法
后端算法描述:
前端算法描述:
3.1.3程序邏輯
3.2 查詢空教室模塊
3.2.1 模塊說明如下:
輸入:教學樓信息(幾棟教學樓,哪座,幾層)
輸出:當前樓層的教室信息
功能:查詢指定教學樓樓層的教室信息(空閑或者有課)
性能:要求在0.5秒以內完成
3.2.2算法
查詢空教室模塊調用以下模塊完成相應功能:
查詢指定教學樓樓層的空閑教室
調整數據格式
后端算法描述:
前端算法描述:
3.2.3程序邏輯
3.3蹭課模塊
3.3.1 模塊說明如下:
輸入:課程名,教師名,專業名(三選一)
輸出:課程信息
功能:查詢想要上的課程的具體信息
性能:要求在0.5秒以內完成
3.3.2 算法
蹭課模塊調用以下模塊完成相應功能:
(三選一)
根據課程名查詢相應課程信息
后端算法描述: 前端算法描述:
根據教師名查詢該教師教授的課程
后端算法描述: 前端算法描述:
根據專業名查詢該專業本學期上的課
后端算法描述: 前端算法描述:
補充:其他算法:
3.3.3 程序邏輯
3.4約自習模塊
3.4.1 模塊說明如下:
輸入:用戶約自習請求信息
輸出:在“廣場”頁面上對所有人顯示該請求
功能:用戶輸入的約自習請求,在數據庫中保存相應請求的信息,並在“廣場”頁面上對所有人可見,在“我的”頁面可查看、刪除或編輯用戶個人發布的邀約。
性能:要求在0.5秒以內完成
3.4.2算法
蹭課模塊模塊調用以下模塊完成相應功能:
接收用戶輸入的信息
數據庫存儲
數據庫信息顯示
主要功能描述:1.發布約自習 2.查看仔細邀約內容 3.檢索自習邀約內容
后端算法描述:
前端算法描述:
3.4.3程序邏輯
3.5測試要點
主要測試輸入輸出接口是否正確,以及模塊內部調用關系是否正確。