2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計說明書</b></p><p>  2011年6月24日</p><p> 課程名稱:軟件工程導(dǎo)論</p><p> 課程代碼:</p><p> 題 目:企業(yè)工資管理系統(tǒng)</p><p> 年級/專業(yè)/班:09級計算機科學(xué)技術(shù)系計科二班</p>

2、;<p> 學(xué)生姓名:</p><p> 學(xué) 號:</p><p> 指導(dǎo)老師:</p><p> 開題時間:2011年6月6日</p><p> 完成時間:2011年6月24日</p><p>  課程設(shè)計任務(wù)書及成績評定</p><p>  1、設(shè)計的目的與要求 </

3、p><p>  1)加強學(xué)生的實踐能力;</p><p>  2)理解小型系統(tǒng)開發(fā)的基本步驟;</p><p>  3)本系統(tǒng)的功能包括:檔案信息管理模塊、工資管理模塊、工資統(tǒng)計模塊。</p><p>  2、設(shè)計進度及完成情況</p><p><b>  3、成績評定</b></p>

4、<p>  設(shè)計成績: (教師填寫)</p><p>  指導(dǎo)老師: (簽 字)</p><p>  2011 年 月 日</p><p><b>  目 錄</b></p><p>  第一章 項目開發(fā)計劃書1</p&g

5、t;<p><b>  1.1引言1</b></p><p>  1.1.1編寫目的1</p><p><b>  1.1.2背景1</b></p><p><b>  1.2項目概述1</b></p><p>  1.2.1工作內(nèi)容1</p>

6、;<p>  1.2.2主要參加人員2</p><p><b>  1.2.3產(chǎn)品2</b></p><p><b>  1.2.4服務(wù)2</b></p><p>  1.2.5驗收標準2</p><p>  1.2.6本計劃的批準者和批準日期2</p><

7、;p><b>  1.3實施計劃3</b></p><p>  1.3.1工作任務(wù)的分配與人員分工3</p><p><b>  1.3.2進度3</b></p><p>  第二章 可行性分析4</p><p>  2.1 可行性研究前提4</p><p>

8、  2.2 經(jīng)濟上可行性4</p><p>  2.3 技術(shù)可行性4</p><p>  2.4系統(tǒng)功能分析4</p><p>  2.5 開發(fā)工具概述5</p><p>  第三章 需求分析7</p><p>  3.1市場需求分析7</p><p>  3.2系統(tǒng)功能性需求分析

9、7</p><p>  3.2.1 功能劃分7</p><p>  3.2.2 功能描述8</p><p>  3.2.2.1 添加功能模塊8</p><p>  3.2.2.2 查詢功能模塊8</p><p>  3.2.2.3 管理功能信息模塊8</p><p>  3.3 系統(tǒng)非

10、功能性需求8</p><p>  3.3.1 可用性8</p><p>  3.3.2 可靠性9</p><p>  3.4實體-聯(lián)系圖9</p><p>  第四章 系統(tǒng)設(shè)計10</p><p>  4.1 總體設(shè)計10</p><p>  4.1.1需求概述10</p&g

11、t;<p>  4.1.2系統(tǒng)業(yè)務(wù)流程圖10</p><p>  4.2數(shù)據(jù)結(jié)構(gòu)與程序關(guān)系10</p><p>  4.3功能模塊的設(shè)計與實現(xiàn)11</p><p>  4.3.1管理員登錄界面11</p><p>  4.3.2添加員工工資信息模塊12</p><p>  4.3.3列出員工工資

12、信息模塊13</p><p>  4.3.4刪除員工工資信息模塊14</p><p>  4.3.5 修改員工工資信息模塊14</p><p>  4.3.6 查找員工工資信息模塊15</p><p>  4.3.7員工工資信息排序模塊15</p><p>  第五章 系統(tǒng)測試18</p>&

13、lt;p>  5.1 測試的作用和意義18</p><p>  5.2 測試方法18</p><p>  5.3 測試內(nèi)容19</p><p>  5.4 測試結(jié)果19</p><p>  5.4.1初始界面測試19</p><p>  5.4.2添加員工工資信息模塊測試20</p>&

14、lt;p>  5.4.3列出員工工資信息模塊測試21</p><p>  5.4.4刪除員工工資信息模塊測試21</p><p>  5.4.5修改員工工資信息模塊測試22</p><p>  5.4.6查找員工工資信息模塊測試22</p><p>  5.4.7員工工資信息排序模塊測試23</p><p&

15、gt;  5.4.8出錯測試24</p><p>  5.4.9退出系統(tǒng)測試24</p><p>  5.5測試結(jié)果分析25</p><p>  5.6測試的作用和意義25</p><p><b>  第六章 總結(jié)26</b></p><p><b>  參考文獻27<

16、/b></p><p>  第一章 項目開發(fā)計劃書</p><p><b>  1.1引言 </b></p><p><b>  1.1.1編寫目的</b></p><p>  此項目開發(fā)計劃書的編寫主要是為了給開發(fā)《企業(yè)管理系統(tǒng)》做主要的規(guī)劃和整合,在開發(fā)過程中起到引導(dǎo)作用,以及給使用者提供

