歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

本科畢業(yè)設(shè)計基于Java組件技術(shù)的拼圖游戲軟件的設(shè)計與實現(xiàn)

  • 資源ID:28264882       資源大小:2.29MB        全文頁數(shù):62頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

本科畢業(yè)設(shè)計基于Java組件技術(shù)的拼圖游戲軟件的設(shè)計與實現(xiàn)

畢業(yè)設(shè)計(論文)任務(wù)書設(shè)計(論文)題目基于Java組件技術(shù)的拼圖游戲軟件的設(shè)計與實現(xiàn) 題目分類 工程設(shè)計; 工程技術(shù)研究; 軟件工程(如CAI課題等); 專題研究;藝術(shù)設(shè)計; 其他 題目來源 自然科學(xué)基金與部、省、市級以上科研課題; 企、事業(yè)單位委托課題; 院級課題; 自擬課題 其他 指導(dǎo)教師(指導(dǎo)教師組組長及成員姓名)職 稱工作單位備注1、 畢業(yè)設(shè)計(論文)的內(nèi)容和要求(選題盡量與實際應(yīng)用需求相結(jié)合。要求寫明本設(shè)計(論文)所涉及的分析方法或技術(shù)手段;要求有學(xué)生獨立的見解,設(shè)計內(nèi)容要詳細(xì)寫明具體步驟和技術(shù)指標(biāo)):畢業(yè)設(shè)計(論文)的內(nèi)容和要求: 內(nèi)容: 使用Java Swing 組件開發(fā)一個拼圖游戲圖形界面應(yīng)用軟件,要求具有區(qū)分難度, 統(tǒng)計積分,更改外觀設(shè)計,背景音樂等功能。 要求:(1)明確需求,學(xué)習(xí)使用OOA方法對項目需求進(jìn)行分析。使用OOD方法對項目進(jìn)行設(shè)計。使用OOP方法對項目進(jìn)行編碼實現(xiàn)。 (2)必須具備背景音樂、難度劃分、統(tǒng)計積分以及更換外觀界面的功能。 (3)玩家操作界面要簡潔,游戲界面要美觀。 (4)可增添更多的游戲附件功能。開發(fā)環(huán)境:JDK1.5或以上版本,Eclipse具體步驟:(1)學(xué)習(xí)或復(fù)習(xí)面向?qū)ο蠡局R和Java相關(guān)知識。(2)認(rèn)真閱讀項目需求及設(shè)計需求,做好需求分析和軟件設(shè)計工作。(3)編寫軟件測試用例,在編碼過程中進(jìn)行測試工作。(4)設(shè)計游戲界面,并編寫相應(yīng)代碼。(5)編寫Java代碼,實現(xiàn)游戲功能。 2、應(yīng)完成的工作和提交材料要求(論文的撰寫內(nèi)容、格式、字?jǐn)?shù)的要求,課題完成后應(yīng)提交成果的種類、數(shù)量、質(zhì)量等方面的要求):(1)撰寫畢業(yè)論文不少于15000字,要求內(nèi)容正確、概念清楚、條理分明、文字通順、數(shù)據(jù)準(zhǔn)確、圖表齊全。(2)論文撰寫符合(論文)撰寫格式與裝訂要求。(3)翻譯1500漢字以上的有關(guān)技術(shù)資料或?qū)I(yè)文獻(xiàn),內(nèi)容要盡量結(jié)合課題。翻譯表達(dá)準(zhǔn)確、通順,外文摘要完整、準(zhǔn)確。(4)在完成畢業(yè)論文的過程中,按期完成相關(guān)任務(wù),并提交畢業(yè)設(shè)計(論文)開題報告、畢業(yè)設(shè)計(論文)中期進(jìn)展情況檢查表、指導(dǎo)記錄表、外文翻譯原文與譯文等文檔。(5)提交課題的可執(zhí)行程序、源程序、程序流程圖以及相應(yīng)結(jié)論。3、主要參考文獻(xiàn)(參考文獻(xiàn)不少于10篇,外文不少于2篇,參考文獻(xiàn)目錄按GB/T77142005的要求填寫): 1(美)??藸? Java編程思想(第4版)M. 北京:機械工業(yè)出版社,2007.2(美)霍頓. Java 2 入門經(jīng)典JDK 5M. 北京:機械工業(yè)出版社,2006.3(美)Joshua Bloch. Effective Java中文版(第2版)M. 北京:機械工業(yè)出版社,2009.4 方英蘭,韓兵,居陽等. 計算機軟件項目實訓(xùn)指導(dǎo)M.北京:電子工業(yè)出版社,2011.5(美)Y.Daniel Liang. Java語言程序設(shè)計:基礎(chǔ)篇(英文版)M.北京:機械工業(yè)出版社,2011.6(美)Y.Daniel Liang. Java語言程序設(shè)計:進(jìn)階篇(英文版)M.北京:機械工業(yè)出版社,2011.7(美)Kathy Sierra ,Bert Bates. Head First Java, 2nd EditionM.北京:中國電力出版社,2007.8(美)Joshua Bloch,Neal Gafter. Java(TM) Puzzlers: Traps, Pitfalls, and Corner CasesM.北京:人民郵電出版社,2010.9 裴龍,何大可.Java Swing組件設(shè)計模式分析J.計算機應(yīng)用,247-175,280,2001.10 呂校春,李玲莉.基礎(chǔ)Swing的Java GUI組件開發(fā)J.機械工程師,129-131,2008.4、畢業(yè)設(shè)計(論文)進(jìn)度計劃(從正式啟動時間開始,以周為單位填寫):(1)2011-2012學(xué)年第1學(xué)期第15周:下達(dá)畢業(yè)設(shè)計任務(wù)書,與學(xué)生見面。進(jìn)行畢業(yè)論文(設(shè)計)內(nèi)容和要求的講述,讓學(xué)生理解選題的目的、意義,清楚畢業(yè)設(shè)計做什么和怎么做,需要查找哪些資料及準(zhǔn)備課題所需的軟件系統(tǒng)。(2)2011-2012學(xué)年第1學(xué)期第16周第18周:充分理解任務(wù)書的內(nèi)容,研讀參考文獻(xiàn),學(xué)習(xí)課題所需軟件系統(tǒng)的安裝、使用方法。進(jìn)行外文文獻(xiàn)的翻譯工作。進(jìn)一步分析相關(guān)資料,整理思路,在此基礎(chǔ)之上完成畢業(yè)論文大綱和開題報告初稿。(3)2011-2012學(xué)年第2學(xué)期第1周:提交開題報告文檔、外文文獻(xiàn)譯文和原文,進(jìn)行開題報告的準(zhǔn)備工作(PPT講稿等)。(4)2011-2012學(xué)年第2學(xué)期第2周:進(jìn)行開題報告。(5)2011-2012學(xué)年第2學(xué)期第3周第6周:課題的理論研究,形成課題具體方案。搭建并熟悉系統(tǒng)開發(fā)運行環(huán)境,進(jìn)行相應(yīng)的程序設(shè)計和代碼編寫工作。填寫中期檢查表,準(zhǔn)備中期檢查。(6)2011-2012學(xué)年第2學(xué)期第7周:進(jìn)行中期檢查。(7)2011-2012學(xué)年第2學(xué)期第8周第11周:完善課題方案、設(shè)計,繼續(xù)程序編寫和調(diào)試,分析數(shù)據(jù),形成結(jié)論。完成畢業(yè)設(shè)計(論文)的初稿。(8)2011-2012學(xué)年第2學(xué)期第12周:按論文撰寫格式要求提交論文。相關(guān)教師對論文進(jìn)行評閱。(9)2011-2012學(xué)年第2學(xué)期第13周:根據(jù)評閱意見進(jìn)行論文第一次修改。完成畢業(yè)論文的預(yù)答辯工作。(10)2011-2012學(xué)年第2學(xué)期第14周:根據(jù)預(yù)答辯的結(jié)果進(jìn)行論文第二次修改,完成論文終稿,并準(zhǔn)備正式答辯。(11)2011-2012學(xué)年第2學(xué)期第15周:畢業(yè)設(shè)計(論文)答辯。指導(dǎo)教師簽字: 日期: 年 月 日教教學(xué)單位意見審核人簽字:系(院)(蓋章)年 月 日學(xué)院意見審核專家簽字:年 月 日題目基于Java組件技術(shù)的拼圖游戲軟件的設(shè)計與實現(xiàn)摘要拼圖游戲是一種可變性很高且耐玩的游戲,在平時空閑的時候可以自己制定圖片然后享受智力拼圖,空閑之余不妨放松一下。拼圖是一種大人與小孩都能玩的游戲,它可以開發(fā)智力且?guī)椭蠹姨岣邉幽X解決問題的能力。玩拼圖還有助于手眼協(xié)調(diào),玩家能訓(xùn)練和了解“部分”與“全部”的關(guān)系,可以知道許多的“部分”能拼湊出一個“全部”,以及一個“全部”是由許多“部分”所組成的。本課題主要是用Eclipse對一小型游戲進(jìn)行開發(fā)。選擇一個游戲的拼圖圖片,單擊方框可使圖片移動,從而能夠拼出一幅完整的圖片,這類游戲主要考察玩家的反應(yīng)能力,在游戲之余提高觀察和應(yīng)變能力。本游戲中通過分析JAVA游戲的開發(fā)流程,對功能進(jìn)行設(shè)計。該游戲主要實現(xiàn)了開始游戲,更改圖片(可自定義圖片),游戲難度選擇(9宮初級,16宮中級和25宮高級),戰(zhàn)況成績統(tǒng)計,成績排名,背景音樂等功能。游戲界面美觀,操作簡單,功能齊全,是廣大游戲愛好者都喜歡的一款游戲,具有一定的復(fù)雜性和可玩性。關(guān)鍵字:拼圖游戲 swing 八數(shù)碼VTitle Design and implementation of the jigsaw puzzle game based on Java SwingAbstractA jigsaw puzzle is a very flexible and playable game, in your spare time, you can formulate pictures and enjoy the intellectual puzzle, enjoy your free time. Jigsaw puzzle is one kind of game that can be played by both adults and children. It can develop ones intelligence and can also help us to improve our ability to solve problems. Playing puzzles can also help hand-eye coordination. Players can be trained and understand "parts" and "all", can know that a lot of "parts" put together to be a "full", and a "full" is made up of many "parts".This subject is mainly about using the software of Eclipse to design a small game. Choosing one picture of the game, clicking the box can make the picture to move, thereby able to spell out a complete graph, this game mainly consider to train the game player s ability to respond, while the game improve players observation and strain capacity.Through the summary and analysis of the JAVA game, the jigsaw puzzle game designs the function and process. The game achieved such main function: to start the game, changing pictures (can also be customized picture), selecting the difficulty of the game (9 House primary, intermediate and senior16 house25 house), to statistic the results, performance ranking, background music and so on. With specific implementation, with beautiful game interface, with simple operation, and with whole functions, its one of the most popular games in players thinking, and it has complexity and playability.Keywords:jigsaw puzzle Swing 8 puzzle questionII目錄1 前 言11.1 項目的背景與國內(nèi)外研究現(xiàn)狀11.2 項目的目的與意義21.3 系統(tǒng)開發(fā)方法介紹32 項目開發(fā)語言及開發(fā)環(huán)境52.1 Java語言52.2 開發(fā)環(huán)境62.3 Eclipse簡述73 可行性分析83.1 可行性分析所采用的方法和步驟83.2 評價尺度83.3 可行性分析83.3.1 經(jīng)濟(jì)可行性83.3.2 技術(shù)可行性83.3.3 操作可行性94 需求分析104.1 OOA方法介紹104.2 功能需求104.3 性能需求114.4 環(huán)境需求114.5 可靠性需求114.6 安全保密需求114.7 用戶界面需求124.8 軟件成本消耗與開發(fā)進(jìn)度需求124.9 條件假定和限制125 總體設(shè)計13III5.1 總體設(shè)計方案135.2 功能模塊設(shè)計135.2.1 登錄注冊部分流程分析145.2.2 游戲功能分析145.3 系統(tǒng)流程圖設(shè)計166 詳細(xì)設(shè)計186.1 數(shù)據(jù)庫設(shè)計與實現(xiàn)186.1.1 數(shù)據(jù)庫的概念186.1.2 Access介紹196.1.3 數(shù)據(jù)庫設(shè)計206.1.4 數(shù)據(jù)庫實現(xiàn)236.2 關(guān)鍵算法的設(shè)計與實現(xiàn)266.2.1 八數(shù)碼問題266.2.2 判斷圖片按鈕是否可以移動286.2.3 自定義圖片的算法296.2.4 判斷拼圖是否成功296.3 拼圖游戲界面的設(shè)計與實現(xiàn)306.3.1 人機界面設(shè)計與實現(xiàn)306.3.2 界面設(shè)計過程及特色407 軟件測試417.1 測試的目的及相關(guān)問題417.2 測試方法427.3 部分測試用例427.3.1 系統(tǒng)啟動測試427.3.2 拼圖測試437.3.3 游戲難度測試437.3.4 背景音樂測試447.3.5 拼圖游戲窗體外觀的測試447.3.6 成績與成績排名的測試457.4 測試分析和總結(jié)45結(jié) 論46致 謝48參考文獻(xiàn)49V11 前 言1.1 項目的背景與國內(nèi)外研究現(xiàn)狀隨著信息技術(shù)的飛速發(fā)展、蓬勃進(jìn)步,同時隨著國際互連網(wǎng)與相關(guān)系統(tǒng)的迅速普及,不同國家、行業(yè)被Internet連接在一起,互相通信,共享全世界的計算機資源和信息。如何保證不同格式的資料或信息能夠安全、高速、自由的交流、傳輸就成為一個迫切解決的問題。1996年Sun公司Java語言的正式發(fā)表可以說是Internet的一次技術(shù)革命,Sun公司的一位營銷天才把一門試驗性的跨平臺語言由象征踏實的Oak(橡樹),改名為香氣四溢的Java(咖啡)時,可能他沒有想到這門語言能有后來的輝煌。事實上,如果現(xiàn)在Sun想為這門語言改名,以準(zhǔn)確體現(xiàn)其在計算機行業(yè)的地位,似乎Oak更形象。今天,雖然Java語言并非真正意義上的遍地開花,但它已經(jīng)出現(xiàn)在眾多場合和設(shè)備中,而且它享有運行穩(wěn)定、設(shè)計精良的美名。它實現(xiàn)了程序的運行不受平臺的限制,在網(wǎng)絡(luò)上不僅可以進(jìn)行無格式的資料交換,還可以進(jìn)行程序交換。Java語言具備了其它語言所沒有的獨特優(yōu)勢,它一出現(xiàn)就馬上受到了各界人士的歡迎。Java的出現(xiàn)無疑給計算機行業(yè)帶來了一股清風(fēng),它帶來了許多新鮮而有趣的思想和觀念。Java Swing組件在游戲的實現(xiàn)上扮演著不可或缺的重要角色,Swing是一個用于開發(fā)Java應(yīng)用程序用戶界面的開發(fā)工具包。它以抽象窗口工具包(AWT)為基礎(chǔ)使跨平臺應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。Swing was developed to provide a more sophisticated set of GUI components than the earlier Abstract Window Toolkit .Swing提供了本機的外觀和手感 ,模擬多個平臺的外觀和感覺,同時還支持一個可插拔的外觀和手感 ,使應(yīng)用程序有一個擁有外觀和感覺的基礎(chǔ)平臺。 It has more powerful and flexible components than AWT.它具有比AWT更強大和靈活的組件。In addition to familiar components such as buttons, check box and labels, Swing provides several advanced components such as tabbed panel, scroll panes, trees, tables and lists.除了熟悉的部件,如按鈕,復(fù)選框和標(biāo)簽,Swing提供了一些先進(jìn)的零部件,如卡式面板,滾動窗格,樹,表,列出,因此Swing深受開發(fā)人員青睞。除此之外,他們只用很少的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來創(chuàng)建優(yōu)雅的用戶界面。因此,可以推斷Java Swing組件在未來游戲等各個相關(guān)領(lǐng)域依舊會保持良好的發(fā)展勢頭,發(fā)揚其優(yōu)勢,更好的服務(wù)于Java游戲產(chǎn)業(yè)。1.2 項目的目的與意義現(xiàn)代科學(xué)技術(shù)的發(fā)展,改變了人類的生活,作為新世紀(jì)的大學(xué)生,應(yīng)該站在時代發(fā)展的前沿,掌握最先進(jìn)的現(xiàn)代科學(xué)技術(shù)知識,以適應(yīng)社會的發(fā)展,應(yīng)能夠獨立地完成各種應(yīng)要面臨的任務(wù),成為一名有創(chuàng)新意識的新型人才。目前,很多新的技術(shù)領(lǐng)域都涉及到了Java語言。Java語言是面向?qū)ο缶幊蹋⑸婕暗骄W(wǎng)絡(luò)、多線程等重要的基礎(chǔ)知識,因此Java 語言也是學(xué)習(xí)面向?qū)ο缶幊毯途W(wǎng)絡(luò)編程的首選語言。該課題的主要目的是使Java游戲開發(fā)者深入理解所學(xué)的Java語言,并實踐于該游戲設(shè)計中,深刻體會以前所學(xué)的有關(guān)Java 程序設(shè)計方面的語言基礎(chǔ)、異常處理、事件處理、應(yīng)用程序以及圖形用戶界面設(shè)計等方面的知識,加深對結(jié)構(gòu)化設(shè)計思想的理解,能對系統(tǒng)功能進(jìn)行分析,并設(shè)計合理的模塊化結(jié)構(gòu)等。學(xué)會使用Java系統(tǒng),其中包括對程序的調(diào)試、運行、保存等知識的運用,還包括提高程序開發(fā)功能,能運用合理的方法簡化Java程序的操作,開發(fā)過程中應(yīng)培養(yǎng)分析問題、解決問題的能力。基于Java組件技術(shù)的拼圖游戲軟件是一款具有娛樂性、益智性、便捷性的游戲軟件。此軟件可以使用戶放松心情,享受于拼圖游戲的樂趣之中。該游戲軟件可以讓用戶選擇適合自己的主題與難度,根據(jù)用戶的不同水平,鍛煉其圖片記憶能力以及拼湊還原能力。游戲結(jié)束后亦可讓用戶清晰了解到自己的游戲狀態(tài)水平,便于調(diào)整自己對這款游戲的新的難度要求。另外要求軟件設(shè)計精致,畫面親和,人機交互高效快捷,能夠給用戶帶來人性化的服務(wù)。軟件面向的主流群體集中在年輕人,但也適宜兒童或者老人使用,提供了適宜各類用戶群體的圖片風(fēng)格與難度設(shè)置。不論是旨在輕松娛樂,還是益智教育的目的,該軟件都是一款家庭生活中以及學(xué)習(xí)生活的必備軟件。 設(shè)計并實現(xiàn)基于Java組件技術(shù)的拼圖游戲軟件作為自己的畢業(yè)課題設(shè)計是對學(xué)?;A(chǔ)課程、專業(yè)課程以及實踐課程的一次綜合性考查。此外,Java Swing組件在單機游戲平臺上的應(yīng)用一直處于熱門,這次的系統(tǒng)全面的實踐可以說是一次很好的鍛煉,會對以后工作生活帶來積極的影響。1.3 系統(tǒng)開發(fā)方法介紹目前比較成熟的系統(tǒng)開發(fā)方法有:生命周期法、原型法、面向?qū)ο蠓ǖ?。生命周期法:把一個信息系統(tǒng)從其提出、分析、設(shè)計和使用,直到停止使用的整個生存期視為一個生命周期。整個生命周期劃分為五個主要工作階段:可行性分析階段、系統(tǒng)分析階段、系統(tǒng)設(shè)計階段、系統(tǒng)實施階段和系統(tǒng)運行、維護(hù)與評價階段。通常采用結(jié)構(gòu)化系統(tǒng)分析和系統(tǒng)設(shè)計方法,自上而下分析、設(shè)計,強調(diào)開發(fā)過程的整體性和全局性;開發(fā)過程在時間上基本按階段進(jìn)行,任務(wù)明確;結(jié)合用戶需求進(jìn)行開發(fā);開發(fā)周期長,維護(hù)不方便。適用于開發(fā)需求較明確固定的信息系統(tǒng)。原型法:是系統(tǒng)開發(fā)者在初步了解用戶需求的基礎(chǔ)上,開發(fā)出能實現(xiàn)系統(tǒng)最基本功能的一個原型,再根據(jù)用戶對原型使用與評價的意見,提出修改方案,修改完善原型,如此反復(fù)多次,直到得到用戶滿意的最終系統(tǒng)為止。開發(fā)過程以用戶為中心,開發(fā)周期短。適用于開發(fā)需求不夠明確或不斷變化的軟件。面向?qū)ο蠓ǎ阂灶?,類的繼承,聚集等概念描述客觀事物以及聯(lián)系。為系統(tǒng)的開發(fā)提供了全新的思路,面向?qū)ο蠓椒ㄒ詫ο鬄橹行?。其特征主要有模塊性,繼承性和類比性,動態(tài)連接性。面向?qū)ο箝_發(fā)方法的開發(fā)過程:1. 系統(tǒng)調(diào)查和需求分析:對系統(tǒng)將要面臨的具體管理問題以及用戶對系統(tǒng)開發(fā)的需求進(jìn)行調(diào)查研究,即先弄清要干什么的問題; 2. 分析問題的性質(zhì)和求解問題:在繁雜的問題域中抽象地識別出對象以及其行為、結(jié)構(gòu)、屬性、方法等。一般稱之為面向?qū)ο蟮姆治觯碠OA; 3. 整理問題:對分析的結(jié)果作進(jìn)一步的抽象、歸類、整理,并最終以范式的形式將它們確定下來。一般稱之為面向?qū)ο蟮脑O(shè)計,即OOD;4. 程序?qū)崿F(xiàn):用面向?qū)ο蟮某绦蛟O(shè)計語言將上一步整理的范式直接映射(即直接用程序設(shè)計語言來取代)為應(yīng)用軟件。一般稱之為面向?qū)ο蟮某绦?,即OOP; 5. 識別客觀世界中的對象以及行為,分別獨立設(shè)計出各個對象的實體;分析對象之間的聯(lián)系和相互所傳遞的信息,由此構(gòu)成信息系統(tǒng)的模型;由信息系統(tǒng)模型轉(zhuǎn)換成軟件系統(tǒng)的模型,對各個對象進(jìn)行歸并和整理,并確定它們之間的聯(lián)系;由軟件系統(tǒng)模型轉(zhuǎn)換成目標(biāo)系統(tǒng)。 面向?qū)ο箝_發(fā)方法的應(yīng)用范圍:在大型管理信息系統(tǒng)開發(fā)中,若不經(jīng)自頂向下的整體劃分,而是一開始就自底向上地采用OO方法開發(fā)系統(tǒng),會造成系統(tǒng)結(jié)構(gòu)不合理、各部分關(guān)系失調(diào)等等問題。OO方法和結(jié)構(gòu)化方法在系統(tǒng)開發(fā)中相互依存、不可替代。綜上所述,由于面向?qū)ο箝_發(fā)方法主要針對于各類管理系統(tǒng)的開發(fā),所以該畢業(yè)設(shè)計中采用面向?qū)ο蠓椒ㄅc原型法相結(jié)合的方法進(jìn)行系統(tǒng)開發(fā),主要也因為原型法是近幾年發(fā)展起來的一種開發(fā)方法。該方法從一個初始信息要求的集合出發(fā),在發(fā)展中逐步完善信息系統(tǒng),更簡單、易學(xué),同時也更適合該系統(tǒng)的開發(fā)。使用原型法開發(fā)大體有以下幾個步驟:1確定系統(tǒng)需求;2設(shè)計初始原型,包括確定需求以及開發(fā)工作模型,例如屏幕格式、功能菜單格式以及對關(guān)鍵數(shù)據(jù)和功能的說明等;3對初始原型進(jìn)行需求迭代,不斷進(jìn)行修正或改進(jìn),直至得到一個用戶滿意的原型,從而終止原型迭代過程;4原型效果考察,考察用戶新加入的需求信息和組成成分的嚴(yán)格說明信息,看其對原型效果的影響,是否影響到原型的有效性,如果導(dǎo)致原型失敗,應(yīng)加以修正和改進(jìn);原型法的生命周期提供了一種完整的、靈活的、近于動態(tài)的需求定義技術(shù)。它綜合了所有提出的必要需求,建立原型就近似于預(yù)先需求的規(guī)格說明。對原型的工作模型可以進(jìn)行必要的剪裁和組織,以便更接近目標(biāo)系統(tǒng)。它可以綜合用戶、領(lǐng)導(dǎo)和原型開發(fā)人員的各方需求。 2 項目開發(fā)語言及開發(fā)環(huán)境2.1 Java語言1. 平臺無關(guān)性 平臺無關(guān)性是指Java能運行于不同的平臺。Java引進(jìn)虛擬機原理,并運行于虛擬機,實現(xiàn)不同平臺的Java接口之間。使用Java編寫的程序能在世界范圍內(nèi)共享。Java的數(shù)據(jù)類型與機器無關(guān),Java虛擬機(Java Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實現(xiàn)Java二進(jìn)制代碼的解釋執(zhí)行功能,提供于不同平臺的接口。 2. 安全性 Java的編程類似C+,學(xué)習(xí)過C+的開發(fā)者能夠很快掌握J(rèn)ava的精髓。Java舍棄了C+的指針對存儲器地址的直接操作,程序運行時,內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指針侵入系統(tǒng)。Java對程序提供了安全管理器,防止程序的非法訪問。 3. 面向?qū)ο?Java 吸取了C+面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,利用類的優(yōu)點實現(xiàn)了程序的簡潔性以及便于維護(hù)性。類的封裝性、繼承性等有關(guān)對象的特性,使程序代碼只需一次編譯,然后通過上述特性反復(fù)利用。程序員只需把主要精力用在類和接口的設(shè)計和應(yīng)用上。Java 提供了眾多的一般對象的類,通過繼承即可使用父類的方法。在 Java 中,類的繼承關(guān)系是單一的非多重的,一個子類只有一個父類,子類的父類又有一個父類。Java 提供的Object 類及其子類的繼承關(guān)系如同一棵倒立的樹形,根類為 Object 類,Object 類功能強大,經(jīng)常會使用到它及其它派生的子類。 4. 分布式 Java建立在擴展TCP/IP網(wǎng)絡(luò)平臺上。庫函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機文件一樣容易。 5. 健壯性 Java致力于檢查程序在編譯和運行時的錯誤,類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯誤,Java自己操縱內(nèi)存減少了內(nèi)存出錯的可能性,Java還實現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。這些功能特征大大提高了開發(fā)Java應(yīng)用程序的周期。2.2 開發(fā)環(huán)境 圖2-1 Java開發(fā)環(huán)境圖Java開發(fā)環(huán)境圖如圖2-1所示,圖中表示出Java拼圖游戲軟件的開發(fā)環(huán)境、具體的目錄存放以及操作環(huán)境等。其中建議使用的操作系統(tǒng)為Microsoft Windows XP,程序開發(fā)語言為Java,下面是JDK的安裝步驟以及配制方法的簡單介紹。JDK下載、安裝及配置:JDK是整個Java的核心,包括了Java運行環(huán)境(Java Runtime Environment),一堆Java工具和Java基礎(chǔ)的類庫(rt.jar)。第一步:下載jdk-6u23-windows-i586,Eclipse Indigo;第二步:安裝下載好的JDK是一個可執(zhí)行安裝程序,執(zhí)行安裝即可;第三步:設(shè)置環(huán)境變量打開“我的電腦屬性高級環(huán)境變量系統(tǒng)變量”,設(shè)置以下三個變量:JAVA_HOME=<JDK安裝目錄> Path=<原Path>;<bin安裝目錄>Java虛擬機的ClassLoader會按照CLASSPATH設(shè)定的路徑搜索class文件。2.3 Eclipse簡述 Eclipse是一個開放源代碼的基于Java的可擴展開發(fā)平臺,是一個相當(dāng)著名的開源Java IDE,由IBM公司開源。Eclipse主要以其開放性、極為高效的GUI、先進(jìn)的代碼編輯器等著稱,其項目包括許多各種各樣的子項目組,包括 Eclipse插件、功能部件等,任何人都能夠輕易的將自己的軟件做成Eclipse的插件,而且這些插件只需簡單的復(fù)制到Eclipse的插件文件夾下就可以被集成。Eclipse主要采用SWT界面庫,支持多種本機界面風(fēng)格。該項目中,我用到的是Eclipse Indigo版本,該版本發(fā)行于2011年6月22日。3 可行性分析3.1 可行性分析所采用的方法和步驟通過研究分析拼圖游戲所具備的能力及實現(xiàn)的方法來確定主體結(jié)構(gòu)。利用現(xiàn)階段我所能達(dá)到的能力,以最簡潔、最容易的辦法,邊開發(fā)邊測試邊修改,實現(xiàn)一個初級游戲軟件。3.2 評價尺度由于本軟件是一個初級產(chǎn)品,對其要求不是太苛刻,所以能夠保證達(dá)到拼圖游戲的一般功能。3.3 可行性分析3.3.1 經(jīng)濟(jì)可行性由于本游戲是畢業(yè)設(shè)計,不過分強調(diào)直接的經(jīng)濟(jì)效益和其日后的發(fā)展方向,只在注重自身水平和能力的提高,同時對自身的經(jīng)濟(jì)要求也不高,只要有一臺能運行Java軟件的電腦便可,所以基本上不用考慮到經(jīng)濟(jì)問題。3.3.2 技術(shù)可行性可用與本游戲的編程語言有VB,Java,Delphi等,考慮到用于編寫程序的困難度,和對語言的了解程度,選擇Java作為編程語言。需要對變量定義、變量初始化、界面初始化、游戲初始化、然后進(jìn)入游戲、處理游戲過程中的各種操作。3.3.3 操作可行性本游戲的開發(fā)作為畢業(yè)設(shè)計,目的在于鞏固先前所學(xué)的知識,以個人為單位,僅供個人平常娛樂所用,無須考慮社會影響,不用考慮法律、版權(quán)等社會因素,且此軟件的開發(fā)不觸犯法律,所以在這方面是完全可行的。4 需求分析4.1 OOA方法介紹面向?qū)ο蟮姆治龇椒ǎ∣OA),是在一個系統(tǒng)的開發(fā)過程中進(jìn)行了系統(tǒng)業(yè)務(wù)調(diào)查以后,按照面向?qū)ο蟮乃枷雭矸治鰡栴}。OOA與結(jié)構(gòu)化分析有較大的區(qū)別。OOA所強調(diào)的是在系統(tǒng)調(diào)查資料的基礎(chǔ)上,針對OO方法所需要的素材進(jìn)行的歸類分析和整理,而不是對管理業(yè)務(wù)現(xiàn)狀和方法的分析。在用OOA具體地分析一個事物時,大致上遵循如下五個基本步驟: 第一步,確定對象和類。這里所說的對象是對數(shù)據(jù)及其處理方式的抽象,它反映了系統(tǒng)保存和處理現(xiàn)實世界中某些事物的信息的能力。類是多個對象的共同屬性和方法集合的描述,它包括如何在一個類中建立一個新對象的描述。 第二步,確定結(jié)構(gòu)(structure)。結(jié)構(gòu)是指問題域的復(fù)雜性和連接關(guān)系。類成員結(jié)構(gòu)反映了泛化-特化關(guān)系,整體-部分結(jié)構(gòu)反映整體和局部之間的關(guān)系。 第三步,確定主題(subject)。主題是指事物的總體概貌和總體分析模型。 第四步,確定屬性(attribute)。屬性就是數(shù)據(jù)元素,可用來描述對象或分類結(jié)構(gòu)的實例,可在圖中給出,并在對象的存儲中指定。 第五步,確定方法(method)。方法是在收到消息后必須進(jìn)行的一些處理方法:方法要在圖中定義,并在對象的存儲中指定。對于每個對象和結(jié)構(gòu)來說,那些用來增加、修改、刪除和選擇一個方法本身都是隱含的(雖然它們是要在對象的存儲中定義的,但并不在圖上給出),而有些則是顯示的。4.2 功能需求用戶對于該拼圖游戲軟件的需求主要體現(xiàn)在以下幾個功能:1. 實現(xiàn)程序GUI圖形界面;2. 實現(xiàn)游戲登錄、注冊、開始、退出等功能;3. 實現(xiàn)鼠標(biāo)或鍵盤事件響應(yīng)模塊的功能;4. 實現(xiàn)可選難度等級功能;5. 實現(xiàn)輸贏自動判別功能;6. 實現(xiàn)游戲背景音樂選擇功能;7. 實現(xiàn)游戲積分功能;8. 實現(xiàn)游戲戰(zhàn)況排名功能;9. 實現(xiàn)游戲圖片更換功能,并且可以自定義圖片;10. 實現(xiàn)進(jìn)行游戲同時可以查看原圖功能;11. 實現(xiàn)游戲外觀更換功能。4.3 性能需求要求該軟件達(dá)到以下指標(biāo):1. 保證軟件安全性,軟件設(shè)有登陸注冊窗體,有嚴(yán)格的賬戶合法性檢驗過程;2. 保證風(fēng)格多樣性,提供至少三種難度選擇,由易到難,適合各類用戶群體;提供至少三種背景音樂選擇,風(fēng)格各異,適合各類用戶群體;提供至少十種拼圖圖片供各類用戶群體選擇;4.4 環(huán)境需求操作系統(tǒng)可以有以下幾種:Win XP/Win Vista/Win 7。硬件要求:奔騰四處理器,主頻2.0GHz,512M以上內(nèi)存。4.5 可靠性需求要保證該拼圖游戲軟件的穩(wěn)定性,要在完成軟件設(shè)計后進(jìn)行軟件穩(wěn)定性測試,檢測出該軟件發(fā)生故障的概率。4.6 安全保密需求進(jìn)入游戲界面前,設(shè)有登陸窗體,用戶需輸入正確的用戶名和密碼才能登陸屬于自己的賬號,另外設(shè)有注冊窗體,便于新用戶的使用。要求保證每位用戶賬戶信息的安全。4.7 用戶界面需求利用Java Swing組件對該游戲軟件的界面進(jìn)行設(shè)計與實現(xiàn),實現(xiàn)程序GUI圖形界面,做到界面設(shè)計簡潔大方,時尚新穎,適合各類用戶群體使用。4.8 軟件成本消耗與開發(fā)進(jìn)度需求 由于該軟件只作為畢業(yè)設(shè)計,用于考察學(xué)生對于Java Swing 組件的理解與應(yīng)用能力,并未涉及軟件的市場推廣等工作,且開發(fā)該游戲的軟件不需付費,屬于零成本,所以暫不用考慮軟件的成本消耗。開發(fā)進(jìn)度嚴(yán)格遵守任務(wù)書中的畢業(yè)設(shè)計(論文)進(jìn)度計劃。4.9 條件假定和限制由于本軟件目前是基礎(chǔ)版本,未做到盡善盡美。如果用戶需要提高版本,本軟件需要根據(jù)游戲者的要求進(jìn)行進(jìn)一步的修改。5 總體設(shè)計5.1 總體設(shè)計方案在登錄游戲界面后,設(shè)計本程序能夠載入默認(rèn)圖片(用戶也可以選擇想要的其它圖片),程序默認(rèn)難度為9宮格(用戶也可以選擇想要的其他難度),還設(shè)計實現(xiàn)背景音樂的播放功能等。在本程序中,對于圖片的分割、拼湊、判斷圖片是否可以移動等都是設(shè)計的關(guān)鍵??傮w設(shè)計方案中主要說明前期工作中對于分割圖片以及判斷拼圖是否成功這兩點的設(shè)計。對于分割圖片是用像素點來實現(xiàn)的,同時對圖片進(jìn)行了自動縮放,這樣一來就可以使得圖片分割后看起來更連貫。拆分圖片后,把分好的圖片存儲到一個image數(shù)組中,對于可移動的塊其實是按鈕,每個按鈕上都有一個icon,通過隨機把image數(shù)組中的圖片通過imageIcon的轉(zhuǎn)化后附給一個按鈕,并將按鈕數(shù)組首先附給一個向量,然后用隨機數(shù)來確定對應(yīng)向量的值,然后再附給對應(yīng)數(shù)組按鈕,同時去除該值。也就是說在附值的時候圖片順序不變,變的而是數(shù)組按鈕的順序。對于圖片的是否拼圖成功的提示,主要是在每個按鈕中加個String的屬性值,而且對于正確的排序的值與正在排的各個值比較,一旦所有的按鈕對應(yīng)的值與正確的排序一致,則為成功。5.2 功能模塊設(shè)計關(guān)于該拼圖游戲的功能木模塊設(shè)計,從邏輯上分析,該拼圖游戲主要分成2塊,也就是主要的兩個窗體,分別為登錄注冊部分和游戲部分,其中游戲部分又分為游戲菜單部分以及幫助菜單部分,下面就從這幾部分對該款拼圖游戲進(jìn)行功能設(shè)計分析。5.2.1 登錄注冊部分流程分析啟動程序輸入用戶名和密碼合法性檢查讀取權(quán)限進(jìn)入游戲界面結(jié)束NNY賬戶檢測注冊賬號Y圖5-1 登錄注冊流程分析登陸注冊流程的分析圖如圖5-1所示,啟動程序后,首先是登錄界面,在登陸界面中,用戶只有輸入正確的賬號和密碼才能進(jìn)行合法性檢查,才可以進(jìn)入拼圖游戲界面進(jìn)行游戲,否則進(jìn)不去系統(tǒng),在這里也可以通過選擇注冊賬號進(jìn)入系統(tǒng)。5.2.2 游戲功能分析游戲部分主要分為游戲主菜單和幫助菜單2部分:1. 游戲主菜單功能分析游戲菜單包括:(1)開始游戲;(2)更換圖片包括游戲自帶圖片和自定義圖片;(3)難度選擇包括初級難度,中級難度和高級難度;(4)戰(zhàn)況成績;(5)成績排名;(6)背景音樂包括三種游戲背景音樂可供選擇;(7)退出游戲。拼圖游戲菜單開始游戲更換圖片難度選擇戰(zhàn)況成績成績排名退出游戲背景音樂系統(tǒng)自帶用戶定義初級難度中級難度高級難度背景音樂1背景音樂2背景音樂3圖5-2 拼圖游戲菜單功能結(jié)構(gòu)圖 拼圖游戲菜單功能的結(jié)構(gòu)圖如圖5-2所示,圖中表示拼圖游戲菜單有七個一級菜單選項,分別是開始游戲、更換圖片、難度選擇、戰(zhàn)況成績、成績排名、背景音樂以及退出成績這幾個菜單選項。又有二級菜單選項,分別為更換圖片里的圖片選擇、難度選擇中的三種難度選擇以及背景音樂中的三種音樂選擇。2. 幫助菜單功能分析 幫助菜單功能包括:(1)原圖效果,主要是在游戲過程中給用戶提供原圖,方便用戶游戲操作;(2)游戲幫助;(3)關(guān)于軟件信息;(4)游戲外觀,游戲外觀包括三種風(fēng)格可供選擇。幫助菜單原圖效果游戲幫助關(guān)于系統(tǒng)游戲外觀圖5-3 幫助菜單功能結(jié)構(gòu)圖 幫助菜單功能結(jié)構(gòu)圖如圖5-3所示,圖中表示出幫助菜單中有四個菜單選項,分別為原圖效果、游戲幫助、游戲外觀、以及關(guān)于系統(tǒng)的介紹這幾個菜單選項。其中游戲外觀菜單選項中有三個子選項,分別為windows外觀、Java外觀以及系統(tǒng)外觀三種選擇。5.3 系統(tǒng)流程圖設(shè)計圖5-4 流程圖符號在繪制程序框圖時,使用的符號說明如圖5-4所示,拼圖游戲系統(tǒng)處理方式的合理選擇,其實就是一個處理過程的設(shè)計問題。選擇處理方式實際上就是根據(jù)系統(tǒng)的任務(wù)、目標(biāo)和環(huán)境條件,合理地選擇信息活動的形態(tài)及具體方法。程序流程圖又稱為方框圖。表示方法簡明直觀,是用來描述程序執(zhí)行的邏輯過程的。它把程序的基本步驟歸納為:處理、判斷、輸入/輸出、開始和結(jié)束等幾個基本功能,并用不同的記號加以表示,從而描述程序的執(zhí)行過程。返回主界面功能選擇拼圖游戲菜單和幫助菜單功能選擇輸入/輸出操作信息進(jìn)入是否繼續(xù)YN圖5-5 拼圖游戲系統(tǒng)流程圖 拼圖游戲系統(tǒng)流程圖如圖5-5所示,進(jìn)入系統(tǒng)后,用戶可選擇各功能進(jìn)行游戲,此時亦可選擇退出。選擇各功能可分別從游戲菜單和幫助菜單中選擇,游戲菜單中有開始游戲、難度選擇、圖片更改、背景音樂選擇、戰(zhàn)況排名、游戲成績以及退出游戲等,幫助菜單中有原圖顯示、游戲幫助、關(guān)于系統(tǒng)等功能選擇。根據(jù)用戶的功能選擇會輸出具體對應(yīng)的操作信息,直至游戲結(jié)束。6 詳細(xì)設(shè)計6.1 數(shù)據(jù)庫設(shè)計與實現(xiàn)6.1.1 數(shù)據(jù)庫的概念數(shù)據(jù)庫處理在信息系統(tǒng)的研究中一直是非常重要的主題,然而,近年來,隨著World Wide Web(WWW)的猛增及Internet技術(shù)的迅速發(fā)展,使得數(shù)據(jù)庫技術(shù)之時成為最熱門技術(shù)之一。數(shù)據(jù)庫技術(shù)能使Internet應(yīng)用超越具有早期應(yīng)用特點的簡單的發(fā)布。同時,Internet技術(shù)提供了一種向用戶發(fā)布數(shù)據(jù)庫內(nèi)容的標(biāo)準(zhǔn)化的訪問方法。這些技術(shù)沒有脫離經(jīng)典數(shù)據(jù)庫技術(shù)的要求。它們只是加重了數(shù)據(jù)庫技術(shù)的重要性。數(shù)據(jù)庫的設(shè)計和開發(fā)及包括藝術(shù)有包括工程。理解用戶的需求,然后,把它們轉(zhuǎn)變?yōu)橛行У臄?shù)據(jù)庫設(shè)計是一個藝術(shù)過程。把設(shè)計轉(zhuǎn)變?yōu)閷嶋H的數(shù)據(jù)庫,并且這些數(shù)據(jù)庫帶有功能完備、高效能的應(yīng)用,是一個工程過程。數(shù)據(jù)庫的目的是幫助人們跟蹤事務(wù)。經(jīng)典的數(shù)據(jù)庫應(yīng)用涉及諸如訂單、顧客、工作、員工、電話之類的項,或其它數(shù)據(jù)量較大、需要密切關(guān)注的事務(wù)。最近,由于數(shù)據(jù)庫的普及,數(shù)據(jù)庫技術(shù)已經(jīng)被應(yīng)用到了新的領(lǐng)域,諸如用于Internet的數(shù)據(jù)庫或用于公司內(nèi)聯(lián)網(wǎng)的數(shù)據(jù)庫。數(shù)據(jù)庫也被越來越多地應(yīng)用于生成和維護(hù)多媒體應(yīng)用程序上。計算機的數(shù)據(jù)處理應(yīng)用,首先要把大量的信息以數(shù)據(jù)形式存放在存儲器中。存儲器的容量、存儲速率直接影響到數(shù)據(jù)管理技術(shù)的發(fā)展。從1956年生產(chǎn)出第一臺計算機到現(xiàn)在,存儲器的發(fā)展,為數(shù)據(jù)庫技術(shù)提供了良好的物質(zhì)基礎(chǔ)。設(shè)計數(shù)據(jù)庫系統(tǒng)時,應(yīng)該首先了解用戶的各個方面的需求,包括現(xiàn)有的以及將來可能增加的。6.1.2 Access介紹Access 是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS,即Relational Database Management System),是Office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對象;提供了多種向?qū)А⑸善?、模板,把?shù)據(jù)存儲、數(shù)據(jù)查詢、界面設(shè)計、報表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。Access能夠存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文軟件公司),或者任何 ODBC 兼容數(shù)據(jù)庫內(nèi)的資料。熟練的軟件設(shè)計師和資料分析師利用它來開發(fā)應(yīng)用軟件,而一些不熟練的程序員和非程序員的"進(jìn)階用戶"則能使用它來開發(fā)簡單的應(yīng)用軟件。雖然它支援部分面向?qū)ο螅∣OP)技術(shù),但是未能成為一種完整的面向?qū)ο箝_發(fā)工具。Access的優(yōu)點主要體現(xiàn)在以下幾個方面:1. 存儲方式簡單,易于維護(hù)管理,Access管理的對象有表、查詢、窗體、報表、頁、宏和模塊,以上對象都存放在后綴為(.mdb或.accdb)的數(shù)據(jù)庫文件中,便于用戶的操作和管理。 2. 面向?qū)ο?Access是一個面向?qū)ο蟮拈_發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)據(jù)庫系統(tǒng)中的各種功能對象化,將數(shù)據(jù)庫管理的各種功能封裝在各類對象中。它將一個應(yīng)用系統(tǒng)當(dāng)作是由一系列對象組成的,對每個對象它都定義一組方法和屬性,以定義該對象的行為和外國,用戶還可以按需要給對象擴展方法和屬性。通過對象的方法、屬性完成數(shù)據(jù)庫的操作和管理,極大地簡化了用戶的開發(fā)工作。同時,這種基于面向?qū)ο蟮拈_發(fā)方式,使得開發(fā)應(yīng)用程序更為簡便。 3. 界面友好、易操作,Access是一個可視化工具,是風(fēng)格與Windows完全一樣,用戶想要生成對象并應(yīng)用,只要使用鼠標(biāo)進(jìn)行拖放即可,非常直觀方便。系統(tǒng)還提供了表生成器、查詢生成器、報表設(shè)計器以及數(shù)據(jù)庫向?qū)?、表向?qū)?、查詢向?qū)?、窗體向?qū)?、報表向?qū)У裙ぞ?,使得操作簡便,容易使用和掌握?4. 集成環(huán)境、處理多種數(shù)據(jù)信息,Access基于Windows操作系統(tǒng)下的集成開發(fā)環(huán)境,該環(huán)境集成了各種向?qū)Ш蜕善鞴ぞ?,極大地提高了開發(fā)人員的工作效率,使得建立數(shù)據(jù)庫、創(chuàng)建表、設(shè)計用戶界面、設(shè)計數(shù)據(jù)查詢、報表打印等可以方便有序地進(jìn)行。 5. 該Access支持ODBC(開發(fā)數(shù)據(jù)庫互連,Open Data Base Connectivity),利用Access強大的DDE(動態(tài)數(shù)據(jù)交換)和OLE(對象的聯(lián)接和嵌入)特性,可以在一個數(shù)據(jù)表中嵌入位圖、聲音、Excel表格、Word文檔,還可以建立動態(tài)的數(shù)據(jù)庫報表和窗體等。Access還可以將程序應(yīng)用于網(wǎng)絡(luò),并與網(wǎng)絡(luò)上的動態(tài)數(shù)據(jù)相聯(lián)接。利用數(shù)據(jù)庫訪問頁對象生成HTML文件,輕松構(gòu)建Internet/Intranet的應(yīng)用。 6. 支持廣泛,易于擴展,彈性較大,能夠?qū)⑼ㄟ^鏈接表的方式來打開EXCEL文件、格式化文本文件等,這樣就可以利用數(shù)據(jù)庫的高效率對其中的數(shù)據(jù)進(jìn)行查詢、處理。還可以通過以Access作為前臺客戶端,以SQL Server作為后臺數(shù)據(jù)庫的方式(如ADP)開發(fā)大型數(shù)據(jù)庫應(yīng)用系統(tǒng)。 總之,Access是一個既可以只用來存放數(shù)據(jù)的數(shù)據(jù)庫,也可以作為一個客戶端開發(fā)工具來進(jìn)行數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā);即可以開發(fā)方便易用的小型軟件,也可以用來開發(fā)大型的應(yīng)用系統(tǒng)。6.1.3 數(shù)據(jù)庫設(shè)計其實在拼圖游戲主體中并沒用到數(shù)據(jù)庫,數(shù)據(jù)庫在此拼圖游戲中主要是用來保存用戶信息和用戶游戲成績信息的,因此拼圖游戲主要包括2張表:1用戶信息表表6-1 用戶信息表(userInfo)用戶信息表在拼圖游戲中主要體現(xiàn)在用戶登錄和用戶注冊信息的保存,如表6-1所示,建立用戶信息表userinfo,其中具備uname和upwd(即用戶名和密碼)這兩項用戶信息,這兩項的數(shù)據(jù)類型均為文本類型。設(shè)置字段名稱分別為uname以及upwd,分別代表用戶名以及密碼兩個項目。創(chuàng)建用戶信息表用來存儲用各位用戶的用戶名以及密碼這兩項信息。2. 成績信息表表6-2 成績信息表(Grade)成績信息表在拼圖游戲中主要體現(xiàn)在用戶個人戰(zhàn)況成績和成績排名信息的保存,如表6-2所示,創(chuàng)建成績信息表,用來存儲各位用戶的成績信息,其中包括用戶名、等級、分?jǐn)?shù)以及時間這四項信息,數(shù)據(jù)類型分別為文本、數(shù)字、數(shù)字和日期/時間。設(shè)置字段名稱分別為uname、version、point以及time,分別代表用戶名、等級、分?jǐn)?shù)以及時間這四個項目。圖6-1 E-R圖符號說明E-R圖是由實體、屬性、聯(lián)系三部分組成,其符號表示如圖6-1所示,實體-聯(lián)系圖(Entity-Relation Diagram)用來建立數(shù)據(jù)模型,在數(shù)據(jù)庫系統(tǒng)概論中屬于概念設(shè)計階段,形成一個獨立于機器,獨立于DBMS的ER圖模型。 通常將它簡稱為ER圖,相應(yīng)地可把用ER圖描繪的數(shù)據(jù)模型稱為ER模型。ER圖提供了表示實體(即數(shù)據(jù)對象)、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。本拼圖游戲中有2個實體,用戶信息的E-R圖如圖6-2所示:userInfo(uname,upwd)userInfounameupwd圖6-2 userInfo E-R圖圖6-2為userInfo E-R圖,即用戶信息E-R圖。在用戶信息的E-R圖中,有兩個實體,分別為uname以及upawd這兩項,分別表示用戶名以及密碼這兩項,圖6-2表示出用戶信息表中的實體-聯(lián)系圖,可以讓人清晰地看出用戶信息表中所包含的數(shù)據(jù)庫信息,并反映其屬性。Grade(uname,version,point,time)Gradeunametimeversionpoint圖6-3 Grade E-R圖如圖6-3所示,圖為Grade E-R圖,其中包含uname、version、point以及time這四項,分別代表用戶名、等級、分?jǐn)?shù)以及時間這四項。該圖表示出用戶成績信息表中的數(shù)據(jù)關(guān)系??梢宰屓饲逦乜闯鲇脩粜畔⒈碇兴臄?shù)據(jù)庫信息,并反映其屬性。userInfoGrade屬于1N圖6-4 全局E-R圖如圖6-4所示,圖為全局E-R圖,反映出該數(shù)據(jù)庫系統(tǒng)中所包含的數(shù)據(jù)庫信息。有userInfo以及Grade這兩個實體。1個用戶可以有N個成績,但是1個成績只能屬于1個用戶,因此用戶和成績是1對多的關(guān)系,得出下面實體關(guān)系圖:6.1.4 數(shù)據(jù)庫實現(xiàn)1. 數(shù)據(jù)庫的連接private static void createConn()try Class.forName(DRIVER);/加載驅(qū)動try conn=DriverManager.getConnection(url);/到得數(shù)據(jù)庫連接 catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace();用Java訪問數(shù)據(jù)庫首先要加載數(shù)據(jù)庫驅(qū)動,然后才能連接數(shù)據(jù)庫。設(shè)計中涉及到了DAO(data access object 數(shù)據(jù)訪問對象)。DAO就是處理數(shù)據(jù)庫的操作;model就是DAO進(jìn)行操作的數(shù)據(jù)對象。也就是說,DAO是操作數(shù)據(jù)庫的,提供對數(shù)據(jù)庫的基本操作,model利用DAO里的方法完成業(yè)務(wù)邏輯處理,本身不涉及對數(shù)據(jù)庫的操作。2. 查詢指定用戶信息的實現(xiàn)public int selectUser(Userinfo ui)int count=0;Statement st=null;/執(zhí)行操作對象try st= conn.createStatement();/創(chuàng)建執(zhí)行操作對象 catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();try ResultSet rs=st.executeQuery("select * from UserInfo where uname="+ui.getUname()+"");if(rs.next()count=1; catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return count;/返回結(jié)果定義靜態(tài)SQL語句命令,創(chuàng)建執(zhí)行操作對象,執(zhí)行SQL語句,用戶可根據(jù)自己的需要輸入自己所想查詢的用戶的信息,該段代碼是執(zhí)行查詢操作,查詢指定的用戶的信息,即執(zhí)行select from操作,執(zhí)行后將數(shù)據(jù)返回到結(jié)果中。其間,若操作有誤便會通過try catch語句拋出異常。3. 注冊用戶信息的實現(xiàn)public int register(Use

注意事項

本文(本科畢業(yè)設(shè)計基于Java組件技術(shù)的拼圖游戲軟件的設(shè)計與實現(xiàn))為本站會員(仙***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!