網(wǎng)上房屋出租出售系統(tǒng)的設計與實現(xiàn)_第1頁
網(wǎng)上房屋出租出售系統(tǒng)的設計與實現(xiàn)_第2頁
網(wǎng)上房屋出租出售系統(tǒng)的設計與實現(xiàn)_第3頁
網(wǎng)上房屋出租出售系統(tǒng)的設計與實現(xiàn)_第4頁
網(wǎng)上房屋出租出售系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

網(wǎng)上房屋出租出售系統(tǒng)的設計與實現(xiàn)摘要隨著大城市的不斷壯大,本就居住在該城市中的人以及過來城市中工作人員也不斷增加,住房需求不斷升高,同時隨著經(jīng)濟的發(fā)展,房東的出租出售需求也與日俱增。而現(xiàn)在是一個互聯(lián)網(wǎng)的大時代,互聯(lián)網(wǎng)在不停發(fā)展,同時房東與房客對于出租出售的需求也在不斷增長。這時也便有了網(wǎng)上房屋出租出售系統(tǒng)。該系統(tǒng)很好的解決了以前傳統(tǒng)的地產(chǎn)業(yè)中介的某些弊端,例如覆蓋率不夠廣泛,由于之前大部分的信息轉遞是通過小廣告,或者在報紙上刊登等的方式。本網(wǎng)上房屋出租出售系統(tǒng)從用戶的角度可以分為兩個模塊,如管理員模塊,以及用戶模塊,管理員模塊主要負責審核用戶提交上來的需要出租或出售的房子,并進行選擇通過或者不通過。用戶模塊主要有登錄注冊、買房、租房、以及出租出售功能,同時可以管理自己的訂單,對加入到自己訂單中的訂單進行管理,可以刪除訂單,或者進行下單。該系統(tǒng)還有推薦房屋功能,給不同的用戶按其所需進行推薦房屋。本系統(tǒng)是遵循模塊化設計的,前端使用JSP頁面,后臺是使用JAVA作為開發(fā)語言,并使用SpringMVC、Spring、Mybatis框架進行搭建實現(xiàn)的,后臺數(shù)據(jù)庫采用了Mysql數(shù)據(jù)庫。關鍵詞:網(wǎng)上房屋,出租,出售,JAVA

AbstractAsthebigcitiescontinuetogrow,therearemoreandmorepeopleinthecityandmigrantworkers,housingdemandisrising,andwiththedevelopmentoftheeconomy,thelandlord'srentalandsalesdemandisalsoincreasing.NowisabigeraoftheInternet,theInternetisconstantlydeveloping,andthedemandforlandlordandtenantsforrentalsalesisalsogrowing.Atthistime,thereisalsoanonlinehouserentalsystem.Thesystemsolvessomeoftheshortcomingsofthetraditionalindustryagency,suchascoverageisnotwideenough,becausemostofthepreviousinformationtransferisthroughsmallads,orpublishedinnewspapers.Theonlinehouserentalandsalesystemcanbedividedintotwomodulesfromtheuser'spointofview,suchasanadministratormoduleandausermodule.Theadministratormoduleismainlyresponsibleforreviewingthehousessubmittedbytheuserforrentorsale,andmakingaselectionornot..Theusermodulemainlyhasthefunctionsofloginregistration,buyingahouse,rentingahouse,andrentingandselling.Atthesametime,itcanmanageitsownorders,managetheordersaddedtoitsownorders,deleteorders,orplaceorders.Thesystemalsohasarecommendedhousefunctiontorecommenddifferenthousestodifferentusers.Thesystemfollowsamodulardesign,thefrontendusesJSPpages,thebackgroundistouseJAVAasthedevelopmentlanguage,anduseSpringMVC,Spring,mybatisframeworktobuild,thebackgrounddatabaseusesMysqldatabase.Keywords:Onlinehouse,rent,sell,JAVA