17、簡要的說明。</p><p><b>  1.1.2背景</b></p><p>  隨著我國市場經(jīng)濟的快速發(fā)展和信息化水平的不斷提高,人們的生活節(jié)奏也日益加快。而傳統(tǒng)企業(yè)的工資信息發(fā)布和查找的效率無疑是十分低下的。如何利用先進的技術(shù)來提高工資發(fā)放的效率,是一個十分迫切需要解決的問題。于是,我們決定開發(fā)一個新系統(tǒng)以實現(xiàn)利用計算機對企業(yè)員工的工資進行管理。</p&

18、gt;<p>  使用計算機對員工工資信息進行管理,具有手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高企業(yè)工資發(fā)放的效率。而計算機能將現(xiàn)代化社會中,成倍增長的工資管理信息量,進行及時收集、加工、整理、貯存、檢索、傳遞、反饋給決策者。一個企業(yè)工資管理系統(tǒng)在企業(yè)對工資管理已不可或缺。面對目前的實際狀況,開發(fā)一個新系統(tǒng)來適應(yīng)這一些工作,是十分必要的。&l

19、t;/p><p><b>  1.2項目概述</b></p><p><b>  1.2.1工作內(nèi)容</b></p><p>  《企業(yè)工資管理系統(tǒng)》針對的用戶是企業(yè)工資管理員和員工;</p><p>  該系統(tǒng)需要實現(xiàn)如下功能:</p><p>  (1) 檔案信息管理<

20、/p><p>  提供對“人員檔案信息”數(shù)據(jù)輸入、查詢功能。</p><p><b>  (2) 工資管理</b></p><p>  提供對”職工工資表”數(shù)據(jù)的輸入、查詢、統(tǒng)計功能。</p><p><b>  (3) 工資統(tǒng)計</b></p><p>  提供對“職工工資表”

21、數(shù)據(jù)的月統(tǒng)計,由系統(tǒng)自行生成“職工工資構(gòu)成情況表”實現(xiàn)該表的查詢、統(tǒng)計功能。</p><p>  1.2.2主要參加人員 </p><p><b>  組長:</b></p><p><b>  設(shè)計:</b></p><p><b>  開發(fā):</b></p>

22、<p><b>  1.2.3產(chǎn)品</b></p><p><b>  系統(tǒng)開發(fā)計劃書</b></p><p><b>  系統(tǒng)需求說明書</b></p><p><b>  系統(tǒng)設(shè)計說明書</b></p><p><b>  測試計劃

23、</b></p><p>  一個能正確運行的可執(zhí)行程序</p><p><b>  1.2.4服務(wù)</b></p><p>  安裝、維護和運行支持從使用該系統(tǒng)開始,維護期限為一年。 </p><p>  1.2.5驗收標準 </p><p>  各個功能均能正常使用,滿足用戶的需求

24、。</p><p>  1.2.6本計劃的批準者和批準日期 </p><p><b>  批準者:顏富強</b></p><p>  批準日期:2011年6月</p><p><b>  1.3實施計劃 </b></p><p>  1.3.1工作任務(wù)的分配與人員分工 <

25、;/p><p>  組長: 任務(wù): (1)系統(tǒng)總的開發(fā)計劃書</p><p> ?。?)每周至少組織小組討論一次,列出本周開發(fā)計劃</p><p> ?。?)項目開發(fā)進度的管理</p><p>  (4)團隊的組織和協(xié)調(diào)</p><p>  設(shè)計: 任務(wù): (1)參與小組討論</p>

26、;<p> ?。?)進行系統(tǒng)的需求分析和系統(tǒng)設(shè)計</p><p>  (3)完成系統(tǒng)需求說明書和系統(tǒng)設(shè)計說明書</p><p> ?。?)編寫測試計劃,參與系統(tǒng)測試</p><p> ?。?)協(xié)助文檔人員完成用戶相關(guān)文檔</p><p>  開發(fā): 任務(wù): (1)參與小組討論</p><p>  (

27、2)根據(jù)設(shè)計完成編碼,并注釋</p><p><b> ?。?)進行單元測試</b></p><p><b>  1.3.2進度 </b></p><p>  系統(tǒng)規(guī)劃階段: 項目標志性事件 開始到完成</p><p>  開發(fā)階段: 項目開發(fā)計劃書的

28、完成 6.5-6.7</p><p>  需求分析階段: 系統(tǒng)需求說明書完成 6.8-6.10</p><p>  設(shè)計階段: 系統(tǒng)設(shè)計說明書 6.11-6.13</p><p>  編碼實現(xiàn): 項目的形成 6.14-6.20</p>

29、<p>  測試階段: 測試計劃 6.21-6.22</p><p>  移交階段: 項目的遞交 6.23-6.25</p><p><b>  第二章 可行性分析</b></p><p>  2.1 可行性研究前提</p&g

30、t;<p>  要求:滿足對工資管理的基本要求及功能,并對職工信息收集、處理、保存。</p><p>  目標:實現(xiàn)無紙化辦公,節(jié)省成本,提高工作效率。</p><p>  條件、假定、限制:當企業(yè)工資管理的信息量和復(fù)雜程度達到某一限度時,即管理人員的勞動強度超過其承受能力時,就必須采用新的管理手段,如用計算機技術(shù)對信息的收集、加工、傳遞和存貯等,這樣,一個工資管理系統(tǒng)就可以

