- 開發語言:Python
- 框架:django
- Python版本:python3.10(必須)
- 數據庫:mysql 5.7
- 數據庫工具:Navicat12
- 開發軟件:PyCharm
系統展示
系統首頁
系統登錄
房價預測
房屋管理
房屋分析
個人信息
密碼修改
用戶管理
摘要
在計算機剛開始發展的時候就出現了許多的宣傳自己樓盤的網頁,但是因為技術的限制很多功能都無法實現,再加上硬件設備的限制導致系統并不完美,有很多不符合購房者們使用習慣的瑕疵,也有很多的功能缺陷。隨著計算機編程語言的不斷發展和移動設備的出現和各種算法的發展,房屋價格的預測也越來越準確。
本系統使用Python語言和MySQL數據庫開發,可以為各地準備購房的人群或者想要了解房間的人群提供房價預測、房屋分析、用戶管理等多種功能,讓用戶不需要再繁瑣的查看每個樓盤各時期的價格就可以進行對自己心儀的房屋進行價格的預測,避免在房價最高時入場導致不必要的經濟損失。
研究背景
隨著人們生活水平和收入水平的提高,人們不必再為溫飽問題擔憂,人們都在想辦法從各方面去提高自己的生活質量,選擇一個好的房屋作為住所就是提高自己生活質量的一種方式。計算機技術對當今社會發展和人們生活水平的提高是很重要的組成部分,人們可以通過網絡從衣食住行等方面提高自己的生活質量,比如不想做飯的時候可以通過外賣平臺下單點餐;想買新衣服但又不想出門的時候可以通過淘寶網等購物網站進行衣服的挑選;想要出行可以提前通過攜程網或途游旅行等應用進行機票或酒店的預購……通過網絡進行線上的操作可以避免很多時間的浪費。
關鍵技術
Python是解釋型的腳本語言,在運行過程中,把程序轉換為字節碼和機器語言,說明性語言的程序在運行之前不必進行編譯,而是一個專用的解釋器,當被執行時,它都會被翻譯,與之對應的還有編譯性語言。
同時,這也是一種用于電腦編程的跨平臺語言,這是一門將編譯、交互和面向對象相結合的腳本語言(script language)。
Django用Python編寫,屬于開源Web應用程序框架。采用(模型M、視圖V和模板t)的框架模式。該框架以比利時吉普賽爵士吉他手詹戈·萊因哈特命名。該架構的主要組件如下:
1.用于創建模型的對象關系映射。
2.最終目標是為用戶設計一個完美的管理界面。
3.是目前最流行的URL設計解決方案。
4.模板語言對設計師來說是最友好的。
5.緩存系統。
HTML語言的全稱是超本文標記語言,HTML語言可以將文字、圖片或者視頻展現在網頁上,但僅僅使用標簽排列會使得網頁雜亂無章,所以本系統的前臺頁面還使用了CSS技術和JavaScript技術。CSS是層疊樣式表的縮寫,編程人員可以使用DIV+CSS的布局方式對網頁進行美化,這樣對網頁后期的維護和更新非常方便,如果有需要增加的內容就不需要再次書寫樣式了,只需要在網頁中使用已有的樣式即可。JavaScript是一種腳本語言,可以為網頁增加更多的功能,比如可以增加動態效果等。
MYSQL數據庫運行速度快,安全性能也很高,而且對使用的平臺沒有任何的限制,所以被廣泛應運到系統的開發中。MySQL是一個開源和多線程的關系管理數據庫系統,MySQL是開放源代碼的數據庫,具有跨平臺性。
B/S(瀏覽器/服務器)結構是目前主流的網絡化的結構模式,它能夠把系統核心功能集中在服務器上面,可以幫助系統開發人員簡化操作,便于維護和使用。
系統分析
對系統的可行性分析以及對所有功能需求進行詳細的分析,來查看該系統是否具有開發的可能。
系統設計
功能模塊設計和數據庫設計這兩部分內容都有專門的表格和圖片表示。
系統實現
用戶注冊登錄:用戶們(這里的用戶主要是學校負責網絡安全的老師)需要按照相關的法律法規進行注冊,注冊后才可以使用本系統。
首頁模塊:網站的前臺頁面主要對所有菜單進行顯示,除此之外還能顯示最新的房價預測信息、房屋信息等。
房價分析模塊:系統具有數據爬取功能,可以爬取各大房屋銷售網站(例如安居客、58同城等)的房價數據,可以根據用戶對房屋的各種需求進行爬蟲,對結果進行數據分析。
房屋管理模塊:可以查看所有房屋的預測數據并進行管理。
系統測試
軟件測試的目的是為了發現潛在的功能缺陷。一個畫面再漂亮的系統如果有功能缺陷也是無人敢用的,比如本系統的言論分析功能,如果用戶沒有經過爬蟲和分析就進行言論的刪除,那會造成很多誤刪的情況,同時也會降低在學生用戶或老師用戶心中的可信度,畢竟一個存在缺陷的系統是沒有人愿意使用的。在計算機軟件剛剛興起的時候,人們不太注重軟件測試這個環節,其實軟件測試是整個軟件開發過程中不可忽略的一個組成部分,沒有軟件測試環節的系統是不健全的系統,是無法投入使用的系統。
結論
本次畢業設計使用的是Python+MYSQL的開發模式,在結合了自己的生活經驗以及對他人進行的調查問卷之后最終完成了系統的開發,并且所有的功能都可以正常使用。在為自己通過四年的學習可以做出一個完整的項目的同時也在反思自己開發的這個系統有哪些不足,最終發現在以下幾個方面還有待提升點:
1、某些模塊的代碼結構冗余,代碼執行效率及可讀性較差,某些模塊中結構不清晰,經過思考發現可以使用面向對象思想中的繼承和多態進行改進。
2、數據庫的設計較為單一,并且書寫SQL查詢語句時只用了連接查詢和相關子查詢等,這會造成查詢較多數據時查詢速度慢的問題。改進的方法就是使用存儲過程和視圖來替代復雜的查詢語句。
3、用戶的數據分析和爬蟲未在系統中與安居客或58同城等平臺真正進行連接,這方面的知識自己比較欠缺,但經過了解后發現只要在相應的官網下載相關的接口與自己系統進行連接就有可能實現真正的在線鏈接。