趙凱
摘要:由于計算機(jī)技術(shù)的飛速發(fā)展,數(shù)據(jù)庫技術(shù)作為數(shù)據(jù)管理的一個有效的手段,在各行各業(yè)中得到越來越廣泛的應(yīng)用。因此,本文圍繞一個“人事管理系統(tǒng)”程序的設(shè)計和應(yīng)用系統(tǒng)的開發(fā)課題為背景,詳細(xì)介紹了以Java 和Oracle為語言編寫管理信息系統(tǒng)的過程。該程序通過Java中的GUI圖形界面前臺與后臺Oracle數(shù)據(jù)庫的連接,并具有典型的數(shù)據(jù)庫應(yīng)用系統(tǒng)的特征,完成了系統(tǒng)結(jié)構(gòu)與現(xiàn)實生活的緊密結(jié)合。
管理系統(tǒng)的開發(fā)不僅是一個應(yīng)用程序編寫的過程,更重要的是在系統(tǒng)分析和設(shè)計階段所做的工作。該程序在設(shè)計過程中嚴(yán)格遵循軟件工程學(xué)的方法,用分階段的生命周期計劃嚴(yán)格管理,并主要講述了程序的總體設(shè)計、詳細(xì)設(shè)計階段,對程序進(jìn)行需求迭代,不斷修正和改進(jìn),利用SQL的強(qiáng)大數(shù)據(jù)庫功能,直到形成一個完善的可行性系統(tǒng).優(yōu)美、秀麗的界面,方便實用的查詢與維護(hù)功能共同構(gòu)成了“人事工資管理系統(tǒng)”。
關(guān)鍵詞:Oracle,數(shù)據(jù)庫,軟件工程
1.系統(tǒng)分析
1.1系統(tǒng)的初步調(diào)查
系統(tǒng)初步調(diào)查的方式主要為系統(tǒng)分析員與單位的管理者和人事信息管理人員交流,并了解機(jī)關(guān)和事業(yè)單位在人事管理方面的一些內(nèi)容和工作流程情況。機(jī)關(guān)和事業(yè)單位現(xiàn)行的人事信息管理方式主要是使用傳統(tǒng)人工的方式。這些優(yōu)點能夠極大地提高人事管理的效率,也是單位的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。根據(jù)上述分析,可以安排可行性研究。
1.2系統(tǒng)的可行性研究
在對系統(tǒng)目標(biāo)和環(huán)境精心分析的基礎(chǔ)上,從技術(shù)可行性、經(jīng)濟(jì)可行性和營運(yùn)可行性三個方面對本系統(tǒng)進(jìn)行可行性研究。
1.2.1營運(yùn)可行性
由于本系統(tǒng)只是面向機(jī)關(guān)和事業(yè)單位內(nèi)人事信息管理人員和在職人員開發(fā)的信息管理系統(tǒng),盡管這些人員可能沒有使用過類似的系統(tǒng),但是以Windows的友好界面,可以使人事信息管理員在專業(yè)人員的指導(dǎo)幫助下迅速掌握系統(tǒng)的操作方法。同時,用戶也可以根據(jù)我們編寫的詳細(xì)的“用戶操作說明書”,來學(xué)習(xí)正確的操作本系統(tǒng)。
1.2.2技術(shù)可行性:
開發(fā)的軟件可行性:
目前流行的數(shù)據(jù)庫開發(fā)從管理軟件來看,對于有關(guān)數(shù)據(jù)庫的信息管理系統(tǒng),用基于J2SE的架構(gòu)開發(fā)B/S結(jié)構(gòu),在數(shù)據(jù)庫方面采用oracle9i,無疑是實際應(yīng)用中最合適的一種解決方案。
開發(fā)的硬件可行性:
本系統(tǒng)對計算機(jī)的硬件環(huán)境有一定的要求,對計算機(jī)的操作系統(tǒng)、內(nèi)存、主頻、外設(shè)等都有最低要求,如果低于這個要求將影響到本系統(tǒng)的正常運(yùn)行。
1.2.3經(jīng)濟(jì)可行性
機(jī)關(guān)和事業(yè)單位的人事信息管理目前還完全以傳統(tǒng)的人工管理方式進(jìn)行管理,耗時多,效率低下并且極易出現(xiàn)錯誤。由于認(rèn)為失誤而早成用形和無形的經(jīng)濟(jì)損失事件層出不窮,我們也無法估算出所造成損失的總額。而利用計算機(jī)來實現(xiàn)人事管理的以成為適應(yīng)當(dāng)今人事管理的方式。開發(fā)一套能滿足人事信息管理的軟件是十分必要的,實現(xiàn)人事管理的自動化,在減少由于認(rèn)為失誤而早成損失的同時,也可以使人事信息管理部門減少許多費(fèi)用支出,如實現(xiàn)自動化管理后可以精簡人員,減少工資支出等。由上述三方面的分析可以看出,本系統(tǒng)的開發(fā)時機(jī)已經(jīng)成熟,從多種角度考慮開發(fā)此系統(tǒng)都是可行的,并且也是十分必要的。
2.系統(tǒng)數(shù)據(jù)庫設(shè)計
項目所涉及的系統(tǒng)數(shù)據(jù)庫的表包括:員工基本信息表、員工獎懲表、員工培訓(xùn)表、員工考評表、員工調(diào)薪表、員工調(diào)動表、賬套管理表、操作日志表、操作管理員表
2.1概念模型設(shè)計
概念性數(shù)據(jù)模型關(guān)心的是如何完整、正確地反映客觀實際情況,不關(guān)心在數(shù)據(jù)庫中如何實現(xiàn)。這種數(shù)據(jù)模式能真實地反應(yīng)用戶要求的實際情況,是一種容易被人們理解的直觀的數(shù)據(jù)庫結(jié)構(gòu)模式。同時也是一種相對穩(wěn)定統(tǒng)一的數(shù)據(jù)模式,一般情況下很少變動。概念性數(shù)據(jù)在用戶和設(shè)計者之間建立了橋梁。是設(shè)計數(shù)據(jù)庫結(jié)構(gòu)的基礎(chǔ)。
概念設(shè)計中自頂向下的實體分析方法,即常用的實體聯(lián)系模型(簡稱E-R模型),對具體數(shù)據(jù)進(jìn)行抽象加工,將實體集合抽象成實體類型。用實體間聯(lián)系反映現(xiàn)實世界事物間的內(nèi)在聯(lián)系。E-R模型是建立概念性數(shù)據(jù)模型的有力工具。
2.2物理數(shù)據(jù)庫模型設(shè)計
設(shè)計時,我們將確定下來的實體對象的屬性值映射為數(shù)據(jù)庫表中的列,在不同級的表之間,我們用按名應(yīng)用映射父表與子表間的引用關(guān)系,同級表之間,我們?nèi)匀谎赜弥鞔a、外碼以映射它們之間的引用關(guān)系。這樣,我們就建立了一個物理數(shù)據(jù)模型。
數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計:
概念結(jié)構(gòu)設(shè)計是獨立與實際數(shù)據(jù)模型的信息結(jié)構(gòu),必須將其轉(zhuǎn)化為邏輯結(jié)構(gòu)后才能進(jìn)行數(shù)據(jù)庫應(yīng)用的設(shè)計。也就是要將概念上的結(jié)構(gòu)轉(zhuǎn)化為數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型。
第一種轉(zhuǎn)化是將實體轉(zhuǎn)化為關(guān)系表。這種轉(zhuǎn)化比較簡單,只需要將實體的屬性定義為表的屬性即可。
第二種轉(zhuǎn)化是聯(lián)系的轉(zhuǎn)化。即將各實體之間的聯(lián)系轉(zhuǎn)化為表格之間的關(guān)系,如外部鍵的定義。
在上面工作的基礎(chǔ)上歸納出人員管理數(shù)據(jù)庫表格的組成、列的屬性、表格之間的聯(lián)系等。
該數(shù)據(jù)庫系統(tǒng)要求具有以下方面的特點;
(1)結(jié)構(gòu)合理,對一個人員建立多條記錄;
(2)所建立的數(shù)據(jù)冗余度小,獨立性強(qiáng);
(3)建檔、修改、查詢、統(tǒng)計快而準(zhǔn)確;
(4)保密性、可靠性好。
要做到以上四點要求,在數(shù)據(jù)庫的設(shè)計中必須盡量做到滿足數(shù)據(jù)庫設(shè)計第三范式,也就是滿足第三范式的定義:如果關(guān)系模式R(U,F(xiàn))中的所有非主屬性對任何候選關(guān)鍵字都不存在傳遞信賴,則稱關(guān)系R是屬于第三范式的。從第一范式到第三范式是逐次“包含于”的關(guān)系。遵循關(guān)系數(shù)據(jù)庫設(shè)計的范式要求才能達(dá)到規(guī)范化目的,從而使結(jié)構(gòu)更合理,消除存儲異常,使數(shù)據(jù)冗余盡量小,便于插入、刪除和更新。
3.軟件測試
軟件測試是保證軟件質(zhì)量的關(guān)鍵,它是對需求分析設(shè)計和編碼的最后復(fù)審。在軟件生命周期的每個階段,都不可避免地會產(chǎn)生錯誤,通常在編寫出每個源程序后,就要對它進(jìn)行必要的測試,這步工作自己來完成。此后由專門的測試人員進(jìn)行各種綜合測試。軟件產(chǎn)品可用黑盒測試法和白盒測試法進(jìn)行測試,通常兩種方法結(jié)合使用。我在測試系統(tǒng)時先進(jìn)行黑盒法測試,即檢查程序是否輸出正確的結(jié)果,而后進(jìn)行白盒測試,即了解程序的內(nèi)部結(jié)構(gòu)和處理過程,對程序中重要的邏輯路線進(jìn)行測試,在不同點檢查程序狀態(tài),確定實際狀態(tài)與時期的狀態(tài)是否一致[2]。
完成了企業(yè)人事工資管理系統(tǒng)的編譯和調(diào)試工作,最后一步就是系統(tǒng)的編譯和發(fā)行。在系統(tǒng)的編譯和發(fā)行以前,需要設(shè)置工程項目的屬性。選擇“Project|Renshi_MIS Properties”菜單,進(jìn)行屬性設(shè)置。
最后選擇”FileMade Renshi_Mis.exe”菜單,編譯開始。編譯完畢之后,即生成了相應(yīng)的可執(zhí)行文件。編譯通過后,生成可執(zhí)行文件Renshi_Mis.exe.我們需要在發(fā)布前對生成的可執(zhí)行文件進(jìn)行測試。通過測試的可執(zhí)行文件,就可以發(fā)布了。