工資管理系統(tǒng)-軟件工程課程設(shè)計(jì)2_第1頁(yè)
工資管理系統(tǒng)-軟件工程課程設(shè)計(jì)2_第2頁(yè)
工資管理系統(tǒng)-軟件工程課程設(shè)計(jì)2_第3頁(yè)
工資管理系統(tǒng)-軟件工程課程設(shè)計(jì)2_第4頁(yè)
工資管理系統(tǒng)-軟件工程課程設(shè)計(jì)2_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄

目錄-1-

第一章緒論-2-

1.1開發(fā)背景說明-2-

課程設(shè)計(jì)目的錯(cuò)誤!未定義書簽。

課程題目及內(nèi)容錯(cuò)誤!未定義書簽。

課程設(shè)計(jì)要求錯(cuò)誤!未定義書簽。

預(yù)期目標(biāo)錯(cuò)誤!未定義書簽。

1.6系統(tǒng)環(huán)境-3?

第二章可行性分析-4-

2.1可行性研究前提-4-

2.2經(jīng)濟(jì)上可行性-4-

2.3技術(shù)可行性-4-

目標(biāo)方案可行性錯(cuò)誤!未定義書簽。

操作可行性錯(cuò)誤!未定義書簽。

第三章需求分析-5-

引言錯(cuò)誤!未定義書簽。

任務(wù)陳述錯(cuò)誤!未定義書簽。

市場(chǎng)需求分析錯(cuò)誤!未定義書簽。

系統(tǒng)功能需求分析錯(cuò)誤!未定義書簽。

系統(tǒng)性能需求分析錯(cuò)誤!未定義書簽。

3.6系統(tǒng)業(yè)務(wù)數(shù)據(jù)流錯(cuò)誤!未定義書簽。

用例分析錯(cuò)誤!未定義書簽。

用例列表錯(cuò)誤!未定義書簽。

繪制系統(tǒng)模型圖錯(cuò)誤!未定義書簽。

笫四章系統(tǒng)概要設(shè)計(jì)-9-

模塊分析和概要設(shè)計(jì)錯(cuò)誤!未定義書簽。

4.2系統(tǒng)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)?10-

概念模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型錯(cuò)誤!未定義書簽。

4.4數(shù)據(jù)庫(kù)設(shè)計(jì)?11-

第五章詳細(xì)設(shè)計(jì)-11-

登錄管理-11-

用戶管理-14-

職工管理-14-

工資管理錯(cuò)誤!未定義書簽。

查詢管理錯(cuò)誤!未定義書簽。

第六章系統(tǒng)測(cè)試-23-

6.1測(cè)試方法-23-

測(cè)試內(nèi)容錯(cuò)誤!未定義書簽。

測(cè)試結(jié)果錯(cuò)誤!未定義書簽。

6.4測(cè)試結(jié)果分析-24?

測(cè)試的作用和意義錯(cuò)誤!未定義書簽。

第七章總結(jié)-24-

參考文獻(xiàn)-25-

第一章緒論

1.1開發(fā)背景說明

隨著社會(huì)的進(jìn)步和計(jì)算機(jī)技術(shù)的開展,特別是微型計(jì)算機(jī)的大范圍普及,現(xiàn)在應(yīng)用在

大中型企業(yè)的信息管理系統(tǒng)中,幾乎都包拈了工資管理模塊。有些環(huán)境中是有大型ERP軟

件中的一個(gè)模塊引進(jìn)的,有些作為企業(yè)的財(cái)務(wù)系統(tǒng)的一局部。計(jì)算機(jī)處理的數(shù)據(jù)量不斷增

加。文件管理系統(tǒng)采用的一次最多存取一個(gè)記錄的訪問方式,以及在不同文件之間缺乏相

互聯(lián)系的結(jié)構(gòu),越來越不能適應(yīng)管理大量數(shù)據(jù)的需要,于是數(shù)據(jù)庫(kù)管理系統(tǒng)便應(yīng)運(yùn)而生。

有了數(shù)據(jù)庫(kù)我們便能方便快捷的對(duì)數(shù)據(jù)進(jìn)行讀取、存取,并維護(hù)數(shù)據(jù)庫(kù)的數(shù)據(jù)。但,西方

管理制度設(shè)計(jì)的工資管理軟件,在很多時(shí)候還不能完成解決中國(guó)特色中小企業(yè)的問題,本

文介紹的畢業(yè)設(shè)計(jì)的研究工作就是要為這些具有中國(guó)特色的中小企業(yè)解決他們?cè)诠べY管理

方面的問題。今天,數(shù)據(jù)庫(kù)管理已成為計(jì)算機(jī)信息管理的主要方式。數(shù)據(jù)庫(kù)的應(yīng)用非常廣

泛,可應(yīng)用于各行各業(yè),只要是稍復(fù)雜的數(shù)據(jù),都可制作成數(shù)據(jù)庫(kù),交由電腦來管理。用

電腦管理數(shù)據(jù),運(yùn)算速度快,檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽

命長(zhǎng)、本錢低且不易出錯(cuò)等,這些優(yōu)點(diǎn)能夠極大地提高工資管理的效率,也是科學(xué)化、正規(guī)

化管理的重要條件,尤其是現(xiàn)在的中小型企業(yè)正需要這種對(duì)口的工資管理系統(tǒng),并且是現(xiàn)

行的財(cái)務(wù)管理系統(tǒng)所代替不了的。

軟件工程課程設(shè)計(jì)是計(jì)算機(jī)專業(yè)集中實(shí)踐性教學(xué)環(huán)節(jié)之一,是學(xué)習(xí)完《軟件工程》課

程后進(jìn)行的一次全面的綜合練習(xí)。其目的在于加深對(duì)軟件工程理論和根本知識(shí)的理解,使

學(xué)生通過軟件開發(fā)的實(shí)踐訓(xùn)練,進(jìn)一步掌握軟件工程的方法和技術(shù),解決實(shí)際問題的能力。

培養(yǎng)學(xué)生正確的設(shè)計(jì)思想,理論聯(lián)系實(shí)際的工作作風(fēng),嚴(yán)肅認(rèn)真、實(shí)事求是的科學(xué)態(tài)度和

勇于探索的創(chuàng)新精神。培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)與生產(chǎn)實(shí)踐經(jīng)驗(yàn),分析和解決工程技術(shù)

問題的能力。

題目:工資管理系統(tǒng)

內(nèi)容:

考察一個(gè)中小型企業(yè),要求設(shè)計(jì)一套企業(yè)工資管理系統(tǒng),其中應(yīng)具有一定的人事檔案

管理功能。工資管理系統(tǒng)是企業(yè)進(jìn)行管理的不可缺少的一局部,它是建立在人事檔案系統(tǒng)

之上的,其職能部門是財(cái)務(wù)處和會(huì)計(jì)室。通過對(duì)職工建立人事檔案,根據(jù)其考勤情況,以

及相應(yīng)的工資級(jí)別,算出其相應(yīng)的工資。為了減少輸入帳目時(shí)的錯(cuò)誤,可以根據(jù)職工的考

勤、職務(wù)、部門、各種稅費(fèi)等等,自動(dòng)求出工資。為了便于企業(yè)領(lǐng)導(dǎo)掌握本企業(yè)的工資信

息在系統(tǒng)中應(yīng)參加各種查詢功能,包括個(gè)人信息、職工工資、本企業(yè)內(nèi)某一個(gè)月或某一部

門的工資情況查詢。系統(tǒng)應(yīng)能輸出各類統(tǒng)計(jì)報(bào)表。

本系統(tǒng)需要完成的功能主要有:系統(tǒng)數(shù)據(jù)初始化:職工根本信息數(shù)據(jù)的輸入、修改、

