軟件工程答辯_第1頁
軟件工程答辯_第2頁
軟件工程答辯_第3頁
軟件工程答辯_第4頁
軟件工程答辯_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、可行性研究分析可行性研究分析軟件需求分析軟件需求分析系統(tǒng)總體設(shè)計(jì)系統(tǒng)總體設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)系統(tǒng)測(cè)試系統(tǒng)測(cè)試項(xiàng)目開發(fā)總結(jié)項(xiàng)目開發(fā)總結(jié)可行性研究分析1.1 1.1 技術(shù)可行性如今計(jì)算機(jī)已經(jīng)相當(dāng)普及,五子棋作為傳統(tǒng)的棋類游戲也可說是人人皆會(huì)。所以本次開發(fā)的五子棋游戲軟件是一款簡單的單機(jī)版小游戲,對(duì)用戶也不做特別的限制。此次開發(fā)采用的工具為基于C+語言的Visual C+6.0。由于五子棋游戲軟件本身所要實(shí)現(xiàn)的功能較為簡單,功能強(qiáng)大VC+足以滿足其編程需求,且對(duì)于軟件后續(xù)的優(yōu)化與功能添加也容易實(shí)現(xiàn)。綜上所述,本軟件的設(shè)計(jì)與開發(fā)在技術(shù)和硬件設(shè)備上的條件以及計(jì)算機(jī)軟件的使用上條件是成熟。因此,它在技術(shù)上

2、是可行的。1.2 1.2 經(jīng)濟(jì)可行性n此次軟件工程大作業(yè)的目的在于幫助我們切身體會(huì)軟件開發(fā)的內(nèi)容和過程,所以我們選擇了開發(fā)五子棋游戲。而市場(chǎng)上該游戲的不同版本已經(jīng)非常多了,所以這里對(duì)它的經(jīng)濟(jì)可行性分析不做過多的討論。1.31.3運(yùn)行可行性n本軟件為休閑益智類小游戲,所耗費(fèi)的資源非常的小,普通家用計(jì)算機(jī)無論是硬件還是軟件都能夠滿足條件,因此,本軟件在運(yùn)行上是可行的。軟件需求分析基本功能需求1.帶有棋盤的游戲界面;2.游戲雙方玩家輪流下子;3.判斷并顯示游戲勝利的一方;4.雙方可進(jìn)行悔棋操作;5.游戲進(jìn)行過程中可以選擇重新開始游戲;6.游戲結(jié)束可選擇重新開始或者直接退出。用戶界面需求對(duì)于一個(gè)好的軟

3、件有一個(gè)友好的用戶界面是很重要的。用戶界面應(yīng)盡量做的簡單、層次清晰明了,以最大限度為用戶提供操作方便。開發(fā)環(huán)境介紹本軟件使用的開發(fā)語言是Visual C+,以Windows 7系統(tǒng)為操作平臺(tái)。系統(tǒng)總體設(shè)計(jì)1. 下棋模塊:當(dāng)玩家在棋盤上點(diǎn)擊時(shí),自動(dòng)下棋。2. 悔棋模塊:當(dāng)玩家點(diǎn)擊“悔棋”按鈕時(shí),實(shí)現(xiàn)悔棋操作。3. 重新開始模塊:當(dāng)玩家點(diǎn)擊“重新開始”按鈕后,軟件對(duì)所有棋格信息 初始化,使整個(gè)棋盤還原到游戲開始的狀態(tài)。下棋悔棋重新開始五子棋軟件五子棋軟件體系結(jié)構(gòu)圖主程序流程圖NNNNYY開始是否獲勝下黑子下白子是否獲勝勝利結(jié)束輔助程序流程圖重新開始結(jié)束開始悔棋斷點(diǎn)退出程序退出詳細(xì)設(shè)計(jì)界面模塊游戲界

