国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ssm+mysql+酒店管理系統(tǒng)的設(shè)計和實現(xiàn) 畢業(yè)設(shè)計-附源碼260839

這篇具有很好參考價值的文章主要介紹了ssm+mysql+酒店管理系統(tǒng)的設(shè)計和實現(xiàn) 畢業(yè)設(shè)計-附源碼260839。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

酒店管理系統(tǒng)的設(shè)計與實現(xiàn)

摘?要

信息化社會內(nèi)需要與之針對性的信息獲取途徑,但是途徑的擴展基本上為人們所努力的方向,由于站在的角度存在偏差,人們經(jīng)常能夠獲得不同類型信息,這也是技術(shù)最為難以攻克的課題。針對酒店信息管理等問題,對酒店信息管理進行研究分析,然后開發(fā)設(shè)計出酒店管理系統(tǒng)以解決問題。

酒店管理系統(tǒng)主要功能模塊包括系統(tǒng)用戶管理、酒店客房、客房預(yù)訂、菜品分類、酒店菜品、菜品點餐、財務(wù)管理,采取面對對象的開發(fā)模式進行軟件的開發(fā)和硬體的架設(shè),能很好的滿足實際使用的需求,完善了對應(yīng)的軟體架設(shè)以及程序編碼的工作,采取Mysql作為后臺數(shù)據(jù)的主要存儲單元,采用SSM框架、Java技術(shù)、Ajax技術(shù)進行業(yè)務(wù)系統(tǒng)的編碼及其開發(fā),實現(xiàn)了本系統(tǒng)的全部功能。本次報告,首先分析了研究的背景、作用、意義,為研究工作的合理性打下了基礎(chǔ)。針對酒店管理系統(tǒng)的各項需求以及技術(shù)問題進行分析,證明了系統(tǒng)的必要性和技術(shù)可行性,然后對設(shè)計系統(tǒng)需要使用的技術(shù)軟件以及設(shè)計思想做了基本的介紹,最后來實現(xiàn)酒店管理系統(tǒng)和部署運行使用它。

關(guān)鍵詞:酒店信息管理;SSM框架;Mysql數(shù)據(jù)庫

Design and implementation of hotel management system

Abstract

In the information society, there is a need for targeted information access, but the expansion of access is basically the direction of people's efforts. Due to the deviation of the perspective, people can often obtain different types of information, which is also the most difficult subject for technology to overcome. Aiming at the problems of hotel information management, this paper studies and analyzes the hotel information management, and then develops and designs the hotel management system to solve the problems.

The main functional modules of the hotel management system include system user management, hotel rooms, room reservation, dish classification, hotel dishes, dish ordering and financial management. The object-oriented development mode is adopted for software development and hardware erection, which can well meet the actual needs, and improve the corresponding software erection and program coding, MySQL is used as the main storage unit of background data, and SSM framework, Java technology and Ajax technology are used to code and develop the business system, which realizes all the functions of the system. This report first analyzes the background, function and significance of the research, which lays a foundation for the rationality of the research work. This paper analyzes the various requirements and technical problems of the hotel management system, proves the necessity and technical feasibility of the system, and then makes a basic introduction to the technical software and design ideas needed to design the system. Finally, it realizes the hotel management system and deploys it.

Key words:?Hotel information management; SSM framework; Mysql database

目 ?錄

第1章 緒論 1

1.1?研究背景與意義 1

1.2?開發(fā)現(xiàn)狀 1

第2章 相關(guān)技術(shù)介紹 2

2.1 HTTP協(xié)議 2

2.2 Java語言與JDK開發(fā)環(huán)境 2

2.3 HTML網(wǎng)頁技術(shù) 2

2.4 SSM框架 2

2.5 Mysql數(shù)據(jù)庫 2

2.6?企業(yè)級架構(gòu) 3

第3章 系統(tǒng)分析 5

3.1?可行性分析 5

3.2?功能需求分析 5

3.2.1?前臺用戶功能 6

3.2.2?后臺管理員功能 7

3.3?非功能需求分析 7

3.4?安全性需求分析 7

3.4.1?系統(tǒng)的安全性 7

3.4.2?數(shù)據(jù)的安全性 8

3.5?數(shù)據(jù)流程分析 8

第4章 系統(tǒng)設(shè)計 10

4.1?系統(tǒng)架構(gòu)設(shè)計 10

4.2?系統(tǒng)總體設(shè)計 10

4.3?系統(tǒng)功能設(shè)計 11

4.4?數(shù)據(jù)庫設(shè)計 12

4.4.1?數(shù)據(jù)需求分析 12

4.4.2?數(shù)據(jù)庫概念設(shè)計 12

4.4.3?數(shù)據(jù)庫表設(shè)計 12

第5章 系統(tǒng)實現(xiàn) 16

5.1?數(shù)據(jù)庫訪問層的實現(xiàn) 16

5.2?注冊模塊的實現(xiàn) 16

5.3?登錄模塊的實現(xiàn) 19

5.4?用戶資料修改模塊的實現(xiàn) 23

5.5酒店客房模塊的實現(xiàn) 23

5.6酒店菜品模塊的實現(xiàn) 25

5.7酒店客房管理模塊的實現(xiàn) 26

第6章 系統(tǒng)測試 29

6.1?測試目的 29

6.2?功能測試 29

6.3?性能測試 30

第7章 總結(jié)與展望 31

參考文獻 32

致謝 34

  1. 緒論
    1. 研究背景與意義

近幾年隨著社會的發(fā)展,各地旅客數(shù)量不斷增加,酒店數(shù)量也隨之增加,導(dǎo)致酒店客房的管理方面的各種信息量也在不斷成倍增長,因此,傳統(tǒng)的酒店信息管理方式暴露出越來越多的問題,耗費人力,效率低下。這時,酒店就急需各種各樣能使酒店工作人員對龐大的信息量進行更快更方便更準確進行管理的系統(tǒng)。

在互聯(lián)網(wǎng)技術(shù)無處不在的今天,人們的生活已經(jīng)離不開計算機,利用其工作、學(xué)習乃至購物。例如:人們?nèi)ネ獾芈糜位虺霾?,通常會根?jù)自己的需求選擇在網(wǎng)上事先預(yù)訂好客房,大大節(jié)約了找房的時間。此時,酒店就需要相應(yīng)的客房預(yù)定管理系統(tǒng)對客房和預(yù)訂信息進行管理。

對于客房數(shù)量較多的酒店來說,利用一套酒店系統(tǒng)來管理客房信息和預(yù)訂信息顯得尤為重要,這個系統(tǒng)不僅方便了客戶進行預(yù)訂,同時也方便了工作人員,大大節(jié)省了時間。所以開發(fā)一個酒店預(yù)訂系統(tǒng)是很有必要的。

    1. 開發(fā)現(xiàn)狀

1、國內(nèi)研究現(xiàn)狀:

我國酒店業(yè)很早就利用計算機管理系統(tǒng)來加強管理、提高服務(wù)水平。我國酒店的IT的發(fā)展階段主要是以電腦系統(tǒng)的運用為標志的,電話通訊系統(tǒng)實際上也是從程控交換技術(shù)出現(xiàn)才獲得質(zhì)的飛躍。隨著計算機的普及應(yīng)用,計算機技術(shù)的不斷發(fā)展,同時也使酒店管理系統(tǒng)發(fā)展到了一個新的時期,趨于更加完善。酒店管理系統(tǒng)實現(xiàn)了酒店賓館訂房、入住、退房流程的智能化、自動化,節(jié)約了酒店的人工成本,較少了客人的等候時間,具有時尚、便捷、私密的特點。

2、國外研究現(xiàn)狀:

國外的酒店業(yè)發(fā)展較為國內(nèi)早了好多年,同事在多年的發(fā)展探索中,酒店的功能發(fā)展更加全面和多樣化。酒店由一開始的建安住宿到現(xiàn)在的休閑娛樂以及商務(wù)旅游等,向著更復(fù)雜功能更齊全的方向發(fā)展。隨著這些酒店的全面發(fā)展,其對酒店的管理要求也隨著提高,為了更方便地管理酒店,在計算機迅速發(fā)展的背景下,產(chǎn)生了酒店管理系統(tǒng)軟件,在很大成程度上減少了人力物力和財力,也同時使酒店的經(jīng)營更加規(guī)范化,提高了服務(wù)的標準。