刪除;企業(yè)工資的根本設(shè)定:職工工資的瀏覽;職工個(gè)人工資表的查詢;職工工資的計(jì)算;

工資報(bào)表打印。

數(shù)據(jù)流:

職工根本狀況:包括職工編號(hào)、職工姓名、性別、年齡、職位等。

工資級(jí)別和工資金額:包括工資等級(jí)、工資額。

企業(yè)部門及工作崗位信息:包括部門名稱、工作崗位名稱、工作崗位工資等。

工齡和工資金額:包括工齡及對(duì)應(yīng)工資額。

工資信息:包括職工編號(hào)、職工姓名、職工根本工資、職工崗位工資、職工工齡工資、

公司津貼、職工實(shí)發(fā)工資等。

堅(jiān)持“規(guī)格嚴(yán)格,功夫到家〃的優(yōu)良傳統(tǒng),加強(qiáng)根本功訓(xùn)練,做到理論與實(shí)際相結(jié)合,

繼承與創(chuàng)新相結(jié)合,充分發(fā)揮學(xué)生的主觀能動(dòng)性與教師因材施教、嚴(yán)格要求相結(jié)合,抓智

力因素教育與非智力因素教育相結(jié)合,教書育人。所設(shè)計(jì)的工資管理系統(tǒng)應(yīng)包含輸入輸出、

修改、刪除、查詢等根本功能。根據(jù)題目的根本需求,畫出流程圖、用例圖、類圖等,編

寫程序,并寫出詳細(xì)的設(shè)計(jì)說明書。課程設(shè)計(jì)過程中,要嚴(yán)格遵守課程設(shè)計(jì)的時(shí)間安排,

聽從指導(dǎo)教師的指導(dǎo)。正確地完成上述內(nèi)容,標(biāo)準(zhǔn)完整地撰寫出課程設(shè)計(jì)報(bào)告。

方案設(shè)計(jì):對(duì)于企、事業(yè)單位的工資發(fā)放來說,不需要太大型的數(shù)據(jù)庫(kù)系統(tǒng),只需要

一個(gè)操作方便,功能實(shí)用,能滿足財(cái)務(wù)部門對(duì)工資及時(shí)的發(fā)放。本工資管理系統(tǒng)預(yù)期目標(biāo)

就是實(shí)現(xiàn)如下的些功能:查詢?yōu)g覽記錄功能,增加記錄功能、修改記錄功能、刪除記錄

功能、刷新記錄功能、最后實(shí)現(xiàn)統(tǒng)計(jì)計(jì)算功能。

1.6系統(tǒng)環(huán)境

硬件:個(gè)人PC

軟件:

WindowsXP、MicrosoftVisualC++6.0、RationalRose。

第二章可行性分析

2.1可行性研究前提

要求:滿足對(duì)工資管理的根本要求及功能,并對(duì)職工信息收集、處理、保存。

目標(biāo):實(shí)現(xiàn)無(wú)紙化辦公,節(jié)省本錢,提高工作效率。

條件、假定、限制:當(dāng)企業(yè)工資管理的信息量和復(fù)雜程度到達(dá)某一限度時(shí),即管理人

員的勞動(dòng)強(qiáng)度超過其承受能力時(shí),就必須采用新的管理于段,如用計(jì)算機(jī)技術(shù)對(duì)信息的收

集、加工、傳遞和存貯等,這樣,一個(gè)工資管理系統(tǒng)就可以對(duì)企業(yè)職工工資進(jìn)行高效、合

理、恰當(dāng)?shù)毓芾怼?/p>

2.2經(jīng)濟(jì)上可行性

開發(fā)本錢要低廉。

效益:大幅度地提高工資管理信息系統(tǒng)的工作質(zhì)量和效率,讓企業(yè)掌握整個(gè)工資管理

系統(tǒng)的全面情況,為管理人員提供了準(zhǔn)確的工資管理信息,促進(jìn)工資管理工作的標(biāo)準(zhǔn)化及

各項(xiàng)管理制度與指標(biāo)體系的建立和健全;提供各種加工處理了的工資管理信息,以滿足工

資管理的特殊要求,適應(yīng)新形勢(shì)對(duì)職工隊(duì)伍提出的新要求。

效益/投資比:暫時(shí)無(wú)法估算。

投資回收期內(nèi):

(1)企業(yè)有能力承當(dāng)系統(tǒng)開發(fā)費(fèi)用。

(2)新系統(tǒng)將為企業(yè)帶來經(jīng)濟(jì)效益。管理系統(tǒng)是一個(gè)信息化、智能化和先進(jìn)。

理理念的集合體。而管理是一個(gè)動(dòng)態(tài)過程,在其運(yùn)行過程中要采取多項(xiàng)措施。其最主

要的表現(xiàn)就是減少了企業(yè)管理費(fèi)用和人力開支。

2.3技術(shù)可行性

(1)軟件需求:操作系統(tǒng)WINDOWS2000AdvanceServer以上。

硬件需求:賽揚(yáng)L7GCPU、512M內(nèi)存80G硬盤的計(jì)算機(jī)。

(2)本系統(tǒng)采用VC++實(shí)現(xiàn),依靠其強(qiáng)大的面向?qū)ο笙到y(tǒng),與數(shù)據(jù)庫(kù)管理系統(tǒng)相結(jié)合。

(3)要求掌握計(jì)算機(jī)技術(shù),熟悉系統(tǒng)的功能和使用方法使系統(tǒng)能夠順利運(yùn)行。

計(jì)算機(jī)設(shè)備處理繁雜的工資增減問題,大幅度減少人力、物力,極大地提高企業(yè)的管

理水平和管理效率。

管理水平和管理效率的提高能直接產(chǎn)生經(jīng)濟(jì)效益。

高效率的管理形成了良好的經(jīng)營(yíng)氣氛,為企業(yè)打造優(yōu)良形象,提高企業(yè)競(jìng)爭(zhēng)力,

本系統(tǒng)平安保密性可靠、實(shí)施獨(dú)立的局域網(wǎng)絡(luò),人員進(jìn)入系統(tǒng)需要登錄,需輸入賬戶和

密碼。

本系統(tǒng)的管理,可以根據(jù)市場(chǎng)需要進(jìn)行調(diào)整,實(shí)用性強(qiáng)

a.本系統(tǒng)采用基于Windows的圖形用戶界面,而該系統(tǒng)是大家熟悉的操作系統(tǒng),對(duì)于

那有般的計(jì)算機(jī)知識(shí)的人員就可以輕松上手。

b.整個(gè)工資管理系統(tǒng)采用較友好的交互界面,簡(jiǎn)單明了,操作方便,不需要對(duì)數(shù)據(jù)庫(kù)

進(jìn)行深入的了解。

第三章需求分析

需求分析就是收集、分析用戶的需求,準(zhǔn)確地定義新系統(tǒng)的目標(biāo),獲得需求規(guī)格說明

書,關(guān)系到軟件系統(tǒng)開發(fā)的成敗,是決定軟件產(chǎn)品質(zhì)量的關(guān)鍵。只有準(zhǔn)確獲取用戶需求,

才能設(shè)計(jì)出優(yōu)秀的軟件產(chǎn)品。通過詳細(xì)調(diào)查,獲取工作過程和業(yè)務(wù)處理,明確用戶的各種

需求,確定新功能。在我國(guó),管理信息系統(tǒng)是計(jì)算機(jī)應(yīng)用最廣泛的領(lǐng)域之一。企、事業(yè)單

位為了提高自身的管理水平和競(jìng)爭(zhēng)能力,紛紛投入人力物力,開發(fā)適合本單位需求的管理

