




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、鄉(xiāng)土人才管理系統(tǒng)網(wǎng)絡(luò)版的設(shè)計(jì)與實(shí)現(xiàn)郭志勇、彭長(zhǎng)根、汪學(xué)明摘 要:鄉(xiāng)土人才是農(nóng)村重要的人力資源,他們對(duì)農(nóng)村的經(jīng)濟(jì)發(fā)展有著舉足輕重的作用。為了對(duì)鄉(xiāng)土人才進(jìn)行規(guī)范化的計(jì)算機(jī)管理,我們開發(fā)了“貴州省鄉(xiāng)土人才管理系統(tǒng)”軟件,利用該軟件能方便收集全省各地縣的鄉(xiāng)土人才數(shù)據(jù),建立鄉(xiāng)土人才數(shù)據(jù)庫(kù),選拔優(yōu)秀的鄉(xiāng)土人才,查詢?nèi)∴l(xiāng)土人才的基本情況、分布結(jié)構(gòu)情況等,以便及時(shí)調(diào)整和培養(yǎng)人才隊(duì)伍,促進(jìn)鄉(xiāng)土人才智力和技術(shù)的交流,引導(dǎo)人才到需要的地方去發(fā)揮作用。關(guān)鍵詞;鄉(xiāng)土人才,管理系統(tǒng),軟件,開發(fā),數(shù)據(jù)庫(kù),Java1 問(wèn)題背景為了對(duì)貴州省鄉(xiāng)土人才進(jìn)行規(guī)范化的計(jì)算機(jī)管理,我們完成開發(fā)了“貴州省鄉(xiāng)土人才管理系統(tǒng)網(wǎng)絡(luò)版”軟件,通
2、過(guò)該軟件能夠?qū)θ∴l(xiāng)土人才信息進(jìn)行收集、管理、查詢和統(tǒng)計(jì)。將鄉(xiāng)土人才納入信息化管理,貴州省起步較早,為此我們以本文來(lái)闡述該系統(tǒng)的分析、設(shè)計(jì)和實(shí)現(xiàn)的過(guò)程。2 需求分析任務(wù)概述目標(biāo)貴州省鄉(xiāng)土人才管理系統(tǒng)的總目標(biāo)是:在計(jì)算機(jī)網(wǎng)絡(luò),數(shù)據(jù)庫(kù)和先進(jìn)的開發(fā)平臺(tái)上,利用現(xiàn)有的軟件,配置一定的硬件,開發(fā)一個(gè)具有開放體系結(jié)構(gòu)的、易擴(kuò)充的、易維護(hù)的、具有良好人機(jī)交互界面的人才管理系統(tǒng),人事管理部門的人才管理的自動(dòng)化的計(jì)算機(jī)系統(tǒng),為人事管理部門的決策層提供準(zhǔn)確、精細(xì)、迅速的人才信息。開發(fā)要實(shí)現(xiàn)的具體目標(biāo)為:升級(jí)人才數(shù)據(jù)庫(kù),實(shí)現(xiàn)數(shù)據(jù)集中:升級(jí)foxpro數(shù)據(jù)庫(kù)為Oracle數(shù)據(jù)庫(kù),原本的foxpro數(shù)據(jù)庫(kù)為桌面類型數(shù)據(jù)
3、庫(kù),已經(jīng)不適應(yīng)現(xiàn)網(wǎng)絡(luò)狀況比較發(fā)達(dá)的現(xiàn)狀,升級(jí)為Oracle數(shù)據(jù)庫(kù)后數(shù)據(jù)的安全性和可靠性大大提高,同時(shí)實(shí)現(xiàn)數(shù)據(jù)集中,無(wú)需再在系統(tǒng)中導(dǎo)入導(dǎo)出數(shù)據(jù),使得數(shù)據(jù)安全性得到進(jìn)一步提升。實(shí)現(xiàn)綜合條件查詢和模糊搜索查詢:能夠根據(jù)用戶給定的綜合條件進(jìn)行精確查詢,也能夠根據(jù)主要專長(zhǎng)信息和主要業(yè)績(jī)信息進(jìn)行模糊查詢,便于人事部門查詢到急需的人才,促進(jìn)鄉(xiāng)土人才智力和技術(shù)的交流,最大限度發(fā)揮鄉(xiāng)土人才的作用。實(shí)現(xiàn)鄉(xiāng)土人才結(jié)構(gòu)分布統(tǒng)計(jì):通過(guò)統(tǒng)計(jì)功能,掌握全省鄉(xiāng)土人才結(jié)構(gòu)分布情況,包括學(xué)歷結(jié)構(gòu)、專業(yè)結(jié)構(gòu)、職業(yè)分布結(jié)構(gòu)、行業(yè)分布結(jié)構(gòu)、地域分布結(jié)構(gòu)等,以此為依據(jù),制定鄉(xiāng)土人才培訓(xùn)計(jì)劃,優(yōu)化鄉(xiāng)土人才隊(duì)伍結(jié)構(gòu),引導(dǎo)人才合理流動(dòng)。實(shí)現(xiàn)優(yōu)
4、秀鄉(xiāng)土人才選拔:通過(guò)評(píng)價(jià)指標(biāo)體系,選拔拔尖鄉(xiāng)土人才,并由各級(jí)人事部門對(duì)他們進(jìn)行表彰。需求規(guī)定 對(duì)功能的規(guī)定功能1: 安全登錄功能2:新增操作員功能3:操作人員維護(hù)功能4:新增用戶組功能5:用戶組維護(hù)功能6:添加人才數(shù)據(jù)功能7:人才數(shù)據(jù)維護(hù)功能8:全部人才信息瀏覽功能9:模糊查詢功能10:基本情況統(tǒng)計(jì)功能11:專業(yè)結(jié)構(gòu)統(tǒng)計(jì) 對(duì)性能的規(guī)定為了保證系統(tǒng)能夠長(zhǎng)期、安全、穩(wěn)定、可靠、高效的運(yùn)行,機(jī)票預(yù)定系統(tǒng)應(yīng)該滿足以下的性能需求:系統(tǒng)處理的準(zhǔn)確性和及時(shí)性系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開發(fā)過(guò)程中,要充分考慮系統(tǒng)當(dāng)前和將來(lái)可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足企業(yè)對(duì)信息
5、處理的需求。由于鄉(xiāng)土人才管理系統(tǒng)系統(tǒng)的查詢功能對(duì)于整個(gè)系統(tǒng)的功能和性能完成舉足輕重。作為系統(tǒng)的很多數(shù)據(jù)來(lái)源,而人才數(shù)據(jù)數(shù)量和時(shí)間又影響決策活動(dòng),其準(zhǔn)確性很大程度上決定了鄉(xiāng)土人才管理系統(tǒng)的成敗。在系統(tǒng)開發(fā)過(guò)程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性。系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性鄉(xiāng)土人才管理系統(tǒng)在開發(fā)過(guò)程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如用戶查詢和察看報(bào)表的需求也會(huì)不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過(guò)系統(tǒng)的開放性來(lái)完成,既系統(tǒng)應(yīng)是一個(gè)開放系統(tǒng),只要符合一定的規(guī)范,可以簡(jiǎn)單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過(guò)軟件的修補(bǔ)、替換完成系統(tǒng)
6、的升級(jí)和更新?lián)Q代。系統(tǒng)的易用性和易維護(hù)性鄉(xiāng)土人才管理系統(tǒng)是直接面對(duì)使用人員的,而使用人員往往對(duì)計(jì)算機(jī)并不時(shí)非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語(yǔ)和中文信息的界面;針對(duì)用戶可能出現(xiàn)的使用問(wèn)題,要提供足夠的在線幫助,縮短用戶對(duì)系統(tǒng)熟悉的過(guò)程。鄉(xiāng)土人才管理系統(tǒng)中涉及到的數(shù)據(jù)是人事管理部門的相當(dāng)重要的信息,系統(tǒng)要提供方便的手段供系統(tǒng)維護(hù)人員進(jìn)行數(shù)據(jù)的備份,日常的安全管理,系統(tǒng)意外崩潰時(shí)數(shù)據(jù)的恢復(fù)等工作。系統(tǒng)的標(biāo)準(zhǔn)性系統(tǒng)在設(shè)計(jì)開發(fā)使用過(guò)程中都要涉及到很多計(jì)算機(jī)硬件、軟件。所有這些都要符合主流國(guó)際、國(guó)家和行業(yè)標(biāo)準(zhǔn)。例如在開發(fā)中使
7、用的操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)、開發(fā)工具都必須符合通用標(biāo)準(zhǔn)。如規(guī)范的數(shù)據(jù)庫(kù)操縱界面、作為業(yè)界標(biāo)準(zhǔn)的TCP/IP網(wǎng)絡(luò)協(xié)議及ISO9002標(biāo)準(zhǔn)所要求的質(zhì)量規(guī)范等;同時(shí),在自主開發(fā)本系統(tǒng)時(shí),要進(jìn)行良好的設(shè)計(jì)工作,制訂行之有效的軟件工程規(guī)范,保證代碼的易讀性、可操作性和可移植性。系統(tǒng)的先進(jìn)性目前計(jì)算系統(tǒng)的技術(shù)發(fā)展相當(dāng)快,作為人事管理系統(tǒng)工程,應(yīng)該保證系統(tǒng)在幾年內(nèi)仍舊是先進(jìn)的,在系統(tǒng)的生命周期盡量做到系統(tǒng)的先進(jìn),充分完成用戶信息處理的要求而不至于落后。這一方面通過(guò)系統(tǒng)的開放性和可擴(kuò)充性,不斷改善系統(tǒng)的功能完成。另一方面,在系統(tǒng)設(shè)計(jì)和開發(fā)的過(guò)程中,應(yīng)在考慮成本的基礎(chǔ)上盡量采用當(dāng)前主流并先進(jìn)且有良好發(fā)展前途的產(chǎn)品。
8、系統(tǒng)的響應(yīng)速度鄉(xiāng)土人才管理系統(tǒng)在日常處理中的響應(yīng)速度為秒級(jí),達(dá)到實(shí)時(shí)要求,以及時(shí)反饋信息。在進(jìn)行統(tǒng)計(jì)分析時(shí),根據(jù)所需數(shù)據(jù)量的不同而從秒級(jí)到分鐘級(jí),原則是保證操作人員不會(huì)因?yàn)樗俣葐?wèn)題而影響工作效率。 對(duì)數(shù)據(jù)的規(guī)定鄉(xiāng)土人才管理系統(tǒng)的數(shù)據(jù)需求包括如下幾點(diǎn):數(shù)據(jù)錄入和處理的準(zhǔn)確性和實(shí)時(shí)性數(shù)據(jù)的輸入是否準(zhǔn)確是數(shù)據(jù)處理的前提,錯(cuò)誤的輸入會(huì)導(dǎo)致系統(tǒng)輸出的不正確和不可用,從而使系統(tǒng)的工作失去意義。數(shù)據(jù)的輸入來(lái)源是手工輸入。手工輸入要通過(guò)系統(tǒng)界面上的安排系統(tǒng)具有容錯(cuò)性,并且對(duì)操作人員要進(jìn)行系統(tǒng)的培訓(xùn)。在系統(tǒng)中,數(shù)據(jù)的輸入往往是大量的,因此系統(tǒng)要有一定的處理能力,以保證迅速的處理數(shù)據(jù)。數(shù)據(jù)的一致性與完整性由于系統(tǒng)
9、的數(shù)據(jù)是共享的,在不同的人事機(jī)關(guān)中,人才信息是共享數(shù)據(jù),所以如何保證這些數(shù)據(jù)的一致性,是系統(tǒng)必須解決的問(wèn)題。要解決這一問(wèn)題,要有一定的人員維護(hù)數(shù)據(jù)的一致性,在數(shù)據(jù)錄入處控制數(shù)據(jù)的去向,并且要求對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)完整性進(jìn)行嚴(yán)格的約束。對(duì)于輸入的數(shù)據(jù),要為其定義完整性規(guī)則,如果不能符合完整性約束,系統(tǒng)應(yīng)該拒絕該數(shù)據(jù)。數(shù)據(jù)的共享與獨(dú)立性整個(gè)鄉(xiāng)土人才管理系統(tǒng)的數(shù)據(jù)是共享的。然而,從系統(tǒng)開發(fā)的角度上看,共享會(huì)給設(shè)計(jì)和調(diào)試帶來(lái)困難。因此,應(yīng)該提供靈活的配置,使各個(gè)分系統(tǒng)能夠獨(dú)立運(yùn)行,而通過(guò)人工干預(yù)的手段進(jìn)行系統(tǒng)數(shù)據(jù)的交換。這樣,也能提供系統(tǒng)的強(qiáng)壯性。概要設(shè)計(jì)結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)整體架構(gòu)圖 表示層 業(yè)務(wù)層 數(shù)據(jù)層EJ
10、BJSPEJBJSP數(shù)據(jù)庫(kù)()數(shù)據(jù)庫(kù)()JAVABeanServletJSPBrowserJAVABeanServletJSPBrowserJAVAControlJSP瀏覽器JAVAControlJSP 應(yīng)用服務(wù)器系統(tǒng)功能結(jié)構(gòu)圖貴州省鄉(xiāng)土人才管理系統(tǒng)貴州省鄉(xiāng)土人才管理系統(tǒng)系統(tǒng)安全系統(tǒng)維護(hù)人才數(shù)據(jù)管理人才數(shù)據(jù)查詢?nèi)瞬徘闆r統(tǒng)計(jì)系統(tǒng)安全系統(tǒng)維護(hù)人才數(shù)據(jù)管理人才數(shù)據(jù)查詢?nèi)瞬徘闆r統(tǒng)計(jì)安全登陸添加操作員操作員維護(hù)添加權(quán)限組用戶組維護(hù)人才數(shù)據(jù)維護(hù) 添加人才數(shù)據(jù)培訓(xùn)及獲證情況統(tǒng)計(jì)職業(yè)結(jié)構(gòu)統(tǒng)計(jì)職稱情況統(tǒng)計(jì)行業(yè)結(jié)構(gòu)統(tǒng)計(jì)獲獎(jiǎng)情況統(tǒng)計(jì)專業(yè)結(jié)構(gòu)統(tǒng)計(jì)學(xué)歷情況統(tǒng)計(jì)年齡結(jié)構(gòu)統(tǒng)計(jì)基本情況統(tǒng)計(jì)綜合條件查詢安全登陸添加操作員操作員
11、維護(hù)添加權(quán)限組用戶組維護(hù)人才數(shù)據(jù)維護(hù) 添加人才數(shù)據(jù)培訓(xùn)及獲證情況統(tǒng)計(jì)職業(yè)結(jié)構(gòu)統(tǒng)計(jì)職稱情況統(tǒng)計(jì)行業(yè)結(jié)構(gòu)統(tǒng)計(jì)獲獎(jiǎng)情況統(tǒng)計(jì)專業(yè)結(jié)構(gòu)統(tǒng)計(jì)學(xué)歷情況統(tǒng)計(jì)年齡結(jié)構(gòu)統(tǒng)計(jì)基本情況統(tǒng)計(jì)綜合條件查詢基本情況查詢修改刪除修改刪除將鄉(xiāng)土人才管理系統(tǒng)劃分為5個(gè)模塊:系統(tǒng)維護(hù)、人才數(shù)據(jù)管理、人才數(shù)據(jù)查詢、人才情況統(tǒng)計(jì)和公用的系統(tǒng)安全模塊。下面對(duì)各模塊進(jìn)行功能說(shuō)明:1 系統(tǒng)安全模塊本模塊是公用模塊,要被其它模塊使用到,包括以下用例 安全登錄2系統(tǒng)維護(hù)模塊本模塊包括以下用例新增操作員操作人員維護(hù)新增用戶組用戶組維護(hù)3人才數(shù)據(jù)管理本模塊包括以下用例添加人才數(shù)據(jù)人才數(shù)據(jù)維護(hù)4人才數(shù)據(jù)查詢本模塊包括以下用例全部人才信息瀏覽模糊查詢5
12、人才情況統(tǒng)計(jì)本模塊包括以下用例基本情況統(tǒng)計(jì)專業(yè)結(jié)構(gòu)統(tǒng)計(jì)6人才情況統(tǒng)計(jì)第二部分學(xué)歷情況統(tǒng)計(jì)職業(yè)結(jié)構(gòu)統(tǒng)計(jì)人工處理過(guò)程手動(dòng)把foxpro數(shù)據(jù)庫(kù)中的結(jié)構(gòu)和數(shù)據(jù)遷移到Oracle數(shù)據(jù)庫(kù)中 接口設(shè)計(jì)外部接口 用戶界面在用戶界面部分,根據(jù)需求分析的結(jié)果,用戶需要一個(gè)用戶友善界面。在界面設(shè)計(jì)上,應(yīng)做到簡(jiǎn)單明了,易于操作,并且要注意到界面的布局,應(yīng)突出的顯示重要以及出錯(cuò)信息。外觀上也要做到合理化,盡量使用css文件控制系統(tǒng)的整體布局和風(fēng)格。總的來(lái)說(shuō),系統(tǒng)的用戶界面應(yīng)作到可靠性、簡(jiǎn)單性、易學(xué)習(xí)和使用 軟件接口服務(wù)器程序可使用中間件服務(wù)器提供的對(duì)oracle服務(wù)器的接口,進(jìn)行對(duì)數(shù)據(jù)庫(kù)的所有訪問(wèn)。JDBC驅(qū)動(dòng)程序應(yīng)用
13、程序JDBC驅(qū)動(dòng)程序應(yīng)用程序oracle數(shù)據(jù)庫(kù)中間件服務(wù)器接口oracle數(shù)據(jù)庫(kù)中間件服務(wù)器接口數(shù)據(jù)庫(kù)驅(qū)動(dòng)數(shù)據(jù)庫(kù)驅(qū)動(dòng)服務(wù)器程序上可使用oracle的對(duì)數(shù)據(jù)庫(kù)的備分命令,以做到對(duì)數(shù)據(jù)的保存。運(yùn)行設(shè)計(jì)運(yùn)行模塊組合用戶通過(guò)瀏覽器來(lái)調(diào)用執(zhí)行各個(gè)功能模塊,各功能模塊接收用戶的命令后,調(diào)用相應(yīng)的Action對(duì)用戶的輸入進(jìn)行驗(yàn)證和處理,該Action處理過(guò)程中調(diào)用相應(yīng)的模型組件執(zhí)行具體的業(yè)務(wù)邏輯并把執(zhí)行的結(jié)果返回給用戶。運(yùn)行控制運(yùn)行控制將嚴(yán)格按照各個(gè)模塊中的struts配置文件和Action來(lái)執(zhí)行。在各Action和struts配置文件中,需對(duì)運(yùn)行控制進(jìn)行正確的判斷,選擇正確的運(yùn)行控制路徑。數(shù)據(jù)庫(kù)設(shè)計(jì)DBM
14、S 的使用上系統(tǒng)采用 Oracle8i。 數(shù)據(jù)庫(kù)的概念設(shè)計(jì)根據(jù)鄉(xiāng)土人才數(shù)據(jù)流程,構(gòu)建出如下的概念模型(不含屬性框的E-R模型):隸屬行業(yè)人才隸屬行業(yè)人才居住地域人才獲得獎(jiǎng)項(xiàng)參加培訓(xùn) m 1 n n 1 m n 數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)見(jiàn)下頁(yè) 數(shù)據(jù)庫(kù)關(guān)系表的設(shè)計(jì)根據(jù)如上的E-R模型,建立如下的關(guān)系模式及表:(1)、人才關(guān)系人才(人才編號(hào),姓名,性別,出生日期,民族,政治面貌,學(xué)歷,專業(yè),職業(yè),職務(wù),職稱,工作單位,通信住址,聯(lián)系電話,主要專長(zhǎng),主要業(yè)績(jī),是否行業(yè)帶頭人,資格證年度,備注,地域編碼,行業(yè)編碼)此處人才編號(hào)是主索引,地域編碼、行業(yè)編碼是外鍵。為了節(jié)約存儲(chǔ)空間和方便數(shù)據(jù)擴(kuò)展,學(xué)歷、專業(yè)、職業(yè)、
15、職務(wù)、職稱、行業(yè)帶頭人用編碼表示。由此得人才數(shù)據(jù)表如下:列名數(shù)據(jù)類型寬度小數(shù)位數(shù)可否為空說(shuō)明人才編號(hào)字符型10NOT NULL人才編號(hào)(主鍵),以該字段建立主索引,標(biāo)記為“人才編號(hào)”。人才編號(hào)由10個(gè)字符構(gòu)成:第1位為地區(qū)編碼,用字母表示,第2-3位為縣編碼,由數(shù)字構(gòu)成,第4-5為預(yù)留的鄉(xiāng)編碼,若不設(shè)鄉(xiāng),為“00”,第6-10位為個(gè)人序號(hào)。姓名字符型8NOT NULL性別字符型2NOT NULL出生日期日期型8NULL民族字符型10NOT NULL政治面貌字符型2NOT NULL學(xué)歷編碼字符型2NOT NULL二位數(shù)字。建立普通索引專業(yè)編碼字符型6NOT NULL第1-2位為大類編碼;第3-4
16、位為小類編碼;第5-6位為小類編碼,各位數(shù)字。建立普通索引。職業(yè)編碼字符型4NOT NULL第1位為大類編碼,1個(gè)字母;第2-3位為中類編碼,2位數(shù)字;第4位為小類編碼。建立普通索引。職務(wù)編碼字符型3NOT NULL第1位為大類編碼,1個(gè)字母;第2-3位為小類編碼。建立普通索引。職稱編碼字符型4NOT NULL第1位為大類編碼,1個(gè)字母;第2-3位為小類編碼,2位數(shù)字;第4位為級(jí)別,1:正高,2:副高;3:中級(jí),4:初級(jí);5:其它。建立普通索引。工作單位字符型30NULL通信地址字符型37NULL含郵編聯(lián)系電話字符型46NULL主要專長(zhǎng)備注型4NULL主要業(yè)績(jī)備注型4NULL行業(yè)帶頭碼字符型2
17、NULL資格證年度備注備注型4NULL地域編碼字符型3NOT NUL3位編碼(地區(qū)1位字母、縣2位數(shù)字),該編碼與人才編號(hào)不能矛盾,建立普通索引。行業(yè)編碼字符型3NOT NULL3位編碼(一級(jí)行業(yè)1個(gè)字母、二級(jí)行業(yè)2位數(shù)字),建立普通索引(2)、行業(yè)關(guān)系行業(yè)( 行業(yè)編號(hào),行業(yè)名稱)由此行業(yè)表定義如下:列名數(shù)據(jù)類型寬度小數(shù)位數(shù)可否為空說(shuō)明行業(yè)編碼字符型3NOT NULL行業(yè)編碼由3個(gè)字符構(gòu)成:第1位為一級(jí)行業(yè)編碼,用字母表示,第2-3位為二級(jí)行業(yè)編碼,用數(shù)字表示,以該字段建立主索引,標(biāo)記為“行業(yè)編碼”。行業(yè)名稱字符型32NOT NULL(3)、地域關(guān)系地域(地域編碼,地域名稱) 由此行業(yè)表定義如
18、下:列名數(shù)據(jù)類型寬度小數(shù)位數(shù)可否為空說(shuō)明地域編碼字符型3NOT NULL地區(qū)編碼由3位字符構(gòu)成;第1位為地區(qū)編碼,用字母表示,第2-3位為該地的縣(市、區(qū))編碼用數(shù)字表示,以該字段建立主索引,標(biāo)記為“地域編碼”。地域名稱字符型10NOT NULL(4)、獲獎(jiǎng)關(guān)系獲獎(jiǎng)(獲獎(jiǎng)序號(hào),獲獎(jiǎng)年度,獲獎(jiǎng)名稱,獲獎(jiǎng)級(jí)別,人才編號(hào)) 由此獲獎(jiǎng)表定義如下:列名數(shù)據(jù)類型寬度小數(shù)位數(shù)可否為空說(shuō)明ID數(shù)字型NOT NULL以該字段建立主索引,標(biāo)記為“獲獎(jiǎng)序號(hào)”。YEAR日期型NOT NULLNAME字符型20NOT NULLLEVEL_CODE字符型2NOT NULL分國(guó)家級(jí)、省部級(jí)、地州級(jí)、縣級(jí)PERSONNEL_
19、CODE字符型10NOT NULL外鍵,用于表示參加獲獎(jiǎng)的人才該關(guān)系表是用于實(shí)現(xiàn)鄉(xiāng)土人才獲相關(guān)嘉獎(jiǎng)情況。(5)、培訓(xùn)關(guān)系培訓(xùn)(培訓(xùn)序號(hào),培訓(xùn)年度,培訓(xùn)名稱,獲獎(jiǎng)級(jí)別,人才編號(hào)) 由此培訓(xùn)表定義如下:列名數(shù)據(jù)類型寬度小數(shù)位數(shù)可否為空說(shuō)明ID數(shù)字型NOT NULL以該字段建立主索引,標(biāo)記為“培訓(xùn)序號(hào)”。YEAR日期型NOT NULLNAME字符型20NOT NULLLEVEL_CODE字符型2NOT NULL分國(guó)家級(jí)、省部級(jí)、地州級(jí)、縣級(jí)PERSONNEL_CODE字符型10NOT NULL外鍵,用于表示參加培訓(xùn)的人才此關(guān)系表是用于存儲(chǔ)鄉(xiāng)土人才參加培訓(xùn)情況的。(6)、另外建立如下表操作員信息表Us
20、er_Info該表用于存儲(chǔ)系統(tǒng)操作員的權(quán)限,表結(jié)構(gòu)如下:列名數(shù)據(jù)類型寬度小數(shù)位數(shù)可否為空說(shuō)明ID字符型6NOT NULL主鍵,用于區(qū)別操作員LOGIN_NAME字符型10NOT NULL用戶登陸名NAME字符型20NOT NULL操作員姓名PASSWORD字符型10NOT NULL操作員口令GROUP_CODE字符型2NOT NULL外鍵,引用UserGroup組,操作員組REGION_CODE字符型3NOT NULL外鍵,引用地域字典表,操作員人事機(jī)關(guān)用戶組信息表Group_Info列名數(shù)據(jù)類型寬度小數(shù)位數(shù)可否為空說(shuō)明ID字符型2NOT NULLID自動(dòng)增加NAME字符型20NOT NULL
21、組名稱MOD_SYS_ADMIN字符型1NOT NULL是否擁有系統(tǒng)維護(hù)權(quán)限,取值為y或n,默認(rèn)為nMOD_DATA_ADMIN字符型1NOT NULL是否擁有數(shù)據(jù)管理模塊權(quán)限,取值為y或n,默認(rèn)為nMOD_DATA_QUERY字符型1NOT NULL是否擁有數(shù)據(jù)查詢模塊權(quán)限,取值為y或n,默認(rèn)為nMOD_DATA_STAT字符型1NOT NULL是否擁有數(shù)據(jù)統(tǒng)計(jì)模塊權(quán)限,取值為y或n,默認(rèn)為n系統(tǒng)出錯(cuò)處理設(shè)計(jì)出錯(cuò)信息程序在運(yùn)行時(shí)主要會(huì)出現(xiàn)兩種錯(cuò)誤:1、由于輸入信息,或無(wú)法滿足要求時(shí)產(chǎn)生的錯(cuò)誤,稱為軟錯(cuò)誤。2、由于其他問(wèn)題,如網(wǎng)絡(luò)傳輸超時(shí)等,產(chǎn)生的問(wèn)題,稱為硬錯(cuò)誤。對(duì)于軟錯(cuò)誤,須在定票/領(lǐng)票操
22、作成功判斷及輸入數(shù)據(jù)驗(yàn)證模塊由數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,判斷錯(cuò)誤類型,再生成相應(yīng)的錯(cuò)誤提示語(yǔ)句。對(duì)與硬錯(cuò)誤,可在出錯(cuò)的相應(yīng)模塊中輸出簡(jiǎn)單的出錯(cuò)語(yǔ)句,并將程序重置。返回輸入階段。出錯(cuò)信息必須給出相應(yīng)的出錯(cuò)原因,例:“用戶名和密碼不能為空”等。補(bǔ)救措施所有的客戶機(jī)及服務(wù)器都必須安裝不間斷電源以防止停電或電壓不穩(wěn)造成的數(shù)據(jù)丟失的損失。若真斷電時(shí),客戶機(jī)上將不會(huì)有太大的影響,主要是服務(wù)器上:在斷電后恢復(fù)過(guò)程可采用Oracle的日志文件,對(duì)其進(jìn)行ROLLBACK 處理,對(duì)數(shù)據(jù)進(jìn)行恢復(fù)。在網(wǎng)絡(luò)傳輸方面,可考慮建立一條成本較低的后備網(wǎng)絡(luò),以保證當(dāng)主網(wǎng)絡(luò)斷路時(shí)數(shù)據(jù)的通信。在硬件方面要選擇較可靠、穩(wěn)定的服務(wù)器機(jī)種,保證
23、系統(tǒng)運(yùn)行時(shí)的可靠性。系統(tǒng)維護(hù)設(shè)計(jì)維護(hù)方面主要為對(duì)服務(wù)器上的數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行維護(hù)。可使用Oracle的數(shù)據(jù)庫(kù)維護(hù)功能機(jī)制。例如,定期為數(shù)據(jù)庫(kù)進(jìn)行Backup,維護(hù)管理數(shù)據(jù)庫(kù)死鎖問(wèn)題和維護(hù)數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)的一致性等。詳細(xì)設(shè)計(jì) 系統(tǒng)的結(jié)構(gòu) 系統(tǒng)整體結(jié)構(gòu)圖系統(tǒng)整體上使用MVC設(shè)計(jì)模式,View和Controller使用Struts實(shí)現(xiàn),Model層使用業(yè)務(wù)代理設(shè)計(jì)模式,業(yè)務(wù)代理接口訪問(wèn)持久化層中的DAO接口,處理實(shí)際的業(yè)務(wù)邏輯。而本應(yīng)用的控制層中的Action類可以使用這個(gè)業(yè)務(wù)代理接口,而不必直接和持久化框架交互。這種做法有助于削弱上層Web應(yīng)用和持久化框架之間的關(guān)系,提高持久化框架的相對(duì)獨(dú)立性。另外在持久
24、化層使用DAO設(shè)計(jì)模式來(lái)削弱應(yīng)用的業(yè)務(wù)邏輯和數(shù)據(jù)庫(kù)訪問(wèn)邏輯的關(guān)系,在持久化層使用Hibernate這個(gè)ORM持久化框架。聯(lián)合使用DAO模式和業(yè)務(wù)代理模式,可以提高持久化層、模型層和Web應(yīng)用層的相互獨(dú)立性。JSP頁(yè)面:DisplayTag標(biāo)簽、客戶標(biāo)簽、Struts Menu標(biāo)簽、Struts標(biāo)簽JSP頁(yè)面:DisplayTag標(biāo)簽、客戶標(biāo)簽、Struts Menu標(biāo)簽、Struts標(biāo)簽 視圖層(View)Struts Action類:各子模塊actions包下各類Web應(yīng)用層Struts Action類:各子模塊actions包下各類 控制層(Controller)業(yè)務(wù)代理接口:servic
25、e包下IxtrcService接口業(yè)務(wù)代理接口:service包下IxtrcService接口業(yè)務(wù)代理接口實(shí)現(xiàn)類:service包下XtrcServiceImpl類業(yè)務(wù)代理接口實(shí)現(xiàn)類:service包下XtrcServiceImpl類業(yè)務(wù)層(Model)業(yè)務(wù)對(duì)象(BO):bo包下各類業(yè)務(wù)對(duì)象(BO):bo包下各類DAO接口:dao包下IxtrcDao接口DAO接口:dao包下IxtrcDao接口持久化層DAO(Hibernate):DAO(Hibernate):包下各類鄉(xiāng)土人才數(shù)據(jù)庫(kù)鄉(xiāng)土人才數(shù)據(jù)庫(kù)(oracle8i)信息層 系統(tǒng)目錄結(jié)構(gòu)personnel|- src| |- org| |- .
26、(詳見(jiàn)系統(tǒng)包圖)| |- WebRoot| |- security/.| |- | |- resource/.| |- sysadmin/.| |- dataadmin/.| |- dataquery/.| |- datastat/.| |- | |- | |- | |- | |- WEB-INF/.| |- lib/.| |- (struts配置文件)| |- (系統(tǒng)維護(hù)模塊配置文件)| |- (數(shù)據(jù)維護(hù)模塊配置文件)| |- (信息查詢模塊配置文件)| |- (數(shù)據(jù)統(tǒng)計(jì)模塊配置文件)| |- (struts menu配置文件) 系統(tǒng)包圖系統(tǒng)功能劃分包結(jié)構(gòu)圖 系統(tǒng)各層次包關(guān)系圖 系統(tǒng)持久化層
27、設(shè)計(jì)模塊描述通過(guò)統(tǒng)一的DAO接口IXtrcDao向上層(模型層)提供訪問(wèn)數(shù)據(jù)庫(kù)的操作。設(shè)計(jì)方法 設(shè)計(jì)DAO接口:IxtrcDao此接口聲明了getUserInfoDao()、getGroupInfoDao()等方法獲得某業(yè)務(wù)對(duì)象的Dao接口的實(shí)現(xiàn)類。 設(shè)計(jì)DAO接口實(shí)現(xiàn)類:XtrcDaoImpl此類實(shí)現(xiàn)了IxtrcDao接口聲明的各個(gè)方法。 設(shè)計(jì)各個(gè)業(yè)務(wù)對(duì)象的DAO接口其中,所有接口都繼承自IBaseDao接口,該接口聲明了增、刪(delete)、改、load等方法,增加和修改的方法和為一個(gè)方法:store。子接口都是使用MyEclipse自動(dòng)生成。 設(shè)計(jì)各個(gè)業(yè)務(wù)對(duì)象的DAO接口實(shí)現(xiàn)類其中,所
28、有接口都繼承自BaseDaImpl類,該類實(shí)現(xiàn)了IBaseDao接口中聲明的各個(gè)方法,子類都是使用MyEclipse的Hibernate工具自動(dòng)生成,它們都實(shí)現(xiàn)了自身對(duì)應(yīng)的接口中的方法。如UserInfoDAO類繼承BaseDaoImpl類,同時(shí)實(shí)現(xiàn)了IUserInfoDAO接口。這些子類繼承了基類BaseDaoImpl中的load(),store()等方法,同時(shí)實(shí)現(xiàn)了針對(duì)本業(yè)務(wù)對(duì)象的特殊方法,如下圖的UserInfoDAO類 系統(tǒng)業(yè)務(wù)(Model)層設(shè)計(jì)說(shuō)明模塊描述通過(guò)統(tǒng)一的業(yè)務(wù)代理接口IxtrcService向上層(Web應(yīng)用層中的控制層,具體說(shuō)是Struts框架中的Action)提供服務(wù)
29、(即封裝了業(yè)務(wù)操作,返回結(jié)果給Web應(yīng)用層)。設(shè)計(jì)方法 創(chuàng)建業(yè)務(wù)對(duì)象本應(yīng)用中的業(yè)務(wù)對(duì)象和數(shù)據(jù)庫(kù)中的各個(gè)表一一對(duì)應(yīng),通過(guò)XML文件來(lái)映射業(yè)務(wù)對(duì)象和數(shù)據(jù)庫(kù)中的表。業(yè)務(wù)對(duì)象類和映射XML文件位于包下。這些業(yè)務(wù)對(duì)象除了基類BaseBo其他都是使用MyEclipse的Hibernate工具自動(dòng)生成。各個(gè)業(yè)務(wù)對(duì)象的UML類圖如下 使用業(yè)務(wù)代理設(shè)計(jì)模式下圖為本應(yīng)用中業(yè)務(wù)代理設(shè)計(jì)模式的各類UML類圖 設(shè)計(jì)業(yè)務(wù)代理接口IXtrcService本接口定義了所有被Web應(yīng)用層調(diào)用的方法。IXtrcService用來(lái)削弱服務(wù)和客戶程序的關(guān)系,即使是其他類型的非Web客戶程序也可以使用同樣的服務(wù)。 設(shè)計(jì)業(yè)務(wù)代理接口實(shí)現(xiàn)
30、類XtrcServiceImplXtrcServiceImpl提供了IXtrcService接口的一種實(shí)現(xiàn)。也可以采用其他方式來(lái)實(shí)現(xiàn)這一接口,這不會(huì)影響客戶程序,因?yàn)榭蛻舫绦蛘{(diào)用的是接口,而不是實(shí)現(xiàn)。XtrcServiceImpl調(diào)用IXtrcDao接口來(lái)操作數(shù)據(jù)庫(kù) 設(shè)計(jì)業(yè)務(wù)代理工廠類XtrcServiceFactory 本應(yīng)用使用一個(gè)工廠類,它同時(shí)也是一個(gè)Struts插件(PlugIn),它決定初始化哪個(gè)業(yè)務(wù)代理實(shí)現(xiàn)類。 XtrcServiceFactory類從文件中讀取初始化參數(shù),該參數(shù)指明需要實(shí)例化的IXtrcService實(shí)現(xiàn)類的類名。如果不存在這個(gè)初始化參數(shù),就使用默認(rèn)的實(shí)現(xiàn)類(本應(yīng)
31、用為XtrcServiceImpl)。中配置如下:web-app 。 。 xtrc-service-class 。 由于工廠類實(shí)現(xiàn)了Struts插件接口,因此Struts應(yīng)用啟動(dòng)時(shí)將加載該插件類中定義了該插件),創(chuàng)建它的實(shí)例,并調(diào)用它的init()方法進(jìn)行初始化。該init()方法把服務(wù)工廠類本身的實(shí)例保存到application范圍中,在需要的時(shí)候可以再把它取出來(lái)。 使用業(yè)務(wù)代理接口的方法為了創(chuàng)建服務(wù)實(shí)現(xiàn)的實(shí)例,客戶程序(如Action類)需要從ServletContext中取出工廠類實(shí)例,然后調(diào)用它的createService()方法。CreateService()方法將調(diào)用服務(wù)實(shí)現(xiàn)類的不
32、帶參數(shù)的構(gòu)造方法來(lái)創(chuàng)建服務(wù)實(shí)現(xiàn)類的一個(gè)實(shí)例。然后Action類就可以訪問(wèn)該實(shí)例的業(yè)務(wù)方法。下圖為Action類調(diào)用Xtrc業(yè)務(wù)代理接口的時(shí)序圖具體調(diào)用方法請(qǐng)查看例如在LogonAction中調(diào)用服務(wù)的例子如下邊代碼中黑體部分。if (form != null) userName = (LogonForm) form).getUserName();password = (LogonForm) form).getPassword();IXtrcService serviceImpl = getXtrcService();user = (userName,password);if (user = n
33、ull), new ActionMessage();。其中g(shù)etXtrcService()方法是在LogonAction類的父類 XtrcBaseAction類中定義的,該方法代碼如下:protected IXtrcService getXtrcService() IxtrcServiceFactory factory=(IXtrcServiceFactory) getApplicationObject;IXtrcService service = null;try service = (); catch (Exception ex) (Problem creating the Xtrc Service, ex);return service;5 具體開發(fā)實(shí)現(xiàn)過(guò)程 信息層 把數(shù)據(jù)庫(kù)從Foxpro遷移到Oracl
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 材料疲勞損傷累積分析數(shù)據(jù)統(tǒng)計(jì)分析重點(diǎn)基礎(chǔ)知識(shí)點(diǎn)
- 火災(zāi)逃生-應(yīng)急預(yù)案演練(3篇)
- 蓄電池火災(zāi)處置應(yīng)急預(yù)案(3篇)
- 行政程序法中的公眾參與機(jī)制試題及答案
- 綠城火災(zāi)應(yīng)急預(yù)案(3篇)
- 火災(zāi)的應(yīng)急預(yù)案出題(3篇)
- 針對(duì)社區(qū)發(fā)展的個(gè)人思考高考作文試題及答案
- 企業(yè)火災(zāi)疏散應(yīng)急預(yù)案(3篇)
- 火災(zāi)預(yù)案應(yīng)急響應(yīng)分級(jí)(3篇)
- 信息處理與用戶體驗(yàn)試題及答案
- 寧陵牧原農(nóng)牧有限公司小張莊年存欄2萬(wàn)頭母豬養(yǎng)殖項(xiàng)目環(huán)境影響報(bào)告
- 人工智能算法分析 課件 【ch07】聯(lián)邦學(xué)習(xí)
- 灌注樁后壓漿工法
- 《大象的耳朵》評(píng)課稿
- 月子養(yǎng)生中心項(xiàng)目投資計(jì)劃書
- 造口術(shù)前定位
- 廣東省高等學(xué)?!扒О偈こ獭钡诹^續(xù)培養(yǎng)對(duì)象和第
- 人教版三年級(jí)數(shù)學(xué)上冊(cè)口算題卡
- 玻璃鋼管道施工方案
- 錐坡工程量計(jì)算(支持斜交、溜坡計(jì)算)
- 康復(fù)醫(yī)學(xué)-康復(fù)治療技術(shù)
評(píng)論
0/150
提交評(píng)論