從系統(tǒng)的在國外。

  1. 相關(guān)技術(shù)介紹
    1. HTTP協(xié)議

超文本傳輸協(xié)議(HTTP)作為協(xié)作式與分布式的通信協(xié)議,其以萬維網(wǎng)交換信息作為前提條件。HTTP為IEIF的國際化標準指標,在制定相關(guān)標準與實現(xiàn)內(nèi),W3C積極參與其中,同時發(fā)揮著不可替代的作用。其能夠借助超文本標記語言,將文檔在服務(wù)器與瀏覽器之間相互傳輸。HTML作為構(gòu)架文檔的標記語言,這些文檔內(nèi)將包括有關(guān)信息的鏈接,用戶僅需要點擊其中一個鏈接就能夠訪問多媒體對象與圖像,同時獲得該鏈接項所具有的附加信息。

    1. Java語言與JDK開發(fā)環(huán)境?

Java是美國sun公司所推出的一款程序設(shè)計語言,其能夠在多個平臺內(nèi)應(yīng)用,具有良好兼容性,進而其憑借自身優(yōu)勢在數(shù)據(jù)中心、個人PC與科技超級計算機等平臺內(nèi)廣泛應(yīng)用,具有目前最為龐大的開發(fā)者專業(yè)社群[3]。

JDK為美國sun公司為java開發(fā)員所推出的一款全新產(chǎn)品,要是沒有JDK的情況下,所安裝的java程序也就無法運行。

    1. HTML網(wǎng)頁技術(shù)

HTML是一種制作網(wǎng)頁的常用語言,它一般是用于制作靜態(tài)頁面。它的命令是可以體現(xiàn)文字信息、鏈接信息、圖形信息和表格信息等等?,F(xiàn)在它被大眾普遍接受廣泛應(yīng)用在網(wǎng)絡(luò)上。

    1. SSM框架

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis兩個開源框架整合而成(SpringMVC是Spring中的部分內(nèi)容)。常作為數(shù)據(jù)源較簡單的web項目的框架。

1.6.1 Spring

Spring就像是整個項目中裝配bean的大工廠,在配置文件中可以指定使用特定的參數(shù)去調(diào)用實體類的構(gòu)造方法來實例化對象。也可以稱之為項目中的粘合劑。

Spring的核心思想是IoC(控制反轉(zhuǎn)),即不再需要程序員去顯式地`new`一個對象,而是讓Spring框架幫你來完成這一切。

1.6.2 SpringMVC

SpringMVC在項目中攔截用戶請求,它的核心Servlet即DispatcherServlet承擔中介或是前臺這樣的職責,將用戶請求通過HandlerMapping去匹配Controller,Controller就是具體對應(yīng)請求所執(zhí)行的操作。SpringMVC相當于SSH框架中struts。

1.6.3 mybatis

mybatis是對jdbc的封裝,它讓數(shù)據(jù)庫底層操作變的透明。mybatis的操作都是圍繞一個sqlSessionFactory實例展開的。mybatis通過配置文件關(guān)聯(lián)到各實體類的Mapper文件,Mapper文件中配置了每個類對數(shù)據(jù)庫所需進行的sql語句映射。在每次與數(shù)據(jù)庫交互時,通過sqlSessionFactory拿到一個sqlSession,再執(zhí)行sql命令。

頁面發(fā)送請求給控制器,控制器調(diào)用業(yè)務(wù)層處理邏輯,邏輯層向持久層發(fā)送請求,持久層與數(shù)據(jù)庫交互,后將結(jié)果返回給業(yè)務(wù)層,業(yè)務(wù)層將處理邏輯發(fā)送給控制器,控制器再調(diào)用視圖展現(xiàn)數(shù)據(jù)。

    1. Mysql數(shù)據(jù)庫

Mysql 經(jīng)過多次的更新,功能層面已經(jīng)非常的豐富和完善了,從Mysql4版本到5版本進行了比較大的更新,在商業(yè)的實際使用中取得了很好的實際應(yīng)用效果。最新版本的Mysql支持對信息的壓縮,同時還能進行加密能更好的滿足對信息安全性的需求。同時經(jīng)過系統(tǒng)的多次更新,數(shù)據(jù)庫自身的鏡像功能也得到了很大的增強,運行的流暢度和易用性方面有了不小的進步,驅(qū)動的使用和創(chuàng)建也更加的高效快捷。最大的變動還是進行了空間信息的顯示優(yōu)化,能更加方便的在應(yīng)用地圖上進行坐標的標注和運算。強大的備份功能也保證了用戶使用的過程會更加安心,同時支持的Office特性還支持用戶的自行安裝和使用。在信息的顯示形式上也進行了不小的更新,增加了兩個非常使用的顯示區(qū),一個是信息區(qū),對表格和文字進行了分類處理,界面的顯示更加清爽和具體。第二是儀表的信息控件,能在儀表信息區(qū)進行信息的顯示,同時還能進行多個信息的比對,為用戶的實際使用帶來了很大的便捷。

針對本文中設(shè)計的新聞管理系統(tǒng)在實際的實現(xiàn)過程中,最終選擇Mysql數(shù)據(jù)庫的主要原因在于在企業(yè)的應(yīng)用系統(tǒng)應(yīng)用及開發(fā)的過程中會存在大量的數(shù)據(jù)庫比較頻繁的操作,而且數(shù)據(jù)的安全性要求也是非常的高。綜合這些因素,最終選擇安全性系數(shù)比較高的Mysql來對新聞管理系統(tǒng)后臺數(shù)據(jù)進行存儲操作。

數(shù)據(jù)庫管理系統(tǒng)的總體結(jié)構(gòu)圖如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖2-1 數(shù)據(jù)庫組成結(jié)構(gòu)

    1. 企業(yè)級架構(gòu)

SpringMVC屬于MVC架構(gòu),它將JavaEE當做前提,借助JSP及Servlet技術(shù)達成。且其漸趨呈現(xiàn)的良好性能,獲得研發(fā)者的青睞及重視,其運用相當簡易,且回應(yīng)迅速靈敏。因為其把JSP、message resource、Servlet還有自界定標簽加以有機結(jié)合起來,讓編程者用不著再編制代碼就能夠達到MVC形式,提升了編寫程序?qū)嵭11]。

Spring卻屬于JavaEE框架里相當強大的某一架構(gòu)。它既對監(jiān)管項目主體措施加以規(guī)范化整體化,且借助其本身的設(shè)計指引編程者側(cè)重編訂接口流程,而并非對類加以編程。其運用的核心是靠著JavaBean里的Inversion of Control容器。它供應(yīng)了元件框架層的整體預(yù)案,且它達到對信息拜訪的唯一抽象,供應(yīng)了合理的JDBC架構(gòu),這一形式有效地縮減了出現(xiàn)失誤的概率,提升了實效。另外其還交融了Hibernate等許多信息訪問框架。

Mybatis屬于某一放開源代碼的主體關(guān)系映射架構(gòu),其達到了基于JDBC的超輕量級封裝目的,如此能夠便于程序員依照本身的想法借助針對主體的措施對資料庫加以運作。它能夠跟任一JDBC融合,另外能夠在用戶端運用,也能夠在Web端運用,它可以實現(xiàn)信息的長久化。

  1. 系統(tǒng)分析
    1. 可行性分析

技術(shù)性方面,采用當前主流的SSM框架進行系統(tǒng)主體框架的搭建,前臺使用jquery,ajax,實現(xiàn)前臺頁面的設(shè)計與美觀調(diào)整,以上技術(shù),均由本人經(jīng)過系統(tǒng)學(xué)習,并且都是在課程設(shè)計中實踐過的,可以使得開發(fā)更加便捷和系統(tǒng)。從技術(shù)角度看,這個系統(tǒng)是完全可以實現(xiàn)的。