4、面采用游戲界面采用MFC來實(shí)現(xiàn)來實(shí)現(xiàn)主要功能: 打開游戲時(shí)直接進(jìn)入游戲,在棋盤內(nèi)可行棋 當(dāng)條件滿足時(shí),可以點(diǎn)擊“悔棋”,“重新開始” 點(diǎn)擊“悔棋”時(shí),進(jìn)入悔棋模塊 點(diǎn)擊“重新開始”時(shí),進(jìn)入重新開始模塊 點(diǎn)擊“退出”時(shí),游戲無條件退出下棋模塊(1)根據(jù)內(nèi)部記錄的數(shù)據(jù)信息,應(yīng)用程序自行判斷哪方下棋(輪流制),初始時(shí)為黑方行棋(2)當(dāng)點(diǎn)擊鼠標(biāo)時(shí),應(yīng)用程序收集鼠標(biāo)信息,判斷玩家行棋的位置,記錄信息,更新游戲界面視圖,判斷是否勝利,若勝,彈出提示對(duì)話框,若不勝,等待下一個(gè)信息響應(yīng)計(jì)數(shù)器計(jì)數(shù)器count鼠標(biāo)點(diǎn)擊網(wǎng)格坐標(biāo)定位網(wǎng)格信息修改顯示判勝負(fù)判勝負(fù)(3)如果收集到的鼠標(biāo)信息顯示已有信息記錄,彈出提示對(duì)話

5、框,并不更改數(shù)據(jù)信息。計(jì)數(shù)器計(jì)數(shù)器count鼠標(biāo)點(diǎn)擊網(wǎng)格坐標(biāo)定位網(wǎng)格信息修改顯示判勝負(fù)判勝負(fù)信息比對(duì)信息比對(duì)對(duì)話框等不等(4)當(dāng)達(dá)到勝利條件時(shí),自動(dòng)彈出對(duì)話框,顯示勝利一方,有三種選擇方式,“重新開始”,“退出”分別進(jìn)入相應(yīng)模塊,“返回”時(shí),棋盤界面不能被操作,直到去除勝利條件為止。計(jì)數(shù)器計(jì)數(shù)器count鼠標(biāo)點(diǎn)擊網(wǎng)格坐標(biāo)定位網(wǎng)格信息修改顯示判勝負(fù)判勝負(fù)顯示勝方返回重新開始退出悔棋模塊(1)當(dāng)棋盤上存在至少一枚棋子時(shí),可以點(diǎn)擊“悔棋”進(jìn)入此模塊(2)點(diǎn)擊“悔棋”時(shí),每次退兩步,除非棋盤上僅有一枚棋子,則退回初始狀態(tài)(3)每點(diǎn)擊一次“悔棋”,改變內(nèi)部記錄的數(shù)據(jù)信息,并更新游戲視圖界面,并判斷能否再

6、次進(jìn)入此模塊計(jì)數(shù)器計(jì)數(shù)器count網(wǎng)格信息修改顯示悔棋重新開始模塊重新開始重新開始顯示初始化初始化計(jì)數(shù)器計(jì)數(shù)器count網(wǎng)格信息系統(tǒng)測(cè)試五子棋軟件測(cè)試用例序號(hào)序號(hào)測(cè)試用例標(biāo)題測(cè)試用例標(biāo)題期望結(jié)果期望結(jié)果1 1玩家交替落子玩家交替落子成功,雙方玩家可以實(shí)現(xiàn)黑白子交替進(jìn)行游戲,成功,雙方玩家可以實(shí)現(xiàn)黑白子交替進(jìn)行游戲,不會(huì)出現(xiàn)一方連續(xù)下子的情況。不會(huì)出現(xiàn)一方連續(xù)下子的情況。2 2棋盤外落子棋盤外落子無響應(yīng),當(dāng)點(diǎn)擊在棋盤外區(qū)域時(shí)軟件能準(zhǔn)確判斷無響應(yīng),當(dāng)點(diǎn)擊在棋盤外區(qū)域時(shí)軟件能準(zhǔn)確判斷并不做出響應(yīng)。并不做出響應(yīng)。3 3有子棋格內(nèi)落子有子棋格內(nèi)落子軟件提醒,當(dāng)點(diǎn)擊在有子的棋格內(nèi)時(shí)軟件能發(fā)出軟件提醒,當(dāng)點(diǎn)