31、對企業(yè)職工工資進行高效、合理、恰當?shù)毓芾?。此系統(tǒng)成本低廉,自開發(fā)到運行結(jié)束至少可運行3年,開發(fā)成本不超過600人民幣,開發(fā)軟件到投入使用不超過1個月。</p><p>  2.2 經(jīng)濟上可行性</p><p>  開發(fā)成本:600元人民幣。</p><p>  效益:大幅度地提高工資管理信息系統(tǒng)的工作質(zhì)量和效率,讓企業(yè)掌握整個工資管理系統(tǒng)的全面情況,為管理人員提供了

32、準確的工資管理信息,促進工資管理工作的規(guī)范化及各項管理制度與指標體系的建立和健全;提供各種加工處理了的工資管理信息,以滿足工資管理的特殊要求,適應(yīng)新形勢對職工隊伍提出的新要求。</p><p>  效益/投資比:暫時無法估算。</p><p>  投資回收期:大約3個月。</p><p><b>  2.3 技術(shù)可行性</b></p>

33、;<p>  軟件需求:操作系統(tǒng)WINDOWS 2000 Advance Server以上。</p><p>  硬件需求:賽揚1.7G CPU、512M內(nèi)存 80G硬盤的計算機。</p><p><b>  2.4系統(tǒng)功能分析</b></p><p>  本系統(tǒng)是基于VC++之上的管理系統(tǒng)。</p><p&g

34、t;  管理員進入管理頁面可以對員工發(fā)放工資,可以新添加新的員工,刪除、修改、查找員工信息等,以及發(fā)布消息。</p><p>  2.5 開發(fā)工具概述</p><p><b>  VC++ 概述</b></p><p>  Microsoft Visual C++是Microsoft公司推出的開發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)

35、。它不但具有程序框架自動生成、靈活方便的類管理、代碼編寫和界面設(shè)計集成交互操作、可開發(fā)多種程序等優(yōu)點,而且通過簡單的設(shè)置就可使其生成的程序框架支持數(shù)據(jù)庫接口、OLE2,WinSock網(wǎng)絡(luò)、3D控制界面。 </p><p>  它以擁有“語法高亮”,IntelliSense(自動編譯功能)以及高級除錯功能而著稱。比如,它允許用戶進行遠程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動正在

36、調(diào)試的程序。其編譯及建置系統(tǒng)以預(yù)編譯頭文件、最小重建功能及累加連結(jié)著稱。這些特征明顯縮短程式編輯、編譯及連結(jié)的時間花費,在大型軟件計劃上尤其顯著。 </p><p><b>  2.7 數(shù)據(jù)流圖</b></p><p>  圖1 底層數(shù)據(jù)流圖</p><p>  圖2 工資管理數(shù)據(jù)流圖</p><p><b&

37、gt;  第三章 需求分析</b></p><p><b>  3.1市場需求分析</b></p><p>  工資管理系統(tǒng)是一個企業(yè)單位不可缺少的部分,它能為用戶提供充足的信息和快捷的查詢手段。</p><p>  (1)一個工資管理系統(tǒng)可以高效能、大容量地收集、處理、存貯工資管理信息,大幅度地提高工資管理信息系統(tǒng)的工作質(zhì)量和效率

38、。</p><p> ?。?)能夠為企業(yè)管理人員及時掌握整個工資管理系統(tǒng)的全面情況,提供系統(tǒng)的準確的工資管理信息,可以促進工資管理工作的規(guī)范化及各項管理制度與指標體系的建立和健全。</p><p> ?。?)為企業(yè)提供各種加工處理了的工資管理信息,以滿足工資管理的特殊要求,適應(yīng)新形勢對職工隊伍提出的新要求,幫助管理人員選擇方案,實現(xiàn)優(yōu)化決策。</p><p>  雖

39、然當前,不少單位的工資管理部門對于計算機的應(yīng)用還僅限于簡單的單機應(yīng)用,隨著時間的推移、任務(wù)的復(fù)雜、用戶的需求,其應(yīng)用還會擴大。</p><p>  3.2系統(tǒng)功能性需求分析</p><p>  3.2.1 功能劃分</p><p>  本系統(tǒng)的目標使用人群是廣大的人民群眾,建成后將有助于改善現(xiàn)有工資管理混亂的狀況,加強工資管理者和企業(yè)員工之間的聯(lián)系。</p&g

40、t;<p>  因此本系統(tǒng)首先需要實現(xiàn)添加員工的功能,添加員工可以對其工資信息進行管理,包括添加、修改、刪除、查找等;已添加的員工可以直接進行查詢、刪除等記錄;對于多數(shù)員工還可以進行降序和升序排列,便于公司管理;而未添加的員工也可以去查詢已添加的用戶的信息。</p><p>  3.2.2 功能描述</p><p>  3.2.2.1 添加功能模塊</p>&l

