![軟件體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告1_第1頁](http://file4.renrendoc.com/view/06a5ca333d0187632efb122b2f073f40/06a5ca333d0187632efb122b2f073f401.gif)
![軟件體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告1_第2頁](http://file4.renrendoc.com/view/06a5ca333d0187632efb122b2f073f40/06a5ca333d0187632efb122b2f073f402.gif)
![軟件體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告1_第3頁](http://file4.renrendoc.com/view/06a5ca333d0187632efb122b2f073f40/06a5ca333d0187632efb122b2f073f403.gif)
![軟件體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告1_第4頁](http://file4.renrendoc.com/view/06a5ca333d0187632efb122b2f073f40/06a5ca333d0187632efb122b2f073f404.gif)
![軟件體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告1_第5頁](http://file4.renrendoc.com/view/06a5ca333d0187632efb122b2f073f40/06a5ca333d0187632efb122b2f073f405.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE2學(xué)生實(shí)驗(yàn)報(bào)告課程名稱:軟件體系結(jié)構(gòu)專業(yè)班級(jí):M11計(jì)算機(jī)科學(xué)與技術(shù)II班學(xué)生學(xué)號(hào):1121117031學(xué)生姓名:趙慧所屬院部:信息技術(shù)學(xué)院指導(dǎo)教師:張家浩2013——2014學(xué)年第二學(xué)期實(shí)驗(yàn)項(xiàng)目名稱:實(shí)驗(yàn)五子棋人機(jī)對(duì)弈的架構(gòu)實(shí)現(xiàn)實(shí)驗(yàn)學(xué)時(shí):6同組學(xué)生姓名:實(shí)驗(yàn)地點(diǎn)::A107軟件工程實(shí)驗(yàn)室實(shí)驗(yàn)日期:2014年3月14日——3月28日實(shí)驗(yàn)成績(jī):批改教師:張家浩批改時(shí)間:PAGE3實(shí)驗(yàn)五子棋人機(jī)對(duì)弈的架構(gòu)實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康模?)學(xué)習(xí)使用VS2010架構(gòu)瀏覽器(ArchitectureExplorer)、層圖(LayerDiagram)、類圖(ClassDiagram)、依賴圖(DependencyGraph)、時(shí)序圖(SequenceDiagram)等工具,分析已有軟件系統(tǒng)的靜態(tài)和動(dòng)態(tài)架構(gòu),并能從特定關(guān)注點(diǎn)切入,探索開發(fā)者所關(guān)心的問題(如:功能擴(kuò)展需求)與整體架構(gòu)的關(guān)系及如何從不同的層面來看架構(gòu)。這些工具的使用,可以幫助開發(fā)者根據(jù)自己的需要,理解和分析架構(gòu),其關(guān)注的細(xì)膩程度可以自由選擇,從程序、命名空間、類、到方法。(2)分析并解剖一個(gè)具體的軟件應(yīng)用系統(tǒng)——五子棋,當(dāng)需要將人人對(duì)弈的五子棋,擴(kuò)展為人機(jī)對(duì)弈時(shí),需要在系統(tǒng)架構(gòu)的什么地方,進(jìn)行擴(kuò)展最合適,為什么?如何進(jìn)行擴(kuò)展,實(shí)現(xiàn)它。(3)通過實(shí)驗(yàn),體會(huì)軟件架構(gòu)的存在,當(dāng)軟件開發(fā)涉及架構(gòu)問題時(shí)(如:如何進(jìn)行擴(kuò)展更合適、更方便),體會(huì)好的架構(gòu)與不良架構(gòu)的差別,認(rèn)識(shí)架構(gòu)在開發(fā)中的作用。二、實(shí)驗(yàn)要求(1)具有基本的C#語言編程技術(shù);(2)具有VS2010的基本使用經(jīng)驗(yàn);(3)完成系統(tǒng)調(diào)試,得出正確的實(shí)驗(yàn)結(jié)果;(4)做完實(shí)驗(yàn)后寫出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。三、實(shí)驗(yàn)設(shè)備、環(huán)境(1)VisualStudio2010。(2)老師提供的人人版的五子棋系統(tǒng)(C#)。四、實(shí)驗(yàn)步驟及內(nèi)容(1)利用VS2010的架構(gòu)分析器,畫出五子棋系統(tǒng)的依賴項(xiàng)關(guān)系圖:圖一圖二(2)說明五子棋系統(tǒng)中,以下類的主要作用和協(xié)同關(guān)系:From1類:Froml類中整合了整個(gè)五子棋程序大部分功能實(shí)現(xiàn)的方法,是整個(gè)系統(tǒng)的主要的部分。Froml類調(diào)用BlackStone/WhiteStone類完成棋子的實(shí)現(xiàn)。BlackStone/WhiteStone:BlackStone/WhiteStone主要是完成黑子和白子的實(shí)現(xiàn)即在棋盤上線的交叉點(diǎn)點(diǎn)擊是畫出對(duì)應(yīng)的棋子。協(xié)同關(guān)系如下:圖三圖四(3)利用VS2010的時(shí)序圖工具,分析From1類各方法之間的調(diào)用關(guān)系,畫出系統(tǒng)的主要執(zhí)行流程:圖五(4)將人人模式改為人機(jī)模式的切入點(diǎn)放在哪里最合適?為什么?放在privatevoidpanelGobang_Paint(objectsender,PaintEventArgse)處最為合適。把人人模式改為人機(jī)模式最主要在于,當(dāng)棋手落子是,系統(tǒng)將更具棋手落子的情況在棋盤上相應(yīng)的位置下子。panelGobang_Paint函數(shù)主要的功能是畫棋盤、判斷棋子的合法性(包括當(dāng)前棋子的顏色與位置)和記錄棋子的位置并判斷對(duì)弈的輸贏結(jié)果。在此處修改可以方便的實(shí)現(xiàn)系統(tǒng)的自動(dòng)應(yīng)對(duì)功能,包括棋子自動(dòng)下子、位置合法性處理以及勝負(fù)的判定。(5)將人人模式改為人機(jī)模式的主要修改方案(簡(jiǎn)單版),包括以下幾個(gè)步驟:1)將棋手對(duì)弈改成系統(tǒng)對(duì)棋手的對(duì)弈,效果為當(dāng)棋手落子時(shí)系統(tǒng)自動(dòng)對(duì)弈落子;2)系統(tǒng)落子時(shí)避開已有棋子的點(diǎn);3)當(dāng)棋盤沒有空點(diǎn)且未分出勝負(fù)時(shí),系統(tǒng)提示平局并主動(dòng)結(jié)束游戲。(6)實(shí)現(xiàn)代碼:(我只實(shí)現(xiàn)了在棋手落子是系統(tǒng)自動(dòng)的對(duì)應(yīng)落子與系統(tǒng)落子時(shí)的邊界判定,步驟2、3在實(shí)現(xiàn)的過程中出現(xiàn)了種種的錯(cuò)誤尚未解決,代碼將不再此處出現(xiàn))black[bcount].DrawBlackStone(e.Graphics);white[wcount].DrawWhiteStone(e.Graphics);nwhitestone=wcount+1;nblackstone=bcount+1;isPlayWhiteStone=false;isPlayBlackStone=false;if((black[bcount].X)/40-1>=1&&(black[bcount].Y)/40-1<9)if((white[wcount].X)/40-1>=1&&(white[wcount].Y)/40-1<9){isDraw[(black[bcount].X)/40-1,(black[bcount].Y)/40-1]=true;isBlackStone[(black[bcount].X)/40-1,(black[bcount].Y)/40-1]=true;isDraw[(white[wcount].X)/40-1,(white[wcount].Y)/40-1]=true;isWhiteStone[(white[wcount].X)/40-1,(white[wcount].Y)/40-1]=true;}else{isDraw[(black[bcount].X)/40-1,(black[bcount].Y)/40-1]=true;isBlackStone[(black[bcount].X)/40-1,(black[bcount].Y)/40-1]=true;//if()isDraw[(white[wcount].X)/40+1,(white[wcount].Y)/40+1]=true;isWhiteStone[(white[wcount].X)/40+1,(white[wcount].Y)/40+1]=true;}(7)實(shí)現(xiàn)結(jié)果截圖:圖六五、討論、思考題1、在對(duì)已有的五子棋系統(tǒng)進(jìn)行擴(kuò)充的時(shí)候,從架構(gòu)看,感覺好的(擴(kuò)展方便)的地方是什么?感覺不好的(擴(kuò)展不方便)的地方是什么?為什么?答:好擴(kuò)展的地方就是處理比較集中調(diào)用比較單一的地方,只需要修改少量的代碼就可以把所需要的功能實(shí)現(xiàn)。不好擴(kuò)展的地方就是被其他函數(shù)調(diào)用但是感覺沒有調(diào)用其他函數(shù)但是卻影響著另外的函數(shù)的地方,總是在我不認(rèn)為出錯(cuò)的地方出現(xiàn)問題,卻讓我不知道如何處理的地方。自己感覺應(yīng)該是正確的,編譯時(shí)也不好出錯(cuò)但是在程序運(yùn)行時(shí)出現(xiàn)意外的錯(cuò)誤。2、實(shí)驗(yàn)體會(huì)(遇到問題及解決辦法,實(shí)驗(yàn)過程
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)備類貨物運(yùn)輸合同
- 私家車租車合同范本
- 木門購(gòu)買安裝合同范本
- 會(huì)展服務(wù)協(xié)議合同正規(guī)范本
- 《教師嗓音保健》課件
- 企業(yè)人員借調(diào)合同
- 建筑工程施工總承包合同補(bǔ)充協(xié)議
- 光之教堂調(diào)研報(bào)告
- 基于非鉛鈣鈦礦單晶的高性能X射線探測(cè)器研究
- 基于雙氰基新型熒光染料生物硫醇熒光探針的構(gòu)建及其性能研究
- 教育環(huán)境分析報(bào)告
- 人力資源服務(wù)公司章程
- (正式版)CB∕T 4552-2024 船舶行業(yè)企業(yè)安全生產(chǎn)文件編制和管理規(guī)定
- 病案管理質(zhì)量控制指標(biāo)檢查要點(diǎn)
- 2024年西藏中考物理模擬試題及參考答案
- 九型人格與領(lǐng)導(dǎo)力講義
- 人教版五年級(jí)上冊(cè)數(shù)學(xué)脫式計(jì)算練習(xí)200題及答案
- 廉潔應(yīng)征承諾書
- 卵巢黃體囊腫破裂教學(xué)查房
- 醫(yī)院定崗定編
- 2023年大學(xué)物理化學(xué)實(shí)驗(yàn)報(bào)告化學(xué)電池溫度系數(shù)的測(cè)定
評(píng)論
0/150
提交評(píng)論