5w-大作業(yè)說明和軟件工程ppt課件.ppt_第1頁
5w-大作業(yè)說明和軟件工程ppt課件.ppt_第2頁
5w-大作業(yè)說明和軟件工程ppt課件.ppt_第3頁
5w-大作業(yè)說明和軟件工程ppt課件.ppt_第4頁
5w-大作業(yè)說明和軟件工程ppt課件.ppt_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、張艷梅 ymzhang,1,提綱,實(shí)驗(yàn)任務(wù)說明 軟件工程概述 小組成員及職責(zé) 課程設(shè)計(jì)進(jìn)度安排及提交內(nèi)容 程序結(jié)構(gòu)說明,2,1.實(shí)驗(yàn)任務(wù)說明,實(shí)驗(yàn)一 模擬電梯系統(tǒng)程序設(shè)計(jì) 實(shí)驗(yàn)二 模擬火車調(diào)度系統(tǒng)程序設(shè)計(jì) 實(shí)驗(yàn)三 模擬銀行營業(yè)廳排隊(duì)系統(tǒng)程序設(shè)計(jì),3,實(shí)驗(yàn)一 模擬電梯系統(tǒng)程序設(shè)計(jì),電梯的運(yùn)行控制策略 順便服務(wù)策略。在運(yùn)行控制中所規(guī)定的安全前提下,一次將一個(gè)方向上的所有呼叫和目標(biāo)全部完成。然后掉轉(zhuǎn)運(yùn)行方向完成另外一個(gè)方向上的所有呼叫和目標(biāo) (要求實(shí)現(xiàn)) 。,4,實(shí)驗(yàn)一 模擬電梯系統(tǒng)程序設(shè)計(jì),輸入方式: 以鍵盤輸入呼叫和目標(biāo)。 圖形界面輸入呼叫和目標(biāo)。 輸出方式: 命令行輸出報(bào)告電梯運(yùn)行狀態(tài)。 電梯

2、運(yùn)行的動(dòng)畫顯示(調(diào)用基于WIN32API的圖形庫函數(shù)Easy Graphical egG (Egg))。 文件記錄:電梯運(yùn)行情況的記錄(結(jié)果)文件 。 版本一:實(shí)現(xiàn)從鍵盤接收輸入,命令行輸出,文件記錄; 版本二:實(shí)現(xiàn)從圖形界面輸入,動(dòng)畫輸出,文件記錄。,5,實(shí)驗(yàn)二 模擬火車調(diào)度系統(tǒng)程序設(shè)計(jì),火車A 出站探測(cè)點(diǎn),火車A 進(jìn)站探測(cè)點(diǎn),火車B 進(jìn)站探測(cè)點(diǎn),火車B 出戰(zhàn)探測(cè)點(diǎn),控制策略:如果出現(xiàn)2個(gè)監(jiān)測(cè)點(diǎn)同時(shí)向中央控制中心發(fā)信號(hào),提示火車要進(jìn)入公共運(yùn)行軌道,則A、B車交替使用公共軌道。,6,實(shí)驗(yàn)二 模擬火車調(diào)度系統(tǒng)程序設(shè)計(jì),火車的運(yùn)行控制策略:如果出現(xiàn)2個(gè)監(jiān)測(cè)點(diǎn)同時(shí)向中央控制中心發(fā)信號(hào),提示火車要進(jìn)入

3、公共運(yùn)行軌道 A、B車交替使用公共軌道 快車優(yōu)先(初始設(shè)置A、B車的級(jí)別) 要求實(shí)現(xiàn)上述2種策略,而且在火車運(yùn)行過程中能動(dòng)態(tài)更改策略,7,實(shí)驗(yàn)二 模擬火車調(diào)度系統(tǒng)程序設(shè)計(jì),輸入數(shù)據(jù) 1)一系列的初始化信息,包括:火車運(yùn)行速度(分級(jí)),運(yùn)行軌道的長和寬,兩火車是否同時(shí)啟動(dòng),先啟動(dòng)哪輛火車,啟動(dòng)間隔時(shí)間,啟動(dòng)位置以及探測(cè)點(diǎn)位置。 2)控制信號(hào),包括暫?;蛘呃^續(xù)某輛火車運(yùn)行,改變控制策略。 輸入方式 初始化信息可以從鍵盤或者文本文件讀取 控制信號(hào)從鍵盤/界面輸入,8,實(shí)驗(yàn)二 模擬火車調(diào)度系統(tǒng)程序設(shè)計(jì),輸出方式(采用a或者b) a動(dòng)畫顯示火車運(yùn)行情況:運(yùn)行軌道,火車當(dāng)前位置,探測(cè)點(diǎn)位置。如果探測(cè)點(diǎn)監(jiān)測(cè)

