軟件概要設計文檔
1.引言
1.1目的
該文檔的目的是描述輔助選課系統的概要設計,主要內容包括系統功能簡介、系統結構設計、系統結構設計、系統接口設計、模塊設計和界面設計等。
本文檔預期的讀者包括設計人員、開發人員、項目管理人員、測試人員。
1.2范圍
1.2.1系統目標
開發一個支持學生選課並輔助學生選課的APP。
1.2.2主要軟件需求
該系統主要功能包括:
l 用戶登錄
l 用戶選課
l 查看課表
l 輔助選課
l 信息更新
1.2.3軟件設計約束
軟件支持單鍵盤、單鼠標的物理結構。
1.3縮寫
無
1.4術語
輔助選課:根據用戶的課表和用戶提供的需求,系統挑選出符合條件的課程。
1.5參考資料
[1] 需求概要設計文檔格式標准[S].GB856D-1988.
[2]竇萬峰.軟件工程方法與實踐[M].北京:機械工業出版社,2016.10
[3]竇萬峰.軟件工程實驗教程[M].北京:機械工業出版社,2016.11
1.6版本信息
具體版本信息如表A-1所示
表A-1 具體版本信息
修改編號 |
修改日期 |
修改后版本 |
修改位置 |
修改內容概述 |
1 |
2018-6-7 |
1.0 |
全部 |
完成第一次編寫 |
2.數據設計
2.1數據對象和形成的數據結構
輔助選課系統設計的主要數據結構如下:
l 用戶:描述用戶的基本信息,包括用戶名、學號、密碼等。其數據結構是一個順序數據結構,包括用戶的基本信息。
l 課程:描述課程的基本信息,包括課程名稱、課程編號、上課時間、上課老師等。其數據結構是一個順序數據結構,包括課程的基本信息。
l 選課過程:描述選課的基本信息,包括選用戶的學號、課程名稱、上課時間、上課老師等。其數據結構是一個順序數據結構,包括選課過程的基本信息。
2.2文件和數據庫結構
描述文件的數據結構或者庫表結構。
2.2.1
包括文件的邏輯結構、邏輯記錄描述、訪問方法。輔助選課系統主要的外部文件有:
l 用戶信息文件:Users.txt。
l 選課過程信息文件:SelectLessons.txt。
2.2.2全局數據
輔助選課系統的全局變量有:
l 課程信息文件:Lessons.txt。
2.2.3文件和數據交叉索引
l 用戶信息文件用在用戶管理功能中;
l 課程信息文件用於用戶查看/搜索課程功能中;
l 選課過程信息文件用與選課成功功能中。
3.體系結構設計
這一部分主要描述軟件的邏輯組成接口,即軟件結構圖繪制。
3.1數據和控制流復審
對於輔助選課系統,我么們補充了一個總體數據流圖,如圖B-1所示。
3.2得出的程序結構
根據復審的數據流圖,逐步得出軟件的邏輯組成部分。利用優化思想,對軟件結構圖進行優化設計,得出模塊層次結構適中的軟件結構圖。
4.界面設計
這一部分主要給出界面設計的總體要求和界面序列,以及界面設計規約。
4.1人機界面規約
給出界面風格、約定和操作要求,設計出用戶的所有界面。輔助選課系統的界面的主要包括下面幾種。
l 用戶登錄界面:該界面能夠判斷用戶輸入的用戶名和密碼是否正確。並且該界面有用戶登錄功能。
l 系統總控界面:系統總控界面是系統的主界面,主要用於接收用戶的請求,並調用相應的模塊。
l 課程界面:該界面主要實現用戶查看課程的功能。顯示用戶的所有課程。
l 選課界面:該界面主要實現用戶選課的功能。並顯示用戶選課的記錄。
4.2人機界面設計規約
給出界面序列關系,以及每個界面的操作規則和處理規則。各界面轉化關系如下:
用戶登錄界面->系統總控界面->課程界面->選課界面。
5.接口設計
5.1外部接口設計
5.1.1外部數據接口
暫無
5.1.2外部系統或設備接口
鼠標與鍵盤是USB接口連接。
5.2內部接口設計規約
5.2.1內部模塊接口調用關系
登錄模塊需要調用與數據庫的接口,選課,退課需要調用程序與網絡的接口
5.2.2接口數據結構
6.模塊過程設計
選課系統
6.1功能:實現用戶的選課,退課以及查看課程功能。
6.2模塊分類:
網絡傳輸模塊:與網站進行數據交互
用戶登錄模塊:通過用戶名和密碼登陸網站
選課模塊:實現選課功能
退課模塊:實現課程的補退選
網絡傳輸模塊:顯示該用戶已選擇的課程
6.3用例模型視圖:
6.4活動圖
7.需求交叉索引
登錄功能:網絡傳輸模塊和登錄模塊
用戶管理功能:用戶信息修改模塊
選課功能:網絡傳輸模塊和選課模塊
補退選功能:網絡傳輸模塊和退課模塊
顯示課程信息:網絡傳輸模塊和網絡傳輸模塊
8.測試部分
8.1測試方針
首先對規定的正常的功能進行測試,以黑盒測試為主,白盒測試為輔助來設計測試用例,測試用例要盡量覆蓋所有的程序功能,記錄測試中的問題。
8.2集成策略
采用自底向上的增量式測試策略
8.3特殊考慮
無