目錄1 緒論 緒論題目背景及目的本題目為網(wǎng)上房屋出租出售系統(tǒng)的設計與實現(xiàn),背景為在當今這個互聯(lián)網(wǎng)的時代下,將傳統(tǒng)行業(yè)與互聯(lián)網(wǎng)聯(lián)系起來是必不可少的,傳統(tǒng)的線下房屋出租出售由于其信息傳播方式,如宣傳單、電話推銷或者朋友之間的推薦,其受眾都有很大的局限性,也有很大的地域的局限性。因此網(wǎng)上房屋出租出售系統(tǒng)也應運而生,其很好的解決了房屋信息傳播不夠廣泛的問題。如今,隨著互聯(lián)網(wǎng)的發(fā)展,國內的網(wǎng)民數(shù)量也達到了一個十分龐大的值,在國家最近進行的網(wǎng)民統(tǒng)查中,在這個統(tǒng)計中顯示,截止至2018年12月,我國網(wǎng)上沖浪人員已經(jīng)擁有8.29億了?;谶@個巨大的數(shù)量,基于互聯(lián)網(wǎng)的網(wǎng)上房屋出租出售系統(tǒng)便能更好地傳遞房屋信息。網(wǎng)上房屋出租出售系統(tǒng)是一個提供用戶進行出租出售房屋的平臺,同時用戶也可以在該網(wǎng)站上進行選擇自己所需要的房屋。本網(wǎng)上房屋出租出售系統(tǒng)是根據(jù)當前社會中用戶的需求進行需求分析,同時再觀看如今比較成熟的網(wǎng)上房屋網(wǎng)站是怎么設計的,如鏈家、安居客等的網(wǎng)站,根據(jù)這些網(wǎng)站再修改自己的設計并不斷的完善,使本網(wǎng)上房屋出租出售系統(tǒng)更加貼合社會的需要。國內外研究狀況如今國內外的網(wǎng)上房屋出租出售系統(tǒng)大多都是選擇B/S架構,即是基于網(wǎng)站進行開發(fā)與設計,這樣對用戶的友好度會更加的高,無論是在電腦端或者是手機端,當用戶想要使用時只要打開瀏覽器到相對應的網(wǎng)站,便可以根據(jù)其所需尋找自己所需要的房屋,對于新用戶的友好度會更加的高,而無需要下載相應的軟件,當然軟件端也擁有其特有的優(yōu)勢,對老用戶來說依存性會比較高,而某些操作也可以交到本地運行,而無需在服務器端上。而目前國內的比較成熟的網(wǎng)上房屋出租出售系統(tǒng)有如鏈家與安居客等的網(wǎng)站,而國外有airbnb以及繽客等的網(wǎng)站。而本系統(tǒng)的設計也是將會參考這些成熟網(wǎng)站的某些功能進行開發(fā)設計,使得本系統(tǒng)更加貼合當前社會的需要。而網(wǎng)站的樣式選擇,也會進行部分參考,然后再自己進行調整,設計出比較適合當前審美的網(wǎng)站,做到整體的風格是比較簡潔的,讓用戶看起來是比較舒服的,采用的色彩都是比較淺色調的,在例如價格等的才會采用亮色調,可以讓用戶第一眼就可以看見比較重要的信息,提高用戶的體驗感。論文構成及研究內容本論文先通過摘要以及第一章的緒論,即描述題目背景及目的和國內外研究情況先大致講訴當前網(wǎng)上出租出售系統(tǒng)的情況。而第二章為可行性分析,講述了本人設計的系統(tǒng)在當前的社會以及潮流下是否可行,并進行分析,同時也對本系統(tǒng)使用到的技術進行介紹。第三章是進行需求分析,對本系統(tǒng)所需要做的任務和需求進行大概的說明,同時描述了系統(tǒng)功能模塊的設計,并畫圖展示,也介紹了本系統(tǒng)的數(shù)據(jù)庫是如何設計的,表的結構與屬性。第四章則是詳細設計,將本系統(tǒng)的功能按照游客模塊、用戶模塊、管理員模塊進行描述是如何進行設計的。第五章則是系統(tǒng)測試,對本系統(tǒng)進行單元測試以及進行壓力測試。然后最后則是結論、參考文獻以及致謝。

