聯系我們 - 廣告服務 - 聯系電話:
您的當前位置: > 關注 > > 正文

校園車輛信息管理系統可行性分析及技術介紹

來源:CSDN 時間:2023-02-17 09:20:40

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

文章目錄

一、前言二、系統需求分析及相關技術介紹2.1 功能需求分析2.2 可行性分析2.3 系統運行環境2.4 相關技術介紹 三、系統總體設計3.1 系統功能結構設計3.2 系統功能流程設計3.3 數據庫設計 四、系統詳細設計4.1 系統登錄模塊詳細設計4.2 出入登記模塊詳細設計4.3 數據維護模塊詳細設計


(資料圖)

一、前言

本課題的內容為開發一套面向校園管理者與安保部門的校園車輛信息管理系統,需要實現人員、車輛基本信息的增刪改查以及車輛出入信息的錄入與查詢,并且系統設計需要充分考慮對校園已有信息系統的可連接性。 校園車輛信息管理系統并不是一個完全獨立的系統,實際上它是校園信息平臺的一個內容擴充,就目前的網絡考察情況來看,絕大部分校園都配備有校園信息平臺,內容至少包括有師生注冊信息(即在校人員信息統計),學生成績的錄入統計,以及其它種種信息。在一二線城市的校園中,基本實現了出入人員信息登記的系統,本系統正是在以上現狀考察的基礎上進行的設計開發,用以實現對校園內進出車輛的信息化管理,并且系統具備較強的可移植性,事實上,任何具備出入檢測功能的場所,都可以使用這樣一個信息記錄的系統。 系統開發過程包含有數據庫的設計,用戶端界面設計,以及系統核心功能的java程序設計實現,其中對數據庫的設計實現是本課題的核心部分。

提示:以下是本篇文章正文內容,下面案例可供參考

二、系統需求分析及相關技術介紹

2.1 功能需求分析

數據庫需要存儲的數據包括 1.登錄用戶數據:用戶名、密碼、姓名、部門 2.人員數據:身份證號碼、姓名、性別、人員類別、校園卡號 3.車輛數據:車牌號碼、車輛類型、車主 4.出入記錄:時間、出入類型、出入地點、車牌號碼、備注

2.2 可行性分析

信息管理系統的技術門檻較低,在具備一定的數據庫設計能力,算法設計能力,界面設計基礎以及一定的編程知識后就可以獨立開發出一個帶界面的信息管理系統。信息時代,使用信息管理系統對信息數據進行管理維護是大勢所趨,通過系統添加的各種信息檢查與權限限制,可以極大程度保障數據的安全性,通過信息管理系統記錄的數據具備的共享性是常規人工信息記錄手段無法比擬的。本系統的開發初衷是為了記錄下校園進出的所有車輛信息,為可能發生的各種校園安全事件提供一個數據參考,從信息記錄與查證的角度,保障校園安全。它的可擴展性極強,從適用對象上來看,所有的封閉式管理區域,均可通過對原系統的針對性改造(主要是數據庫的改造與系統底層)實現系統移植,一樣具備出入信息記錄的功能。

2.3 系統運行環境

本系統的開發運行環境為Windows10操作系統 需要鼠標和鍵盤作為輸入設備,顯示器作為輸出設備。

2.4 相關技術介紹

數據庫技術:SQL Server2008版本 + SSMS 軟件開發技術:Eclipse(Java集成開發工具) 界面設計:Windows Builder(Java swing + AWT)

三、系統總體設計

3.1 系統功能結構設計

此系統分為操作員部分與管理員部分,操作員部分可以錄入車輛出入的信息;管理員部分的功能可以概括為數據的維護功能,包括系統用戶數據的維護,人員信息數據的維護,車輛信息數據的維護以及出入記錄數據的維護。此外,由于操作員與管理員系統界面的不同,需要添加系統登錄界面,包括登錄驗證與密碼修改功能。 系統功能模塊劃分如圖3-1所示。

3.2 系統功能流程設計

3.2.1 系統登陸功能流程設計系統運行后首先進入登陸界面,通過登錄驗證獲取用戶的權限后決定該用戶的操作界面選擇邏輯,此外,該頁面提供密碼修改的界面,在用戶名文本編輯框的后方小方格可以觸發點擊事件跳轉密碼修改界面。需要處理的異常情況包括,文本編輯框為空,賬戶不存在,密碼不正確,以及修改密碼過程中,兩次輸入的新密碼不一致的情況。系統登錄功能的完整流程如圖3-2所示。

