基于java的房屋销售管理系统设计(含源文件)
歡迎添加微信互相交流學習哦!
項目源碼:https://gitee.com/oklongmm/biye
目 ? ?錄
摘 ?要?? ?1
Abstract?? ?2
第一章 前 言?? ?3
第二章 開發技術與開發工具?? ?4
2.1開發技術?? ?4
2.1.1 Swing技術?? ?4
2.1.2 SQL Server 2005 簡介與優勢?? ?4
2.2開發環境及工具?? ?5
2.2.1 jdk簡介?? ?5
2.2.2 Java語言簡介?? ?5
2.2.3 Eclipse簡介?? ?6
第三章 系統分析?? ?8
3.1系統的調查?? ?8
3.2可行性分析?? ?8
3.2.1 技術可行性分析?? ?9
3.2.2 經濟可行性分析?? ?9
3.2.3 營運可行性分析?? ?9
3.3實現的總目標?? ?10
第四章 思路與設計?? ?11
4.1業務流程分析?? ?11
4.2數據庫概念與邏輯設計?? ?11
4.2.1 數據庫概念設計?? ?12
4.2.2 數據庫邏輯設計?? ?13
4.3功能模塊的實現?? ?15
第五章 系統詳細設計?? ?17
5.1登陸界面與主界面?? ?17
5.2增刪改查客戶信息?? ?19
5.3用戶密碼修改?? ?25
第六章 結論?? ?28
6.1本系統的特點?? ?28
6.2存在的問題?? ?28
6.3心得與體會?? ?28
6.4總體評價?? ?28
參考文獻:?? ?30
致 ?謝?? ?31
?
摘 ?要
隨著社會主義市場經濟的建設與發展,人們生活質量的提高,近幾年來,我國的房地產迅速崛起,發展也越來也快。但隨著房地產如火如荼的發展,導致商品房種類以及數量不斷增多,客戶需求信息也產生了多樣性,所以房地產行業在房屋銷售中也出現了很多的問題。如資料管理手段落后、銷售工作不規范、客戶信息收集不齊全、銷售員業績評估不合理等。這些問題導致房地產銷售效率低下,對企業的業績和發展來說是極其不利的。在日趨激烈的市場競爭環境中,企業必須需要運用先進的信息技術和現代管理思想來提高房地產行業的管理水平、工作效率和服務質量,進一步降低運營成本、提高經濟效率,最終提升房地產公司的市場競爭力。
為此,本文研制開發了房屋銷售管理系統。該系統有助于收集客戶信息,查看房屋信息和銷售員信息,查看銷售信息,提高了管理員的決策信息,這對于規范房地產市場運作和管理都具有一定的現實意義。
本論文敘述了房屋銷售管理系統的基本原理和實現技術,通過Java、Eclipse和SQL Server數據庫等軟件的強大功能完成了該系統。經過代碼的調試與編譯,該系統能夠在windows XP/windows 7 中正常運行。該系統最大的優點是簡單方便,易于操作。
關鍵詞:房屋銷售;Java;Eclipse;SQL Server。
?
Houses Sales Management System
Abstract:
? ? ?With the establishment of socialist market economy and development, quality of people's life is improved. In recent years, Chinese real estate industry has risen rapidly and is developing faster and faster. But with real estate development in full swing, the number and variety of the housings, as well as the diversity of customer demand information increased, many problems have also emerged in real estate sales marketing system, such as backward data management, sales not standardized, the lack of complete customer information collection, sales staff performance evaluation unreasonable. Such problems led to low efficiency against real estate sales. These are extremely unfavorable for business performance and development. In the increasingly fierce market competition environment, we need to use advanced information technology and modern management ideas to improve the management level of the real estate industry, efficiency and service quality, further reduce operating costs, improve economic efficiency, and ultimately enhance the real estate company in the market competitiveness.?
? ? ?Therefore, we developed a houses sale management system, which helps to collect customers' information, searching houses' and salesmen’ information, sales information, which has some practical significance for operation and management of the real estate market.?
? ? ?This paper describes the basic principles and implementation techniques of the houses sales management system, which through the powerful features of Java, Eclipse and SQL server database software. After testing, the system can be operated normally in windows XP / windows 7. The system is simple, easy to operate.
Keywords: houses sales; Java; Eclipse; SQL Server
?
第一章 前 言
在房屋銷售業競爭越來越激烈的今天,房地產企業如何提高服務質量、管理能力顯得越來越重要。如果沒有一套可靠的管理系統,單憑手工操作,不僅效率低下,而且會極大地影響到企業的工作服務質量。房地產銷售管理是一項繁瑣、復雜而又精細的工作,它必須具備能夠及時搜集客戶信息、準確記錄銷售業績、查看樓盤信息等基本功能,為用戶提供一個方便添加、搜尋、修改客戶、銷售員、樓盤等相關諸多信息的操作平臺。
在信息化時代,日趨激勵的市場競爭中,及時準確地攫取有用信息,對企業的發展至關重要。房屋銷售管理系統以計算機為工具,把信息技術和管理有機結合起來,不僅使得信息收集及時、迅速、準確,而且操作方便、簡潔,把員工從繁瑣的工作中解脫出來。
為此,本文研制開發了房地產銷售管理信息系統。該系統有助于收集客戶信息,查看房屋信息,有效記錄銷售業績,提高管理員的決策信息,對于規范房地產市場運作和管理具有一定的現實意義。
另外,房屋銷售管理系統還具有傳統手工管理所無可比擬的優點。如:檢索迅速,查找方便,可靠性大,存儲量大,保密性好,壽命長,成本低等。這些優點能極大的提高房屋銷售管理的效率。
因此,開發這樣一個低成本高效率的管理系統是十分必要的。
?
第二章 開發技術與開發工具
2.1開發技術
本管理系統開發技術是Swing+SQL Server 2005 實現的。
2.1.1 Swing技術
Swing是一個用于開發Java應用程序用戶界面的開發工具包。它以抽象窗口工具包(AWT)為基礎使跨平臺應用程序可以使用任何可插拔的外觀風格。Swing開發人員只用很少的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來創建優雅的用戶界面。 工具包中所有的包都是以swing作為名稱,例如javax.swing,javax.swing.event
Swing是AWT的擴展,它提供了許多新的圖形界面組件。Swing組件以“J”開頭,除了擁有與AWT類似的按鈕(JButton)、標簽(JLabel)、復選框(JCheckBox)、菜單(JMenu)等基本組件外,還增加了一個豐富的高層組件集合,如表格(JTable)、樹(JTree)。
Swing 的三個基本構造塊:標簽、按鈕和文本字段;但是現在需要個地方安放它們,并希望用戶知道如何處理它們。JFrame 類就是解決這個問題的——它是一個容器,允許程序員把其他組件添加到它里面,把它們組織起來,并把它們呈現給用戶。 JFrame 實際上不僅僅讓程序員把組件放入其中并呈現給用戶。比起它表面上的簡單性,它實際上是 Swing 包中最復雜的組件。為了最大程度地簡化組件,在獨立于操作系統的 Swing 組件與實際運行這些組件的操作系統之間,JFrame 起著橋梁的作用。JFrame 在本機操作系統中是以窗口的形式注冊的,這么做之后,就可以得到許多熟悉的注冊窗口的特性:最小化/最大化、改變大小、移動。
2.1.2 SQL Server 2005 簡介與優勢
Microsoft SQL Server 2005 是一個全面的數據庫平臺,使用集成的商業智能 (BI)工具提供了企業級的數據管理。Microsoft SQL Server 2005數據庫引擎為關系型數據和結構化數據提供了更安全可靠的存儲功能,使您可以構建和管理用于業務的高可用和高性能的數據應用程序。
Microsoft SQL Server 2005 數據引擎是該企業數據管理解決方案的核心。此外 Microsoft SQL Server 2005 結合了分析、報表、集成和通知功能。這使您的企業可以構建和部署經濟有效的 BI 解決方案,幫助您的團隊通過記分卡、Dashboard、Web services 和移動設備將數據應用推向業務的各個領域。
與 Microsoft Visual Studio、Microsoft Office System 以及新的開發工具包(包括 Business Intelligence Development Studio)的緊密集成使 Microsoft SQL Server 2005 與眾不同。無論您是開發人員、數據庫管理員、信息工作者還是決策者,Microsoft SQL Server 2005 都可以為您提供創新的解決方案,幫助您從數據中更多地獲益。
2.2開發環境及工具
本系統使用jdk1.6.0_26運行環境
服務器操作系統:Windows
數據庫服務器:sql server
開發語言:Java
2.2.1 jdk簡介
JDK(Java Development Kit)是Sun Microsystems針對Java開發員的產品。自從Java推出以來,JDK已經成為使用最廣泛的Java SDK。JDK 是整個Java的核心,包括了Java運行環境、Java工具和Java基礎類庫。JDK是學好Java的第一步。而專門運行在x86平臺的Jrocket在服務端運行效率也要比Sun JDK好很多。從SUN的JDK5.0開始,提供了泛型等非常實用的功能,其版本也不斷更新,運行效率得到了非常大的提高。
2.2.2 Java語言簡介
Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設計語言和java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用于個人PC、數據中心、游戲控制臺、科學超級計算機、移動電話和互聯網,同時擁有全球最大的開發者專業社群。在全球云計算和移動互聯網的產業環境下,Java更具備了顯著優勢和廣闊前景。
Java語言的特點:
1.簡單 :Java與C++語言非常相近,但比C++簡單,它拋棄了C++中的一些不是絕對必要的功能,如頭文件、預處理文件、指針、結構、運算符重載、多重繼承以及自動強迫同型。Java實現了自動的垃圾收集,簡化了內存管理的工作。
2. 面向對象 : Java提供了簡單的類機制和動態的構架模型。對象中封裝了它的狀態變量和方法,很好地實現了模塊化和信息隱藏;而類則提供了一類對象的原型,通過繼承和重載機制,子類可以使用或重新定義父類或超類所提供的方法,從而既實現了代碼的復用,又提供了一種動態的解決方案。
3. 多線程:多線程使應用程序可以同時進行不同的操作,處理不同的事件。在多線程機制中,不同的線程處理不同的任務,他們之間互不干涉,不會由于一處等待影響其他部分,這樣容易實現網絡上的實時交互操作。
4. 分布式:Java是面向網絡的語言。通過它提供的類庫可以處理TCP/IP協議,用戶可以通過URL地址在網絡上很方便的訪問其他對象。
5. 跨平臺:Java是一種網絡語言,為使Java程序能在網絡的任何地方運行,Java解釋器生成與體系結構無關的字節碼結構的文件格式。Java語言環境還提供了用于訪問底層操作系統功能的類組成的包,當程序使用這些包時,可以確保它能運行在各種支持Java的平臺上。
6. 安全性:用于網絡、分布環境下的Java必須要防止病毒的入侵,Java不支持指針,一切對內存的訪問都必須通過對象的實例變量來實現,這樣就防止了程序員使用欺騙手段訪問對象的私有成員,同時也避免了指針操作中容易產生的錯誤。
2.2.3 Eclipse簡介
Eclipse 是一個開放源代碼的、基于Java的可擴展開發平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發工具(Java Development Kit,JDK)。
Eclipse是著名的跨平臺的自由集成開發環境(IDE)。最初主要用來Java語言開發,但是目前亦有人通過插件使其作為其他計算機語言比如C++和Python的開發工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發商以Eclipse為框架開發自己的IDE。
Eclipse 最初由OTI和IBM兩家公司的IDE產品開發組創建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎,包括Platform、JDT 和PDE。目前由IBM牽頭,圍繞著Eclipse項目已經發展成為了一個龐大的Eclipse聯盟,有150多家軟件公司參與到Eclipse項目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一個開發源碼項目,它其實是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其開放源碼,任何人都可以免費得到,并可以在此基礎上開發各自的插件,因此越來越受人們關注。近期還有包括Oracle在內的許多大公司也紛紛加入了該項目,并宣稱Eclipse將來能成為可進行任何語言開發的IDE集成者,使用者只需下載各種語言的插件即可。
?
第三章 系統分析
系統分析的主要任務是將在系統詳細調查中所得到的文檔資料集中到一起,對組織內部整體管理狀況和信息處理過程進行分析。它側重于從業務全過程的角度進行分析。分析的主要內容是:業務和數據的流程是否通暢,是否合理;數據、業務過程和實現管理功能之間的關系;老系統管理模式改革和新系統管理方法的實現是否具有可行性等等。系統分析的目的是將用戶的需求及其解決方法確定下來,這些需要確定的結果包括:開發者關于現有組織管理狀況的了解;用戶對信息系統功能的需求;數據和業務流程;管理功能和管理數據指標體系;新系統擬改動和新增的管理模型等等。系統分析所確定的內容是今后系統設計、系統實現的基礎。
在系統分析階段中,主要分以下幾個方面分析:系統的可行性調查、可行性分析、詳細分析調查、系統的邏輯方案構思。
3.1系統的調查
通過在互聯網上搜集資料,查看相關的專業書籍,并結合自己了解的實際情況,來分析以往管理系統的現狀、需求及存在的一些實際問題:
(1) 在信息化時代,日趨激勵的市場競爭中,現在的房屋銷售管理系統沒有完全科學化、規范化、處理速度較慢,難以進行有效的信息反饋。
(2) 房地產公司領導對員工信息不能得到及時反饋、業績得不到準確的評估;銷售員對客戶信息得不到及時搜集和統計。由此造成嚴重信息脫節,從而影響房地產銷售效率。
(3) 部門之間信息交流少,信息渠道單一,不利于協調工作,容易出錯。
因此,我想通過建立房屋銷售管理系統,使房屋銷售管理工作科學化、規范化、程序化,促使提高信息處理的速度和正確性,使房地產公司的信息流程和流向清晰化、合理化、一體化,第一時間把握市場需求信息,以提高整個房地產公司銷售業績。
3.2可行性分析
可行性分析是通過對項目的主要內容和配套條件,如市場需求、資源供應、建設規模、工藝路線、設備選型、環境影響、資金籌措、盈利能力等,從技術、經濟、工程等方面進行調查研究和分析比較,并對項目建成以后可能取得的財務、經濟效益及社會環境影響進行預測,從而提出該項目是否值得投資和如何進行建設的咨詢意見,為項目決策提供依據的一種綜合性的系統分析方法。可行性分析應具有預見性、公正性、可靠性、科學性的特點。
可行性分析的任務是明確應用項目的開發的必要性和可行性。必要性來自實現開發任務的迫切性,而可行性則取決于實現應用系統的資源和條件。這項工作需建立在初步調查的基礎上。通過系統的調查,本系統可行性分析可從技術可行性、經濟可行性、營運可行性三個方面去分析。
3.2.1 技術可行性分析
本系統采用Windows 7作為操作平臺。數據庫選用Microsoft SQL Server 2005,通過測試,該數據庫系統在Windows XP和 Windows 7上都能運行,并能提供數據庫之間的數據復制功能,這樣的話就可代替現有系統單據數據的手工傳遞工作,降低出錯率,提高數據的可用性。本系統的應用軟件開發平臺選用Eclipse。
3.2.2 經濟可行性分析
?采用新的房屋銷售管理系統可取代傳統的手工單據傳遞工作,這樣的話就可以減少人工的開支,不但節省了金錢,而且可大大提高信息量的獲取,縮短信息處理的周期,提高房屋、客戶信息的利用率,使銷售質量更上一個心的臺階。
3.2.3 營運可行性分析
本管理系統操作原理簡易,易于分析和理解,對用戶只需通過簡單的培訓就可以使用,系統上手較快,營運的環境要求不高。
系統的設計還應該以“標準性、安全性、兼容性、高效性、保密性、可維護性”這幾個方面為標準,這樣就可以在當前的應用基礎上,為以后系統的擴展和升級留有充分的余地。軟件開發應該能在較長時間內滿足房地產市場的發展需要。所以新系統還需要滿足以下的幾個標準:
(1) 標準性:在系統的軟硬件選型上,都應該采用工業化標準,這樣做既可以保證系統的運行質量,又可以分享在此標準上的每一次技術進步。
(2) 可靠性:由于房屋銷售信息的重要性,系統的軟硬件應有良好的質量保障,確保不會由于軟硬件故障造成系統運行終止,從而使用戶蒙受不必要的損失。
(3) 安全性:登錄模塊應采用用戶名和密碼分開檢測,這樣的話可以防止SQL的注入;在實際運行中也可以考慮IP過慮,數據庫應該定期備份。
(4) 兼容性:理論上系統的所有軟硬件都應有良好的的兼容性,只有這樣,才能保證系統軟硬件的可互換性。
(5) 高效性:由于在實際應用中,因為房屋銷售每次處理的信息量都比較大,因此系統應該對信息的處理能力,響應能力是快速而且有效的,開發人員在軟件編制過程中應充分考慮到這一點。
(6) 可維護性:系統軟件設計時應采用結構化的模塊設計,以便于開發和維護,這樣的話,也有利于根據實際情況隨時進行功能模塊調整和維護。
3.3實現的總目標
目標:系統可以實現對房地產銷售系統等基本信息進行管理,如銷售員業績管理,客戶信息管理;以及對房地產銷售員工的基本信息和客戶基本信息進行管理和維護。
?
第四章 思路與設計
制定房屋銷售管理項目開發的計劃,包括業務流程分析,數據庫邏輯設計。
4.1業務流程分析
業務流程分析如圖4-1所示:
?
圖4-1 ?業務流程分析圖
4.2數據庫概念與邏輯設計
本系統數據庫是SQL Server 2005,根據的數據庫添加的類和對象,以其英文件單命名,如客戶信息,以Client為類名,客戶信息對象姓名、年齡分別以name和 age命名。表中的字段也是如此,以英文件單詞單來描述其意思,如email(郵箱)。總之,命名的原則是:簡潔而意思清楚,不產生異義,代碼編寫人員易懂,能提高程序開發效率。在進行數據庫設計這一過程是是根據各方面的要求和考慮然后才設計了現在的這個數據庫模型。根據實際房屋銷售管理系統的業務運行和需求,將信息分為如下模塊:客戶信息、房屋信息、銷售員信息、銷售信息、密碼修改等。
4.2.1 數據庫概念設計
根據模塊的構造,設計規劃出的實體有:客戶信息實體、房屋信息實體、銷售員信息實體、銷售信息實體。
客戶信息實體ER圖 如圖4-2所示:
?
圖4-2 客戶信息實體ER圖
房屋信息實體ER圖 如圖4-3所示:
?
圖4-3 房屋信息實體ER圖
銷售員信息實體ER圖 如圖4-4所示:
?
圖4-4 銷售員信息實體ER圖
? ? 銷售信息實體ER圖 如圖4-5所示:
?
圖4-5 銷售信息實體ER圖
4.2.2 數據庫邏輯設計
據庫的概念結構設計完畢后,現在可以將上面的數據庫概念結構轉化為某種數據庫系統所支持的實際數據庫模型,也就是數據庫的邏輯結構。
房屋銷售管理系統數據庫中各個表格的設計結果如下面幾個表所示。每個表表示在數據庫中的一個數據表。
客戶相關信息 如表4-6所示:
字段名?? ?字段類型?? ?字段寬度?? ?備注
姓 ? ?名?? ?VARCHAR?? ?10?? ?主索引,不允許空
性 ? ?別?? ?VARCHAR?? ?6?? ?默認為0
年 ? ?齡?? ?INT?? ?3?? ?默認為0
電 ? ?話?? ?INT?? ?18?? ?默認為0
郵 ? ?箱?? ?VARCHAR?? ?30?? ?默認為0
備 ? ?注?? ?VARCHAR?? ?50?? ?默認為0
表4-6 客戶信息數據表
房屋相關信息 如表4-7所示:
字段名?? ?字段類型?? ?字段寬度?? ?備注
房屋名稱?? ?VARCHAR?? ?15?? ?主索引,不允許空
房屋類別?? ?VARCHAR?? ?15?? ?默認為0
單元房間號?? ?VARCHART?? ?10?? ?默認為0
單 ? ?價?? ?INT?? ?6?? ?默認為0
面 ? ?積?? ?INT?? ?6?? ?默認為0
銷售人員?? ?VARCHART?? ?10?? ?默認為0
聯系電話?? ?INT?? ?12?? ?默認為0
表4-7 房屋信息數據表
銷售員相關信息 如表4-8所示:
字段名?? ?字段類型?? ?字段寬度?? ?備注
姓 ? ?名?? ?VARCHAR?? ?10?? ?主索引,不允許空
性 ? ?別?? ?VARCHAR?? ?3?? ?默認為0
年 ? ?齡?? ?INT?? ?3?? ?默認為0
電 ? ?話?? ?INT?? ?15?? ?默認為0
郵 ? ?箱?? ?VARCHAR?? ?30?? ?默認為0
表4-8 銷售員信息數據表
銷售相關信息 如表4-9所示:
字段名?? ?字段類型?? ?字段寬度?? ?備注
銷售員?? ?VARCHAR?? ?10?? ?主索引,不允許空
房屋名稱?? ?VARCHAR?? ?15?? ?默認為0
單元房間號?? ?VARCHAR?? ?10?? ?默認為0
銷售價格?? ?INT?? ?6?? ?默認為0
表4-9 銷售信息數據表
修改密碼基本信息 如表4-10所示:
字段名?? ?字段類型?? ?字段寬度?? ?索引
舊密碼?? ?VARCHAR?? ?25?? ?
新密碼?? ?VARCHAR?? ?25?? ?
確認密碼?? ?VARCHAR?? ?25?? ?
表4-10 密碼修改信息數據表
? 建立好的數據庫列表 如圖4-11所示:
?
圖4-11 數據庫列表截圖
4.3功能模塊的實現
功能模塊是指數據說明、可執行語句等程序元素的集合,它是指單獨命名的可通過名字來訪問的過程、函數、子程序或宏調用。功能模塊化是將程序劃分成若干個功能模塊,每個功能模塊完成了一個子功能,再把這些功能模塊總起來組成一個整體。以滿足所要求的整個系統的功能。
? ??
? ? 本系統包括以下幾個功能模塊:
? ? 登陸界面:輸入管理賬號和密碼
? ? 主頁面:主頁面包括客戶信息、房屋信息、銷售員信息、
? ? 銷售信息、密碼修改、退出系統。
? ? 客戶信息管理:客戶信息錄入,客戶基本信息修改、查找、刪除。
? ? 房屋信息管理:房屋信息錄入,房屋基本信息修改、查找、刪除。
? ? 銷售員信息管理:銷售員信息錄入,銷售員基本信息修改、查找、刪除。
? ? 銷售信息管理:銷售信息錄入,銷售基本信息修改、查找、刪除。
? ? 修改密碼:舊密碼認證,輸入新密碼與確認新密碼。
退出:退出主頁面后返回登陸界面。
?
系統功能模塊圖 如圖4-12所示:
?
圖4-12 系統功能模塊圖
第五章 系統詳細設計
詳細設計是軟件工程中軟件開發的一個步驟,就是對概要設計的一個細化,就是詳細設計每個模塊實現算法,所需的局部結構。詳細設計的主要任務是設計每個模塊的實現算法、所需的局部數據結構。詳細設計的目標有兩個:實現模塊功能的算法要邏輯上正確和算法描述要簡明易懂。
5.1登陸界面與主界面
在登陸界面中有登陸口令限制,也就是說,只有輸入正確的登陸用戶名和密碼,才可能進入系統管理的菜單界面(默認用戶名:admin,默認密碼為:123)。
登陸界面圖 如圖5-1所示:
?
如圖5-1登陸界面圖
登陸界面主要程序代碼如下:
? ? private void jButton0ActionActionPerformed(ActionEvent event) {
?? ??? ?UserDao userDao = new UserDao();
?? ??? ?User user = userDao.getUser(tf_userName.getText(),
? ? ? ? tf_passWord.getText());
?? ??? ?if (user.getId() > 0) {
?? ??? ??? ?Index frame = new Index();
?? ??? ??? ?frame.setVisible(true);
?? ??? ??? ?frame.setUsername(tf_userName.getText());
?? ??? ??? ?Login.this.dispose();
?? ??? ??? ?System.out.print(user.getId());
?? ??? ?} else {
?? ??? ??? ?JOptionPane.showMessageDialog(getContentPane(),?
? ? ? ? ? ? "賬戶或密碼錯誤!",
?? ??? ??? ?"信息提示框", JOptionPane.INFORMATION_MESSAGE);
?? ??? ??? ?tf_userName.setText("");
?? ??? ??? ?tf_passWord.setText("");
?? ??? ?}
?? ?}
用戶正確登錄后出現如圖的主界面,圖左側顯示房屋銷售管理系統的相關功能模塊,提供用戶操作界面。
主界面圖 如圖5-2所示:
?
圖5-2主界面圖
主界面主要程序代碼如下:
? ? ?public Index() {
?? ??? ?JPanel jpanel = new JPanel();
?? ??? ?this.setContentPane(jpanel);
?? ??? ?GridLayout gird = new GridLayout(3, 0);
?? ??? ?jpanel.setLayout(gird);
?? ??? ?ImageIcon img = new ImageIcon("src/main.jpg");
?? ??? ?JLabel imgLabel = new JLabel(img);
?? ??? ?this.getLayeredPane().
? ? ? ? add(imgLabel,newInteger(Integer.MIN_VALUE));
?? ??? ?imgLabel.setBounds(0,0,img.getIconWidth(),img.getIconHeight());
?? ??? ?this.getLayeredPane().setLayout(null);
?? ??? ?this.setResizable(false);
?? ??? ?this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
?? ??? ?jpanel.setOpaque(false);
?? ??? ?initComponents();
?? ??? ?this.setLocationRelativeTo(null);
?? ??? ?//開始計時器
?? ??? ?startTimer();
?? ?}
?? ?
?? ?private void startTimer(){
?? ??? ?timer=new Timer();
?? ??? ?timer.schedule(new TimerTask() {
?? ??? ??? ?public void run() {
?? ??? ??? ??? ?SimpleDateFormat sdf = new SimpleDateFormat
? ? ? ? ? ? ? ? ("yyyy年MM月dd日 ?HH時mm分ss秒");
?? ??? ??? ??? ?String dates = sdf.format(new Date());
?? ??? ??? ??? ?timelabel.setText("當前時間:"+dates);
?? ??? ??? ?}
?? ??? ?}, 0, 1000);
?? ?}
5.2增刪改查客戶信息
用戶成功登錄系統后可以點擊左側功能模塊操作相關信息,即可以在左側管理功能菜單中的客戶信息模塊中操作客戶的基本信息。其中包括添加、查詢、修改、刪除這些功能鍵。
點擊客戶信息會出現如圖5-3所示:
?
圖5-3 客戶信息管理圖
由于本模塊中各個功能操作類似,為此,以查看客戶信息為例,對房屋銷售管理系統中客戶信息模塊做一個演示操作。在這個子模塊中包括有添加、修改、刪除、查詢功能,提供了一個非常簡便操作界面,使得管理員可以及時了解更新客戶信息情況。
添加客戶信息:單擊添加,彈出添加客戶信息頁面,填好信息單擊提交即可返回客戶信息頁面并顯示出新添加的信息如圖5-4、5-5所示:
?
圖5-4 添加客戶信息圖
?
圖5-5 添加客戶信息后顯示圖
添加客戶信息主要程序代碼如下:
? ? private void jButton0ActionActionPerformed(ActionEvent event) {
?? ??? ?ClientDao clientDao = new ClientDao();
?? ??? ?if (jFormattedTextField0.getText().equals("")
?? ??? ??? ??? ?|| jFormattedTextField1.getText().equals("")
?? ??? ??? ??? ?|| jFormattedTextField2.getText().equals("")
?? ??? ??? ??? ?|| jFormattedTextField3.getText().equals("")
?? ??? ??? ??? ?|| jFormattedTextField4.getText().equals("")
?? ??? ??? ??? ?|| jFormattedTextField5.getText().equals("")
?? ??? ??? ??? ?|| jFormattedTextField6.getText().equals("")) {
?? ??? ??? ?JOptionPane.showMessageDialog(getContentPane(),?
? ? ? ? ? ? "請將信息填寫完整!",
?? ??? ??? ?"信息提示框", JOptionPane.INFORMATION_MESSAGE);
?? ??? ?} else {
?? ??? ??? ?clientDao.addClient(jFormattedTextField0.getText(),
?? ??? ??? ??? ??? ?jFormattedTextField1.getText(), jFormattedTextField2
?? ??? ??? ??? ??? ??? ??? ?.getText(), jFormattedTextField3.getText(),
?? ??? ??? ??? ??? ?jFormattedTextField4.getText(), jFormattedTextField5
?? ??? ??? ??? ??? ??? ??? ?.getText(), jFormattedTextField6.getText());
?? ??? ??? ?JOptionPane.showMessageDialog(getContentPane(),?
? ? ? ? ? ? "添加成功!", "信息提示框",
?? ??? ??? ?JOptionPane.INFORMATION_MESSAGE);
?? ??? ??? ?AddClient.this.dispose();
?? ??? ??? ?IndexClient frame = new IndexClient();
?? ??? ??? ?frame.setVisible(true);
?? ??? ?}
?? ?}
客戶信息的刪除:單擊列表中的一行再點擊刪除按鍵,會提示刪除成功,并顯示 刪除后的列表,視圖如圖5-6、5-7所示:
?
圖5-6 刪除客戶信息提示圖
?
圖5-7 刪除客戶信息后顯示圖
刪除客戶信息主要程序代碼如下:
? ? public void actionPerformed(ActionEvent event) {
?? ??? ??? ??? ??? ?TableModel model = jTable0.getModel();
?? ??? ??? ??? ??? ?ClientDao dao = new ClientDao();
?? ??? ??? ??? ??? ?int row = jTable0.getSelectedRow();
?? ??? ??? ??? ??? ?if (row < 0) {
?? ??? ??? ??? ??? ??? ?JOptionPane.showMessageDialog(getParent(),
?? ??? ??? ??? ??? ??? ??? ??? ?"沒有選擇要刪除的數據!", "信息提示框",
?? ??? ??? ??? ??? ??? ??? ??? ?JOptionPane.INFORMATION_MESSAGE);
?? ??? ??? ??? ??? ??? ?return;
?? ??? ??? ??? ??? ?} else {
?? ??? ??? ??? ??? ?String column = model.getValueAt(row, 0).toString();
?? ??? ??? ??? ??? ??? ?dao.deleteClient(Integer.parseInt(column));
?? ??? ??? ??? ??? ??? ?JOptionPane.showMessageDialog(getParent(),?
? ? ? ? ? ? ? ? ? ? ? ? "數據刪除成功!",
?? ? ? ? ? ? ? ? ? ? ? ?"信息提示框", JOptionPane.INFORMATION_MESSAGE);
?? ??? ??? ??? ??? ??? ?IndexClient.this.dispose();
?? ??? ??? ??? ??? ??? ?IndexClient frame = new IndexClient();
?? ??? ??? ??? ??? ??? ?frame.setVisible(true);
?? ??? ??? ??? ??? ??? ?repaint();
?? ??? ??? ??? ??? ?}
?? ??? ??? ?}
客戶信息的修改:雙擊要修改的信息格,修改好后單擊任一其它的方格再單擊修改,修改成功。視圖如圖5-8、5-9所示:
?
圖5-8 客戶信息修改圖(1)
?
圖5-9 客戶信息修改圖(2)
?修改客戶信息主要程序代碼如下:
? ? ?public void actionPerformed(ActionEvent event) {
?? ??? ??? ??? ??? ?TableModel model = jTable0.getModel();
?? ??? ??? ??? ??? ?int row = jTable0.getSelectedRow();
?? ??? ??? ??? ??? ?ClientDao dao = new ClientDao();
?? ??? ??? ??? ??? ?Client client = new Client();
?? ??? ??? ??? ??? ?if (row < 0) {
?? ??? ??? ??? ??? ??? ?JOptionPane.showMessageDialog(getParent(),
?? ??? ??? ??? ??? ??? ??? ??? ?"沒有選擇要修改的數據!", "信息提示框",
?? ??? ??? ??? ??? ??? ??? ??? ?JOptionPane.INFORMATION_MESSAGE);
?? ??? ??? ??? ??? ??? ?return;
?? ??? ??? ??? ??? ?} else {
?? ??? ??? ??? ??? ??? ?try {
?? ??? ??? ??? ??? ?String column = model.getValueAt(row, 0).toString();
?? ??? ??? ??? ??? ??? ??? ?client.setId(Integer.parseInt(column));
?? ??? ??? ??? ??? ??? ??? ?column = model.getValueAt(row, 1).toString();
?? ??? ??? ??? ??? ??? ??? ?client.setName(column);
?? ??? ??? ??? ??? ??? ??? ?column = model.getValueAt(row, 2).toString();
?? ??? ??? ??? ??? ??? ??? ?client.setSex(column);
?? ??? ??? ??? ??? ??? ??? ?column = model.getValueAt(row, 3).toString();
?? ??? ??? ??? ??? ??? ??? ?client.setAge(column);
?? ??? ??? ??? ??? ??? ??? ?column = model.getValueAt(row, 4).toString();
?? ??? ??? ??? ??? ??? ??? ?client.setPhone(column);
?? ??? ??? ??? ??? ??? ??? ?column = model.getValueAt(row, 5).toString();
?? ??? ??? ??? ??? ??? ??? ?client.setEmail(column);
?? ??? ??? ??? ??? ??? ??? ?column = model.getValueAt(row, 6).toString();
?? ??? ??? ??? ??? ??? ??? ?client.setAddress(column);
?? ??? ??? ??? ??? ??? ??? ?column = model.getValueAt(row, 7).toString();
?? ??? ??? ??? ??? ??? ??? ?client.setRemark(column);
?? ??? ??? ??? ??? ??? ??? ?dao.updateClient(client);
?? ??? ??? ??? ??? ??? ??? ?JOptionPane.showMessageDialog(getParent(),?
? ? ? ? ? ? ? ? ? ? ? ? ? ? "修改成功!",
?? ??? ??? ??? ??? ??? ? ?"信息提示框", JOptionPane.INFORMATION_MESSAGE);
?? ??? ??? ??? ??? ??? ??? ?IndexClient.this.dispose();
?? ??? ??? ??? ??? ??? ??? ?IndexClient frame = new IndexClient();
?? ??? ??? ??? ??? ??? ??? ?frame.setVisible(true);
?? ??? ??? ??? ??? ??? ??? ?repaint();
?? ??? ??? ??? ??? ??? ?} catch (Exception ee) {
?? ??? ??? ??? ??? ??? ??? ?ee.printStackTrace();
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?}
? ? ? ? ? }
客戶信息的查詢:客戶的信息查詢是以姓名為搜索關鍵字的,在姓名框輸入姓名再單擊查詢,即顯示所要查詢的客戶信息。視圖如圖5-10所示:
?
圖5-10 客戶信息查詢圖
查詢客戶信息主要程序代碼如下:
?? ? public void actionPerformed(ActionEvent event) {
?? ??? ??? ??? ??? ?TableModel model = jTable0.getModel();
?? ??? ??? ??? ??? ?ClientDao dao = new ClientDao();
?? ??? ??? ??? ??? ?String[] Name = { "姓名" };
?? ??? ??? ??? ??? ?comboBox = new JComboBox(Name);
?? ??? ??? ??? ??? ?((DefaultTableModel) model).setRowCount(0);
?? ??? ??? ??? ??? ?String joinDate = jFormattedTextField0.getText();
?? ??? ??? ??? ??? ?String condition=comboBox.
? ? ? ? ? ? ? ? ? ? getSelectedItem().toString();
?? ??? ??? ??? ??? ?if (joinDate.equals("")) {
?? ??? ??? ??? ??? ??? ?JOptionPane.showMessageDialog(getParent(),?
? ? ? ? ? ? ? ? ? ? "沒有填寫查詢條件!",
?? ??? ??? ??? ??? ?"信息提示框", JOptionPane.INFORMATION_MESSAGE);
?? ??? ??? ??? ??? ??? ?return;
?? ??? ??? ??? ??? ?}
?? ??? ??? ??? ?if (condition.equals("姓名")) {
?? ??? ??? ??? ??? ??? ?Client client = dao.selectClientByName(joinDate);
?? ??? ??? ??? ??? ?if (client != null) {
?? ??? ??? ??? ??? ??? ?((DefaultTableModel) model).addRow(new Object[] {
?? ??? ??? ??? ??? ??? ??? ??? ?client.getId(), client.getName(),
?? ??? ??? ??? ??? ??? ??? ??? ?client.getSex(), client.getAge(),
?? ??? ??? ??? ??? ??? ??? ??? ?client.getPhone(), client.getEmail(),
?? ??? ??? ??? ??? ??? ??? ??? ?client.getAddress(), client.getRemark() });
?? ??? ??? ??? ??? ??? ??? ?System.out.print("00");
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?}
?? ??? ??? ?}
5.3用戶密碼修改
修改密碼:舊密碼認證,輸入新密碼與確認新密碼。視圖如圖5-11所示:
?
圖5-11 用戶密碼修改圖
?修改用戶密碼主要程序代碼如下:
? ? ?private void jButton0ActionActionPerformed(ActionEvent event) {
?? ??? ?UserDao dao = new UserDao();
?? ??? ?// 原密碼
?? ??? ?String oldPwd = jTextField0.getText();
?? ??? ?// 新密碼
?? ??? ?String newPwd = jTextField1.getText();
? ? ? ?if (oldPwd != null && oldPwd.trim() != "") {// 防止輸入空格
?? ??? ??? ?if (jTextField1.getText().equals(jTextField2.getText())) {
?? ??? ??? ?if(dao.getUser(this.getUsername(),
? ? ? ? ? ? oldPwd).getUserName() != ?null) {// 驗證用戶名密碼成功
?? ??? ??? ??? ??? ?dao.alterPwd(this.getUsername(), newPwd);
?? ??? ??? ??? ??? ?JOptionPane.showMessageDialog(getContentPane(),?
? ? ? ? ? ? ? ? ? ? "密碼更改成功");
?? ??? ??? ??? ??? ?Index frame = new Index();
?? ??? ??? ??? ??? ?frame.setVisible(true);
?? ??? ??? ??? ??? ?IndexAlterCode.this.dispose();
?? ??? ??? ??? ?} else {
?? ??? ??? ??? ??? ?JOptionPane.showMessageDialog(getContentPane(),
? ? ? ? ? ? ? ? ? ? "密碼輸入錯誤!");
?? ??? ??? ??? ??? ?jTextField0.setText(null);
?? ??? ??? ??? ??? ?jTextField1.setText(null);
?? ??? ??? ??? ??? ?jTextField2.setText(null);
?? ??? ??? ??? ?}
?? ??? ??? ?} else {
?? ??? ??? ??? ?JOptionPane.showMessageDialog(getContentPane(),?
? ? ? ? ? ? ? ? "再次輸入不一致");
?? ??? ??? ??? ?jTextField0.setText(null);
?? ??? ??? ??? ?jTextField1.setText(null);
?? ??? ??? ??? ?jTextField2.setText(null);
?? ??? ??? ?}
?? ??? ?} else {
?? ??? ??? ?JOptionPane.showMessageDialog(getContentPane(),?
? ? ? ? ? ?"請輸入密碼");
?? ??? ?}
}
?
第六章 結論
6.1本系統的特點
本系統通過Java、Eclipse和SQL Server數據庫等軟件的強大功能完成,經過測試,該系統能夠在windows XP/linux 中正常運行。
1.?? ?程序變量規范:變量統一使用英文單詞描述,除首單詞字母大寫,其余單詞字母小寫。簡潔而意思清楚,不產生異義,代碼編寫人員易懂,能提高程序開發效率。
2.?? ?文件編碼規范:在程序段中所使用的變量要求使用英文命名,嚴禁使用int a=0;String str=”***”之類的隨意命名。
3.?? ?界面設計規范:總體簡介、協調,美觀大方,不花哨。
4.?? ?用戶操作簡單快捷。
6.2存在的問題
由于做的比較倉促,所以本管理系統還存在一些問題與不足,比如頁面不夠美觀,需要進一步的修改與美化;通過不斷的改善,系統優化了不少,但要達到理想的狀態還是有一定的差距的,如部分功能程序代碼過于冗長,不夠精簡,部分數據庫表的設計存在一定的冗余,也要有進一步的優化設計。
6.3心得與體會
通過這次畢業設計,使我明白了自己原有的知識面還比較欠缺的。在實際的應用中,自己要學習的東西還很多很多,此次的系統開發過程,不僅是對我學過的理論知識的一次實踐應用,更是對我處理問題、解決實際問題能力的培養和鍛煉。通過這次畢業設計,我才明白學習是一個長期積累的過程,在以后的工作、生活中我們都應該不斷的學習,努力提高自己知識和綜合素質,這樣才能進步。
6.4總體評價
房屋銷售管理系統經過了簡單測試,其功能符合用戶的基本需求,實現了管理員登陸,銷售員信息、客戶信息的修改、添加、刪除等功能。系統使用簡潔明快的界面風格設計,具備了友好性,靈活性和可靠性,實現了預期目標和功能。
在本系統開發中,我主要完成以下幾個方面的工作:
1、閱讀了大量相關的專業文獻,對數據庫的技術原理有了比較詳細和深入的認識,對房屋銷售管理系統進行了可行性分析和功能需求分析。
2、將JAVA技術結合起來運用到系統的開發中。
3、設計數據庫,數據庫設計的質量直接影響到后期的工作量。
4、開發并測試了整套系統的各項功能,并對出現的問題進行了糾正。
?
參考文獻:
[1]?? ?明日科技,Java項目案例分析,1,清華大學出版社,2012
[2]?? ?相潔, 呂進來,軟件開發環境與工具,1,電子工業出版社,2012
[3]?? ?李偉、王國輝,Java典型模塊與項目實戰大全,1,電子工業出版社,2012
[4]?? ?代永亮,Java程序設計基礎,2,人民郵電出版社,2012
[5]?? ?匡泰、王巖,Java面向對象程序設計與應用開發教程,1,大連理工大學出版社,2011
[6]?? ?竇萬峰,軟件工程及實踐,1,電子工業出版社,2011
[7]?? ?婁不夜,Java程序設計,2,清華大學出版社,2010
[8]?? ?聶慶亮,Java應用開發指南,1,清華大學出版社,2010
[9]?? ?周漢平,數據庫設計及其應用程序開發,1,清華大學出版社,2010
[10]?? ?錢銀中, 簡勇,Java程序設計,1,清華大學出版社,2009
[11]?? ?趙英良,軟件開發技術基礎,1,機械工業出版社,2009
[12]?? ?王衍,數據庫應用基礎,1,電子工業出版社,2009
[13]?? ?北京比特賽斯威圖書服務事業部,Java數據庫應用程序設計,機械工業出版社,2008
[14]?? ?王灝,馬軍,Java完全自學手冊,1,機械工業出版社,2007
[15]?? ?董迎紅、張杰敏,Java語言程序設計實用教程,1,中國林業出版社,2006
[16]?? ?袁海燕、王文濤,Java實用程序設計100例,1,人民郵電出版社,2005
?? ??? ??? ?
總結
以上是生活随笔為你收集整理的基于java的房屋销售管理系统设计(含源文件)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rabbin负载均衡
- 下一篇: Java多线程(五) —— 线程并发库之