信息系統(tǒng)。隨著計(jì)算機(jī)技術(shù)的開展,人們的辦公環(huán)境不斷改變,工作效率得到了很大的提

高。在企業(yè)的開展中,辦公自動(dòng)化從一個(gè)側(cè)面反映了公司的現(xiàn)代化水平。其中,用于管理

員工工資的工資管理系統(tǒng)就是現(xiàn)代化辦公的重要組合局部。

工資管理系統(tǒng)的主要任務(wù)是通過工資費(fèi)用的計(jì)算和分配,為本錢核算與賬務(wù)處理提供

依據(jù),并且根據(jù)工資制度和職工勞動(dòng)數(shù)量與質(zhì)量,計(jì)算并發(fā)放應(yīng)該支付給職工的工資。工

資核算時(shí)工資管理的主要內(nèi)容。工資核算包括工資結(jié)算與工資分配兩個(gè)方面。工資結(jié)算是

指應(yīng)付工資、代扣款項(xiàng)和實(shí)發(fā)工資的計(jì)算;工資分配是指按部門、類別進(jìn)行工資匯總,并

按工資的用途對(duì)工資進(jìn)行分配。

工資總額是指各單位在一定時(shí)期內(nèi)支付給本單位全體職工的全部勞動(dòng)報(bào)酬總額。按照

國(guó)家統(tǒng)計(jì)局的規(guī)定,工資總額有計(jì)時(shí)工資、計(jì)件工資、獎(jiǎng)金、津貼和補(bǔ)貼、加班加點(diǎn)工資

和特殊情況下支付的工資6局部組成,其中計(jì)時(shí)工資和計(jì)件工資是工資總額中最根本的局

部。上述工資構(gòu)成要件所組成的工資總額只是應(yīng)發(fā)工資,并非每個(gè)職工拿到手的實(shí)發(fā)工資,

原因在于存在一些應(yīng)扣工程,例如水電費(fèi)、工會(huì)會(huì)費(fèi)、保險(xiǎn)費(fèi)、公積金、病事假扣款、曠

工扣款和個(gè)人所得稅等。在計(jì)算每個(gè)職工實(shí)發(fā)工資之前應(yīng)在工資總額中扣除這局部款項(xiàng),

即有如下關(guān)系:

應(yīng)發(fā)工資二根本工資+工齡工資+崗位津貼+固定補(bǔ)貼+加班加點(diǎn)工資+獎(jiǎng)

扣款合計(jì)二水電費(fèi)+保險(xiǎn)費(fèi)+個(gè)人所得稅+病假扣款+事假扣款+曠工扣款

+其他扣款

實(shí)發(fā)工資=應(yīng)發(fā)工資-扣款合計(jì)

每個(gè)月財(cái)務(wù)部門根據(jù)人事部門提供的職工根本工資數(shù)據(jù)、所得稅率和人事變動(dòng)情況計(jì)

算所有員工的根本工資信息,然后根據(jù)各個(gè)部門提供并審核后的各種表格,如完成任務(wù)表、

考勤表、考核表、職工當(dāng)月的扣款情況(包括水電費(fèi)、病事假扣款等)等計(jì)算職工變開工

資、個(gè)人所得稅和應(yīng)發(fā)放工資等,編制工資單。按類進(jìn)行匯總,編制工資匯總表。將實(shí)發(fā)

工資轉(zhuǎn)入代發(fā)銀行,由銀行代發(fā)工資,并進(jìn)行賬務(wù)處理。工資結(jié)算過程主要設(shè)計(jì)如下會(huì)計(jì)

賬戶:現(xiàn)金、銀行存款、應(yīng)付工資、其他應(yīng)付款、其他應(yīng)收款等。

工資管理系統(tǒng)是一個(gè)企業(yè)單位不可或缺的局部,他能為用戶提供充足的信息和快捷的

查詢手段。一個(gè)工資管理系統(tǒng)可以高效能、大容量的收集、處理、存儲(chǔ)工資管理信息,大

幅度的工資管理信息系統(tǒng)的工作質(zhì)量和效率。

能夠?yàn)槠髽I(yè)管理人員及時(shí)掌握整個(gè)工資管理系統(tǒng)的全面情況,提供系統(tǒng)的準(zhǔn)確的工資

管理信息,可以促進(jìn)工資管理工作的標(biāo)準(zhǔn)化及各項(xiàng)管理制度與指標(biāo)體系的建立和健全。為

企業(yè)提供各種加工管理了工資管理信息,以滿足工資管理的特殊要求,適應(yīng)新形勢(shì)對(duì)職工

隊(duì)伍建設(shè)提出的新要求,幫助管理人員選擇方案,實(shí)現(xiàn)優(yōu)化決策。雖然當(dāng)前,不少單位的

工資管理部門對(duì)于計(jì)算機(jī)應(yīng)用還僅限于簡(jiǎn)單的單機(jī)應(yīng)月,隨著時(shí)間的推移、任務(wù)的復(fù)雜、

用戶的需求,其應(yīng)用還會(huì)擴(kuò)大。

工資管理系統(tǒng)涉及到員工根本信息的錄入、修改和刪除,工資標(biāo)準(zhǔn)的設(shè)定、查詢和結(jié)

算等。

典型的工資管理系統(tǒng)主要有以下根本功能:

a)系統(tǒng)數(shù)據(jù)初始化

b)員工根本信息的錄入、修改、刪除等功能

c)工資標(biāo)準(zhǔn)的設(shè)定功能,集體包括職務(wù)工資、職稱工資、其他工資標(biāo)準(zhǔn)和福利的設(shè)定。

d)工資信息的瀏覽

e)員工工資信息表的創(chuàng)立及查詢

D工資調(diào)整管理

g)工資計(jì)算

h)工資報(bào)表打印

需求分析總體目標(biāo)

需求分析的目的在于與開發(fā)人員與用戶之間達(dá)成系統(tǒng)開發(fā)的共識(shí),使開發(fā)人員所考慮

的系統(tǒng)在功能(系統(tǒng)能做什么)、簡(jiǎn)單操作,良好界面,個(gè)人信息保密性,系統(tǒng)平安與穩(wěn)定,

良好帳戶管理,友好信息返回模式(如報(bào)表及打印功能)。

性能需求

此工資管理系統(tǒng)對(duì)工資數(shù)據(jù)精度的計(jì)算能在默認(rèn)情況之下精確到小數(shù)點(diǎn)后3位小數(shù),

即是精確到分的計(jì)算。但在用戶使用過程中,能自行根據(jù)實(shí)際情況進(jìn)行小數(shù)計(jì)算精度的設(shè)

定,最大能允許保存小數(shù)點(diǎn)后5位的精度。在時(shí)間特性上,當(dāng)用戶發(fā)出命令請(qǐng)求時(shí)的效勞

器的響應(yīng)時(shí)間、對(duì)數(shù)據(jù)更新處理、工資數(shù)據(jù)的查詢檢索等上,同樣要求系統(tǒng)響應(yīng)時(shí)間不會(huì)

超過0.5秒時(shí)間。系統(tǒng)支持多種操作系統(tǒng)的運(yùn)行環(huán)境,多不同操作系統(tǒng),不同文件格式的

磁盤上的數(shù)據(jù)均能實(shí)現(xiàn)信息的互通,及共享。當(dāng)效勞器移植到其他的系統(tǒng)平臺(tái),如:Linux

平臺(tái)下時(shí),同樣能和其他的系統(tǒng)進(jìn)行數(shù)據(jù)存取同步,不會(huì)出現(xiàn)系統(tǒng)之間互不兼容的情況,