7、擊在有子的棋格內(nèi)時(shí)軟件能發(fā)出提醒。提醒。4 4橫向勝負(fù)判定橫向勝負(fù)判定提示勝利,當(dāng)任意一方橫向連成五子時(shí)軟件應(yīng)提提示勝利,當(dāng)任意一方橫向連成五子時(shí)軟件應(yīng)提示該方玩家勝利。在該用例中還可對(duì)連成線五子示該方玩家勝利。在該用例中還可對(duì)連成線五子落子的不同落子順序進(jìn)行測(cè)試。落子的不同落子順序進(jìn)行測(cè)試。5 5豎向勝負(fù)判定豎向勝負(fù)判定提示勝利,當(dāng)任意一方豎向連成五子時(shí)軟件應(yīng)提提示勝利,當(dāng)任意一方豎向連成五子時(shí)軟件應(yīng)提示該方玩家勝利。在該用例中還可對(duì)連成線五子示該方玩家勝利。在該用例中還可對(duì)連成線五子落子的不同落子順序進(jìn)行測(cè)試。落子的不同落子順序進(jìn)行測(cè)試。6 6“/ /”向勝負(fù)判定向勝負(fù)判定提示勝利,當(dāng)任意

8、一方提示勝利,當(dāng)任意一方“/ /”向連成五子時(shí)軟件應(yīng)向連成五子時(shí)軟件應(yīng)提示該方玩家勝利。在該用例中還可對(duì)連成線五提示該方玩家勝利。在該用例中還可對(duì)連成線五子落子的不同落子順序進(jìn)行測(cè)試。子落子的不同落子順序進(jìn)行測(cè)試。7 7“ ”向勝負(fù)判定向勝負(fù)判定提示勝利,當(dāng)任意一方提示勝利,當(dāng)任意一方“ ”向連成五子時(shí)軟件應(yīng)向連成五子時(shí)軟件應(yīng)提示該方玩家勝利。在該用例中還可對(duì)連成線五提示該方玩家勝利。在該用例中還可對(duì)連成線五子落子的不同落子順序進(jìn)行測(cè)試。子落子的不同落子順序進(jìn)行測(cè)試。8 8第一步悔棋操作第一步悔棋操作成功,游戲開始黑方先落子,在白方未落第二子成功,游戲開始黑方先落子,在白方未落第二子前,對(duì)第一

9、步進(jìn)行悔棋操作。前,對(duì)第一步進(jìn)行悔棋操作。9 9大于一步悔棋大于一步悔棋成功,當(dāng)玩家雙方進(jìn)行超過兩步后,分別測(cè)試黑成功,當(dāng)玩家雙方進(jìn)行超過兩步后,分別測(cè)試黑白雙方玩家的悔棋操作。白雙方玩家的悔棋操作。1010游戲進(jìn)行中重新游戲進(jìn)行中重新開始開始成功,當(dāng)玩家沒有決出勝負(fù)時(shí)測(cè)試重新開始功能成功,當(dāng)玩家沒有決出勝負(fù)時(shí)測(cè)試重新開始功能能否實(shí)現(xiàn)。能否實(shí)現(xiàn)。1111游戲結(jié)束時(shí)重新游戲結(jié)束時(shí)重新開始開始成功,游戲結(jié)束時(shí),軟件跳出提示窗口,點(diǎn)擊提成功,游戲結(jié)束時(shí),軟件跳出提示窗口,點(diǎn)擊提示窗口中的示窗口中的“重新開始重新開始”,測(cè)試該功能能否實(shí)現(xiàn)。,測(cè)試該功能能否實(shí)現(xiàn)。1212棋盤布滿判勝負(fù)棋盤布滿判勝負(fù)提示

