(附源码)node.js游戏网站 毕业设计 031726
游戲網站的設計
摘?要
基于網絡游戲的蓬勃發展,游戲網站發揮著吸引玩家和提高玩家之間的互動性的重要作用,因而,建設了一個以游戲為中心的游戲官網。?該游戲提供了一個大型的玩家交流互動平臺,包括用戶管理、游戲社區、游戲信息、分類信息、游戲資訊、論壇分類列表、新聞分類列表等等模塊。
游戲網站以node.js和MySQL?為開發環境,使用node.js動態網頁技術在網絡上架構起一個游戲網站,將前臺發布、后臺管理完美結合,為用戶提供一個良好的交流平臺,Adam?具有高度的可伸縮性、可擴展性、安全性、易移植性和易維護性。
論文以游戲為主線,首先介紹了游戲網站系統的發展現狀及開發背景,然后論述了系統的設計目標,系統分析、設計和實現,設計了系統的類圖、用例圖、活動圖、時序圖、系統流程圖和系統功能模塊。最后,用相關軟件對游戲網站系統進行了系統測試。關鍵詞:node.js;MySQL數據庫;游戲網站
Design of game website
Abstract
Based on the vigorous development of online games, game websites play an important role in attracting players and improving the interaction between players. Therefore, a game centered game official website has been built. The game provides a large-scale player exchange and interaction platform, including user management, game community, game information, classification information, game information, forum classification list, news classification list and so on.
The game website is based on node JS and MySQL as the development environment, using node JS dynamic web page technology constructs a game website on the network, which perfectly combines foreground publishing and background management to provide users with a good communication platform. Adam has high scalability, scalability, security, portability and maintainability.
Taking the game as the main line, this paper first introduces the development status and development background of the game website system, then discusses the design objectives, system analysis, design and implementation of the system, and designs the class diagram, use case diagram, activity diagram, sequence diagram, system flow diagram and system function module of the system. Finally, the game website system is tested with relevant software.
Key words:?node. js; Mysql database; Game website
目 ?錄
第1章 緒論
1.1?游戲網站發展現狀
1.2?研究內容
第2章 相關技術介紹
2.1 開發技術說明 6
2.2?MVVM模式介紹 7
2.3koa框架介紹
2.4 koa框架優點
2.5 MySQL數據庫
2.6Ajax 應用
2.7JavaScript 運行模式
第3章 系統分析
3.1?可行性分析
3.1.1?技術可行性
3.1.2?經濟可行性
3.1.3?社會可行性
3.2?系統功能需求
3.3?系統性能需求
3.4?業務流程分析
3.5?數據流程分析
第4章 系統設計
4.1?系統架構設計
4.2?總體結構設計
4.3?功能模塊設計
4.3.1?用戶模塊
4.3.2?管理員模塊
4.4?數據庫設計
4.4.1?概念設計
4.4.2?邏輯設計
第5章 系統實現
5.1?數據庫連接模塊的實現
5.2?登錄模塊的實現
5.3?用戶模塊的實現
5.3.1?注冊模塊的實現
5.3.2評論模塊的實現
5.3.3游戲信息模塊的實現
5.4?管理員模塊的實現
5.4.1?用戶管理模塊的實現
5.4.2?密碼修改模塊的實現
5.4.3游戲信息管理模塊的實現
5.4.5游戲資訊管理模塊的實現
5.4.5 新聞列表管理模塊的實現
第6章 系統測試
6.1?測試環境
6.2?測試目標
6.3?功能測試
6.4?測試結果
第7章 總結與展望
參考文獻
致謝
網絡游戲產業是一個新興的朝陽產業,經歷了20世紀末的初期形成期階段,及近幾年的快速發展,現在中國的網絡游戲產業處在成長期,并快速走向成熟期的階段。在中國整個網絡經濟的發展過程中從無到有,發展到目前成為中國網絡經濟的重要組成部分。網絡游戲產業之所以可以打破在原來中國整個網絡經濟中的平衡,主要緣于在20世紀末中國網絡經濟泡沫破滅整個網絡經濟大受打擊的時候,網絡游戲卻異軍突起成為整個網絡經濟發展的領頭羊,得到迅猛的發展。電腦游戲行業經過二十年的發展,已經成為與影視、音樂等并駕齊驅的全球最重要的娛樂產業之一,其年銷售額超過好萊塢的全年收入?;ヂ摼W的出現為電腦游戲行業發展注入了新的活力,憑借信息雙向交流、速度快、不受空間限制等優勢,讓真人參與游戲,提高了游戲的互動性、仿真性和競技性,使玩家在虛擬世界里可以發揮現實世界無法展現的潛能,改變了單機版游戲固定、呆板、與機器對話的狀況。的這些優勢不僅使其在電腦游戲行業中異軍突起并在某種程度上取代了單機版游戲,而且成為網絡業三大(網上金融、網上教育和網絡游戲)贏利且利潤優厚的領域之一。而游戲網站的制作都是比較單一,目前沒有一個綜合類型的游戲網站。
研究內容
游戲網站的開發及實現,所需要的工作內容:
(1)首先是確定選題,確定好所要做的系統,并對系統的背景及現在面臨的一些問題等進行系統的初步確認。
(2)系統確認完成后,結合系統開發的需求進行確認系統開發所使用的技術,游戲網站的開發使用node. js技術,數據庫進行平臺的搭建開發,確認好使用的技術進行技術分析,所使用的技術是否可以完成游戲網站的實現。
(3)確定好系統使用的技術,進行在線確認系統所劃分的用戶角色,并且根據用戶角色劃分確定所要設計的功能模塊,對于游戲網站的設計主要劃分別為管理員和用戶角色,并所使用的功能模塊也相應不同,但是系統的數據庫實現的內容是交互的,用戶可以隨時根據自己的需求進行課程信息,對于系統工作人員可以根據自己的分管內容進行在線信息的處理及操作,管理員獲取到所有用戶的詳細數據信息,并根據需求進行第一時間處理解決。
(4)系統的功能模塊確認完成后進行程序及界面的設計,設計完成后,并且通過測試來判斷程序是否完善,對于系統測試,需要不同的用戶進行不同的內容編輯及提交,及使用不同的測試方式找出程序中存在的漏洞,并對程序出現的漏洞問題進行在線解決處理,如果測試系統沒有任何問題時,可以將系統上傳進行正式操作使用。
本系統前端部分基于MVVM模式進行開發,采用B/S模式,后端部分基于node.js的koa框架進行開發。
前端部分:前端框架采用了比較流行的漸進式JavaScript框架Vue.js。使用Vue-Router和Vuex實現動態路由和全局狀態管理,Ajax實現前后端通信,Element UI組件庫使頁面快速成型,項目前端通過柵格布局實現響應式,可適應PC端、平板端、手機端等不同屏幕大小尺寸的完美布局展示。
后端部分:采用koa作為開發框架,同時集成Redis等相關技術。
VVM是Model-View-ViewModel的簡寫。它本質上就是MVC 的改進版。MVVM 就是將其中的View 的狀態和行為抽象化,讓我們將視圖 UI 和業務邏輯分開。當然這些事 ViewModel 已經幫我們做了,它可以取出 Model 的數據同時幫忙處理 View 中由于需要展示內容而涉及的業務邏輯。微軟的WPF帶來了新的技術體驗,如Silverlight、音頻、視頻、3D、動畫……,這導致了軟件UI層更加細節化、可定制化。同時,在技術層面,WPF也帶來了 諸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由來便是MVP(Model-View-Presenter)模式與WPF結合的應用方式時發展演變過來的一種新型架構框架。它立足于原有MVP框架并且把WPF的新特性糅合進去,以應對客戶日益復雜的需求變化。
Node.js是一個異步的世界,官方API支持的都是callback形式的異步編程模型,這會帶來許多問題,例如:1、callback嵌套問題;2、異步函數中可能同步調用callback返回數據,帶來不一致性。為了解決以上問題Koa出現了。
koa是由Express原班人馬打造的,致力于成為一個更小、更富有表現力、更健壯的Web框架。使用koa編寫web應用,可以免除重復繁瑣的回調函數嵌套,并極大地提升錯誤處理的效率。koa不在內核方法中綁定任何中間件,它僅僅提供了一個輕量優雅的函數庫,使得編寫Web應用變得得心應手。開發思路和express差不多,最大的特點就是可以避免異步嵌套。
阿里內部就在使用Koa框架,并在Koa基礎上面做了一些擴展和封裝。并且基于koa開發了一個開源框架egg。
其次,koa 把express中內置的router、view 等功能都移除了,使得框架本身更輕量化。該設計有如下好處:1、把express各種中間件移植到koa是很簡單的一件事;2、express 中內置的功能件未必好,比如view,想添加自己的view engine進入得做較深層次的hack,又比如router,它的效率不是最好的。koa沒有內置這些,給了開發者很大的自由度,開發者都能自由發揮制作出更精細更專業的中間件。
MySQL經過多次的更新,功能層面已經非常的豐富和完善了,從MySQL4版本到5版本進行了比較大的更新,在商業的實際使用中取得了很好的實際應用效果。最新版本的MySQL支持對信息的壓縮,同時還能進行加密能更好的滿足對信息安全性的需求。同時經過系統的多次更新,數據庫自身的鏡像功能也得到了很大的增強,運行的流暢度和易用性方面有了不小的進步,驅動的使用和創建也更加的高效快捷。最大的變動還是進行了空間信息的顯示優化,能更加方便的在應用地圖上進行坐標的標注和運算。強大的備份功能也保證了用戶使用的過程會更加安心,同時支持的Office特性還支持用戶的自行安裝和使用。在信息的顯示形式上也進行了不小的更新,增加了兩個非常使用的顯示區,一個是信息區,對表格和文字進行了分類處理,界面的顯示更加清爽和具體。第二是儀表的信息控件,能在儀表信息區進行信息的顯示,同時還能進行多個信息的比對,為用戶的實際使用帶來了很大的便捷。
針對本文中設計的醫院預約掛號系統在實際的實現過程中,最終選擇MySQL數據庫的主要原因在于在企業的應用系統應用及開發的過程中會存在大量的數據庫比較頻繁的操作,而且數據的安全性要求也是非常的高。綜合這些因素,最終選擇安全性系數比較高的MySQL來對醫院掛號系統后臺數據進行存儲操作。
數據庫管理系統的總體結構圖如下圖所示。
?
圖2-1 數據庫組成結構
該技術在 1998 年前后得到了應用。允許客戶端腳本發送HTTP請求(XMLHTTP)的第一個組件由Outlook Web Access小組寫成。該組件原屬于微軟 Exchange Server,并且迅速地成為了 Internet Explorer 4.0 的一部分。部分觀察家認為,Outlook Web Access 是第一個應用了 Ajax 技術的成功的商業應用程序,并成為包括Oddpost 的網絡郵件產品在內的許多產品的領頭羊。但是,2005 年初,許多事件使得 Ajax 被大眾所接受。Google 在它著名的交互應用程序中使用了異步通訊,如Google、Google 地圖、Google 搜索建議、Gmail等。Ajax 這個詞由《Ajax: A New Approach to Web Applications》一文所創,該文的迅速傳播加強了人們使用該項技術的意識。另外,對Mozilla/Gecko 的支持使得該技術走向成熟,變得更為易用。
Ajax 前景非常樂觀,可以提高系統性能,優化用戶界面。Ajax 現有直接框架 AjaxPro,可以引入 AjaxPro.2.dll 文件,可以直接在前臺頁面 JavaScript?調用后臺頁面的方法。但此框架與表單驗證有沖突。另外微軟也引入了 Ajax 組件,需要添加AjaxControlToolkit.dll 文件,可以在控件列表中出現相關控件。
????????????????????
JavaScript是一種屬于網絡的高級腳本語言,已經被廣泛用于Web應用開發,常用來為網頁添加各式各樣的動態功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實現自身的功能的。
1.8.1是一種解釋性腳本語言(代碼不進行預編譯)。
1.8.2主要用來向HTML(標準通用標記語言下的一個應用)頁面添加交互行為。
1.8.3可以直接嵌入HTML頁面,但寫成單獨的js文件有利于結構和行為的分離。
1.8.4跨平臺特性,在絕大多數瀏覽器的支持下,可以在多種平臺下運行(如Windows、Linux、Mac、Android、iOS等)。
1.8.5 JavaScript腳本語言同其他語言一樣,有它自身的基本數據類型,表達式和算術運算符及程序的基本程序框架。JavaScript提供了四種基本的數據類型和兩種特殊數據類型用來處理數據和文字。而變量提供存放信息的地方,表達式則可以完成較復雜的信息處理。
開發任何一個系統,都要對其可行性進行分析,對其時間和資源上的限制進行考慮,這樣可以減少系統開發的風險。同時,分析之后不僅能夠合理的運用人力,還能在各方面資源的消耗上得到節省。下面就對技術、經濟和社會三個方面來介紹。
技術可行性主要考慮當前項目所用的技術是否能夠符合,在設備上是否能夠滿足,及各種輔助工具是否提供幫助。本系統調試相對簡單,當前的計算機硬件配置也完全能滿足開發的需求,因此在技術上是絕對可行的。軟件方面:由于軟件的開發平臺成熟可行,它們速度快、容量大、可靠性能高、價格低,完全能滿足系統的需求。采用node. js編程語言,已無技術上的問題。
系統所采用的node.js框架和Mysql后端數據庫均為免費開發工具。故開發成本主要集中在后期的推廣及系統維護上。相對于成本較高的C/S模式,也是選用了成本較低的B/S模式,所以經濟上幾乎沒任何問題。
本系統是自行開發的系統,以方便高效推薦游景點為出發點,是具有實際意義的系統,開發的環境軟件和用到的數據庫也都是開源代碼,不存在侵權等問題,所以在社會方面也是可行的。
用戶用例圖如下所示。
?
圖3-1 用戶用例圖
管理員用例圖如下所示。
?
圖3-1 管理員用例圖
通過對用例圖的分析和調查,根據本系統的實際需要,從用戶角度提出需求功能如下:
1.管理員功能需求:
用戶管理模塊:管理員查看用戶基本信息,并實現對用戶信息的增加、刪除、修改等功能。
修改登錄密碼模塊:修改管理員用戶的登錄密碼。
游戲信息管理模塊:管理員發布游戲名稱、游戲封面、游戲平臺、游戲規模、游戲分類、語言、公司名稱等,可對其刪除、修改。
分類管理:管理員對游戲網站中游戲的分類進行管控。
論壇分類管理模塊:管理員對用戶的評論進行審核、處理、維護等操作。
游戲資訊管理:管理員在后臺可以對游戲網站中顯示的游戲資訊信息進行增刪改查。
2.用戶功能需求:
用戶注冊模塊:將用戶信息錄入數據庫,用戶利用注冊的賬號以及密碼登錄系統,瀏覽查看各種信息,添加部分信息;
個人信息模塊:修改信息功能,用戶修改個人資料信息,但不能修改賬號;密碼修改功能,修改登錄密碼。
游戲資訊:用戶進行資訊的閱覽,查看管理者發布的游戲資訊信息。
評判一個系統好壞的一項重要指標就是性能,下面是對此系統的一些性能進行闡述。
1.系統的安全性和穩定性: 旅游公司網站在管理權限上有著嚴格的控制,即想登錄此平臺進行操作,則必須要有操作權限,沒有權限的用戶是不可能登錄平臺查看任何的信息和數據,從而確保了系統的安全性。
2.數據的完整性和準確性:第一個是各項記錄信息的完整性,信息記錄的內容可以為空;第二個是各項信息數據之間相互聯系的準確性;第三個是數據在不同記錄信息的一致性
3.用戶操作系統簡單方便
在系統開發中按照“簡單易用”的原則,能夠使用戶對系統的使用一目了然,既能保證用戶使用,同時又能保證維護人員方便維護。
業務流程圖不僅能反映出內部業務之間的關系,而且能體現出作業順序及信息的流動。游戲網站必須支持整個組織在不同層次上的各種功能,各個功能模塊之間又有各種不同相關的信息進行聯系,構成了一個有機的整體,根據游戲網站的特點以及結合所面臨的實際情況,設計出了系統的業務流程圖。
系統的業務流程如下圖所示。
?
圖3-1系統業務流程圖
在分析了系統的業務流程之后,就要分析系統的數據流,為后面設計系統的數據庫做好基礎。這里主要利用數據流程圖來說明數據流程。數據流程圖是一個圖示工具,容易理解,容易在開發和用戶方之間進行交流,以及在開發組織內部交流。因此數據流程圖作為一種模型工具已經廣泛使用在軟件工程的實踐中。
系統的頂層數據流圖如下圖所示。
圖3-2系統數據流圖(頂層)
根據系統的業務流程,用戶瀏覽所使用到的數據歸納為輸出信息。而用戶提交的數據則作為系統的輸入數據。相應的,根據系統管理員業務流程,管理員對系統內容的添加、更新和刪除等所操作的數據定義為輸入信息。
系統的底層數據流圖如下圖所示。
?
圖3-3系統數據流圖(底層)
主要架構設計主要分為可以3層,主要有Web層,業務層,Model層。其中web層還包括View層和Controller層,Model層包括元數據擴展層和數據訪問層。
?
圖4-1系統架構圖
視圖層視圖是指被用戶所看到的并且能夠與之進行交互的界面。視圖可以向用戶展示相關的數據,并接收用戶輸入的數據,但對用戶數據不進行任何實際業務操作處理。
模型層通過控制層來處理視圖層傳遞的數據,同一個模型可以給不同的視圖提供數據,也可以被不同的視圖重復使用。控制層主要負責視圖層和模型層之間的數據傳輸和處理請求操作。當用戶通過視圖發送數據和請求時,控制層可以接收請求和數據并決定調用哪些模型、通過模型的哪些操作來處理數據和請求,處理完成后,控制層再將數據返回給相應的視圖。
根據對系統的功能進行分析可以總結風景旅游公司網站的具體功能模塊包括下面的幾個主要的功能模塊:該系統主要從兩大模塊進行設計的,首先就是用戶參與操作需要的模塊,此外還需要有管理員用到的模塊,兩者之間不是互相獨立的,他們之間有著密切的聯系,同數據庫表中的數據連接起來進行操作。每個模塊訪問相同的數據庫,但訪問的表不同。系統的各個功能模塊是根據所收集的資料研究得到的。在以上分析功能的基礎上,系統模塊分為多個模塊。用戶含有的功能有注冊,登錄,游戲社區、公告欄、游戲資訊、游戲信息等,退出登錄等功能,管理員含有的功能有修改密碼,用戶管理、游戲社區、游戲資訊、論壇分類列表、游戲資訊、游戲信息、分類信息等功能。
系統的功能結構圖如下圖所示。
?
圖4-2系統功能結構圖
用戶模塊主要實現用戶的注冊、登錄、景點信息瀏覽、酒店搜索,預訂信息和個人資料修改、登錄密碼修改、交流消息提交等功能。
用戶注冊:用戶通過賬號注冊得到用戶名和密碼。
用戶登錄:用戶在被管理員添加成功后,通過管理員提供的用戶名、密碼和輸入驗證碼進行登錄,操作非常簡單。
個人資料管理:用戶根據用戶ID修改當前ID的一些屬性的值。
修改個人登錄密碼:用戶登錄景點推薦旅游網站后可以自己修改自己的密碼。
游戲資訊列表:可以點擊列表查看游戲的具體信息。
旅游日記:可以查看旅游日記信息。
游戲信息:用戶根據自己的需求選中某個游戲進行操作。
管理員模塊是本系統重要開發部分,它的使用對象是系統管理員,在進入管理員模塊前,需要輸入正確的用戶姓名、密碼和驗證碼,才能進入管理員模塊。界面右上方有退出系統按鈕,點擊可退出管理員模塊界面。
系統用戶管理:管理員添加、管理、查詢管理員信息并有修改他們密碼的權限。
注冊用戶管理:管理員管理已注冊的用戶,審核剛注冊的用戶,修改用戶的基本信息。
游戲信息管理:管理員錄入游戲信息,跳轉至添游戲頁面,填寫游戲名稱,提交后,游戲信息存儲數據庫的游戲信息表中。
分類信息管理:管理員管理游戲分類的信息。
E-R圖一般是由實體、實體的屬性與聯系三個要素組成的。在規劃系統中所使用的數據庫實體對象及實體E-R圖,則需要通過對系統的需求分析、業務流程設計和系統功能結構來確定的。
總體ER圖如下圖所示。
?
圖4-3總體ER圖
將實體屬性模型轉換為關系數據庫應該遵循以下幾個原則:
1.一個實體轉換后要對應一個關系。
2.所有的主鍵必須要定義為非空(not null)。
3.針對二元聯系也應該按照一對多、弱對實、一對一和多對多等聯系來定義外鍵。
得到數據庫的關系后,設計如下表結構。
ordinary_users表:
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| ordinary_users_id | int | 11 | 是 | 是 | 普通用戶ID |
| user_number | varchar | 64 | 是 | 否 | 用戶編號 |
| user_name | varchar | 64 | 否 | 否 | 用戶姓名 |
| user_gender | varchar | 64 | 否 | 否 | 用戶性別 |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態 |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| user_id | int | 11 | 是 | 否 | 用戶ID |
| create_time | datetime | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
game_information表:
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| game_information_id | int | 11 | 是 | 是 | 游戲信息ID |
| game_name | varchar | 64 | 否 | 否 | 游戲名稱 |
| game_cover_ | varchar | 255 | 否 | 否 | 游戲封面 |
| game_platform | varchar | 64 | 否 | 否 | 游戲平臺 |
| game_scale | varchar | 64 | 否 | 否 | 游戲規模 |
| game_classification | varchar | 64 | 否 | 否 | 游戲分類 |
| release_time | date | 0 | 否 | 否 | 發行時間 |
| language | varchar | 64 | 否 | 否 | 語言 |
| corporate_name | varchar | 64 | 否 | 否 | 公司名稱 |
| game_introduction | longtext | 0 | 否 | 否 | 游戲簡介 |
| hits | int | 11 | 是 | 否 | 點擊數 |
| praise_len | int | 11 | 是 | 否 | 點贊數 |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| create_time | datetime | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
classification_information表:
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| classification_information_id | int | 11 | 是 | 是 | 分類信息ID |
| game_classification | varchar | 64 | 否 | 否 | 游戲分類 |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| create_time | datetime | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
notice表:
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| notice_id | mediumint | 8 | 是 | 是 | 公告id |
| title | varchar | 125 | 是 | 否 | 標題 |
| content | longtext | 0 | 否 | 否 | 正文 |
| create_time | timestamp | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
comment表:
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| comment_id | int | 11 | 是 | 是 | 評論ID |
| title | varchar | 64 | 否 | 否 | 標題 |
| release_time | date | 0 | 否 | 否 | 發布時間 |
| strategy_type | varchar | 64 | 否 | 否 | 類型 |
| cover | varchar | 255 | 否 | 否 | 封面 |
| details | longtext | 0 | 否 | 否 | 詳情 |
| hits | int | 11 | 是 | 否 | 點擊數 |
| praise_len | int | 11 | 是 | 否 | 點贊數 |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| create_time | datetime | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
Praise表:
| 名稱 | 類型 | 長度 | 不是null | 主鍵 | 注釋 |
| praise_id | int | 10 | 是 | 是 | 點贊ID |
| user_id | int | 11 | 是 | 否 | 點贊人 |
| create_time | timestamp | 0 | 是 | 否 | 創建時間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時間 |
| source_table | varchar | 255 | 否 | 否 | 來源表 |
| source_field | varchar | 255 | 否 | 否 | 來源字段 |
| source_id | int | 10 | 是 | 否 | 來源ID |
| status | tinyint | 1 | 是 | 否 | 點贊狀態 |
從web系統查詢數據的根本的查詢步驟:
Step1: 進行檢查并且過濾來自用戶的系統數據;
Step2: 成立起一個合適的數據庫進行連接;
Step3: 進行查詢系統數據庫;
Step4: 獲得查詢的結構;
Step5: 把查詢的結果展示給用戶。
Step6: 數據庫連接斷開,釋放資源。
數據庫連接原理如下圖所示。
?
圖5-1數據庫連接原理
為確保系統安全性,系統操作員只有在登錄界面輸入正確的用戶名、密碼、權限以及驗證碼,單擊“登錄”按鈕后才能夠進入本系統的主界面。
用戶登錄流程圖如下所示。
?
圖5-1用戶登錄流程圖
登錄界面如下圖所示。
圖5-1登錄界面
用戶輸入用戶名、密碼、電話、姓名等必填信息后,點擊注冊按鈕完成用戶的注冊。
用戶注冊流程圖如下所示。
?
圖5-1用戶注冊流程圖
用戶注冊界面如下圖所示。
圖5-1用戶注冊界面
用戶可以發表自己的評論。將頁面session中的用戶賬號userId和發表評論文字框內容傳入控制層LiuyanAction,調用addLiuyan方法,通過LiuyanDAOImp向數據庫留言表插入,將結果返回lyb.jsp界面。
評論添加流程圖如下圖所示。
圖5-1評論添加流程圖
評論添加界面如下圖所示。
?
圖5-1評論界面
如果游戲信息的信息需要修改,管理員可以通過查詢游戲信息的基本信息來查詢游戲信息,查詢游戲信息是通過ajax技術來進行查詢的,需要傳遞游戲信息的標題、編號等參數然后在返回到該頁面中,可以選中要修改或刪除的那條信息,如果選中了超過一條數據,頁面會挑一個窗口提醒只能選擇一條數,如果沒有選中數據會挑一個窗口題型必須選擇一條數據。當選擇確認修改的時候,后臺會根據傳過來的id到數據庫查詢,并將結果返回到修改頁面中,可以在修改頁面中修改剛剛選中的信息當點擊確認的時候from表單會將修改的數據提交到后臺并保存到數據庫中,就是說如果提交的數據數據庫中存在就修改,否則就保存。
游戲信息展示界面如下圖所示。
?
圖5-1游戲信息界面
系統用戶管理主要是對新用戶的添加和舊用戶的刪除。新用戶的添加主要是指添加用戶名稱并確定其密碼;舊用戶的刪除也是從下拉菜單中找到對應的用戶名稱將其刪除。不論是新用戶添加還是舊用戶的刪除,這個權限只有管理員具有。
用戶管理流程圖如下所示。
?
圖5-1用戶管理流程圖
用戶管理界面如下圖所示。
圖5-1用戶管理界面
密碼修改是對當前登錄用戶的密碼進行修改,在管理員登錄頁面后右上方也能進行密碼修改。
密碼修改流程圖如下所示。
?
圖5-1密碼修改流程圖
如果游戲的信息需要修改,管理員可以通過查詢游戲的基本信息來查詢游戲,查詢旅游景點是通過ajax技術來進行查詢的,需要傳遞游戲的名稱、編號等參數然后在返回到該頁面中,可以選中要修改或刪除的那條信息,如果選中了超過一條數據,頁面會挑一個窗口提醒只能選擇一條數,如果沒有選中數據會挑一個窗口題型必須選擇一條數據。當選擇確認修改的時候,后臺會根據傳過來的id到數據庫查詢,并將結果返回到修改頁面中,可以在修改頁面中修改剛剛選中的信息當點擊確認的時候from表單會將修改的數據提交到后臺并保存到數據庫中,就是說如果提交的數據數據庫中存在就修改,否則就保存。
游戲信息展示界面如下圖所示。
?圖5-1游戲信息展示界面
游戲資訊信息添加功能主要指對其資訊內容、詳情等一些基本信息的添加、刪除和修改。游戲資訊查詢能根據資訊內容、詳情等多種條件對游戲資訊信息進行查詢。
旅游日記添加如下圖所示。
?
圖5-1旅游日記添加界面
新聞列表添加功能主要指對其新聞標題、內容、詳情等一些基本信息的添加、刪除和修改。新聞列表查詢能根據新聞列表標題對新聞列表信息進行查詢。
新聞列表流程圖如下所示。
?
圖5-1新聞列表流程圖
新聞列表添加如下圖所示。
圖5-1新聞列表添加界面
系統測試是用于檢查軟件的質量、性能、可靠性等是否符合用戶需求。一套嚴謹的、規范的、完善的測試過程將大大提高軟件的質量、可信度、可靠性,降低軟件的出錯率,降低用戶風險系數。通過在計算機上對系統進行測試試驗并從中發現此系統中存在的問題和錯誤然后加以修改,使之更加符合用戶需求。
1.測試的目的是通過測試來發現程序在執行過程中的錯誤的過程。
2.好的測試方案是可以檢驗出還未被發現的錯誤的方案。
3.好的測試是發現了到目前為止還未被發現的錯誤的測試。
4.該系統能夠完成游戲信息、分類信息、用戶管理、游戲資訊、游戲社區等功能,做到所開發的系統操作簡單,盡量使系統操作不受用戶對電腦知識水平的限制。
下表是系統登錄功能測試用例,檢測了用戶名和密碼的不同的輸入情況,觀察系統的響應情況。得出該功能達到了設計目標。
表6-1 系統登錄功能測試用例
| 功能描述 | 用于系統登錄 | |
| 測試目的 | 檢測登錄時的合法性檢查 | |
| 測試數據以及操作 | 預期結果 | 實際結果 |
| 輸入的用戶名和密碼帶有非法字符 | 提示用戶名或者密碼錯誤 | 與預期結果一致 |
| 輸入的用戶名或者密碼為空 | 提示用戶名或者密碼錯誤 | 與預期結果一致 |
| 輸入的用戶名和密碼不存在 | 提示用戶名或者密碼錯誤 | 與預期結果一致 |
| 輸入正確的用戶名和密碼 | 登錄成功 | 與預期結果一致 |
下表是注冊功能測試用例,檢測了各種數據的輸入情況,觀察系統的響應情況。得出該功能達到了設計目標。
表6-2 注冊功能測試用例
| 功能描述 | 用于用戶注冊 | |
| 測試目的 | 檢測用戶注冊時的合法性檢查 | |
| 測試數據以及操作 | 預期結果 | 實際結果 |
| 輸入的手機號不合法 | 提示請輸入正確的手機號碼 | 與預期結果一致 |
| 輸入的字段為空 | 提示必填項不能為空 | 與預期結果一致 |
| 輸入的密碼少于6位 | 提示密碼必須為6-12位 | 與預期結果一致 |
| 輸入的密碼大于12位 | 提示密碼必須為6-12位 | 與預期結果一致 |
下表是游戲信息管理功能的測試用例,檢測了游戲信息管理中對游戲信息的增加,刪除,修改,查詢操作是否成功運行。觀察系統的響應情況,得出該功能也達到了設計目標,系統運行正確。
前置條件;用戶登錄系統。
表6-3 游戲信息管理的測試用例
| 功能描述 | 用于游戲信息管理 | |
| 測試目的 | 檢測游戲信息管理時的各種操作的運行情況 | |
| 測試數據以及操作 | 預期結果 | 實際結果 |
| 點擊添加游戲,必填項合法輸入,點擊保存 | 提示添加成功 | 與預期結果一致 |
| 點擊添加游戲,必填項輸入不合法,點擊保存 | 提示必填項不能為空 | 與預期結果一致 |
| 點擊修改游戲,必填項修改為空,點擊保存 | 提示必填項不能為空 | 與預期結果一致 |
| 點擊修改游戲,必填項輸入不合法,點擊保存 | 提示必填項不能為空 | 與預期結果一致 |
| 點擊刪除游戲,選擇游戲刪除 | 提示刪除成功 | 與預期結果一致 |
| 點擊搜索游戲,輸入存在的游戲名 | 查找出游戲 | 與預期結果一致 |
| 點擊搜索游戲,輸入不存在的游戲名 | 不顯示游戲 | 與預期結果一致 |
下表是旅游日記管理功能的測試用例,檢測了旅游日記管理中對旅游日記信息的增加,刪除,修改,查詢操作是否成功運行。觀察系統的響應情況,得出該功能也達到了設計目標,系統運行正確。
前置條件;用戶登錄系統。
表6-4 旅游日記管理的測試用例
| 功能描述 | 用于旅游日記管理 | |
| 測試目的 | 檢測旅游日記管理時的各種操作的運行情況 | |
| 測試數據以及操作 | 預期結果 | 實際結果 |
| 點擊添加旅游日記,必填項合法輸入,點擊保存 | 提示添加成功 | 與預期結果一致 |
| 點擊添加旅游日記,必填項輸入不合法,點擊保存 | 提示必填項不能為空 | 與預期結果一致 |
| 點擊修改旅游日記,必填項修改為空,點擊保存 | 提示必填項不能為空 | 與預期結果一致 |
| 點擊修改旅游日記,必填項輸入不合法,點擊保存 | 提示必填項不能為空 | 與預期結果一致 |
| 點擊刪除旅游日記,選擇旅游日記刪除 | 提示刪除成功 | 與預期結果一致 |
| 點擊搜索旅游日記,輸入存在的旅游日記名 | 查找出旅游日記 | 與預期結果一致 |
| 點擊搜索旅游日記,輸入不存在的旅游日記名 | 不顯示旅游日記 | 與預期結果一致 |
下表是分類信息管理功能的測試用例,檢測了分類信息管理中分類信息單的操作是否成功運行。觀察系統的響應情況,得出該功能也達到了設計目標,系統運行正確。
前置條件;用戶登錄系統。
表6-5 分類信息管理的測試用例
| 功能描述 | 用于分類信息管理 | |
| 測試目的 | 檢測分類信息管理時各種操作的情況 | |
| 測試數據以及操作 | 預期結果 | 實際結果 |
| 未選擇游戲,點擊提交 | 提示請選擇游戲 | 與預期結果一致 |
| 未選擇類型,點擊提交 | 提示請選擇類型 | 與預期結果一致 |
| 未選擇時間,點擊提交 | 提示請選擇時間 | 與預期結果一致 |
根據以上測試情況,測試結果如下表所示。
表6-1測試結果表
| 測試項目 | 測試結果 |
| 登錄測試 | 成功 |
| 修改密碼測試 | 成功 |
| 游戲信息測試 | 成功 |
| 分類信息測試 | 成功 |
| 游戲社區測試 | 成功 |
| 用戶管理測試 | 成功 |
| 新聞列表管理測試 | 成功 |
| 游戲資訊管理測試 | 成功 |
| 公告欄管理測試 | 成功 |
本研究針對游戲網站的需求建模,數據建模及過程建模分析設計并實現旅游公司網站的過程。給出系統應用架構并分析優劣勢,通過功能分解圖,系統組件圖描述功能需求。設計建立了數據庫,給出系統關鍵數據結構的定義。通過類關系圖描述組件間的協作關系,給出各個類的定義方法。通過描述每一個類的字段,屬性及方法實現旅游網站的前后端代碼。最終給出系統集成整合方法,完成游戲公司網站地設計與實現。
在這個項目實現中,不光明白了前端開發和后臺在整個系統中起到了什么作用,因為前后臺的連接,用戶可以對系統進行操作,可以在輸入自己的相關信息后,通過后臺加工,完成對數據庫的查找、修改、添加,而理解了這些關系與實現的方法后。再去完善整個系統的功能就更加清晰與簡單了。此次的項目它涉及了前臺與后臺系統的搭建,在學校所學的知識基礎上,此次的項目,讓我對于一個系統的前端開發,以及后臺的作用都有了一個更深切的認知。
參考文獻
[1]汪杰,萬振華,王頡,董燕,李華. NODE.JS組件漏洞檢測方法及系統[P]. 廣東省:CN114072799A,2022-02-18.
[2]Matthew Tyson. A simple automated build pipeline for Node.js[J]. InfoWorld.com,2022.
[3]袁文光.一種基于Node.js的校園高并發Web應用架構[J].南通職業大學學報,2021,35(04):77-81.
[4]裴之蕈,高艷霞.基于Vue和Node.js的手語教學Web平臺的設計與實現[J].電腦與信息技術,2021,29(06):33-36+86.
[5]趙婉琳,彭仕霖,杜孟新.基于Node.js的汽車數據中臺系統的設計與實現[J].儀器儀表標準化與計量,2021(05):23-26.
[6]Paul Krill. Node.js 17 arrives with more promise-based APIs[J]. InfoWorld.com,2021.
[7]. Twitch and Roblox.com the Leading Gaming Websites Globally with a 20% Market Share[J]. M2 Presswire,2021.
[8]Matthew Tyson. How to use Auth0 with Node.js and Express[J]. InfoWorld.com,2021.
[9]楊濤. 基于Node.js的高并發電商購物系統設計與實現[D].北京郵電大學,2021.
[10]魏榆靜. 基于node.js的股票行情瀏覽及分析系統的設計與實現[D].山東大學,2021.
[11]張倩,李旭英,林華焜,茍睿,石睿.基于Vue.js+Koa框架的APP平臺設計與實現——以酒類文化交流與電子商務為例[J].現代信息科技,2021,5(07):63-66+70.
[12]王喬道, 基于Node.js的信息采集系統V1.0. 重慶市,重慶南電科技有限公司,2020-01-22.
[13]王進德. 工業4.0的物聯網智慧工廠應用與實作:使用Arduino.Node-RED.MySQL.Node.js[M].博碩文化股份有限公司:2020-01-01.
[14]毛英杰.基于Koa框架的停車誘導系統[J].福建電腦,2019,35(01):143-144+125.
[15]王姣姣,吳建華,李靜霞.信息素質教育游戲網站內部迷你百科的設計[J].高校圖書館工作,2018,38(05):54-57.
[16]文海宣.游戲網站引發商標權及不正當競爭糾紛[J].中關村,2016(11):101.
致謝
在此論文完成之際,感謝我的指導老師。在指導老師的網頁設計課上,當時我學到了很多東西,這對于我實習過程中也打了一定的基礎,而且指導老師對于我的設計也提出許多建議,并予以悉心的指導,對于一些細小的問題都耐心的指導我去完善,授予我寫論文的交流消息,時常的鼓勵我,另外感謝教導我完善此項目的前端同學,對于這個項目,我是邊學習邊實現完成的,有許多東西開始并不是很明白,但前端開發的同學非常耐心的引導我去將這個項目完成,在系統的后端開發中,所用到的后臺開發技術也時常會給我講解,助于我更好的將論文完成,在此對幫助到我的同學和一直予以教導的指導老師致以衷心的感謝,祝事業有成。
免費領取本源代碼,請關注點贊+私信
總結
以上是生活随笔為你收集整理的(附源码)node.js游戏网站 毕业设计 031726的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 随机数的生成方法
- 下一篇: Asp.net 对路径的访问被拒绝 解决