系統(tǒng)支持多系統(tǒng)之間的互連互通,系統(tǒng)有巨大的強(qiáng)健性。

運(yùn)行需求

系統(tǒng)在進(jìn)行數(shù)據(jù)的錄入、計(jì)算、統(tǒng)計(jì)的時(shí)候,能將數(shù)據(jù)精確到小數(shù)點(diǎn)后三位小數(shù)。系

統(tǒng)接收到用戶的操作命令后(如:計(jì)算處理、查詢等),能迅速的響應(yīng)其操作請(qǐng)求,響應(yīng)時(shí)

間不超過1秒。在同一時(shí)間,系統(tǒng)還提供支持至少10個(gè)客戶端進(jìn)行同一個(gè)操作請(qǐng)求的響應(yīng)。

系統(tǒng)可移植較強(qiáng),在不同的平臺(tái)下運(yùn)行,均不會(huì)影響系統(tǒng)的穩(wěn)定性。同時(shí),支持在客戶端

安裝不同操作系統(tǒng)、瀏覽器扳本,均不會(huì)影響系統(tǒng)的運(yùn)行。

平安需求

為保障系統(tǒng)數(shù)據(jù)的平安性,系統(tǒng)采用訪問控制策略,未授權(quán)者不能進(jìn)入系統(tǒng)。同時(shí),

對(duì)不同級(jí)別的用戶授予不同的使用權(quán)限。在系統(tǒng)運(yùn)行期間,如發(fā)生掉電尚未保存數(shù)據(jù),或

由于操作不當(dāng)?shù)仍驅(qū)е孪到y(tǒng)重啟等,為保證數(shù)據(jù)的易恢復(fù)性,系統(tǒng)提供每隔30秒自動(dòng)保

存數(shù)據(jù)的機(jī)制,讓用戶的數(shù)據(jù)在發(fā)生意外時(shí)能最大程度上得到恢復(fù)。同時(shí),系統(tǒng)提供強(qiáng)大

的容錯(cuò)性能,當(dāng)一臺(tái)效勞器發(fā)生故障時(shí),系統(tǒng)能自動(dòng)切換到另外一臺(tái)效勞器上,從而保障

效勞器能長(zhǎng)時(shí)間的提供系統(tǒng)的運(yùn)行支持。在輸入數(shù)據(jù)時(shí),如果用戶輸入的數(shù)據(jù)不符合系統(tǒng)

的要求,那么系統(tǒng)自動(dòng)提示錯(cuò)誤信息、,并要求用戶重新輸入,直到輸入完全正確時(shí)才允許

進(jìn)行下一步的操作。

系統(tǒng)界面需求

系統(tǒng)開發(fā)基于B/S的開發(fā)模式,界面直觀、簡(jiǎn)潔,人機(jī)交互性強(qiáng)。基于表單和彈出式

窗口的數(shù)據(jù)錄入方式,菜單電擊的方式操作。用戶使月時(shí),只要是按照格式和要求填入信

息,系統(tǒng)在后臺(tái)響應(yīng)用戶操作過程。讓用戶在最短時(shí)間里,不需要經(jīng)過專門培訓(xùn),就可以

輕松上手使用。

其他需求

數(shù)據(jù)不管是在企業(yè)內(nèi)部之間傳輸,還是公司與分公司之間進(jìn)行遠(yuǎn)程數(shù)據(jù)傳輸

時(shí),防止數(shù)據(jù)被不法分析任意的修改和破壞,對(duì)所有的敏感數(shù)據(jù)均進(jìn)行基于SSL協(xié)議的加

密操作,只有對(duì)信息解密的人員才能最終讀取數(shù)據(jù)信息。這樣,能最大程度的防止數(shù)據(jù)在

傳輸過程的平安保密性。

3.6系統(tǒng)業(yè)務(wù)數(shù)據(jù)流

數(shù)據(jù)流分析

數(shù)據(jù)流程圖是一種能全面描述信息系統(tǒng)邏據(jù)模型的主要工具,也是系統(tǒng)分析人員與用

戶進(jìn)行交流的有效手段。本系統(tǒng)的數(shù)據(jù)流程圖把握住對(duì)系統(tǒng)總體目標(biāo)與總體功能的要求,

基于上述的業(yè)務(wù)流程圖,從科學(xué)性,合理性和可行性入手,采用自頂向下,逐層分解的方法建

立本管理信息系統(tǒng)的邏輯模型,綜合地反映出信息在本系統(tǒng)中的流動(dòng),處理和存儲(chǔ),具有抽

象性和概括性.通過進(jìn)行用戶調(diào)查收集用戶需求后,就要對(duì)用戶需求進(jìn)行分析,并表達(dá)用戶

的需求。采用結(jié)構(gòu)化分析方法,主要采用數(shù)據(jù)流圖對(duì)用戶需求進(jìn)行分析,用數(shù)字字典和加工

說明對(duì)數(shù)據(jù)流圖進(jìn)行補(bǔ)充和說明。數(shù)據(jù)流圖用于描述系統(tǒng)中數(shù)據(jù)流動(dòng)的過程,反映的是加工處

理的對(duì)象。

流程圖,模塊圖如下:

流程圖

模塊圖

用例圖用于對(duì)軟件系統(tǒng)的需求分析,即用于描述一個(gè)軟件系統(tǒng)需要完成什么樣的功能。

用例圖中的信息包括系統(tǒng)中的執(zhí)行者和用例的描述,以及兩者之間的相互關(guān)系的描述。用

RationalRose畫用例圖。

(1)確定執(zhí)行者

執(zhí)行者是指用戶在系統(tǒng)中所扮演的角色,表示與所創(chuàng)立的系統(tǒng)進(jìn)行交互的人或物。系

統(tǒng)的執(zhí)行者:職工,管理員。

a.職工:每個(gè)職工有個(gè)用戶名和密碼,能夠方便的按照某種關(guān)鍵字對(duì)自己的信息和工

資進(jìn)行查詢,也可以修改自己密碼;

b.管理員:定義系統(tǒng)以及匯總工資數(shù)據(jù),完成工資設(shè)定、工資計(jì)算、工資發(fā)放及打印

報(bào)表。管理員有唯一用戶名和密碼,完成對(duì)職工工資料的增加,刪除,修改和查詢。

(2)確定用例

一個(gè)用例是用戶與計(jì)算機(jī)之間的一次典型交互作用。在UML中,用例被定義成系統(tǒng)

執(zhí)行的一系列動(dòng)作(功能),即用例是對(duì)系統(tǒng)用戶需求而的描述,表達(dá)了系統(tǒng)的功能和所提

供的效勞。UML中用例用橢圓圖形表示,用例之間的關(guān)系使用有擴(kuò)展、使用、組合。系統(tǒng)

的用例:添加用戶、修改用戶、刪除用戶、查詢信息、工資設(shè)置、工資報(bào)表打印。其中查

詢的信息有可能是查詢員工的個(gè)人資料,也有可能查詢工資信息。工資設(shè)置有崗位工資設(shè)

置,福利設(shè)置。

1、職_£檔案管埋:實(shí)現(xiàn)對(duì)員工根本信息的管埋操作,包括員工根本數(shù)據(jù)信息的添加、

修改、刪除和查詢等功能。

2、職工信息定義:實(shí)現(xiàn)對(duì)工資結(jié)構(gòu)信息的添加、修改、刪除和查詢等功能。

3、工資款項(xiàng)標(biāo)準(zhǔn):設(shè)定工資款項(xiàng)的標(biāo)準(zhǔn)。

4、工資數(shù)據(jù)匯總:實(shí)現(xiàn)對(duì)工資數(shù)據(jù)的匯總、查詢等功能。