10、勝利,當(dāng)棋盤上最后一個(gè)落子產(chǎn)生勝出方時(shí),提示勝利,當(dāng)棋盤上最后一個(gè)落子產(chǎn)生勝出方時(shí),測(cè)試軟件能否正確提示勝利。測(cè)試軟件能否正確提示勝利。1313判和局判和局提示和局,當(dāng)棋盤最后一個(gè)落子落下后仍未決出提示和局,當(dāng)棋盤最后一個(gè)落子落下后仍未決出勝方,測(cè)試軟件能否正確提示和局。勝方,測(cè)試軟件能否正確提示和局。1414退出退出成功,測(cè)試軟件能否正常退出。成功,測(cè)試軟件能否正常退出。測(cè)試結(jié)果序號(hào)序號(hào)測(cè)試用例標(biāo)題測(cè)試用例標(biāo)題測(cè)試結(jié)果測(cè)試結(jié)果測(cè)試結(jié)果說明測(cè)試結(jié)果說明1 1玩家交替落子玩家交替落子通過通過玩家可以順利進(jìn)行五子棋對(duì)弈。玩家可以順利進(jìn)行五子棋對(duì)弈。2 2棋盤外落子棋盤外落子通過通過軟件沒有對(duì)棋盤外

11、的落子做出響應(yīng)。軟件沒有對(duì)棋盤外的落子做出響應(yīng)。3 3有子棋格內(nèi)落子有子棋格內(nèi)落子通過通過軟件能夠識(shí)別有棋子的棋格并阻止重復(fù)落子。軟件能夠識(shí)別有棋子的棋格并阻止重復(fù)落子。4 4橫向勝負(fù)判定橫向勝負(fù)判定通過通過橫向判定有效。橫向判定有效。5 5豎向勝負(fù)判定豎向勝負(fù)判定通過通過豎向判定有效。豎向判定有效。6 6“/”“/”向勝負(fù)判定向勝負(fù)判定通過通過“/”“/”向判定有效。向判定有效。7 7“”“”向勝負(fù)判定向勝負(fù)判定通過通過“”“”向判定有效。向判定有效。8 8第一步悔棋操作第一步悔棋操作通過通過軟件能撤銷第一步棋子的操作。軟件能撤銷第一步棋子的操作。9 9大于一步悔棋大于一步悔棋通過通過軟件能

12、夠撤銷前兩步棋子的操作。軟件能夠撤銷前兩步棋子的操作。1010游戲進(jìn)行中重新開始游戲進(jìn)行中重新開始通過通過軟件能夠在主界面中正確響應(yīng)重新開始消息。軟件能夠在主界面中正確響應(yīng)重新開始消息。1111游戲結(jié)束時(shí)重新開始游戲結(jié)束時(shí)重新開始通過通過軟件能夠在提示窗口中正確響應(yīng)重新開始消息。軟件能夠在提示窗口中正確響應(yīng)重新開始消息。1212棋盤布滿判勝負(fù)棋盤布滿判勝負(fù)通過通過軟件沒有錯(cuò)判和局。軟件沒有錯(cuò)判和局。1313判和局判和局通過通過軟件能夠判斷和局。軟件能夠判斷和局。1414退出退出通過通過軟件能夠順利退出。軟件能夠順利退出。項(xiàng)目開發(fā)總結(jié)對(duì)項(xiàng)目開發(fā)過程的評(píng)價(jià)階段階段完成情況完成情況立項(xiàng)立項(xiàng)按時(shí)完成按