4、到火車通過,需要變色。 b使用文件記錄火車運(yùn)行情況,每隔5秒記錄一次。 版本一:從鍵盤輸入,火車運(yùn)行情況輸出到文件。 版本二:從界面輸入,火車運(yùn)行情況動(dòng)畫輸出。,9,實(shí)驗(yàn)二 模擬火車調(diào)度系統(tǒng)程序設(shè)計(jì),較高要求: 在火車運(yùn)行軌道上設(shè)置若干??空军c(diǎn),不同的站點(diǎn)可能有不同的??繒r(shí)間。在動(dòng)畫輸出時(shí),要能顯示出剩余停靠時(shí)間。,10,實(shí)驗(yàn)三 模擬銀行營業(yè)廳排隊(duì)系統(tǒng)程序設(shè)計(jì),銀行營業(yè)廳配置 營業(yè)窗口設(shè)38個(gè),可以靈活設(shè)置 兩類客戶:一類是普通客戶,一類是VIP客戶 (需要提供VIP身份號(hào)進(jìn)行身份驗(yàn)證) 設(shè)定12個(gè)窗口優(yōu)先辦理VIP客戶服務(wù)。只要有VIP客戶在等待,這些窗口都要優(yōu)先辦理VIP客戶業(yè)務(wù)。只在當(dāng)前

5、沒有VIP客戶服務(wù)申請(qǐng)的情況下,這些窗口轉(zhuǎn)去辦理普通客戶業(yè)務(wù)。,11,實(shí)驗(yàn)三 模擬銀行營業(yè)廳排隊(duì)系統(tǒng)程序設(shè)計(jì),所有客戶到達(dá)后,先取號(hào)排隊(duì),等待營業(yè)窗口叫號(hào)。 營業(yè)窗口按順序逐個(gè)叫號(hào)進(jìn)行服務(wù)。 營業(yè)窗口在辦完一項(xiàng)業(yè)務(wù)后,可以暫停辦理,停止叫號(hào),休息一段時(shí)間,然后恢復(fù)辦理。但原則上所有窗口不會(huì)同時(shí)休息。 到下班時(shí)間點(diǎn)或收到“下班”指令后,不再接受新來的客戶;等原有排隊(duì)的客戶都被處理完畢,才允許正式 下班,關(guān)閉營業(yè)廳,退出程序。,12,實(shí)驗(yàn)三 模擬銀行營業(yè)廳排隊(duì)系統(tǒng)程序設(shè)計(jì),銀行營業(yè)廳的排隊(duì)策略 按照先來先服務(wù)原則,普通窗口永遠(yuǎn)只能服務(wù)于普通客戶。 VIP窗口順便服務(wù)策略 VIP窗口在VIP客戶隊(duì)列

6、為空的時(shí)候,轉(zhuǎn)變?yōu)槠胀ǚ?wù)窗口,跟其他窗口一起分擔(dān)處理普通客戶 VIP窗口在VIP客戶出現(xiàn)后要盡快結(jié)束普通業(yè)務(wù)的處理,為VIP客戶提供服務(wù),13,實(shí)驗(yàn)三模擬銀行營業(yè)廳排隊(duì)系統(tǒng)程序設(shè)計(jì),輸入數(shù)據(jù) 1)營業(yè)廳初始化信息,包括:營業(yè)窗口的數(shù)量、短暫休息時(shí)間、下班時(shí)間、VIP信息庫。 2)控制信號(hào),包括客戶到達(dá)、VIP身份號(hào)、窗口暫停服務(wù)、下班指令。 輸入方式 從鍵盤輸入 從界面輸入,14,實(shí)驗(yàn)三模擬銀行營業(yè)廳排隊(duì)系統(tǒng)程序設(shè)計(jì),輸出方式(采用a或者b) a動(dòng)畫顯示營業(yè)廳服務(wù)情況:營業(yè)窗口、工作或暫停狀態(tài),當(dāng)前服務(wù)號(hào)碼,等待服務(wù)的客戶數(shù)。以及是否到下班時(shí)間或是否發(fā)出下班指令。 b使用文件記錄營業(yè)廳服務(wù)情