5、工資工程定義:實(shí)現(xiàn)對(duì)工資公式定義以及工資的屢次發(fā)放定義。

6、個(gè)人所得稅:完成對(duì)個(gè)人所得稅稅率的定義以及對(duì)個(gè)人所得稅的申報(bào)。

7、輸入工資:輸入職工工資信息。

8、工資發(fā)放:發(fā)放工資,查看工資發(fā)放情況。

11、工資計(jì)算:完成對(duì)計(jì)算科目的定義。

用例圖

分析用例,建立用例圖:

活動(dòng)圖:

分析用例中的邏輯流程,描述用例的事件流,進(jìn)而畫出各用例對(duì)應(yīng)的活動(dòng)圖

用戶登錄活動(dòng)圖:

管理員工信息活動(dòng)圖:

類圖:

類圖是面向?qū)ο蟮能浖_發(fā)中的一個(gè)核心概念。Rose中的類圖用于描述軟件系統(tǒng)中涉

及到的類的相關(guān)信息,以及類與類之間的相互關(guān)系。

(1)類的識(shí)別

類的識(shí)別通常由分析員在分析問題域的根底上來完成。常用的方法有:

a.名詞識(shí)別法。

b.系統(tǒng)識(shí)別法。

c.從用例中識(shí)別類。

d.利用分解與抽象技術(shù)。

(2)系統(tǒng)類圖

狀態(tài)圖:

狀態(tài)圖(StateDiagram)用來描述一個(gè)特定對(duì)象的所有可能狀態(tài)及其引起狀態(tài)轉(zhuǎn)移的事

件。

時(shí)序圖:

時(shí)序圖用來描述對(duì)象之間動(dòng)態(tài)的交互關(guān)系,著重表達(dá)對(duì)象間消息傳送消息的時(shí)間順序。

下面分別給出各個(gè)用例的時(shí)序圖:

用戶登錄時(shí)序圖:

職工時(shí)序圖:

管理員時(shí)序圖:

組件圖:

組件圖是用來反映代碼的物理結(jié)構(gòu)。從組件圖中,您可以了解各軟件組件之間的編譯

器利運(yùn)行時(shí)依賴關(guān)系。使用組件圖可以將系統(tǒng)劃分為內(nèi)聚組件并顯示代碼自身的結(jié)構(gòu)。

配置圖:

該系統(tǒng)是一個(gè)基于局域網(wǎng)和數(shù)據(jù)庫(kù)的應(yīng)用系統(tǒng)。配置圖如下列圖所示,有4個(gè)節(jié)點(diǎn):

“SalarySystemServer〃(工資管理系統(tǒng)效勞器)、“DBServer”(數(shù)據(jù)庫(kù)效勞器)、“PC〃

(工資管理系統(tǒng)客戶端PC)、“Printer〃(打印機(jī))。

第四章系統(tǒng)概要設(shè)計(jì)

軟件需求分析階段完成后,進(jìn)入軟件設(shè)計(jì)階段,解決“怎么做〃的問題。在這個(gè)階段

主要任務(wù):將分析階段獲得的需求說明轉(zhuǎn)換為計(jì)算機(jī)中可實(shí)現(xiàn)的系統(tǒng),完成系統(tǒng)的結(jié)構(gòu)設(shè)

計(jì),包括數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和程序結(jié)構(gòu)設(shè)計(jì)。

根據(jù)實(shí)際情況,我們使用原型法(RapidPiololyping)即以少量代價(jià)快速地構(gòu)造個(gè)可

執(zhí)行的軟件系統(tǒng)模型。使用戶和開發(fā)人員可以較快地確定需求,然后采用循環(huán)進(jìn)化的開發(fā)

方式,對(duì)系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質(zhì)逐漸增加上去,直到所有的性質(zhì)全

部滿足。此時(shí)模塊也開展成為最終產(chǎn)品了。通過對(duì)用戶需求的分析,我們可以分析出該工

資管理系統(tǒng)大致可以分為五個(gè)模塊:登錄管理模塊、月戶管理模塊、職工管理模塊、工資

管理模塊、查詢管理模塊。現(xiàn)在對(duì)這五個(gè)模塊些說明:

①登錄管理模塊:用戶切換,密碼修改,退出系統(tǒng)。

②用戶管理模塊:新增用戶,更新用戶,刪除用戶。

③職工管理模塊:新增職工,更新或刪除職工。

④工資管理模塊:工資信息管理,個(gè)人所得稅的「算。

⑤查詢管理模塊:工資信息查詢,普通工資信息查詢,高級(jí)工資查詢。

設(shè)計(jì)根底是完成需求分析后提供的需求說明書,用概念數(shù)據(jù)模型表示數(shù)據(jù)及其相互間

的關(guān)系,這種數(shù)據(jù)模型是與DBMS無(wú)關(guān)的、面向現(xiàn)實(shí)世界的、易如理解的數(shù)據(jù)模型,其獨(dú)

立于計(jì)算機(jī)的數(shù)據(jù)模型,獨(dú)立于計(jì)算機(jī)的軟硬件系統(tǒng),與用戶進(jìn)行交流十分方便。概念性

數(shù)據(jù)模型關(guān)心的是如何完整、正確地反映客觀實(shí)際情況,不關(guān)心在數(shù)據(jù)庫(kù)中如何實(shí)現(xiàn)。這

種數(shù)據(jù)模式能真實(shí)地反響用戶要求的實(shí)際情況,是一種容易被人們理解的直觀的數(shù)據(jù)庫(kù)結(jié)

構(gòu)模式。同時(shí)也是一種相對(duì)穩(wěn)定統(tǒng)一的數(shù)據(jù)模式,一般情況下很少變動(dòng)。概念性數(shù)據(jù)在用

戶和設(shè)計(jì)者之間建立了橋梁。是設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的根底。概念設(shè)計(jì)中自頂向下的實(shí)體分析

方法,即常用的實(shí)體聯(lián)系模型(簡(jiǎn)稱E-R模型),對(duì)具體數(shù)據(jù)進(jìn)行抽象加工,將實(shí)體集合

抽象成實(shí)體類型。用實(shí)體間聯(lián)系反映現(xiàn)實(shí)世界事物間的內(nèi)在聯(lián)系。E-R模型是建立概念性

數(shù)據(jù)模型的有力工具。

4.2系統(tǒng)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)

邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是將概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)的E?R圖,轉(zhuǎn)化為選用所支持?jǐn)?shù)據(jù)模

型相符的邏輯結(jié)構(gòu),形成邏輯模型。基于關(guān)系數(shù)據(jù)模型的邏輯結(jié)構(gòu)的設(shè)計(jì)一般分為三個(gè)步

驟:

(1)概念模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型。

(2)關(guān)系模型的優(yōu)化。

(3)設(shè)計(jì)用戶子模式書號(hào)。

一般轉(zhuǎn)換原那么如下:

(1)—個(gè)實(shí)體轉(zhuǎn)換為一個(gè)表(Table),那么實(shí)體的屬性轉(zhuǎn)換為表的列(Column),實(shí)

體的碼轉(zhuǎn)換為表的主鍵(PrimaryKey)。

(2)實(shí)體間的聯(lián)系根據(jù)聯(lián)系的類型,轉(zhuǎn)換如下:

①l:n的聯(lián)系:

l:n的聯(lián)系是比擬普遍的聯(lián)系,其轉(zhuǎn)換比擬直觀。轉(zhuǎn)換規(guī)律是在n端的實(shí)體對(duì)應(yīng)的