13、時(shí)完成開發(fā)計(jì)劃開發(fā)計(jì)劃按時(shí)完成按時(shí)完成需求分析需求分析按時(shí)完成按時(shí)完成概要設(shè)計(jì)概要設(shè)計(jì)按時(shí)完成按時(shí)完成實(shí)施實(shí)施按時(shí)完成按時(shí)完成系統(tǒng)測(cè)試系統(tǒng)測(cè)試按時(shí)完成按時(shí)完成結(jié)項(xiàng)結(jié)項(xiàng)按時(shí)完成按時(shí)完成對(duì)技術(shù)方法的評(píng)價(jià)C+語言提供完善的指令控制語句、類與對(duì)象的支持及豐富的數(shù)據(jù)類型,給開發(fā)高性能系統(tǒng)提供的保障,保證了代碼的模塊化要求,而代碼模塊化的提高,非常有利于以后對(duì)新系統(tǒng)的擴(kuò)展與修改。對(duì)產(chǎn)品質(zhì)量的評(píng)價(jià) 產(chǎn)品基本完成了設(shè)計(jì)的基本要求。 從軟件工程角度,本次五子棋軟件的開發(fā)旨在對(duì)軟件開發(fā)過程有一個(gè)切身的體從軟件工程角度,本次五子棋軟件的開發(fā)旨在對(duì)軟件開發(fā)過程有一個(gè)切身的體會(huì)。從需求分析到概要設(shè)計(jì)再到詳細(xì)設(shè)計(jì),要清楚

14、每一個(gè)環(huán)節(jié)要完成的內(nèi)容。其中會(huì)。從需求分析到概要設(shè)計(jì)再到詳細(xì)設(shè)計(jì),要清楚每一個(gè)環(huán)節(jié)要完成的內(nèi)容。其中最為關(guān)鍵的是需求分析,從單純的課堂中是無法體會(huì)到它的重要性的,即便老師一最為關(guān)鍵的是需求分析,從單純的課堂中是無法體會(huì)到它的重要性的,即便老師一再強(qiáng)調(diào)。只有當(dāng)實(shí)際進(jìn)行軟件開發(fā)的時(shí)候才明白,好的需求分析為一個(gè)軟件打下堅(jiān)再強(qiáng)調(diào)。只有當(dāng)實(shí)際進(jìn)行軟件開發(fā)的時(shí)候才明白,好的需求分析為一個(gè)軟件打下堅(jiān)實(shí)的基礎(chǔ)。一個(gè)合理、邏輯層次清晰的需求分析也可以大大減輕后續(xù)設(shè)計(jì)環(huán)節(jié)的工實(shí)的基礎(chǔ)。一個(gè)合理、邏輯層次清晰的需求分析也可以大大減輕后續(xù)設(shè)計(jì)環(huán)節(jié)的工作。這也是從本次大作業(yè)中收獲的最大的體會(huì)。作。這也是從本次大作業(yè)中收

15、獲的最大的體會(huì)。 從程序設(shè)計(jì)角度,從程序設(shè)計(jì)角度,C+是由是由C語言發(fā)展而來,不但繼承了語言發(fā)展而來,不但繼承了C語言的強(qiáng)大功能,使語言的強(qiáng)大功能,使用起來也更加方便靈活。然而,編程語言的功能越是強(qiáng)大對(duì)于編程人員的邏輯思考用起來也更加方便靈活。然而,編程語言的功能越是強(qiáng)大對(duì)于編程人員的邏輯思考能力的要求也就越高。在本次軟件的編寫過程中,我們就多次遇到邏輯混亂的問題。能力的要求也就越高。在本次軟件的編寫過程中,我們就多次遇到邏輯混亂的問題。尤其是在編寫勝負(fù)判定的模塊時(shí),由于沒有完全理解二維數(shù)組的結(jié)構(gòu),導(dǎo)致勝負(fù)判尤其是在編寫勝負(fù)判定的模塊時(shí),由于沒有完全理解二維數(shù)組的結(jié)構(gòu),導(dǎo)致勝負(fù)判定模塊的設(shè)計(jì)一度無法繼續(xù)。從中我個(gè)人的體會(huì)是,在編程前,對(duì)于將要使用的基定模塊的設(shè)計(jì)一度無法繼續(xù)。從中我個(gè)人的體會(huì)是,在編程前,對(duì)于將要使用的基本概念應(yīng)當(dāng)徹底地進(jìn)行溫習(xí),要了解基本語言的基本用法和數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),否則在本概念應(yīng)當(dāng)徹底地進(jìn)行溫習(xí),要了解基本語言的基本用法和數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),否則在搭建功能較大的模塊時(shí)很容易出現(xià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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論