41、t;p>  對于想利用本系統(tǒng)進行企業(yè)工資的管理者,首先需要需要添加員工信息和其相應(yīng)的工資,系統(tǒng)才能保存他們的信息。在添加用戶時需要輸入企業(yè)員工的編號、姓名和工資。員工添加成功之后,頁面隨即轉(zhuǎn)入首頁,管理員可以進行其它操作。 </p><p>  3.2.2.2 查詢功能模塊</p><p>  企業(yè)工資管理員可以使用本系統(tǒng)的查詢功能,對員工工資的基本情況進行了解,并且查詢相應(yīng)的信息。

42、用戶在查詢框輸入需要查詢的員工編號,系統(tǒng)則會根據(jù)輸入的內(nèi)容進行搜索,并給出所有搜索結(jié)果。對于查詢出的結(jié)果,管理員還可以通過對應(yīng)的數(shù)字進行其它信息的管理。</p><p>  3.2.2.3 管理功能信息模塊</p><p>  只有添加的合法員工才可以使用管理功能模塊。管理員可以根據(jù)月份對已添加的員工工資信息進行刪除、修改、查找、降序和升序排列,方便管理企業(yè)員工工資。</p>

43、<p>  3.3 系統(tǒng)非功能性需求</p><p><b>  3.3.1 可用性</b></p><p>  本系統(tǒng)的潛在用戶群具有的身份、背景可能會有較大的差異,因此對本系統(tǒng)的可操作性和易用性都提出了很高的要求。過于復(fù)雜的操作將不可避免的損失大量的用戶,本系統(tǒng)應(yīng)能讓任何用戶都不必借助任何操作手冊或相關(guān)的系統(tǒng)幫助就能順利地進行各種操作。</p&g

44、t;<p><b>  3.3.2 可靠性</b></p><p>  系統(tǒng)建成后預(yù)計管理員在此對員工工資進行添加、修改和查找信息,因此對系統(tǒng)的穩(wěn)定性也有比較高的要求。一旦系統(tǒng)不能正常工作,會給公司員工帶來巨大的損失,也將導(dǎo)致公司工資管理員失去對系統(tǒng)的信任。</p><p><b>  3.4實體-聯(lián)系圖</b></p>

45、<p>  根據(jù)需求分析,可以畫出系統(tǒng)E-R圖如下:</p><p>  圖3 企業(yè)工資管理系統(tǒng)E-R圖</p><p><b>  第四章 系統(tǒng)設(shè)計</b></p><p><b>  4.1 總體設(shè)計</b></p><p><b>  4.1.1需求概述</b&

46、gt;</p><p>  本系統(tǒng)的目標是實現(xiàn)讓企業(yè)工資管理員能找到有用的信息,讓管理員能有一個良好的信息發(fā)布、管理平臺。因此,本系統(tǒng)需要實現(xiàn)對發(fā)布的信息的查詢功能,發(fā)布和管理已添加的員工信息的功能。而在管理員發(fā)布信息前需要在系統(tǒng)添加員工等。</p><p>  4.1.2系統(tǒng)業(yè)務(wù)流程圖</p><p>  圖4 系統(tǒng)業(yè)務(wù)流程圖</p><p&g

47、t;  4.2數(shù)據(jù)結(jié)構(gòu)與程序關(guān)系</p><p>  程序各個模塊都要與數(shù)據(jù)系統(tǒng)聯(lián)系。物理數(shù)據(jù)結(jié)構(gòu)主要用于各模塊之間函數(shù)的信息傳遞。接口傳遞的信息將是以數(shù)據(jù)結(jié)構(gòu)封裝了的數(shù)據(jù),以參數(shù)傳遞或返回值的形式在各模塊間傳輸。</p><p>  4.3功能模塊的設(shè)計與實現(xiàn)</p><p>  4.3.1管理員登錄界面</p><p>  輸入要記錄的月

48、份,就可以看到登錄界面。</p><p><b>  主函數(shù):</b></p><p>  main()//主函數(shù)</p><p><b>  {</b></p><p><b>  char ch;</b></p><p><b> 

49、 int m;</b></p><p>  STU *head = NULL;</p><p>  printf("輸入要記錄的月份(m<=12):");</p><p>  scanf("%d", &m);</p><p><b>  while (1)</b