表中增加屬性,該屬性是1端實(shí)體對(duì)應(yīng)表的主碼。如:崗位和員工的關(guān)系是l:u的聯(lián)系。

②HUI的聯(lián)系:

通過引進(jìn)一個(gè)新表來表達(dá)兩個(gè)實(shí)體間多對(duì)多的聯(lián)系,新表的主礙由聯(lián)系兩端實(shí)體的

主碼組合而成,同時(shí)增加相關(guān)的聯(lián)系屬性。如:部門與員工的聯(lián)系是n:m聯(lián)系。

4.4數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì)是指為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包

括存儲(chǔ)結(jié)構(gòu)和存取方法),它完全取決于給定的計(jì)算機(jī)系統(tǒng)。物理結(jié)構(gòu)可分兩步進(jìn)行。第一

步是分析所得到的各種數(shù)據(jù)模型,依據(jù)在實(shí)際執(zhí)行時(shí)可能產(chǎn)生的數(shù)據(jù)容量以及各種數(shù)據(jù)模

型之間的相互依賴程度等,確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu);第二步那么要根據(jù)某種方法對(duì)所設(shè)計(jì)

的物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)重點(diǎn)是時(shí)間和空間的效率。數(shù)據(jù)庫(kù)實(shí)施是指建立數(shù)據(jù)庫(kù),編制

與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。

根據(jù)人員規(guī)模,我們只建立起一個(gè)數(shù)據(jù)庫(kù),在此數(shù)據(jù)庫(kù)根底上建立起如下表:

?職工表-用戶表?工資表

下面說明各表的字段名稱和數(shù)據(jù)類型:

工資表:

職工表:

用戶表:

第五章詳細(xì)設(shè)計(jì)

詳細(xì)設(shè)計(jì)階段主要是將系統(tǒng)中的每個(gè)模塊完成的功能進(jìn)行具體描述。

登錄管理

根據(jù)系統(tǒng)總體結(jié)構(gòu)可以得出登錄管理模塊實(shí)現(xiàn)用戶登錄、密碼修改和退出系統(tǒng)三個(gè)功

能。其中,退出系統(tǒng)實(shí)現(xiàn)流程很容易,只需要一行代碼即可;用戶登錄的實(shí)現(xiàn)流程是用戶

在登錄窗口輸入用戶名稱和密碼,如果沒有用戶名和密碼可以進(jìn)行注冊(cè)后再登錄,選擇了

用戶角色后,單擊【登錄】按鈕進(jìn)行提交,系統(tǒng)開始驗(yàn)證用戶提交的登錄信息是否正確。

如果正確,那么翻開工資管理系統(tǒng),并根據(jù)用戶角色賦于相應(yīng)的操作權(quán)限;否那么給出錯(cuò)

誤信息。

界面設(shè)計(jì)

登錄界面如下:

代碼

局部核心代碼設(shè)計(jì):

voidCZHUCE::OnButtonl()

UpdateData(TRUE);