實用性方面,本次設(shè)計的主要任務(wù)是在酒店管理系統(tǒng)內(nèi)客房預(yù)訂、入住須知、留言發(fā)表、個人資料修改、客房預(yù)訂訂單查詢等,符合當前潮流的發(fā)展。從用戶角度出發(fā),同時也考慮系統(tǒng)運營成本和人力資源,采用網(wǎng)絡(luò)上的便捷方式,實現(xiàn)線上業(yè)務(wù),使得業(yè)務(wù)流程更系統(tǒng),也更方便用戶的體驗,比較實用。

經(jīng)濟性方面,由于本課題中設(shè)計的酒店管理系統(tǒng)的主要目的是為了能夠更加方便及快捷的進行信息的查詢管理及檢索服務(wù),也就是能夠可以直接投入使用的信息化軟件。系統(tǒng)的主要成本主要是集中在對使用數(shù)據(jù)后期繼續(xù)維護及其管理更新這個操作上。但是一旦系統(tǒng)投入到實際的運行及使用之后就能夠很好的提高信息查詢檢索的效率,同時也需要有效的保證查詢者的信息方面的安全性,同時這個酒店管理系統(tǒng)所帶來的實際應(yīng)用方面的價值是遠遠的超過了實際系統(tǒng)進行開發(fā)與維護方面的成本,因此,從經(jīng)濟上來說開發(fā)這個軟件是可行的。

    1. 功能需求分析

酒店管理系統(tǒng)的功能主要分為前臺用戶根據(jù)自己的需求進行注冊登錄,瀏覽客房信息并對需要的客房進行預(yù)訂操作。后臺系統(tǒng)管理員因職責的不同,分為普通管理員和超級管理員,管理員主要對注冊用戶,用戶管理、酒店客房、客房預(yù)訂、菜品分類、酒店菜品、菜品點餐、財務(wù)管理行處理。

用戶用例圖如下所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖3-1 用戶用例圖

管理員用例圖如下所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖3-2 管理員用例圖

      1. 前臺用戶功能

前臺用戶可分為未注冊用戶需求和以注冊用戶需求。

未注冊用戶的功能如下:

注冊賬號:用戶填寫個人信息,并驗證手機號碼。

瀏覽酒店風采:用戶可以瀏覽主頁面的酒店風采來了解系統(tǒng)的最新酒店信息。

瀏覽酒店客房:用戶可以根據(jù)客房類型瀏覽客房的信息,并選中某個客房查看詳情,例如:房間號、房型、價格、訂金、預(yù)訂天數(shù)、總價格、姓名、聯(lián)系電話、入住日期、預(yù)訂人、是否支付等。

已注冊用戶的功能如下:

登錄:根據(jù)賬號密碼進行登錄操作。

維護個人信息:用戶因個人信息的變更可以隨時修改自己注冊信息。

瀏覽評論信息:選中某間商品可查看其用戶的評論。

酒店客房:用戶根據(jù)自己的需求選中某個客房進行預(yù)訂操作。

個人客房預(yù)訂歷史記錄:用戶可以查看自己以往預(yù)訂數(shù)據(jù)。

      1. 后臺管理員功能

管理員功能如下:

修改密碼:管理員可以隨時修改自己進入系統(tǒng)的登錄密碼,以保證系統(tǒng)的安全性。

管理普通管理員:對普通管理員進行管理。調(diào)動相關(guān)工作人員時可以添加或刪除普通管理員。

客房信息管理:對客房信息進行維護,添加、刪除、修改信息。

對預(yù)訂單信息進行處理:辦理預(yù)訂單審核等。

酒店菜品信息管理:對酒店菜品信息進行維護,添加、刪除、修改信息。

菜品點餐信息管理:對菜品點餐信息進行維護,添加、刪除、修改信息。

財務(wù)信息管理:對財務(wù)信息進行維護,添加、刪除、修改信息。

用戶管理:可以查看注冊用戶的信息,并對其進行管理。

    1. 非功能需求分析

首先主要考慮的是系統(tǒng)功能軟件,在具體設(shè)計的環(huán)節(jié)上,是不是能夠較好的滿足各類用戶的基本功能需求,如果不能較好的滿足用戶需求,那么這個系統(tǒng)的存在是沒有價值的。軟件系統(tǒng)的非功能性求分析,從7個方面展開,一個是性能分析,針對系統(tǒng);一個是安全分析,針對系統(tǒng),一個是完整度分析,針對系統(tǒng),一個是可維護分析,針對系統(tǒng),一個是可擴展性分析,針對系統(tǒng),一個是適應(yīng)業(yè)務(wù)的性能分析。面對酒店管理系統(tǒng)存在的性能、安全、擴展、完整度等7個方面性能綜合比對分析后發(fā)現(xiàn),需要相應(yīng)的非功能性需求分析。

    1. 安全性需求分析
      1. 系統(tǒng)的安全性

安全性對每一個系統(tǒng)來說都是非常重要的。安全性很好的系統(tǒng)可以保護企業(yè)的信息和用戶的信息不被竊取。提高系統(tǒng)的安全性不僅是對用戶的負責,更是對企業(yè)的負責。尤其針對于酒店管理系統(tǒng)來說,必須要有很好的安全性來保障整個系統(tǒng)。

系統(tǒng)具有對使用者有權(quán)限控制,針對角色的不通限制使用者的權(quán)限,以此來確保系統(tǒng)的安全性。

      1. 數(shù)據(jù)的安全性

數(shù)據(jù)庫中的數(shù)據(jù)是從外界輸入的,當數(shù)據(jù)的輸入時,由于種種原因,輸入的數(shù)據(jù)會無效,或者是臟數(shù)據(jù)。因此,怎樣保證輸入的數(shù)據(jù)符合規(guī)定,成為了數(shù)據(jù)庫系統(tǒng),尤其是多用戶的關(guān)系數(shù)據(jù)庫系統(tǒng)首要關(guān)注的問題。

因此,在寫入數(shù)據(jù)庫時,要保證數(shù)據(jù)完整性、正確性和一致性。

    1. 數(shù)據(jù)流程分析

對系統(tǒng)的數(shù)據(jù)流進行分析,系統(tǒng)的使用者分為二類,一般用戶,管理員。系統(tǒng)主要對界面信息傳送,登錄信息的驗證,注冊信息的接收,用戶各種操作的響應(yīng)做處理。

系統(tǒng)頂層數(shù)據(jù)流圖如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖3-2 頂層數(shù)據(jù)流圖

要判斷用戶是是什么身份,是根據(jù)登錄的數(shù)據(jù)來判斷后,跳轉(zhuǎn)到對應(yīng)的功能界面。在系統(tǒng)的內(nèi)部用戶就可以對數(shù)據(jù)進行操作,數(shù)據(jù)庫中心就可以接收到系統(tǒng)傳輸?shù)挠行?shù)據(jù)流來對數(shù)據(jù)sql語句進行對應(yīng)操作。

系統(tǒng)底層數(shù)據(jù)流圖如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

?圖3-3 底層數(shù)據(jù)流圖

?

系統(tǒng)可以分為前臺和后臺兩部分,每一種操作后系統(tǒng)都返回操作結(jié)果。前臺和后臺的數(shù)據(jù)連接主要通過數(shù)據(jù)庫,既分別對數(shù)據(jù)庫做不同的操作。

?

  1. 系統(tǒng)設(shè)計
    1. 系統(tǒng)架構(gòu)設(shè)計

本酒店管理系統(tǒng)的架構(gòu)設(shè)計主要分為可以3層,主要有Web層,業(yè)務(wù)層,Model層。其中web層還包括View層和Controller層,Model層包括元數(shù)據(jù)擴展層和數(shù)據(jù)訪問層。

系統(tǒng)架構(gòu)如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖4-1 系統(tǒng)架構(gòu)

    1. 系統(tǒng)總體設(shè)計

酒店管理系統(tǒng)總體分為前臺用戶模塊和后臺管理員模塊。

兩個模塊表現(xiàn)上是分別獨立存在,但是訪問的數(shù)據(jù)庫是一樣的。每一個模塊的功能都是根據(jù)先前完成的需求分析,并查閱相關(guān)資料后整理制作的。