7、況,每服務(wù)完一個(gè)客戶記錄一次。 版本一:初始化信息從文本文件讀取,控制信息從鍵盤輸入,營業(yè)情況輸出到文件。 版本二:初始化信息可以自由選擇從文本文件或者從鍵盤輸入,控制信息從界面輸入,營業(yè)情況動(dòng)畫輸出。,15,提綱,實(shí)驗(yàn)任務(wù)說明 軟件工程概述 小組成員及職責(zé) 課程設(shè)計(jì)進(jìn)度安排及提交內(nèi)容 程序結(jié)構(gòu)說明,16,開發(fā)軟件不僅僅是編程,17,目標(biāo):提高軟件質(zhì)量和生產(chǎn)率,軟件質(zhì)量要素 正確性:軟件滿足規(guī)格說明及完成用戶目標(biāo)的程度 可靠性:軟件無故障執(zhí)行一段時(shí)間的概率 性能:完成一項(xiàng)任務(wù)所花時(shí)間在可忍受范圍 容錯(cuò)性:忽略或自動(dòng)處理數(shù)據(jù)錯(cuò)誤;后臺(tái)處理運(yùn)行期異常,以友好可理解的方式提示告警. 完整性:控制未被

8、授權(quán)人員訪問程序和數(shù)據(jù)的程度 易用性:用戶使用軟件的難易程度 靈活性:允許用戶變更顯示風(fēng)格和操作模式 易理解性:代碼易讀,設(shè)計(jì)思路清晰,文檔齊全 易維護(hù)性:模塊間獨(dú)立性強(qiáng),數(shù)據(jù)結(jié)構(gòu)有擴(kuò)充余地,18,以規(guī)范的方式操作全過程,19,瀑布模型(Waterfall Model),20,軟件開發(fā)策略1:復(fù)用,拿來主義! 復(fù)用成熟的代碼,創(chuàng)新小部分內(nèi)容. 面向?qū)ο髮W(xué)者的口頭禪:“請(qǐng)不要再發(fā)明相同的車輪子了!”,21,軟件開發(fā)策略2:分而治之,從易到難,循序漸進(jìn)。羅馬不是一天建成的! 計(jì)劃!計(jì)劃!還是計(jì)劃!要有可行的設(shè)計(jì)圖紙!,22,軟件開發(fā)策略3:優(yōu)化折中,優(yōu)化工作不是可有可無的事情,而是必須要做的事情。

9、 “為了使整個(gè)組織具有最好的戰(zhàn)斗力,我們要重用幾個(gè)人,照顧一些人,在萬不得已的情況下委屈一批人”。,23,提綱,實(shí)驗(yàn)任務(wù)說明 軟件工程概述 小組成員及職責(zé) 課程設(shè)計(jì)進(jìn)度安排及提交內(nèi)容 程序結(jié)構(gòu)說明,24,3.小組成員職責(zé),組長職責(zé) 進(jìn)度計(jì)劃的制定和監(jiān)控,定期召開小組討論會(huì)議; 制定編碼規(guī)范(程序書寫風(fēng)格要全組一致); 任務(wù)分解與任務(wù)安排; 4、定期召開小組會(huì)議了解進(jìn)度以及存在的問題; 5、各階段末需要開小組會(huì)議對(duì)階段成果進(jìn)行討論評(píng)審;,25,3.小組成員職責(zé),組員職責(zé) 積極參與討論; 配合組長的工作,完成組長交給的任務(wù); 要求對(duì)自己負(fù)責(zé)實(shí)現(xiàn)的每一個(gè)函數(shù)要進(jìn)行算法設(shè)計(jì)和單元測(cè)試。 重視組員之間的