3.2.2 出入登記功能流程設計考慮到校園出入口的車流量在高峰期會很大,因此要求錄入過程簡潔,高效,用最少的操作,得到最關鍵的信息,因此系統在出入登記功能設計部分,只有一個兩個點擊事件按鈕,一個是錄入控制按鈕,一個是刷新界面按鈕(可用于重置文本框輸入內容),需要填寫的表單數據為出入類型,出入位置,車輛類型,車牌號碼,人員證件號和備注,前三者均采用下拉框選擇機制保證輸入值的合理性,后三者采用文本編輯框(只有備注內容可以為空);該部分的另一個功能是顯示已經錄入的信息(出入記錄),這部分功能要求信息的重新整合顯示(需要顯示詳細的人員信息,車輛信息),以及較高的時效性,主要體現在顯示信息內容的篩選排序和信息錄入引起的信息變更的即時性。該功能需要處理的異常情況也為表單內容不合法的情形。出入登記功能的完整流程如圖3-3所示。 3.2.3 數據維護功能流程設計系統的正常運行,離不開對數據的維護,本系統對數據的維護從界面模塊上可以分為用戶信息維護、人員信息維護、車輛信息維護和出入記錄維護。從功能上可以大致分為信息增加、信息刪除、信息更改以及信息查詢。其中對信息的查詢功能應該盡量提供多種查詢方式。數據維護功能的交互流程如圖3-4所示。

3.3 數據庫設計

校園車輛信息管理系統并不是一個完全獨立的系統,從實際考慮出發,它應該是校園信息平臺的一個內容擴充,因此在設計人員信息時,應該適當減少對冗余信息的錄入,例如學生的年級、班級、班主任等等信息都可以通過與其它信息系統的連接進行查詢獲取,而不必在本系統中要求重復錄入。(至于沒有人員信息數據庫的情況,那我只想說,人員信息數據庫對校園的重要性遠高于本系統,所以還請貴校領導移步人員信息管理系統)。 3.3.1概念結構設計(1)系統用戶信息 系統用戶即登錄到該系統的用戶,這里將存儲用戶的基本信息,主要包括用戶在系統中的編號(將被作為工號作登錄使用),用戶的登陸密碼,用戶的姓名和用戶的職務,其中用戶的編號的屬性被設置為主碼自增(初始為1,增量為1)。此外在數據庫建立之初將會有一個管理員用戶(工號0,密碼000)被創建,作為系統唯一的登錄用戶。系統用戶實體如圖3-5 所示。 (2)(出入)人員信息 人員信息主要由兩部分組成,一部分是由管理員錄入的校內人員信息(通常該數據內容可以與學校已有的人員信息系統相關聯),另一部分是由從操作員錄入的出入信息剝離出的臨時人員,這些臨時人員的信息會被自動保存錄入(此時的人員可以被理解為進出車輛的車主)。(出入)人員實體如圖3-6 所示。 (3)(出入)車輛信息 與出入人員信息類似,出入車輛的信息也由兩部分組成,由管理員錄入的部分必須建立在已有校內人員作為車主的基礎上進行添加,由操作員錄入的部分,同樣是從出入登記的信息中剝離出來以臨時車輛的類別屬性添加到車輛數據中。這些自動添加臨時人員,臨時車輛的邏輯將在下一系統詳細設計部分進行描述。(出入)車輛實體如圖3-7所示。 (4)出入記錄信息 出入記錄信息是有車輛出入該一事件觸發產生的數據,考慮到數據庫設計不應將時間類型的數據設置為唯一的碼屬性這一原則,因此在設計時出入記錄被作為弱實體集存在,其與識別實體(車輛)構成出入這一識別聯系。出入記錄實體如圖3-8所示。