綜上所述,系統(tǒng)功能結(jié)構(gòu)圖如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖4-2 系統(tǒng)功能結(jié)構(gòu)圖

    1. 系統(tǒng)功能設(shè)計

登錄模塊:登錄模塊是進入系統(tǒng)的入口,所有用戶必須登錄后才能訪問系統(tǒng)。登錄需要輸入用戶名和密碼,如果多次嘗試登錄需要輸入驗證碼。登錄時需要選擇用戶的角色,是一般用戶還是管理員登錄等。登錄成功后,會通過數(shù)據(jù)庫獲取用戶的權(quán)限,并跳轉(zhuǎn)至用戶的主頁面。

管理員用戶管理模塊:管理員管理包括:管理員的添加,修改和刪除操作。添加管理員時,先判斷用戶添加的管理員是否是admin(超級管理員),如果不是則添加成功。修改時候,如果是超級管理員,可以修改所有管理員的信息,如果是普通管理員,那么只能修改自己的信息。超級管理員可以刪除自己以外的所有其他管理員,普通管理員不能執(zhí)行刪除管理員的操作。

酒店風采模塊:可分為酒店風采瀏覽、酒店風采檢索、酒店風采維護三個模塊,管理員對酒店風采有維護的權(quán)限,發(fā)布新的酒店風采信息、更新已有的酒店風采等。

客房管理模塊:客房管理分為客房添加、修改和客房預(yù)訂??头啃畔⒂晒芾韱T進行修改、添加、刪除操作;客房預(yù)訂由普通用戶來執(zhí)行。

    1. 數(shù)據(jù)庫設(shè)計
      1. 數(shù)據(jù)需求分析

從前面可以分析到數(shù)據(jù)庫中最重要的是酒店菜品信息,用戶信息,客房預(yù)訂信息,同時存在財務(wù)信息和酒店客房信息。分析可以得到如下數(shù)據(jù)描述:

平臺用戶:用于記錄用戶的各種信息,包括用戶編號等數(shù)據(jù)項。

管理員:記錄管理員的登錄信息。包括用戶名,密碼,權(quán)限等數(shù)據(jù)項。

客房預(yù)訂:存儲各種客房預(yù)訂信息。包括訂單號、聯(lián)系電話、房型、預(yù)訂天數(shù)、總價格、用戶編號、入住日期、姓名、支付狀態(tài)、支付利息等數(shù)據(jù)項。

菜品點餐:存儲各種菜品點餐信息。包括訂單號、菜品名稱、價格、總價格、數(shù)量、用戶編號、房號、送餐時間、菜品類別、支付狀態(tài)、支付類型等數(shù)據(jù)項。

酒店菜品。存儲用戶的酒店菜品信息。包括酒店菜品的菜品編號、菜品名稱、菜品類別、主圖、食材、價格、菜品介紹、點擊數(shù)、點贊數(shù)等數(shù)據(jù)項。

財務(wù)管理:存儲用戶的財務(wù)信息。包括利潤、月份、備注等數(shù)據(jù)項。

酒店客房:存儲平臺內(nèi)的酒店客房內(nèi)容。包括房型、展示圖、價格、標題、是否有窗、入住人數(shù)、房間介紹、房間設(shè)施、點擊數(shù)、點贊數(shù)等數(shù)據(jù)項。

      1. 數(shù)據(jù)庫概念設(shè)計

根據(jù)前面的數(shù)據(jù)流程圖,結(jié)合系統(tǒng)的功能模塊設(shè)計,設(shè)計出符合系統(tǒng)的各信息實體。

系統(tǒng)ER圖如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖4-3 系統(tǒng)ER圖

      1. 數(shù)據(jù)庫表設(shè)計

酒店管理系統(tǒng)所擁有的數(shù)據(jù)表有以下:用戶信息表,評論信息表,客房信息表,客房預(yù)訂表,留言表。

由于數(shù)據(jù)表較多,只展示系統(tǒng)主要數(shù)據(jù)表,如下表所示。

room_type_management表:

名稱

類型

長度

不是null

主鍵

注釋

room_type_management_id

int

11

房型管理ID

layout_of_a_house_or_an_apartment

varchar

64

房型

recommend

int

11

智能推薦

create_time

datetime

0

創(chuàng)建時間

update_time

timestamp

0

更新時間

room_reservation表:

名稱

類型

長度

不是null

主鍵

注釋

room_reservation_id

int

11

客房預(yù)訂ID

order_number

varchar

64

訂單號

contact_number

varchar

64

聯(lián)系電話

layout_of_a_house_or_an_apartment

varchar

64

房型

price

varchar

64

價格

booking_days

varchar

64

預(yù)訂天數(shù)

total_price

varchar

64

總價格

user_number

int

11

用戶編號

check_in_date

date

0

入住日期

full_name

varchar

64

姓名

pay_state

varchar

16

支付狀態(tài)

pay_type

varchar

16

支付類型

recommend

int

11

智能推薦

create_time

datetime

0

創(chuàng)建時間

update_time

timestamp

0

更新時間

registered_user表:

名稱

類型

長度

不是null

主鍵

注釋

registered_user_id

int

11

注冊用戶ID

user_number

varchar

64

用戶編號

examine_state

varchar

16

審核狀態(tài)

recommend

int

11

智能推薦

user_id

int

11

用戶ID

create_time

datetime

0

創(chuàng)建時間

update_time

timestamp

0

更新時間

?order_dishes表:

名稱

類型

長度

不是null

主鍵

注釋

order_dishes_id

int

11

菜品點餐ID

order_number

varchar

64

訂單號

dish_name

varchar

64

菜品名稱

price

varchar

64

價格

total_price

varchar

64

總價格

number

varchar

64

數(shù)量

user_number

int

11

用戶編號

room_number

varchar

64

房號

meal_delivery_time

datetime

0

送餐時間

dish_category

varchar

64

菜品類別

pay_state

varchar

16

支付狀態(tài)

pay_type

varchar

16

支付類型

recommend

int

11

智能推薦

create_time

datetime

0

創(chuàng)建時間

update_time

timestamp

0

更新時間

??

?dish_classification表:

名稱

類型

長度

不是null

主鍵

注釋

dish_classification_id

int

11

菜品分類ID

cuisine

varchar

64

菜品類別

recommend

int

11

智能推薦

create_time

datetime

0

創(chuàng)建時間

update_time

timestamp

0

更新時間

financial_management表:

名稱

類型

長度

不是null

主鍵

注釋

financial_management_id

int

11

財務(wù)管理ID

profit

varchar

64

利潤

month

varchar

64

月份

remarks

varchar

64

備注

recommend

int

11

智能推薦

create_time

datetime

0

創(chuàng)建時間

update_time

timestamp

0

更新時間

hotel_dishes表:

名稱

類型

長度

不是null

主鍵

注釋

hotel_dishes_id

int

11

酒店菜品ID

dish_no

varchar

64

菜品編號

dish_name

varchar

64

菜品名稱

dish_category

varchar

64

菜品類別

main_graph

varchar

255

主圖

ingredients

varchar

64

食材

price

int

11

價格

introduction_to_dishes

text

0

菜品介紹

hits

int

11

點擊數(shù)

praise_len

int

11

點贊數(shù)

recommend

int

11

智能推薦

create_time

datetime

0

創(chuàng)建時間

update_time

timestamp

0

更新時間

hotel_rooms表:

名稱

類型

長度

不是null

主鍵

注釋

hotel_rooms_id

int

11

酒店客房ID

layout_of_a_house_or_an_apartment

varchar

64

房型

display_diagram

varchar

255

展示圖

price

int

11

價格

title

varchar

64

標題

is_there_a_window

varchar

64

是否有窗

occupancy

int

11

入住人數(shù)

room_introduction

text

0

房間介紹

room_facilities

text

0

房間設(shè)施

hits

int

11

點擊數(shù)

praise_len

int

11

點贊數(shù)

recommend

int

11

智能推薦

create_time

datetime

0

創(chuàng)建時間

update_time

timestamp