10、協(xié)作,有問題及時(shí)溝通。 遇到難題要向助教和老師申請(qǐng)幫助。,26,提綱,實(shí)驗(yàn)任務(wù)說明 軟件工程概述 小組成員及職責(zé) 課程設(shè)計(jì)進(jìn)度安排及提交內(nèi)容 程序結(jié)構(gòu)說明,27,程序設(shè)計(jì)進(jìn)度要求,第7周 提交概要設(shè)計(jì)書 第9周 提交詳細(xì)設(shè)計(jì)書 第14周 提交可運(yùn)行版本1和測(cè)試報(bào)告(鍵盤輸入、文件輸出),源代碼和使用說明文檔。 第17周 提交可運(yùn)行版本2和測(cè)試報(bào)告(界面輸入、動(dòng)畫輸出并文件記錄),源代碼和使用說明文檔。,28,程序提交網(wǎng)址,文件和狀態(tài)機(jī)作業(yè)的提交地址是: /tseginfo/index.jsp 大作業(yè)的文檔和程序提交網(wǎng)址是

11、/expbeta 文件和狀態(tài)機(jī)作業(yè)命名要求: 班級(jí)號(hào)-班內(nèi)序號(hào)-實(shí)驗(yàn)序號(hào)-題號(hào)-姓名-v1.c 班級(jí)號(hào):119,班內(nèi)序號(hào):131,實(shí)驗(yàn)序號(hào)(實(shí)驗(yàn)指導(dǎo)書上的序號(hào)):112,題號(hào)(實(shí)驗(yàn)指導(dǎo)書上的題目編號(hào)):112,v1指的是版本號(hào)。 例:15-21-12-4-張三-v1.c 表示15班21號(hào)張三同學(xué)實(shí)驗(yàn)12第4題去除注釋程序版本1,29,提綱,實(shí)驗(yàn)任務(wù)說明 軟件工程概述 小組成員及職責(zé) 課程設(shè)計(jì)進(jìn)度安排及提交內(nèi)容 程序結(jié)構(gòu)說明,30,5.程序結(jié)構(gòu)說明,整個(gè)程序(工程,由多個(gè)C文件組成)由輸入模塊、控制模塊和輸出模塊組成。 輸入模塊:用于接收請(qǐng)求(電梯請(qǐng)求、排隊(duì)請(qǐng)求),并保存到相應(yīng)數(shù)據(jù)結(jié)構(gòu)中。 控制

12、模塊:負(fù)責(zé)計(jì)算每一時(shí)刻的電梯/火車/營業(yè)窗口狀態(tài)(運(yùn)行/服務(wù)、開關(guān)門/???叫號(hào)/暫停 、空閑) 輸出模塊:不斷輸出刷新電梯/火車/營業(yè)廳的狀態(tài)。 注:版本二,界面輸入和動(dòng)畫輸出模塊可以合并,31,5.程序結(jié)構(gòu)說明輸入模塊,/*extern說明getInput能被其他文件中的函數(shù)調(diào)用*/ extern void getInput(void) char ch; while(ch=getchar()!=Q) switch(ch) /將請(qǐng)求保存到相應(yīng)變量中。 ,input.c,定義一個(gè)文件input.c,里面有一個(gè)函數(shù)getInput,用于接收鍵盤輸入請(qǐng)求, 并保留到相應(yīng)數(shù)據(jù)結(jié)構(gòu)中。,void ge

13、tInput(void);,input.h,32,5.程序結(jié)構(gòu)說明控制模塊,電梯狀態(tài)圖,33,運(yùn)行狀態(tài)的內(nèi)部細(xì)化,??繝顟B(tài)的內(nèi)部細(xì)化,34,5.程序結(jié)構(gòu)說明控制模塊,銀行窗口的狀態(tài)圖,35,5.程序結(jié)構(gòu)說明輸出模塊,使用圖形庫Easy Graphical egG (Egg)來完成動(dòng)畫顯示功能。在visual C+ 6 開發(fā)環(huán)境下調(diào)用。 可以創(chuàng)建2個(gè)文件output.c和output.h outPut.c中定義動(dòng)畫輸出的若干函數(shù),例如:定義一個(gè)函數(shù),功能是畫9層樓。 outPut.h是outPut.c中函數(shù)的函數(shù)原型聲明,供控制模塊或主模塊調(diào)用動(dòng)畫函數(shù)時(shí)使用。,36,5.程序結(jié)構(gòu)說明輸出模塊,/*extern說明drawState能被其他文件中的函數(shù)調(diào)用*/ extern

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論