![計(jì)算機(jī)科學(xué)與技術(shù)-基于Django酒店(桐楓谷)數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁](http://file4.renrendoc.com/view/4b369d2ac73578220d144fe569b4a8d6/4b369d2ac73578220d144fe569b4a8d61.gif)
![計(jì)算機(jī)科學(xué)與技術(shù)-基于Django酒店(桐楓谷)數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁](http://file4.renrendoc.com/view/4b369d2ac73578220d144fe569b4a8d6/4b369d2ac73578220d144fe569b4a8d62.gif)
![計(jì)算機(jī)科學(xué)與技術(shù)-基于Django酒店(桐楓谷)數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁](http://file4.renrendoc.com/view/4b369d2ac73578220d144fe569b4a8d6/4b369d2ac73578220d144fe569b4a8d63.gif)
![計(jì)算機(jī)科學(xué)與技術(shù)-基于Django酒店(桐楓谷)數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁](http://file4.renrendoc.com/view/4b369d2ac73578220d144fe569b4a8d6/4b369d2ac73578220d144fe569b4a8d64.gif)
![計(jì)算機(jī)科學(xué)與技術(shù)-基于Django酒店(桐楓谷)數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁](http://file4.renrendoc.com/view/4b369d2ac73578220d144fe569b4a8d6/4b369d2ac73578220d144fe569b4a8d65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
酒店(桐楓谷)數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘要:網(wǎng)絡(luò)技術(shù)的發(fā)展已經(jīng)滲透到企業(yè)管理的方方面面,是個各大企業(yè)的管理工作越來越依賴互聯(lián)網(wǎng)絡(luò),尤其是隨著我國社會經(jīng)濟(jì)的發(fā)展,信息迅速的發(fā)展,使得企業(yè)的管理負(fù)擔(dān)愈來愈重,酒店行業(yè)的管理亦是如此。酒店行業(yè)高度發(fā)展,其管理工作就變得尤為重要,高效的管理可以提高酒店的效率。但是在現(xiàn)在大多數(shù)的酒店管理卻還停留在人工手工的去管理,這樣的模式就使得員工需要大量的時間以及精力去處理顧客各種各樣的需求亦或投訴。長久如此的管理制度會使得酒店面臨倒閉的風(fēng)險,于是卓越的系統(tǒng)設(shè)備提供精良的用戶體驗(yàn),讓酒店經(jīng)理、酒店顧客,前臺專員等出入于酒店的相關(guān)人員體驗(yàn)到本系統(tǒng)所帶來的前所未有的優(yōu)質(zhì)服務(wù)成為了本次系統(tǒng)設(shè)計(jì)的重要考題。市場上的酒店管理系統(tǒng)千千萬萬,實(shí)現(xiàn)系統(tǒng)的技術(shù)也是各種各樣,本系統(tǒng)的采用Django框架技術(shù)開發(fā),Django框架是python開發(fā)的一個強(qiáng)大的又免費(fèi)開源的Web框架技術(shù)。程序開發(fā)人員使用干凈簡潔的代碼便可輕松的完成一個完整系統(tǒng)的大部分功能,這也是該技術(shù)的亮點(diǎn)所在??焖匍_發(fā),降低開發(fā)成本。開發(fā)工具使用PyCharm。同樣為了降低開發(fā)成本,數(shù)據(jù)庫選用MYSQL這個體積小,速度快,開放源碼的數(shù)據(jù)庫來支撐整個系統(tǒng)較為符合當(dāng)下的開發(fā)需要。最終實(shí)現(xiàn)本系統(tǒng)的實(shí)現(xiàn)。關(guān)鍵詞:酒店管理系統(tǒng),django,ORM,bootstrap,MYSQL
Hotel(TongFengGu)datamanagementsystemdesignandrealizationsummary:thedevelopmentofnetworktechnologyhaspenetratedintoallaspectsofenterprisemanagement,isamajorenterprisemanagementmoreandmorerelyontheInternet,especiallywithchina'ssocialandeconomicdevelopment,therapiddevelopmentofinformation,sothatthemanagementburdenofenterprisesmoreandmoreheavy,thehotelindustrymanagementisthesame.Thehotelindustryishighlydeveloped,itsmanagementbecomesparticularlyimportant,efficientmanagementcanimprovetheefficiencyofthehotel.Butnowmosthotelmanagementisstillstuckinmanualmanagement,suchamodelallowsemployeestoneedalotoftimeandefforttodealwithavarietyofcustomerneedsorcomplaints.Long-termsuchamanagementsystemwillmakethehotelatriskofclosure,soexcellentsystemequipmenttoprovideasophisticateduserexperience,sothathotelmanagers,hotelcustomers,frontdeskprofessionalsandotherpeopleinandoutofthehoteltoexperiencetheunprecedentedqualityservicebroughtaboutbythesystemhasbecomeanimportanttestofthissystemdesign.Therearethousandsofhotelmanagementsystemsonthemarket,theimplementationofthesystemisalsoavarietyoftechnologies,thesystemusingDjangoframeworktechnologydevelopment,DjangoframeworkisapythondevelopedapowerfulandfreeopensourceWebframeworktechnology.Thehighlightofthetechnologyisthatprogramdeveloperscaneasilycompletemostofthefunctionalityofacompletesystemwithcleanandconcisecode.Rapiddevelopmenttoreducedevelopmentcosts.DevelopmenttoolsusePyCharm.Alsoinordertoreducedevelopmentcosts,thedatabaseselectedMYSQLthissmallsize,fast,opensourcedatabasetosupporttheentiresystemmoreinlinewiththecurrentdevelopmentneeds.Thefinalrealizationofthesystem.Keywords:HotelManagementSystem,django,ORM,bootstrap,MYSQL目錄第1章緒論 緒論課題研究的背景一般而言傳統(tǒng)酒店管理系統(tǒng)是通過人機(jī)交互來實(shí)現(xiàn)的MIS(ManagementInformationSystems管理信息系統(tǒng),簡稱MIS)系統(tǒng)。對于酒店的計(jì)算機(jī)監(jiān)管體系最早可以追溯到1963年美國一間著名的酒店希爾頓酒店安裝了第一臺用于酒店客房自動化管理的小型計(jì)算機(jī)。由這一刻開始,現(xiàn)代化管理技術(shù)運(yùn)用開始運(yùn)于酒店行業(yè),并到八十年代國外的這項(xiàng)技術(shù)體系就基本完善成型。而國內(nèi)對這方面的研究起步較晚,直到八十年代初期才開始研究實(shí)踐,并對這方面的技術(shù)大量引進(jìn),到九十年代中后才趨于完善。人所共知,從改革開放以來,中國經(jīng)濟(jì)建設(shè)取得了舉世矚目的輝煌成績。跟隨著我國社會經(jīng)濟(jì)的進(jìn)步,中國的各個行業(yè)百花齊放,各行各業(yè)都開始快速發(fā)展,其中酒店行業(yè)更是如此。不斷發(fā)展的社會經(jīng)濟(jì)帶動居民的經(jīng)濟(jì)水平,而消費(fèi)水平亦是不斷提高,人們對高質(zhì)量生活的追求亦逐漸提高,對于酒店的服務(wù)體驗(yàn)的要求也越來越高。但人們對酒店的期望與目前酒店的服務(wù)質(zhì)量卻形成很大的反差,大多數(shù)酒店在管理上卻還是傳統(tǒng)的由酒店人員手工去操作完成,大部分三星以下的酒店還沒有采用電腦管理系統(tǒng),造成酒店日常管理事務(wù)工作都需要大量的人員來操作。這使得酒店服務(wù)效率變低,管理困難,占用大量的資源不說,客戶的體驗(yàn)還差。這對酒店長久發(fā)展十分不利,甚至?xí)驘o法適應(yīng)如今的趨勢而面臨淘汰。高效率、全面的管理系統(tǒng)對于酒店的服務(wù)效率,客戶的滿意度都有極大的提高,同時也可以降低管理成本,這在酒店行業(yè)競爭如此激烈的今天,將成為酒店的重要核心競爭力之一,使得酒店能有更加長遠(yuǎn)的發(fā)展。所以使用現(xiàn)如今先進(jìn)的高效率的技術(shù)開發(fā)一套完整的全面的管理系統(tǒng)是十分必要的。 課題研究的意義傳統(tǒng)的MIS人機(jī)交互界面確實(shí)對酒店管理系統(tǒng)帶來很大的便捷,但是國內(nèi)對于酒店管理系統(tǒng)的開發(fā)研究卻是參差不齊。其開發(fā)周期長,開發(fā)成本高。這并不適合當(dāng)下的軟件開發(fā)市場。本課題研究是基于Django框架所開發(fā)的酒店管理系統(tǒng),其優(yōu)點(diǎn)在于快速開發(fā)、功能完善。這使得開發(fā)成本成倍降低的同時開發(fā)功能還強(qiáng)大。系統(tǒng)開發(fā)之后對于酒店也有較大的便捷。系統(tǒng)管理減輕員工對于日常事務(wù)的繁瑣的統(tǒng)計(jì),這樣手工的統(tǒng)計(jì)極容易出錯效率還低。比如系統(tǒng)其中的模塊是對于酒店數(shù)據(jù)可視化頁面的開發(fā),其開發(fā)意義在于酒店日常數(shù)據(jù)進(jìn)行系統(tǒng)的自動分析統(tǒng)計(jì),并展示在頁面中,使得酒店管理層一目了然,這便于管理層的分析與決策,進(jìn)而影響酒店的營銷。酒店也可減少這些繁瑣的工作,專注提高服務(wù)質(zhì)量,良性循環(huán)產(chǎn)生經(jīng)濟(jì)效益。課題研究方法和內(nèi)容研究方法文獻(xiàn)研究法,根據(jù)論文的研究目的以及課題需要,通過查閱與論文相關(guān)的文獻(xiàn)來獲得相關(guān)資料,從而全面、客觀、正確地了解所要研究的問題,找出事物的本質(zhì)屬性,從中發(fā)現(xiàn)問題。研究內(nèi)容本論文一共分為五個部分,具體內(nèi)容安排如下:(1)緒論。主要對以對酒店管理系統(tǒng)國外內(nèi)的發(fā)展背景,及國內(nèi)酒店系統(tǒng)技術(shù)、酒店系統(tǒng)市場進(jìn)行闡述,從開發(fā)角度和酒店?duì)I銷角度分析本系統(tǒng)研究意義。(2)系統(tǒng)需求分析。主要對酒店管理系統(tǒng)進(jìn)行全方面的分析,包括對用戶的需求分析,對系統(tǒng)的經(jīng)濟(jì)可行性、技術(shù)可行性等方面進(jìn)行研究分析,供后面對系統(tǒng)的設(shè)計(jì)提供重要資料。(3)系統(tǒng)設(shè)計(jì)。主要描述系統(tǒng)開發(fā)環(huán)境及對系統(tǒng)功能結(jié)構(gòu)、數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì),并使用Django開發(fā)框架其強(qiáng)大的功能對系統(tǒng)的開發(fā),設(shè)計(jì)并實(shí)現(xiàn)本系統(tǒng)的部分功能。(4)系統(tǒng)測試。主要描述系統(tǒng)運(yùn)行環(huán)境的所需的硬件要求,系統(tǒng)測試的目的,測試方法,以及本系統(tǒng)主要采用何種測試方式對功能進(jìn)行測試,以確保系統(tǒng)的準(zhǔn)確運(yùn)行。(5)結(jié)束語。系統(tǒng)需求分析可行性分析對酒店管理系統(tǒng)的可行性分析主要還得從市場需求、資源供應(yīng)、開發(fā)環(huán)境影響、系統(tǒng)利潤空間等方向進(jìn)行分析,從技術(shù)上進(jìn)行研究和分析,從經(jīng)濟(jì)效益上進(jìn)行預(yù)測。從中得出這個系統(tǒng)是否可以投入開發(fā)。下面從幾個方面進(jìn)行可行性分析:(1)操作可行性:傳統(tǒng)的MIS人機(jī)交互系統(tǒng)大多采用C/S(Client-Server,也叫客戶機(jī)/服務(wù)器模式)架構(gòu)進(jìn)行應(yīng)用開發(fā)。隨著互聯(lián)網(wǎng)的發(fā)展,C/S架構(gòu)的操作局限性逐漸凸顯出來,其客戶端的維護(hù)需要復(fù)雜的技術(shù)支持。而B/S(Browser/Server,瀏覽器/服務(wù)器模式)架構(gòu)模式其核心主要集中在服務(wù)器上,大大簡化了系統(tǒng)開發(fā)、維護(hù)跟使用。(2)技術(shù)可行性:本系統(tǒng)主要采用開發(fā)語言python選用當(dāng)前最流行框架Django進(jìn)行系統(tǒng)的相關(guān)開發(fā),數(shù)據(jù)庫選用MYSQL主流數(shù)據(jù)庫進(jìn)行數(shù)據(jù)支撐,為系統(tǒng)的開發(fā)提供強(qiáng)有力的技術(shù)后盾。(3)經(jīng)濟(jì)可行性:本系統(tǒng)主要目的在于節(jié)省大量的人力財力花費(fèi)在酒店的管理經(jīng)營上,員工可在系統(tǒng)上的進(jìn)行操作,減少酒店不必要開支,同時可增加營業(yè)額,在經(jīng)濟(jì)可行性上并不會陷入窘境。(4)進(jìn)度可行性:Django框架適合快速開發(fā),其開發(fā)優(yōu)勢大于其他Web框架,使得系統(tǒng)的開發(fā)周期大大縮短,這對于系統(tǒng)的開發(fā)進(jìn)度的到保證,能在預(yù)期的時間內(nèi)高效的完成系統(tǒng)開發(fā)。用戶需求分析隨著社會的發(fā)展,客流量也隨著不斷增大,酒店管理人員希望系統(tǒng)可以減輕日常事務(wù)繁重的重復(fù)性工作,同時兼?zhèn)鋽?shù)據(jù)實(shí)時監(jiān)控,可實(shí)時看到日常所需信息。由于客流量增大酒店規(guī)模也在不斷擴(kuò)大,要求不同員工能訪問的內(nèi)容不同,并提供員工日常的考勤打卡功能:(1)實(shí)時數(shù)據(jù)監(jiān)控:使用計(jì)算機(jī)可以一目了然看到日常相關(guān)數(shù)據(jù),如各部門經(jīng)理可實(shí)時看到當(dāng)前酒店的營銷量,當(dāng)晚酒店入住人數(shù)等信息。(2)實(shí)時房態(tài):前廳部可實(shí)時看到房間狀態(tài),前廳專員可通過系統(tǒng)幫顧客預(yù)訂房間,錄入顧客信息,同時可看到網(wǎng)上預(yù)約信息,并自動預(yù)約選中房型,等顧客到店后再一并錄入系統(tǒng)。(3)數(shù)據(jù)儲存:建立顧客信息表,錄入顧客基本信息,方便日后建立良好的客戶關(guān)系。(4)密碼設(shè)置:使得酒店管理用戶可通過登錄權(quán)限登錄進(jìn)入系統(tǒng),避免非本酒店人員進(jìn)入本系統(tǒng)。(5)權(quán)限設(shè)置:設(shè)置用戶權(quán)限,可根據(jù)所處部門賦權(quán)相應(yīng)的操作權(quán)限。(6)數(shù)據(jù)查詢:要求可以通過搜索框搜索房間。(7)員工處理:可查看員工基本信息,并查看員工考勤打卡信息,并以此輔助結(jié)算工資。系統(tǒng)功能需求分析(1)網(wǎng)上預(yù)訂功能:主要目的是為了提高酒店的開房率,提高酒店?duì)I業(yè)額,功能包括網(wǎng)頁預(yù)訂查詢,房型已滿頁面反饋,預(yù)約記錄生成,預(yù)訂確認(rèn),預(yù)訂記錄維護(hù)等功能。(2)前廳接待功能:主要目的是可以快速為顧客檢索到合適房型,為客戶開好房間,錄入顧客基本信息,房間多名顧客錄入刪除功能,前廳部主頁面可快速看到當(dāng)前可入住房型,及當(dāng)前不可用房間。(3)員工考勤管理:主要功能可以知道員工考勤記錄,全體員工基本信息,部分員工無登錄系統(tǒng)權(quán)限。(4)主管主系統(tǒng)管理:主要功能點(diǎn)在于酒店日常數(shù)據(jù)可視化,對于酒店日常數(shù)據(jù)可實(shí)時的呈現(xiàn)在頁面上。
系統(tǒng)設(shè)計(jì)開發(fā)環(huán)境搭建安裝Python3.7.3環(huán)境安裝:Python是一種跨平臺的計(jì)算機(jī)程序設(shè)計(jì)語言。是一種面向?qū)ο蟮膭討B(tài)類型語言,故而需要安裝python的環(huán)境,官網(wǎng)下載與自己系統(tǒng)對應(yīng)的版本,本系統(tǒng)選用Python3.7.3版本進(jìn)行安裝。測試:安裝完成,打開運(yùn)行窗口(windows系統(tǒng)操作系統(tǒng)用win鍵+R快捷打開運(yùn)行窗口,在里面輸入命令提示符“cmd”)輸入python后回車,如出現(xiàn)python版本號,則代表環(huán)境搭建成功,如不成功,則需要配置電腦的環(huán)境變量。系統(tǒng)開發(fā)框架搭建本系統(tǒng)開發(fā)工具選用pycharm作為系統(tǒng)開發(fā)工具,框架的搭建需下載Django壓縮包,Django是用Python開發(fā)的一個免費(fèi)開源的Web框架,可以用于快速搭建高性能,優(yōu)雅的網(wǎng)站!采用了MVC的框架模式(模型M,視圖V和控制器C,也可以稱為MVT模式,模型M,視圖V,模板T。)框架安裝完畢后需測試。pip下載Django框架執(zhí)行pipinstalldjango執(zhí)行步驟之后打開pycharm在“Terminal”測試是否安裝完畢,執(zhí)行“piplist”測試是否安裝django框架,如圖3-1所示:圖3-1Terminal輸入框Django項(xiàng)目相關(guān)文件分別有:admin:對應(yīng)應(yīng)用后臺管理配置文件。apps:對應(yīng)應(yīng)用的配置文件。models:數(shù)據(jù)模塊用于設(shè)計(jì)數(shù)據(jù)庫等。tests:編寫測試腳本。views:視圖層,直接和瀏覽器進(jìn)行交互。系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)如圖3-2系統(tǒng)結(jié)構(gòu)圖所示,本系統(tǒng)功能模塊主要實(shí)現(xiàn)三大系統(tǒng)模塊:數(shù)據(jù)可視化頁面、前廳接待頁面、員工部門頁面。其中前廳接待又由前廳接待及網(wǎng)上預(yù)約的功能。員工部門包括員工部門信息、員工考勤信息。圖3-2系統(tǒng)結(jié)構(gòu)圖數(shù)據(jù)庫設(shè)計(jì)在數(shù)據(jù)庫開發(fā)中,Django框架擁有強(qiáng)大的數(shù)據(jù)庫功能:ORM(Object-RelationalMapping“對象-關(guān)系映射”),它將對數(shù)據(jù)庫的操作轉(zhuǎn)換為對類屬性和方法的操作,使得開發(fā)人員可以不用編寫SQL語句,這樣做有一個好處就是市場上的各種關(guān)系型數(shù)據(jù)庫雖然在語法上都遵循SQL編寫準(zhǔn)則到在細(xì)節(jié)上還有些差異,這使得系統(tǒng)開發(fā)在數(shù)據(jù)遷移上需花費(fèi)很大的成本,而ORM完美的避開這樣的問題,并且ORM默認(rèn)防止SQL注入(一種流行的攻擊方法),這對系統(tǒng)的安全提供了一層保護(hù)措施。數(shù)據(jù)庫設(shè)計(jì):根據(jù)需求對本系統(tǒng)的數(shù)據(jù)庫進(jìn)行分析開發(fā),并建立了十張當(dāng)前系統(tǒng)部分功能實(shí)現(xiàn)的相關(guān)數(shù)據(jù)表,分別為:員工信息表、工資信息表、考勤記錄信息表、部門信息表、顧客登記信息表、住宿信息表、客房信息表、預(yù)約房間信息表、款項(xiàng)記錄信息表等。員工信息表主要存儲員工基本信息,表結(jié)構(gòu)如表3-1員工信息表所示。表3-1員工信息表(Employee)字段名注釋數(shù)據(jù)類型是否為空說明id主鍵primarykeyNOTNULL主鍵name姓名Varchar(50)NOTNULLusername賬號Varchar(50)NULLpassword密碼Varchar(50)NULLsex性別Varchar(4)NULLtel電話Varchar(20)NULLage年齡IntNULLlength_of_service工齡IntNULLlevel級別IntNULLposition職務(wù)Varchar(20)NULLremarks備注Varchar(2000)NULLdept_id外鍵:部門idForeignKeyNULL部門編號外鍵工資信息表存儲員工發(fā)放工資信息并關(guān)聯(lián)員工表,外鍵為員工編號。結(jié)構(gòu)如表3-2工資信息表所示。表3-2工資信息表(salary);字段名注釋數(shù)據(jù)類型是否為空說明id主鍵primarykeyNOTNULL主鍵basic_wage基本工資Varchar(50)NOTNULLattendance_wage全勤工資Varchar(50)NULLreal_wages實(shí)際工資Varchar(50)NULLattendance出勤Varchar(4)NULLsalary_date發(fā)放工資時間Varchar(20)NULLremarks備注Varchar(2000)NULLemp_id外鍵:員工idForeignKeyNULL員工編號外鍵考勤表主要記錄員工打卡信息,并關(guān)聯(lián)員工表。如表3-3考勤記錄信息表所示。表3-3考勤記錄信息表(attendance);字段名注釋數(shù)據(jù)類型是否為空說明id主鍵primarykeyNOTNULL主鍵att_datetime打卡時間Varchar(50)NOTNULLremarks備注Varchar(2000)NULLemp_id外鍵:員工idForeignKeyNULL員工編號外鍵部門表存儲酒店各部門信息,如表3-4部門信息表所示。表3-4部門信息表(department);字段名注釋數(shù)據(jù)類型是否為空說明id主鍵primarykeyNOTNULL主鍵dept_name部門名稱Varchar(50)NOTNULLremarks備注Varchar(2000)NULL顧客登記信息表登記顧客信息,并存儲在數(shù)據(jù)庫中,如表3-5顧客登記信息表所示。表3-5顧客登記信息表(customer);字段名注釋數(shù)據(jù)類型是否為空說明id主鍵primarykeyNOTNULL主鍵name姓名Varchar(50)NOTNULLsexe性別Varchar(50)NULLid_card證件號碼Varchar(50)NULLzz_type證件類型Varchar(4)NULLmember_level會員級別Varchar(20)NULLremarks備注Varchar(2000)NULLdiscount_rule_id會員等級外鍵ForeignKeyNULL會員等級外鍵住宿信息表存儲住宿信息,為減少冗余數(shù)據(jù)而開設(shè)的表,如表3-6住宿信息表所示。表3-6住宿信息表(accommodation);字段名注釋數(shù)據(jù)類型是否為空說明id主鍵primarykeyNOTNULL主鍵start_date住宿日期dataNOTNULL由于開發(fā)需要特設(shè)字段start_time住宿開始時間datatimeNOTNULLend_time住宿結(jié)束時間datatimeNULLremarks備注Varchar(2000)NULLroom_id房間idForeignKeyNOTNULL房間表外鍵cust_id顧客idForeignKeyNOTNULL顧客表外鍵客房信息表存儲酒店客房信息,如表3-7客房信息表所示。表3-7客房信息表(room)字段名注釋數(shù)據(jù)類型是否為空說明id主鍵primarykeyNOTNULL主鍵room_number客房號Varchar(20)NULLcategory類別Varchar(20)NULLlocation位罝Varchar(20)NULLcharge收費(fèi)標(biāo)準(zhǔn)Varchar(20)NULLstatus狀態(tài)Varchar(20)NULLremarks備注Varchar(2000)NULL預(yù)約房間信息表網(wǎng)上預(yù)約房間時存儲數(shù)據(jù)的數(shù)據(jù)表,并與房間表關(guān)聯(lián),外鍵為房間表id,如表3-8預(yù)約房間信息表所示。表3-8預(yù)約房間信息表(reservation);字段名注釋數(shù)據(jù)類型是否為空說明id主鍵primarykeyNOTNULL主鍵name用戶名Varchar(20)NULLid_card證件號碼Varchar(20)NULLstart_date住宿日期dataNOTNULL開發(fā)需要特設(shè)字段start_time始定時間Varchar(20)NULLend_time結(jié)束時間Varchar(20)NULLremarks備注Varchar(2000)NULLroom_id房間表主鍵ForeignKeyNOTNULL房間表外鍵款項(xiàng)記錄信息表對酒店房間住宿收款信息進(jìn)行存儲,并關(guān)聯(lián)顧客表,如表3-9款項(xiàng)記錄信息表所示。表3-9款項(xiàng)記錄信息表(payment);字段名注釋數(shù)據(jù)類型是否為空說明id主鍵primarykeyNOTNULL主鍵room_id房間號Varchar(20)NULLusage_time收款時間datetimeNULLreceivables應(yīng)收款Varchar(20)NULLactual_collection實(shí)際收款Varchar(20)NULLremarks備注Varchar(2000)NOTNULLcust_id顧客idForeignKeyNOTNULL顧客表外鍵系統(tǒng)部分功能開發(fā)。系統(tǒng)登錄實(shí)現(xiàn)用戶登錄功能,如圖3-3登錄界面所示。圖3-3登錄界面登錄功能python的裝飾器其功能在于可以在不改變源代碼的情況下增加額外的新功能。譬如系統(tǒng)的登錄驗(yàn)證,如果不加裝飾器那么就需要修改大量的代碼來實(shí)現(xiàn)功能,同時不利于修改。進(jìn)入系統(tǒng)時,酒店管理系統(tǒng)會通過裝飾器check_login(f)對頁面進(jìn)行用戶是否有登陸狀態(tài)的檢測,如檢測到用戶未登錄則自動跳轉(zhuǎn)到登錄頁面進(jìn)行登錄;此時酒店員工通過輸入正確的用戶名和密碼提交到后臺調(diào)用login_post接口進(jìn)行驗(yàn)證,如果輸入信息不正確,系統(tǒng)會提示用戶名或密碼錯誤,同時通過服務(wù)端保存session數(shù)據(jù)進(jìn)行登錄識別,判斷是否已經(jīng)登錄系統(tǒng)。核心代碼如下:defcheck_login(f):#登錄驗(yàn)證
@wraps(f)
definner(request,*arg,**kwargs):
is_login=request.session.get('is_login')
ifis_login=="1":
returnf(request,*arg,**kwargs)
else:
returnredirect("/login")
returninner@csrf_exempt#增加裝飾器,作用是跳過csrf中間件的保護(hù)
deflogin_post(request):#登錄驗(yàn)證
ifrequest.method=="POST":
username=request.POST.get('username')
password=request.POST.get('password')
user=models.employee.objects.filter(username=username,password=password)
ifuser:#登錄成功
#1,生成特殊字符串
#2,這個字符串當(dāng)成key,此key在數(shù)據(jù)庫的session表(在數(shù)據(jù)庫存中一個表名是session的表)中對應(yīng)一個value
#3,在響應(yīng)中,用cookies保存這個key,(即向?yàn)g覽器寫一個cookie,此cookies的值即是這個key特殊字符)
request.session['is_login']='1'#這個session是用于后面訪問每個頁面(即調(diào)用每個視圖函數(shù)時要用到,即判斷是否已經(jīng)登錄,用此判斷)
#說明:如果需要在頁面上顯示出來的用戶信息太多(有時還有積分,姓名,年齡等信息),所以我們可以只用session保存user_id
request.session['user_id']=user[0].id
returnJsonResponse("SUCCESS",safe=False)
returnJsonResponse("ERROR",safe=False)
else:
#如果是GET請求,就說明是用戶剛開始登錄,使用URL直接進(jìn)入登錄頁面的
returnrender(request,'login.html')權(quán)限管理當(dāng)酒店員工使用不同部門賬號時,后臺通過“request.session.get('user_id')”獲取session中的信息,并通過與數(shù)據(jù)庫中存儲的權(quán)限信息進(jìn)行比對后,返回相應(yīng)的頁面信息,頁面則自動跳轉(zhuǎn)到相應(yīng)部門的頁面。@check_login#登錄驗(yàn)證裝飾器,作用在于瀏覽管理系統(tǒng)是檢測是否已經(jīng)登錄
defmanager_view(request):#主管頁面主系統(tǒng)頁面
session=get_session(request.session.get('user_id'))
name=session[0].name
level=session[0].level
iflevel=='1':#返回主管界面
returnrender(request,'manager.html',{"name":name,"level":level})
eliflevel=='2':#返回前廳部界面
returnrender(request,'lobby/room.html',{"name":name,"level":level})
eliflevel=='3':#返回人事部界面
returnrender(request,'hr/dept.html',{"name":name,"level":level})退出登錄當(dāng)員工點(diǎn)擊退出登錄了,頁面發(fā)起ajax請求發(fā)送到后臺調(diào)用“l(fā)ogin_out”退出登錄,并清空服務(wù)端中的session,并返回200作為退出成功標(biāo)志,前端自動刷新頁面,此時又會觸發(fā)裝飾器并檢索服務(wù)器中的session,檢測是否登錄,以此實(shí)現(xiàn)退出登錄效果,核心代碼如下:deflogin_out(request):#退出登錄,清空服務(wù)端中的session
ifrequest.method=="POST":
request.session.flush()
returnJsonResponse({"status":200})主界面如圖3-4界面所示,系統(tǒng)主界面實(shí)現(xiàn)了實(shí)時數(shù)據(jù)監(jiān)控,對當(dāng)天客戶入住情況,房間預(yù)訂,散客開單,酒店?duì)I業(yè)數(shù)據(jù)展示在界面上,并在系統(tǒng)主界面的左邊放置導(dǎo)航欄,包括前廳管理、人事管理。圖3-4界面前廳部管理開發(fā)房間管理前廳專員可通過管理系統(tǒng)實(shí)時讀取到當(dāng)前酒店所剩余房間,同時跟新目前已經(jīng)使用房間,方便前廳專員對客戶的反饋,同時當(dāng)顧客開房入住的時候,可在系統(tǒng)頁面直接預(yù)訂開房。如圖3-5房間管理所示圖3-5房間管理核心代碼:defroom_list_state(request):#房間列表接口
try:
ifrequest.method=="POST":
datalist=[]
condition=request.POST.get('condition')
ifcondition=="1":
room_list=models.room.objects.filter(status="空房已清潔")
else:
room_list=models.room.objects.exclude(status="空房已清潔")
fordateinroom_list:
datalist.append({
"id":date.id,#房間id
"room_number":date.room_number,#客房編號
'category':date.category,#客房類別
'charge':date.charge,#客房收費(fèi)標(biāo)準(zhǔn)
'location':date.location,#客房位置
'status':date.status,#房間狀態(tài)
})
returnHttpResponse(json.dumps(datalist))
else:
returnHttpResponse(f'非法請求方式')
exceptExceptionase:
returnHttpResponse(e.args)房間預(yù)訂點(diǎn)擊預(yù)約房間后,會跳轉(zhuǎn)到房間頁面,前廳專員可通過系統(tǒng)錄入顧客信息并添加到當(dāng)晚入住房間列表中。同時信息錄入失敗或讀取錯誤,可刪除重新錄入。頁面展示如圖3-6添加顧客頁面所示圖3-6添加顧客頁面核心代碼:@csrf_exempt#增加裝飾器,作用是跳過csrf中間件的保護(hù)
defcustomer_post(request):#房間新增顧客入住
try:
ifrequest.method=="POST":
room_number=request.POST.get('room_number')
name=request.POST.get('name')
sex=request.POST.get('sex')
id_card=request.POST.get('id_card')
zz_type=request.POST.get('zz_type')
customer=models.customer(#顧客信息創(chuàng)建
name=name,sex=sex,id_card=id_card,
zz_type=zz_type,discount_rule_id=1,
member_level="青銅會員"
)
customer.save()#顧客信息保存
cust_id=models.customer.objects.get(id_card=id_card).id
room_id=models.room.objects.get(room_number=room_number).id
accommodation=models.accommodation(#訂單生成
cust_id=cust_id,
room_id=room_id,
start_time=datetime.datetime.now()
)
accommodation.save()
room_id_s=models.room.objects.get(room_number=room_number)
room_id_s.status='住房未清潔'
room_id_s.save()
ifmodels.reservation.objects.filter(room_id=room_id).count()!=0:
reservation=models.reservation.objects.get(room_id=room_id)
reservation.end_time=datetime.datetime.now()
reservation.save()
returnJsonResponse({'status':200})
else:
returnHttpResponse(f'非法請求方式')
exceptExceptionase:
returnHttpResponse(e.args)預(yù)約接待系統(tǒng)開設(shè)對外開放網(wǎng)頁提供網(wǎng)上預(yù)約服務(wù),提高營業(yè)額及酒店曝光率,并在前廳頁面接收預(yù)約信息,酒店將整晚預(yù)留該房間,顧客到酒店后再一并錄入入住相關(guān)信息到酒店系統(tǒng)中,辦理入住。如圖3-7預(yù)訂訂單所示。圖3-7預(yù)訂訂單人事部管理開發(fā)員工信息:系統(tǒng)頁面可顯示酒店所有員工基本信息,并可關(guān)注員工相關(guān)考勤以供月底工資結(jié)算。員工考勤:可直接直觀看到酒店管理系統(tǒng)所有員工當(dāng)月的大致考勤情況。
系統(tǒng)測試系統(tǒng)運(yùn)行環(huán)境要求:運(yùn)行環(huán)境:為滿足系統(tǒng)運(yùn)行需要,對于服務(wù)器部署的硬件設(shè)備及操作系統(tǒng)有一定要求,表4-1硬件要求為實(shí)現(xiàn)系統(tǒng)運(yùn)行對硬件要求的最低配置,建議使用當(dāng)前中等或以上計(jì)算機(jī)配置。表4-1硬件要求CPU要求在PⅢ以上內(nèi)存512MB及其以上硬盤20GB及其以上光驅(qū)無要求軟驅(qū)無要求顯示器1024*768(效果最佳)其他計(jì)算機(jī)設(shè)備網(wǎng)卡等聯(lián)網(wǎng)設(shè)備服務(wù)器要求:WindowsXP以上操作系統(tǒng),裝IE6.0以上版本的瀏覽器、IIS6.0以上版本信息管理器、MYSQL數(shù)據(jù)庫。開發(fā)環(huán)境:操作環(huán)境:WindowsXP開發(fā)工具:JetBrainsPyCharm2018.3.5數(shù)據(jù)庫:MySQL數(shù)據(jù)庫測試目的測試的目的確保項(xiàng)目在正式上線之前,找出項(xiàng)目中出現(xiàn)的BUG,并排除修復(fù)BUG,從而提高項(xiàng)目的質(zhì)量,盡可能的防止項(xiàng)目在正式上線之后出現(xiàn)重大錯誤,造成經(jīng)濟(jì)上的損失。測試方法程序測試的主要方法分為兩大類,白盒測試和黑盒測試。白盒測試:也稱透明盒測試或基于代碼的測試,白盒指的是透明化軟件項(xiàng)目的邏輯結(jié)構(gòu),對于其內(nèi)部的運(yùn)作流程都能清晰可見,并窮舉邏輯路徑。其工作量巨大且枯燥,但卻十分重要,它可以從代碼的角度去發(fā)現(xiàn)項(xiàng)目內(nèi)部源碼的算法、溢出、路徑、和條件等方面進(jìn)行排查錯誤,并加以修正。黑盒測試:也稱功能測試,黑盒指的是將測試模塊當(dāng)成不能打開的黑盒子,通過窮舉輸入的測試方式,驗(yàn)證程序的輸入輸出結(jié)果。測試人員可以在不需要知道源碼的情況下對系統(tǒng)的進(jìn)行測試,黑盒測試更偏重與項(xiàng)目功能的完善。兩種測試方法各有優(yōu)點(diǎn),在測試過程中兩種方法經(jīng)常交叉使用,本次測試工作中主要使用的是黑盒測試方法。功能測試本酒店管理系統(tǒng)主要測試功能:登錄驗(yàn)證、頁面跳轉(zhuǎn)、圖片信息顯示,房間預(yù)約功能、顧客添加功能等進(jìn)行測試。其目的在于檢驗(yàn)功能是否實(shí)現(xiàn),通過窮舉輸入測試檢驗(yàn)功能接口是否能正確接收輸入并返回正確的結(jié)果。從用戶的角度出發(fā)測試出每個功能在正常使用的情況下是否達(dá)到用戶預(yù)期的要求。如表4-2測試用例表所示。表4-2測試用例表測試編號操作預(yù)期結(jié)果實(shí)際結(jié)果1用戶使用三種不同權(quán)限的賬號進(jìn)行登錄驗(yàn)證登陸成功并跳轉(zhuǎn)到相應(yīng)權(quán)限的對應(yīng)的頁面測試成功,系統(tǒng)根據(jù)賬號權(quán)限不同跳轉(zhuǎn)至各自頁面2點(diǎn)擊左側(cè)導(dǎo)航欄進(jìn)行頁面跳轉(zhuǎn)頁面跳轉(zhuǎn)成功顯示頁面信息測試跳轉(zhuǎn)成功3通過網(wǎng)頁預(yù)訂房間系統(tǒng)對外開放頁面預(yù)約酒店房間并預(yù)約成功測試預(yù)約成功4酒店員工進(jìn)行顧客添加(由于沒有相關(guān)的讀取身份證自動添加人員信息設(shè)備,在頁面寫了個自動生成顧客數(shù)據(jù)的小按鈕,會在系統(tǒng)完成發(fā)布后刪除)酒店房間添加錄入顧客信息,并成功錄入房間當(dāng)晚的入住客戶列表中測試添加成功5實(shí)時房態(tài)頁面點(diǎn)擊房間進(jìn)行房間預(yù)約操作頁面跳轉(zhuǎn)到對應(yīng)的房間頁面并顯示對應(yīng)房間圖片、房間基本信息,跳轉(zhuǎn)成功,并顯示對應(yīng)房間圖片和基本信息6酒店員工通過搜索框輸入搜索信息查詢房間(如輸入:豪華)搜索“豪華”頁面模糊搜索到“豪華雙人間”、“豪華大床房”兩種房型列表測試成功7點(diǎn)擊顧客列表“刪除”按鈕,刪除顧客刪除成功,然后再重新錄入測試刪除成功8退出登錄退出系統(tǒng),并返回登錄界面返回成功9退出登錄前復(fù)制任意鏈接后退出,后進(jìn)行訪問之前復(fù)制的鏈接,以測試登錄是否真的退出退出系統(tǒng)后,不得訪問酒店管理系統(tǒng),并直接跳轉(zhuǎn)至登錄界面,進(jìn)行重新登錄測試成功,退出登錄不得繼續(xù)訪問管理系統(tǒng)任意頁面
結(jié)束語本系統(tǒng)遵循一般軟件的開發(fā)流程,即先通過網(wǎng)絡(luò)資源等各種途徑對酒店管理業(yè)務(wù)相關(guān)知識學(xué)習(xí),同時了解到國內(nèi)對酒店管理系統(tǒng)的軟件市場還有很多空間,并擬定用戶需求,對傳統(tǒng)的酒店管理系統(tǒng)進(jìn)行優(yōu)化,確定出需要完成的系統(tǒng)功能,并完成系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)、功能開發(fā)。同時對系統(tǒng)功能進(jìn)行測試。本系統(tǒng)開發(fā)框架使用后端采用基于Django框架結(jié)合BootStrap前端框架、javascript腳本編程、Ajax核心等先進(jìn)技術(shù),使用JetBrainsPyCharm2018.3.5開發(fā)工具進(jìn)行開發(fā),基本功能都已實(shí)現(xiàn),操作簡單、方便。但在性能上還潛在不足,比如Django框架的ORM雖然功能強(qiáng)大,但其底層依然是將編寫的方法重新轉(zhuǎn)為SQL進(jìn)行數(shù)據(jù)庫操作,這對系統(tǒng)的性能有所犧牲,這種缺陷在客流量大的情況下尤為明顯。幾個月的畢業(yè)設(shè)計(jì)時光,說長也不長,說短也不短,我遇到過不同的挫折與磨難,同時也在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年代理銷售合同協(xié)議簡單版(4篇)
- 2025年個人軟件合同樣本(2篇)
- 2025年九年級初三第二學(xué)期班主任工作小結(jié)模版(二篇)
- 2025年企業(yè)勞資專項(xiàng)法律服務(wù)合同經(jīng)典版(2篇)
- 2025年人教版二年級上語文教學(xué)工作總結(jié)模版(三篇)
- 2025年二手商鋪?zhàn)赓U合同標(biāo)準(zhǔn)版本(4篇)
- 2025年三方月嫂保姆合同(三篇)
- 辦公室基礎(chǔ)裝修合作協(xié)議
- 液態(tài)堿液罐車配送合同
- 古建筑修繕服務(wù)合同
- 四川省算力基礎(chǔ)設(shè)施高質(zhì)量發(fā)展行動方案(2024-2027年)
- 托育園老師培訓(xùn)
- 人教版八年級英語上冊Unit1-10完形填空閱讀理解專項(xiàng)訓(xùn)練
- 脊柱外科護(hù)理進(jìn)修心得
- 4.1中國特色社會主義進(jìn)入新時代+課件-2024-2025學(xué)年高中政治統(tǒng)編版必修一中國特色社會主義
- 護(hù)理工作中的人文關(guān)懷
- 完整液壓系統(tǒng)課件
- 生產(chǎn)制造工藝流程規(guī)范與作業(yè)指導(dǎo)書
- 班級建設(shè)方案中等職業(yè)學(xué)校班主任能力大賽
- T-TJSG 001-2024 天津市社會組織社會工作專業(yè)人員薪酬指導(dǎo)方案
- 芯片設(shè)計(jì)基礎(chǔ)知識題庫100道及答案(完整版)
評論
0/150
提交評論