if(iii_useriiaiiic.IsEinply()||iii_password.IsEinply()||ni_passwur(J2.IsEinply())

{AfxMessageBox("請(qǐng)將資料填寫完整:');

m_password2.Empty();

m_password.Empty();

UpdateData(FALSE);

return;

)

OnInitADOConn();

if(m_password2==m_password)

(

CStringstr;

slr.Format("insertinto用戶表(用戶名,密碼)values

(%s','%s')",m_username,m_password);

_variant_tvar;

intfieldrow;

try(〃捕捉表的主鍵存在重復(fù)值的異常

m_pConnecdon->Execute((_bstr_t)str,&var,adCmdText);

fieldrow=(int)V_I2(&var);

I

catch(...)

(

AfxMessageBox("用戶名已存在,注冊(cè)失敗)

m_username.Empty();

m_password.Empty();

m_password2.Empty();

UpdateData(FALSE);

return;

)

AfxMessagcBox「注冊(cè)成功,請(qǐng)返回登錄!”);

m_pConnection->Close();

Clogincig;

clg.DoModal();

)

clse{AfxMcssageBox("兩次密碼輸入不一樣,注冊(cè)失敗!”);

m_usemame.Emply();

m_password.Empty();

iii_passwor(J2.Empty();

UpdateData(FALSE);

return;

}}

voidCZHUCE::OnInitADOConn()

(

try

{//創(chuàng)立連接對(duì)象實(shí)例

m_pConncction.CrcatcInstancc("ADODB.Connection");

〃設(shè)置連接字符串

CstringstrConnect="Provider=Microsoft.Jet.OLEDB.4.();Data

Source=salary.mdb;PersistSecurityInfo=False;H;

〃使用Open方法連接數(shù)據(jù)庫(kù)

m_pConnection->Open((_bstr_t)strConnect,",","",adModeUnknown);

1

catch(_com_errore)

(

AfxMessageBox(e.Description());

)

)

_RecordsetPtr&CZHUCE::GetRecordSet(_bstr_tsqlstr)

{{

try{if(m_pConnection==NULL)

{OnInitADOConn();

}

m_pRecordset.CreateInstance(_uuidof(Recordset));

m_pRecordset->Open(sqlslr,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLock

Optimistic,adCmdText);

I

catch(_com_errore)

{e.Description();

returnm_pRecordset;

1

)

修改密碼模塊:

成功登錄主界面:

用戶管理

用戶管理模塊用于實(shí)現(xiàn)用戶的添加、刪除、更新功能。

新增用戶模塊:

更新用戶信息模塊:

刪除用戶信息模塊:

職工管理

員工信息管理模塊用于實(shí)現(xiàn)員工信息的添加、刪除、修改。其中,員工信息添加的實(shí)

現(xiàn)流程是用戶在添加員工窗口中輸入所要添加員的信息后,單擊【確認(rèn)添加】按鈕進(jìn)行提

交,系統(tǒng)獲得用戶提交的員工信息,并嘗試寫入到工資管理系統(tǒng)的數(shù)據(jù)庫(kù)中,最后返員

工信息添加的執(zhí)行結(jié)果。

新增職工:

局部核心代碼代碼如下:

voidCGXZHG::OnButton2()

{//TODO:Addyourcontrolnotificationhandlercodehere

UpdateData(TRUE);

if(m_Bianhao.IsEmpty()||m_Name.IsEmpty())

{AfxMessageBox("notnull");

return;)

OnInitADOConn();

CStringstr;

str.Format("update職工表set性別二%s\年齡=%d,二%s;住址二%s;職位=,%s;備

注='%s'where職工編號(hào)

-%sn',m_Sex,m_Age,m_Telphone,m_Address,m_Zhiwei,m_Beizhu,m_Bianhao);

m_pConnection->Execute((_bstr_t)str,NULL,adCmdText);

m_pConnection->Close();

m_zhglist.DeleteAllItems();

AddToGrid();

ClearAllO;

)

voidCGXZHG::OnButtonl()

{//TODO;Addyourconiiolnolifiualioiihandlercodehere

ClearAllO;

UpdateData(FALSE);

)

voidCGXZHG::OnButton3()

{//TODO:Addyourcontrolnotificationhandlercodehere

UpdateData(TRUE);

if(m_tiaojian.IsEmpty())

{AfxMessageBox(”請(qǐng)選擇刪除的職工!”);

return;)

OnInitADOConn();

CStringbstrSQL;

bstrSQL.Format(ndelelefrom職工表where職工編號(hào)二%s"',m_tiaojian);

CMAKESUREcmake;

if(cmake.DoModal()!=IDOK)

(

return;

)

m_pConnection->Execute((_bstr_t)bstrSQL,NULL,adCmdText);

m_pConnection->Close();

m_zhglist.DeleteAIIItems();

AddToGrid();

ClearAllO;

AfxMessageBox]"刪除成功!");

UpdateData(FALSE);

)

voidCGXZHG::OnButton4()

(

UpdateData(TRUE);

m_typc.GctWindowTcxt(m_Typc);

if(m_Type.IsEmpty())

{A僅MessageBox("請(qǐng)選擇查詢的方式!)

return;)

if(m_tiaojian.IsEmpty())

{AfxMessagcBox("請(qǐng)輸入查詢的職工編號(hào)!”);

return;}

OnInitADOConn();

CSlriiigsql;

sql+=*,select*from職工表where

sql+=m_Type+M="+皿+m_tiaojian+;

m_pConnection->Execute((_bstr_t)sql,NULL,adCmdText);

m_pConnection->Close();

m_zhglist.DeleteAHItems();

UpdateGridO;

ClearAll();

UpdatcData(FALSE):

)

?

該模塊主要是錄入工資,重填工資,更新工資,新增工資和刪除工資的功能。

局部核心代碼如下:

voidCTXGZ::OnButton2()

{//TODO:Addyourcontrolnotificationhandlercodehere

UpdatcData(TRUE);

m_yuefen.SelCurSel(O);

//AfxMessageBox("該編號(hào)的職工不存在,請(qǐng)先到職工管理添加職工信息!)

if(m_Bianhao.IsEmply()Um」ibengz==NULL||m_Yucfcn.IsEmpty())

{AfxMessageBox。編號(hào)不允許空值,請(qǐng)重新填寫!)

ClearALL();

return;}

OnInitADOConn();

floatfl=m_Jibcngz+m_Jintie+m_Gangtic+m_Butic+m_Fangtie+m_Jiaotongbt;

CStringcstrl;

cstrl.Format("%.2f',fl);

m_yfsh.SetWindowlbxt(cstr1);

floatf2=m_Fangzu+m_Chuxu+m_Huifei;

CStringcstr2;

cstr2.Format("%.2fr,f2);

m_yksh.SetWindowText(cstr2);

floatf4;

f4=calculator(f1-f2);

floatf3=fl-f2-f4;

CStringcstr3;

cstr3.Format(M%.2f;f3);

in_shfsh.SelWiiidowTexl(uslr3);

CStringcstr4;

cstr4.Format("%.2f\f4);

m_grsdsh.SetWindowText(cstr4);

CStringstr;

str.Format(ninsertinto工資表values

(%s:%s',%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f)”,m_Bianhao,m_

Yuefen,m_Jibengz,m_Jintie,m_Gangtie,m_Butie,m_Fangtie,m_Jiaotongbt,fl,m_Fangzu,m_Chux

u,m_Huifci,f4,f2,f3);

_variant_tvar;

intfieldrow;

lry{

〃捕捉表的主鍵存在重復(fù)值的異常

m_pConncction->Exccutc((_bstr_t)str,&var,adCmdTcxt);

fieldrow=(int)V_I2(&var);

1

catch(...)

{

AfxMessageBox「該編號(hào)記錄已存在,新增失敗");

CIearALL();

return;

)

m_pConnection->Close();

m_gzlist.DeleteAHItems();

AddToGridO;

}

voidCTXGZ::OnButton3()

(

UpdatcData(TRUE);

if(m_Bianhao.IsEmpty()||m_Yuefen.IsEmpty())

{A僅MessageBox。請(qǐng)?zhí)顚懸碌穆毠さ男畔?');

ClearALL();

return;)

OnInitADOConn();

CStringstr;

str.Format("update匚資表set根本工資=%.2「月份=%$;津貼=%.2f,崗貼=%.2f,補(bǔ)貼

=%.2f,房貼二%.2f,交通補(bǔ)貼=%.21,房租=%.2f,儲(chǔ)蓄二%.2「會(huì)費(fèi)二%.2「where職工編號(hào)

=,%s",,m_Jibengz,m_Yuefen,m_Jintie,m_Gangtie,m_Butie,m_Fangtie,m_Jiaotongbt,m_Fan

gzu,m_Chuxu,m_Huifei,m_Bianhao);

m_pConnection->Execute((_bstr_t)str,NULL,adCmdText);

m_pConnection->Close();

m_gzlist.DeleteAHItems();

AddToGridO;

ClearALL();

m_yucfcn.SctCurScl(O);

)

voidCTXGZ::ClearALL()

(

m_Jibengz=NULL;

m_Jintie=NULL;

m_Shfsh.Empty();

m_Yfsh.Empty();

m_Yksh.Empty();

m_Yuefen.Empty();

m_Chaxun.Empty();

mJiaotongbt=NULL;

m_Huifei=NULL;

m_Grsdsh.Empty();

m_Fangzu=NULL;

m_Fangtie=NULL;

m_Chuxu=NULL;

m_Bianhao=,,u;

m_Gangtie=NULL;

UpdateData(FALSE);

)

voidCTXGZ::OnClickListl(NMHDR*pNMHDR,LRESULT*pResult)

{//TODO:Addyourcontrolnotificationhandlercodehere

intposition=m_gzlist.GetSelectionMark();

m_Bianhao=m_gzlist.GetItemText(position,0);

m_Chaxun=m_gziist.GctItcmTcxt(position,0);

m_Yuefen=m_gzlist.GelIlemText(position,l);

m_Jibengz=atof(m_gzlist.GetItemText(position,2));

m_Gangtie=atof(m_gzlist.GetItemTexl(position,4i);

m_Butie=atof(m_gzlist.GetItemText(position,5));

m_Fangtic=atof(m_gzHst.GetItemTcxt(position,6));

m_Jiaotongbt=atof(m_gzlist.GetItemText(position,7));

m_Yfsh=m_gzlist.GetItemText(position,8);

m_Fangzu=atof(m_gzlist.GetItemTexl(position,9));

m_Chuxu=atof(m_gzlist.GetItemText(positionJOj);

m_Huifci=atof(m_gzlist.GctItcmTcxt(position,l1));

m_Grsdsh=m_gzlist.GetItemText(position,l2);

m_Yksh=m_gzlist.GetItemText(position,l3);

m_Shfsh=m_gzlist.GetItemText(position,l4);

UpdateData(FALSE);

*pResult=0;

)

voidCTXGZ::OnButton4()

{UpdateData(TRUE);

if(m_Chaxun.IsEmpty())

{A僅McssageBox("請(qǐng)輸入刪除的職工編號(hào)!”);

return;}

OnInitADOConn();

CStringsql;

sql.Format(Kdeletefrom工資表where職I:編號(hào)"'%s"',m_Chaxun);

CMAKESUREcmake;

if(cmake.DoModal()!=IDOK)

(

return;

1

m_pConncction->Exccutc((_bstr_t)sql,NULL,adCmdTcxt);

m_pConnection->Close();

m_gzlist.DeleteAHItems();

AddToGridO;

ClearALL();

AfxMessagcBox("刪除成功!)

m_yuefen.SetCurSel(O);

UpdateData(FALSE):

voidCTXGZ::OnButton5()

UpdatcData(TRUE);

if(m_Chaxun.IsEmpty())

{AfxMessageBox("請(qǐng)輸入查詢的職工編號(hào)!”);

return;)

OnInitADOConn();

CStringsql;

sql.Format("select*from工資表where職工編號(hào)二%s"',m_Chaxun);

m_pConnection->Execute((_bstr_t)sql,NULL,adCmdText);

m_pConneclion->Close();

m_gzlist.DeleteAHItems();

ClcarALL();

m_Chaxun=m_Chaxun;

m_yuefen.SetCurSel(O);

UpdateData(FALSE):

)

floatCTXGZ::calculator(floata)

{floatb=a-2000;

if(b<O){b=O;)

if(O<b&&b<5OO){returnb=b*5/100;)

if(b>=500&&b<2000){returnb=b*10/100-25;)

if(b>=2000&&b<5000){returnb=b*15/100-125;)

if(b>=5000&&b<20000){returnb=b*20/l00-375;}

if(b>=2()00()&&b<4()()0()){returnb=b*25/100-1375;}

if(b>=40000&&b<60000){returnb=b*30/l00-3375;}

if(b>=60000&&b<80000){returnb=b*35/l00-6375;}

if(b>=80000&&b<l00000){returnb=b*40/100-10375;|

if(b>=l00000){returnb=b*45/l00-15375;)

1

該模塊實(shí)現(xiàn)功能是職工查詢工資的詳細(xì)信息,查詢個(gè)人詳細(xì)信息的功能。

職工信息查詢:

工資信息查詢:

局部核心代碼如下:

voidCGXGZ;;OuBulloiil()

{UpdateData(TRUE);

if(m_Chaxun.IsEmpty())

{AfxMessageBox("請(qǐng)輸入查詢的職工編號(hào)!*,);

return;)

OnInitADOConn();

CStringsql;

sql.Format("select*from工資表where職工編號(hào)二'%s"',m_Chaxun);

m_pConncction->Exccutc((_bstr_t)sql,NULL,adCmdTcxt);

m_pConnection->Close();

m_gzHst.DeleteAHItems();

UpdateGrid();

m_Chaxun.Empty();

UpdatcData(FALSE):

)

voidCGXGZ::OnInitADOConn()

{try

{//創(chuàng)立連接對(duì)象實(shí)例

m_pConnection.CreateInstance("ADODB.Connection");

〃設(shè)置連接字符串

CStringstrConnect="Provider=Microsoft.Jet.OLEDB.4.();Data

Source=salary.mdb;PersistSecurityInfo=False;H;

〃使用Open方法連接數(shù)據(jù)庫(kù)

m_pConnection->Opcn((_bstr_t)strConnect,"",,'",adModcUnknown);

)

catch(_com_errore)

(

AfxMessageBox(e.Description());

)

)

voidCGXGZ::UpdateGrid()

{//連接數(shù)據(jù)庫(kù)

OnInitADOConn();

〃設(shè)置查詢字符串

CStringbstrSQL;

bstrSQL.Format(uselect*from工資表where職工編號(hào)='%s'orderby職工編號(hào)

dcsu",ni_Chaxuii);

//創(chuàng)立記錄集指針對(duì)象實(shí)例

m_pRecordset.CreateInstance(_uuidof(Recordset));

〃翻開記錄集

m_pRecordset->Open((_bstr_t)bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDyna

mic,

adLockOptimistic,adCmdText);

while(!m_pRecordset->adoEOF)

(m_gzlist.Insertltcm(O,1,M);

m_gzlisl.SetItemTexl(0,0,(char*)(_bstr_t)m_pRecordset?>GetCoHect("職工編號(hào)"));

m_gzlist.SetItemText(0,l,(char*)(_bstr_t)m_pRecordset->GetCollect(H^份"));

m_gzHst.SetItemText(02(char*)(_bstr_t)m_pRecordset?>GeiCollect("根本工資"));

m_gzlist.SetIteniText(03(char*)(_bstr_t)m_pRecordset->GetCoHect("津貼”));

m_gzlist.SetltcmTcxt(0,4,(char*)(_bstr_t)m_pRccordsct->GctCoHect(“崗貼”));

m_gzlist.SethemText(0,5,(char*)(_bstr_t)m_pRecordset->GetCollect("補(bǔ)貼"));

m_gzlist.SetItemText(0,6,(char*)(_bstr_t)m_pRecordset->GetCoHect(“房貼"));

m_gzlist.SetItemTexl(0,7,(char*)(_bslr_l)m_pRecordset->GelCoHecl(“交通補(bǔ)貼”));

m_gzlist.SememText(0,8,(char*)(_bstr_t)m_pRecordset?>GetCollect("應(yīng)發(fā)數(shù)”));

m_gzlist.SetItemText(0,9,(char*)(_bstr_t)m_pRecord$et->GetCollect("房租”));

m_gzlist.SelItemText(0,10,(char*)(_bstr_t)m_pRecordset?>GetCollecl("儲(chǔ)蓄”));

m_gzlist.SetItemText((),11,(char*)(_bstr_t)m_pRecordset->GetCoHect(“會(huì)費(fèi)"));

m_gzlisl.SelItemText(0,12,(char*)(_bslr_l)m_pRecordset->GelCollecl("個(gè)人所得稅"));

m_gzlist.SetItemText(0,13,(char*)(_bstr_t)m_pRecordset->GetCollect(nJSJn

m_gzlist.SetItemText(0,14,(char*)(_bstr_t)m_pReconlset->GetConect("實(shí)發(fā)數(shù)”));

//將記錄集指針移動(dòng)到下一條記錄

m_pRecordset->MoveNext();

)

//AfxMessageBox("123");

〃斷開數(shù)據(jù)庫(kù)連接

ExitConnect();

)

voidCGXGZ::ExitConnecl()

{if(m_pRecordset!=NULL)

m_pRccordsct->Closc();

m_pConnection->Close();

第六章系統(tǒng)測(cè)試

6.1測(cè)試方法

⑴測(cè)試人員:

測(cè)試隊(duì)伍由兩位成員組成。軟件的設(shè)計(jì)者在測(cè)試整個(gè)過程中負(fù)責(zé)整體測(cè)試方案的制定

和測(cè)試進(jìn)度的掌握以及白盒測(cè)試的測(cè)試者。第二位成員由未參加軟件制作者擔(dān)任,主要責(zé)

仁是進(jìn)行軟件的黑盒測(cè)試以及軟件環(huán)境,硬件要求和極限測(cè)試工作。

(2〕機(jī)器測(cè)試:

通過在計(jì)算機(jī)上直接運(yùn)行被測(cè)程序,來發(fā)現(xiàn)程序中的錯(cuò)誤。機(jī)器測(cè)試包括黑盒測(cè)試盒

白盒測(cè)試。黑盒測(cè)試也稱功能測(cè)試,將軟件看作黑盒子,在完全不考慮程序的內(nèi)部結(jié)構(gòu)和

特性的情況下,研究軟件的外部特性。根據(jù)軟件的需求規(guī)格說明書測(cè)試用例,從程序的輸

入和輸出特性上測(cè)試是否滿足設(shè)定的功能。白盒測(cè)試也稱結(jié)構(gòu)測(cè)試,將軟件看作?個(gè)透明

的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來選定測(cè)試用例,對(duì)軟件的邏輯路徑及過程進(jìn)

行測(cè)試,檢查與測(cè)試是否相符。

I)軟件的正常運(yùn)行、關(guān)閉及退出時(shí)保存記錄的提示。

2)用戶登錄界面友好,可操作性及平安性能較好,能對(duì)不同管理級(jí)別者進(jìn)行限制,以

俁證數(shù)據(jù)庫(kù)的平安。

3)數(shù)據(jù)庫(kù)的可維護(hù)性好,數(shù)據(jù)的錄入、刪除及更改均能順利完成,并能實(shí)現(xiàn)動(dòng)態(tài)更新。

4)數(shù)據(jù)查詢便捷,能對(duì)各種不同的查詢條件搜索,以找到最適宜的答案。

5)數(shù)據(jù)溢出、越界均能講行非法提示,以警告用戶正確使用。對(duì)用戶的正常操作方式

也提出警告。

6)數(shù)據(jù)類

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論