目錄
一:項目介紹
項目學習展示地址:https://how2j.cn/k/hutubill/hutubill-tutorials/710.html
學習了這麼多J2SE基礎和中級的知識點,接下來就需要一個綜合性的項目把這些的知識點都融會貫通。
本項目是基於Swing和JDBC開發的圖形界面桌面應用,涵蓋了J2SE的絕大部分基礎知識,通過這個項目能運用和鍛鍊幾乎大部分的J2SE知識和技能。
涉及到如下內容:
基礎內容:
面向對象 字符串數字 日期
中級內容:
異常 ,集合,JDBC, 反射機制,I/O,Swing, 利用TableModel更新數據, 圖形界面的皮膚
高級內容:
圖表chart動態生成,數據庫的備份與恢復,自定義圓形進度條
軟件設計思想:
單例模式,面板類與監聽器類松耦合,Entity層設計,DAO層設計,Service層設計
業務常見處理手法:
CRUD操作,配置信息,配置信息初始化,報表生成,一對多關係,多對一關係
通過本項目,積累寶貴的項目經驗,在面試的時候,多一項談資,多一層砝碼,多一些薪水
二:開發步驟:
1.表結構設計
在開始整個軟件開發之前,一定是事先進行表結構設計。
把表有哪些字段搞清楚,表與表之間的關係理順。
同時還要校驗這樣的表結構,是否能夠支撐功能上的需要。
比如在消費一覽中需要的各種數據,應該以什麼樣的方式去設計這些表,才能夠支撐頁面上的數據顯示。
在專門的表結構設計章節裏,會把每張表列出來,每個字段的意義,類型,限制。 表與表之間的關係,一對多關係,多對一關係如何確定與設計。主鍵約束,外鍵約束等等信息。
2.原型設計
在開始正式的功能開發之前,要進行原型設計。
什麼是原型設計呢? 簡單說,就是先把界面做出來。 界面上的數據,都是假數據,並不是從數據庫中讀取的真實數據。
爲什麼要這麼做呢? 有了界面,才直觀,你纔會更有感覺,也才能更清楚各個功能之間怎麼實現。 更重要的是,有了界面,才能更有效的和客戶溝通,哪些功能需要修改,哪些功能可以刪減。
本項目學習中,原型分兩個部分來講解,一個是原型-基礎,一個是原型-界面類
在原型-基礎章節,會從最粗簡的方式開始,然後演示如何從粗陋的直接new JFrame逐步演化到面板分離,監聽器分離,模型分離,並且講解爲什麼要這樣做和這樣做帶來的好處。,並重構出各種工具類,供後續界面設計重用。
在原型-界面類章節,使用原型-基礎中的設計思想,運用其中的工具類,把本項目設計到的各種界面原型,一一開發出來。
3.實體類與DAO的設計
在開始功能開發之前,首先要設計實體類與DAO。相關的數據庫操作,都經由DAO來完成。
4.功能開發
接下來纔開始功能開發。
首先是確定多層結構,基於事件驅動,規劃DAO層,Service層。 並且在開發過程中,演示重構並解釋重構的理由和好處。
接着是開發順序。 各個模塊之間是互相依賴的,有的需要先行開發,有的模塊必須建立在其他模塊的基礎上纔可以執行。
最後,引用第三方的包。 比如動態生成chart圖片,演示如何使用這些API。
三:功能瀏覽
步驟 1 : 消費一覽
統計本月的消費總數,今日消費,日均消費,本月剩餘,日均可用,距離月末有多少天。
同時使用一個環形進度條,這個環形進度條不是JDK自帶的,需要自己設計,並且隨着消費用度,顏色從綠色漸變爲紅色。
步驟 2 : 記一筆
記錄本日的消費額度, 分類下拉框從 消費分類數據中讀取,並且把經常消費的分類放在前面。
日期默認選中今天,也可以手動指定日期。
步驟 3 : 消費分類管理
對消費進行經典的CRUD 增刪改查管理,同時顯示一個分類下的消費次數。
這裏涉及到多表關係:
消費記錄和消費分類是多對一關係
步驟 4 : 月度消費報表
使用第三方chart類生成柱狀報表,顯示本月的消費趨勢
步驟 5 : 設置預算和數據庫路徑
在消費一覽中需要顯示本月可用多少金額,都是建立在預算的基礎上的。
在設置頁面,設置本月的預算金額。
後續的還原和備份,都需要用到數據庫的命令mysql和mysqldump,需要在這裏配置mysql的安裝目錄
步驟 6 : 備份數據
把數據庫中的所有數據,備份到.sql文件中
步驟 7 : 恢復數據
根據.sql文件還原數據庫