0

更新時間

  1. 系統(tǒng)實現(xiàn)
    1. 數(shù)據(jù)庫訪問層的實現(xiàn)

該系統(tǒng)是通過jdbc和Mysql達成連接的,新建一個jdbc.properties文件來填寫與數(shù)據(jù)庫連接所需要的驅(qū)動和參數(shù)。

jdbc.driverClass=com.Mysql.jdbc.Driver

jdbc.url=jdbc:Mysql://localhost:3306/tsi

jdbc.username=root

jdbc.password=123

第一個參數(shù)代表Mysql數(shù)據(jù)庫的驅(qū)動,第二個參數(shù)代表要連接的數(shù)據(jù)庫,第三個和第四個參數(shù)代表數(shù)據(jù)庫連接名和密碼。

后臺與數(shù)據(jù)庫訪問主要是通過HQL語句來進行查詢的,查詢語句中的表名是表格的實體類名,在這種查詢語句中*是不允許使用的,除非適合聚合函數(shù)一起使用才可以。

    1. 注冊模塊的實現(xiàn)

用戶在填寫數(shù)據(jù)的時候必須與注冊頁面上的驗證相匹配否則會注冊失敗,注冊頁面的表單驗證是通過JavaScript進行驗證的,用戶名的長度必須在6到18之間,郵箱必須帶有@符號,密碼和密碼確認必須相同,你輸入的密碼,系統(tǒng)會根據(jù)你輸入密碼的強度給出指定的值,電話號碼和身份證號碼必須要求輸入格式與生活相符合,當你前臺驗證通過的時候你點擊注冊,表單會將你輸入的值通過name值傳遞給后臺并保存到數(shù)據(jù)庫中。

用戶注冊流程圖如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖5-1用戶注冊流程圖

用戶注冊界面如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖5-2用戶注冊界面

用戶注冊的關(guān)鍵代碼如下。

/**

?????* 注冊

?????* @return

?????*/

????@PostMapping("register")

????public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

????????// 查詢用戶

????????Map<String, String> query = new HashMap<>();

????????Map<String,Object> map = service.readBody(request.getReader());

????????query.put("username",String.valueOf(map.get("username")));

????????List list = service.selectBaseList(service.select(query, new HashMap<>()));

????????if (list.size()>0){

????????????return error(30000, "用戶已存在");

????????}

????????map.put("password",service.encryption(String.valueOf(map.get("password"))));

????????service.insert(map);

????????return success(1);

}

????public Map<String,Object> readBody(BufferedReader reader){

????????BufferedReader br = null;

????????StringBuilder sb = new StringBuilder("");

????????try{

????????????br = reader;

????????????String str;

????????????while ((str = br.readLine()) != null){

????????????????sb.append(str);

????????????}

????????????br.close();

????????????String json = sb.toString();

????????????return JSONObject.parseObject(json, Map.class);

????????}catch (IOException e){

????????????e.printStackTrace();

????????}finally{

????????????if (null != br){

????????????????try{

????????????????????br.close();

????????????????}catch (IOException e){

????????????????????e.printStackTrace();

????????????????}

????????????}

????????}

????????return null;

????}

????public void insert(Map<String,Object> body){

????????E entity = JSON.parseObject(JSON.toJSONString(body),eClass);

????????baseMapper.insert(entity);

????????log.info("[{}] - 插入操作:{}",entity);

}

    1. 登錄模塊的實現(xiàn)

主要由兩部分組成,登錄前的登錄界面以及登錄后的用戶功能界面。登錄界面,要求用戶輸入用戶名和密碼,當用戶名和密碼其中一個輸入為空時,給出提示“用戶名,密碼不能為空”。獲取用戶名和密碼后到數(shù)據(jù)庫中查找,如果用戶名存在,以及對應(yīng)的密碼正確,則登錄成功,否則登錄失敗。登錄失敗后給出提示,并把焦點停在文本框中。登錄成功后將該次會話的全局變量username設(shè)置為用戶名。登錄成功后進入會員的功能模塊,主要有會員基本信息修改,已經(jīng)發(fā)布商品信息管理,發(fā)布信息,和退出功能。退出功能是清除全局變量username的值,并跳回到首頁。

登錄流程圖如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖5-4登錄流程圖

用戶登錄界面如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖5-5用戶登錄界面

用戶登錄的關(guān)鍵代碼如下。

/**

?????* 登錄

?????* @param data

?????* @param httpServletRequest

?????* @return

?????*/

????@PostMapping("login")

????public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

????????log.info("[執(zhí)行登錄接口]");

????????String username = data.get("username");

????????String email = data.get("email");

????????String phone = data.get("phone");

????????String password = data.get("password");

????????List resultList = null;

????????QueryWrapper wrapper = new QueryWrapper<User>();

????????Map<String, String> map = new HashMap<>();

????????if(username != null && "".equals(username) == false){

????????????map.put("username", username);

????????????resultList = service.selectBaseList(service.select(map, new HashMap<>()));

????????}

????????else if(email != null && "".equals(email) == false){

????????????map.put("email", email);

????????????resultList = service.selectBaseList(service.select(map, new HashMap<>()));

????????}

????????else if(phone != null && "".equals(phone) == false){

????????????map.put("phone", phone);

????????????resultList = service.selectBaseList(service.select(map, new HashMap<>()));

????????}else{

????????????return error(30000, "賬號或密碼不能為空");

????????}

????????if (resultList == null || password == null) {

????????????return error(30000, "賬號或密碼不能為空");

????????}

????????//判斷是否有這個用戶

????????if (resultList.size()<=0){

????????????return error(30000,"用戶不存在");

????????}

????????User byUsername = (User) resultList.get(0);

????????Map<String, String> groupMap = new HashMap<>();

????????groupMap.put("name",byUsername.getUserGroup());

????????List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

????????if (groupList.size()<1){

????????????return error(30000,"用戶組不存在");

????????}

????????UserGroup userGroup = (UserGroup) groupList.get(0);

????????//查詢用戶審核狀態(tài)

????????if (!StringUtils.isEmpty(userGroup.getSourceTable())){

????????????String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

????????????if (res==null){

????????????????return error(30000,"用戶不存在");

????????????}

????????????if (!res.equals("已通過")){

????????????????return error(30000,"該用戶審核未通過");

????????????}

????????}

????????//查詢用戶狀態(tài)

????????if (byUsername.getState()!=1){

????????????return error(30000,"用戶非可用狀態(tài),不能登錄");

????????}

????????String md5password = service.encryption(password);

????????if (byUsername.getPassword().equals(md5password)) {

????????????// 存儲Token到數(shù)據(jù)庫

????????????AccessToken accessToken = new AccessToken();

????????????accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

????????????accessToken.setUser_id(byUsername.getUserId());

????????????tokenService.save(accessToken);

????????????// 返回用戶信息

????????????JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

????????????user.put("token", accessToken.getToken());

????????????JSONObject ret = new JSONObject();

????????????ret.put("obj",user);

????????????return success(ret);

????????} else {

????????????return error(30000, "賬號或密碼不正確");

????????}

}

????public String select(Map<String,String> query,Map<String,String> config){

????????StringBuffer sql = new StringBuffer("select ");

????????sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

????????sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

????????if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

????????????sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

????????}

????????if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

????????????sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

????????}

????????if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

????????????int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

????????????int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

????????????sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

????????}

????????log.info("[{}] - 查詢操作,sql: {}",table,sql);

????????return sql.toString();

}

????public List selectBaseList(String select) {

????????List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

????????List<E> list = new ArrayList<>();

????????for (Map<String,Object> map:mapList) {

????????????list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

????????}

????????return list;

}

    1. 用戶資料修改模塊的實現(xiàn)

用戶登錄/注冊成功之后可以修改自己的基本信息。修改頁面的表單中每一個input的name值都要與實體類中的參數(shù)相匹配,在用戶點擊修改頁面的時候,如果改后用戶名與數(shù)據(jù)庫里面重復(fù)了,頁面會提示該用戶名已經(jīng)存在了,否則通過Id來查詢用戶,并將用戶的信息修改為表單提交的數(shù)據(jù)。

    1. 酒店客房模塊的實現(xiàn)