可行性分析社會可行性如今國內人數(shù)十分之多,空閑的房源,以及需要住房的人更是數(shù)不勝數(shù)。從市場來說是十分需要一個網(wǎng)上出租出售系統(tǒng)提供用戶去銷售房子或者租賃房子。在大城市里,外來務工人員的人數(shù)不斷增多。同時生活節(jié)奏也在變快,人們接受信息的來源越來越依靠于網(wǎng)絡,人們在地鐵上或者公交上時大多都是在刷手機,而如果有住房需求的話在網(wǎng)上進行查看消息,比看身邊的小廣告來得更直接也快速,同時也能更好的對比房源,找到一個更適合自己的房間。雖然說在網(wǎng)上房間的信息很方便,但也因其便利性讓房間的虛假性便出現(xiàn)了問題,這時就必須要有一定的審核機制,要進行實地考察之類的。同時國家的法律法規(guī)對于網(wǎng)上的監(jiān)控性還仍不夠完善,但并不會過于影響網(wǎng)上出租出售系統(tǒng)的發(fā)展,畢竟這也是大境所需。便利和快捷總是這個快節(jié)奏的時代所必然需要的,問題是可以解決的,法律法規(guī)也是可以一步一步進行完善的。技術可行性 如今的系統(tǒng)一般有兩種架構,一般分為C/S架構,即桌面級應用,以及B/S架構,即基于瀏覽器的應用,便是常見的網(wǎng)站。本系統(tǒng)是基于B/S架構采用java語言開發(fā)的web網(wǎng)站,采用Spring、SpringMVC、Mybatis框架進行搭建的。前端頁面是使用jsp進行實現(xiàn)的,然后采用Bootstrap框架,并使用JavaScript與jQuery進行對頁面進行動態(tài)控制,或者發(fā)起請求,或者完成某些響應。由于采用的技術都是如今仍算流行的技術,從實現(xiàn)來說是沒有太大的問題,而系統(tǒng)的性能也是比較好的。而數(shù)據(jù)庫是選擇MySQL,基于MySQL的特性是十分適合中小企業(yè)的,而作為本系統(tǒng)的數(shù)據(jù)庫,毋庸置疑也是十分適合的。操作可行性本系統(tǒng)的研發(fā)和開發(fā)是充分從用戶的角度進行考慮的,是比較人性化的,用戶的體驗度會比較好,用戶界面友好,擁有一定的互聯(lián)網(wǎng)知識,便可以很快進行操作。同時也是根據(jù)用戶的需求進行制定系統(tǒng)的功能,也參考了如今比較流行成熟的網(wǎng)上出租出售系統(tǒng),學習這些網(wǎng)站的頁面排版以及功能,使本系統(tǒng)更加符合社會的需求。系統(tǒng)的技術介紹JavaScriptJavaScript是一種直譯式腳本語言[1],對web開發(fā)來說是一個不可或缺的一個技術,其的跨平臺性是十分好的。它是基于瀏覽器運行的,并不會受到不同語言開發(fā)的影響。其功能與作用十分多樣,主要是動態(tài)的修改網(wǎng)頁的效果,對例如點擊事件、聚焦事件等做出響應,還可以將數(shù)據(jù)提交到服務端進行校驗,或者做對應的處理。亦可以對cookies進行控制,根據(jù)函數(shù)進行對用戶存進cookies里的信息進行修改,或者是創(chuàng)建新的信息存進cookies里。JavaScript也是一種十分簡單的語言,其里面采用的都是弱類型的變量類型,都是采用var來定義,并不會有許多的具體類型來定義,如整型、浮點型、字符型、布爾類型等。JavaScript也是以中跨平臺的語言,無論是使用什么樣的系統(tǒng),都可以使用JavaScript,因為它是在瀏覽器中運行的,只要所使用的瀏覽器支持JavaScript便可。JavaScript是一種基于對象的語言,其類似于java也是一樣可以創(chuàng)建對象以及對已經(jīng)存在的對象進行修改,但這只是部分相似,大體還是有許多不一樣,不止是從語言的設計來說還是從所屬的公司等等。而一個完整的JavaScript實現(xiàn)是由三個部分組成的:核心(ECMAScript)、文檔對象模型(DOM)、瀏覽器對象模型(BOM)[2]。jQueryjQuery是一個JavaScript庫,也是JavaScript在世界中使用最廣泛的一個庫,它簡化了人們使用JavaScript進行編程[3]。同時它也優(yōu)化了對事件的處理、還有使用Ajax的交互等。jQuery是一個輕量級的“寫的少,做的多”的JavaScript庫[3],其設置宗旨就是簡化人們的操作,同時消除瀏覽器的差異,再也不需要寫冗長的代碼來針對不同瀏覽器來綁定事件以及編寫Ajax等。也可以更加簡潔的操作DOM方法,也可以更加方便的修改CSS。jQuery庫包含以下等功能:CSS操作、HTML元素選取、HTML元素操作、HTM事件函數(shù)、JavaScript特效和動畫、HTMLDOM遍歷和修改、AJAX、Utilities。BootstrapBootstrap是由美國公司Twitter進行研發(fā)和設計的一個前端開發(fā)框架,其是基于HTML、CSS、JAVASCRIPT的,十分簡潔,讓web開發(fā)人員能更快更方便的進行開發(fā)。Bootsrap擁有十分多的的web組件,如對CSS樣式中有網(wǎng)格系統(tǒng)、排版、表格、表單、按鈕、圖片等。而在布局組件中可以提供了下拉菜單、導航欄、分頁、標簽、警告、進度條。同時也提供JavaScript插件,如模擬態(tài)、滾動監(jiān)聽、彈出框、警告框、輪播等。MySQLMySQL是一個關系型數(shù)據(jù)庫管理系統(tǒng),也是目前最流行的其中一個[4]。MySQL數(shù)據(jù)庫是按照數(shù)據(jù)結構來來管理數(shù)據(jù)的,通過不同的API來進行管理數(shù)據(jù)[5]。MySQL是多線程的,能十分有效的利用資源。它不僅能作為一個單獨的軟件進行運行同時可以作為一個庫加入到其他的軟件中。InnoDB事務型數(shù)據(jù)庫的首選引擎,支持ACID事務,支持行級鎖定[6]。SSMSSM是Spring、SpringMVC、Mybatis的簡稱,是如今最流行的WEB框架之一[7]。Spring有兩個重大的特性,IOC和AOP,IOC為控制反轉,AOP為面向切面編程??刂品崔D中有兩個十分重要的,依賴注入,以及控制反轉,通過這兩個特性,將對象的管理交給了Spring通過注解進行先定義,就無需通過new自己創(chuàng)建一個對象。而面向切面編程可以讓技術人員更加簡潔便利的進行編程,可以把共有功能抽取出來,使用在不同的業(yè)務中。需要設置切入面和切入點,然后通過通知進行實現(xiàn)。通知可以分為五種,如:前置通知(Before)、后置通知(AfterReturning)、異常通知(AfterThrowing)、最終通知(After)和環(huán)繞通知(Around)[7]。SpringMVC是屬于SpringFrameWork的一個產(chǎn)品,其大致可分為Model、View、Controller,即為模型、視圖、控制器[8]。其原理是通過DispatcherServlet即前端控制器攔截請求,然后再轉發(fā)到對應的Controller中,其中其是通過@Controller這一個注解進行將某個類設置為controller,然后通過@RequestMapping這一個注解設置value,然后通過匹配url來將請求轉發(fā)到controller里的具體的一個方法,而可以通過配置xml文件將返回值為String類型的直接進行跳轉到某個所對應的jsp文件中。在此注解中可以通過定義method來定義此方法是get、post、update、delete中的一個。MyBatis是apache旗下的一個開源項目,此框架的主要目的是與數(shù)據(jù)庫進行打交道[9]。進行配置后,可以通過接口調用xml中的sql語句,這樣便可以將sql語句從java類中分離出來,只是存在于xml文件中。而通過創(chuàng)建一個bean,其屬性與數(shù)據(jù)庫中表的字段相同,便可以將返回值直接進行賦值給這個bean,這大大提高了開發(fā)人員的開發(fā)速度。協(xié)同過濾算法協(xié)同過濾算法一般可以分為三種。第一種是基于用戶(user-based)的協(xié)同過濾,第二種是基于項目(item-based)的協(xié)同過濾,第三種是基于模型(modelbased)的協(xié)同過濾[10]?;谟脩?user-based)的協(xié)同過濾是尋找用戶與用戶之間的相似度,用相似統(tǒng)計的方法得到具有相似愛好的用戶,并通過搜索目標用戶的最近鄰居,根據(jù)最近鄰居來對目標用戶進行推薦[10]??梢酝ㄟ^收集用戶信息,如對某個物品的打分評價、瀏覽記錄或者是購買記錄等來進行分析。然后依據(jù)用戶對物品的評價計算得到所有用戶的相似度,選出與當前用戶最相似的n個用戶,再將這n個用戶評價最高的且當前用戶還沒有瀏覽過的物品推薦給當前的用戶。基于項目(item-based)的協(xié)同過濾是尋找物品和物品之間的相似度,其原理與基于用戶的協(xié)同過濾類似,但計算相似度時不是從用戶的角度,而是從物品的角度,基于用戶對物品的偏好找到相似的物品,然后再將評分最高的若干個相似物品推薦給目標用戶[10]。比如在某些網(wǎng)上書城買書時,當用戶曾經(jīng)買過關于數(shù)據(jù)挖掘的書,就會推薦給用戶有關數(shù)據(jù)挖掘、大數(shù)據(jù)等的相關書籍?;谀P偷膮f(xié)同過濾,其相關算法有十分之多,而如今比較流行的算法大致為:關聯(lián)算法、聚類算法、分類算法、回歸算法、矩陣分解、神經(jīng)網(wǎng)絡、圖模型以及隱語義模型[10]。系統(tǒng)開發(fā)平臺及運行環(huán)境使用語言:Java、Javascript、HTML、CSS數(shù)據(jù)庫:MySQL5.7開發(fā)工具:IntelliJIDEA開發(fā)平臺:Windows10輔助工具:NavicatPremium12、Notepad++開發(fā)框架:Spring,SpringMVC,Mybatis應用服務器:Tomcat9.0客戶端瀏覽器:谷歌、Safari、Microsoftedge等的主流瀏覽器壓力測試軟件:ApacheJmeter

