摘??要
在如今社會上,關于信息上面的處理,沒有任何一個企業或者個人會忽視,如何讓信息急速傳遞,并且歸檔儲存查詢,采用之前的紙張記錄模式已經不符合當前使用要求了。所以,對機動車號牌信息管理的提升,也為了對機動車號牌信息進行更好的維護,機動車號牌管理系統的出現就變得水到渠成不可缺少。通過對機動車號牌管理系統的開發,不僅僅可以學以致用,讓學到的知識變成成果出現,也強化了知識記憶,擴大了知識儲備,是提升自我的一種很好的方法。通過具體的開發,對整個軟件開發的過程熟練掌握,不論是前期的設計,還是后續的編碼測試,都有了很深刻的認知。
機動車號牌管理系統通過MySQL數據庫與Spring Boot框架進行開發,機動車號牌管理系統能夠實現牌照換補申請管理,用戶管理,牌照申請管理,牌照轉移申請管理,車輛信息管理,公告信息管理等功能。
通過機動車號牌管理系統對相關信息的處理,讓信息處理變的更加的系統,更加的規范,這是一個必然的結果。已經處理好的信息,不管是用來查找,還是分析,在效率上都會成倍的提高,讓計算機變得更加符合生產需要,變成人們不可缺少的一種信息處理工具,實現了綠色辦公,節省社會資源,為環境保護也做了力所能及的貢獻。
關鍵字:機動車號牌管理系統,牌照,車輛信息
目??錄
第一章?緒論?
1.1?選題背景?
1.2 選題意義?
1.3 研究內容?
第二章?開發環境?
2.1 Java語言?
2.2 MYSQL數據庫?
2.3 Eclipse開發工具?
2.4 Spring Boot框架?
第三章?系統分析?
3.1可行性分析?
3.1.1技術可行性?
3.1.2操作可行性?
3.1.3經濟可行性?
3.2系統流程分析?
3.3系統性能分析?
3.3.1系統安全性?
3.3.2數據完整性?
3.3.3系統可擴展性?
3.4系統功能分析?
第四章?系統設計?
4.1 系統設計目標?
4.2功能結構設計?
4.3數據庫設計?
4.3.1 數據庫概念設計?
4.3.2 數據庫物理設計?
第五章?系統實現?
5.1管理員功能實現?
5.1.1 車輛信息管理?
5.1.2 牌照換補申請管理?
5.1.3 牌照申請管理?
5.1.4 牌照轉移申請管理?
5.1.5 用戶管理?
5.2 用戶功能實現?
5.2.1 車輛信息管理?
5.2.2 牌照換補申請管理?
5.2.3 牌照申請管理?
5.2.4 牌照轉移申請管理?
第六章?系統測試?
6.1系統測試的特點?
6.2 系統功能測試?
6.2.1?用戶登錄測試?
6.2.2?車輛查詢測試?
6.3 系統測試結果?
結 ?論?
致??謝?
參考文獻?
第一章?緒論
1.1?選題背景
目前整個社會發展的速度,嚴重依賴于互聯網,如果沒有了互聯網的存在,市場可能會一蹶不振,嚴重影響經濟的發展水平,影響人們的生活質量。計算機的發展,不管是從硬件還是軟件,都有很多技術儲備,每年都有很多的技術和軟件產生,縱觀各個領域,無一不用互聯網軟件,辦公用的還是電腦居多,但是人手一臺智能設備已經變成了現在人們的生活日常,哪怕的普通的老百姓都成了上知天文下知地理的所在,這些都依賴于互聯網技術。互聯網技術在信息的傳播方面是巨大的,而信息的處理就變成了各種產業管理者和維護者的重任。人們已經習慣了互聯網的存在,所以經常操作一些互聯網產品變成了日常,所以開發一個機動車號牌管理系統,讓人們使用是沒有一點問題的,并且在這個過程中不僅能夠規范機動車號牌信息管理的使用流程還有信息處理流程,也能讓整個信息的傳播處理,都存在一種可控制的范圍,最重要的是,計算機在機動車號牌信息管理方面可以給管理者提供更好的幫助。
第四章?系統設計
到目前為止,市面上已經存在了各種各樣的軟件系統,從系統的分類著手,主要應用范圍傾向于辦公系統,娛樂系統,社交系統,然后下面有很多比較細的分支系統。很多系統已經經過了市場的考驗,針對不同的業務場景已經開始出現了業務模塊化,程序員減代碼化的各種設計方式。到目前為止,當要設計一個系統的時候,首先根據業務模型基本上都可以在網上找到類似的模板,然后根據具體業務具體分析,進而實現具體功能,大眾的就是最好的,畢竟符合市場主流的就代表著肯定符合常規操作流程。
4.1 系統設計目標
系統設計的時候,就要制定需要達成的目標。在功能上,要嚴格符合設計需求,不僅僅要減少操作步驟,也要符合預期。因此,在規范化的今天設計出符合項目要求的系統,必須要達到下面設定的目標。
第一個目標就是友好性:友好性主要體現在用戶使用過程中,不會對系統的操作產生一種不滿,減少操作者的憤怒,這是相當重要的一個體現。前幾年好多軟件在這個友好性方面失去了市場,就是因為在友好性這方面沒有做好。國內互聯網發展初期,軟件設計的目的就是能用就行,至于友好性的對比,那是不存在的,因為硬件效率比較低,計算機屬于新興行業,所以大哥不說二哥,都是不友好的。隨著計算機硬件的提升,很多開發者開始注意到要犧牲一定的計算器性能來提升友好性,因為計算機發展到現在,第一印象很重要,一個軟件設計的不好看,會讓大部分人對其產生質疑,所以要在友好性上面下很大功夫進行雕琢。
第二個目標就是安全性:安全性其實貫穿著整個軟件行業的發展史,計算機就是為解決人類重復性計算以及數據存儲的目的而誕生的,很多行業都需要計算機來進行計算,減少出錯幾率,并且把數據保留,可以實時查詢,所以數據的安全性也很重要。
只要保證數據安全性的前提,開發出符合功能需求的友好界面操作,那么就達到了系統設計的目的。
4.2功能結構設計
本系統主要是基于數據的增加,修改,刪除等操作,使用者能夠通過提前設定的登錄功能進入指定的操作區,這里對使用者設計的功能進行結構展示。
管理員功能結構圖的繪制結果見圖4-1。管理員登錄進入本系統操作的功能包括管理車輛,管理公告,管理用戶,審核牌照換補申請信息,審核牌照申請信息,審核牌照轉移申請信息等。
用戶功能結構圖的繪制結果見圖4-2。用戶登錄進入本系統操作的功能包括申請牌照換補,申請牌照,申請牌照轉移,查看公告,管理車輛信息等。
4.3.2 數據庫物理設計
本系統數據在數據庫中都是通過各種二維表進行記錄保存的,在數據庫中設計這樣的二維表也是比較重要的內容,因為它影響著數據的存儲效率。在設計二維表也就是關系模型之前,一些有關二維表方面的常用概念需要進行充分了解。
關系:一張具體的數據表即表示關系,關系的名稱與數據表的名稱保持一致;
元組:數據表中,每行顯示的數據即代表元組;
屬性:數據表中,每列表示的數據即代表屬性;
關鍵字:數據表中,為了與其他數據表進行區分,則需要在每張表中進行主鍵的設置;
通過上節內容可以知曉數據庫中的各個實體,并通過一定方式把這些實體表示的內容進行數據表的轉換,通常來說,每個實體都會對應一張具體的數據表,在本系統指定的數據庫中創建命名好的數據庫,才可以對數據表進行創建與設計。機動車號牌管理系統數據表設計結果展示如下:
表4-1 車輛信息表
字段 | 注釋 | 類型 | 空 |
id?(主鍵) | 主鍵 | int(11) | 否 |
cheliang_name | 車輛名稱 | varchar(200) | 是 |
cheliang_types | 車輛類型 | int(11) | 是 |
cheliang_paizhao | 車輛牌照 | varchar(200) | 是 |
paizhao_types | 牌照類型 | int(11) | 是 |
yonghu_id | 用戶 | int(11) | 是 |
create_time | 創建時間 | timestamp | 是 |
表4-2 公告信息表
字段 | 注釋 | 類型 | 空 |
id?(主鍵) | 主鍵 | int(11) | 否 |
news_name | 公告標題 | varchar(200) | 是 |
news_types | 公告類型 | int(11) | 是 |
news_photo | 公告圖片 | varchar(200) | 是 |
insert_time | 公告時間 | timestamp | 是 |
news_content | 公告詳情 | text | 是 |
create_time | 創建時間 | timestamp | 是 |
表4-3 牌照換補申請表
字段 | 注釋 | 類型 | 空 |
id?(主鍵) | 主鍵 | int(11) | 否 |
cheliang_id | 車輛 | int(11) | 是 |
yonghu_id | 用戶 | int(11) | 是 |
paizhaohuanbu_types | 申請類型 | int(11) | 是 |
paizhaohuanbu_paizhao | 牌照 | varchar(200) | 是 |
paizhaohuanbu_yesno_types | 申請狀態 | int(11) | 是 |
paizhaohuanbu_yesno_text | 申請結果 | text | 是 |
create_time | 創建時間 | timestamp | 是 |
表4-4 牌照申請表
字段 | 注釋 | 類型 | 空 |
id?(主鍵) | 主鍵 | int(11) | 否 |
cheliang_id | 車輛 | int(11) | 是 |
yonghu_id | 用戶 | int(11) | 是 |
paizhaoshenqing_types | 申請牌照類型 | int(11) | 是 |
paizhaoshenqing_paizhao | 申請牌照 | varchar(200) | 是 |
paizhaoshenqing_yesno_types | 申請狀態 | int(11) | 是 |
paizhaoshenqing_yesno_text | 申請結果 | text | 是 |
create_time | 創建時間 | timestamp | 是 |
表4-5 牌照轉移申請表
字段 | 注釋 | 類型 | 空 |
id?(主鍵) | 主鍵 | int(11) | 否 |
cheliang_id | 車輛 | int(11) | 是 |
yonghu_id | 用戶 | int(11) | 是 |
paizhaozuanyi_name | 轉移用戶名稱 | varchar(200) | 是 |
paizhaozuanyi_paizhao | 牌照 | varchar(200) | 是 |
paizhaozuanyi_yesno_types | 申請狀態 | int(11) | 是 |
paizhaozuanyi_yesno_text | 申請結果 | text | 是 |
create_time | 創建時間 | timestamp | 是 |
表4-6 管理員表
字段 | 注釋 | 類型 | 空 |
id?(主鍵) | 主鍵 | bigint(20) | 否 |
username | 用戶名 | varchar(100) | 否 |
password | 密碼 | varchar(100) | 否 |
role | 角色 | varchar(100) | 是 |
addtime | 新增時間 | timestamp | 否 |
表4-7 用戶表
字段 | 注釋 | 類型 | 空 |
id?(主鍵) | 主鍵 | int(11) | 否 |
username | 賬戶 | varchar(200) | 是 |
password | 密碼 | varchar(200) | 是 |
yonghu_name | 用戶姓名 | varchar(200) | 是 |
yonghu_photo | 頭像 | varchar(255) | 是 |
sex_types | 性別 | int(11) | 是 |
yonghu_phone | 聯系方式 | varchar(200) | 是 |
yonghu_id_number | 用戶身份證號 | varchar(200) | 是 |
yonghu_email | 郵箱 | varchar(200) | 是 |
yonghu_delete | 假刪 | int(11) | 是 |
create_time | 創建時間 | timestamp | 是 |
第五章?系統實現
這里主要是對系統設計實現進行描述,通過系統的設計和數據庫的設計,通過編碼后變成了可以進行操作的界面,讓一切想法變成了結果,通過文字和具體程序操作界面的截圖之間的配合,可以把功能更直觀的描述起來。
5.1管理員功能實現
5.1.1 車輛信息管理
管理員進入如圖5-1所示的車輛信息管理界面之后,管理員點擊信息顯示欄中最右側的修改,刪除按鈕可依次完成車輛信息的修改,刪除等操作,管理員也能在當前界面查詢車輛信息,添加車輛信息等。
5.1.2?牌照換補申請管理
管理員進入如圖5-2所示的牌照換補申請管理界面之后,管理員點擊信息顯示欄中最右側的詳情,刪除按鈕可依次完成牌照換補申請信息的詳情查看,刪除等操作,管理員在當前界面也能對未處理的牌照換補申請信息進行審核。
5.1.3 牌照申請管理
管理員進入如圖5-3所示的牌照申請管理界面之后,管理員點擊信息顯示欄中最右側的詳情,刪除按鈕可依次完成牌照申請信息的詳情查看,刪除等操作。對于牌照申請管理界面未處理的牌照申請信息,管理員需要審核。
5.1.4 牌照轉移申請管理
管理員進入如圖5-4所示的牌照轉移申請管理界面之后,管理員點擊信息顯示欄中最右側的詳情,刪除按鈕可依次完成牌照轉移申請信息的詳情查看,刪除操作,對于未處理的牌照轉移申請信息,管理員需要審核。
5.1.5 用戶管理
管理員進入如圖5-5所示的用戶管理界面之后,管理員點擊信息顯示欄中最右側的修改,刪除按鈕可依次完成用戶信息的修改,刪除操作,管理員也能在本界面為用戶賬戶重置密碼。
結 ?論
開發與實現機動車號牌管理系統已經花費了半年時間,在這期間,作為學生的我收獲了很多知識。因為獨自開發機動車號牌管理系統,僅僅依靠在校期間學到的軟件開發方面的知識顯然是不行的,還需要通過其他的學習渠道進行程序開發類知識的拓展,比如去圖書館借閱書籍,比如數據庫設計的書籍,Java編程語言方面的書籍,軟件工程方面的書籍等,還可以通過上網查看編程方面的博客,這些博客呈現的知識是各個軟件開發者在工作生涯中總結的編程知識,都是編程知識中的精華,可以幫助學習開發的人員在編程中避免很多開發誤區,還可以節省開發的時間。另外,也可以通過數字圖書館下載相似系統方面的參考文獻進行程序開發類的知識學習。總而言之,當一個人完成機動車號牌管理系統的設計與開發后,不僅自身的專業知識水平得到了提升,還提高了自己將理論轉為實際操作的能力,以及面對問題通過知識學習進而解決問題的能力。
機動車號牌管理系統的設計實現,讓我有以下幾點體會:
(1)在確定要研究的系統之后,對于系統的研究內容也就是系統的功能的分析與設計是比較重要的部分,這方面主要是站在使用者的角度進行考慮,可以參考相似系統的功能進行設計,也能通過對目標用戶群進行問卷調查等方式進行功能需求的確定,只有確定了系統需要的功能之后,才可以開展系統的配套數據庫的設計,系統的編碼等后續工作。
(2)對于系統的代碼編寫是一項比較復雜的工作,這也是系統的后端部分,用戶操作系統看到的只是代碼運行之后呈現出來的操作界面前端部分,編寫的代碼與運行實現的界面是相對應的,所以編寫代碼時,需要一邊編寫,一邊查看代碼的運行效果,這里就需要編寫代碼的人員注意一些編寫細節,比如規范命名程序變量,注釋關鍵代碼等,這些編碼習慣會幫助開發者在該系統中進行功能拓展或功能維護中提高效率。
(3)系統的功能模塊在編碼實現之后,也需要單獨進行測試,發現問題之后能夠及時進行解決,當系統的所有的功能都實現之后,再次對該系統整體進行測試,方便開發者在檢驗系統功能的基礎上,進行系統問題的修復與完善。
由于時間比較短暫,加上開發期間我都是一邊學習理論,一邊進行實操,對于開發的機動車號牌管理系統除了具備能夠正常運行,能夠提供信息管理功能,以及能夠保證系統運行期間產生的數據的安全性等特點外,本系統也具備一些缺點,首先表現的就是當使用者使用系統時,在對數據進行查詢或者更新時,系統響應時間比較長,增加了用戶的等待時間,讓用戶的使用體驗不夠理想,其次,機動車號牌管理系統的功能操作的流程設計上也存在一些不合理之處,最后,機動車號牌管理系統對于權限劃分,功能模塊細分上也存在一些漏洞。
總的說來,在今后的時間里面,自己除了要加強理論知識的學習外,還要繼續投入時間和精力去對機動車號牌管理系統進行修復,讓本軟件擁有更強的性能,比如安全性以及可靠性。