如果酒店客房的信息需要修改,管理員可以通過查詢酒店客房的基本信息來查詢酒店客房,查詢新聞數(shù)據(jù)是通過ajax技術(shù)來進行查詢的,需要傳遞新聞數(shù)據(jù)的標題、編號等參數(shù)然后在返回到該頁面中,可以選中要修改或刪除的那條信息,如果選中了超過一條數(shù)據(jù),頁面會挑一個窗口提醒只能選擇一條數(shù),如果沒有選中數(shù)據(jù)會挑一個窗口題型必須選擇一條數(shù)據(jù)。當選擇確認修改的時候,后臺會根據(jù)傳過來的id到數(shù)據(jù)庫查詢,并將結(jié)果返回到修改頁面中,可以在修改頁面中修改剛剛選中的信息當點擊確認的時候from表單會將修改的數(shù)據(jù)提交到后臺并保存到數(shù)據(jù)庫中,就是說如果提交的客房數(shù)據(jù)庫中存在就修改,否則就保存。

酒店客房展示界面如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖5-6酒店客房展示界面

酒店客房發(fā)布的關(guān)鍵代碼如下。

public Map<String, Object> success(Object o) {

????????Map<String, Object> map = new HashMap<>();

????????if (o == null) {

????????????map.put("result", null);

????????????return map;

????????}

????????if (o instanceof List) {

????????????if (((List) o).size() == 1) {

???????????????o = ?((List) o).get(0);

????????????????map.put("result", o);

????????????}else {

????????????????String jsonString = JSONObject.toJSONString(o);

????????????????JSONArray objects = service.covertArray(JSONObject.parseArray(jsonString));

????????????????map.put("result", objects);

????????????}

????????} else if (o instanceof Integer || o instanceof String) {

????????????map.put("result", o);

????????} else {

????????????String jsonString = JSONObject.toJSONString(o);

????????????JSONObject jsonObject = JSONObject.parseObject(jsonString);

????????????JSONObject j = service.covertObject(jsonObject);

????????????map.put("result", j);

????????}

????????return map;

}

    1. 酒店菜品模塊的實現(xiàn)

酒店菜品功能整體流程:用戶瀏覽酒店菜品信息時,同時會顯示菜品的狀態(tài),系統(tǒng)會在其顯示詳細信息的頁面時便會判斷菜品的狀態(tài),若菜品狀態(tài)為可預(yù)訂,則會顯示預(yù)訂的鏈接按鈕。在用戶點擊預(yù)訂按鈕時,會先通過攔截器判斷用戶是否登錄,若未登錄,會跳轉(zhuǎn)至登錄頁面,提示用戶先登錄,若為登錄用戶就會跳轉(zhuǎn)至填寫預(yù)訂信息的頁面,填寫好酒店菜品信息之后,點擊提交按鈕,預(yù)訂成功之后返回提示信息,告知用戶預(yù)訂成功。

酒店菜品流程圖如下圖所示。

???????????酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖5-7酒店菜品流程圖

酒店菜品界面如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖5-8酒店菜品界面

酒店菜品添加關(guān)鍵代碼如下。

@RequestMapping("/get_obj")

????public Map<String, Object> obj(HttpServletRequest request) {

????????List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

????????if (resultList.size() > 0) {

????????????JSONObject jsonObject = new JSONObject();

????????????jsonObject.put("obj",resultList.get(0));

????????????return success(jsonObject);

????????} else {

????????????return success(null);

????????}

}

    1. 酒店客房管理模塊的實現(xiàn)

根據(jù)需求,需要對酒店客房進行添加、刪除或修改詳情信息。刪除或修改客房時,系統(tǒng)根據(jù)客房的狀態(tài)判定為可刪除狀態(tài)下,才會給出刪除和修改鏈接,點擊刪除鏈接按鈕時,請求到達后臺,還會先查詢客房狀態(tài)再次做出判定能否刪除。點擊修改鏈接按鈕時,會跳轉(zhuǎn)到修改信息的頁面,重新填寫好數(shù)據(jù)后,數(shù)據(jù)提交到后臺會對數(shù)據(jù)庫中相應(yīng)的記錄做出修改。

添加客房時,會給出數(shù)據(jù)填寫的頁面,該頁面根據(jù)填寫好的客房編號同樣會事先發(fā)送Ajax請求查詢編號是否已存在,數(shù)據(jù)填寫好之后提交到后臺,會調(diào)用相關(guān)服務(wù)在數(shù)據(jù)庫中插入記錄。

酒店客房管理流程圖如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖5-9酒店客房管理流程圖

酒店客房管理頁面設(shè)計效果如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖5-10酒店客房管理界面

酒店客房添加頁面效果如下圖所示。

酒店管理系統(tǒng)畢業(yè)設(shè)計,mysql,spring boot,java,python,php

?

圖5-22酒店客房添加界面

酒店客房發(fā)布的關(guān)鍵代碼如下。

@RequestMapping(value = "/del")

????@Transactional

????public Map<String, Object> del(HttpServletRequest request) {

????????service.delete(service.readQuery(request), service.readConfig(request));

????????return success(1);

}

  1. 系統(tǒng)測試
    1. 測試目的

對任何系統(tǒng)而言,測試都是必不可少的環(huán)節(jié),測試可以發(fā)現(xiàn)系統(tǒng)存在的很多問題,所有的軟件上線之前,都應(yīng)該進行充足的測試之后才能保證上線后不會Bug頻發(fā),或者是功能不滿足需求等問題的發(fā)生。下面分別從單元測試,功能測試和用例測試來對系統(tǒng)進行測試以保證系統(tǒng)的穩(wěn)定性和可靠性。

    1. 功能測試

下表是客房管理功能的測試用例,檢測了客房管理中對客房信息的增加,刪除,修改,查詢操作是否成功運行。觀察系統(tǒng)的響應(yīng)情況,得出該功能也達到了設(shè)計目標,系統(tǒng)運行正確。

前置條件;用戶登錄系統(tǒng)。

表6-1 客房管理的測試用例

功能描述

用于客房管理

測試目的

檢測客房管理時的各種操作的運行情況

測試數(shù)據(jù)以及操作

預(yù)期結(jié)果

實際結(jié)果

點擊添加客房,必填項合法輸入,點擊保存

提示添加成功

與預(yù)期結(jié)果一致

點擊添加客房,必填項輸入不合法,點擊保存

提示必填項不能為空

與預(yù)期結(jié)果一致

點擊修改客房,必填項修改為空,點擊保存

提示必填項不能為空

與預(yù)期結(jié)果一致

點擊修改客房,必填項輸入不合法,點擊保存

提示必填項不能為空

與預(yù)期結(jié)果一致

點擊刪除客房,選擇客房刪除

提示刪除成功

與預(yù)期結(jié)果一致

點擊搜索客房,輸入存在的客房名

查找出客房

與預(yù)期結(jié)果一致

點擊搜索客房,輸入不存在的客房名

不顯示客房

與預(yù)期結(jié)果一致

下表是預(yù)訂管理功能的測試用例,檢測了預(yù)訂管理中預(yù)訂單的操作是否成功運行。觀察系統(tǒng)的響應(yīng)情況,得出該功能也達到了設(shè)計目標,系統(tǒng)運行正確。

前置條件;用戶登錄系統(tǒng)。

表6-2 預(yù)訂管理的測試用例

功能描述

用于預(yù)訂管理

測試目的

檢測預(yù)訂管理時各種操作的情況

測試數(shù)據(jù)以及操作

預(yù)期結(jié)果

實際結(jié)果

未選擇客房,點擊提交

提示請選擇客房

與預(yù)期結(jié)果一致

未輸入數(shù)量,點擊提交

提示請輸入數(shù)量

與預(yù)期結(jié)果一致

未輸入時間,點擊提交

提示請輸入時間

與預(yù)期結(jié)果一致

    1. 性能測試