2)系統總體ER圖 在上述實體中,人員實體與車輛實體構成1對多的擁有聯系,車輛與出入記錄間構成1對多的構成聯系(即出入記錄由車輛的進出行為產生),系統用戶是一個單獨的實體,僅用于系統的登陸。系統總體ER圖如圖3-9所示。 3.3.2邏輯結構設計ER圖中需要處進行表設計的部分是車輛與出入記錄間的識別聯系處理,我的處理方法是將車輛中的主碼車牌號碼作為出入記錄表中的外碼,而將出入記錄中的時間作為部分碼與車牌號碼一起作為出入記錄表的主碼。車輛和人員的擁有聯系則通過在車輛中添加車主信息(使用人員的主碼身份證號)作為外碼來體現。 (1)Users(系統用戶表) 系統用戶表的所有字段要求非空,其中id字段設置為主碼自增,用戶部門可根據需要進行相應值的約束。系統用戶表如表3-1所示。 (2)Personnel(人員信息表) 人員信息表的id和type字段要求非空,type字段及sex字段設置值的約束,id字段設置為主碼,schoolCard字段設置默認值約束為0。人員信息表如表3-2所示。 (3)Vehicle(車輛信息表) 車輛信息表的所有字段要求非空,license字段設置為主碼,owner字段設置為外碼,與人員信息表的id對應,type字段可添加值的約束,車輛信息表如表3-3所示。

4)AccessRecord(出入記錄表) 出入記錄表除note字段外均非空,time字段與licence字段設置為主碼,其中licence字段為外碼,與車輛信息表中的licence字段對應,type和addr字段均可添加值的約束。

四、系統詳細設計

4.1 系統登錄模塊詳細設計

系統登錄模塊在設計之初有兩種可選方案,第一種是通過設置數據庫用戶和角色,實現對用戶訪問數據庫權限的設置,從數據庫訪問權限的角度,實現系統登錄功能,它的具體實現方法是首先從數據庫管理員角色連接數據庫,然后進入管理員界面,所有對用戶的添加,權限修改,密碼重置,以及用戶刪除都將轉化成對數據庫角色的編輯,這樣的做法能最大限度地保證數據庫里的數據被正確地訪問。另一種實現方式,是在Java的界面邏輯中實現用戶驗證的功能,對不同的用戶選擇不同的界面邏輯,對用戶信息的維護通過修改數據庫中實際存在的一張基本表實現,它的安全性不及前者,但勝在實現復雜度較低,因為無論是否使用數據庫角色的驗證,在系統界面的設計過程中,都需要對用戶的身份進行核對,從這個角度考慮,最終我的系統采用了后者,即不設置多個數據庫角色,而是直接在數據庫基本表中存儲用戶信息,通過Java的后臺邏輯實現用戶登錄的驗證。 登錄界面的驗證邏輯,采用的是通過輸入框中輸入的Id號進行用戶信息的查詢,然后比對密碼是否一致,實現登錄驗證。界面的跳轉邏輯,是通過查詢Id對應用戶的部門進行邏輯選擇,實現頁面的跳轉,跳轉后,原登錄界面被關閉。

4.2 出入登記模塊詳細設計

該部分功能是系統的核心功能,其基本邏輯比較簡單,操作員填寫表單,系統讀取表單信息,對表單信息進行判斷整合后存儲到數據庫中,并觸發一次頁面刷新。但是從讀取到的表單內容到數據存儲到數據庫中這個過程需要較為復雜的邏輯控制,因此在數據庫中創建了一個存儲過程,來執行一系列的Insert語句,將表單中的數據,存儲到數據庫中。此外,還需設計一個用于記錄顯示的視圖,對出入記錄進行預覽。 出入登記的詳細實現邏輯為,首先在Java頁面控制中對表單的輸入合法性進行檢測,要求車牌號碼和人員信息內容不能為空(人員信息既可以填寫校園卡號也可以填寫身份證號),在操作員觸發錄入按鈕點擊事件后,調用存儲過程Proc_add,輸入的參數包括出入類型、出入地址、車輛類型、車牌號碼、人員信息和備注。在該存儲過程中,還設置了三個計數參數@cn1,@cn2,@cn3,分別表示人員信息在人員信息表身份證號字段出現的次數,車牌號碼在車輛信息車牌號碼字段出現的次數,以及人員信息在人員信息表校園卡字段出現的次數,因為身份證號碼與校園卡號不可能一致,因此@cn1與@cn3不可能同時為1。針對三個參數不同的結果,可以得出不同的存儲方法,判斷邏輯表如表4-1所示。 特別地,出入記錄中的時間字段,是調用的數據庫中獲取當前系統時間的方法(@time=GETDATE())。 出入記錄信息的內容除了Access Record表中的內容外還應包括Vehicle表中的車輛類型和車主信息,該數據顯示功能可通過創建一個數據庫視圖來實現,顯示的具體實現手段是里利用Java GUI中的Table類對讀取的數據視圖進行展示。