需求分析與概要設計任務概述本次的任務是設計一個網(wǎng)上出租出售系統(tǒng),能夠展示出租出售的房子給用戶看。從用戶的角度來說,可分為三個模塊。游客可以對房子進行分頁查看,但不可以點擊房間名字從而跳轉到詳情頁,會先直接跳轉到登錄頁面,要先進行登錄后才可以對房子信息進行詳情查看。在游客的情況下導航欄僅提供首頁、租房、買房、登錄、注冊。用戶登錄后會跳轉到用戶模塊,在首頁可以通過房屋名字進行模糊查詢,同時還有推薦系統(tǒng),利用基于用戶的協(xié)同過濾算法,推薦給當前用戶最適合的房子。此時用戶可以通過拖動或者點擊下一個可以查看其他推薦的房子。此時也可以通過點擊房子名字到房屋的詳情頁,房屋的詳情頁提供房屋的具體信息,同時也有出租出售人的某些信息,如姓名、郵箱、電話號碼等。此時在房屋詳情頁時多了加入訂單,和立即下單按鈕。點擊加入訂單按鈕,將會將房屋加入到我的訂單中,在導航欄中我的訂單可以查看相關的信息,并可以管理操作,進行刪除,或者是下單。點擊下單會跳轉到支付頁面。在導航欄中也多了我要出租與我要出售,這兩個功能是提供給用戶可以出租出售自己的房子,通過填寫相關的房屋信息,再點擊提交,便可以提交房屋信息,等待管理員的審核。管理員登錄后,導航欄會多一個審核房屋信息,在此中可以查看用戶提交上來的房屋信息,進行選擇通過還是不通過審核。通過審核后,用戶便可以在瀏覽房屋頁面看到相對應的房屋。本系統(tǒng)的頁面都是風格統(tǒng)一,比較簡潔的。需求規(guī)定游客能使用的功能如表3.2-1所示。表STYLEREF1\s3.SEQ表\*ARABIC\s11游客功能表編號功能名稱使用者功能概述1登錄游客根據(jù)賬號名和密碼進行登錄2注冊游客填寫賬號密碼郵箱進行注冊3租房查看游客分頁查看出租房的信息4買房查看游客分頁查看出售房的信息5房屋搜索游客根據(jù)房屋名進行模糊查詢6房屋推薦游客推薦用戶喜歡的房屋用戶能使用的功能如表3.2-2所示。表STYLEREF1\s3.SEQ表\*ARABIC\s12用戶功能表編號功能名稱使用者功能概述1注銷用戶注銷當前保留在session中的用戶信息2租房查看用戶分頁查看出租房的信息3買房查看用戶分頁查看出售房的信息4房屋搜索用戶根據(jù)房屋名進行模糊查詢5房屋推薦用戶推薦用戶喜歡的房屋6房屋出租用戶填寫出租房屋信息并提交7房屋出售用戶填寫出售房屋信息并提交8個人信息管理用戶可以修改個人的信息如頭像和電話等9我的訂單用戶管理個人的訂單信息10立即下單用戶進行下單并跳轉到支付頁面管理員能使用的功能如表3.2-3所示。表STYLEREF1\s3.SEQ表\*ARABIC\s13管理員功能表編號功能名稱使用者功能概述1注銷管理員注銷當前保留在session中的用戶信息2審核房屋管理員審核用戶提交上來的房屋選擇是否通過3租房查看管理員分頁查看出租房的信息4買房查看管理員分頁查看出售房的信息5房屋搜索管理員根據(jù)房屋名進行模糊查詢6房屋推薦管理員推薦用戶喜歡的房屋7個人信息管理管理員可以修改個人的信息如頭像和電話等系統(tǒng)功能模塊設計本系統(tǒng)總體的功能模塊設計如圖3.3-1所示,總體可以分為三個模塊。用戶模塊的功能大概為:用戶注銷、房屋查看、房屋搜索、房屋出租、房屋出售、我的訂單、房屋推薦、立即下單、個人信息管理。游客模塊的功能大概為:用戶登錄、用戶注冊、房屋查看、房屋搜索、房屋推薦。管理員模塊的功能大概為:用戶注銷、審核房屋信息、房屋查看、房屋搜索、個人信息管理。用戶與游客與管理員的功能有相交的也有不同的,其中的功能是通過對其權限進行控制,即是在數(shù)據(jù)庫中的用戶表里的某個字段state進行區(qū)分是user還是admin,游客即是在session中沒有相對應的信息。在編碼的時候,后端需要根據(jù)模塊,每一層每一層的代碼區(qū)分好,易讀性高。前端可共用界面、腳本抽取出來、分好包。圖STYLEREF1\s3.SEQ圖\*ARABIC\s11系統(tǒng)的總體功能模塊數(shù)據(jù)庫設計數(shù)據(jù)庫表物理模型用戶表的主鍵與屬性圖STYLEREF1\s3.SEQ圖\*ARABIC\s12用戶表(user)房屋表的主鍵與屬性圖STYLEREF1\s3.SEQ圖\*ARABIC\s13房屋表(house)訂單表的主鍵與屬性圖STYLEREF1\s3.SEQ圖\*ARABIC\s14訂單表(orderform)審核房屋信息表的主鍵與屬性圖STYLEREF1\s3.SEQ圖\*ARABIC\s15審核房屋表(identification)瀏覽房屋信息表的主鍵與屬性圖STYLEREF1\s3.SEQ圖\*ARABIC\s16瀏覽表(browse)數(shù)據(jù)庫表設計這是主要數(shù)據(jù)表的基本信息的基本定義。用戶表user表存儲了用戶的基本信息,用戶通過校驗account與password進行登錄,然后根據(jù)state的不同來進行權限控制。當state為user時,即當前用戶是以用戶的角色登錄,當state為admin時,即當前用戶時以管理員權限登錄,會擁有管理員的權限。user_id為用戶表的主鍵,而具體信息如表3.4-1所示。表STYLEREF1\s3.SEQ表\*ARABIC\s14user用戶表屬性名數(shù)據(jù)類型長度是否可為空備注user_idint11否用戶主鍵,自動增長accountvarchar50否用戶賬號passwordvarchar50否用戶密碼emailvarchar50否用戶郵箱namevarchar50是用戶名字phonevarchar50是用戶電話statevarchar50是用戶屬性picturevarchar50是用戶頭像圖片房屋表house房屋表存儲了房屋的基本信息,此表是需要在審核表中的房屋通過審核后才會新增到house房屋表中,house_id為房屋表的主鍵,而具體信息如表3.4-2所示。表STYLEREF1\s3.SEQ表\*ARABIC\s15house房屋表屬性名數(shù)據(jù)類型長度是否可為空備注house_idint11否房屋主鍵,自動增長stylevarchar50是房屋風格addressvarchar50是房屋地址areaint11是房屋roomvarchar50是幾房幾廳moneyint11是房屋owner_idint11是房屋所屬人roomer_idint11是房客statetinyint4是0普通狀態(tài)1出售2出租picturevarchar50是房屋圖片namevarchar50是房間名introductionvarchar255是房屋簡介訂單表orderform訂單表存儲了訂單的基本信息,此表是保留用戶將房屋加入訂單時的信息。order_id為訂單表主鍵,而具體信息如表3.4-3所示。表STYLEREF1\s3.SEQ表\*ARABIC\s16orderform訂單表屬性名數(shù)據(jù)類型長度是否可為空備注order_idint11否訂單主鍵,自動增長create_timetimestamp50否訂單創(chuàng)建時間house_idint11否房屋iduser_idint11否用戶idstatetinyint4是0訂單狀態(tài)1下單狀態(tài)2取消狀態(tài)審核房屋信息表identification審核房屋信息表存儲了需要審核的房屋的基本信息,此表是保留用戶提交上給管理員審核的房屋信息,只有管理員擁有權限去對此表進行修改。identi_id為審核房屋信息表的主鍵,而具體信息如表3.4-4所示。表STYLEREF1\s3.SEQ表\*ARABIC\s17identification審核房屋信息表屬性名數(shù)據(jù)類型長度是否可為空備注identi_idint11否審核的房屋主鍵,自動增長stylevarchar50是房屋風格addressvarchar50是房屋地址areaint11是房屋roomvarchar50是幾房幾廳moneyint11是房屋owner_idint11是房屋所屬人roomer_idint11是房客statetinyint4是0普通狀態(tài)1出售2出租picturevarchar50是房屋圖片namevarchar50是房間名introductionvarchar255是房屋簡介瀏覽表browse瀏覽表存儲了用戶瀏覽記錄的基本信息,如保留瀏覽的房屋id以及當前用戶的id,當每點擊一次房屋詳情頁時,都會觸發(fā)新插入一條數(shù)據(jù)進瀏覽表中。browse_id為瀏覽表的主鍵,而具體信息如表3.4-5所示。表STYLEREF1\s3.SEQ表\*ARABIC\s18browse瀏覽表屬性名數(shù)據(jù)類型長度是否可為空備注browse_idint11否訂單主鍵,自動增長house_idint11是房屋iduser_idint11是用戶id