50、></p><p><b>  {</b></p><p>  ch = Menu(); </p><p>  switch (ch)</p><p><b>  {</b></p><p>  case'1':head = Appendsalar

51、y(head, m); </p><p>  Totalsalary(head, m);</p><p><b>  break;</b></p><p>  case'2':Printsalary(head, m); </p><p><b>  break;</b></

52、p><p>  case'3':head = Deletesalary(head, m);</p><p>  printf("\nAfter deleted\n");</p><p>  Printsalary(head, m); </p><p><b>  break;</b>&l

53、t;/p><p>  case'4':Modifysalary(head, m); </p><p>  Totalsalary(head, m);</p><p>  printf("\nAfter modified\n");</p><p>  Printsalary(head, m); &l

54、t;/p><p><b>  break;</b></p><p>  case'5':Searchsalary(head, m); </p><p><b>  break;</b></p><p>  case'6':Sortsalary(head, m,

55、Descending); </p><p>  printf("\nsorted in descending order by sum\n");</p><p>  Printsalary(head, m); </p><p><b>  break;</b></p><p>  case&

56、#39;7':Sortsalary(head, m, Ascending); </p><p>  printf("\nsorted in ascending order by sum\n");</p><p>  Printsalary(head, m); </p><p><b>  break;</b>&l

57、t;/p><p>  case'0':exit(0); </p><p>  DeleteMemory(head); </p><p>  printf("End of program!");</p><p><b>  break;</b>&

58、lt;/p><p>  default:printf("Input error!");</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>&l

59、t;b>  }</b></p><p>  char Menu(void)</p><p><b>  {</b></p><p><b>  char ch;</b></p><p>  printf("\n管理工人的工資\n");</p>&l

60、t;p>  printf(" 1.添加記錄\n");</p><p>  printf(" 2.列出記錄\n");</p><p>  printf(" 3.刪除記錄\n");</p><p>  printf(" 4.修改記錄\n");</p><p> 

61、 printf(" 5.查找記錄\n");</p><p>  printf(" 6.降序排列\(zhòng)n");</p><p>  printf(" 7.升序排列\(zhòng)n");</p><p>  printf(" 0.退出\n");</p><p>  printf(&q

62、uot;請輸入你的選擇:");</p><p>  scanf(" %c", &ch); /*在%c前面加一個空格,將存于緩沖區(qū)中的回車符讀入*/</p><p>  return ch;</p><p>  4.3.2添加員工工資信息模塊</p><p>  管理員要添加企業(yè)員工工資信息,則按要求輸入員

63、工編號、用戶名以及月份工資。再輸入字母 “Y”,系統(tǒng)將繼續(xù)支持輸入新的員工工資信息;輸入字母“N”系統(tǒng)則停止輸入員工工資信息。</p><p><b>  功能函數(shù):</b></p><p>  STU *Appendsalary(STU *head, const int m)//添加記錄</p><p><b>  {</b

64、></p><p>  int i = 0;</p><p><b>  char c;</b></p><p><b>  do{</b></p><p>  head = AppendNode(head, m); /*向鏈表末尾添加一個節(jié)點*/</p><p&g

65、t;  printf("你想添加一個新的記錄嗎(Y/N)?");</p><p>  scanf(" %c",&c); /*%c前面有一個空格*/</p><p><b>  i++;</b></p><p>  }while (c=='Y' || c=='

66、;y');</p><p>  printf("%d new nodes have been apended!\n", i);</p><p>  return head;</p><p><b>  }</b></p><p>  4.3.3列出員工工資信息模塊</p><

67、;p>  管理員在輸入完畢企業(yè)員工工資信息之后,如要看到具體完整的信息,就要列出員工具體工資信息。</p><p><b>  功能函數(shù):</b></p><p>  void Printsalary(STU *head, const int m)//列出記錄</p><p><b>  {</b></p&g

68、t;<p>  STU *p = head;</p><p>  char str[100] = {'\0'}, temp[3];</p><p>  int i, j = 1;</p><p>  strcat(str, "Number Name ");</p><p>

69、  for (i=1; i<=m; i++)</p><p><b>  {</b></p><p>  strcat(str, "salary");</p><p>  itoa(i,temp, 10);</p><p>  strcat(str, temp);</p><

70、p>  strcat(str, " ");</p><p><b>  }</b></p><p>  strcat(str," sum average");</p><p>  printf("%s", str); /* 打印表頭 */</p>

71、<p>  while (p != NULL) /*若不是表尾,則循環(huán)打印*/</p><p><b>  {</b></p><p>  printf("\nNo.%3d%15s", p->number, p->name);</p><p>  for (i=0; i<m; i++

72、)</p><p><b>  {</b></p><p>  printf("%7d", p->salary[i]);</p><p><b>  }</b></p><p>  printf("%9d%9.2f", p->sum, p->

73、average);</p><p>  p = p->next; /*讓p指向下一個節(jié)點*/</p><p><b>  j++;</b></p><p><b>  }</b></p><p>  printf("\n");</p>&l

74、t;p><b>  }</b></p><p>  4.3.4刪除員工工資信息模塊</p><p>  管理員要刪除企業(yè)員工工資信息,則按要求輸入員工編號即可刪除相應(yīng)的員工工資信息。如要要繼續(xù)刪除則輸入字母“Y”,如要停止刪除,則輸入字母“N”。</p><p><b>  功能函數(shù):</b></p>

75、<p>  STU *Deletesalary(STU *head, const int m)//刪除記錄</p><p><b>  {</b></p><p>  int i = 0, nodeNum;</p><p><b>  char c;</b></p><p><b&

76、gt;  do{</b></p><p>  printf("請輸入你想刪除的記錄編號:");</p><p>  scanf("%d", &nodeNum);</p><p>  head = DeleteNode(head, nodeNum); /*刪除工號為nodeNum的工人信息*/</p&g

77、t;<p>  Printsalary(head, m); /*顯示當前鏈表中的各節(jié)點信息*/</p><p>  printf("Do you want to delete a node(Y/N)?");</p><p>  scanf(" %c",&c); /*%c前面有一個

78、空格*/</p><p><b>  i++;</b></p><p>  }while (c=='Y' || c=='y');</p><p>  printf("%d nodes have been deleted!\n", i);</p><p>  return

79、 head;</p><p><b>  }</b></p><p>  4.3.5 修改員工工資信息模塊</p><p>  管理員要刪除企業(yè)員工工資信息,則按要求輸入員工編號、用戶名以及月份工資。再輸入字母 “Y”,系統(tǒng)將繼續(xù)支持修改新的員工工資信息;輸入字母“N”系統(tǒng)則停止修改員工工資信息。</p><p><

80、;b>  功能函數(shù):</b></p><p>  void Modifysalary(STU *head, const int m)//修改記錄</p><p><b>  {</b></p><p>  int i = 0, nodeNum;</p><p><b>  char c;&l

81、t;/b></p><p><b>  do{</b></p><p>  printf("請輸入你想修改的記錄編號:");</p><p>  scanf("%d", &nodeNum);</p><p>  head = ModifyNode(head, node

82、Num, m); /*修改工號為nodeNum的節(jié)點*/</p><p>  printf("Do you want to modify a node(Y/N)?");</p><p>  scanf(" %c",&c); /*%c前面有一個空格*/</p><p>&l

83、t;b>  i++;</b></p><p>  }while (c=='Y' || c=='y');</p><p>  printf("%d nodes have been modified!\n", i);</p><p><b>  }</b></p>

84、<p>  4.3.6 查找員工工資信息模塊</p><p>  管理員要查找企業(yè)員工工資信息,則按要求輸入員工編號即可看到相應(yīng)的員工工資信息。</p><p><b>  功能函數(shù):</b></p><p>  void Searchsalary(STU *head, const int m)//查找記錄</p>&

85、lt;p><b>  {</b></p><p>  int number, i;</p><p>  STU *findNode;</p><p>  printf("請輸入你想查找的記錄編號:");</p><p>  scanf("%d", &number);&

86、lt;/p><p>  findNode = SearchNode(head, number);</p><p>  if (findNode == NULL)</p><p><b>  {</b></p><p>  printf("Not found!\n");</p><p&g

87、t;<b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  printf("\nNo.%3d%8s", findNode->number, findNode->name);</p>

88、<p>  for (i=0; i<m; i++)</p><p><b>  {</b></p><p>  printf("%7d", findNode->salary[i]);</p><p><b>  }</b></p><p>  printf(

89、"%9d%9.2f\n", findNode->sum, findNode->average);</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.3.7員工工資信息排序模塊</p><p>  管理員可以對企業(yè)員

90、工的工資進行升序或降序排列。</p><p><b>  功能函數(shù):</b></p><p>  void Sortsalary(STU *head, const int m, int (*compare)(int a, int b))//排序</p><p><b>  {</b></p><p&g

91、t;<b>  STU *pt;</b></p><p>  int flag = 0, i;</p><p><b>  do{</b></p><p>  flag = 0 ;</p><p>  pt = head;</p><p>  /*若后一個節(jié)點的總工資比前一個

92、節(jié)點的總工資高,則交換兩個節(jié)點中的數(shù)據(jù)</p><p>  注意只交換節(jié)點數(shù)據(jù),而節(jié)點順序不變,即節(jié)點next指針內(nèi)容不進行交換*/</p><p>  while (pt->next != NULL)</p><p><b>  {</b></p><p>  if ((*compare)(pt->next

93、->sum, pt->sum))</p><p><b>  {</b></p><p>  IntSwap(&pt->number, &pt->next->number);</p><p>  CharSwap(pt->name, pt->next->name);</p&g

94、t;<p>  for (i=0; i<m; i++)</p><p><b>  {</b></p><p>  IntSwap(&pt->salary[i], &pt->next->salary[i]);</p><p><b>  }</b></p>

95、<p>  IntSwap(&pt->sum, &pt->next->sum);</p><p>  FloatSwap(&pt->average, &pt->next->average);</p><p><b>  flag = 1;</b></p><p>&

96、lt;b>  }</b></p><p>  pt = pt->next;</p><p><b>  }</b></p><p>  }while(flag);</p><p><b>  }</b></p><p>  /*交換兩個整型數(shù)*/<

97、;/p><p>  void IntSwap(int *pt1, int *pt2)</p><p><b>  {</b></p><p><b>  int temp;</b></p><p>  temp = *pt1;</p><p>  *pt1 = *pt2;<

98、/p><p>  *pt2 = temp;</p><p><b>  }</b></p><p>  /*交換兩個實型數(shù)*/</p><p>  void FloatSwap(float *pt1, float *pt2)</p><p><b>  {</b></p&g

99、t;<p>  float temp;</p><p>  temp = *pt1;</p><p>  *pt1 = *pt2;</p><p>  *pt2 = temp;</p><p><b>  }</b></p><p>  /*交換兩個字符串*/</p>

100、<p>  void CharSwap(char *pt1, char *pt2)</p><p><b>  {</b></p><p>  char temp[15];</p><p>  strcpy(temp, pt1);</p><p>  strcpy(pt1, pt2);</p>&

101、lt;p>  strcpy(pt2, temp);</p><p><b>  }</b></p><p>  /*決定數(shù)據(jù)是否按升序排序,a<b為真,則按升序排序*/</p><p>  int Ascending(int a, int b)</p><p><b>  {</b>&l

102、t;/p><p>  return a < b;</p><p><b>  }</b></p><p>  /* 決定數(shù)據(jù)是否按降序排序,a>b為真,則按降序排序 */</p><p>  int Descending(int a, int b)</p><p><b>  {

103、</b></p><p>  return a > b;</p><p><b>  }</b></p><p><b>  第五章 系統(tǒng)測試</b></p><p>  5.1 測試的作用和意義</p><p>  系統(tǒng)測試是管理信息系統(tǒng)的開發(fā)周期中的一個

104、十分重要環(huán)節(jié)。盡管在系統(tǒng)開發(fā)周期的各個階段均采取了嚴格的技術(shù)審查,但依然難免會留下錯誤,如果沒有在投入運行前的系統(tǒng)測試階段被發(fā)現(xiàn)并糾正,問題遲早會在運行中暴露出來,到那時要糾正錯誤將會付出更大的代價。系統(tǒng)測試占用的時間、花費的人力和成本占軟件開發(fā)的很大比例。統(tǒng)計表明,開發(fā)較大規(guī)模的系統(tǒng),系統(tǒng)測試的工作量大約占整個軟件開發(fā)工作量的40%-50%。而對于一些特別重要的大系統(tǒng),測試的工作量和成本更大,甚至超過系統(tǒng)開發(fā)其他各階段的總和的若干倍。

105、因此做好系統(tǒng)交付前的系統(tǒng)測試的目的就是在系統(tǒng)在投入生產(chǎn)性運行之前,盡可能多的發(fā)現(xiàn)系統(tǒng)的潛在錯誤,這是保證系統(tǒng)質(zhì)量的關(guān)鍵,也是減少系統(tǒng)后期維護投入的最佳方法。</p><p><b>  5.2 測試方法</b></p><p><b> ?。?) 測試人員</b></p><p>  測試隊伍由兩位成員組成。軟件的設(shè)計者在

106、測試整個過程中負責(zé)整體測試方案的制定和測試進度的掌握以及白盒測試的測試者。第二位成員由未參加軟件制作者擔(dān)任,主要責(zé)任是進行軟件的黑盒測試以及軟件環(huán)境,硬件要求和極限測試工作。</p><p><b>  (2) 機器測試</b></p><p>  通過在計算機上直接運行被測程序,來發(fā)現(xiàn)程序中的錯誤。機器測試包括黑盒測試盒白盒測試。黑盒測試也稱功能測試,將軟件看作黑盒

107、子,在完全不考慮程序的內(nèi)部結(jié)構(gòu)和特性的情況下,研究軟件的外部特性。根據(jù)軟件的需求規(guī)格說明書測試用例,從程序的輸入和輸出特性上測試是否滿足設(shè)定的功能。白盒測試也稱結(jié)構(gòu)測試,將軟件看作一個透明的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來選定測試用例,對軟件的邏輯路徑及過程進行測試,檢查與測試是否相符。</p><p><b>  5.3 測試內(nèi)容</b></p><p>  

108、1 軟件的正常運行、關(guān)閉及退出時保存記錄情況。</p><p>  2 用戶界面是否友好,可操作性及安全性能是否良好。</p><p>  3 系統(tǒng)的可維護性好,數(shù)據(jù)的錄入、刪除及更改是否能順利完成。</p><p>  4 各模塊的功能是否能達到預(yù)期要求。</p><p>  5 系統(tǒng)的穩(wěn)定性是否良好。</p>&l

109、t;p><b>  5.4 測試結(jié)果</b></p><p>  5.4.1初始界面測試</p><p>  經(jīng)過測試,管理員可以輸入相應(yīng)的月份來進行下一步的操作。</p><p><b>  圖5 初始界面</b></p><p><b>  圖6 主界面</b>&

110、lt;/p><p>  5.4.2添加員工工資信息模塊測試</p><p>  經(jīng)過測試,管理員能在本系統(tǒng)進行正常的添加員工工資信息,并在用戶輸入不符合要求的數(shù)據(jù)后能給出錯誤提示提示。說明本系統(tǒng)的添加模塊的各項功能都圓滿實現(xiàn)了。</p><p>  圖7 添加記錄界面</p><p>  5.4.3列出員工工資信息模塊測試</p>

111、<p>  經(jīng)過測試,系統(tǒng)將列出已經(jīng)輸入進去的公司員工工資信息。</p><p>  圖8 列出記錄界面</p><p>  5.4.4刪除員工工資信息模塊測試</p><p>  經(jīng)過測試,管理員能在本系統(tǒng)進行正常的刪除員工工資信息。</p><p>  圖9 刪除記錄界面</p><p>  5.

112、4.5修改員工工資信息模塊測試</p><p>  經(jīng)過測試,管理員能在本系統(tǒng)進行正常的修改員工工資信息。</p><p>  圖10 修改記錄界面</p><p>  5.4.6查找員工工資信息模塊測試</p><p>  經(jīng)過測試,管理員能在本系統(tǒng)進行正常的查找員工工資信息。</p><p>  圖11 查找

113、記錄界面</p><p>  5.4.7員工工資信息排序模塊測試</p><p>  經(jīng)過測試,管理員能在本系統(tǒng)能夠?qū)T工工資的高低進行降序或升序排序。</p><p>  圖12 降序排列記錄界面</p><p>  圖13 升序排列記錄界面 </p><p><b>  5.4.8出錯測試<