4.3 數據維護模塊詳細設計

數據維護部分的總體設計就比較具有特色,所有的數據操作都在一個界面中完成,沒有繁雜的窗口彈出重復輸入的邏輯,而是更加的人性化,不論是數據的添加還是查詢還是修改刪除都能在當前頁面完成,這樣的做法使得數據的錄入更加高效,數據的查詢與修改功能也能高度耦合,大大提高了數據維護的效率。其缺陷就是界面按鈕控制邏輯較為復雜,開發難度較大,可能對后續的維護更新不大友好,但用戶體驗的提升是一定的。(為了方便比對,在用戶信息管理部分,采用了點擊按鈕觸發新頁面執行的方案,可供橫向對比)。 4.3.1 數據的添加數據的添加部分功能的實現較為簡單,管理員填充信息后點擊添加按鈕后,系統首先進行輸入合法性檢測, 對管理員輸入的信息進行檢測,主要包括檢測輸入字段是否為空以及該條記錄是否重復添加(主碼唯一性),特別地,針對人員信息中的校園卡字段,在數據庫中設置了插入語句觸發器,可以處理添加的人員身份證號未重復,而校園卡號已存在的情形,實現方法就是創建觸發器在檢測到執行Personnel表插入語句后,對插入記錄中的校園卡號在Personnel表校園卡號字段中出現的次數,若大于1,則拋出異常并事務回滾,否則不執行任何操作。 4.3.2 數據的查詢數據的查詢功能實現邏輯也比較簡單,管理員點擊查詢按鈕后,系統讀入表單中的信息,通過模糊查詢(like ‘%’+text+’%’)的方法即可實現幾乎所有的查詢方法。這里需要單獨處理的是對出入記錄信息的查詢,因為這里涉及到按日期進行查詢,它沒法使用字段模糊查詢的方法得出查詢結果,我的實現方法是,在表單中加入三個下拉框,分別用以設置年月日,這里需要解決每個月的天數不一致的問題(解決方法是使用Java.calendar中的getActualMaximum (Calendar.DAY_OF_MONTH)方法獲得當前月份(由年月下拉框決定)的天數并顯示在下拉框里),這樣就得到了查詢所需的日期字段,然后調用創建好的數據庫存儲過程Proc_findByDate即可,該存儲過程的邏輯是用’where time between’。另一種查詢出入記錄的方法就是使用屬性特征進行查詢,這與之前提到的字段模糊查詢方法類似。 4.3.3 數據的修改數據的修改功能比較有技巧性,數據的修改邏輯由管理員選中頁面下方表格某行數據開始,當管理員觸發點擊事件后,選中的記錄會被自動填充顯示到上方表單區域,其中主碼屬性對應的表單內容會被設置為不可編輯狀態,其它內容都可以被修改,在系統監測到表單內容被修改后(一定是表單內容與數據庫中保存的數據出現不一致,才會觸發,換言之,你可以通過保存按鈕是否亮起看出當前表單數據是否與數據庫中數據一致),頁面上的保存按鈕會進入可選中狀態(初始為不可選中狀態),之后操作員點擊保存按鈕,系統會檢查修改后的信息是否合法,通過檢查后的數據會被update到數據庫中。隨后界面刷新,回到頁面初始化查詢狀態。 4.3.4 數據的刪除數據的刪除也需要先選中該條記錄,與數據的修改邏輯相似,選中某條記錄后,刪除按鈕會亮起,此時點擊刪除,即刪除被選中的該條記錄,并刷新界面。特別地,針對人員信息和車輛信息的刪除,考慮到數據庫系統的數據完整性,在數據庫中加入了刪除語句的觸發器Per_del與Veh_del,它們依次實現了刪除人員時首先檢測該人員是否有是某輛車的車主,如果是的話會連同該車一起刪除,刪除車輛時首先檢測該車輛是否有出入記錄,如果有的話,會連同所有該車的出入記錄一起刪除。另外,考慮到出入信息的轉存問題,設置了記錄清空功能,能在不刪除人員信息和車輛信息的情況下,將所有出入記錄清空,釋放數據庫空間。 4.3.5 其它管理員界面框架,使用的是CardPanel由界面上方的按鈕觸發事件,將按鈕對應的界面(可以理解為一張Card)顯示在最上方。

責任編輯:

標簽:

相關推薦:

精彩放送:

新聞聚焦
Top 岛国精品在线