本科畢業(yè)設(shè)計(jì)-基于java組件技術(shù)的拼圖游戲軟件的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
本科畢業(yè)設(shè)計(jì)-基于java組件技術(shù)的拼圖游戲軟件的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
本科畢業(yè)設(shè)計(jì)-基于java組件技術(shù)的拼圖游戲軟件的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
本科畢業(yè)設(shè)計(jì)-基于java組件技術(shù)的拼圖游戲軟件的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
本科畢業(yè)設(shè)計(jì)-基于java組件技術(shù)的拼圖游戲軟件的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)設(shè)計(jì)論文題目基于JAVA組件技術(shù)的拼圖游戲軟件的設(shè)計(jì)與實(shí)現(xiàn)題目分類(lèi)工程設(shè)計(jì);工程技術(shù)研究;軟件工程(如CAI課題等);專(zhuān)題研究;藝術(shù)設(shè)計(jì);其他題目來(lái)源自然科學(xué)基金與部、省、市級(jí)以上科研課題;企、事業(yè)單位委托課題;院級(jí)課題;自擬課題其他指導(dǎo)教師(指導(dǎo)教師組組長(zhǎng)及成員姓名)職稱(chēng)工作單位備注1、畢業(yè)設(shè)計(jì)論文的內(nèi)容和要求選題盡量與實(shí)際應(yīng)用需求相結(jié)合。要求寫(xiě)明本設(shè)計(jì)(論文)所涉及的分析方法或技術(shù)手段;要求有學(xué)生獨(dú)立的見(jiàn)解,設(shè)計(jì)內(nèi)容要詳細(xì)寫(xiě)明具體步驟和技術(shù)指標(biāo)畢業(yè)設(shè)計(jì)論文的內(nèi)容和要求內(nèi)容使用JAVASWING組件開(kāi)發(fā)一個(gè)拼圖游戲圖形界面應(yīng)用軟件,要求具有區(qū)分難度,統(tǒng)計(jì)積分,更改外觀設(shè)計(jì),背景音樂(lè)等功能。要求(1)明確需求,學(xué)習(xí)使用OOA方法對(duì)項(xiàng)目需求進(jìn)行分析。使用OOD方法對(duì)項(xiàng)目進(jìn)行設(shè)計(jì)。使用OOP方法對(duì)項(xiàng)目進(jìn)行編碼實(shí)現(xiàn)。(2)必須具備背景音樂(lè)、難度劃分、統(tǒng)計(jì)積分以及更換外觀界面的功能。(3)玩家操作界面要簡(jiǎn)潔,游戲界面要美觀。(4)可增添更多的游戲附件功能。開(kāi)發(fā)環(huán)境JDK15或以上版本,ECLIPSE具體步驟(1)學(xué)習(xí)或復(fù)習(xí)面向?qū)ο蠡局R(shí)和JAVA相關(guān)知識(shí)。(2)認(rèn)真閱讀項(xiàng)目需求及設(shè)計(jì)需求,做好需求分析和軟件設(shè)計(jì)工作。(3)編寫(xiě)軟件測(cè)試用例,在編碼過(guò)程中進(jìn)行測(cè)試工作。(4)設(shè)計(jì)游戲界面,并編寫(xiě)相應(yīng)代碼。(5)編寫(xiě)JAVA代碼,實(shí)現(xiàn)游戲功能。2、應(yīng)完成的工作和提交材料要求(論文的撰寫(xiě)內(nèi)容、格式、字?jǐn)?shù)的要求,課題完成后應(yīng)提交成果的種類(lèi)、數(shù)量、質(zhì)量等方面的要求)(1)撰寫(xiě)畢業(yè)論文不少于15000字,要求內(nèi)容正確、概念清楚、條理分明、文字通順、數(shù)據(jù)準(zhǔn)確、圖表齊全。(2)論文撰寫(xiě)符合(論文)撰寫(xiě)格式與裝訂要求。(3)翻譯1500漢字以上的有關(guān)技術(shù)資料或?qū)I(yè)文獻(xiàn),內(nèi)容要盡量結(jié)合課題。翻譯表達(dá)準(zhǔn)確、通順,外文摘要完整、準(zhǔn)確。(4)在完成畢業(yè)論文的過(guò)程中,按期完成相關(guān)任務(wù),并提交畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告、畢業(yè)設(shè)計(jì)(論文)中期進(jìn)展情況檢查表、指導(dǎo)記錄表、外文翻譯原文與譯文等文檔。(5)提交課題的可執(zhí)行程序、源程序、程序流程圖以及相應(yīng)結(jié)論。3、主要參考文獻(xiàn)(參考文獻(xiàn)不少于10篇,外文不少于2篇,參考文獻(xiàn)目錄按GB/T77142005的要求填寫(xiě))1(美)??藸朖AVA編程思想(第4版)M北京機(jī)械工業(yè)出版社,20072(美)霍頓JAVA2入門(mén)經(jīng)典JDK5M北京機(jī)械工業(yè)出版社,20063(美)JOSHUABLOCHEFFECTIVEJAVA中文版第2版M北京機(jī)械工業(yè)出版社,20094方英蘭,韓兵,居陽(yáng)等計(jì)算機(jī)軟件項(xiàng)目實(shí)訓(xùn)指導(dǎo)M北京電子工業(yè)出版社,20115(美)YDANIELLIANGJAVA語(yǔ)言程序設(shè)計(jì)基礎(chǔ)篇(英文版)M北京機(jī)械工業(yè)出版社,20116(美)YDANIELLIANGJAVA語(yǔ)言程序設(shè)計(jì)進(jìn)階篇(英文版)M北京機(jī)械工業(yè)出版社,20117(美)KATHYSIERRA,BERTBATESHEADFIRSTJAVA,2NDEDITIONM北京中國(guó)電力出版社,20078(美)JOSHUABLOCH,NEALGAFTERJAVATMPUZZLERSTRAPS,PITFALLS,ANDCORNERCASESM北京人民郵電出版社,20109裴龍,何大可JAVASWING組件設(shè)計(jì)模式分析J計(jì)算機(jī)應(yīng)用,247175,280,200110呂校春,李玲莉基礎(chǔ)SWING的JAVAGUI組件開(kāi)發(fā)J機(jī)械工程師,129131,20084、畢業(yè)設(shè)計(jì)論文進(jìn)度計(jì)劃(從正式啟動(dòng)時(shí)間開(kāi)始,以周為單位填寫(xiě))(1)20112012學(xué)年第1學(xué)期第15周下達(dá)畢業(yè)設(shè)計(jì)任務(wù)書(shū),與學(xué)生見(jiàn)面。進(jìn)行畢業(yè)論文(設(shè)計(jì))內(nèi)容和要求的講述,讓學(xué)生理解選題的目的、意義,清楚畢業(yè)設(shè)計(jì)做什么和怎么做,需要查找哪些資料及準(zhǔn)備課題所需的軟件系統(tǒng)。(2)20112012學(xué)年第1學(xué)期第16周第18周充分理解任務(wù)書(shū)的內(nèi)容,研讀參考文獻(xiàn),學(xué)習(xí)課題所需軟件系統(tǒng)的安裝、使用方法。進(jìn)行外文文獻(xiàn)的翻譯工作。進(jìn)一步分析相關(guān)資料,整理思路,在此基礎(chǔ)之上完成畢業(yè)論文大綱和開(kāi)題報(bào)告初稿。(3)20112012學(xué)年第2學(xué)期第1周提交開(kāi)題報(bào)告文檔、外文文獻(xiàn)譯文和原文,進(jìn)行開(kāi)題報(bào)告的準(zhǔn)備工作(PPT講稿等)。(4)20112012學(xué)年第2學(xué)期第2周進(jìn)行開(kāi)題報(bào)告。(5)20112012學(xué)年第2學(xué)期第3周第6周課題的理論研究,形成課題具體方案。搭建并熟悉系統(tǒng)開(kāi)發(fā)運(yùn)行環(huán)境,進(jìn)行相應(yīng)的程序設(shè)計(jì)和代碼編寫(xiě)工作。填寫(xiě)中期檢查表,準(zhǔn)備中期檢查。(6)20112012學(xué)年第2學(xué)期第7周進(jìn)行中期檢查。(7)20112012學(xué)年第2學(xué)期第8周第11周完善課題方案、設(shè)計(jì),繼續(xù)程序編寫(xiě)和調(diào)試,分析數(shù)據(jù),形成結(jié)論。完成畢業(yè)設(shè)計(jì)(論文)的初稿。(8)20112012學(xué)年第2學(xué)期第12周按論文撰寫(xiě)格式要求提交論文。相關(guān)教師對(duì)論文進(jìn)行評(píng)閱。(9)20112012學(xué)年第2學(xué)期第13周根據(jù)評(píng)閱意見(jiàn)進(jìn)行論文第一次修改。完成畢業(yè)論文的預(yù)答辯工作。(10)20112012學(xué)年第2學(xué)期第14周根據(jù)預(yù)答辯的結(jié)果進(jìn)行論文第二次修改,完成論文終稿,并準(zhǔn)備正式答辯。(11)20112012學(xué)年第2學(xué)期第15周畢業(yè)設(shè)計(jì)(論文)答辯。指導(dǎo)教師簽字日期年月日教教學(xué)單位意見(jiàn)審核人簽字系(院)(蓋章)年月日學(xué)院意見(jiàn)審核專(zhuān)家簽字年月日題目基于JAVA組件技術(shù)的拼圖游戲軟件的設(shè)計(jì)與實(shí)現(xiàn)摘要拼圖游戲是一種可變性很高且耐玩的游戲,在平時(shí)空閑的時(shí)候可以自己制定圖片然后享受智力拼圖,空閑之余不妨放松一下。拼圖是一種大人與小孩都能玩的游戲,它可以開(kāi)發(fā)智力且?guī)椭蠹姨岣邉?dòng)腦解決問(wèn)題的能力。玩拼圖還有助于手眼協(xié)調(diào),玩家能訓(xùn)練和了解“部分”與“全部”的關(guān)系,可以知道許多的“部分”能拼湊出一個(gè)“全部”,以及一個(gè)“全部”是由許多“部分”所組成的。本課題主要是用ECLIPSE對(duì)一小型游戲進(jìn)行開(kāi)發(fā)。選擇一個(gè)游戲的拼圖圖片,單擊方框可使圖片移動(dòng),從而能夠拼出一幅完整的圖片,這類(lèi)游戲主要考察玩家的反應(yīng)能力,在游戲之余提高觀察和應(yīng)變能力。本游戲中通過(guò)分析JAVA游戲的開(kāi)發(fā)流程,對(duì)功能進(jìn)行設(shè)計(jì)。該游戲主要實(shí)現(xiàn)了開(kāi)始游戲,更改圖片可自定義圖片,游戲難度選擇(9宮初級(jí),16宮中級(jí)和25宮高級(jí)),戰(zhàn)況成績(jī)統(tǒng)計(jì),成績(jī)排名,背景音樂(lè)等功能。游戲界面美觀,操作簡(jiǎn)單,功能齊全,是廣大游戲愛(ài)好者都喜歡的一款游戲,具有一定的復(fù)雜性和可玩性。關(guān)鍵字拼圖游戲SWING八數(shù)碼TITLEDESIGNANDIMPLEMENTATIONOFTHEJIGSAWPUZZLEGAMEBASEDONJAVASWINGABSTRACTAJIGSAWPUZZLEISAVERYFLEXIBLEANDPLAYABLEGAME,INYOURSPARETIME,YOUCANFORMULATEPICTURESANDENJOYTHEINTELLECTUALPUZZLE,ENJOYYOURFREETIMEJIGSAWPUZZLEISONEKINDOFGAMETHATCANBEPLAYEDBYBOTHADULTSANDCHILDRENITCANDEVELOPONESINTELLIGENCEANDCANALSOHELPUSTOIMPROVEOURABILITYTOSOLVEPROBLEMSPLAYINGPUZZLESCANALSOHELPHANDEYECOORDINATIONPLAYERSCANBETRAINEDANDUNDERSTAND“PARTS“AND“ALL“,CANKNOWTHATALOTOF“PARTS“PUTTOGETHERTOBEA“FULL“,ANDA“FULL“ISMADEUPOFMANY“PARTS“THISSUBJECTISMAINLYABOUTUSINGTHESOFTWAREOFECLIPSETODESIGNASMALLGAMECHOOSINGONEPICTUREOFTHEGAME,CLICKINGTHEBOXCANMAKETHEPICTURETOMOVE,THEREBYABLETOSPELLOUTACOMPLETEGRAPH,THISGAMEMAINLYCONSIDERTOTRAINTHEGAMEPLAYERSABILITYTORESPOND,WHILETHEGAMEIMPROVEPLAYERSOBSERVATIONANDSTRAINCAPACITYTHROUGHTHESUMMARYANDANALYSISOFTHEJAVAGAME,THEJIGSAWPUZZLEGAMEDESIGNSTHEFUNCTIONANDPROCESSTHEGAMEACHIEVEDSUCHMAINFUNCTIONTOSTARTTHEGAME,CHANGINGPICTURESCANALSOBECUSTOMIZEDPICTURE,SELECTINGTHEDIFFICULTYOFTHEGAME9HOUSEPRIMARY,INTERMEDIATEANDSENIOR16HOUSE25HOUSE,TOSTATISTICTHERESULTS,PERFORMANCERANKING,BACKGROUNDMUSICANDSOONWITHSPECIFICIMPLEMENTATION,WITHBEAUTIFULGAMEINTERFACE,WITHSIMPLEOPERATION,ANDWITHWHOLEFUNCTIONS,ITSONEOFTHEMOSTPOPULARGAMESINPLAYERSTHINKING,ANDITHASCOMPLEXITYANDPLAYABILITYKEYWORDSJIGSAWPUZZLESWING8PUZZLEQUESTION目錄1前言111項(xiàng)目的背景與國(guó)內(nèi)外研究現(xiàn)狀112項(xiàng)目的目的與意義213系統(tǒng)開(kāi)發(fā)方法介紹32項(xiàng)目開(kāi)發(fā)語(yǔ)言及開(kāi)發(fā)環(huán)境521JAVA語(yǔ)言522開(kāi)發(fā)環(huán)境623ECLIPSE簡(jiǎn)述73可行性分析831可行性分析所采用的方法和步驟832評(píng)價(jià)尺度833可行性分析8331經(jīng)濟(jì)可行性8332技術(shù)可行性8333操作可行性94需求分析1041OOA方法介紹1042功能需求1043性能需求1144環(huán)境需求1145可靠性需求1146安全保密需求1147用戶界面需求1248軟件成本消耗與開(kāi)發(fā)進(jìn)度需求1249條件假定和限制125總體設(shè)計(jì)1351總體設(shè)計(jì)方案1352功能模塊設(shè)計(jì)13521登錄注冊(cè)部分流程分析14522游戲功能分析1453系統(tǒng)流程圖設(shè)計(jì)166詳細(xì)設(shè)計(jì)1861數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)18611數(shù)據(jù)庫(kù)的概念18612ACCESS介紹19613數(shù)據(jù)庫(kù)設(shè)計(jì)20614數(shù)據(jù)庫(kù)實(shí)現(xiàn)2362關(guān)鍵算法的設(shè)計(jì)與實(shí)現(xiàn)26621八數(shù)碼問(wèn)題26622判斷圖片按鈕是否可以移動(dòng)28623自定義圖片的算法29624判斷拼圖是否成功2963拼圖游戲界面的設(shè)計(jì)與實(shí)現(xiàn)30631人機(jī)界面設(shè)計(jì)與實(shí)現(xiàn)30632界面設(shè)計(jì)過(guò)程及特色407軟件測(cè)試4171測(cè)試的目的及相關(guān)問(wèn)題4172測(cè)試方法4273部分測(cè)試用例42731系統(tǒng)啟動(dòng)測(cè)試42732拼圖測(cè)試43733游戲難度測(cè)試43734背景音樂(lè)測(cè)試44735拼圖游戲窗體外觀的測(cè)試44736成績(jī)與成績(jī)排名的測(cè)試4574測(cè)試分析和總結(jié)45結(jié)論46致謝48參考文獻(xiàn)491前言11項(xiàng)目的背景與國(guó)內(nèi)外研究現(xiàn)狀隨著信息技術(shù)的飛速發(fā)展、蓬勃進(jìn)步,同時(shí)隨著國(guó)際互連網(wǎng)與相關(guān)系統(tǒng)的迅速普及,不同國(guó)家、行業(yè)被INTERNET連接在一起,互相通信,共享全世界的計(jì)算機(jī)資源和信息。如何保證不同格式的資料或信息能夠安全、高速、自由的交流、傳輸就成為一個(gè)迫切解決的問(wèn)題。1996年SUN公司JAVA語(yǔ)言的正式發(fā)表可以說(shuō)是INTERNET的一次技術(shù)革命,SUN公司的一位營(yíng)銷(xiāo)天才把一門(mén)試驗(yàn)性的跨平臺(tái)語(yǔ)言由象征踏實(shí)的OAK(橡樹(shù)),改名為香氣四溢的JAVA(咖啡)時(shí),可能他沒(méi)有想到這門(mén)語(yǔ)言能有后來(lái)的輝煌。事實(shí)上,如果現(xiàn)在SUN想為這門(mén)語(yǔ)言改名,以準(zhǔn)確體現(xiàn)其在計(jì)算機(jī)行業(yè)的地位,似乎OAK更形象。今天,雖然JAVA語(yǔ)言并非真正意義上的遍地開(kāi)花,但它已經(jīng)出現(xiàn)在眾多場(chǎng)合和設(shè)備中,而且它享有運(yùn)行穩(wěn)定、設(shè)計(jì)精良的美名。它實(shí)現(xiàn)了程序的運(yùn)行不受平臺(tái)的限制,在網(wǎng)絡(luò)上不僅可以進(jìn)行無(wú)格式的資料交換,還可以進(jìn)行程序交換。JAVA語(yǔ)言具備了其它語(yǔ)言所沒(méi)有的獨(dú)特優(yōu)勢(shì),它一出現(xiàn)就馬上受到了各界人士的歡迎。JAVA的出現(xiàn)無(wú)疑給計(jì)算機(jī)行業(yè)帶來(lái)了一股清風(fēng),它帶來(lái)了許多新鮮而有趣的思想和觀念。JAVASWING組件在游戲的實(shí)現(xiàn)上扮演著不可或缺的重要角色,SWING是一個(gè)用于開(kāi)發(fā)JAVA應(yīng)用程序用戶界面的開(kāi)發(fā)工具包。它以抽象窗口工具包(AWT)為基礎(chǔ)使跨平臺(tái)應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。SWING提供了本機(jī)的外觀和手感,模擬多個(gè)平臺(tái)的外觀和感覺(jué),同時(shí)還支持一個(gè)可插拔的外觀和手感,使應(yīng)用程序有一個(gè)擁有外觀和感覺(jué)的基礎(chǔ)平臺(tái)。它具有比AWT更強(qiáng)大和靈活的組件。除了熟悉的部件,如按鈕,復(fù)選框和標(biāo)簽,SWING提供了一些先進(jìn)的零部件,如卡式面板,滾動(dòng)窗格,樹(shù),表,列出,因此SWING深受開(kāi)發(fā)人員青睞。除此之外,他們只用很少的代碼就可以利用SWING豐富、靈活的功能和模塊化組件來(lái)創(chuàng)建優(yōu)雅的用戶界面。因此,可以推斷JAVASWING組件在未來(lái)游戲等各個(gè)相關(guān)領(lǐng)域依舊會(huì)保持良好的發(fā)展勢(shì)頭,發(fā)揚(yáng)其優(yōu)勢(shì),更好的服務(wù)于JAVA游戲產(chǎn)業(yè)。12項(xiàng)目的目的與意義現(xiàn)代科學(xué)技術(shù)的發(fā)展,改變了人類(lèi)的生活,作為新世紀(jì)的大學(xué)生,應(yīng)該站在時(shí)代發(fā)展的前沿,掌握最先進(jìn)的現(xiàn)代科學(xué)技術(shù)知識(shí),以適應(yīng)社會(huì)的發(fā)展,應(yīng)能夠獨(dú)立地完成各種應(yīng)要面臨的任務(wù),成為一名有創(chuàng)新意識(shí)的新型人才。目前,很多新的技術(shù)領(lǐng)域都涉及到了JAVA語(yǔ)言。JAVA語(yǔ)言是面向?qū)ο缶幊?,并涉及到網(wǎng)絡(luò)、多線程等重要的基礎(chǔ)知識(shí),因此JAVA語(yǔ)言也是學(xué)習(xí)面向?qū)ο缶幊毯途W(wǎng)絡(luò)編程的首選語(yǔ)言。該課題的主要目的是使JAVA游戲開(kāi)發(fā)者深入理解所學(xué)的JAVA語(yǔ)言,并實(shí)踐于該游戲設(shè)計(jì)中,深刻體會(huì)以前所學(xué)的有關(guān)JAVA程序設(shè)計(jì)方面的語(yǔ)言基礎(chǔ)、異常處理、事件處理、應(yīng)用程序以及圖形用戶界面設(shè)計(jì)等方面的知識(shí),加深對(duì)結(jié)構(gòu)化設(shè)計(jì)思想的理解,能對(duì)系統(tǒng)功能進(jìn)行分析,并設(shè)計(jì)合理的模塊化結(jié)構(gòu)等。學(xué)會(huì)使用JAVA系統(tǒng),其中包括對(duì)程序的調(diào)試、運(yùn)行、保存等知識(shí)的運(yùn)用,還包括提高程序開(kāi)發(fā)功能,能運(yùn)用合理的方法簡(jiǎn)化JAVA程序的操作,開(kāi)發(fā)過(guò)程中應(yīng)培養(yǎng)分析問(wèn)題、解決問(wèn)題的能力?;贘AVA組件技術(shù)的拼圖游戲軟件是一款具有娛樂(lè)性、益智性、便捷性的游戲軟件。此軟件可以使用戶放松心情,享受于拼圖游戲的樂(lè)趣之中。該游戲軟件可以讓用戶選擇適合自己的主題與難度,根據(jù)用戶的不同水平,鍛煉其圖片記憶能力以及拼湊還原能力。游戲結(jié)束后亦可讓用戶清晰了解到自己的游戲狀態(tài)水平,便于調(diào)整自己對(duì)這款游戲的新的難度要求。另外要求軟件設(shè)計(jì)精致,畫(huà)面親和,人機(jī)交互高效快捷,能夠給用戶帶來(lái)人性化的服務(wù)。軟件面向的主流群體集中在年輕人,但也適宜兒童或者老人使用,提供了適宜各類(lèi)用戶群體的圖片風(fēng)格與難度設(shè)置。不論是旨在輕松娛樂(lè),還是益智教育的目的,該軟件都是一款家庭生活中以及學(xué)習(xí)生活的必備軟件。設(shè)計(jì)并實(shí)現(xiàn)基于JAVA組件技術(shù)的拼圖游戲軟件作為自己的畢業(yè)課題設(shè)計(jì)是對(duì)學(xué)?;A(chǔ)課程、專(zhuān)業(yè)課程以及實(shí)踐課程的一次綜合性考查。此外,JAVASWING組件在單機(jī)游戲平臺(tái)上的應(yīng)用一直處于熱門(mén),這次的系統(tǒng)全面的實(shí)踐可以說(shuō)是一次很好的鍛煉,會(huì)對(duì)以后工作生活帶來(lái)積極的影響。13系統(tǒng)開(kāi)發(fā)方法介紹目前比較成熟的系統(tǒng)開(kāi)發(fā)方法有生命周期法、原型法、面向?qū)ο蠓ǖ?。生命周期法把一個(gè)信息系統(tǒng)從其提出、分析、設(shè)計(jì)和使用,直到停止使用的整個(gè)生存期視為一個(gè)生命周期。整個(gè)生命周期劃分為五個(gè)主要工作階段可行性分析階段、系統(tǒng)分析階段、系統(tǒng)設(shè)計(jì)階段、系統(tǒng)實(shí)施階段和系統(tǒng)運(yùn)行、維護(hù)與評(píng)價(jià)階段。通常采用結(jié)構(gòu)化系統(tǒng)分析和系統(tǒng)設(shè)計(jì)方法,自上而下分析、設(shè)計(jì),強(qiáng)調(diào)開(kāi)發(fā)過(guò)程的整體性和全局性;開(kāi)發(fā)過(guò)程在時(shí)間上基本按階段進(jìn)行,任務(wù)明確;結(jié)合用戶需求進(jìn)行開(kāi)發(fā);開(kāi)發(fā)周期長(zhǎng),維護(hù)不方便。適用于開(kāi)發(fā)需求較明確固定的信息系統(tǒng)。原型法是系統(tǒng)開(kāi)發(fā)者在初步了解用戶需求的基礎(chǔ)上,開(kāi)發(fā)出能實(shí)現(xiàn)系統(tǒng)最基本功能的一個(gè)原型,再根據(jù)用戶對(duì)原型使用與評(píng)價(jià)的意見(jiàn),提出修改方案,修改完善原型,如此反復(fù)多次,直到得到用戶滿意的最終系統(tǒng)為止。開(kāi)發(fā)過(guò)程以用戶為中心,開(kāi)發(fā)周期短。適用于開(kāi)發(fā)需求不夠明確或不斷變化的軟件。面向?qū)ο蠓ㄒ灶?lèi),類(lèi)的繼承,聚集等概念描述客觀事物以及聯(lián)系。為系統(tǒng)的開(kāi)發(fā)提供了全新的思路,面向?qū)ο蠓椒ㄒ詫?duì)象為中心。其特征主要有模塊性,繼承性和類(lèi)比性,動(dòng)態(tài)連接性。面向?qū)ο箝_(kāi)發(fā)方法的開(kāi)發(fā)過(guò)程1系統(tǒng)調(diào)查和需求分析對(duì)系統(tǒng)將要面臨的具體管理問(wèn)題以及用戶對(duì)系統(tǒng)開(kāi)發(fā)的需求進(jìn)行調(diào)查研究,即先弄清要干什么的問(wèn)題;2分析問(wèn)題的性質(zhì)和求解問(wèn)題在繁雜的問(wèn)題域中抽象地識(shí)別出對(duì)象以及其行為、結(jié)構(gòu)、屬性、方法等。一般稱(chēng)之為面向?qū)ο蟮姆治?,即OOA;3整理問(wèn)題對(duì)分析的結(jié)果作進(jìn)一步的抽象、歸類(lèi)、整理,并最終以范式的形式將它們確定下來(lái)。一般稱(chēng)之為面向?qū)ο蟮脑O(shè)計(jì),即OOD;4程序?qū)崿F(xiàn)用面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言將上一步整理的范式直接映射(即直接用程序設(shè)計(jì)語(yǔ)言來(lái)取代)為應(yīng)用軟件。一般稱(chēng)之為面向?qū)ο蟮某绦?,即OOP;5識(shí)別客觀世界中的對(duì)象以及行為,分別獨(dú)立設(shè)計(jì)出各個(gè)對(duì)象的實(shí)體;分析對(duì)象之間的聯(lián)系和相互所傳遞的信息,由此構(gòu)成信息系統(tǒng)的模型;由信息系統(tǒng)模型轉(zhuǎn)換成軟件系統(tǒng)的模型,對(duì)各個(gè)對(duì)象進(jìn)行歸并和整理,并確定它們之間的聯(lián)系;由軟件系統(tǒng)模型轉(zhuǎn)換成目標(biāo)系統(tǒng)。面向?qū)ο箝_(kāi)發(fā)方法的應(yīng)用范圍在大型管理信息系統(tǒng)開(kāi)發(fā)中,若不經(jīng)自頂向下的整體劃分,而是一開(kāi)始就自底向上地采用OO方法開(kāi)發(fā)系統(tǒng),會(huì)造成系統(tǒng)結(jié)構(gòu)不合理、各部分關(guān)系失調(diào)等等問(wèn)題。OO方法和結(jié)構(gòu)化方法在系統(tǒng)開(kāi)發(fā)中相互依存、不可替代。綜上所述,由于面向?qū)ο箝_(kāi)發(fā)方法主要針對(duì)于各類(lèi)管理系統(tǒng)的開(kāi)發(fā),所以該畢業(yè)設(shè)計(jì)中采用面向?qū)ο蠓椒ㄅc原型法相結(jié)合的方法進(jìn)行系統(tǒng)開(kāi)發(fā),主要也因?yàn)樵头ㄊ墙鼛啄臧l(fā)展起來(lái)的一種開(kāi)發(fā)方法。該方法從一個(gè)初始信息要求的集合出發(fā),在發(fā)展中逐步完善信息系統(tǒng),更簡(jiǎn)單、易學(xué),同時(shí)也更適合該系統(tǒng)的開(kāi)發(fā)。使用原型法開(kāi)發(fā)大體有以下幾個(gè)步驟1確定系統(tǒng)需求;2設(shè)計(jì)初始原型,包括確定需求以及開(kāi)發(fā)工作模型,例如屏幕格式、功能菜單格式以及對(duì)關(guān)鍵數(shù)據(jù)和功能的說(shuō)明等;3對(duì)初始原型進(jìn)行需求迭代,不斷進(jìn)行修正或改進(jìn),直至得到一個(gè)用戶滿意的原型,從而終止原型迭代過(guò)程;4原型效果考察,考察用戶新加入的需求信息和組成成分的嚴(yán)格說(shuō)明信息,看其對(duì)原型效果的影響,是否影響到原型的有效性,如果導(dǎo)致原型失敗,應(yīng)加以修正和改進(jìn);原型法的生命周期提供了一種完整的、靈活的、近于動(dòng)態(tài)的需求定義技術(shù)。它綜合了所有提出的必要需求,建立原型就近似于預(yù)先需求的規(guī)格說(shuō)明。對(duì)原型的工作模型可以進(jìn)行必要的剪裁和組織,以便更接近目標(biāo)系統(tǒng)。它可以綜合用戶、領(lǐng)導(dǎo)和原型開(kāi)發(fā)人員的各方需求。2項(xiàng)目開(kāi)發(fā)語(yǔ)言及開(kāi)發(fā)環(huán)境21JAVA語(yǔ)言1平臺(tái)無(wú)關(guān)性平臺(tái)無(wú)關(guān)性是指JAVA能運(yùn)行于不同的平臺(tái)。JAVA引進(jìn)虛擬機(jī)原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺(tái)的JAVA接口之間。使用JAVA編寫(xiě)的程序能在世界范圍內(nèi)共享。JAVA的數(shù)據(jù)類(lèi)型與機(jī)器無(wú)關(guān),JAVA虛擬機(jī)(JAVAVIRTUALMACHINE)是建立在硬件和操作系統(tǒng)之上,實(shí)現(xiàn)JAVA二進(jìn)制代碼的解釋執(zhí)行功能,提供于不同平臺(tái)的接口。2安全性JAVA的編程類(lèi)似C,學(xué)習(xí)過(guò)C的開(kāi)發(fā)者能夠很快掌握J(rèn)AVA的精髓。JAVA舍棄了C的指針對(duì)存儲(chǔ)器地址的直接操作,程序運(yùn)行時(shí),內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過(guò)指針侵入系統(tǒng)。JAVA對(duì)程序提供了安全管理器,防止程序的非法訪問(wèn)。3面向?qū)ο驤AVA吸取了C面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類(lèi)中,利用類(lèi)的優(yōu)點(diǎn)實(shí)現(xiàn)了程序的簡(jiǎn)潔性以及便于維護(hù)性。類(lèi)的封裝性、繼承性等有關(guān)對(duì)象的特性,使程序代碼只需一次編譯,然后通過(guò)上述特性反復(fù)利用。程序員只需把主要精力用在類(lèi)和接口的設(shè)計(jì)和應(yīng)用上。JAVA提供了眾多的一般對(duì)象的類(lèi),通過(guò)繼承即可使用父類(lèi)的方法。在JAVA中,類(lèi)的繼承關(guān)系是單一的非多重的,一個(gè)子類(lèi)只有一個(gè)父類(lèi),子類(lèi)的父類(lèi)又有一個(gè)父類(lèi)。JAVA提供的OBJECT類(lèi)及其子類(lèi)的繼承關(guān)系如同一棵倒立的樹(shù)形,根類(lèi)為OBJECT類(lèi),OBJECT類(lèi)功能強(qiáng)大,經(jīng)常會(huì)使用到它及其它派生的子類(lèi)。4分布式JAVA建立在擴(kuò)展TCP/IP網(wǎng)絡(luò)平臺(tái)上。庫(kù)函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機(jī)文件一樣容易。5健壯性JAVA致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤,類(lèi)型檢查幫助檢查出許多開(kāi)發(fā)早期出現(xiàn)的錯(cuò)誤,JAVA自己操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性,JAVA還實(shí)現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。這些功能特征大大提高了開(kāi)發(fā)JAVA應(yīng)用程序的周期。22開(kāi)發(fā)環(huán)境圖21JAVA開(kāi)發(fā)環(huán)境圖JAVA開(kāi)發(fā)環(huán)境圖如圖21所示,圖中表示出JAVA拼圖游戲軟件的開(kāi)發(fā)環(huán)境、具體的目錄存放以及操作環(huán)境等。其中建議使用的操作系統(tǒng)為MICROSOFTWINDOWSXP,程序開(kāi)發(fā)語(yǔ)言為JAVA,下面是JDK的安裝步驟以及配制方法的簡(jiǎn)單介紹。JDK下載、安裝及配置JDK是整個(gè)JAVA的核心,包括了JAVA運(yùn)行環(huán)境(JAVARUNTIMEENVIRONMENT),一堆JAVA工具和JAVA基礎(chǔ)的類(lèi)庫(kù)(RTJAR)。第一步下載JDK6U23WINDOWSI586,ECLIPSEINDIGO;第二步安裝下載好的JDK是一個(gè)可執(zhí)行安裝程序,執(zhí)行安裝即可;第三步設(shè)置環(huán)境變量打開(kāi)“我的電腦屬性高級(jí)環(huán)境變量系統(tǒng)變量”,設(shè)置以下三個(gè)變量JAVA_HOMEPATH;JAVA虛擬機(jī)的CLASSLOADER會(huì)按照CLASSPATH設(shè)定的路徑搜索CLASS文件。23ECLIPSE簡(jiǎn)述ECLIPSE是一個(gè)開(kāi)放源代碼的基于JAVA的可擴(kuò)展開(kāi)發(fā)平臺(tái),是一個(gè)相當(dāng)著名的開(kāi)源JAVAIDE,由IBM公司開(kāi)源。ECLIPSE主要以其開(kāi)放性、極為高效的GUI、先進(jìn)的代碼編輯器等著稱(chēng),其項(xiàng)目包括許多各種各樣的子項(xiàng)目組,包括ECLIPSE插件、功能部件等,任何人都能夠輕易的將自己的軟件做成ECLIPSE的插件,而且這些插件只需簡(jiǎn)單的復(fù)制到ECLIPSE的插件文件夾下就可以被集成。ECLIPSE主要采用SWT界面庫(kù),支持多種本機(jī)界面風(fēng)格。該項(xiàng)目中,我用到的是ECLIPSEINDIGO版本,該版本發(fā)行于2011年6月22日。3可行性分析31可行性分析所采用的方法和步驟通過(guò)研究分析拼圖游戲所具備的能力及實(shí)現(xiàn)的方法來(lái)確定主體結(jié)構(gòu)。利用現(xiàn)階段我所能達(dá)到的能力,以最簡(jiǎn)潔、最容易的辦法,邊開(kāi)發(fā)邊測(cè)試邊修改,實(shí)現(xiàn)一個(gè)初級(jí)游戲軟件。32評(píng)價(jià)尺度由于本軟件是一個(gè)初級(jí)產(chǎn)品,對(duì)其要求不是太苛刻,所以能夠保證達(dá)到拼圖游戲的一般功能。33可行性分析331經(jīng)濟(jì)可行性由于本游戲是畢業(yè)設(shè)計(jì),不過(guò)分強(qiáng)調(diào)直接的經(jīng)濟(jì)效益和其日后的發(fā)展方向,只在注重自身水平和能力的提高,同時(shí)對(duì)自身的經(jīng)濟(jì)要求也不高,只要有一臺(tái)能運(yùn)行JAVA軟件的電腦便可,所以基本上不用考慮到經(jīng)濟(jì)問(wèn)題。332技術(shù)可行性可用與本游戲的編程語(yǔ)言有VB,JAVA,DELPHI等,考慮到用于編寫(xiě)程序的困難度,和對(duì)語(yǔ)言的了解程度,選擇JAVA作為編程語(yǔ)言。需要對(duì)變量定義、變量初始化、界面初始化、游戲初始化、然后進(jìn)入游戲、處理游戲過(guò)程中的各種操作。333操作可行性本游戲的開(kāi)發(fā)作為畢業(yè)設(shè)計(jì),目的在于鞏固先前所學(xué)的知識(shí),以個(gè)人為單位,僅供個(gè)人平常娛樂(lè)所用,無(wú)須考慮社會(huì)影響,不用考慮法律、版權(quán)等社會(huì)因素,且此軟件的開(kāi)發(fā)不觸犯法律,所以在這方面是完全可行的。4需求分析41OOA方法介紹面向?qū)ο蟮姆治龇椒ǎ∣OA),是在一個(gè)系統(tǒng)的開(kāi)發(fā)過(guò)程中進(jìn)行了系統(tǒng)業(yè)務(wù)調(diào)查以后,按照面向?qū)ο蟮乃枷雭?lái)分析問(wèn)題。OOA與結(jié)構(gòu)化分析有較大的區(qū)別。OOA所強(qiáng)調(diào)的是在系統(tǒng)調(diào)查資料的基礎(chǔ)上,針對(duì)OO方法所需要的素材進(jìn)行的歸類(lèi)分析和整理,而不是對(duì)管理業(yè)務(wù)現(xiàn)狀和方法的分析。在用OOA具體地分析一個(gè)事物時(shí),大致上遵循如下五個(gè)基本步驟第一步,確定對(duì)象和類(lèi)。這里所說(shuō)的對(duì)象是對(duì)數(shù)據(jù)及其處理方式的抽象,它反映了系統(tǒng)保存和處理現(xiàn)實(shí)世界中某些事物的信息的能力。類(lèi)是多個(gè)對(duì)象的共同屬性和方法集合的描述,它包括如何在一個(gè)類(lèi)中建立一個(gè)新對(duì)象的描述。第二步,確定結(jié)構(gòu)(STRUCTURE)。結(jié)構(gòu)是指問(wèn)題域的復(fù)雜性和連接關(guān)系。類(lèi)成員結(jié)構(gòu)反映了泛化特化關(guān)系,整體部分結(jié)構(gòu)反映整體和局部之間的關(guān)系。第三步,確定主題(SUBJECT)。主題是指事物的總體概貌和總體分析模型。第四步,確定屬性(ATTRIBUTE)。屬性就是數(shù)據(jù)元素,可用來(lái)描述對(duì)象或分類(lèi)結(jié)構(gòu)的實(shí)例,可在圖中給出,并在對(duì)象的存儲(chǔ)中指定。第五步,確定方法(METHOD)。方法是在收到消息后必須進(jìn)行的一些處理方法方法要在圖中定義,并在對(duì)象的存儲(chǔ)中指定。對(duì)于每個(gè)對(duì)象和結(jié)構(gòu)來(lái)說(shuō),那些用來(lái)增加、修改、刪除和選擇一個(gè)方法本身都是隱含的(雖然它們是要在對(duì)象的存儲(chǔ)中定義的,但并不在圖上給出),而有些則是顯示的。42功能需求用戶對(duì)于該拼圖游戲軟件的需求主要體現(xiàn)在以下幾個(gè)功能1實(shí)現(xiàn)程序GUI圖形界面;2實(shí)現(xiàn)游戲登錄、注冊(cè)、開(kāi)始、退出等功能;3實(shí)現(xiàn)鼠標(biāo)或鍵盤(pán)事件響應(yīng)模塊的功能;4實(shí)現(xiàn)可選難度等級(jí)功能;5實(shí)現(xiàn)輸贏自動(dòng)判別功能;6實(shí)現(xiàn)游戲背景音樂(lè)選擇功能;7實(shí)現(xiàn)游戲積分功能;8實(shí)現(xiàn)游戲戰(zhàn)況排名功能;9實(shí)現(xiàn)游戲圖片更換功能,并且可以自定義圖片;10實(shí)現(xiàn)進(jìn)行游戲同時(shí)可以查看原圖功能;11實(shí)現(xiàn)游戲外觀更換功能。43性能需求要求該軟件達(dá)到以下指標(biāo)1保證軟件安全性,軟件設(shè)有登陸注冊(cè)窗體,有嚴(yán)格的賬戶合法性檢驗(yàn)過(guò)程;2保證風(fēng)格多樣性,提供至少三種難度選擇,由易到難,適合各類(lèi)用戶群體;提供至少三種背景音樂(lè)選擇,風(fēng)格各異,適合各類(lèi)用戶群體;提供至少十種拼圖圖片供各類(lèi)用戶群體選擇;44環(huán)境需求操作系統(tǒng)可以有以下幾種WINXP/WINVISTA/WIN7。硬件要求奔騰四處理器,主頻20GHZ,512M以上內(nèi)存。45可靠性需求要保證該拼圖游戲軟件的穩(wěn)定性,要在完成軟件設(shè)計(jì)后進(jìn)行軟件穩(wěn)定性測(cè)試,檢測(cè)出該軟件發(fā)生故障的概率。46安全保密需求進(jìn)入游戲界面前,設(shè)有登陸窗體,用戶需輸入正確的用戶名和密碼才能登陸屬于自己的賬號(hào),另外設(shè)有注冊(cè)窗體,便于新用戶的使用。要求保證每位用戶賬戶信息的安全。47用戶界面需求利用JAVASWING組件對(duì)該游戲軟件的界面進(jìn)行設(shè)計(jì)與實(shí)現(xiàn),實(shí)現(xiàn)程序GUI圖形界面,做到界面設(shè)計(jì)簡(jiǎn)潔大方,時(shí)尚新穎,適合各類(lèi)用戶群體使用。48軟件成本消耗與開(kāi)發(fā)進(jìn)度需求由于該軟件只作為畢業(yè)設(shè)計(jì),用于考察學(xué)生對(duì)于JAVASWING組件的理解與應(yīng)用能力,并未涉及軟件的市場(chǎng)推廣等工作,且開(kāi)發(fā)該游戲的軟件不需付費(fèi),屬于零成本,所以暫不用考慮軟件的成本消耗。開(kāi)發(fā)進(jìn)度嚴(yán)格遵守任務(wù)書(shū)中的畢業(yè)設(shè)計(jì)論文進(jìn)度計(jì)劃。49條件假定和限制由于本軟件目前是基礎(chǔ)版本,未做到盡善盡美。如果用戶需要提高版本,本軟件需要根據(jù)游戲者的要求進(jìn)行進(jìn)一步的修改。5總體設(shè)計(jì)51總體設(shè)計(jì)方案在登錄游戲界面后,設(shè)計(jì)本程序能夠載入默認(rèn)圖片(用戶也可以選擇想要的其它圖片),程序默認(rèn)難度為9宮格(用戶也可以選擇想要的其他難度),還設(shè)計(jì)實(shí)現(xiàn)背景音樂(lè)的播放功能等。在本程序中,對(duì)于圖片的分割、拼湊、判斷圖片是否可以移動(dòng)等都是設(shè)計(jì)的關(guān)鍵??傮w設(shè)計(jì)方案中主要說(shuō)明前期工作中對(duì)于分割圖片以及判斷拼圖是否成功這兩點(diǎn)的設(shè)計(jì)。對(duì)于分割圖片是用像素點(diǎn)來(lái)實(shí)現(xiàn)的,同時(shí)對(duì)圖片進(jìn)行了自動(dòng)縮放,這樣一來(lái)就可以使得圖片分割后看起來(lái)更連貫。拆分圖片后,把分好的圖片存儲(chǔ)到一個(gè)IMAGE數(shù)組中,對(duì)于可移動(dòng)的塊其實(shí)是按鈕,每個(gè)按鈕上都有一個(gè)ICON,通過(guò)隨機(jī)把IMAGE數(shù)組中的圖片通過(guò)IMAGEICON的轉(zhuǎn)化后附給一個(gè)按鈕,并將按鈕數(shù)組首先附給一個(gè)向量,然后用隨機(jī)數(shù)來(lái)確定對(duì)應(yīng)向量的值,然后再附給對(duì)應(yīng)數(shù)組按鈕,同時(shí)去除該值。也就是說(shuō)在附值的時(shí)候圖片順序不變,變的而是數(shù)組按鈕的順序。對(duì)于圖片的是否拼圖成功的提示,主要是在每個(gè)按鈕中加個(gè)STRING的屬性值,而且對(duì)于正確的排序的值與正在排的各個(gè)值比較,一旦所有的按鈕對(duì)應(yīng)的值與正確的排序一致,則為成功。52功能模塊設(shè)計(jì)關(guān)于該拼圖游戲的功能木模塊設(shè)計(jì),從邏輯上分析,該拼圖游戲主要分成2塊,也就是主要的兩個(gè)窗體,分別為登錄注冊(cè)部分和游戲部分,其中游戲部分又分為游戲菜單部分以及幫助菜單部分,下面就從這幾部分對(duì)該款拼圖游戲進(jìn)行功能設(shè)計(jì)分析。521登錄注冊(cè)部分流程分析啟動(dòng)程序輸入用戶名和密碼合法性檢查讀取權(quán)限進(jìn)入游戲界面結(jié)束NNY賬戶檢測(cè)注冊(cè)賬號(hào)Y圖51登錄注冊(cè)流程分析登陸注冊(cè)流程的分析圖如圖51所示,啟動(dòng)程序后,首先是登錄界面,在登陸界面中,用戶只有輸入正確的賬號(hào)和密碼才能進(jìn)行合法性檢查,才可以進(jìn)入拼圖游戲界面進(jìn)行游戲,否則進(jìn)不去系統(tǒng),在這里也可以通過(guò)選擇注冊(cè)賬號(hào)進(jìn)入系統(tǒng)。522游戲功能分析游戲部分主要分為游戲主菜單和幫助菜單2部分1游戲主菜單功能分析游戲菜單包括(1)開(kāi)始游戲;(2)更換圖片包括游戲自帶圖片和自定義圖片;(3)難度選擇包括初級(jí)難度,中級(jí)難度和高級(jí)難度;(4)戰(zhàn)況成績(jī);(5)成績(jī)排名;(6)背景音樂(lè)包括三種游戲背景音樂(lè)可供選擇;(7)退出游戲。拼圖游戲菜單開(kāi)始游戲更換圖片難度選擇戰(zhàn)況成績(jī)成績(jī)排名退出游戲背景音樂(lè)系統(tǒng)自帶用戶定義初級(jí)難度中級(jí)難度高級(jí)難度背景音樂(lè)1背景音樂(lè)2背景音樂(lè)3圖52拼圖游戲菜單功能結(jié)構(gòu)圖拼圖游戲菜單功能的結(jié)構(gòu)圖如圖52所示,圖中表示拼圖游戲菜單有七個(gè)一級(jí)菜單選項(xiàng),分別是開(kāi)始游戲、更換圖片、難度選擇、戰(zhàn)況成績(jī)、成績(jī)排名、背景音樂(lè)以及退出成績(jī)這幾個(gè)菜單選項(xiàng)。又有二級(jí)菜單選項(xiàng),分別為更換圖片里的圖片選擇、難度選擇中的三種難度選擇以及背景音樂(lè)中的三種音樂(lè)選擇。2幫助菜單功能分析幫助菜單功能包括(1)原圖效果,主要是在游戲過(guò)程中給用戶提供原圖,方便用戶游戲操作;(2)游戲幫助;(3)關(guān)于軟件信息(4)游戲外觀,游戲外觀包括三種風(fēng)格可供選擇。幫助菜單原圖效果游戲幫助關(guān)于系統(tǒng)游戲外觀圖53幫助菜單功能結(jié)構(gòu)圖幫助菜單功能結(jié)構(gòu)圖如圖53所示,圖中表示出幫助菜單中有四個(gè)菜單選項(xiàng),分別為原圖效果、游戲幫助、游戲外觀、以及關(guān)于系統(tǒng)的介紹這幾個(gè)菜單選項(xiàng)。其中游戲外觀菜單選項(xiàng)中有三個(gè)子選項(xiàng),分別為WINDOWS外觀、JAVA外觀以及系統(tǒng)外觀三種選擇。53系統(tǒng)流程圖設(shè)計(jì)圖54流程圖符號(hào)在繪制程序框圖時(shí),使用的符號(hào)說(shuō)明如圖54所示,拼圖游戲系統(tǒng)處理方式的合理選擇,其實(shí)就是一個(gè)處理過(guò)程的設(shè)計(jì)問(wèn)題。選擇處理方式實(shí)際上就是根據(jù)系統(tǒng)的任務(wù)、目標(biāo)和環(huán)境條件,合理地選擇信息活動(dòng)的形態(tài)及具體方法。程序流程圖又稱(chēng)為方框圖。表示方法簡(jiǎn)明直觀,是用來(lái)描述程序執(zhí)行的邏輯過(guò)程的。它把程序的基本步驟歸納為處理、判斷、輸入/輸出、開(kāi)始和結(jié)束等幾個(gè)基本功能,并用不同的記號(hào)加以表示,從而描述程序的執(zhí)行過(guò)程。返回主界面功能選擇拼圖游戲菜單和幫助菜單功能選擇輸入/輸出操作信息進(jìn)入是否繼續(xù)YN圖55拼圖游戲系統(tǒng)流程圖拼圖游戲系統(tǒng)流程圖如圖55所示,進(jìn)入系統(tǒng)后,用戶可選擇各功能進(jìn)行游戲,此時(shí)亦可選擇退出。選擇各功能可分別從游戲菜單和幫助菜單中選擇,游戲菜單中有開(kāi)始游戲、難度選擇、圖片更改、背景音樂(lè)選擇、戰(zhàn)況排名、游戲成績(jī)以及退出游戲等,幫助菜單中有原圖顯示、游戲幫助、關(guān)于系統(tǒng)等功能選擇。根據(jù)用戶的功能選擇會(huì)輸出具體對(duì)應(yīng)的操作信息,直至游戲結(jié)束。6詳細(xì)設(shè)計(jì)61數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)611數(shù)據(jù)庫(kù)的概念數(shù)據(jù)庫(kù)處理在信息系統(tǒng)的研究中一直是非常重要的主題,然而,近年來(lái),隨著WORLDWIDEWEBWWW的猛增及INTERNET技術(shù)的迅速發(fā)展,使得數(shù)據(jù)庫(kù)技術(shù)之時(shí)成為最熱門(mén)技術(shù)之一。數(shù)據(jù)庫(kù)技術(shù)能使INTERNET應(yīng)用超越具有早期應(yīng)用特點(diǎn)的簡(jiǎn)單的發(fā)布。同時(shí),INTERNET技術(shù)提供了一種向用戶發(fā)布數(shù)據(jù)庫(kù)內(nèi)容的標(biāo)準(zhǔn)化的訪問(wèn)方法。這些技術(shù)沒(méi)有脫離經(jīng)典數(shù)據(jù)庫(kù)技術(shù)的要求。它們只是加重了數(shù)據(jù)庫(kù)技術(shù)的重要性。數(shù)據(jù)庫(kù)的設(shè)計(jì)和開(kāi)發(fā)及包括藝術(shù)有包括工程。理解用戶的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫(kù)設(shè)計(jì)是一個(gè)藝術(shù)過(guò)程。把設(shè)計(jì)轉(zhuǎn)變?yōu)閷?shí)際的數(shù)據(jù)庫(kù),并且這些數(shù)據(jù)庫(kù)帶有功能完備、高效能的應(yīng)用,是一個(gè)工程過(guò)程。數(shù)據(jù)庫(kù)的目的是幫助人們跟蹤事務(wù)。經(jīng)典的數(shù)據(jù)庫(kù)應(yīng)用涉及諸如訂單、顧客、工作、員工、電話之類(lèi)的項(xiàng),或其它數(shù)據(jù)量較大、需要密切關(guān)注的事務(wù)。最近,由于數(shù)據(jù)庫(kù)的普及,數(shù)據(jù)庫(kù)技術(shù)已經(jīng)被應(yīng)用到了新的領(lǐng)域,諸如用于INTERNET的數(shù)據(jù)庫(kù)或用于公司內(nèi)聯(lián)網(wǎng)的數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)也被越來(lái)越多地應(yīng)用于生成和維護(hù)多媒體應(yīng)用程序上。計(jì)算機(jī)的數(shù)據(jù)處理應(yīng)用,首先要把大量的信息以數(shù)據(jù)形式存放在存儲(chǔ)器中。存儲(chǔ)器的容量、存儲(chǔ)速率直接影響到數(shù)據(jù)管理技術(shù)的發(fā)展。從1956年生產(chǎn)出第一臺(tái)計(jì)算機(jī)到現(xiàn)在,存儲(chǔ)器的發(fā)展,為數(shù)據(jù)庫(kù)技術(shù)提供了良好的物質(zhì)基礎(chǔ)。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí),應(yīng)該首先了解用戶的各個(gè)方面的需求,包括現(xiàn)有的以及將來(lái)可能增加的。612ACCESS介紹ACCESS是微軟公司推出的基于WINDOWS的桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS,即RELATIONALDATABASEMANAGEMENTSYSTEM),是OFFICE系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報(bào)表、頁(yè)、宏、模塊7種用來(lái)建立數(shù)據(jù)庫(kù)系統(tǒng)的對(duì)象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫(kù)管理系統(tǒng)提供了方便,也使得普通用戶不必編寫(xiě)代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。ACCESS能夠存取ACCESS/JET、MICROSOFTSQLSERVER、ORACLE甲骨文軟件公司,或者任何ODBC兼容數(shù)據(jù)庫(kù)內(nèi)的資料。熟練的軟件設(shè)計(jì)師和資料分析師利用它來(lái)開(kāi)發(fā)應(yīng)用軟件,而一些不熟練的程序員和非程序員的“進(jìn)階用戶“則能使用它來(lái)開(kāi)發(fā)簡(jiǎn)單的應(yīng)用軟件。雖然它支援部分面向?qū)ο螅∣OP)技術(shù),但是未能成為一種完整的面向?qū)ο箝_(kāi)發(fā)工具。ACCESS的優(yōu)點(diǎn)主要體現(xiàn)在以下幾個(gè)方面1存儲(chǔ)方式簡(jiǎn)單,易于維護(hù)管理,ACCESS管理的對(duì)象有表、查詢、窗體、報(bào)表、頁(yè)、宏和模塊,以上對(duì)象都存放在后綴為(MDB或ACCDB)的數(shù)據(jù)庫(kù)文件中,便于用戶的操作和管理。2面向?qū)ο驛CCESS是一個(gè)面向?qū)ο蟮拈_(kāi)發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)據(jù)庫(kù)系統(tǒng)中的各種功能對(duì)象化,將數(shù)據(jù)庫(kù)管理的各種功能封裝在各類(lèi)對(duì)象中。它將一個(gè)應(yīng)用系統(tǒng)當(dāng)作是由一系列對(duì)象組成的,對(duì)每個(gè)對(duì)象它都定義一組方法和屬性,以定義該對(duì)象的行為和外國(guó),用戶還可以按需要給對(duì)象擴(kuò)展方法和屬性。通過(guò)對(duì)象的方法、屬性完成數(shù)據(jù)庫(kù)的操作和管理,極大地簡(jiǎn)化了用戶的開(kāi)發(fā)工作。同時(shí),這種基于面向?qū)ο蟮拈_(kāi)發(fā)方式,使得開(kāi)發(fā)應(yīng)用程序更為簡(jiǎn)便。3界面友好、易操作,ACCESS是一個(gè)可視化工具,是風(fēng)格與WINDOWS完全一樣,用戶想要生成對(duì)象并應(yīng)用,只要使用鼠標(biāo)進(jìn)行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報(bào)表設(shè)計(jì)器以及數(shù)據(jù)庫(kù)向?qū)?、表向?qū)А⒉樵兿驅(qū)?、窗體向?qū)А?bào)表向?qū)У裙ぞ?,使得操作?jiǎn)便,容易使用和掌握。4集成環(huán)境、處理多種數(shù)據(jù)信息,ACCESS基于WINDOWS操作系統(tǒng)下的集成開(kāi)發(fā)環(huán)境,該環(huán)境集成了各種向?qū)Ш蜕善鞴ぞ?,極大地提高了開(kāi)發(fā)人員的工作效率,使得建立數(shù)據(jù)庫(kù)、創(chuàng)建表、設(shè)計(jì)用戶界面、設(shè)計(jì)數(shù)據(jù)查詢、報(bào)表打印等可以方便有序地進(jìn)行。5該ACCESS支持ODBC(開(kāi)發(fā)數(shù)據(jù)庫(kù)互連,OPENDATABASECONNECTIVITY),利用ACCESS強(qiáng)大的DDE(動(dòng)態(tài)數(shù)據(jù)交換)和OLE(對(duì)象的聯(lián)接和嵌入)特性,可以在一個(gè)數(shù)據(jù)表中嵌入位圖、聲音、EXCEL表格、WORD文檔,還可以建立動(dòng)態(tài)的數(shù)據(jù)庫(kù)報(bào)表和窗體等。ACCESS還可以將程序應(yīng)用于網(wǎng)絡(luò),并與網(wǎng)絡(luò)上的動(dòng)態(tài)數(shù)據(jù)相聯(lián)接。利用數(shù)據(jù)庫(kù)訪問(wèn)頁(yè)對(duì)象生成HTML文件,輕松構(gòu)建INTERNET/INTRANET的應(yīng)用。6支持廣泛,易于擴(kuò)展,彈性較大,能夠?qū)⑼ㄟ^(guò)鏈接表的方式來(lái)打開(kāi)EXCEL文件、格式化文本文件等,這樣就可以利用數(shù)據(jù)庫(kù)的高效率對(duì)其中的數(shù)據(jù)進(jìn)行查詢、處理。還可以通過(guò)以ACCESS作為前臺(tái)客戶端,以SQLSERVER作為后臺(tái)數(shù)據(jù)庫(kù)的方式(如ADP)開(kāi)發(fā)大型數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)??傊?,ACCESS是一個(gè)既可以只用來(lái)存放數(shù)據(jù)的數(shù)據(jù)庫(kù),也可以作為一個(gè)客戶端開(kāi)發(fā)工具來(lái)進(jìn)行數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā);即可以開(kāi)發(fā)方便易用的小型軟件,也可以用來(lái)開(kāi)發(fā)大型的應(yīng)用系統(tǒng)。613數(shù)據(jù)庫(kù)設(shè)計(jì)其實(shí)在拼圖游戲主體中并沒(méi)用到數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)在此拼圖游戲中主要是用來(lái)保存用戶信息和用戶游戲成績(jī)信息的,因此拼圖游戲主要包括2張表1用戶信息表表61用戶信息表(USERINFO)用戶信息表在拼圖游戲中主要體現(xiàn)在用戶登錄和用戶注冊(cè)信息的保存,如表61所示,建立用戶信息表USERINFO,其中具備UNAME和UPWD(即用戶名和密碼)這兩項(xiàng)用戶信息,這兩項(xiàng)的數(shù)據(jù)類(lèi)型均為文本類(lèi)型。設(shè)置字段名稱(chēng)分別為UNAME以及UPWD,分別代表用戶名以及密碼兩個(gè)項(xiàng)目。創(chuàng)建用戶信息表用來(lái)存儲(chǔ)用各位用戶的用戶名以及密碼這兩項(xiàng)信息。2成績(jī)信息表表62成績(jī)信息表GRADE成績(jī)信息表在拼圖游戲中主要體現(xiàn)在用戶個(gè)人戰(zhàn)況成績(jī)和成績(jī)排名信息的保存,如表62所示,創(chuàng)建成績(jī)信息表,用來(lái)存儲(chǔ)各位用戶的成績(jī)信息,其中包括用戶名、等級(jí)、分?jǐn)?shù)以及時(shí)間這四項(xiàng)信息,數(shù)據(jù)類(lèi)型分別為文本、數(shù)字、數(shù)字和日期/時(shí)間。設(shè)置字段名稱(chēng)分別為UNAME、VERSION、POINT以及TIME,分別代表用戶名、等級(jí)、分?jǐn)?shù)以及時(shí)間這四個(gè)項(xiàng)目。圖61ER圖符號(hào)說(shuō)明ER圖是由實(shí)體、屬性、聯(lián)系三部分組成,其符號(hào)表示如圖61所示,實(shí)體聯(lián)系圖ENTITYRELATIONDIAGRAM用來(lái)建立數(shù)據(jù)模型,在數(shù)據(jù)庫(kù)系統(tǒng)概論中屬于概念設(shè)計(jì)階段,形成一個(gè)獨(dú)立于機(jī)器,獨(dú)立于DBMS的ER圖模型。通常將它簡(jiǎn)稱(chēng)為ER圖,相應(yīng)地可把用ER圖描繪的數(shù)據(jù)模型稱(chēng)為ER模型。ER圖提供了表示實(shí)體(即數(shù)據(jù)對(duì)象)、屬性和聯(lián)系的方法,用來(lái)描述現(xiàn)實(shí)世界的概念模型。本拼圖游戲中有2個(gè)實(shí)體,用戶信息的ER圖如圖62所示USERINFO(UNAME,UPWD)USERINFOUNAMEUPWD圖62USERINFOER圖圖62為USERINFOER圖,即用戶信息ER圖。在用戶信息的ER圖中,有兩個(gè)實(shí)體,分別為UNAME以及UPAWD這兩項(xiàng),分別表示用戶名以及密碼這兩項(xiàng),圖62表示出用戶信息表中的實(shí)體聯(lián)系圖,可以讓人清晰地看出用戶信息表中所包含的數(shù)據(jù)庫(kù)信息,并反映其屬性。GRADE(UNAME,VERSION,POINT,TIME)GRADEUNAMETIMEVERSIONPOINT圖63GRADEER圖如圖63所示,圖為GRADEER圖,其中包含UNAME、VERSION、POINT以及TIME這四項(xiàng),分別代表用戶名、等級(jí)、分?jǐn)?shù)以及時(shí)間這四項(xiàng)。該圖表示出用戶成績(jī)信息表中的數(shù)據(jù)關(guān)系??梢宰屓饲逦乜闯鲇脩粜畔⒈碇兴臄?shù)據(jù)庫(kù)信息,并反映其屬性。USERINFOGRADE屬于1N圖64全局ER圖如圖64所示,圖為全局ER圖,反映出該數(shù)據(jù)庫(kù)系統(tǒng)中所包含的數(shù)據(jù)庫(kù)信息。有USERINFO以及GRADE這兩個(gè)實(shí)體。1個(gè)用戶可以有N個(gè)成績(jī),但是1個(gè)成績(jī)只能屬于1個(gè)用戶,因此用戶和成績(jī)是1對(duì)多的關(guān)系,得出下面實(shí)體關(guān)系圖614數(shù)據(jù)庫(kù)實(shí)現(xiàn)1數(shù)據(jù)庫(kù)的連接PRIVATESTATICVOIDCREATECONNTRYCLASSFORNAMEDRIVER/加載驅(qū)動(dòng)TRYCONNDRIVERMANAGERGETCONNECTIONURL/到得數(shù)據(jù)庫(kù)連接CATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACECATCHCLASSNOTFOUNDEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACE用JAVA訪問(wèn)數(shù)據(jù)庫(kù)首先要加載數(shù)據(jù)庫(kù)驅(qū)動(dòng),然后才能連接數(shù)據(jù)庫(kù)。設(shè)計(jì)中涉及到了DAO(DATAACCESSOBJECT數(shù)據(jù)訪問(wèn)對(duì)象)。DAO就是處理數(shù)據(jù)庫(kù)的操作;MODEL就是DAO進(jìn)行操作的數(shù)據(jù)對(duì)象。也就是說(shuō),DAO是操作數(shù)據(jù)庫(kù)的,提供對(duì)數(shù)據(jù)庫(kù)的基本操作,MODEL利用DAO里的方法完成業(yè)務(wù)邏輯處理,本身不涉及對(duì)數(shù)據(jù)庫(kù)的操作。2查詢指定用戶信息的實(shí)現(xiàn)PUBLICINTSELECTUSERUSERINFOUIINTCOUNT0STATEMENTSTNULL/執(zhí)行操作對(duì)象TRYSTCONNCREATESTATEMENT/創(chuàng)建執(zhí)行操作對(duì)象CATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACETRYRESULTSETRSSTEXECUTEQUERY“SELECTFROMUSERINFOWHEREUNAME“UIGETUNAME“IFRSNEXTCOUNT1CATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACERETURNCOUNT/返回結(jié)果定義靜態(tài)SQL語(yǔ)句命令,創(chuàng)建執(zhí)行操作對(duì)象,執(zhí)行SQL語(yǔ)句,用戶可根據(jù)自己的需要輸入自己所想查詢的用戶的信息,該段代碼是執(zhí)行查詢操作,查詢指定的用戶的信息,即執(zhí)行SELECTFROM操作,執(zhí)行后將數(shù)據(jù)返回到結(jié)果中。其間,若操作有誤便會(huì)通過(guò)TRYCATCH語(yǔ)句拋出異常。3注冊(cè)用戶信息的實(shí)現(xiàn)PUBLICINTREGISTERUSERINFOUISTATEMENTSMNULLINTCOUNT0TRYSMCONNCREATESTATEMENTCOUNTSMEXECUTEUPDATE“INSERTINTOUSERINFOVALUES“UIGETUNAME“,“UIGETUPWD“CATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACERETURNCOUNT注冊(cè)用戶信息的實(shí)現(xiàn)主要是通過(guò)定義執(zhí)行操作對(duì)象,創(chuàng)建執(zhí)行操作對(duì)象,執(zhí)行數(shù)據(jù)庫(kù)語(yǔ)句,即EXECUTEUPDATE語(yǔ)句。用戶可輸入用戶名和密碼來(lái)實(shí)現(xiàn)注冊(cè)工作,之后數(shù)據(jù)庫(kù)會(huì)執(zhí)行更新操作,將新注冊(cè)的用戶信息更新到原有數(shù)據(jù)庫(kù)中。4更新用戶得分的實(shí)現(xiàn)PUBLICINTINSERTGRADEGRADEGDSTATEMENTSMNULLINTCOUNT0TRYSMCONNCREATESTATEMENTCOUNTSMEXECUTEUPDATE“INSERTINTOGRADEVALUES“GDGETUNAME“,“GDGETVESION“,“GDGETPOINT“,NOW“CATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACERETURNCOUNT更新用戶得分主要是通過(guò)定義執(zhí)行操作對(duì)象,創(chuàng)建執(zhí)行操作對(duì)象,然后執(zhí)行數(shù)據(jù)庫(kù)語(yǔ)句,即EXECUTEUPDATE語(yǔ)句。用戶輸入用戶名、等級(jí)、得分信息,數(shù)據(jù)庫(kù)執(zhí)行查詢動(dòng)作,并將新的用戶信息更新至原數(shù)據(jù)庫(kù)中。利用TRYCATCH語(yǔ)句,一旦程序出現(xiàn)錯(cuò)誤,程序會(huì)報(bào)錯(cuò)。5查詢指定用戶的得分信息PUBLICARRAYLISTSELECTGRADEGRADEGDSTATEMENTSMNULLRESULTSETRSNULLARRAYLISTALGRADENEWARRAYLISTTRYSMCONNCREATESTATEMENT/創(chuàng)建執(zhí)行操作對(duì)象RSSMEXECUTEQUERY“SELECTFROMGRADEWHEREUNAME“GDGETUNAME“ANDVERSION“GDGETVESIONWHILERSNEXTGRADEGNEWGRADEALGRADEADDGCATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKT

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論