114、/b></p><p>  經(jīng)過測試,管理員能在本系統(tǒng)進行正常的刪除員工工資信息,并在用戶刪除不符合要求的數(shù)據(jù)后能給出錯誤提示提示。</p><p>  圖14 錯誤的提示界面</p><p>  5.4.9退出系統(tǒng)測試</p><p>  測試完畢后,可以自由退出系統(tǒng)。</p><p>  圖15 退出系統(tǒng)

115、界面</p><p><b>  5.5測試結(jié)果分析</b></p><p>  1、軟件在運行、關(guān)閉及退出時保存記錄的提示功能基本完成,在軟件的不斷啟動關(guān)閉過程中沒有出現(xiàn)死機、程序執(zhí)行效率降低等各種不良現(xiàn)象,功能的實現(xiàn)較為完善。</p><p>  2、數(shù)據(jù)查詢不夠全面,只能按系統(tǒng)設(shè)定的少數(shù)查詢條件進行搜索,以找到合適的答案。</p&g

116、t;<p>  3、數(shù)據(jù)溢出、越界基本不能進行非法提示,以警告用戶正確使用。對用戶的非正常操作方式能提出警告。</p><p>  4、數(shù)據(jù)類型填寫錯誤時,系統(tǒng)有報錯功能,在數(shù)據(jù)輸入錯誤時,使用者能夠獲知錯誤所在。</p><p>  5.6測試的作用和意義</p><p>  系統(tǒng)測試是教師工資管理系統(tǒng)的開發(fā)周期中的一個十分重要環(huán)節(jié)。盡管在系統(tǒng)開發(fā)周

