欒貞
系統(tǒng)設(shè)計是系統(tǒng)開發(fā)的重要階段,設(shè)計的好壞直接影響到目標(biāo)系統(tǒng)的質(zhì)量,是整個開發(fā)工作的核心。系統(tǒng)設(shè)計階段的主要任務(wù)是在系統(tǒng)分析提出的邏輯模型的基礎(chǔ)上,科學(xué)合理地進(jìn)行物理模型設(shè)計解決系統(tǒng) “怎么做"的問題。系統(tǒng)設(shè)計的優(yōu)劣直接影響到目標(biāo)系統(tǒng)的質(zhì)量,因此在系統(tǒng)設(shè)計時必須遵循下列基本原則:簡單性、靈活性、完整性、可靠性、經(jīng)濟(jì)性。
本系統(tǒng)采用結(jié)構(gòu)化系統(tǒng)設(shè)計的方法。筆者將嚴(yán)格按照工程化的開發(fā)方法,逐步細(xì)化目標(biāo)模型。首先對系統(tǒng)進(jìn)行了運行環(huán)境設(shè)計、架構(gòu)設(shè)計,其中架構(gòu)設(shè)計要解決的問題包括:整個工程要使用什么架構(gòu)以及什么平臺。本系統(tǒng)采用C/S架構(gòu),系統(tǒng)前臺采用了Java Swing技術(shù)實現(xiàn)用戶界面,后臺數(shù)據(jù)庫采用了SQL Server2005,對于數(shù)據(jù)持久化操作采用了Hibernate框架技術(shù)。然后對功能模塊結(jié)構(gòu)進(jìn)行設(shè)計;通過活動圖對系統(tǒng)的功能流程進(jìn)行分析設(shè)計;對各個功能模塊進(jìn)行設(shè)計;對數(shù)據(jù)庫進(jìn)行設(shè)計;對界面進(jìn)行設(shè)計等。
基于這個系統(tǒng)可提升系統(tǒng)的處理能力,滿足各項發(fā)展需要,保障業(yè)務(wù)穩(wěn)健開展。采用了SQL Server2005數(shù)據(jù)庫,可以對該系統(tǒng)進(jìn)行后期的優(yōu)化。
1.框架設(shè)計目標(biāo)
系統(tǒng)的框架設(shè)計應(yīng)具滿足結(jié)構(gòu)簡潔層次清晰,重用性好,易擴(kuò)展、保證數(shù)據(jù)安全的目標(biāo)。且應(yīng)具有高可伸縮性,滿足單位未來發(fā)展。
(1) 可用性好,可靠性高(2) 安全性高(3) 可伸縮性好
(4) 系統(tǒng)結(jié)構(gòu)簡潔,層次清晰 (5) 重用性好 (6) 易擴(kuò)展
本文的人事管理系統(tǒng)在設(shè)計過程中,當(dāng)有多種可供選擇的技術(shù)時,就將這些設(shè)計原則作為決策依據(jù),這些設(shè)計原則是系統(tǒng)設(shè)計的指導(dǎo)思想。
2 .系統(tǒng)的運行環(huán)境設(shè)計
人事檔案信息的新增、修改和查詢是人事管理系統(tǒng)常用的操作,系統(tǒng)的吞吐量并不是很大,考慮到所選數(shù)據(jù)庫為MS SQL Server2000,所以選取系統(tǒng)運行的硬件環(huán)境為:CPU速度在1.0GHz以上,內(nèi)存在512MB以上,硬盤至少有800M的自由空間;軟件運行環(huán)境為:服務(wù)器端操作系統(tǒng)為Windows 2000或Windows2003,客戶機端操作系統(tǒng)為Windows 2000或Windows XP。
3 .系統(tǒng)架構(gòu)設(shè)計
根據(jù)前面所述非功能性需求分析,本系統(tǒng)整體將采用安全性較高的客戶機/服務(wù)器(Client/Server/)體系結(jié)構(gòu)。在網(wǎng)絡(luò)環(huán)境中,運行Client程序的計算機被稱為客戶機,運行Server程序的計算機被稱為服務(wù)器。數(shù)據(jù)在數(shù)據(jù)庫服務(wù)器(DB Server)中存放,用戶通過客戶機對數(shù)據(jù)庫進(jìn)行操作??蛻舳嗽趫?zhí)行應(yīng)用程序時,通過網(wǎng)絡(luò)向數(shù)據(jù)庫服務(wù)器發(fā)出對數(shù)據(jù)庫訪問的請求,服務(wù)器依據(jù)請求執(zhí)行相應(yīng)操作,然后只將查詢處理的結(jié)果通過網(wǎng)絡(luò)傳回給客戶機,這樣就明顯減輕了網(wǎng)絡(luò)上的傳輸量。同時,由于數(shù)據(jù)庫操作主要是服務(wù)器上進(jìn)行,客戶機和服務(wù)器的負(fù)荷也得以適當(dāng)?shù)钠胶?。C/S架構(gòu)的優(yōu)勢是可以將客戶端設(shè)計得高效快捷、界面功能豐富,并且可以充分利用本地硬件資源,還可在脫機情況下使用。
系統(tǒng)前臺采用了Java Swing組件技術(shù)實現(xiàn)用戶界面和業(yè)務(wù)邏輯,后臺數(shù)據(jù)庫采用了SQL Server2000,對于數(shù)據(jù)持久化操作采用了Hibernate框架技術(shù),實現(xiàn)數(shù)據(jù)訪問層的對象關(guān)系映射。
4 .系統(tǒng)功能業(yè)務(wù)框架
系統(tǒng)的功能框架分為架構(gòu)層和業(yè)務(wù)層。架構(gòu)層中提供對業(yè)務(wù)層支持的各業(yè)務(wù)組件,其中包括Hibernate數(shù)據(jù)持久化組件,RMI數(shù)據(jù)通訊協(xié)議組件及其它公共業(yè)務(wù)組件。系統(tǒng)的業(yè)務(wù)框架主要針對幾個子功能模塊來實現(xiàn)。系統(tǒng)包括七個子功能模塊:基本信息管理、檔案信息管理、考勤信息管理、工資發(fā)放信息管理、休假信息管理、查詢統(tǒng)計、系統(tǒng)維護(hù)。
5.系統(tǒng)工作流程設(shè)計
人事管理系統(tǒng)是一個面向人事管理人員并專為他們的人事管理工作提供方便和服務(wù)的綜合性信息管理系統(tǒng)。員工的個人信息、工資、考勤、培訓(xùn)等情況都被記錄在人事管理系統(tǒng)里,人事管理人員可通過此系統(tǒng)完成相關(guān)的檔案管理、工資管理、考勤管理等日常工作,人事檔案信息以及考勤、培訓(xùn)情況的新增、修改等都可以在這里進(jìn)行操作,而這些工作也都是他們平常比較繁重的工作。開始使用系統(tǒng)時,人事管理人員得先對部門信息、人員信息進(jìn)行設(shè)置,然后依據(jù)單位實際情況建立起員工的姓名、職稱、學(xué)歷等基本檔案信息,員工情況一旦發(fā)生變動,
6. 系統(tǒng)部署及安全策略
因為該系統(tǒng)需要在WEB上發(fā)布,而人事資料是具有一定保密級別的數(shù)據(jù),整個分布式數(shù)據(jù)庫設(shè)計中,對于從網(wǎng)絡(luò)登錄人事管理系統(tǒng)作了比較嚴(yán)格限制。
第一,用戶密碼數(shù)據(jù)加密保護(hù)。用戶密碼的加密方式,通過使用MDS算法對用戶密碼進(jìn)行計算,并將MDS算法計算返回的結(jié)果保存在數(shù)據(jù)庫,這樣通過數(shù)據(jù)庫中的密碼值是無法反向計算出用戶的原密碼的,這樣就從一定程度上提高了用戶密碼的安全性。
第二,特殊賬號訪問位置的限制,對于特殊權(quán)限的賬號,如超級管理員權(quán)限的賬號,系統(tǒng)中會限制此賬號登錄的特定IP或IP段。
通過以上安全策略,不僅能有效防止外來用戶對數(shù)據(jù)庫的非法登錄,而且能在極大程度上防止計算機管理人員非法修改數(shù)據(jù)庫中的數(shù)據(jù),而且該系統(tǒng)在設(shè)計過程中,采用了三層模式的設(shè)計思想,人事系統(tǒng)的業(yè)務(wù)邏輯運行在服務(wù)器端,而用戶端只負(fù)責(zé)進(jìn)行用戶界面的顯示和數(shù)據(jù)的交互操作。
7 .總結(jié)
本章重點介紹了系統(tǒng)的設(shè)計過程。首先對結(jié)構(gòu)化設(shè)計方法進(jìn)行了概述,接著對系統(tǒng)的運行環(huán)境和架構(gòu)進(jìn)行了分析和設(shè)計,然后通過UML的活動圖對系統(tǒng)的工作流程進(jìn)行描述。endprint