使用阿里云PTS(Performance Testing Service)性能測試服務(wù)對線上系統(tǒng)進行壓力測試。線上服務(wù)器環(huán)境為:1核心CPU,1G內(nèi)存,1Mbps公網(wǎng)帶寬,Centos7.0操作系統(tǒng)。

壓測過程中使用了2臺并發(fā)機器,每臺機器20個用戶并發(fā),對系統(tǒng)主頁,登錄,數(shù)據(jù)查詢和數(shù)據(jù)維護等模塊進行并發(fā)訪問,測試結(jié)果是有40個用戶并發(fā)時,數(shù)據(jù)管理相關(guān)頁面的響應(yīng)時間甚至達到了7s,通過查看服務(wù)器出網(wǎng)流量發(fā)現(xiàn)已經(jīng)達到1381kb/s,可以看出服務(wù)器的帶寬已經(jīng)達到峰值,如果系統(tǒng)使用5Mbps的帶寬,系統(tǒng)的響應(yīng)時間和TPS將會大大增加。在整個測試的過程中,CPU的使用率占用僅8%,也提現(xiàn)出帶寬瓶頸對系統(tǒng)的影響非常嚴重。

  1. 總結(jié)與展望

隨著計算機互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,各行各業(yè)都已經(jīng)實現(xiàn)采用計算機相關(guān)技術(shù)對日益放大的數(shù)據(jù)進行管理。該課題是酒店管理系統(tǒng)為核心展開的,主要是為了實現(xiàn)酒店信息化管理和用戶在線預(yù)訂客房的需求。

酒店管理系統(tǒng)的開發(fā)是以Java編程語言作為基礎(chǔ),在Myeclipse平臺上完成編碼工作,系統(tǒng)整體為B/S架構(gòu),數(shù)據(jù)庫系統(tǒng)使用Mysql。文中詳細分析了酒店管理系統(tǒng)的研究背景、研究目的和意義、開發(fā)工具和相關(guān)技術(shù)以及系統(tǒng)需求、系統(tǒng)詳細設(shè)計和系統(tǒng)測試等等一系列內(nèi)容。系統(tǒng)實現(xiàn)了酒店管理系統(tǒng)所需的一些基本功能,并通過測試對這些實現(xiàn)的功能進行了完善,進而提高了系統(tǒng)整體的實用性。整個系統(tǒng)的開發(fā)過程中大量使用了Java相關(guān)的知識以及前端開發(fā)使用的html和javascript等,同時涉及到了很多開源框架和組件,例如后臺系統(tǒng)中運用的MVC架構(gòu)、Freemarker模板引擎等,前端運用的UI框架等。

系統(tǒng)投入運行時,各功能均運行正常。系統(tǒng)的每個界面的操作符合常規(guī)邏輯,對使用者來說操作簡單,界面友好。整個系統(tǒng)的各個功能設(shè)計合理,體現(xiàn)了人性化。

但是由于自己在系統(tǒng)開發(fā)過程中對一些用到的相關(guān)知識和技術(shù)掌握不夠牢固,再加上自身開發(fā)經(jīng)驗欠缺,因此系統(tǒng)在有些方面的功能還不夠完善,考慮的不夠全面,因此整個系統(tǒng)還有待日后逐步完善。

參考文獻

[1]李雅琴.Java編程語言的優(yōu)勢及其應(yīng)用實踐研究[J].互聯(lián)網(wǎng)周刊,2021(24):60-62.

[2]安沈昊,于榮歡.基于MySQL的天地一體化網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù)庫構(gòu)建[J].兵工自動化,2021,40(12):66-70.

[3]李兆琪.基于MySQL數(shù)據(jù)庫服務(wù)器創(chuàng)建企業(yè)工資管理系統(tǒng)[J].赤峰學(xué)院學(xué)報(自然科學(xué)版),2021,37(11):10-11.

[4]岳穎穎.基于Web酒店管理系統(tǒng)設(shè)計分析[J].電子技術(shù)與軟件工程,2021(17):196-197.

[5]王靈目.酒店企業(yè)財務(wù)管理存在的問題及對策探析[J].全國流通經(jīng)濟,2021(21):68-70.

[6]邵全勇,雒海東.基于CRM的酒店管理信息系統(tǒng)設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2021,29(14):15-19.

[7]朱云杰.翼云居酒店管理系統(tǒng)前置服務(wù)設(shè)計[J].電子元器件與信息技術(shù),2021,5(06):182-185.

[8]王維,劉峻杰,李洪亮.中小型酒店住宿管理系統(tǒng)的設(shè)計與實現(xiàn)[J].內(nèi)江科技,2021,42(05):42+19.

[9]Chung. Green marketing orientation: achieving sustainable development in green hotel management[J]. Journal of Hospitality Marketing & Management,2020,29(6):

[10]徐旭,李明明,夏輝,陳曦,王天宇,肖碩,雍旭.基于SSM框架的互聯(lián)網(wǎng)+多元監(jiān)管下構(gòu)建醫(yī)療設(shè)備質(zhì)量控制管理服務(wù)平臺研究[J].中國醫(yī)學(xué)裝備,2021,18(12):106-110.

[11]胡世洋,賴森林.淺論SSM框架在構(gòu)建“微農(nóng)”信息服務(wù)中的應(yīng)用[J].電腦知識與技術(shù),2021,17(34):4-6.

[12]李耀,李路蘭,王明宇,楊廣,王偉,孫新杰.基于SSM框架的創(chuàng)新創(chuàng)業(yè)申報系統(tǒng)的構(gòu)建——以六盤水師范學(xué)院為例[J].電腦知識與技術(shù),2021,17(33):47-48+52.

[13]王宇,夏麗麗,何穎剛.基于SSM框架的高校畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)[J].電子技術(shù)與軟件工程,2021(22):26-29.

[14]李成珊, 住宿業(yè) 假日酒店試運行衛(wèi)生可追溯管理系統(tǒng). 張健 主編,黃浦年鑒,上海文化出版社,2020,66,年鑒.

[15]Martin Falk,Markku Vieru. Modelling the cancellation behaviour of hotel guests[J]. International Journal of Contemporary Hospitality Management,2018,30(10):

致謝

本次設(shè)計歷時3個月。在這個畢業(yè)設(shè)計中,它離不開指導(dǎo)教師的指導(dǎo),使事情基本順利。指導(dǎo)老師無論是在畢業(yè)設(shè)計歷經(jīng)中,還是在論文做完中都給了了我特別大的助益。另1個方面,教師認真負責的工作姿態(tài),謹慎的教學(xué)精神厚重的理論水準都使我獲益匪淺。他勤懇謹慎的教學(xué)育人學(xué)習姿態(tài)也給我留下了特別特別深的感覺。我從老師那里學(xué)到了很多東西。在理論和實踐中,我的技能得到了特別大的提高。在此,特向教師表示由衷的感激。

經(jīng)過對該畢業(yè)設(shè)計的全部研究和開發(fā),我的系統(tǒng)研發(fā)經(jīng)歷了從需求分析到實現(xiàn)詳細功能,再到最終測試和維護的特殊進展。讓我對系統(tǒng)研發(fā)有了更深層次的認識。如今我的動手本領(lǐng)單獨處理疑惑的本領(lǐng)也獲取到了特別大的演練學(xué)習增多,這是這次畢業(yè)設(shè)計最好的收獲。

最后,在整個系統(tǒng)開發(fā)過程中,我周圍的同學(xué)和朋友給了我很多意見,所以我很快就確認了系統(tǒng)的商業(yè)思想。在次,我由衷的向他們表示感激。

點贊+收藏+關(guān)注 → 私信領(lǐng)取本源代碼、數(shù)據(jù)庫文章來源地址http://www.zghlxwxcb.cn/news/detail-757957.html