117、期的各個階段均采取了嚴格的技術(shù)審查,但依然難免會留下錯誤,如果沒有在投入運行前的系統(tǒng)測試階段被發(fā)現(xiàn)并糾正,問題遲早會在運行中暴露出來,到那時要糾正錯誤將會付出更大的代價。系統(tǒng)測試占用的時間、花費的人力和成本占軟件開發(fā)的很大比例。統(tǒng)計表明,開發(fā)較大規(guī)模的系統(tǒng),系統(tǒng)測試的工作量大約占整個軟件開發(fā)工作量的40%-50%。而對于一些特別重要的大系統(tǒng),測試的工作量和成本更大,甚至超過系統(tǒng)開發(fā)其他各階段的總和的若干倍。</p><

118、;p><b>  第六章 總結(jié)</b></p><p>  經(jīng)過反復(fù)測試,系統(tǒng)完成后運行員工工資添加、刪除、修改、查找、排序等功能均正常。雖然此系統(tǒng)仍存在許多缺陷,不能按照個人的意愿,職能按照固定的人數(shù)對數(shù)據(jù)進行輸入,既不能多也不能少,很麻煩,一但格式輸入的不正確會立即進入死循環(huán),不理想。但是通過該系統(tǒng)設(shè)計達到了系統(tǒng)設(shè)計目的意義,基本掌握了軟件開發(fā)的主要步驟,了解了各環(huán)節(jié)在開發(fā)時要注意

