引言數據庫
1.1編寫目的網絡
本階段完成系統的大體設計並明確系統的數據結構與軟件結構。本概要設計說明書的目的就是進一步細化軟件設計階段得出的軟件概貌,把它加工成在程序細節上很是接近與源程序開發的軟件表示。數據結構
預期讀者:軟件測試員、程序開發員、軟件分析員數據庫設計
1.2背景函數
說明:工具
a. 待開發軟件系統的名稱;動態的太陽系模型性能
b. 列出此項目的任務提出者、開發者、用戶以及將運行該軟件的計算站(中心)。測試
項目任務提出者:馬仲山動畫
項目任務開發者:馬仲山,馬紹輝,馬世芳,張俊逸,馬婧,馬婧
用戶:初一學生編碼
實現該軟件的計算機網絡:校園網
1.3定義
邏輯結構:簡稱數據結構,用來實現用戶觀點的系統結構的表示。
管理員:系統的最高級權限的用戶
1.4參考資料
《軟件工程導論》 張海潘 牟永敏 編著 清華大學出版社
2整體設計
2.1需求規定
第一:系統是單用戶的,這裏的單用戶是指不須要用戶名和密碼,用戶進入系統能夠直接對系統進行操做。第二:系統有多視角。第三:太陽系是能夠放大、縮小的,而且保證放大、縮小後行星照樣能正確地運行。第四:有專門的初始化工具。第五:有對應的工具按鈕。
系統爲模擬系統,外觀要逼真才比較好,因此咱們須要從網上下載關於行星的圖片,這樣看起來比較逼真。真實的太陽系是三維空間的,不一樣的視角下觀看的結果是不同的,因此在系統要實現從兩種視角來觀看太陽系,分別爲俯視和側視。這兩種視角看到太陽系的感受是徹底不同的。選定了一種視角後就能夠在這種視角下觀看太陽系各行星的運行,固然也能夠放大,縮小,左(右,上,下)移動整個太陽系,在太陽系運行過程當中,固然也能夠暫停行星的運行,使太陽系處於靜止狀態,再次點擊運行,行星會接着動起來。若是想回到最初的狀態,也能夠點一下復原按鈕,整個太陽系又回到了此視角下的最初始的狀態。若是想換個視角來看太陽系,直接點擊你想要的視角的按鈕,這兩種視角下能夠行使的功能是同樣的。根據功能的劃分,咱們將系統劃分爲如下9個功能模塊和兩大界面,以及在工具欄上設置工具按鈕。
2.2運行環境
操做系統在windowXP以上
客戶端要配備JDK和SQL等應用開發軟件
2.3基本設計概念和處理流程
1.系統有多視角。
2.太陽系是能夠放大、縮小的,而且保證放大、縮小後行星照樣能正確地運行。
模擬系統界面逼真且美觀,功能實用。
3.用戶進入系統能夠直接對系統進行操做。
4.近日、遠日行星的顯示,放大、縮小、左、右、上、下移動功能,多視角觀察太陽系概貌,行星運行、靜止以及初始狀態復原。
2.5功能器求與程序的關係
本條用一張以下的矩陣圖說明各項功能需求的實現同各塊程序的分配關係:
|
教師模塊 |
學生模塊 |
單用戶 |
√ |
√ |
多視角 |
√ |
√ |
任意放大縮小 |
|
√ |
初始化工具 |
|
√ |
2.6人工處理過程
須要時刻的備份數據,以上不可抗拒因素致使數據的丟失。
2.7性能
性能:單用戶,多視角,任意放大縮小
1.單用戶:
用戶進入系統能夠直接對系統進行操做。
2.多視角:系統有多視角。可多視角觀察太陽系概貌,行星運行、靜止以及初始狀態復原。
3.任意放大縮小: 太陽系是能夠放大、縮小的,而且保證放大、縮小後行星照樣能正確地運行。模擬系統界面逼真且美觀,功能實用。近日、遠日行星的顯示,放大、縮小、左、右、上、下移動功能,多視角觀察太陽系概貌,行星運行、靜止以及初始狀態復原。
2.8還沒有解決的問題
本軟件項目還有不少功能沒有實現,有些操做過於複雜,但願之後能夠簡化。
3接口設計
3.1用戶接口
應用程序接口是一組定義、程序及協議集合,經過API 接口實現計算機軟件之間的相互通訊。目前主流API 接口的有SGI 開發的OpenGL和微軟開發的DirectX。二者分別有各自的優點,OpenGL可跨平臺使用, 具備高度移植性而且是最爲普遍使用的2D/3D 圖形 API。DirectX 僅侷限於Windows平臺,常應用於遊戲領域,除了具備圖形API,另還有聲音、輸入、網絡等API 接口。本系統中僅用到圖形API 接口,同時須要考慮仿真系統跨平臺後的適用性,所以本系統最終選擇OpenGL 圖形庫接口。
3.2外部接口
暫無
3.3內部接口
程序內的各個模塊之間採用函數調用、參數傳遞、返回值得方式進行信息傳遞。
4運行設計
4.1運行模塊組合
咱們將行星的運動放在輔線程中,若需讓行星運行的時候建立輔線程,若想讓運動的行星暫停下來則只需撤銷輔線程。若要保證行星在運行的時候準確地在軌道上,那麼就要不停的計算下個時刻行星位置的座標,軌道是個橢圓,咱們能夠有現成的數學公式用來計算,可是放在或縮小或平移後橢圓參數會發生變化,此時咱們就須要讓各參數加上或減去一些值,保證在軌道發生改變後那些行星依然找獲得本身的路。
4.2運行控制
運動控制做爲系統基礎功能,經過模型變換控制天體位置、天體自轉及公轉速度以實現天體運動的效果。爲增長系統的生動性及真實感,在每一個場景中均表現出天體運動場景。
動畫演示模塊
(1) 公轉自轉動畫模塊:點擊按鈕,觀看公轉自轉教學演示動畫。
(2) 行星介紹動畫模塊:點擊按鈕,觀看行星介紹教學演示動畫。
(3) 配音及背景音樂模塊:配音輔助學生理解記憶。
4.3運行時間
24小時均可運行
5系統數據結構設計
5.1邏輯結構設計要點
給出本系統內所使用的每一個數據結構的名稱、標識符以及它們之中每一個數據項、記錄、文卷和系的標識、定義、長度及它們之間的層次的或表格的相互關係。
5.2物理結構設計要點
(1)八大行星圍繞太陽的公轉。
(2)八大行星和太陽的自轉。
(3)個性化的人工界面。
5.3數據結構與程序的關係
經過在數據庫內創建主外鍵來關聯這些數據。
6測試計劃
6.1測試目的
測試該軟件可否正常運行,須要的功能是否已經所有實現。
6.2測試啓動與結束準則
6.2.1 測試啓動準則
系統測試的啓動準則(應同時知足)
上一輪系統測試全部發現的缺陷均被處理;
上一輪系統測試所發現的應被修正的缺陷已被修正完成;
測試版本已通過開發人員的冒煙測試;
測試版本內容符合版本規劃;
6.2.2 測試結束準則
實行了該階段全部的測試策略並達到結束標準。
全部本輪的測試用例都被執行過。
6.2.3 測試暫停/停止標準
發現有重大設計或編碼問題,其致使流程性阻塞;
發現有重大設計或編碼問題,其致使20%以上的測試用例沒法執行或執行無心義,測試相關特性已經無心義;
發現有重大設計或編碼問題,其修改會致使30%以上的函數接口,功能等的數量級的變化測試相關特性已經無心義;
項目再啓動時,測試進度從新安排或順延。
若有新的項目需求,則在原測試計劃下作相應的調整。
若項目停止,則對已完成的測試工做作測試活動總結。
7系統出錯處理設計
7.1出錯信息
錯誤類型 |
錯誤提示 |
輸入信息不合法 |
輸入信息不正確,請再次輸入 |
程序運行錯誤 |
給予相應的出錯提示 |
7.2補救措施
a.當出現斷電或者電腦出現故障(死機、藍屏)的話,能夠經過之前備份的形式對數據進行回覆。
b.當用戶須要在此增長功能的時候,能夠經過在原系統的基礎上進行擴充。
7.3系統維護設計
1)在數據庫設計的時候,學生信息與學生上機、學生充值、學生退卡記錄都不在一個表中,防止信息刪除或更新的時候,信息的不一致重疊羅嗦。
2)在程序內部經過創建模塊,不一樣窗體調用一個模塊的形式進行設計,減小了代碼的操做量,提升了運行的速度。