




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年石材黃斑清除劑項(xiàng)目可行性研究報(bào)告
- 2025年白色雙面維綸帶項(xiàng)目可行性研究報(bào)告
- 2025年電腦蒸汽房項(xiàng)目可行性研究報(bào)告
- 2025年電纜井蓋項(xiàng)目可行性研究報(bào)告
- 小學(xué)班主任家長(zhǎng)會(huì)會(huì)議記錄范文
- 手工包裝創(chuàng)業(yè)計(jì)劃書范文
- 急性出血搶救措施流程
- 靜態(tài)變量的并發(fā)控制機(jī)制-全面剖析
- 5G通訊設(shè)備市場(chǎng)趨勢(shì)-全面剖析
- 生殖微環(huán)境優(yōu)化與生育力保存-全面剖析
- 2019年遼寧省普通高考志愿填報(bào)表(一)
- x-y數(shù)控工作臺(tái)機(jī)電系統(tǒng)設(shè)計(jì)
- 北京中醫(yī)藥大學(xué)個(gè)人自薦信
- 工程交付使用表
- 電子物證專業(yè)考試復(fù)習(xí)題庫(kù)(含答案)
- 公司清算報(bào)告計(jì)劃工商局版
- 欣賞 牧童短笛
- (完整版)BrownBear繪本附配音課件
- T∕CADERM 3035-2020 嚴(yán)重創(chuàng)傷院內(nèi)救治流程和規(guī)范
- 臍血分血及CIK細(xì)胞培養(yǎng)流程
- LNG站、槽車事故案例
評(píng)論
0/150
提交評(píng)論