119、的問題,從方便用戶的角度出發(fā),去考慮開發(fā)出好的軟件。另外,在設(shè)計過程中也逐漸提高了軟件開發(fā)技能和編程技能。</p><p>  本程序綜合性非常強,由于我們對使用C++設(shè)計程序的能力還不是特別熟練,所以在設(shè)計時非常吃力。在整個程序中,我們通過使用while循環(huán),switch語句,冒泡排序法,使我提高了對C++中語句的使用能力和組合能力,進一步加強了我對使用C++編程的能力。</p><p>

120、;  雖然系統(tǒng)存在一些缺陷和不足,特別是在功能方面不是很完善,但我們會在今后的學(xué)習(xí)過程中不斷修改,使系統(tǒng)更加完善。相信企業(yè)工資管理系統(tǒng)在網(wǎng)絡(luò)信息宣傳中是一套非常有用的系統(tǒng)。在本次課程設(shè)計中,我們受益匪淺,這對于我以后的工作和學(xué)習(xí)都有一種巨大的幫助。在此,感謝顏富強老師耐心的輔導(dǎo)。另外,在系統(tǒng)開發(fā)過程中通過組員之間的密切合作,大家互相幫助,勇于向?qū)嶋H困難挑戰(zhàn),基本完成此次設(shè)計,極大增強了團隊合作意識。</p><p&g

121、t;<b>  參考文獻</b></p><p>  [1]張海藩著,軟件工程導(dǎo)論(第五版),清華大學(xué)出版社,2008年</p><p>  [2]鄭人杰著,軟件工程,人民郵電出版社,2009年</p><p>  [3]金敏,周翔,高級軟件開發(fā)過程,清華大學(xué)出版社,2005</p><p>  [4]鄭人杰,殷人昆,陶

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論