(附源码)python房屋租赁管理系统 毕业设计 745613
房屋租賃管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
摘?要
2l世紀(jì),隨看全球經(jīng)濟(jì)的逢勃發(fā)展,眾多經(jīng)濟(jì)字豕紛紛提出了新的官埋理念——信息管理,強(qiáng)調(diào)了用信息支持決策,隨著社會(huì)的發(fā)展,人們又提出了一個(gè)新的名詞——管理信息系統(tǒng)。管理信息系統(tǒng)在強(qiáng)調(diào)信息的現(xiàn)代社會(huì)中變的越來(lái)越普及,它是一個(gè)利用計(jì)算機(jī)軟硬件資源來(lái)管理數(shù)據(jù)的人機(jī)系統(tǒng)。現(xiàn)今時(shí)代房屋是人類生活棲息的重要場(chǎng)所,城市中的大量的流動(dòng)人口隨著日益升溫的房屋出租產(chǎn)業(yè)注入了無(wú)限的發(fā)展空間。但在房屋管理上存在著大量的缺陷,如繁重的數(shù)據(jù)流量,復(fù)雜的合同管理,以及繁多的報(bào)表等等。為了跟上社會(huì)的發(fā)展,為此,在考查了社會(huì)現(xiàn)狀和對(duì)現(xiàn)有人員的分析之后,提出了我們的課題—基于Django框架的房屋租賃管理系統(tǒng)。我們的房屋租賃管理系統(tǒng)就在此市場(chǎng)環(huán)境下孕育而生。
房屋租賃管理系統(tǒng)主要針對(duì)房屋租賃業(yè)務(wù)的應(yīng)用特點(diǎn),涉及出租房屋信息管理、租客管理、租賃合同管理、預(yù)約看房以及退房登記管理的全面管理系統(tǒng)。本設(shè)計(jì)主要實(shí)現(xiàn)集人性化、高效率、便捷等優(yōu)點(diǎn)于一身的房屋租賃網(wǎng)站,完成房屋推薦、房屋資訊、租客信息、房屋租賃、退房登記、合同等功能模塊。系統(tǒng)通過(guò)瀏覽器與服務(wù)器進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)的交互與變更。只需通過(guò)一臺(tái)電腦,動(dòng)動(dòng)手指就可以操作系統(tǒng),實(shí)現(xiàn)數(shù)據(jù)通信管理。整個(gè)系統(tǒng)的設(shè)計(jì)過(guò)程都充分考慮了數(shù)據(jù)的安全、穩(wěn)定及可靠等問(wèn)題,而且操作過(guò)程簡(jiǎn)單。本系統(tǒng)通過(guò)科學(xué)的管理方式、便捷的服務(wù)提高了工作效率,減少了數(shù)據(jù)存儲(chǔ)上的錯(cuò)誤和遺漏。
關(guān)鍵詞:房屋租賃;Django框架;關(guān)系型數(shù)據(jù)庫(kù)
Design and implementation of house rental management system
Abstract
In the 21st century, with the rapid development of the global economy, many economic words have put forward a new concept of official burial - information management, emphasizing the use of information to support decision-making. With the development of society, people have put forward a new term - management information system. Management information system is becoming more and more popular in the modern society that emphasizes information. It is a man-machine system that uses computer software and hardware resources to manage data. Nowadays, housing is an important place for human life. A large number of floating population in the city have injected unlimited development space with the increasingly warming housing rental industry. However, there are a lot of defects in housing management, such as heavy data flow, complex contract management, and a variety of reports and so on. In order to keep up with the development of society, after examining the current social situation and analyzing the existing personnel, we put forward our subject - house rental management system based on Django. Our house rental management system was born in this market environment.
The house lease management system is mainly aimed at the application characteristics of house lease business, and involves a comprehensive management system of rental house information management, tenant management, lease contract management, appointment viewing and check-out registration management. This design mainly realizes the house leasing website with the advantages of humanization, high efficiency and convenience, and completes the functional modules of house recommendation, house information, tenant information, house leasing, check-out registration, contract and so on. The system communicates with the server through the browser to realize data interaction and change. You can operate the system and realize data communication management by moving your fingers through a computer. The safety, stability and reliability of data are fully considered in the design process of the whole system, and the operation process is simple. Through scientific management and convenient service, the system improves work efficiency and reduces errors and omissions in data storage.
Key words:lease of houses;Djangoframework;Relational database
目 ?錄
第1章 緒論
1.1?研究背景與意義
1.2?開(kāi)發(fā)現(xiàn)狀
1.3?本文的組織結(jié)構(gòu)
第2章 相關(guān)技術(shù)介紹
2.1 開(kāi)發(fā)技術(shù)說(shuō)明
2.2 MVVM模式介紹
2.3 Django框架介紹
2.4?Django架構(gòu)設(shè)計(jì)
2.5?Django 工作機(jī)制
2.6 B/S體系工作原理
2.7 B/S體系結(jié)構(gòu)介紹
第3章 系統(tǒng)分析
3.1?可行性分析
3.1.1?技術(shù)可行性分析
3.1.2?經(jīng)濟(jì)可行性分析
3.1.3?操作可行性分析
3.2?功能需求分析
3.3?非功能需求分析
3.4?數(shù)據(jù)流程分析
第4章 系統(tǒng)設(shè)計(jì)
4.1?系統(tǒng)架構(gòu)設(shè)計(jì)
4.2?系統(tǒng)功能結(jié)構(gòu)
4.3?功能模塊設(shè)計(jì)
4.4?表單字段校驗(yàn)處理設(shè)計(jì)
4.5?系統(tǒng)維護(hù)設(shè)計(jì)
4.6?數(shù)據(jù)庫(kù)設(shè)計(jì)
4.6.1?概念模型
4.6.2?關(guān)系模型
4.6.3?數(shù)據(jù)表
第5章 系統(tǒng)實(shí)現(xiàn)
5.1?登錄模塊的實(shí)現(xiàn)
5.2?用戶子系統(tǒng)模塊的實(shí)現(xiàn)
5.2.1?注冊(cè)模塊
5.2.2房屋租賃模塊
5.2.3?預(yù)約看房模塊
5.2.4?房屋資訊模塊
5.3?管理員子系統(tǒng)模塊的實(shí)現(xiàn) 26
5.3.1?用戶管理模塊 27
5.3.2?房屋信息管理模塊 28
5.3.3?租賃合同管理模塊 29
5.3.4?退房登記管理模塊 29
5.3.5?房屋租賃管理模塊 29
第6章 系統(tǒng)測(cè)試 30
6.1?測(cè)試目的 30
6.2?測(cè)試過(guò)程 30
6.3?測(cè)試結(jié)果 31
第7章 總結(jié)與展望 32
參考文獻(xiàn) 33
致謝
利用計(jì)算機(jī)實(shí)現(xiàn)物業(yè)管理中的房屋租賃管理勢(shì)在必行。對(duì)于物業(yè)管理企業(yè)來(lái)說(shuō),利用計(jì)算機(jī)支持企業(yè)高效率完成房屋租賃管理的日常事務(wù),是適應(yīng)現(xiàn)代企業(yè)制度要求、推動(dòng)企業(yè)勞動(dòng)型管理走向科學(xué)化、規(guī)范化的必要條件。而房屋租賃管理是一項(xiàng)瑣碎、復(fù)雜而又十分細(xì)致的工作。
房屋的基本資料,客戶資料的管理,房屋租賃管理,各項(xiàng)收費(fèi)以及統(tǒng)計(jì)報(bào)表的管理,一般不允許出錯(cuò)。如果實(shí)行手工操作,須手工填制大量的表格,這就會(huì)耗費(fèi)工作人員大量的時(shí)間和精力。計(jì)算機(jī)進(jìn)行房屋租賃工作的管理,不僅能夠保證各項(xiàng)信息準(zhǔn)確無(wú)誤、快速輸出,同時(shí)計(jì)算機(jī)具有手工管理所無(wú)法比擬的優(yōu)點(diǎn),例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高物業(yè)管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。
在西方發(fā)達(dá)國(guó)家,房屋租賃管理信息系統(tǒng)已經(jīng)較為成熟,尤其是基于web應(yīng)用技術(shù)環(huán)竟下的不動(dòng)產(chǎn)管理信息系統(tǒng)在房產(chǎn)屋管理中的應(yīng)用日趨完善,其運(yùn)作模式已經(jīng)由單個(gè)的線性管理轉(zhuǎn)變?yōu)榭绲貐^(qū),跨領(lǐng)或的扁平化管理,從而獲得了顯著的經(jīng)濟(jì)和社會(huì)效益。在我國(guó),隨著國(guó)民生活水平的不斷提高,居民租房需求的多元化帶動(dòng)了房屋租賃管理的發(fā)展,雖然存在著比較多的網(wǎng)站,但房屋租賃信息化管理還不夠成熟,不夠完善,不能對(duì)提高效率、降低成本、共享資源等方面起到至關(guān)重要的作用。
計(jì)算機(jī)技術(shù)不斷的飛速發(fā)展,計(jì)算機(jī)以及計(jì)算機(jī)控制的自動(dòng)處理技術(shù)已融入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。當(dāng)今社會(huì),科學(xué)信息技術(shù)有了重大的飛躍,為人們的生活、工作、學(xué)習(xí)帶來(lái)潛移默化的影響。今天我們使用計(jì)算機(jī)對(duì)房屋租賃信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高房屋租賃管理的效率。面對(duì)目前的實(shí)際狀況,迫切需要開(kāi)發(fā)一個(gè)簡(jiǎn)單快捷的系統(tǒng)來(lái)適應(yīng)這些工作。
第一章是緒論,本文章的開(kāi)頭部分,對(duì)本題目的研究背景和研究意義等一些做文字性的描述。
第二章研究了房屋租賃管理系統(tǒng)的所采用的開(kāi)發(fā)技術(shù)和開(kāi)發(fā)工具。
第三章是系統(tǒng)分析部分,包括系統(tǒng)總體需求描述、功能性角度分析系統(tǒng)需求、非功能性等各個(gè)方面分析系統(tǒng)是否可以實(shí)現(xiàn)。
第四章是系統(tǒng)設(shè)計(jì)部分,本文章的重要部分,提供了系統(tǒng)架構(gòu)的詳細(xì)設(shè)計(jì)和一些主要功能模塊的設(shè)計(jì)說(shuō)明。
第五章是系統(tǒng)的具體實(shí)現(xiàn),介紹系統(tǒng)的各個(gè)模塊的具體實(shí)現(xiàn)。
第六章在前幾章的基礎(chǔ)上對(duì)系統(tǒng)進(jìn)行測(cè)試和運(yùn)行。
最后對(duì)系統(tǒng)進(jìn)行了認(rèn)真的總結(jié),以此對(duì)未來(lái)有一個(gè)新的展望。
本系統(tǒng)前端部分基于MVVM模式進(jìn)行開(kāi)發(fā),采用B/S模式,后端部分基于python的Django框架進(jìn)行開(kāi)發(fā)。
前端部分:前端框架采用了比較流行的漸進(jìn)式JavaScript框架Vue.js。使用Vue-Router和Vuex實(shí)現(xiàn)動(dòng)態(tài)路由和全局狀態(tài)管理,Ajax實(shí)現(xiàn)前后端通信,Element UI組件庫(kù)使頁(yè)面快速成型,項(xiàng)目前端通過(guò)柵格布局實(shí)現(xiàn)響應(yīng)式,可適應(yīng)PC端、平板端、手機(jī)端等不同屏幕大小尺寸的完美布局展示。
后端部分:采用Django作為開(kāi)發(fā)框架,同時(shí)集成Redis等相關(guān)技術(shù)。
MVVM是Model-View-ViewModel的簡(jiǎn)寫(xiě)。它本質(zhì)上就是MVC 的改進(jìn)版。MVVM 就是將其中的View 的狀態(tài)和行為抽象化,讓我們將視圖 UI 和業(yè)務(wù)邏輯分開(kāi)。當(dāng)然這些事 ViewModel 已經(jīng)幫我們做了,它可以取出 Model 的數(shù)據(jù)同時(shí)幫忙處理 View 中由于需要展示內(nèi)容而涉及的業(yè)務(wù)邏輯。微軟的WPF帶來(lái)了新的技術(shù)體驗(yàn),如Silverlight、音頻、視頻、3D、動(dòng)畫(huà)……,這導(dǎo)致了軟件UI層更加細(xì)節(jié)化、可定制化。同時(shí),在技術(shù)層面,WPF也帶來(lái)了 諸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由來(lái)便是MVP(Model-View-Presenter)模式與WPF結(jié)合的應(yīng)用方式時(shí)發(fā)展演變過(guò)來(lái)的一種新型架構(gòu)框架。它立足于原有MVP框架并且把WPF的新特性糅合進(jìn)去,以應(yīng)對(duì)客戶日益復(fù)雜的需求變化。
Django是高水準(zhǔn)的Python編程語(yǔ)言驅(qū)動(dòng)的一個(gè)開(kāi)源模型.視圖,控制器風(fēng)格的Web應(yīng)用程序框架,它起源于開(kāi)源社區(qū)。使用這種架構(gòu),程序員可以方便、快捷地創(chuàng)建高品質(zhì)、易維護(hù)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)的應(yīng)用程序。這也正是OpenStack的Horizon組件采用這種架構(gòu)進(jìn)行設(shè)計(jì)的主要原因。另外,在Django框架中,還包含許多功能強(qiáng)大的第三方插件,使得Django具有較強(qiáng)的可擴(kuò)展性。Django 項(xiàng)目源自一個(gè)在線新聞 Web 站點(diǎn),于 2005 年以開(kāi)源的形式被釋放出來(lái)。Django 框架的核心組件有:
1.6.1 用于創(chuàng)建模型的對(duì)象關(guān)系映射;
1.6.2 為最終用戶設(shè)計(jì)較好的管理界面;
1.6.3 URL 設(shè)計(jì);
1.6.4 設(shè)計(jì)者友好的模板語(yǔ)言;
1.6.5 緩存系統(tǒng)。
Django(發(fā)音:[`d???ɡ??]) 是用python語(yǔ)言寫(xiě)的開(kāi)源web開(kāi)發(fā)框架(open source web framework),它鼓勵(lì)快速開(kāi)發(fā),并遵循MVC設(shè)計(jì)。Django遵守BSD版權(quán),初次發(fā)布于2005年7月, 并于2008年9月發(fā)布了第一個(gè)正式版本1.0 。
Django 根據(jù)比利時(shí)的爵士音樂(lè)家Django Reinhardt命名,他是一個(gè)吉普賽人,主要以演奏吉它為主,還演奏過(guò)小提琴等。
由于Django在近年來(lái)的迅速發(fā)展,應(yīng)用越來(lái)越廣泛,被著名IT開(kāi)發(fā)雜志SD Times評(píng)選為2013 SD Times 100,位列“API、庫(kù)和框架”分類第6位,被認(rèn)為是該領(lǐng)域的佼佼者。
Django已經(jīng)成為web開(kāi)發(fā)者的首選框架,是一個(gè)遵循 MVC 設(shè)計(jì)模式的框架。MVC是Model、View、Controller三個(gè)單詞的簡(jiǎn)寫(xiě),分別代表模型、視圖、控制器。Django其實(shí)也是一個(gè)MTV 的設(shè)計(jì)模式。MTV是Model、Template、View三個(gè)單詞的簡(jiǎn)寫(xiě),分別代表模型、模版、視圖。但是在Django中,控制器接受用戶輸入的部分由框架自行處理,所以 Django 里更關(guān)注的是模型(Model)、模板(Template)和視圖(Views),稱為 MTV模式。它們各自的職責(zé)如下:
| 層次 | 職責(zé) |
| 模型(Model),即數(shù)據(jù)存取層 | 處理與數(shù)據(jù)相關(guān)的所有事務(wù): 如何存取、如何驗(yàn)證有效性、包含哪些行為以及數(shù)據(jù)之間的關(guān)系等。 |
| 模板(Template),即表現(xiàn)層 | 處理與表現(xiàn)相關(guān)的決定: 如何在頁(yè)面或其他類型文檔中進(jìn)行顯示。 |
| 視圖(View),即業(yè)務(wù)邏輯層 | 存取模型及調(diào)取恰當(dāng)模板的相關(guān)邏輯。模型與模板的橋梁。 |
從以上表述可以看出Django 視圖不處理用戶輸入,而僅僅決定要展現(xiàn)哪些數(shù)據(jù)給用戶,而Django 模板 僅僅決定如何展現(xiàn)Django視圖指定的數(shù)據(jù)。或者說(shuō), Django將MVC中的視圖進(jìn)一步分解為 Django視圖 和 Django模板兩個(gè)部分,分別決定 “展現(xiàn)哪些數(shù)據(jù)” 和 “如何展現(xiàn)”,使得Django的模板可以根據(jù)需要隨時(shí)替換,而不僅僅限制于內(nèi)置的模板。
至于MVC控制器部分,由Django框架的URLconf來(lái)實(shí)現(xiàn)。URLconf機(jī)制是使用正則表達(dá)式匹配URL,然后調(diào)用合適的Python函數(shù)。URLconf對(duì)于URL的規(guī)則沒(méi)有任何限制,你完全可以設(shè)計(jì)成任意的URL風(fēng)格,不管是傳統(tǒng)的,RESTful的,或者是另類的。框架把控制層給封裝了,無(wú)非與數(shù)據(jù)交互這層都是數(shù)據(jù)庫(kù)表的讀,寫(xiě),刪除,更新的操作。在寫(xiě)程序的時(shí)候,只要調(diào)用相應(yīng)的方法就行了,感覺(jué)很方便。程序員把控制層?xùn)|西交給Django自動(dòng)完成了。 只需要編寫(xiě)非常少的代碼完成很多的事情。所以,它比MVC框架考慮的問(wèn)題要深一步,因?yàn)槲覀兂绦騿T大都在寫(xiě)控制層的程序。這個(gè)工作交給了框架,僅需寫(xiě)很少的調(diào)用代碼,大大提高了工作效率。
1.8.1用manage .py runserver 啟動(dòng)Django服務(wù)器時(shí)就載入了在同一目錄下的settings .py。該文件包含了項(xiàng)目中的配置信息,如前面講的URLConf等,其中最重要的配置就是ROOT_URLCONF,它告訴Django哪個(gè)Python模塊應(yīng)該用作本站的URLConf,默認(rèn)的是urls .py
1.8.2.當(dāng)訪問(wèn)url的時(shí)候,Django會(huì)根據(jù)ROOT_URLCONF的設(shè)置來(lái)裝載URLConf。
1.8.3.然后按順序逐個(gè)匹配URLConf里的URLpatterns。如果找到則會(huì)調(diào)用相關(guān)聯(lián)的視圖函數(shù),并把HttpRequest對(duì)象作為第一個(gè)參數(shù)(通常是request)
1.8.4.最后該view函數(shù)負(fù)責(zé)返回一個(gè)HttpResponse對(duì)象。
???????????
?
B/S架構(gòu)采取瀏覽器請(qǐng)求,服務(wù)器響應(yīng)的工作模式。
用戶可以通過(guò)瀏覽器去訪問(wèn)Internet上由Web服務(wù)器產(chǎn)生的文本、數(shù)據(jù)、圖片、動(dòng)畫(huà)、視頻點(diǎn)播和聲音等信息;
而每一個(gè)Web服務(wù)器又可以通過(guò)各種方式與數(shù)據(jù)庫(kù)服務(wù)器連接,大量的數(shù)據(jù)實(shí)際存放在數(shù)據(jù)庫(kù)服務(wù)器中;
從Web服務(wù)器上下載程序到本地來(lái)執(zhí)行,在下載過(guò)程中若遇到與數(shù)據(jù)庫(kù)有關(guān)的指令,由Web服務(wù)器交給數(shù)據(jù)庫(kù)服務(wù)器來(lái)解釋執(zhí)行,并返回給Web服務(wù)器,Web服務(wù)器又返回給用戶。在這種結(jié)構(gòu)中,將許許多多的網(wǎng)連接到一塊,形成一個(gè)巨大的網(wǎng),即全球網(wǎng)。而各個(gè)企業(yè)可以在此結(jié)構(gòu)的基礎(chǔ)上建立自己的Internet。
在 B/S 模式中,用戶是通過(guò)瀏覽器針對(duì)許多分布于網(wǎng)絡(luò)上的服務(wù)器進(jìn)行請(qǐng)求訪問(wèn)的,瀏覽器的請(qǐng)求通過(guò)服務(wù)器進(jìn)行處理,并將處理結(jié)果以及相應(yīng)的信息返回給瀏覽器,其他的數(shù)據(jù)加工、請(qǐng)求全部都是由Web Server完成的。通過(guò)該框架結(jié)構(gòu)以及植入于操作系統(tǒng)內(nèi)部的瀏覽器,該結(jié)構(gòu)已經(jīng)成為了當(dāng)今軟件應(yīng)用的主流結(jié)構(gòu)模式。
?
B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式),是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開(kāi)發(fā)、維護(hù)和使用。客戶機(jī)上只要安裝一個(gè)瀏覽器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer,服務(wù)器安裝SQL Server、Oracle、MYSQL等數(shù)據(jù)庫(kù)。瀏覽器通過(guò)Web Server同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。?
本系統(tǒng)前端部分基于MVVM模式進(jìn)行開(kāi)發(fā),采用B/S模式,后端部分基于python的Django框架進(jìn)行開(kāi)發(fā)。總體的可行性共分為以下三個(gè)方面。
所謂的技術(shù)可行性就是在限定時(shí)間,前期擬定的功能能否被滿足。在開(kāi)發(fā)設(shè)計(jì)上是否會(huì)遇上解決不了的問(wèn)題。做完的項(xiàng)目能否被很好地應(yīng)用,如果存在缺點(diǎn)在后期的維護(hù)上是否存在很大的難度。在對(duì)這個(gè)系統(tǒng)評(píng)估后,認(rèn)定已存在的技術(shù)能達(dá)成目標(biāo)。用JSP技術(shù)來(lái)實(shí)現(xiàn)動(dòng)態(tài)的頁(yè)面,嵌入低依賴性的設(shè)計(jì)模式,靈活的數(shù)據(jù)庫(kù),配合穩(wěn)定的服務(wù)器,整個(gè)系統(tǒng)的運(yùn)行效率大大提升。由此可見(jiàn),在技術(shù)層面達(dá)成目標(biāo)不是非非之想。
在項(xiàng)目上使用的工具大部分都是是當(dāng)下流行開(kāi)源免費(fèi)的,所以在開(kāi)發(fā)前期,開(kāi)發(fā)時(shí)用于項(xiàng)目的經(jīng)費(fèi)將會(huì)大大降低,不會(huì)讓開(kāi)發(fā)該軟件在項(xiàng)目啟動(dòng)期受到經(jīng)費(fèi)的影響,所以經(jīng)濟(jì)上還是可行的。盡量用最少的花費(fèi)去滿足用戶的需求。省下經(jīng)費(fèi)用于人工費(fèi),以及設(shè)備費(fèi)用。將在無(wú)紙化,高效率的道路上越走越遠(yuǎn)。
本系統(tǒng)實(shí)現(xiàn)功能的操作很簡(jiǎn)單,普通電腦的常見(jiàn)配置就可以運(yùn)行本軟件,并且只要粗通電腦使用的基本常識(shí)就可以流暢的使用本軟件。電腦具備連接互聯(lián)網(wǎng)的能力,并且可以正常訪問(wèn)系統(tǒng),并不需要操作者有什么高超的能力,只需了解業(yè)務(wù)流程,并且按照專業(yè)知識(shí)進(jìn)行正確操作即可,所以房屋租賃管理網(wǎng)站具備操作可行性。
在系統(tǒng)開(kāi)發(fā)設(shè)計(jì)前,應(yīng)該對(duì)功能做初步設(shè)想,清楚這個(gè)管理系統(tǒng)有什么板塊,每個(gè)板塊有什么功能,整體的設(shè)計(jì)是否滿足使用者的需求,接著對(duì)所開(kāi)發(fā)的系統(tǒng)功能進(jìn)行的詳細(xì)分析總結(jié),從而設(shè)計(jì)出完整的系統(tǒng)并將其實(shí)現(xiàn)。用戶和開(kāi)發(fā)人員的交流分析,使其達(dá)到最佳理解程度,使系統(tǒng)功能達(dá)到最佳。
用戶用例圖如下所示。
?
圖3-1 租客用例圖
管理員用例圖如下所示。
?
圖3-1 管理員用例圖
房東用例圖如下所示。
?
房屋租賃系統(tǒng)在對(duì)需求做解析后,整個(gè)系統(tǒng)主要分為兩個(gè)部分:管理員、房東和用戶,每個(gè)模塊下的分支功能不一樣。對(duì)功能做出如下說(shuō)明:
租客模塊:
賬號(hào)注冊(cè)。
賬號(hào)登錄認(rèn)證。
管理個(gè)人資料信息,修改可修改的信息項(xiàng)。
房屋租賃,同時(shí)查看歷史已租賃的記錄。
房屋信息,同時(shí)查看歷史房屋信息瀏覽的記錄。
預(yù)約看房,填寫(xiě)預(yù)約信息提交系統(tǒng)等待房東審核。
房屋租賃,具體房屋信息,申請(qǐng)租賃提交等系統(tǒng)審核。
退房登記,填寫(xiě)退房原因,提交申請(qǐng)信息。
房東模塊:
房屋信息發(fā)布,具體發(fā)布自己房屋的信息。
預(yù)約看房處理,處理租客提交的預(yù)約申請(qǐng)。
租賃合同,合同細(xì)則等。
退房登記,查看租客的退房信息等。
管理員模塊:
對(duì)用戶留下的評(píng)論數(shù)據(jù)進(jìn)行維護(hù),刪除違規(guī)評(píng)論。
對(duì)用戶留下的留言數(shù)據(jù)進(jìn)行維護(hù),刪除違規(guī)留言,可對(duì)其回復(fù)想要的留言。
維護(hù)用戶以及房東資料,審核用戶以及房東的賬號(hào)。
發(fā)布房屋資訊,并可以銷毀某個(gè)房屋,更新房屋數(shù)據(jù),搜索房屋數(shù)據(jù)等。
發(fā)布公告,搜索可以租賃房屋的數(shù)據(jù)等。
管理房屋租賃數(shù)據(jù)。
管理房東的租賃合同。
地區(qū)管理,房屋地區(qū)信息維護(hù)管理。
退房登記,維護(hù)租客的退房登記數(shù)據(jù)。
維護(hù)用戶評(píng)論數(shù)據(jù)。
系統(tǒng)非功能需求有非常多,比如性能需求、可承載最大用戶數(shù)、穩(wěn)定性、易用性需求等。本系統(tǒng)分析時(shí)考慮到易用性需求,因?yàn)橄到y(tǒng)是給人使用的,所以必須充分從用戶的角度出發(fā),考慮用戶體驗(yàn),使系統(tǒng)易理解易上手易操作。
零層數(shù)據(jù)流程圖包括了登錄注冊(cè)、用戶功能和檢索維護(hù)等模塊,在登錄注冊(cè)模塊使用到的數(shù)據(jù)存儲(chǔ)有用戶賬戶文檔,用戶功能模塊需要的存儲(chǔ)是用戶各功能模塊數(shù)據(jù)文檔,檢索維護(hù)是使用以上這些數(shù)據(jù)文檔通過(guò)關(guān)鍵詞進(jìn)行檢索。
系統(tǒng)的零層數(shù)據(jù)流圖如下圖所示。
?
圖3-2系統(tǒng)數(shù)據(jù)流圖(零層)
一層數(shù)據(jù)流程圖是對(duì)零層數(shù)據(jù)流程圖的細(xì)化,將登錄注冊(cè)細(xì)分為填制登錄注冊(cè)數(shù)據(jù)和完善數(shù)據(jù),用戶功能細(xì)分為用戶基本功能和用戶主要功能。
系統(tǒng)的一層數(shù)據(jù)流圖如下圖所示。
?
圖3-3系統(tǒng)數(shù)據(jù)流圖(一層)
二層數(shù)據(jù)流程是對(duì)一層數(shù)據(jù)流層圖中填寫(xiě)登錄注冊(cè)信息、用戶功能的細(xì)化。即:填寫(xiě)登錄注冊(cè)信息細(xì)化為填制信息、后臺(tái)審核,用戶功能細(xì)化為看房預(yù)約、房屋租賃、房屋合同、房屋信息、退房登記等操作。
系統(tǒng)的二層數(shù)據(jù)流圖如下圖所示。
?
圖3-4系統(tǒng)數(shù)據(jù)流圖(二層)
目前B/S體系的系統(tǒng)主要的數(shù)據(jù)訪問(wèn)方式是:通過(guò)瀏覽器頁(yè)面用戶可以進(jìn)入系統(tǒng),系統(tǒng)可以自動(dòng)對(duì)用戶向服務(wù)器發(fā)送的請(qǐng)求進(jìn)行處理,處理請(qǐng)求是在系統(tǒng)后臺(tái)中進(jìn)行的,用戶在瀏覽器頁(yè)面上進(jìn)行相應(yīng)操作,就能夠看到服務(wù)端傳遞的處理結(jié)果。網(wǎng)上租車租賃網(wǎng)站主要分為視圖-模型-控制三層架構(gòu)設(shè)計(jì)。在視圖層中,主要是操作在服務(wù)器端向客戶端反饋并顯示的數(shù)據(jù),在模型層中,主要處理相關(guān)的業(yè)務(wù)邏輯、數(shù)據(jù)整合等,最后的控制層它介于視圖和模型之間,主要是調(diào)整兩層之間的關(guān)系,最終落實(shí)數(shù)據(jù)的傳遞。
系統(tǒng)架構(gòu)圖如下圖所示。
?
圖4-1系統(tǒng)架構(gòu)圖
系統(tǒng)設(shè)計(jì)的目的是分析系統(tǒng)包括的所有功能結(jié)構(gòu),為開(kāi)發(fā)人員設(shè)計(jì)開(kāi)發(fā)和實(shí)現(xiàn)系統(tǒng)做好準(zhǔn)備工作。經(jīng)過(guò)前期的需求調(diào)查、分析和整理之后,確定的總體需求主要包括多個(gè)模塊,分別是:系統(tǒng)用戶管理、房屋數(shù)據(jù)管理、房東管理、房屋資訊管理、租賃管理、預(yù)約管理、地區(qū)管理、合同管理、退房管理。系統(tǒng)整體角色分為三個(gè)部分,一是租客、二是房東、最后是管理員。權(quán)限分布也是很明顯,用戶即是注冊(cè)登錄系統(tǒng)后驗(yàn)證便可瀏覽相關(guān)房屋信息搜索房屋;房東是在除去瀏覽信息之外還具有查詢和管理賬戶信息、發(fā)布租賃房屋信息,看房預(yù)約、合同、退房信息等權(quán)限;管理員是最高權(quán)限擁有者。
系統(tǒng)功能結(jié)構(gòu)圖如下圖所示。
?
圖4-2系統(tǒng)功能結(jié)構(gòu)圖
用戶管理模塊
該模塊是為所有用戶登錄設(shè)計(jì)的,如注冊(cè)用戶這種會(huì)員登錄后只能進(jìn)行自己的普通功能操作(如個(gè)人信息修改),房東和管理員登錄后有不同的權(quán)限,管理員能對(duì)整個(gè)系統(tǒng)的數(shù)據(jù)進(jìn)行管理,主要是用戶的登錄權(quán)限以及用戶登錄后在系統(tǒng)里的操作權(quán)限。
房屋租賃模塊
用戶和房屋存在祖靈關(guān)系,關(guān)系為一對(duì)多,根據(jù)房屋編號(hào)來(lái)將房屋數(shù)據(jù)傳入到租賃數(shù)據(jù)中,操作人為用戶,然后生成租賃列表,會(huì)員查看個(gè)人歷史租賃列表,可以進(jìn)行數(shù)據(jù)銷毀。
房屋維護(hù)模塊
操作人來(lái)錄入房屋數(shù)據(jù),點(diǎn)擊房屋錄入按鈕,依次填寫(xiě)要錄入的房屋數(shù)據(jù),點(diǎn)擊提交按鈕,將數(shù)據(jù)提交至數(shù)據(jù)庫(kù),然后刷新房屋數(shù)據(jù)頁(yè)面,每條數(shù)據(jù)右邊有刪除和編輯按鈕,來(lái)完成相應(yīng)的刪除和更新功能。
房屋信息維護(hù)模塊
管理員點(diǎn)擊房屋管理菜單,點(diǎn)擊房屋添加子菜單,添加房屋數(shù)據(jù),填寫(xiě)標(biāo)題、內(nèi)容、類別、圖片,提交成功后,房屋數(shù)據(jù)頁(yè)面刷新,房屋據(jù)成功載入頁(yè)面。
打印和導(dǎo)出模塊
系統(tǒng)多個(gè)頁(yè)面可以進(jìn)行打印功能,包括信息詳細(xì)頁(yè),信息列表頁(yè),打印時(shí)調(diào)用外部打印機(jī),完成打印設(shè)置即可打印,在信息列表頁(yè)可以將該信息列表導(dǎo)出至excel中,用戶選擇保存excel文件的路徑,既可以下載至本地,在excel中可以自由編輯。
1.出錯(cuò)信息類型
出錯(cuò)信息類型包括:
A 未輸入必填項(xiàng);
B 應(yīng)輸入合法字符或數(shù)字卻輸入非法字符或數(shù)字;
C 對(duì)空數(shù)據(jù)表進(jìn)行更改或刪除操作;
D 向要求唯一值的關(guān)鍵字段添加重復(fù)值。
2.出錯(cuò)處理對(duì)策
對(duì)于錯(cuò)誤A,系統(tǒng)要求用戶輸入非空值。
對(duì)于錯(cuò)誤B,系統(tǒng)要求用戶輸入合法字符。
對(duì)于錯(cuò)誤C,系統(tǒng)提示數(shù)據(jù)表無(wú)記錄可更改或刪除。
對(duì)于錯(cuò)誤D,系統(tǒng)要求用戶輸入非重復(fù)值。
房屋租賃網(wǎng)站是個(gè)現(xiàn)代化的高度集成的綜合信息系統(tǒng),系統(tǒng)主要服務(wù)對(duì)象為用戶,最大化在頁(yè)面中提供多的信息,因此在系統(tǒng)維護(hù)上,數(shù)據(jù)量較大,整體的維護(hù)設(shè)計(jì)如下:
(1)代碼的維護(hù):部署在云服務(wù)器上或本地服務(wù)器,通過(guò)SVN或FTP保持版本更新迭代。
(2)功能增加:功能升級(jí)在必要的前提下。
(3)數(shù)據(jù)維護(hù):根據(jù)安全性等需求,定期對(duì)數(shù)據(jù)庫(kù)進(jìn)行人工備份。
對(duì)于一個(gè)要開(kāi)發(fā)的系統(tǒng)來(lái)說(shuō),E-R圖可以讓別人能更快更輕松的了解此系統(tǒng)的事務(wù)及它們之間的關(guān)系。根據(jù)系統(tǒng)分析階段所得出的結(jié)論確定了在網(wǎng)上房屋租賃網(wǎng)站中存在著多個(gè)實(shí)體分別是租客、管理員、房屋、租賃、房東、預(yù)約、收藏。
系統(tǒng)總體ER圖如下圖所示。
圖4-3系統(tǒng)總體ER圖
?
管理員(管理員id、用戶名、密碼、權(quán)限)
用戶(用戶id、賬號(hào)、密碼、姓名、性別、地區(qū)、手機(jī))
房屋(房屋id、房屋品牌、房屋型號(hào)、房屋主圖、房屋類型、日租金、租借狀態(tài))
租賃(租賃id、房屋編號(hào)、所屬地區(qū)、房屋類型、租金、月租金額、訂單總價(jià)、預(yù)訂日期、租賃人、是否支付、是否審核、審核回復(fù))
房東(房東id、密碼、用戶姓名、身份證號(hào)、手機(jī)、頭像)
合同(合同id、標(biāo)題、附件、類型、租賃信息、租客)
數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)就是將E-R圖在數(shù)據(jù)庫(kù)中用具體的字段進(jìn)行描述。用字段和數(shù)據(jù)類型描述來(lái)使對(duì)象特征實(shí)體化,最后形成具有一定邏輯關(guān)系的數(shù)據(jù)庫(kù)表結(jié)構(gòu)。房屋租賃管理系統(tǒng)所需要的部分?jǐn)?shù)據(jù)結(jié)構(gòu)表如下表所示。
tenant表:
| 名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 注釋 |
| tenant_id | int | 11 | 是 | 是 | 租客ID |
| tenant_number | varchar | 64 | 是 | 否 | 租客編號(hào) |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態(tài) |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| user_id | int | 11 | 是 | 否 | 用戶ID |
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 |
room_type_management表:
| 名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 注釋 |
| room_type_management_id | int | 11 | 是 | 是 | 房型管理ID |
| layout_of_a_house_or_an_apartment | varchar | 64 | 否 | 否 | 房型 |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態(tài) |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 |
regional_management表:
| 名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 注釋 |
| regional_management_id | int | 11 | 是 | 是 | 地區(qū)管理ID |
| region | varchar | 64 | 否 | 否 | 地區(qū) |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態(tài) |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 |
make_an_appointment_to_see_the_house_表:
| 名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 注釋 |
| make_an_appointment_to_see_the_house_id | int | 11 | 是 | 是 | 預(yù)約看房ID |
| contact_number | varchar | 64 | 否 | 否 | 聯(lián)系電話 |
| house_no | varchar | 64 | 否 | 否 | 房屋編號(hào) |
| title | varchar | 64 | 否 | 否 | 標(biāo)題 |
| landlord_number | int | 11 | 否 | 否 | 房東編號(hào) |
| tenant_number | int | 11 | 否 | 否 | 租客編號(hào) |
| open_home_ | datetime | 0 | 否 | 否 | 看房時(shí)間 |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態(tài) |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 |
lease_contract表:
| 名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 注釋 |
| lease_contract_id | int | 11 | 是 | 是 | 租賃合同ID |
| house_no | varchar | 64 | 否 | 否 | 房屋編號(hào) |
| title | varchar | 64 | 否 | 否 | 標(biāo)題 |
| landlord_number | int | 11 | 否 | 否 | 房東編號(hào) |
| lease_no | varchar | 64 | 否 | 否 | 租賃單號(hào) |
| contract | varchar | 255 | 否 | 否 | 合同 |
| tenant_number | int | 11 | 否 | 否 | 租客編號(hào) |
| contract_name | varchar | 64 | 否 | 否 | 合同名稱 |
| effective_date | date | 0 | 否 | 否 | 生效日期 |
| end_date | date | 0 | 否 | 否 | 結(jié)束日期 |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態(tài) |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 |
check_out_registration_表:
| 名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 注釋 |
| check_out_registration_id | int | 11 | 是 | 是 | 退房登記ID |
| house_no | varchar | 64 | 否 | 否 | 房屋編號(hào) |
| title | varchar | 64 | 否 | 否 | 標(biāo)題 |
| landlord_number | int | 11 | 否 | 否 | 房東編號(hào) |
| lease_no | varchar | 64 | 否 | 否 | 租賃單號(hào) |
| tenant_number | int | 11 | 否 | 否 | 租客編號(hào) |
| check_out_ | date | 0 | 否 | 否 | 退房日期 |
| check_out_reason | text | 0 | 否 | 否 | 退房原因 |
| examine_state | varchar | 16 | 是 | 否 | 審核狀態(tài) |
| recommend | int | 11 | 是 | 否 | 智能推薦 |
| create_time | datetime | 0 | 是 | 否 | 創(chuàng)建時(shí)間 |
| update_time | timestamp | 0 | 是 | 否 | 更新時(shí)間 |
系統(tǒng)的登錄窗口是用戶的入口,用戶只有在登錄成功后才可以進(jìn)入訪問(wèn)。通過(guò)在登錄提交表單,后臺(tái)處理判斷是否為合法用戶,進(jìn)行頁(yè)面跳轉(zhuǎn),進(jìn)入系統(tǒng)中去。
登錄合法性判斷過(guò)程:用戶輸入賬號(hào)和密碼后,系統(tǒng)首先確定輸入輸入數(shù)據(jù)合法性,然后在login頁(yè)面發(fā)送登錄請(qǐng)求,調(diào)用登錄驗(yàn)證方法來(lái)驗(yàn)證。
用戶登錄模塊的IPO如下所示:
輸入:用戶名和密碼。
處理:
1)檢測(cè)用戶輸入的賬號(hào)、密碼是否正確及在數(shù)據(jù)庫(kù)已對(duì)應(yīng)存在。
2)從數(shù)據(jù)庫(kù)中提取記錄,并儲(chǔ)存在本地的session中(timeout默認(rèn)=30min)。
3)根據(jù)用戶名,將其顯示在系統(tǒng)首頁(yè)上。
輸出:是否成功的信息。
登錄流程圖如下所示。
?
圖5-1登錄流程圖
系統(tǒng)登錄界面如下所示。
?
圖5-2系統(tǒng)登錄界面
此頁(yè)面實(shí)現(xiàn)會(huì)員的注冊(cè),必須注冊(cè)登錄后才能使用系統(tǒng)大部分功能,用戶名不允許重復(fù)如果重復(fù)將會(huì)注冊(cè)失敗,并彈出相應(yīng)的提示,通過(guò)js實(shí)現(xiàn)對(duì)輸入的驗(yàn)證。
用戶注冊(cè)流程圖如下所示。
?
圖5-3用戶注冊(cè)流程圖
用戶注冊(cè)界面如下圖所示。
?
圖5-4用戶注冊(cè)界面
房屋租賃過(guò)程中,首先通過(guò)房屋ID得到房屋數(shù)據(jù),將房屋數(shù)據(jù)賦值給房屋租賃,調(diào)用mysql_query($sql)方法將租賃數(shù)據(jù)插入租賃表中,最后查看個(gè)人歷史房屋租賃記錄,可以銷毀歷史租賃數(shù)據(jù)。
房屋租賃流程圖如下所示。
?
圖5-5房屋租賃流程圖
房屋租賃界面如圖所示。
?
圖5-6房屋租賃界面
用戶搜索過(guò)程中,首先通過(guò)用戶ID得到房屋數(shù)據(jù),將房源數(shù)據(jù)賦值給用戶預(yù)約,調(diào)用mysql_query($sql)方法將房屋數(shù)據(jù)插入用戶表中,最后查看個(gè)人歷史預(yù)約記錄,可以銷毀歷史預(yù)約數(shù)據(jù)。
預(yù)約看房流程圖如下所示。
?
圖5-7預(yù)約看房流程圖
預(yù)約看房界面如圖所示。
?
圖5-8預(yù)約看房界面
用戶搜索過(guò)程中,首先通過(guò)用戶ID得到房屋資訊信息,將房屋資訊賦值給用戶瀏覽,調(diào)用mysql_query($sql)方法將房屋資訊插入用戶表中,用戶可以查看所有房屋資訊。
房屋資訊界面如圖所示。
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖5-9房屋資訊界面
用戶在yhzhgl查看用戶信息,先使用sql語(yǔ)句查詢出所有用戶表的數(shù)據(jù),然后調(diào)用mysql_query($sql),返回一個(gè)數(shù)組對(duì)象,在for循環(huán)里,將數(shù)據(jù)放入頁(yè)面模板中,添加用戶則將添加的用戶數(shù)據(jù)封裝在sql語(yǔ)句,中然后調(diào)用mysql_query($sql)方法將用戶內(nèi)容插入用戶表中。
用戶管理界面如下圖所示。
?
圖5-10用戶管理界面
系統(tǒng)用戶管理關(guān)鍵代碼如下所示。
添加房屋信息時(shí),輸入必填字段后,表現(xiàn)層接受傳過(guò)來(lái)的房屋信息參數(shù),再調(diào)用addCheliang方法,經(jīng)過(guò)業(yè)務(wù)層到持久層的處理,完成對(duì)整個(gè)添加房屋信息的操作。addCheliang方法也和用戶管理中的addUser方法類似,同時(shí)做添加和修改工作。
修改房屋信息時(shí),選擇需要修改的房屋進(jìn)行修改,調(diào)用控制器的editCheliang方法,拿到該房屋原本的信息并顯示到頁(yè)面,管理員再對(duì)需要修改的房屋信息字段進(jìn)行修改,完成后調(diào)用addCheliang方法,調(diào)用業(yè)務(wù)層的updateByKey方法,更新數(shù)據(jù)庫(kù)的房屋信息表的數(shù)據(jù)。
房屋信息管理流程圖如下所示。
?
圖5-11房屋信息管理流程圖
房屋信息管理界面如下圖所示。
?
圖5-12房屋信息管理界面
刪除租賃合同信息時(shí),選擇需要?jiǎng)h除的訂單進(jìn)行刪除,把主鍵的uId傳到控制器,再調(diào)用控制器的deleteKefu方法,數(shù)據(jù)經(jīng)過(guò)業(yè)務(wù)層解析和處理,請(qǐng)求持久層調(diào)用deleteByPrimaryKey方法操作數(shù)據(jù)庫(kù)將用戶數(shù)據(jù)從數(shù)據(jù)庫(kù)中刪除。
查找訂單時(shí),輸入需要查找的房屋合同等,調(diào)用getData方法獲取所有數(shù)據(jù)并且進(jìn)行分頁(yè),把獲取到的所有數(shù)據(jù)顯示到視圖上,這時(shí)候只需要用腳本方法便能快速查找,不涉及對(duì)數(shù)據(jù)庫(kù)操作。
租賃合同管理流程圖如下所示。
?
圖5-13租賃合同管理流程圖
租賃合同管理界面如下圖所示。
?
圖5-14租賃合同管理界面
根據(jù)租客需求,需要對(duì)房屋進(jìn)行退房申請(qǐng)。刪除或修改退房信息時(shí),系統(tǒng)根據(jù)車票的狀態(tài)判定為可刪除狀態(tài)下,才會(huì)給出刪除和修改鏈接,點(diǎn)擊刪除鏈接按鈕時(shí),請(qǐng)求到達(dá)后臺(tái),還會(huì)先查詢車票狀態(tài)再次做出判定能否刪除。點(diǎn)擊修改鏈接按鈕時(shí),會(huì)跳轉(zhuǎn)到修改信息的頁(yè)面,重新填寫(xiě)好數(shù)據(jù)后,數(shù)據(jù)提交到后臺(tái)會(huì)對(duì)數(shù)據(jù)庫(kù)中相應(yīng)的記錄做出修改。
添加退房信息時(shí),會(huì)給出數(shù)據(jù)填寫(xiě)的頁(yè)面,該頁(yè)面根據(jù)填寫(xiě)好的房屋編號(hào)同樣會(huì)事先發(fā)送Ajax請(qǐng)求查詢房屋編號(hào)是否已存在,數(shù)據(jù)填寫(xiě)好之后提交到后臺(tái),會(huì)調(diào)用相關(guān)服務(wù)在數(shù)據(jù)庫(kù)中插入記錄。
退房登記管理流程圖如下圖所示。
?
????????圖5-15退房登記管理界面
根據(jù)租客需求,需要對(duì)房屋進(jìn)行租賃申請(qǐng)。刪除或修改租賃信息時(shí),系統(tǒng)根據(jù)房屋的狀態(tài)判定為可刪除狀態(tài)下,才會(huì)給出刪除和修改鏈接,點(diǎn)擊刪除鏈接按鈕時(shí),請(qǐng)求到達(dá)后臺(tái),還會(huì)先查詢房屋狀態(tài)再次做出判定能否刪除。點(diǎn)擊修改鏈接按鈕時(shí),會(huì)跳轉(zhuǎn)到修改信息的頁(yè)面,重新填寫(xiě)好數(shù)據(jù)后,數(shù)據(jù)提交到后臺(tái)會(huì)對(duì)數(shù)據(jù)庫(kù)中相應(yīng)的記錄做出修改。
添加租賃信息時(shí),會(huì)給出數(shù)據(jù)填寫(xiě)的頁(yè)面,該頁(yè)面根據(jù)填寫(xiě)好的房屋編號(hào)同樣會(huì)事先發(fā)送Ajax請(qǐng)求查詢房屋編號(hào)是否已存在,數(shù)據(jù)填寫(xiě)好之后提交到后臺(tái),會(huì)調(diào)用相關(guān)服務(wù)在數(shù)據(jù)庫(kù)中插入記錄。
房屋租賃管理流程圖如下圖所示。
?
?????????????圖5-16退房登記管理界面
在對(duì)該系統(tǒng)進(jìn)行完詳細(xì)設(shè)計(jì)和編碼之后,就要對(duì)房屋租賃管理網(wǎng)站的程序進(jìn)行測(cè)試,檢測(cè)程序是否運(yùn)行無(wú)誤,反復(fù)進(jìn)行測(cè)試和修改,使之最后成為完整的軟件,滿足用戶的需求,實(shí)現(xiàn)預(yù)期的功能。
在軟件的測(cè)試過(guò)程中,通常測(cè)試人員需要針對(duì)不同的功能模塊設(shè)計(jì)多種測(cè)試用例。通過(guò)測(cè)試用例能夠及時(shí)發(fā)現(xiàn)代碼業(yè)務(wù)邏輯上是否與真實(shí)的業(yè)務(wù)邏輯相對(duì)應(yīng),及時(shí)發(fā)現(xiàn)代碼上或邏輯上的缺陷,以此來(lái)來(lái)完善系統(tǒng),提高軟件產(chǎn)品的質(zhì)量,使軟件具有良好的用戶體驗(yàn)。
注冊(cè)測(cè)試用例表如下所示。
表6-1注冊(cè)測(cè)試用例
| 測(cè)試性能 | 新用戶注冊(cè) | ||
| 用例目的 | 測(cè)試系統(tǒng)新用戶個(gè)人信息注冊(cè)功能的功能和安全性 | ||
| 前提條件 | 進(jìn)入注冊(cè)頁(yè)面填寫(xiě)個(gè)人信息 | ||
| 輸入條件 | 預(yù)期輸出 | 實(shí)際情況 | |
| 各項(xiàng)基本信息輸入不完整 | 不允許注冊(cè),無(wú)法點(diǎn)擊注冊(cè)按鈕 | 一致 | |
| 填寫(xiě)已存在的用戶名 | 系統(tǒng)顯示出提示信息,要求重新填寫(xiě) | 一致 | |
| 兩次密碼輸入不一致 | 系統(tǒng)顯示出提示信息,要求重新填寫(xiě) | 一致 | |
| 填寫(xiě)的各項(xiàng)信息沒(méi)有符合提示的長(zhǎng)度和字符要求 | 系統(tǒng)顯示出提示信息,要求重新填寫(xiě) | 一致 | |
| 胡亂填寫(xiě)電話號(hào)碼 | 收不到驗(yàn)證碼 | 一致 | |
| 填寫(xiě)驗(yàn)證碼與收到的不一致 | 系統(tǒng)顯示提示信息告知用戶驗(yàn)證碼錯(cuò)誤,不予注冊(cè) | 一致 | |
登錄測(cè)試用例表如下所示。
表6-2登錄測(cè)試用例
| 測(cè)試性能 | 用戶或操作員登錄系統(tǒng) | ||
| 用例目的 | 測(cè)試用戶或操作員登錄系統(tǒng)時(shí)功能是否正常 | ||
| 前提條件 | 進(jìn)入用戶登錄頁(yè)面或操作員登錄頁(yè)面 | ||
| 輸入條件 | 預(yù)期輸出 | 實(shí)際情況 | |
| 各項(xiàng)信息不予填寫(xiě),直接點(diǎn)擊登陸按鈕 | 不允許登錄,提示填寫(xiě)賬號(hào)相關(guān)信息 | 一致 | |
| 填寫(xiě)錯(cuò)誤的登錄名或密碼后點(diǎn)擊登錄系統(tǒng) | 提示用戶名或密碼錯(cuò)誤,要求重新填寫(xiě)進(jìn)行登錄 | 一致 | |
| 填寫(xiě)與驗(yàn)證碼信息不一致的信息 | 系統(tǒng)顯示出提示信息,表明驗(yàn)證碼錯(cuò)誤,要求重新填寫(xiě) | 一致 | |
房屋租賃測(cè)試用例表如下所示。
表6-3房屋租賃測(cè)試用例
| 測(cè)試性能 | 用戶進(jìn)行租賃房屋的操作 | ||
| 用例目的 | 測(cè)試用戶進(jìn)行租賃房屋操作時(shí),系統(tǒng)的功能是否正常 | ||
| 前提條件 | 用戶進(jìn)入房屋詳情頁(yè),該房屋能夠被租訂 | ||
| 輸入條件 | 預(yù)期輸出 | 實(shí)際情況 | |
| 用戶未登錄,點(diǎn)擊租賃按鈕 | 跳轉(zhuǎn)至登錄頁(yè)面,提示用戶先進(jìn)性登錄 | 一致 | |
| 正常的登錄用戶,點(diǎn)擊租賃按鈕 | 系統(tǒng)彈出提示框,提示用戶租訂成功,同時(shí)該房屋的狀態(tài)更改為已租訂狀態(tài) | 一致 | |
房屋管理測(cè)試用例表如下所示。
表6-4房屋信息管理測(cè)試用例
| 測(cè)試性能 | 房屋相關(guān)信息管理功能 | ||
| 用例目的 | 測(cè)試系統(tǒng)后臺(tái)操作員對(duì)房屋相關(guān)信息進(jìn)行管理的功能是否正常 | ||
| 前提條件 | 登錄系統(tǒng)后臺(tái)進(jìn)入相關(guān)管理頁(yè)面 | ||
| 輸入條件 | 預(yù)期輸出 | 實(shí)際情況 | |
| 普通操作員登錄,點(diǎn)擊進(jìn)入房屋相關(guān)信息管理的頁(yè)面 | 提示非超級(jí)用戶,權(quán)限不夠,無(wú)法進(jìn)入相關(guān)頁(yè)面 | 一致 | |
| 超級(jí)操作員登入,刪除某個(gè)已被租賃的房屋 | 提示該房屋刪除失敗 | 一致 | |
| 點(diǎn)擊增加房屋按鈕 | 頁(yè)面正常跳轉(zhuǎn) | 一致 | |
| 增加房屋是,填寫(xiě)已存在的房屋編號(hào) | 提示該編號(hào)已存在 | 一致 | |
經(jīng)過(guò)對(duì)此系統(tǒng)的測(cè)試,得出該系統(tǒng)足以滿足用戶日常需求,在功能項(xiàng)目和操作等方面也能滿足操作員對(duì)于其他用戶的管理。但是,還有很多功能有待添加,這個(gè)系統(tǒng)僅能滿足大部分的需求,還需要對(duì)此系統(tǒng)的功能更進(jìn)一步的完善,這樣使用起來(lái)才能更加的完美。
通過(guò)房屋租賃管理系統(tǒng)的開(kāi)發(fā),本人鞏固了之前學(xué)過(guò)的知識(shí),如今將平時(shí)所學(xué)到的知識(shí)融合在設(shè)計(jì)中,在設(shè)計(jì)過(guò)程中,做了很多的準(zhǔn)備,首先,在數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)過(guò)程中,尤其是在數(shù)據(jù)庫(kù)的工作原理、工作特點(diǎn),對(duì)其深刻的討論,與此同時(shí),對(duì)于小型站點(diǎn)來(lái)說(shuō),最好服務(wù)器的選擇,其次,利用所學(xué)的知識(shí)點(diǎn)分析所做的系統(tǒng),并在此基礎(chǔ)上設(shè)計(jì)。
目前本系統(tǒng)已經(jīng)上線,正在試運(yùn)行階段,用戶反饋良好,基本完成用戶所需,試運(yùn)行過(guò)程中沒(méi)有出現(xiàn)阻斷性問(wèn)題,有一些不足和小問(wèn)題也及時(shí)予以修正,系統(tǒng)上線后,為了保證數(shù)據(jù)的安全性,對(duì)系統(tǒng)進(jìn)行了備份操作,系統(tǒng)備份是每?jī)蓚€(gè)月備份一次,數(shù)據(jù)庫(kù)備份為每周備份一次,系統(tǒng)部署在租賃的云平臺(tái)服務(wù)器中。
本次系統(tǒng)上線成功后,得到了用戶的高度認(rèn)可,但是在功能上和性能上還需做進(jìn)一步的研究處理,使其有更高的性能和更好的用戶體驗(yàn)。
系統(tǒng)在以后的升級(jí)過(guò)程中,需要解決一系列用戶所提出的問(wèn)題,例如打印過(guò)程中如何避免瀏覽器的兼容性問(wèn)題,大量用戶訪問(wèn)時(shí),如何保持較高的響應(yīng)速度,在系統(tǒng)今后的升級(jí)過(guò)程中將著重解決這些安全性問(wèn)題。
參考文獻(xiàn)
[1]熊雨治.企業(yè)出租自有房屋全流程管理研究[J].廣西質(zhì)量監(jiān)督導(dǎo)報(bào),2020(12):177-178.
[2]張基.基于Android平臺(tái)的房屋租賃管理系統(tǒng)的設(shè)計(jì)[J].老字號(hào)品牌營(yíng)銷,2019(07):70-71.
[3]胡世民.基于互聯(lián)網(wǎng)+的房屋租賃管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].江西財(cái)經(jīng)大學(xué),2019.
[4]研發(fā)房屋租賃管理系統(tǒng)[J].鐵路采購(gòu)與物流,2016,11(07):68-71.
[5]張旭超.基于B/S架構(gòu)的房屋租賃管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京工業(yè)大學(xué),2019.
[6]方義.關(guān)于房屋租賃管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)問(wèn)題研究[J].科技展望,2019,25(06):3-4.
[7]姚強(qiáng).基于SSH框架的杭州市暫住人口信息管理系統(tǒng)[D].浙江工業(yè)大學(xué),2019.
[8]Maria?Trojanek.?Carrying?Out?Municipal?Tasks?in?the?Scope?of?Housing?Stock?Management?–?Case?Study?of?Poznań?City[J].?Real?Estate?Management?and?Valuation,2019,22(3):
[9]趙鳳霞,?房屋租賃市場(chǎng)信息管理系統(tǒng)的研究與開(kāi)發(fā).?河南省,鄭州大學(xué),2019-12-15.
[10]孟令剛.?房屋租賃管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].吉林大學(xué),2019.
[11]Formoso?C.,Leite?F.,Miron?L..?Client?requirements?management?in?social?housing:?A?case?study?on?the?residential?leasing?program?in?brazil[J].?Journal?of?Construction?in?Developing?Countries,2018,16(2):
[12]李燕.房屋租賃管理缺陷及應(yīng)對(duì)方案分析[J].中國(guó)市場(chǎng),2018(19):68-69.
[13]葉艷.房屋租賃市場(chǎng)信息管理系統(tǒng).?河南省,鄭州市房地產(chǎn)管理局,2018-10-01.
[14]呂斌.房管所管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].四川大學(xué),2018.
[15]任小艷.基于UML建模的房屋租賃管理系統(tǒng)分析[J].焦作師范高等專科學(xué)校學(xué)報(bào),2018(01):56-59.
致謝
伴隨著設(shè)計(jì)的完成,大學(xué)生涯也隨之即將結(jié)束。大學(xué)期間是我最珍惜的時(shí)光,大學(xué)時(shí)光中學(xué)會(huì)了很多,也成長(zhǎng)了很多,這段時(shí)光中每一段回憶都刻在腦海中。感謝一起學(xué)習(xí),一起成長(zhǎng)同學(xué)們,和成長(zhǎng)過(guò)程悉心教導(dǎo)的老師們,非常感激有你們的陪伴。
首先感謝我的指導(dǎo)老師,設(shè)計(jì)的完成離不開(kāi)老師的一系列指導(dǎo)。在畢業(yè)設(shè)計(jì)的完成過(guò)程中,老師給出了很多中肯的建議,正是由于老師一絲不茍的工作態(tài)度,我的設(shè)計(jì)才能順利的完成。
最后,感謝在大學(xué)生涯中每一位教導(dǎo)我的老師,是你們教給了我豐富的知識(shí),更教會(huì)了我遇到問(wèn)題時(shí),如何去應(yīng)對(duì)并解決。謝謝你們的幫助與支持。
免費(fèi)領(lǐng)取本源代碼+請(qǐng)關(guān)注點(diǎn)贊+私聊
總結(jié)
以上是生活随笔為你收集整理的(附源码)python房屋租赁管理系统 毕业设计 745613的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: yarn 怎么查看有多个job在跑_fl
- 下一篇: Python实现GitBook工具