到了這里,關(guān)于ssm+mysql+酒店管理系統(tǒng)的設(shè)計和實現(xiàn) 畢業(yè)設(shè)計-附源碼260839的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • (ssm+mysql)無人機數(shù)據(jù)管理系統(tǒng) 畢業(yè)設(shè)計源碼論文+答辯PPT

    (ssm+mysql)無人機數(shù)據(jù)管理系統(tǒng) 畢業(yè)設(shè)計源碼論文+答辯PPT

    答辯PPT 論文 ssm無人機數(shù)據(jù)管理系統(tǒng) 摘 ? 要 隨著互聯(lián)網(wǎng)趨勢的到來,各行各業(yè)都在考慮利用互聯(lián)網(wǎng)將自己推廣出去,最好方式就是建立自己的互聯(lián)網(wǎng)系統(tǒng),并對其進行維護和管理。在現(xiàn)實運用中,應(yīng)用軟件的工作規(guī)則和開發(fā)步驟,采用Java技術(shù)無人機數(shù)據(jù)管理系統(tǒng) 。 本設(shè)計

    2024年01月16日
    瀏覽(19)
  • (附源碼)ssm高校社團管理系統(tǒng)設(shè)計與實現(xiàn) 畢業(yè)設(shè)計 234162

    (附源碼)ssm高校社團管理系統(tǒng)設(shè)計與實現(xiàn) 畢業(yè)設(shè)計 234162

    高校社團管理系統(tǒng)設(shè)計與實現(xiàn) 摘?要 21世紀時信息化的時代,幾乎任何一個行業(yè)都離不開計算機,將計算機運用于高校社團管理系統(tǒng)也是十分常見的。過去使用手工的管理方式對高校社團進行管理,造成了管理繁瑣、難以維護等問題,如今使用計算機對高校社團的各項基本信

    2024年02月07日
    瀏覽(93)
  • 基于微信小程序的房屋租賃管理系統(tǒng)+后臺管理系統(tǒng)(SSM+mysql)-JAVA.VUE【畢業(yè)設(shè)計、論文、源碼、開題報告】

    基于微信小程序的房屋租賃管理系統(tǒng)+后臺管理系統(tǒng)(SSM+mysql)-JAVA.VUE【畢業(yè)設(shè)計、論文、源碼、開題報告】

    ? ? 基于微信小程序的房屋租賃管理系統(tǒng)的設(shè)計與實現(xiàn) 摘要 隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實施在技術(shù)上已逐步成熟。本文介紹了基于微信小程序的房屋租賃管理系統(tǒng)的開發(fā)全過程。通過分析基于微信小程序的房屋租賃管理系統(tǒng)管理的不足

    2024年02月10日
    瀏覽(36)
  • 【計算機畢業(yè)設(shè)計】酒店管理系統(tǒng)

    【計算機畢業(yè)設(shè)計】酒店管理系統(tǒng)

    ? ? ? ? ? ? ? 酒店管理系統(tǒng) 摘 ?? 要 酒店管理系統(tǒng) 采用B/S結(jié)構(gòu)、 java開發(fā)語言 、以及Mysql數(shù)據(jù)庫等技術(shù)。系統(tǒng)主要分為管理員和 用戶二 部分,管理員: 首頁、 個人中心 、用戶管理、客房類型管理、客房信息管理 、 客房預(yù)訂管理、入住登記管理、退房評價管理、系統(tǒng)管

    2024年02月07日
    瀏覽(31)
  • 基于微信小程序的快遞管理平臺+后臺管理系統(tǒng)(SSM+mysql)-JAVA.VUE【畢業(yè)設(shè)計、論文、源碼、開題報告】

    基于微信小程序的快遞管理平臺+后臺管理系統(tǒng)(SSM+mysql)-JAVA.VUE【畢業(yè)設(shè)計、論文、源碼、開題報告】

    ????? ? ? ?本科畢業(yè)設(shè)計論文 題目:基于微信小程序的快遞管理平臺設(shè)計與實現(xiàn) 系 ???別: XX系(全稱) 專????業(yè): 軟件工程 班 ???級: 學(xué)生姓名: 學(xué)生學(xué)號: 指導(dǎo)教師: 導(dǎo)師1 ???????導(dǎo)師2 年5月 社會發(fā)展日新月異,用計算機應(yīng)用實現(xiàn)數(shù)據(jù)管理功能已經(jīng)算是很

    2024年02月09日
    瀏覽(24)
  • asp.net1052-酒店管理系統(tǒng)#畢業(yè)設(shè)計

    asp.net1052-酒店管理系統(tǒng)#畢業(yè)設(shè)計

    項目編號:asp.net1052-酒店管理系統(tǒng)#畢業(yè)設(shè)計 運行環(huán)境:VS+SQL 開發(fā)工具:VS2010及以上版本 數(shù)據(jù)庫:SQL2008及以上版本 使用技術(shù):HTML+JS+HTML 開發(fā)語言:C#,框架:asp.net ? 酒店業(yè)是一個前景廣闊而又競爭激烈的行業(yè)。改革開放以來,我國的酒店業(yè)迅速發(fā)展,已經(jīng)成為一個具有相當規(guī)

    2023年04月08日
    瀏覽(24)
  • 基于Java SSM框架實現(xiàn)醫(yī)院管理系統(tǒng)項目【項目源碼】計算機畢業(yè)設(shè)計

    基于Java SSM框架實現(xiàn)醫(yī)院管理系統(tǒng)項目【項目源碼】計算機畢業(yè)設(shè)計

    基于java的SSM框架實現(xiàn)醫(yī)院管理系統(tǒng)演示 當今流行的“SSM組合框架”是Spring + SpringMVC + MyBatis的縮寫,受到很多的追捧,“組合SSM框架”是強強聯(lián)手、各司其職、協(xié)調(diào)互補的團隊精神。web項目的框架,通常更簡單的數(shù)據(jù)源。Spring屬于一個輕量級的反轉(zhuǎn)控制框架(IoC),但它也是一

    2024年02月01日
    瀏覽(36)
  • java畢業(yè)設(shè)計成品源碼網(wǎng)站基于SSM實現(xiàn)的倉庫管理系統(tǒng)[包運行成功]

    java畢業(yè)設(shè)計成品源碼網(wǎng)站基于SSM實現(xiàn)的倉庫管理系統(tǒng)[包運行成功]

    ???文末獲取聯(lián)系?? 計算機畢業(yè)設(shè)計java畢設(shè)之倉庫管理系統(tǒng)_嗶哩嗶哩_bilibili 計算機畢業(yè)設(shè)計java畢設(shè)之倉庫管理系統(tǒng)共計2條視頻,包括:IT實戰(zhàn)營-計算機畢業(yè)設(shè)計java畢設(shè)倉庫管理系統(tǒng)、項目資源獲取等,UP主更多精彩視頻,請關(guān)注UP賬號。 https://www.bilibili.com/video/BV1Dq4y1N7

    2024年02月06日
    瀏覽(22)
  • 基于Java SSM框架實現(xiàn)精準扶貧管理系統(tǒng)項目【項目源碼】計算機畢業(yè)設(shè)計

    基于Java SSM框架實現(xiàn)精準扶貧管理系統(tǒng)項目【項目源碼】計算機畢業(yè)設(shè)計

    基于java的SSM框架實現(xiàn)精準扶貧管理系統(tǒng)演示 JSP技術(shù)本身是一種腳本語言,但它的功能是十分強大的,因為它可以使用所有的JAVA類。當它與JavaBeans 類進行結(jié)合時,它可以使顯示邏輯和內(nèi)容分開,這就極大的方便了用戶的需求。JavaBeans 可以對JSP技術(shù)的程序進行擴展,從而形成

    2024年02月19日
    瀏覽(29)
  • 基于Java SSM框架實現(xiàn)在線作業(yè)管理系統(tǒng)項目【項目源碼】計算機畢業(yè)設(shè)計

    基于Java SSM框架實現(xiàn)在線作業(yè)管理系統(tǒng)項目【項目源碼】計算機畢業(yè)設(shè)計

    基于java的SSM框架實現(xiàn)在線作業(yè)管理系統(tǒng)演示 JSP技術(shù)本身是一種腳本語言,但它的功能是十分強大的,因為它可以使用所有的JAVA類。當它與JavaBeans 類進行結(jié)合時,它可以使顯示邏輯和內(nèi)容分開,這就極大的方便了運動員的需求。JavaBeans 可以對JSP技術(shù)的程序進行擴展,從而形

    2024年01月20日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包