版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢 業(yè) 設(shè) 計</b></p><p> 設(shè) 計 題 目 職工工資核算管理信息系統(tǒng) </p><p><b> 摘 要</b></p><p> 該課題采用自上而下的結(jié)構(gòu)化開發(fā)方法與面向?qū)ο蠓椒ㄏ嘟Y(jié)合的方法,研究和開發(fā)萊鋼運(yùn)輸部職工工資核算管理信息系統(tǒng)。在理解軟件工程的思想和數(shù)據(jù)
2、庫理論的基礎(chǔ)上,通過對業(yè)務(wù)流程及原有舊系統(tǒng)分析和重構(gòu),重新設(shè)計系統(tǒng)體系結(jié)構(gòu)。采用Microsoft SQL Server2000設(shè)計并建立數(shù)據(jù)庫,采用面向?qū)ο窬幊坦ぞ進(jìn)icrosoft Visual Studio C# .Net實現(xiàn),其人機(jī)界面友好,操作簡單,數(shù)據(jù)驅(qū)動相對容易,并易于實現(xiàn)。</p><p> 關(guān)鍵詞:管理信息系統(tǒng)、工資管理、結(jié)構(gòu)化方法、面向?qū)ο蠓椒?、Microsoft SQL Serv
3、er2000、Microsoft Visual Studio C# .Net</p><p><b> ABSTRACT</b></p><p> This topic uses the method which the top-down structurization method of exploitation and the object-orie
4、nted method unify, studies and develops the staff wages calculation management information system. In understanding software engineering thought and in database theory foundation, through to service flow and original old
5、 system analysis and restructuring, redesign system architecture. Uses Microsoft SQL Server2000 to design and to establish the database, uses object-oriented programming tool M</p><p> Keywords:Management I
6、nformation System ,Salary Management, Structure-rization method,Object-oriented method,Microsoft SQL Server2000,Microsoft Visual Studio C# .Net</p><p><b> 目 錄</b></p><p><
7、;b> 1前言</b></p><p> 在現(xiàn)代化企業(yè)中,信息管理工作將發(fā)揮越來越重要的作用。企業(yè)信息管理工作已經(jīng)滲透到企業(yè)日常工作的許多方面,無論是其自身還是所發(fā)揮的作用,都為企業(yè)的創(chuàng)新、發(fā)展以及經(jīng)濟(jì)效益,做出了顯著的貢獻(xiàn)。</p><p> 運(yùn)輸部自2000年企業(yè)局域網(wǎng)投入運(yùn)用以來,先后開發(fā)使用了大大小小10幾個管理新系統(tǒng)。近兩年與軟件公司合作,開發(fā)了《智能化設(shè)
8、備管理信息系統(tǒng)》和《智能化鐵路運(yùn)輸綜合管理信息系統(tǒng)》。《智能化設(shè)備管理信息系統(tǒng)》涵蓋設(shè)備一生管理,并將運(yùn)輸部自己的管理理念溶于其中,在設(shè)備管理方面起到了很好的效果;《智能化鐵路運(yùn)輸綜合管理信息系統(tǒng)》主要將運(yùn)輸部的主業(yè)——鐵路運(yùn)輸?shù)母鱾€方面聯(lián)系起來,利用鐵路微機(jī)聯(lián)鎖、車號自動識別等技術(shù),實現(xiàn)萊鋼廠內(nèi)車輛跟蹤、統(tǒng)計、費(fèi)用核算等功能,提高了運(yùn)輸效率和管理效能。</p><p> 企業(yè)工資管理系統(tǒng)是一個企業(yè)單位不可缺少
9、的部分,它的內(nèi)容對于企業(yè)決策者和管理者來說都是至關(guān)重要的,所以企業(yè)工資管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但是,運(yùn)輸部仍然沿用95年編制的工資核算系統(tǒng),系統(tǒng)采用的技術(shù)老舊,不能適應(yīng)現(xiàn)有條件下的管理要求,因此決定設(shè)計一個新的職工工資管理信息系統(tǒng),達(dá)到檢索迅速、查找方便、可靠性高、存儲量大、保密性好、適應(yīng)網(wǎng)絡(luò)化的要求,提升工資管理手段。</p><p><b> 2管理信息系統(tǒng)概述<
10、;/b></p><p> 管理信息系統(tǒng)(簡稱MIS)是介于信息論,經(jīng)濟(jì)管理理論,統(tǒng)計學(xué)與運(yùn)籌學(xué)及計算機(jī)科學(xué)之間的一門邊緣性,綜合性,系統(tǒng)性的交叉科學(xué),它是隨著管理科學(xué),信息技術(shù),計算機(jī)技術(shù)等的發(fā)展而產(chǎn)生和發(fā)展起來的。</p><p> 2.1 MIS系統(tǒng)開發(fā)方法的選用</p><p> 管理信息系統(tǒng)的開發(fā)方法有生命周期法、原型法和面向?qū)ο蟮拈_發(fā)方法等:
11、</p><p> 生命周期法(Life Cycle Method)是20世紀(jì)60年代發(fā)展起來的一種應(yīng)用廣泛且比較成熟的管理系統(tǒng)開發(fā)方法,它的基本思想是將系統(tǒng)的開發(fā)工作從開始到結(jié)束劃分為若干個階段,每個階段都有明確的任務(wù),而系統(tǒng)開發(fā)出來后,并不意味著生命周期的結(jié)束,而意味著根據(jù)組織的需要對系統(tǒng)的修改和重建的開始。</p><p> 原型法(Prototyping Method)是20世
12、紀(jì)80年代發(fā)展起來的,旨在改變生命周期法的缺點(diǎn)的一種系統(tǒng)開發(fā)方法,該法的開發(fā)思路是首先根據(jù)用戶的要求,由用戶和開發(fā)者共同確定系統(tǒng)的基本要求和主要功能,利用系統(tǒng)快速生成工具,建立一個系統(tǒng)模型,再在此基礎(chǔ)上與用戶交流,將模型不斷補(bǔ)充、修改、完善,如此反復(fù),最終直至用戶和開發(fā)者都比較滿意為止,從而形成一個相對穩(wěn)定、較為理想的管理信息系統(tǒng)。</p><p> 面向?qū)ο螅∣bject Oriented)的開發(fā)方法于20世
13、紀(jì)80年代開始興起的,是一種基于問題對象的自底向上的一種系統(tǒng)開發(fā)方法,這種方法的特點(diǎn)是以對象為基礎(chǔ),對象是分析問題和解決問題的核心。</p><p> 基于以上三種方法的特點(diǎn)和各自的優(yōu)缺點(diǎn),本職工工資管理系統(tǒng)利用軟件工程化思想和方法,總體上是采用結(jié)構(gòu)化生命法進(jìn)行系統(tǒng)分析和設(shè)計的,而系統(tǒng)實現(xiàn)等步驟則采用了原型法和面向?qū)ο蟮姆椒ā?lt;/p><p> 2.2 MIS系統(tǒng)開發(fā)過程</p&
14、gt;<p> 一個MIS系統(tǒng)的開發(fā)過程一般包括如下幾個步驟:</p><p> ?。?)需求分析:需求分析主要是了解用戶的需求。需求了解得越詳細(xì),程序的后期開發(fā)與維護(hù)費(fèi)用就會越少。一般的開發(fā)團(tuán)隊中,需求分析都是由資歷較深的系統(tǒng)分析員或項目經(jīng)理擔(dān)當(dāng),可見它的重要性。需求分析制訂好后,需要反復(fù)修改。將最后的結(jié)果交給用戶審定,確認(rèn)無誤后,由系統(tǒng)分析員完成需求分析文檔,再開始下一步工作。</p&g
15、t;<p> ?。?)概要設(shè)計:概要設(shè)計緊跟在需求分析之后。用戶需求明確后,將得到的數(shù)據(jù)分析后,開始構(gòu)建數(shù)據(jù)庫的邏輯結(jié)構(gòu)。此時,數(shù)據(jù)庫中的表格還未成形,通過各種分析工具(如PowerDesigner等)畫出數(shù)據(jù)流圖,最后就可抽象出數(shù)據(jù)庫的具體表結(jié)構(gòu)。這時由系統(tǒng)分析人員反復(fù)審核。確認(rèn)所有的需求都考慮在內(nèi),沒有遺漏后,就可以開始制訂概要設(shè)計文檔。概要設(shè)計文檔形成后,整個程序的邏輯框架也就形成了。</p><
16、p> (3)詳細(xì)設(shè)計:概要設(shè)計完成后,根據(jù)設(shè)計中制訂的功能模塊。就可以進(jìn)行詳細(xì)分析設(shè)計了。詳細(xì)設(shè)計就是將各個功能模塊用處理代碼全部用語言表達(dá)出。所以詳細(xì)設(shè)計是整個系統(tǒng)中最繁瑣的環(huán)節(jié)。詳細(xì)設(shè)計完成后,整個程序就確定了,再由編程人員根據(jù)詳細(xì)設(shè)計文檔將代碼完成。整個開發(fā)工作就宣告結(jié)束。</p><p> ?。?)程序編碼:程序編碼相對于其他環(huán)節(jié)來說比較簡單,程序員只需要根據(jù)詳細(xì)分析文檔寫程序編碼,保證代碼沒有錯
17、誤即可。程序編碼需要注意的是整個程序書寫中命名的規(guī)范化與編程風(fēng)格的規(guī)范化,這需要較長時間的培養(yǎng)來形成。需要在不斷的實踐中形成自己獨(dú)特的風(fēng)格??偟膩碚f,不要過分地追求復(fù)雜的算法,因為那可能會導(dǎo)致后期維護(hù)人員無法讀懂你的代碼而造成維護(hù)的困難。</p><p> ?。?)測試:程序編碼完成后,就需要測試。測試有幾種類型,主要是測試代碼有無邏輯錯誤以及在加載數(shù)據(jù)環(huán)境下程序的穩(wěn)定性問題。測試工作中發(fā)現(xiàn)的錯誤應(yīng)及時改正,然后
18、將它記錄到測試文檔中。</p><p> (6)實施:導(dǎo)入用戶數(shù)據(jù),進(jìn)行系統(tǒng)切換,系統(tǒng)投入正常使用。</p><p> 以上是一個完整的MIS系統(tǒng)開發(fā)過程,其實不僅MIS系統(tǒng),其他類型的程序開發(fā)也基本相同。</p><p><b> 3可行性分析</b></p><p> 3.1系統(tǒng)現(xiàn)狀及缺陷分析</p&g
19、t;<p> 本系統(tǒng)投入運(yùn)用前,運(yùn)輸部仍然沿用95年編制的工資核算系統(tǒng),該系統(tǒng)為采用FoxBase2.0編寫。其工作流程為:</p><p> 1.每月各單位會計輪流輸入工資數(shù)據(jù)。</p><p> 2.由人力資源科人員進(jìn)行工資核算程序,計算當(dāng)月工資明細(xì)及其匯總表數(shù)據(jù),并逐項打印。</p><p> 3.由財務(wù)科人員進(jìn)行三項費(fèi)用提?。ǜ@M(fèi)、工
20、會費(fèi)、教育經(jīng)費(fèi)),形成三項費(fèi)用表。</p><p> 4.月末按發(fā)放銀行進(jìn)行數(shù)據(jù)拷貝,為各發(fā)放銀行提供工資數(shù)據(jù)。</p><p> 現(xiàn)將該系統(tǒng)缺陷分析如下:</p><p> 1.單機(jī)應(yīng)用程序:這造成數(shù)據(jù)錄入只能單人輸入,使工作周期較長,影響工作效率;</p><p> 2.可移植性差:該程序使用FoxBase2.0編寫,運(yùn)行于Dos
21、系統(tǒng),其打印模塊采用直接調(diào)用Dos下打印指令執(zhí)行,因此不適用于現(xiàn)有的Windows系統(tǒng),無法進(jìn)行移植;</p><p> 3.不是網(wǎng)絡(luò)應(yīng)用,無法支持現(xiàn)有的網(wǎng)絡(luò)互連的便利條件。</p><p> 因此,該系統(tǒng)存在工作效率低、程序老舊、可移植性差、無網(wǎng)絡(luò)功能等缺點(diǎn),不能適應(yīng)現(xiàn)有環(huán)境下的工作需要。</p><p> 3.2新系統(tǒng)目標(biāo)及功能要求</p>
22、<p> 根據(jù)以上分析,需設(shè)計新系統(tǒng)以適應(yīng)當(dāng)前需要,新系統(tǒng)應(yīng)支持網(wǎng)絡(luò),易于移植和配置,其具體功能要求如下:</p><p> 1、能夠?qū)崿F(xiàn)工資信息分布式錄入、修改、打??;</p><p> 2、能夠?qū)崿F(xiàn)月度工資統(tǒng)計匯總并形成報表打印;</p><p> 3、充分利用網(wǎng)絡(luò)資源,提供多用戶服務(wù),有用戶權(quán)限設(shè)置,達(dá)到職工工資保密要求;</p>
23、<p> 4、提供較為豐富的工資查詢功能,便于查詢統(tǒng)計;</p><p> 5、用戶界面友好,操作方便。</p><p><b> 3.3系統(tǒng)業(yè)務(wù)流程</b></p><p> 根據(jù)對工資核算日常工作的調(diào)查,現(xiàn)繪制工資核算業(yè)務(wù)流程圖如下:</p><p><b> 3.4數(shù)據(jù)流程圖<
24、;/b></p><p> 根據(jù)已繪制的業(yè)務(wù)流程圖,繪制新系統(tǒng)數(shù)據(jù)流圖如下:</p><p><b> 3.5數(shù)據(jù)字典</b></p><p> 表3.1 數(shù)據(jù)流定義表</p><p> 表3.2 數(shù)據(jù)元素定義表</p><p> 表3.3 文件定義表</p>
25、<p> 表3.4 外部項定義表</p><p> 表3.5 加工定義表</p><p><b> 4系統(tǒng)總體設(shè)計</b></p><p> 4.1系統(tǒng)體系結(jié)構(gòu)設(shè)計</p><p> 為有效地保證和管理數(shù)據(jù)的安全性、訪問權(quán)限、完整性,采用C/S(Client/Server,客戶機(jī)/服務(wù)器)架構(gòu)和支
26、持C/S架構(gòu)的數(shù)據(jù)平臺,是必然選擇。</p><p> 由于工資信息的保密性,因此采用C/S模式又稱C/S結(jié)構(gòu)。C/S模式就是基于企業(yè)內(nèi)部網(wǎng)絡(luò)的應(yīng)用系統(tǒng),C/S模式的應(yīng)用系統(tǒng)最大的好處是不依賴企業(yè)外網(wǎng)環(huán)境,即無論企業(yè)是否能夠上網(wǎng),都不影響應(yīng)用。</p><p> C/S體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用,由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序。二者可分別稱為前臺程序與后臺程序。運(yùn)行數(shù)據(jù)庫服務(wù)
27、器程序的機(jī)器,稱為應(yīng)用服務(wù)器,一旦服務(wù)器程序被啟動,就隨時等待響應(yīng)客戶程序發(fā)來的請求;客戶程序運(yùn)行在用戶自己的電腦上,對應(yīng)于服務(wù)器電腦,可稱為客戶電腦。當(dāng)需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行任何操作時,客戶程序就自動地尋找服務(wù)器程序,并向其發(fā)出請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果。</p><p> 該系統(tǒng)中服務(wù)器端實現(xiàn)數(shù)據(jù)存儲和后臺數(shù)據(jù)計算功能,客戶端實現(xiàn)用戶數(shù)據(jù)錄入、報表打印等功能。</p>
28、<p><b> 4.2系統(tǒng)功能劃分</b></p><p> 系統(tǒng)劃分為工資維護(hù)、人員變動、歸集匯總、財務(wù)報表、系統(tǒng)維護(hù)等五大功能模塊。各模塊子功能模塊劃分如下:</p><p><b> ⑴工資維護(hù)</b></p><p> 固定項目:維護(hù)職工個人工資的固定項目,這些項目很少變化。</p>
29、<p> 變動項目:維護(hù)職工個人工資的固定項目,這些項目每個月都變化。</p><p> 工資明細(xì)打?。喊丛聦?dǎo)出指定單位工資明細(xì)。</p><p> 獎金輸入:供人力資源科人員導(dǎo)入月度獎金數(shù)據(jù),并可維護(hù)修改。</p><p><b> ?、迫藛T變動</b></p><p> 內(nèi)部在職調(diào)動:內(nèi)部子單位
30、之間的人員調(diào)動。</p><p> 外單位職工調(diào)入:外單位職工調(diào)入,即增加職工信息。</p><p> 職工調(diào)出或刪除:本單位職工調(diào)出或刪除。</p><p> 在職離退休退養(yǎng):在制職工離、退休、退養(yǎng)維護(hù)。</p><p> 加入內(nèi)外撫恤庫:職工信息轉(zhuǎn)移至撫恤庫。</p><p><b> ?、菤w集匯
31、總</b></p><p> 除車務(wù)二段外,其他在職職工工資為工商行發(fā)放,因此按發(fā)放銀行分為站段、工行和車務(wù)二段兩個匯總表。</p><p> 總匯:按照崗位分類匯總。</p><p> 各單位匯總:按月匯總指定單位工資總額。</p><p><b> ?、蓉攧?wù)報表</b></p><
32、;p> 提取三費(fèi):財務(wù)科人員每月按照應(yīng)付工資數(shù)計算匯總職工三項費(fèi)用表(福利、教育、工會)。</p><p> 銀行拷盤:按照發(fā)放銀行導(dǎo)出月度工資數(shù)據(jù)。</p><p><b> ?、上到y(tǒng)維護(hù)</b></p><p> 單位信息維護(hù):維護(hù)單位編碼、單位名稱等單位信息。</p><p> 權(quán)限管理:提供系統(tǒng)用戶
33、個人信息維護(hù)。</p><p> 崗位設(shè)置:工資信息的崗位維護(hù)。</p><p><b> 4.3數(shù)據(jù)庫設(shè)計</b></p><p><b> 1.概念設(shè)計</b></p><p> 概要設(shè)計基礎(chǔ)是完成需求分析后提供的需求說明書,用概念數(shù)據(jù)模型表示數(shù)據(jù)及其相互間的關(guān)系,這種數(shù)據(jù)模型是與DBM
34、S無關(guān)的、面向現(xiàn)實世界的、易如理解的數(shù)據(jù)模型,其獨(dú)立于計算機(jī)的數(shù)據(jù)模型,獨(dú)立于計算機(jī)的軟硬件系統(tǒng),與用戶進(jìn)行交流十分方便。</p><p> 概念性數(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è)計
35、數(shù)據(jù)庫結(jié)構(gòu)的基礎(chǔ)。</p><p> 概念設(shè)計中自頂向下的實體分析方法,即常用的實體聯(lián)系模型(簡稱E-R模型),對具體數(shù)據(jù)進(jìn)行抽象加工,將實體集合抽象成實體類型。用實體間聯(lián)系反映現(xiàn)實世界事物間的內(nèi)在聯(lián)系。E-R模型是建立概念性數(shù)據(jù)模型的有力工具。</p><p> 通過對職工工資管理內(nèi)容和過程的分析,本系統(tǒng)應(yīng)設(shè)計的主要實體和屬性如下:</p><p> 各實體
36、間的聯(lián)系如下圖:</p><p><b> 2.?dāng)?shù)據(jù)庫結(jié)構(gòu)設(shè)計</b></p><p><b> ?、旁露裙べY明細(xì)</b></p><p> 表4.1 月度工資明細(xì)</p><p><b> ?、坡毠せ拘畔?lt;/b></p><p> 表4.2
37、 職工基本信息</p><p><b> ?、菃挝恍畔?lt;/b></p><p> 表4.3 單位信息</p><p><b> ?、冉巧畔?lt;/b></p><p> 表4.4 角色信息</p><p><b> ⑸用戶信息</b></p
38、><p> 表4.5 用戶信息</p><p><b> 5詳細(xì)設(shè)計系統(tǒng)</b></p><p> 5.1編程環(huán)境和數(shù)據(jù)庫選擇</p><p><b> 1、數(shù)據(jù)庫選擇</b></p><p> 本系統(tǒng)選用Microsoft SQL Server2000作為后臺數(shù)據(jù)庫
39、。</p><p> SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng),該版本繼承了SQL Server 7.0 版本的優(yōu)點(diǎn)同時又比它增加了許多更先進(jìn)的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn)可跨越從運(yùn)行Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺使用。&
40、lt;/p><p> SQL Server 2000的特性很多,以下只列舉幾條加以說明選用該軟件的必要性:</p><p> ⑴ XML Extensible Markup Language 擴(kuò)展標(biāo)示語言支持關(guān)系數(shù)據(jù)庫引擎可以返回XML 文檔數(shù)據(jù)XML 數(shù)據(jù)可以用于插入刪除和更新數(shù)據(jù)XML 是擴(kuò)展標(biāo)示語言Extensible Markup Language 的英文縮寫XML 語言可用于描
41、述一個數(shù)據(jù)集的內(nèi)容以及數(shù)據(jù)如何在Web 頁中顯示或輸出到某個設(shè)備XML 和HTML Hypertext Markup Language 超文本鏈接標(biāo)示語言都源自SGML Standard General Markup Language 標(biāo)準(zhǔn)通用標(biāo)示語言SGML 是一個非常復(fù)雜龐大的語言在網(wǎng)絡(luò)上發(fā)布數(shù)據(jù)時很難完全使用它HTML 比SGML 簡單得多而且更專業(yè)化但HTML 所作用的數(shù)據(jù)有一定的數(shù)量限制XML 介于HTML 和SGML 之間它
42、比SGML 簡單但比HTML 的功能強(qiáng)大得多因此XML 成為Web 網(wǎng)絡(luò)或公司內(nèi)部網(wǎng)絡(luò)進(jìn)行電子數(shù)據(jù)交換日益重要的語言。</p><p> SQL Server 2000 對XML 的支持表現(xiàn)在以下幾個方面:</p><p> ※可以通過URL Uniform Resource Locator 統(tǒng)一資源定位訪問SQL Server </p><p> ※支持XM
43、L-Data 模式</p><p> ※可檢索編寫XML 數(shù)據(jù)</p><p> ※SQL Server 2000 OLE DB 增加了對XML 文檔的支持</p><p> ?、茢?shù)據(jù)行中的Text 類型數(shù)據(jù)</p><p> SQL Server 2000 中可以將TEXT 和IMAGE 類型的數(shù)據(jù)直接存放到表的數(shù)據(jù)行中而不是存放到不
44、同的數(shù)據(jù)頁中這就減少了用于存儲TEXT 和IMAGE 類型的空間并相應(yīng)減少了磁盤處理這類數(shù)據(jù)的I/O 數(shù)量。</p><p> ?、欠植际讲樵僁istributed Query 增強(qiáng) SQL Server 2000 引入了一個名為OPENROWSET 的函數(shù)它可以指定在分布式查詢中的一個特定的連接信息分布式查詢優(yōu)化器的功能有了進(jìn)一步的提高授予了OLE DB 數(shù)據(jù)源更多的SQL
45、 操作權(quán)。</p><p> ?、燃壜?lián)參考完整性約束Cascading Referential Integrity Constraints </p><p> 級聯(lián)參考完整性約束可以控制在刪除或更新有外鍵約束的數(shù)據(jù)時所采取的操作這種控制是通過在CREATE TABLE 或ALTER TABLE 命令中的REFERENCES 子句中加入ON DELETE 或ON UPDATE 子句來實現(xiàn)的
46、。</p><p> ?、蒏erberos 和安全授權(quán)Security Delegation </p><p> SQL Server 2000 使用Kerberos 來支持客戶機(jī)和服務(wù)器之間相互的身份驗證使用Kerberos 和授權(quán)來支持復(fù)合認(rèn)證以及SQL Server 注冊。</p><p><b> 2、編程環(huán)境選擇</b></
47、p><p> 本系統(tǒng)選用Microsoft C#.NET作為編程環(huán)境。</p><p> C# (C sharp) 是微軟對這一問題的解決方案。C#是一種最新的、面向?qū)ο蟮木幊陶Z言。它使得程序員可以快速地編寫各種基于Microsoft .NET平臺的應(yīng)用程序,Microsoft .NET提供了一系列的工具和服務(wù)來最大程度地開發(fā)利用計算與通訊領(lǐng)域。</p><p>
48、 正是由于C#面向?qū)ο蟮淖吭皆O(shè)計,使它成為構(gòu)建各類組件的理想之選--無論是高級的商業(yè)對象還是系統(tǒng)級的應(yīng)用程序。使用簡單的C#語言結(jié)構(gòu),這些組件可以方便的轉(zhuǎn)化為XML 網(wǎng)絡(luò)服務(wù),從而使它們可以由任何語言在任何操作系統(tǒng)上通過Internet進(jìn)行調(diào)用。</p><p> 最重要的是,C#使得C++程序員可以高效的開發(fā)程序,而絕不損失C/C++原有的強(qiáng)大的功能。因為這種繼承關(guān)系,C#與C/C++具有極大的相似性,熟悉
49、類似語言的開發(fā)者可以很快的轉(zhuǎn)向C#。</p><p> C#.Net具有如下特點(diǎn):</p><p><b> ⑴效率與安全性</b></p><p> 新興的網(wǎng)絡(luò)經(jīng)濟(jì)迫使商務(wù)企業(yè)必須更加迅速的應(yīng)對競爭的威脅。開發(fā)者必須不斷縮短開發(fā)周期,不斷推出應(yīng)用程序的新版本,而不僅僅是開發(fā)一個"標(biāo)志性"的版本。</p>
50、<p> C#在設(shè)計時就考慮了這些問題。它使開發(fā)者用更少的代碼做更多的事,同時也不易出錯。</p><p> ?、浦С脂F(xiàn)有的網(wǎng)絡(luò)編程新標(biāo)準(zhǔn)</p><p> 新的應(yīng)用程序開發(fā)模型意味著越來越多地解決方案依賴于新出現(xiàn)的網(wǎng)絡(luò)標(biāo)準(zhǔn),例如HTML,XML,SOAP等?,F(xiàn)存的開發(fā)工具往往都是早于Internet出現(xiàn)的,或者是在我們所熟知的網(wǎng)絡(luò)還處于孕育期時出現(xiàn)的。所以,它們一般無法很
51、好地支持最新的網(wǎng)絡(luò)技術(shù)。</p><p> C#程序員可以在Microsoft .NET平臺上事半功倍的構(gòu)建應(yīng)用程序的擴(kuò)展框架。C#包含了內(nèi)置的特性,使任何組件可以輕松轉(zhuǎn)化為XML網(wǎng)絡(luò)服務(wù),通過Internet被任何操作系統(tǒng)上運(yùn)行的任何程序調(diào)用。</p><p> 更突出的是,XML網(wǎng)絡(luò)服務(wù)框架可以使現(xiàn)有的XML網(wǎng)絡(luò)服務(wù)對程序員來說就和C#對象一樣。這樣,程序員就可以方便地使用他們已有
52、的面向?qū)ο蟮木幊碳记蓙黹_發(fā)利用現(xiàn)有的XML網(wǎng)絡(luò)服務(wù)。</p><p> 還有一些精細(xì)的特性,使得C#成為一流的網(wǎng)絡(luò)編程工具。例如,XML正逐漸成為在網(wǎng)絡(luò)上傳輸結(jié)構(gòu)化數(shù)據(jù)的標(biāo)準(zhǔn)。這種數(shù)據(jù)集合往往非常小。為提高性能,C#允許把XML數(shù)據(jù)直接映射到struct數(shù)據(jù)類型,而不是class。這樣對處理少量的數(shù)據(jù)非常有效。</p><p><b> ?、窍罅砍绦蝈e誤</b>
53、</p><p> 即使是專家級的C++程序員也常會犯一些最簡單的小錯誤--比如忘了初始化變量,但往往就是這些小錯誤帶來了難以預(yù)料的問題,有些甚至需要很長時間來尋找和解決。一旦一個程序作為產(chǎn)品來使用,就算最簡單的錯誤糾正起來也可能要付出極其昂貴的代價。</p><p> C#的現(xiàn)代化設(shè)計能夠消除很多常見的C++編程錯誤。 例如:</p><p> 1. 資源回
54、收減輕了程序員內(nèi)存管理的負(fù)擔(dān)。</p><p> 2. C#中變量由環(huán)境自動初始化。</p><p> 3. 變量是類型安全的。</p><p> 這樣,程序員編寫與維護(hù)那些解決復(fù)雜商業(yè)問題的程序就更方便了。</p><p> ?、葘Π姹镜母绿峁﹥?nèi)在的支持降低了開發(fā)成本</p><p> 更新軟件組件是一項很
55、容易出錯的工作,因為代碼的修改可能無意間改變原有程序的語義。為協(xié)助開發(fā)者進(jìn)行這項工作,C#為版本的更新提供內(nèi)在的支持。例如,方法重載必須顯式聲明。這樣可以防止編碼錯誤,保證版本更新的靈活性。還有一個相關(guān)的特性就是對接口和接口繼承的內(nèi)在支持。這些特性使得C#可以開發(fā)復(fù)雜的框架并且隨著時間不斷發(fā)展更新它。</p><p> 總體來說,這些特性使得開發(fā)程序項目的后續(xù)版本的過程更加健壯,從而減少后續(xù)版本的開發(fā)成本。&l
56、t;/p><p> ?、缮虡I(yè)過程和軟件實現(xiàn)的更好對應(yīng)</p><p> 企業(yè)的商業(yè)計劃要付諸現(xiàn)實,必須在抽象的商業(yè)過程和實際的軟件實現(xiàn)之間建立緊密地對應(yīng)。不過大多數(shù)語言都很難做到這點(diǎn)。例如,如今的程序員們一般使用代碼注釋來注明哪個類對應(yīng)于某個抽象的商業(yè)對象。</p><p> C#語言允許類型定義的,擴(kuò)展的元數(shù)據(jù)。這些元數(shù)據(jù)可以應(yīng)用于任何對象。項目構(gòu)建者可以定義領(lǐng)域
57、特有的屬性并把他們應(yīng)用于任何語言元素-類,接口等等。然后,開發(fā)人員可以編程檢查每個元素的屬性。這樣,很多工作都變得方便多了,比如編寫一個小工具來自動檢查每個類或接口是否被正確定義為某個抽象商業(yè)對象的一部分,或者只是創(chuàng)建一份基于對象的領(lǐng)域特有屬性的報表。定制的元數(shù)據(jù)和程序代碼之間的緊密對應(yīng)有助于加強(qiáng)程序的預(yù)期行為和實際實現(xiàn)的之間的對應(yīng)關(guān)系。</p><p><b> ?、蕯U(kuò)展交互性</b>&l
58、t;/p><p> 作為一種自動管理的,類型安全的環(huán)境,C#適合于大多數(shù)企業(yè)應(yīng)用程序。但實際的經(jīng)驗表明有些應(yīng)用程序仍然需要一些底層的代碼,要么是因為基于性能的考慮,要么是因為要與現(xiàn)有的應(yīng)用程序接口兼容。這些情況可能會迫使開發(fā)者使用C++, 即使他們本身寧愿使用更高效的開發(fā)環(huán)境。</p><p> C#采用以下對策來解決這一問題:</p><p> 1. 內(nèi)置對組建
59、對象模型(COM)和基于Windows?的API的支持;</p><p> 2.允許有限制地使用純指針(Native Pointer)。</p><p> 在C#中,每個對象都自動生成為一個COM對象。開發(fā)者不再需要顯式的實現(xiàn)IUnknown和其他COM接口.這些功能都是內(nèi)置的。類似的,C#可以調(diào)用現(xiàn)有的COM對象,無論它是由什么語言編寫的。</p><p>
60、 C#包含了一個特殊的功能,使程序可以調(diào)用任何純API。在一段特別標(biāo)記的代碼中,開發(fā)者可以使用指針和傳統(tǒng)C/C++特性,如手工的內(nèi)存管理和指針運(yùn)算。這是其相對于其它環(huán)境的極大優(yōu)勢。這意味著C#程序員可以在原有的C/C++代碼的基礎(chǔ)上編寫程序,而不是徹底放棄那些代碼。</p><p> 無論是支持COM還是純API的調(diào)用,都是為了使開發(fā)者在C#環(huán)境中直接擁有必要的強(qiáng)大功能。</p><p>
61、; 由以上介紹可見,C#是一種現(xiàn)代的面向?qū)ο笳Z言。它使程序員快速便捷地創(chuàng)建基于Microsoft .NET平臺的解決方案。這種框架使C#組件可以方便地轉(zhuǎn)化為XML網(wǎng)絡(luò)服務(wù),從而使任何平臺的應(yīng)用程序都可以通過Internet調(diào)用它。</p><p> C#增強(qiáng)了開發(fā)者的效率,同時也致力于消除編程中可能導(dǎo)致嚴(yán)重結(jié)果的錯誤。C#使C/C++程序員可以快速進(jìn)行網(wǎng)絡(luò)開發(fā),同時也保持了開發(fā)者所需要的強(qiáng)大性和靈活性。<
62、;/p><p><b> 5.2詳細(xì)設(shè)計方案</b></p><p> 系統(tǒng)采用Microsoft SQL Server 2000作為后臺數(shù)據(jù)服務(wù),使用Microsoft Visual Studio C# .Net設(shè)計用戶界面。</p><p> 使用C#遠(yuǎn)程調(diào)用Microsoft SQL Server 2000數(shù)據(jù)庫存儲過程,獲取
63、工資核算、統(tǒng)計報表等結(jié)果,實現(xiàn)用戶端程序?qū)Ψ?wù)器數(shù)據(jù)及其計算的遠(yuǎn)程操作。</p><p> 根據(jù)數(shù)據(jù)流圖和數(shù)據(jù)字典分析,關(guān)鍵代碼設(shè)計如下:</p><p> 1、客戶端數(shù)據(jù)庫連接方式</p><p> 本系統(tǒng)數(shù)據(jù)庫連接方式采用讀取外部ini文件獲取服務(wù)器地址,然后建立數(shù)據(jù)連接。具體實現(xiàn)過程如下:</p><p> ⑴讀取ini文件類(
64、sql_conn.cs)</p><p> using System;</p><p> using System.Text;</p><p> using System.Runtime.InteropServices;</p><p> namespace Salary</p><p><b>
65、{</b></p><p> /// <summary></p><p> /// 通過讀取給定的ini文件內(nèi)的鍵值獲取服務(wù)器地址,并形成數(shù)據(jù)庫連接字符串。</p><p> /// </summary></p><p> public class sql_conn</p><p
66、><b> {</b></p><p> [DllImport("kernel32")]private static extern int GetPrivateProfileString(string section,string key,string def,StringBuilder retVal,int size,string filePath);//引
67、用系統(tǒng)API函數(shù)</p><p> private static StringBuilder IP_val=new StringBuilder(255); </p><p> public string path; </p><p> public sql_conn(string INIPath)</p><p><b>
68、 {</b></p><p> path=INIPath; </p><p><b> }</b></p><p> public string IniReadValue(string Section,string Key) </p><p><b> { </b>
69、</p><p> string conn_str; </p><p> StringBuilder IP_val=new StringBuilder(255); </p><p> int i=GetPrivateProfileString(Section,Key,"",IP_val,255,this.path); <
70、/p><p> conn_str="workstation id="+IP_val.ToString()+";packet size=4096;user id=sa;data source="+IP_val.ToString()+";persist security info=False;initial catalog=gz"; </p>&
71、lt;p> return conn_str;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> ?、仆ㄟ^應(yīng)用程序目錄下的config.ini得到服務(wù)器地址,并將生成的數(shù)據(jù)庫連接字符串
72、賦值給當(dāng)前已定義的數(shù)據(jù)連接。</p><p> private void Login_Load(object sender, System.EventArgs e)</p><p><b> {</b></p><p> sql_conn conn_ip=new sql_conn(Directory.GetCurrentDirectory
73、()+@"\config.ini");//調(diào)用sql_conn類獲取config.ini中的服務(wù)器地址</p><p> Salary_Conn.ConnectionString=conn_ip.IniReadValue("Server","IP");</p><p> sql_conn_str=Salary_Conn.Con
74、nectionString; //賦值</p><p><b> }</b></p><p><b> 2、月度工資初始化</b></p><p> 月度工資初始化主要是依據(jù)職工工資基本信息增加要輸入月份的工資數(shù)據(jù),因此設(shè)計存儲過程如下:</p><p> CREATE PROCEDURE
75、dbo.new_salary</p><p><b> (</b></p><p><b> @年份 int,</b></p><p><b> @月份 int</b></p><p><b> )</b></p><p>
76、<b> AS</b></p><p> SET NOCOUNT ON;</p><p> INSERT INTO T_history(編碼,姓名,工種崗位,行政級別,技術(shù)級別,崗位檔次,檔次備注,崗位,年功,百分比增資,技能,技師,交通回民,養(yǎng)老金,失業(yè)金,公積金,房水衛(wèi),會費(fèi),所得稅,投保,房改補(bǔ),物業(yè),depart_id,賬號,工號,崗位分類,身份證號,l
77、w_dep_id,年份,月份) select 編碼,姓名,工種崗位,行政級別,技術(shù)級別,崗位檔次,檔次備注,崗位,年功,百分比增資,技能,技師,交通回民,養(yǎng)老金,失業(yè)金,公積金,房水衛(wèi),會費(fèi),所得稅,投保,房改補(bǔ),物業(yè),depart_id,賬號,工號,崗位分類,身份證號,lw_dep_id,@年份 AS 年份,@月份 AS 月份 from T_template</p><p><b> GO<
78、/b></p><p> 以上過程是按照輸入的年份、月份兩個參數(shù),將T_template表中的職工基本信息項插入T_history(月度職工工資)表中。</p><p><b> 3、月度工資計算</b></p><p> 月度工資計算中,工資計算的算法是:</p><p> ?、欧扛难a(bǔ)貼為當(dāng)月的崗位工資、年
79、功工資、技能工資三項之和的35%取整;</p><p> ⑵工會會費(fèi)為當(dāng)月崗位工資880元以下按照崗位工資的5‰計算,崗位工資大于880元的按照崗位工資取整去掉崗位工資880元以上部分的5%在乘以5‰計算;</p><p> ?、撬枚悶榇笄霸陋劷鸺由仙显聭?yīng)付工資減去上月的醫(yī)療保險、養(yǎng)老金、失業(yè)金、公積金。</p><p> 根據(jù)以上算法,設(shè)計存儲過程如下:&l
80、t;/p><p> CREATE PROCEDURE dbo.calc_salary</p><p><b> (</b></p><p><b> @年份 int,</b></p><p><b> @月份 int</b></p><p><
81、b> )</b></p><p><b> AS</b></p><p> SET NOCOUNT ON;</p><p> update T_history set 房改補(bǔ)=round((崗位+年功+技能)*0.35,0) where 年份=@年份 and 月份=@月份</p><p> u
82、pdate T_history set 會費(fèi)=崗位*0.005 where 年份=@年份 and 月份=@月份 and 崗位<880</p><p> update T_history set 會費(fèi)=(round(崗位,-1,1)-(round(崗位,-1,1)-880)*0.05)*0.005 where 年份=@年份 and 月份=@月份 and 崗位>=880</p><
83、;p> declare @獎金年 int,@獎金月 int,@last_month int,@last_year int</p><p><b> if @月份<4</b></p><p><b> begin</b></p><p> set @獎金月=@月份+9</p><p&g
84、t; set @獎金年=@年份-1</p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p> set @獎金月=@月份-3</p><p> set
85、@獎金年=@年份</p><p><b> end</b></p><p><b> if @月份<2</b></p><p><b> begin</b></p><p> set @last_month=12</p><p> set
86、 @last_year=@年份-1</p><p><b> end</b></p><p><b> else</b></p><p><b> begin</b></p><p> set @last_month=@月份-1</p><p>
87、 set @last_year=@年份</p><p><b> end</b></p><p> drop table award</p><p> drop table lastmonth</p><p> select 獎金,身份證號 into award from T_history where 月份=
88、@獎金月 and 年份=@獎金年</p><p> select 崗位+百分比增資+年功+技能+夜貼 +節(jié)日+技師+崗貼+交通回民+補(bǔ)扣資-病事曠 AS 應(yīng)付工資,醫(yī)保,養(yǎng)老金,失業(yè)金,公積金,身份證號 into lastmonth from T_history where 月份=@last_month and 年份=@last_year</p><p> declare C_tex_
89、radix CURSOR FOR</p><p> select award.獎金+lastmonth.應(yīng)付工資-lastmonth.醫(yī)保-lastmonth.養(yǎng)老金-lastmonth.失業(yè)金-lastmonth.公積金-1600 AS 所得稅基數(shù),lastmonth.身份證號 from award inner join lastmonth on award.身份證號=lastmonth.身份證號</p
90、><p> declare @tex_radix money,@身份證號 char(20)</p><p> open C_tex_radix</p><p> FETCH NEXT FROM C_tex_radix into @tex_radix,@身份證號</p><p> while @@FETCH_STATUS = 0</p
91、><p><b> begin</b></p><p> update T_history SET 所得稅=</p><p><b> case</b></p><p> when @tex_radix<=500 then @tex_radix*0.05</p><p&
92、gt; when @tex_radix>500 and @tex_radix<=2000 then @tex_radix*0.1</p><p> when @tex_radix>2000 and @tex_radix<=5000 then @tex_radix*0.15</p><p><b> end</b></p>&
93、lt;p> where 身份證號=@身份證號 and 年份=@年份 and 月份=@月份</p><p> FETCH NEXT FROM C_tex_radix into @tex_radix,@身份證號</p><p><b> end</b></p><p><b> GO</b></p>
94、<p><b> 4、月度工資匯總</b></p><p> 月度工資匯總是按照月度工資明細(xì)進(jìn)行統(tǒng)計匯總,由于篇幅所限,以下僅列出月度工資總匯存儲過程。月度工資總匯即按照運(yùn)輸部崗位進(jìn)行人數(shù)和各數(shù)據(jù)項匯總。</p><p> CREATE PROCEDURE dbo.allpost</p><p><b> (&l
95、t;/b></p><p><b> @年份 int,</b></p><p><b> @月份 int</b></p><p><b> )</b></p><p><b> AS</b></p><p> SET
96、 NOCOUNT ON;</p><p> SELECT COUNT(*) AS 人數(shù),崗位分類 AS 崗位名稱, SUM(崗位)+SUM(百分比增資) AS 崗位, SUM(年功)+SUM(技能) AS 保留, SUM(崗位)+SUM(百分比增資)+SUM(年功)+SUM(技能) AS 工資小計,SUM(夜貼) AS 夜貼, SUM(節(jié)日) AS 節(jié)日, SUM(技師) AS 技師, SUM(崗貼) AS 崗
97、貼, SUM(交通回民) AS 交通回民,SUM(補(bǔ)扣資) AS 補(bǔ)扣資, SUM(病事曠) AS 病事曠,SUM(崗位)+SUM(百分比增資)+SUM(年功)+SUM(技能)+SUM(夜貼) +SUM(節(jié)日)+SUM(技師)+SUM(崗貼)+SUM(交通回民)+SUM(補(bǔ)扣資)-SUM(病事曠) AS 應(yīng)付工資, SUM(醫(yī)保) AS 醫(yī)保, SUM(養(yǎng)老金) AS 養(yǎng)老金, SUM(失業(yè)金) AS 失業(yè)金, SUM(公積金) AS
98、 公積金, SUM(房水衛(wèi))+SUM(電費(fèi)) AS 房水電, SUM(會費(fèi)) AS 會費(fèi), SUM(所得稅) AS 所得稅, SUM(投保) AS 投保, SUM(收視) AS 收視, SU</p><p><b> GO</b></p><p> 5、客戶端對服務(wù)器存儲過程的調(diào)用</p><p> 由于存儲過程放在服務(wù)器端的數(shù)據(jù)庫內(nèi),因
99、此進(jìn)行計算時客戶端需對存儲過程進(jìn)行遠(yuǎn)程調(diào)用。以下以工資核算為例,說明其設(shè)計方法:</p><p> SqlCommand calc_com=new SqlCommand(); //新建一個SqlCommand</p><p> calc_com.Connection=this.Salary_Conn; //設(shè)定數(shù)據(jù)庫連接為一定義好連接</p><p> cal
100、c_com.CommandType=System.Data.CommandType.StoredProcedure;//設(shè)定SqlCommand類型為調(diào)用遠(yuǎn)程存儲過程</p><p> calc_com.CommandText="[calc_salary]";//指定存儲果成名</p><p> calc_com.Parameters.Add(new System.
101、Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Cur
102、rent, null));//為SqlCommand添加調(diào)用參數(shù)</p><p> calc_com.Parameters.Add(new System.Data.SqlClient.SqlParameter("@年份", System.Data.SqlDbType.Int, 4));</p><p> calc_com.Parameters.Add(new Sys
103、tem.Data.SqlClient.SqlParameter("@月份", System.Data.SqlDbType.Int, 4));</p><p> calc_com.Parameters["@年份"].Value=treeView1.SelectedNode.Parent.Tag;//對參數(shù)賦值</p><p> calc_com.P
104、arameters["@月份"].Value=treeView1.SelectedNode.Tag;</p><p> calc_com.Connection.Open();//打開連接</p><p> calc_com.ExecuteNonQuery();//執(zhí)行SqlCommand</p><p> calc_com.Connecti
105、on.Close();//關(guān)閉連接</p><p> 注:SqlCommand是一個.NET Framework對象,表示要對 SQL Server 數(shù)據(jù)庫執(zhí)行的一個 Transact-SQL 語句或存儲過程。</p><p><b> 5、報表生成</b></p><p> 本系統(tǒng)將報表設(shè)計為將數(shù)據(jù)導(dǎo)出到電子表格,以下以月度工資總匯為例
106、說明:</p><p> Excel.Application all_excel=new Excel.ApplicationClass();//調(diào)用Excel軟件,建立一個Excel進(jìn)程</p><p> all_excel.Workbooks.Add(1);//添加一個新工作簿</p><p> all_excel.Cells[1,1]="萊鋼運(yùn)輸
107、部職工工資匯總表(總匯)";//填寫工作簿的單元格</p><p> all_excel.Cells[2,1]=numericUpDown1.Value.ToString()+"年"+comboBox1.Text+"月";</p><p> int gridcol=dataGrid1.TableStyles[0].GridColumnS
108、tyles.Count;//檢查dataGrid1的列數(shù)</p><p> for(int col=0;col<gridcol;col++)</p><p><b> {</b></p><p> all_excel.Cells[3,col+1]=dataGrid1.TableStyles[0].GridColumnStyles[c
109、ol].HeaderText;//填寫表頭</p><p><b> }</b></p><p> for(int gridrow=0;gridrow<dataGrid1.VisibleRowCount;gridrow++)</p><p><b> {</b></p><p> fo
110、r(int col=0;col<gridcol;col++)</p><p><b> {</b></p><p> all_excel.Cells[4+gridrow,col+1]=dataGrid1[gridrow,col];//填寫數(shù)據(jù)</p><p><b> }</b></p><
111、p><b> }</b></p><p> Excel.Range all_range=(Excel.Range)all_excel.get_Range(all_excel.Cells[1,1],all_excel.Cells[1,gridcol]);</p><p> all_range.HorizontalAlignment=Excel.XlHAlig
112、n.xlHAlignCenter;</p><p> all_range.MergeCells=true;</p><p> all_range.Font.Size=16;//設(shè)定字體</p><p> all_range=(Excel.Range)all_excel.get_Range(all_excel.Cells[3,1],all_excel.Cells
113、[dataGrid1.VisibleRowCount+3,gridcol]);</p><p> all_range.Borders.Weight=2;//設(shè)定邊框線</p><p> all_excel.Visible=true;//顯示電子表格</p><p><b> 6系統(tǒng)測試</b></p><p>
114、 6.1 MIS測試介紹</p><p> 在MIS開發(fā)過程中采用了多種措施保證軟件質(zhì)量,但是實際開發(fā)過程中還是不可避免地會產(chǎn)生差錯,系統(tǒng)中通??赡茈[藏著錯誤和缺陷,示經(jīng)周密測試的系統(tǒng)投入運(yùn)行,將會造成難以想像的后果,因此系統(tǒng)測試是MIS開發(fā)過程中為保證軟件質(zhì)量必須進(jìn)行的工作。大量統(tǒng)計資料表明,系統(tǒng)測試的工作量往往占MIS開發(fā)總工作量的40%以上。因此,我們必須重視測試工作。</p><p&
115、gt; 由于程序中隱藏的缺陷只在特定的環(huán)境下才有可靠顯露,系統(tǒng)缺陷通常是由于對某些特定情況考慮不周造成的。因此測試不是為了表明程序正確;成功的測試也不是沒有發(fā)現(xiàn)錯誤的測試。有意義的軟件測試應(yīng)該是從“破壞”軟件系統(tǒng)的角度出發(fā),精心設(shè)計最有可以暴露程序系統(tǒng)缺陷的測試方案。因此軟件測試的目標(biāo)應(yīng)該是以盡可能少的代價和時間找出軟件系統(tǒng)中潛在的錯誤和缺陷。</p><p> 從產(chǎn)品角度看,測試計劃中的測試項目包括軟件結(jié)構(gòu)
116、中的分系統(tǒng)層、子系統(tǒng)層、功能模塊層、程序模塊層中的各類模塊,從測試本身看,分為單元測試,組合測試,確認(rèn)測試等。測試對象是隨階段而異的,最基本、最初的測試是單元測試,后面的組合測試、確認(rèn)測試都是以被測過的模塊作為測試對象的。</p><p><b> (1)單元測試:</b></p><p> 單元測試也稱模塊測試或程序測試,單元測試是對每個模塊單獨(dú)進(jìn)行的,驗證模塊
117、接口與設(shè)計說明書是否一致,對模塊的所有主要處理路徑進(jìn)行測試且與預(yù)期的結(jié)構(gòu)進(jìn)行對照,還要對所有錯誤處理路徑進(jìn)行測試。對源碼進(jìn)行審查,對照設(shè)計說明書,表態(tài)地檢查源程序是否符合功能的邏輯要求,是進(jìn)行單元測試前的重要工作工。單元測試一般是由程序員完成,也稱程序調(diào)試。</p><p><b> (2)組合測試</b></p><p> 組合測試也稱集成測試或子系統(tǒng)測試,通常
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- vb+access職工工資管理信息系統(tǒng)(系統(tǒng)+開題+論文+任務(wù)書)
- eclipse職工工資管理系統(tǒng)
- eclipse職工工資管理系統(tǒng)
- 職工工資管理系統(tǒng)畢業(yè)設(shè)計報告
- 職工工資管理系統(tǒng)畢業(yè)設(shè)計報告
- 畢業(yè)設(shè)計論文--基于vfp的職工工資管理系統(tǒng)
- 職工工資模型-數(shù)學(xué)建模論文
- 課程設(shè)計---職工工資管理系統(tǒng)
- 職工工資管理的意見
- 職工工資發(fā)放表
- 課程設(shè)計--職工工資管理系統(tǒng)
- 課程設(shè)計---職工工資管理系統(tǒng)
- 【畢業(yè)設(shè)計】職工工資管理系統(tǒng)設(shè)計與實現(xiàn)
- 職工工資管理系統(tǒng)設(shè)計課程設(shè)計
- 職工工資管理制度
- c語言 職工工資管理系統(tǒng)設(shè)計報告
- 企業(yè)在崗職工工資調(diào)查
- 管理信息系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——管理信息系統(tǒng)
- 管理信息系統(tǒng)畢業(yè)論文
評論
0/150
提交評論