詳細設計功能模塊用戶功能模塊用戶進行登錄之后才會進入用戶模塊,而在登錄之后會進行校驗,若是用戶則會進入用戶模塊,若是管理員則會進入管理員模塊。用戶功能模塊如圖4.1-1所示。用戶功能模塊與游客模塊是十分相似的,但在登錄之后才可以查看房屋的詳細信息,以及對自己的訂單管理,以及在個人信息管理里修改自己的個人信息。圖STYLEREF1\s4.SEQ圖\*ARABIC\s11用戶功能模塊圖游客功能模塊當用戶尚未登錄就直接訪問本系統(tǒng)時,將默認進入游客模塊,游客模塊的功能對比用戶模塊比較簡單,只要是為了提供給用戶進行登錄和注冊,和簡單的房屋查看和搜索,這是為了引起用戶的興趣從而進行駐車登錄,通過觀看到喜歡的房屋,點擊后會跳轉到登錄頁面,而新用戶就必須先注冊。游客功能模塊如圖4.1-2所示。圖STYLEREF1\s4.SEQ圖\*ARABIC\s12游客功能模塊圖管理員功能模塊當用戶登錄時,系統(tǒng)校驗完畢后,發(fā)現(xiàn)賬號是管理員后,系統(tǒng)將會進入到管理員模塊。管理員模塊最重要的是審核房屋信息模塊,在此模塊需要進行審核房屋信息,只有通過管理員審核后,房屋才會展示給用戶看。管理員功能模塊如圖4.1-3所示。圖STYLEREF1\s4.SEQ圖\*ARABIC\s13管理員功能模塊圖游客模塊由于游客模塊的部分功能與用戶模塊是相交的,因此在此模塊注重講解用戶登錄和注冊功能,其他功能將于用戶模塊一起展示。用戶登錄功能簡述用戶使用此功能進行登錄,為了使用戶體驗更佳,使用Ajax異步提交請求,然后將數(shù)據(jù)提交到后臺進行校驗,校驗在數(shù)據(jù)庫中是否有該用戶,以及對應的用戶賬號密碼是否一致,若一致的話跳轉到系統(tǒng)的首頁,并將用戶信息存入session中,若不一致,則彈窗提示賬號密碼錯誤。登錄頁面還提供記住用戶名復選框,當選中該復選框再進行登錄時,會將該用戶的用戶名寫入cookie中,當用戶再次點開登錄頁面時會將用戶名進行回顯。在此頁面的右下角還有一個跳轉到注冊頁面的超鏈接,只要點擊未有賬號,去注冊這一個超鏈接,便可直接跳轉到注冊頁面去進行注冊。執(zhí)行步驟用戶輸入賬號密碼,點擊登錄,提交數(shù)據(jù)。點擊按鈕時觸發(fā)js方法,以Ajax的方式提交數(shù)據(jù)到后臺的UserController中,在此方法中再調用checkUser方法校驗用戶的賬號密碼,若數(shù)據(jù)庫中有該用戶且密碼是對的,則在map集合中添加一個數(shù)據(jù)為result為success,若不對則設置會fail,并將map結果返回給前臺。前臺的js根據(jù)返回的結果進行做出相對的響應,若為success,則跳轉到首頁,并將用戶信息存入session中,否則彈窗提醒用戶賬號密碼錯誤。頁面截圖登錄頁面的url是采用Restful的風格進行設置,如圖4.2-1所示。圖STYLEREF1\s4.SEQ圖\*ARABIC\s14登錄的url登錄頁面的輸入情況如圖4.2-2所示,賬號會進行顯示,而密碼默認是不顯示的。圖STYLEREF1\s4.SEQ圖\*ARABIC\s15登錄頁面在點擊密碼框后的眼睛,即密碼可視后,將會看見自己輸入的密碼,以防用戶輸錯。圖STYLEREF1\s4.SEQ圖\*ARABIC\s16登錄密碼框點擊記住用戶名之后的情況。圖STYLEREF1\s4.SEQ圖\*ARABIC\s17記住用戶名圖STYLEREF1\s4.SEQ圖\*ARABIC\s18用戶名回顯圖STYLEREF1\s4.SEQ圖\*ARABIC\s19用戶名在cookie中的情況用戶注冊功能簡述用戶使用此功能進行注冊,此功能也是使用Ajax進行異步提交請求的。用戶進行填寫用戶的賬號、郵箱、密碼進行注冊。在輸入賬號后,當焦點離開賬號輸入框后,將會進行校驗,賬號在用戶表中是否存在,若存在則提醒該用戶名不可用,若不存在則提醒該用戶名可用。輸入完信后,點擊注冊用戶便可以注冊用戶。執(zhí)行步驟用戶輸入注冊的賬號,將會進行Ajax提交賬號名到后臺,然后再進行校驗,返回數(shù)據(jù)到前臺。前臺根據(jù)返回的數(shù)據(jù)提醒用戶該用戶名是否可用。用戶填完相關數(shù)據(jù)后進行異步提交請求,后臺再返回數(shù)據(jù)到前臺是否注冊成功。前臺根據(jù)返回的數(shù)據(jù)判斷,若成功則提示注冊成功并跳轉到登錄頁面,否則彈窗提示注冊失敗。頁面截圖圖STYLEREF1\s4.SEQ圖\*ARABIC\s110用戶名不可用圖STYLEREF1\s4.SEQ圖\*ARABIC\s111用戶名可用圖STYLEREF1\s4.SEQ圖\*ARABIC\s112注冊成功后用戶模塊用戶注銷功能簡述本功能是提供給用戶進行注銷掉session中的用戶信息的,當點擊注銷時,將會清除保留在session中的用戶信息。執(zhí)行步驟點擊注銷按鈕觸發(fā)js函數(shù),提交請求到后臺。后臺對session進行操作,然后再跳轉到首頁。頁面截圖圖STYLEREF1\s4.SEQ圖\*ARABIC\s113注銷前圖STYLEREF1\s4.SEQ圖\*ARABIC\s114注銷后房屋查看功能簡述本功能是提供給用戶進行分頁查看房屋信息,在導航欄中有兩個選項進行查看房屋信息,點擊租房時查看租房信息,點擊買房是觀看買房的信息。然后通過點擊房屋的名字,跳轉到房屋詳情頁,房屋詳情頁將會展示房屋的具體信息,以及房屋擁有者的信息。用戶可以通過在詳情頁點擊加入訂單或下單,或者直接觀看房屋擁有著的信息,進行電話郵箱聯(lián)系。執(zhí)行步驟用戶點擊租房或買房按鈕,提交請求到后臺。后臺利用分頁返回相對應的頁面。點擊房屋的名字,將會跳轉到相對應的房屋詳情頁。頁面截圖圖STYLEREF1\s4.SEQ圖\*ARABIC\s115分頁查看買房圖STYLEREF1\s4.SEQ圖\*ARABIC\s116分頁查看租房圖STYLEREF1\s4.SEQ圖\*ARABIC\s117房屋基本信息詳情頁圖STYLEREF1\s4.SEQ圖\*ARABIC\s118房屋簡介與擁有者信息房屋搜索功能簡述此功能是提供給用戶對自己需要的房屋進行搜索,這是房屋名字的模糊搜索,同時選擇相對應的復選框,買房還是租房來區(qū)分不同的房屋,在輸入框設置了提醒,提醒用戶是輸入自己需要的房屋名字。執(zhí)行步驟用戶輸入數(shù)據(jù),選擇買房或租房,再點擊搜索,通過Ajax提交數(shù)據(jù)到后臺。后臺處理完后再進行封裝數(shù)據(jù),并返回相對應的頁面頁面截圖圖STYLEREF1\s4.SEQ圖\*ARABIC\s119帶有提示的搜索圖STYLEREF1\s4.SEQ圖\*ARABIC\s120輸入金之后的搜索框圖STYLEREF1\s4.SEQ圖\*ARABIC\s121搜索的結果展示房屋出租出售功能簡述此功能是提供給用戶進行上傳自己的房屋信息,有兩個按鈕可以選擇,出租或者出售,這兩者之間的不同是輸入的金額不同,一個是元/月,一個是萬元。上傳房屋圖片時,后臺會利用uuid重新命名圖片的名字,再存儲在upload目錄下。使用uuid是防止用戶上傳時產(chǎn)生重名,從而進行文件覆蓋的問題。上傳完畢后會將新的圖片名字賦值給隱藏的輸入框picture,然后再保留在數(shù)據(jù)庫中。用戶輸入完房屋信息后便可以提交,會先提交到管理員的審核表里面,通過審核后才會在房屋查看里展示。執(zhí)行步驟用戶上傳房屋圖片,點擊上傳圖片后,通過Ajax異步提交圖片并保存,然后回顯新的圖片名字給隱藏的輸入框picture。輸入完相關信息,點擊提交后,會將數(shù)據(jù)提交給后臺。后臺返回數(shù)據(jù)給前端。若提交成功則會提示用戶提交房屋信息成功,并跳轉到首頁,若失敗則會在控制臺打印錯誤信息。頁面截圖圖STYLEREF1\s4.SEQ圖\*ARABIC\s122房屋出售圖STYLEREF1\s4.SEQ圖\*ARABIC\s123房屋出租圖STYLEREF1\s4.SEQ圖\*ARABIC\s124房屋圖片上傳成功后進行回顯房屋推薦功能簡述本功能是使用基于用戶的協(xié)同過濾算法進行房屋推薦,每個用戶只進行推薦四個房屋。點擊左右箭頭可以進行展示上一個房屋或下一個房屋。此算法是通過Jaccard公式計算相似度,如圖4.3-14所示,當前目標用戶是用戶C,通過計算找出預期相似度最高的是用戶A,此時將推薦用戶A中有的物品,而用戶C沒有的,即推薦物品C。在本系統(tǒng)中是將推薦的房屋封裝起來存進List里面,然后再將數(shù)據(jù)返回到前臺進行展示。圖STYLEREF1\s4.SEQ圖\*ARABIC\s125推薦算法基于用戶的協(xié)同過濾執(zhí)行步驟先判斷當前是否是用戶已經(jīng)登錄的狀態(tài),或者瀏覽表中是否存在這當前用戶的信息,若不存在,則是冷啟動問題,此時直接將評分較高的房屋直接推薦給用戶。若用戶已經(jīng)登錄,則根據(jù)瀏覽表中的數(shù)據(jù),進行調用函數(shù)計算,計算出相似度最高的一個,并將其作為參考。根據(jù)參考的樣本,將本用戶還沒查看過而存在在參考中的房屋數(shù)據(jù),封裝到List中,再首頁進行展示給用戶查看。頁面截圖圖STYLEREF1\s4.SEQ圖\*ARABIC\s126為你精選的房屋我的訂單功能簡述這個功能是負責展示用戶自己的訂單情況,用戶在詳情頁點擊下加入訂單即可添加到我的訂單進行管理。在此頁面可以對訂單進行管理,點擊刪除將會刪除該訂單,點擊下單則會跳轉到支付頁面,在支付整個流程結束后將會改訂單給刪除。執(zhí)行步驟點擊加入訂單,加入我的訂單進行管理。在我的訂單頁面點擊下單,進入支付流程。支付流程結束后,將會跳轉回系統(tǒng)首頁。頁面截圖圖STYLEREF1\s4.SEQ圖\*ARABIC\s127在房屋詳情頁點擊加入訂單圖STYLEREF1\s4.SEQ圖\*ARABIC\s128我的訂單展示圖STYLEREF1\s4.SEQ圖\*ARABIC\s129展示房屋支付信息圖STYLEREF1\s4.SEQ圖\*ARABIC\s130讓用戶選擇支付方式個人信息管理功能簡述用戶可以根據(jù)自己的想法任意編輯自己的所屬信息,如用戶姓名、電話郵箱和密碼等。同時也可以修改用戶的個人頭像,點擊上傳頭像后即可上傳頭像,并且在頁面進行回顯,可以看到自己的頭像在實際頁面上的情況。點擊修改按鈕后將會彈窗提示用戶修改成功,然后將會再次加載個人信息管理頁面,用戶可以在此看到自己最新的個人信息。頁面截圖圖STYLEREF1\s4.SEQ圖\*ARABIC\s131個人信息管理頁面圖STYLEREF1\s4.SEQ圖\*ARABIC\s132修改成功后進行彈窗提示圖STYLEREF1\s4.SEQ圖\*ARABIC\s133個人信息修改成功后進行回顯管理員模塊由于管理員部分的功能與用戶的是重疊的,因此已經(jīng)在用戶模塊描述過,因此在管理員模塊將會將重心都放在描述審核房屋信息功能。審核房屋信息功能描述這是擁有管理員權限才有的功能,管理員在此功能下可以進行審核用戶提交上來的出租出售房屋,點擊進詳情頁后查看房屋的詳細信息后,選擇是否通過。只有在房屋通過管理員的審核后,才可以在房屋展示功能下展示給用戶看。頁面的截圖圖STYLEREF1\s4.SEQ圖\*ARABIC\s134審核房屋信息的顯示圖STYLEREF1\s4.SEQ圖\*ARABIC\s135審核房屋信息的詳情頁系統(tǒng)測試單元測試單元測試是為了提早發(fā)現(xiàn)問題,因此本系統(tǒng),主要是對dao層的代碼進行測試,以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論