《F4+2团队项目系统设计改进》
?
項(xiàng)目軟件系統(tǒng)設(shè)計(jì)改進(jìn)
?
1引言
1.1編寫目的
本階段完成系統(tǒng)的大致設(shè)計(jì)并明確系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)與軟件結(jié)構(gòu)。本概要設(shè)計(jì)說明書的目的就是進(jìn)一步細(xì)化軟件設(shè)計(jì)階段得出的軟件概貌,把它加工成在程序細(xì)節(jié)上非常接近與源程序開發(fā)的軟件表示。
預(yù)期讀者:軟件測(cè)試員、程序開發(fā)員、軟件分析員
1.2背景
說明:
a.???????待開發(fā)軟件系統(tǒng)的名稱;動(dòng)態(tài)的太陽(yáng)系模型
b.???????列出此項(xiàng)目的任務(wù)提出者、開發(fā)者、用戶以及將運(yùn)行該軟件的計(jì)算站(中心)。
??????????? 項(xiàng)目任務(wù)提出者:馬仲山
????? 項(xiàng)目任務(wù)開發(fā)者:馬仲山,馬紹輝,馬世芳,張俊逸,馬婧,馬婧
?用戶:初一學(xué)生
??? 實(shí)現(xiàn)該軟件的計(jì)算機(jī)網(wǎng)絡(luò):校園網(wǎng)
?
1.3定義
邏輯結(jié)構(gòu):簡(jiǎn)稱數(shù)據(jù)結(jié)構(gòu),用來實(shí)現(xiàn)用戶觀點(diǎn)的系統(tǒng)結(jié)構(gòu)的表示。
?管理員:系統(tǒng)的最高級(jí)權(quán)限的用戶
1.4參考資料
《軟件工程導(dǎo)論》 張海潘 牟永敏 編著 清華大學(xué)出版社
?
2總體設(shè)計(jì)
2.1需求規(guī)定
第一:系統(tǒng)是單用戶的,這里的單用戶是指不需要用戶名和密碼,用戶進(jìn)入系統(tǒng)可以直接對(duì)系統(tǒng)進(jìn)行操作。第二:系統(tǒng)有多視角。第三:太陽(yáng)系是可以放大、縮小的,并且保證放大、縮小后行星照樣能正確地運(yùn)行。第四:有專門的初始化工具。第五:有對(duì)應(yīng)的工具按鈕。
??? 系統(tǒng)為模擬系統(tǒng),外觀要逼真才比較好,所以我們需要從網(wǎng)上下載關(guān)于行星的圖片,這樣看起來比較逼真。真實(shí)的太陽(yáng)系是三維空間的,不同的視角下觀看的結(jié)果是不一樣的,所以在系統(tǒng)要實(shí)現(xiàn)從兩種視角來觀看太陽(yáng)系,分別為俯視和側(cè)視。這兩種視角看到太陽(yáng)系的感覺是完全不一樣的。選定了一種視角后就可以在這種視角下觀看太陽(yáng)系各行星的運(yùn)行,當(dāng)然也可以放大,縮小,左(右,上,下)移動(dòng)整個(gè)太陽(yáng)系,在太陽(yáng)系運(yùn)行過程中,當(dāng)然也可以暫停行星的運(yùn)行,使太陽(yáng)系處于靜止?fàn)顟B(tài),再次點(diǎn)擊運(yùn)行,行星會(huì)接著動(dòng)起來。如果想回到最初的狀態(tài),也可以點(diǎn)一下復(fù)原按鈕,整個(gè)太陽(yáng)系又回到了此視角下的最初始的狀態(tài)。如果想換個(gè)視角來看太陽(yáng)系,直接點(diǎn)擊你想要的視角的按鈕,這兩種視角下可以行使的功能是一樣的。根據(jù)功能的劃分,我們將系統(tǒng)劃分為以下9個(gè)功能模塊和兩大界面,以及在工具欄上設(shè)置工具按鈕。
2.2運(yùn)行環(huán)境
操作系統(tǒng)在windowXP以上
客戶端要配備JDK和SQL等應(yīng)用開發(fā)軟件
2.3基本設(shè)計(jì)概念和處理流程
?
2.4結(jié)構(gòu)
2.5功能器求與程序的關(guān)系
本條用一張如下的矩陣圖說明各項(xiàng)功能需求的實(shí)現(xiàn)同各塊程序的分配關(guān)系:
| ? | 教師模塊 | 學(xué)生模塊 |
| 單用戶 | √ | √? |
| 多視角 | √? | √ |
| 任意放大縮小 | ? | √? |
| 初始化工具 | ? | √ |
?
?
2.6人工處理過程
需要時(shí)刻的備份數(shù)據(jù),以上不可抗拒因素導(dǎo)致數(shù)據(jù)的丟失。
3接口設(shè)計(jì)
3.1用戶接口
應(yīng)用程序接口是一組定義、程序及協(xié)議集合,通過API 接口實(shí)現(xiàn)計(jì)算機(jī)軟件之間的相互通信。目前主流API 接口的有SGI 開發(fā)的OpenGL和微軟開發(fā)的DirectX。兩者分別有各自的優(yōu)勢(shì),OpenGL可跨平臺(tái)使用, 具有高度移植性并且是最為廣泛使用的2D/3D 圖形 API。DirectX 僅局限于Windows平臺(tái),常應(yīng)用于游戲領(lǐng)域,除了具有圖形API,另還有聲音、輸入、網(wǎng)絡(luò)等API 接口。本系統(tǒng)中僅用到圖形API 接口,同時(shí)需要考慮仿真系統(tǒng)跨平臺(tái)后的適用性,因此本系統(tǒng)最終選擇OpenGL 圖形庫(kù)接口。
3.2外部接口
暫無
3.3內(nèi)部接口
程序內(nèi)的各個(gè)模塊之間采用函數(shù)調(diào)用、參數(shù)傳遞、返回值得方式進(jìn)行信息傳遞。
4運(yùn)行設(shè)計(jì)
4.1運(yùn)行模塊組合
?我們將行星的運(yùn)動(dòng)放在輔線程中,若需讓行星運(yùn)行的時(shí)候創(chuàng)建輔線程,若想讓運(yùn)動(dòng)的行星暫停下來則只需撤銷輔線程。若要保證行星在運(yùn)行的時(shí)候準(zhǔn)確地在軌道上,那么就要不停的計(jì)算下個(gè)時(shí)刻行星位置的坐標(biāo),軌道是個(gè)橢圓,我們可以有現(xiàn)成的數(shù)學(xué)公式用來計(jì)算,但是放在或縮小或平移后橢圓參數(shù)會(huì)發(fā)生變化,此時(shí)我們就需要讓各參數(shù)加上或減去一些值,保證在軌道發(fā)生改變后那些行星依然找得到自己的路。
4.2運(yùn)行控制
運(yùn)動(dòng)控制作為系統(tǒng)基礎(chǔ)功能,通過模型變換控制天體位置、天體自轉(zhuǎn)及公轉(zhuǎn)速度以實(shí)現(xiàn)天體運(yùn)動(dòng)的效果。為增加系統(tǒng)的生動(dòng)性及真實(shí)感,在每個(gè)場(chǎng)景中均表現(xiàn)出天體運(yùn)動(dòng)場(chǎng)景。
動(dòng)畫演示模塊
(1)??? 公轉(zhuǎn)自轉(zhuǎn)動(dòng)畫模塊:點(diǎn)擊按鈕,觀看公轉(zhuǎn)自轉(zhuǎn)教學(xué)演示動(dòng)畫。
(2)??? 行星介紹動(dòng)畫模塊:點(diǎn)擊按鈕,觀看行星介紹教學(xué)演示動(dòng)畫。
(3)??? 配音及背景音樂模塊:配音輔助學(xué)生理解記憶。
4.3運(yùn)行時(shí)間
24小時(shí)都可運(yùn)行
5系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
5.1邏輯結(jié)構(gòu)設(shè)計(jì)要點(diǎn)
給出本系統(tǒng)內(nèi)所使用的每個(gè)數(shù)據(jù)結(jié)構(gòu)的名稱、標(biāo)識(shí)符以及它們之中每個(gè)數(shù)據(jù)項(xiàng)、記錄、文卷和系的標(biāo)識(shí)、定義、長(zhǎng)度及它們之間的層次的或表格的相互關(guān)系。
5.2物理結(jié)構(gòu)設(shè)計(jì)要點(diǎn)
(1)八大行星圍繞太陽(yáng)的公轉(zhuǎn)。
(2)八大行星和太陽(yáng)的自轉(zhuǎn)。
(3)個(gè)性化的人工界面。
5.3數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系
通過在數(shù)據(jù)庫(kù)內(nèi)建立主外鍵來關(guān)聯(lián)這些數(shù)據(jù)。
6系統(tǒng)出錯(cuò)處理設(shè)計(jì)
6.1出錯(cuò)信息
| 錯(cuò)誤類型 | 錯(cuò)誤提示 |
| 輸入信息不合法 | 輸入信息不正確,請(qǐng)?jiān)俅屋斎?/p> |
| 程序運(yùn)行錯(cuò)誤 | 給予相應(yīng)的出錯(cuò)提示 |
?
?
6.2補(bǔ)救措施
?a.當(dāng)出現(xiàn)斷電或者電腦出現(xiàn)故障(死機(jī)、藍(lán)屏)的話,可以通過以前備份的形式對(duì)數(shù)據(jù)進(jìn)行回復(fù)。
?b.當(dāng)用戶需要在此增加功能的時(shí)候,可以通過在原系統(tǒng)的基礎(chǔ)上進(jìn)行擴(kuò)充。
6.3系統(tǒng)維護(hù)設(shè)計(jì)
????1)在數(shù)據(jù)庫(kù)設(shè)計(jì)的時(shí)候,學(xué)生信息與學(xué)生上機(jī)、學(xué)生充值、學(xué)生退卡記錄都不在一個(gè)表中,防止信息刪除或更新的時(shí)候,信息的不一致重疊羅嗦。
????2)在程序內(nèi)部通過建立模塊,不同窗體調(diào)用一個(gè)模塊的形式進(jìn)行設(shè)計(jì),減少了代碼的操作量,提高了運(yùn)行的速度。
?
轉(zhuǎn)載于:https://www.cnblogs.com/cnboke/p/9142636.html
總結(jié)
以上是生活随笔為你收集整理的《F4+2团队项目系统设计改进》的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache Jserv protoco
- 下一篇: 解决Windows下新安装的CodeBl