人事管理系統(tǒng)畢業(yè)設(shè)計----人事管理系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
已閱讀1頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  人事管理系統(tǒng)的設(shè)計與實現(xiàn)</p><p><b>  摘 要</b></p><p>  本文主要分析公司人事工資管理系統(tǒng)的一些基本功能和組成情況,包括系統(tǒng)的需求分析、系統(tǒng)結(jié)構(gòu)、系統(tǒng)功能模塊劃分以及系統(tǒng)數(shù)據(jù)庫模式分析等,重點對人事工資管理系統(tǒng)的開發(fā)實現(xiàn)進行介紹。 </p><p>  人事工資管理系統(tǒng)是不可缺少的部分,它的

2、內(nèi)容對于其的決策者和管理者來說都至關(guān)重要,所以人事工資管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。人事工資管理系統(tǒng)的主要任務(wù)就是使用計算機,對所有公司成員的人事資料進行保存;在需要時進行查找或者增加、修改和刪除等操作。</p><p>  本文重點說明了系統(tǒng)的設(shè)計思想、關(guān)鍵技術(shù)和解決方案。使用Microsoft公司的SQL Server 2005數(shù)據(jù)庫管理系統(tǒng)進行數(shù)據(jù)存儲;通過使用Microsoft公司

3、的Visual Studio 2008集成開發(fā)環(huán)境。</p><p>  關(guān)鍵字:人事管理系統(tǒng);Visual Studio 2008; SQL2005</p><p><b>  Abstract</b></p><p>  This paper mainly analyses the company personnel wage manage

4、ment system of some of the basic functions and composition, including the system requirement analysis, system structure, system function modules and database schema analysis, focusing on the personnel salary management s

5、ystem development and implementation are introduced.</p><p>  Personnel salary management system is an indispensable part of its content for its, policy makers and managers is critical, so the personnel sala

6、ry management system should be able to provide users with sufficient information and efficient means of the inquiry. Personnel salary management system is the main task of computer use, for all members of the company per

7、sonnel are saved; in case of need to find or add, modify and delete operations.</p><p>  This paper explained the system design thought, the key technology and its solution. Using the Microsoft SQL Server 20

8、05 database management system for data storage; through the use of Microsoft Visual Studio 2008 integrated development environment.</p><p>  Key Word: Personnel Management System; Visual Studio 2008 ; SQL200

9、5。</p><p><b>  目 錄</b></p><p><b>  引 言1</b></p><p><b>  1 基礎(chǔ)知識3</b></p><p>  1.1 Visual Studio介紹3</p><p>  1.2

10、SQL Server數(shù)據(jù)庫介紹4</p><p><b>  2 系統(tǒng)分析5</b></p><p>  2.1 開發(fā)背景及意義5</p><p>  2.2 可行性研究5</p><p>  2.3 功能需求6</p><p>  2.3.1 用例分析6</p>

11、<p>  2.3.2 概念類描述12</p><p>  2.3.3 行為描述13</p><p>  2.4 性能需求13</p><p>  2.4.1 響應(yīng)時間13</p><p>  2.4.2 吞吐量13</p><p>  2.4.3 并發(fā)用戶數(shù)14</p>

12、;<p>  2.4.4 資源利用率14</p><p>  2.5 環(huán)境需求14</p><p>  2.5.1 硬件環(huán)境14</p><p>  2.5.2 軟件環(huán)境14</p><p>  3 系統(tǒng)設(shè)計14</p><p>  3.1 系統(tǒng)結(jié)構(gòu)設(shè)計15</p>

13、<p>  3.1.1 軟件設(shè)計的原則15</p><p>  3.1.2 系統(tǒng)層次結(jié)構(gòu)16</p><p>  3.2 設(shè)計階段類圖17</p><p>  3.3 數(shù)據(jù)庫設(shè)計17</p><p>  3.3.1 數(shù)據(jù)庫概念設(shè)計17</p><p>  3.3.2 數(shù)據(jù)庫邏輯設(shè)計18

14、</p><p>  3.4 系統(tǒng)詳細設(shè)計20</p><p>  4 系統(tǒng)實現(xiàn)20</p><p>  4.1 語言選擇原因20</p><p>  4.2 軟件開發(fā)環(huán)境23</p><p>  4.3 系統(tǒng)功能實現(xiàn)23</p><p>  4.3.1 管理員登錄23&

15、lt;/p><p>  4.3.2 部門管理24</p><p>  4.3.3 添加員工信息28</p><p>  4.3.4 工資管理34</p><p>  4.3.5 考勤管理36</p><p>  4.3.6 勞動合同37</p><p>  4.3.7 工作評價

16、39</p><p>  5 系統(tǒng)測試與維護42</p><p>  5.1軟件測試簡介41</p><p>  5.2軟件測試方法41</p><p>  5.3測試計劃42</p><p>  5.3.1測試方案42</p><p>  5.3.2測試項目42</p&g

17、t;<p>  5.4軟件需求測試結(jié)論44</p><p>  5.5系統(tǒng)維護44</p><p><b>  結(jié) 論45</b></p><p><b>  致 謝46</b></p><p><b>  參考文獻47</b></p>

18、<p>  附錄…………………………………………………………………………………….48</p><p><b>  引 言</b></p><p>  隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)和信息技術(shù)的發(fā)展,現(xiàn)在辦公系統(tǒng)更趨于系統(tǒng)化、科學(xué)化和網(wǎng)絡(luò)化。網(wǎng)絡(luò)辦公自動化系統(tǒng)是計算機技術(shù)和網(wǎng)絡(luò)迅速發(fā)展的一個辦公應(yīng)用解決方案,它的主要目的是實現(xiàn)信息交流和信息共享,提供協(xié)同工作

19、的手段,提高辦公的效率,讓人們從繁瑣的有紙辦公中解脫出來?,F(xiàn)在許多的機關(guān)單位的人事管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機制已經(jīng)不能適應(yīng)時代的發(fā)展,因為它浪費了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎(chǔ)的信息管理所取代。隨著我國市場經(jīng)濟的快速發(fā)展,人事工資管理系統(tǒng)在企業(yè)的日常管理中發(fā)揮著越來越重要的作用。人事工資管理系統(tǒng)可以進行檔案管理、獎罰管理和工資管理等,方便處理企業(yè)內(nèi)部員工的相關(guān)工資信息。另外,為了更方便的查看

20、員工的工資信息,還可以通過水晶報表對工資信息進行打印。</p><p>  隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)和信息技術(shù)的發(fā)展,現(xiàn)在辦公系統(tǒng)更趨于系統(tǒng)化、科學(xué)化和網(wǎng)絡(luò)化。網(wǎng)絡(luò)辦公自動化系統(tǒng)是計算機技術(shù)和網(wǎng)絡(luò)迅速發(fā)展的一個辦公應(yīng)用解決方案,它的主要目的是實現(xiàn)信息交流和信息共享,提供協(xié)同工作的手段,提高辦公的效率,讓人們從繁瑣的有紙辦公中解脫出來。現(xiàn)在許多的機關(guān)單位的人事管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機制已經(jīng)不能適應(yīng)時

21、代的發(fā)展,因為它浪費了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎(chǔ)的信息管理所取代。隨著我國市場經(jīng)濟的快速發(fā)展,人事工資管理系統(tǒng)在企業(yè)的日常管理中發(fā)揮著越來越重要的作用。人事工資管理系統(tǒng)可以進行檔案管理、獎罰管理和工資管理等,方便處理企業(yè)內(nèi)部員工的相關(guān)工資信息。另外,為了更方便的查看員工的工資信息,還可以通過水晶報表對工資信息進行打印。系統(tǒng)效能,是預(yù)期一個系統(tǒng)滿足一組特定任務(wù)的程度的量度。它是系統(tǒng)綜合性能的反映,是系統(tǒng)

22、的整體屬性。效能評估,就是要對系統(tǒng)進行綜合分析,把系統(tǒng)的各項性能與任務(wù)要求綜合比較,最終得到表示系統(tǒng)的優(yōu)劣程度的結(jié)果。人事工資管理系統(tǒng)的效能,可以細分為系統(tǒng)的自身效能和應(yīng)用效能。自身效能是人事工資管理系統(tǒng)本身固有的性能,</p><p>  在這個信息迅速膨脹,計算機技術(shù)以及網(wǎng)絡(luò)技術(shù)飛速發(fā)展的社會,計算機在企業(yè)管理中的應(yīng)用也不繼得到了普及,利用計算機實現(xiàn)企業(yè)人事檔案的管理勢在必行。</p><

23、p>  計算機在企業(yè)管理中的應(yīng)用越來越受到人們的歡迎。利用計算機來實現(xiàn)對公司員工基本資料等的管理和公司內(nèi)部之間的信息交流勢在必行。這是在現(xiàn)代化的社會中任何公司所要解決的問題,也是公司現(xiàn)代化管理的趨勢。</p><p>  信息在不同的領(lǐng)域里有著不同的概念,在管理科學(xué)領(lǐng)域中,通常認為信息是經(jīng)過加工處理后的一種數(shù)據(jù)形式,是一種有次序的符號排列,它是系統(tǒng)傳輸和處理的對象。處在信息時代的今天,信息的作用越來越為人們

24、所重視。制定工作計劃,研究投資策略,都離不開對信息的充分利用。管理信息系統(tǒng)(Management Information System,縮寫MIS)是一種“人機系統(tǒng)”,它以特定的模式支持一個組織內(nèi)各級組織機構(gòu)之間的通訊,對信息資源進行綜合開發(fā),管理和利用,實現(xiàn)對該組織的有效管理。它通過對數(shù)據(jù)的加工處理,及時為管理與決策分析提供信息。</p><p>  隨著公司不斷的發(fā)展壯大,員工的數(shù)量也在不斷的增加,隨之而來的

25、管理成本也在不斷的提高,以及考慮到公司的人事管理現(xiàn)在尚處于傳統(tǒng)的人工管理的作業(yè)階段,不但效率低下,還常常因為管理的不慎而出現(xiàn)紕漏。因此根據(jù)公司提供的需求,設(shè)計此人事管理系統(tǒng),以幫助該公司達到人事管理辦公自動化、節(jié)約管理成本、提高該公司人事管理工作效率的目的。</p><p>  人事管理系統(tǒng)是典型的管理信息系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)。對于前者要求建立起數(shù)據(jù)一致性和完

26、整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用,界面美觀等特點。人事管理系統(tǒng)可以提供豐富的功能,降低人事管理工作的強度,提高其公司人事管理工作的效率,并依靠系統(tǒng)的強大的功能為人事管理的使用創(chuàng)造良好的條件,從而能夠適應(yīng)其公司人事管理的要求,推動其公司人事管理的信息化建設(shè)。人事管理的需求,本文就該人事管理系統(tǒng)的設(shè)計與實現(xiàn)進行了分析探討:首先對系統(tǒng)的需求分析做了敘述,然后介紹了系統(tǒng)的設(shè)計和實現(xiàn),最后進行了系統(tǒng)測試。人事管理

27、系統(tǒng)采用基于客戶端/服務(wù)端(C/S)模式開發(fā),服務(wù)端采用SQL Server2005數(shù)據(jù)庫服務(wù)器作為數(shù)據(jù)處理和存儲平臺,客戶端應(yīng)用程序采用Visual Stdio.NET 2008集成開發(fā)環(huán)境中的WPF(Windows Presentation Foundation)技術(shù)進行開發(fā),開發(fā)語言選用開發(fā)環(huán)境中C#的語言。用戶使用客戶端應(yīng)用程序?qū)Ψ?wù)端數(shù)據(jù)進行操作。</p><p>  現(xiàn)在,已經(jīng)認識到計算機管理在企業(yè)管

28、理中的重要性,這是其公司科學(xué)化、正規(guī)化管理并能與世界接軌的重要標志。因此,開發(fā)這樣的人事管理系統(tǒng)是很必要的,下面的各章中將介紹人事管理系統(tǒng)的開發(fā)過程和在開發(fā)過程中所涉及以及所解決的問題。</p><p>  本文分五章介紹,第一章為基礎(chǔ)知識,介紹了系統(tǒng)開發(fā)工具的相關(guān)知識。第二章為系統(tǒng)分析,主要是對系統(tǒng)的功能需求、性能需求、環(huán)境需求進行分析以及系統(tǒng)的可行性分析。第三章為系統(tǒng)設(shè)計,根據(jù)系統(tǒng)的需求分析,制定相應(yīng)的設(shè)計計

29、劃,包括結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫設(shè)計、界面設(shè)計、系統(tǒng)詳細設(shè)計等。第四章為系統(tǒng)實現(xiàn),通過需求分析和系統(tǒng)的設(shè)計計劃,來選擇合適的語言及軟件卡發(fā)環(huán)境完成系統(tǒng)功能的實現(xiàn)。第五章為軟件測試,對系統(tǒng)進行一系列的測試,包括測試計劃的目的、測試的原則、測試用例以及軟件的可靠性。</p><p><b>  1 基礎(chǔ)知識</b></p><p>  1.1 Visual Studio介紹&

30、#160;</p><p>  C#(讀做 “C sharp”,中文譯音暫時沒有。專業(yè)人士一般讀“C sharp”,現(xiàn)在很多非專業(yè)一般讀“C井”。C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運行于.NET Framework之上的高級程序設(shè)計語言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、

31、與Java幾乎同樣的語法和編譯成中間代碼再運行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司.NET windows網(wǎng)絡(luò)框架的主角。</p><p>  C#是一種安全的、穩(wěn)定的、簡單的,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承C和C++強大功能的同時去掉了一些它們的復(fù)雜特性(例如沒有宏和模版,不允許多重繼承)。C#綜合了

32、VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言。</p><p>  并且C#成為ECMA與ISO標準規(guī)范。C#看似基于C++寫成,但又融入其它語言如Delphi、Java、VB等。</p><p>  在本文中,筆者將考察創(chuàng)建一種新計算機語言的一般動機,并將特別指明是什么原因?qū)е铝薈#的出現(xiàn)

33、。然后筆者將介紹C#和它與Java、C、C++的相似之處。其次筆者將討論一些存在于Java和C#之間的高層次的,和基礎(chǔ)的差別。筆者將以衡量在用多種語言開發(fā)大型應(yīng)用程序的時候所需的知識(或者對這種知識的缺乏程度)來結(jié)束本文,而這正是.NET和C#的一個主要戰(zhàn)略。目前,C#和.NET還只能以C#語言規(guī)則,以及Windows 2000的一個“預(yù)覽版本”,還有MSDN上迅速增多的文檔集子的形式獲得(還沒有最終定型)。 </p>&

34、lt;p>  微軟C#語言定義主要是從C和C++繼承而來的,而且語言中的許多元素也反映了這一點。C#在設(shè)計者從C++繼承的可選選項方面比Java要廣泛一些(比如說struts),它還增加了自己新的特點(比方說源代碼版本定義)。但它還太不成熟,不可能擠垮Java。C#還需要進化成一種開發(fā)者能夠接受和采用的語言,而微軟當(dāng)前為它的這種新語言大造聲勢也是值得注意的。目前大家的反應(yīng)是:“這是對Java的反擊”。 </p>&l

35、t;p>  C#更象Java一些,雖然微軟在這個問題上保持沉默。這也是意料中的事情,筆者覺得,因為Java近來很成功而使用Java的公司都報告說它們在生產(chǎn)效率上比C++獲得了提高。</p><p>  Java所帶來的巨大影響和大家對它的廣泛接受已經(jīng)由工作于這種語言和平臺之上的程序員數(shù)量明顯的說明了(估計世界范圍內(nèi)共有兩百五十萬程序員使用Java)。由這種語言寫成的應(yīng)用程序的數(shù)量是令人驚訝的并已經(jīng)滲透了每一

36、個級別的計算,包括無線計算和移動電話(比如日本發(fā)明的Java電話)。C#能夠在用戶領(lǐng)域獲得這樣的禮遇嗎?我們必須等待并觀望,就象已經(jīng)由SSI公司的CEO和主席Kalpathi S. Suresh指出來的那樣,“我發(fā)現(xiàn)所有這些都是漸進的。如果C#不存在,我們總能回到Java或C和C++。這些都不完全是新技術(shù);它們在更大的意義上來說只是大公司制造的市場噱頭。我們必須給他們時間安頓下來看看這些是不是真的對IT工業(yè)有什么影響”。</p&g

37、t;<p>  1.2 SQL Server數(shù)據(jù)庫介紹 </p><p>  SQL Server是微軟公司開發(fā)的一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),以Transact SQL的數(shù)據(jù)庫查詢和編程語言。T-SQL 是結(jié)構(gòu)化查詢語言SQL的一種,支持ANSI SQL-92標準。</p><p>  但說起它的歷史,卻得從Sybase開始的。SQL Server從20 世紀80年代

38、后期開始開發(fā),最早起源于1987年的Sybase SQL Server。SQL Server最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同開發(fā)的,1988年,Microsoft公司、Sybase公司和Aston-Tate公司把該產(chǎn)品移植到OS/2上。后來Aston-Tate公司退出了該產(chǎn)品的開發(fā),而Microsoft公司、Sybase公司則簽署了一項共同開發(fā)協(xié)議,這兩家公司的共同開發(fā)結(jié)果是發(fā)布了用于Win

39、dows NT操作系統(tǒng)的SQL Server,1992年,將SQL Server移植到了Windows NT平臺上[6]。</p><p>  在SQL Server 4版本發(fā)行以后,Microsoft公司和Sybase公司在SQL Server的開發(fā)方面分道揚鑣,取消了合同,各自開發(fā)自己的SQL Server。Microsoft公司專注于Windows NT平臺上的SQL Server開發(fā),而Sybase公司則

40、致力于UNIX平臺上的SQL Server的開發(fā)。本文中介紹的是Microsoft SQL Server 以后簡稱為SQL Server或MS SQL Server。 </p><p>  SQL Server6.0版是第一個完全由Microsoft公司開發(fā)的版本。1996年,Microsoft公司推出了SQL Server 6.5版本,接著在1998年又推出了具有巨大變化的7.0版,這一版本在數(shù)據(jù)存儲

41、和數(shù)據(jù)庫引擎方面發(fā)生了根本性的變化。又經(jīng)過兩年的努力開發(fā),Microsoft公司于2000年9月布了SQL Server 2000,其中包括企業(yè)版、標準版、開發(fā)版、個人版四個版本。從SQL Server 7.0到SQL Server 2000的變化是漸進的,沒有從6.5到7.0變化那么大,只是在SQL Server 7.0的基礎(chǔ)上進行了增強[7]。</p><p>  數(shù)據(jù)庫技術(shù)從60年代末期至今只有不到40年的

42、歷史,但其發(fā)展速度之快是其它技術(shù)所不及的。它已由第一代的層次型、網(wǎng)狀型數(shù)據(jù)庫,第二代的關(guān)系型數(shù)據(jù)庫發(fā)展到今天以面向?qū)ο鬄橹饕P偷臄?shù)據(jù)庫,即第三代數(shù)據(jù)庫。數(shù)據(jù)庫技術(shù)和網(wǎng)絡(luò)通信技術(shù)、面向?qū)ο缶幊碳夹g(shù)、并行計算機技術(shù)、人工智能技術(shù)相互融合、相互滲透,促進了數(shù)據(jù)庫技術(shù)的廣泛應(yīng)用[8]。</p><p>  數(shù)據(jù)庫通常有兩個主要部分:一個是保存物理數(shù)據(jù)庫的文件,一個是應(yīng)用程序用于訪問數(shù)據(jù)的數(shù)據(jù)庫管理系統(tǒng) (DBMS) 軟

43、件。DBMS 負責(zé)維護數(shù)據(jù)庫的結(jié)構(gòu),包括: </p><p>  1.據(jù)庫內(nèi)數(shù)據(jù)間的關(guān)系。</p><p>  2.?dāng)?shù)據(jù)存儲正確,定義數(shù)據(jù)間關(guān)系的規(guī)則未被違反。</p><p>  3.系統(tǒng)崩潰的情況下,按照已知的一致性程度恢復(fù)所有數(shù)據(jù)</p><p><b>  2 系統(tǒng)分析</b></p><p

44、>  2.1 開發(fā)背景及意義</p><p>  隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)和信息技術(shù)的發(fā)展,現(xiàn)在辦公系統(tǒng)更趨于系統(tǒng)化、科學(xué)化和網(wǎng)絡(luò)化。網(wǎng)絡(luò)辦公自動化系統(tǒng)是計算機技術(shù)和網(wǎng)絡(luò)迅速發(fā)展的一個辦公應(yīng)用解決方案,它的主要目的是實現(xiàn)信息交流和信息共享,提供協(xié)同工作的手段,提高辦公的效率,讓人們從繁瑣的有紙辦公中解脫出來?,F(xiàn)在許多的機關(guān)單位的人事管理水平還停留在紙介質(zhì)的基礎(chǔ)上,這樣的機制已經(jīng)不能適應(yīng)時代的發(fā)展,因為它浪

45、費了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機為基礎(chǔ)的信息管理所取代。</p><p>  本系統(tǒng)就是基于本公司的人事管理而設(shè)計的,是對公司的人事資料進行管理,為人事管理人員提供了一套操作簡單、使用可靠、界面友好、易于管理和使用的處理工具。本系統(tǒng)對人事各種數(shù)據(jù)進行統(tǒng)一處理,避免數(shù)據(jù)存取、數(shù)據(jù)處理的重復(fù),提高工作效率,減少了系統(tǒng)數(shù)據(jù)處理的復(fù)雜性。本系統(tǒng)不僅使公司人事管理人員從繁重的工作中解脫出來,而且

46、提高了人事管理的效率,提高了人事管理的科學(xué)性,方便了用戶查詢、管理人員進行管理。</p><p>  2.2 可行性研究</p><p>  可行性分析是在用戶的要求和系統(tǒng)調(diào)研的基礎(chǔ)上進行的,對新系統(tǒng)的開發(fā)從社會、技術(shù)、經(jīng)濟、管理等方面進行分析,并得出新系統(tǒng)的開發(fā)工作可行、不可行、需要修改、追加投資、暫緩開發(fā)、分步實施等方案和結(jié)論,最后完成可行性分析。</p><p&

47、gt;  可行性分析是項目在建設(shè)的前期對工程項目的一種考察和鑒定,對擬議中的項目進行全面與綜合的技術(shù)、經(jīng)濟能力的調(diào)查,判斷它是否可行。</p><p>  (1)可行性分析階段的主要工作包括以下幾個方面:</p><p> ?、傩孪到y(tǒng)目標可行性分析:</p><p>  分析新系統(tǒng)的目標是否符合企業(yè)的現(xiàn)狀和發(fā)展的需要。通過到嘉晟公司調(diào)研,其公司要求的目標可行。<

48、;/p><p><b> ?、谏鐣尚行苑治觯?lt;/b></p><p>  社會可行性分析主要是指管理信息系統(tǒng)的開發(fā)是否符合國家法律、政策,是否能夠與社會大系統(tǒng)實現(xiàn)良好的對接。開發(fā)本系統(tǒng)沒有觸犯到法律,也能很好地與社會對接。</p><p><b> ?、奂夹g(shù)可行性分析:</b></p><p>  技

49、術(shù)可行性分析是根據(jù)新系統(tǒng)的目標來衡量是否具備所需要的技術(shù),包括系統(tǒng)開發(fā)人員數(shù)量和水平,硬件方面,軟件方面及其它應(yīng)用技術(shù)。C#已是微軟成熟的技術(shù),所以完全可以開發(fā)出來本系統(tǒng)。</p><p><b> ?、芙?jīng)濟可行性分析</b></p><p>  經(jīng)濟可行性分析主要是對開發(fā)新系統(tǒng)所投入的資金與系統(tǒng)投入使用后所帶來的經(jīng)濟效益進行比較,確認新系統(tǒng)是否會給企業(yè)帶來一定的經(jīng)濟

50、效益。公司正在快速發(fā)展,所以能夠支付本系的開發(fā)費用。</p><p><b>  ⑤管理可行性分析:</b></p><p>  管理可行性分析主要是分析企業(yè)現(xiàn)行的管理體制和企業(yè)領(lǐng)導(dǎo)是否具有現(xiàn)代化的管理意識和管理水平。嘉晟公司的管理水平還沒有達到現(xiàn)代化的管理水平,所以開發(fā)本系統(tǒng)正是其急需的。</p><p><b>  2.3 功能

51、需求</b></p><p>  人事工資管理系統(tǒng)主要實現(xiàn)對人事工資信息和操作的管理,系統(tǒng)的用戶是負責(zé)管理設(shè)備的管理人員,系統(tǒng)具有人事管理模塊(員工基本信息管理、考勤管理、工作評價管理)、工資管理、系統(tǒng)管理(部門管理)、合同管理、用戶管理(操作員管理、修改密碼)等主要功能。</p><p>  2.3.1 用例分析</p><p>  用例圖主要用來圖

52、示化系統(tǒng)的主事件流程,它主要用來描述需求,即希望系統(tǒng)具備的完成一定功能的動作,通俗地理解用例就是軟件的功能模塊,是設(shè)計系統(tǒng)分析階段的起點,設(shè)計人員根據(jù)需求來創(chuàng)建和解釋用例圖,用來描述軟件應(yīng)具備哪些功能模塊以及這些模塊之間的調(diào)用關(guān)系,用例圖圖符如表2-1所示。</p><p>  表2-1 uml用例圖圖符</p><p>  通過系統(tǒng)的功能需求分析,可得到系統(tǒng)的執(zhí)行者為管理員、管理員添加人

53、員和數(shù)據(jù)庫系統(tǒng),系統(tǒng)的用例為部門管理、人員管理、工資管理、考勤管理、勞動合同管理、工作評價管理,系統(tǒng)總體用例圖如圖2-2所示。</p><p>  圖2-2 系統(tǒng)總體用例圖</p><p>  部門管理:對公司部門進行管理,包括對部門的添加、刪除、修改、查看,部門管理的用例圖如圖2-3所示。</p><p>  圖2-3部門管理用例圖</p><

54、p>  人員管理:對公司員工進行管理,包括對員工基本信息的添加、刪除、修改、查看,還可以根據(jù)所在部門、姓名、性別搜索員工,人員管理的用例圖如圖2-4所示。</p><p>  圖2-4 人員管理用例圖</p><p>  工資管理:對公司員工工資信息的錄入、修改、刪除、查看等,工資管理的用例圖如圖2-5所示</p><p>  圖2-5 工資管理用例圖<

55、/p><p>  考勤管理:包括考勤信息添加,查看、刪除等,公司員工用自己的帳號登錄進去簽到,管理員可以查看員工的考勤信息??记诠芾淼挠美龍D如圖2-6所示。</p><p>  圖2-6 考勤管理用例圖</p><p>  勞動合同管理:包括勞動合同信息添加、修改、查看、刪除等,在合同還有一個月即將到期的時候提示合同即將到期。勞動合同管理的用例圖如圖2-7所示。<

56、/p><p>  圖2-7 勞動合同管理用例圖</p><p>  工作評價管理:包括對公司員工工作評價信息的添加、修改、查看、刪除等,工作評價管理的用例圖如圖2-8所示。</p><p>  圖2-8 工作評價管理用例圖</p><p>  2.3.2 概念類描述</p><p>  類圖是由若干類關(guān)聯(lián)在一起,反映系統(tǒng)

57、或者子系統(tǒng)組成結(jié)構(gòu)的靜態(tài)圖。類圖的建模貫穿工程的分析和設(shè)計階段的始終,通常從商務(wù)伙伴能夠理解的類開始建模,最終往往成為只有開發(fā)小組才能夠完全理解的類。</p><p>  類圖是在面向?qū)ο蟮南到y(tǒng)模型中使用得最普遍的圖。類圖包含了一組類、接口和協(xié)作以及其之間的關(guān)系。使用類圖來為系統(tǒng)的靜態(tài)視圖建模。通常這包括模型化系統(tǒng)的詞匯(從系統(tǒng)的詞匯表中發(fā)現(xiàn)類),模型化協(xié)作,或則模型化模式。類圖還是一些相關(guān)的圖的基礎(chǔ),包括組件圖

58、、分布圖。</p><p>  類圖的重要性不僅僅體現(xiàn)在為系統(tǒng)建立可視化的、文檔化的結(jié)構(gòu)模型,同樣重要的是構(gòu)建通過正向和反向工程建立執(zhí)行系統(tǒng)。</p><p>  沒有類是單獨存在的,類通常和別的類協(xié)作,創(chuàng)造比單獨工作更大的語義。因此,除了捕獲系統(tǒng)的詞匯以外,還要將注意力集中到這些類是如何在一起工作的。使用類圖來表達這種協(xié)作,類圖圖符如表2.2所示。</p><p>

59、;  創(chuàng)建類圖最好的起點是用例圖,根據(jù)上面的用例圖很容易確定類及其關(guān)聯(lián)、屬性和操作。由上面的用例圖得到員工類的方法包含查看員工信息、添加員工信息、修改員工信息、刪除員工,屬性包含姓名、性別等;員工考評類(屬性:考評成績等)的方法都包含新增、修改、刪除等功能,屬性包含姓名、部門、職位等,所有可以將它們歸為人事信息類;管理員類的方法包含新增用戶、修改和刪除、修改密碼、屬性包含登錄名、密碼等。</p><p>  2.

60、3.3 行為描述</p><p>  系統(tǒng)的行為是通過對象的動作來描述的,通??梢酝ㄟ^順序圖來描述對象之間如何進行消息的傳遞。順序圖是一種動態(tài)建模方法。一般用于確認和豐富一個使用情境的邏輯。一個使用情境就是系統(tǒng)潛在的使用方式的描述,也就是它的名稱所要描述的。通過觀察什么消息被發(fā)送給一個對象,以及通過概略的觀察運行被調(diào)用的方法需要花費多長時間,很快就能了解哪里的設(shè)計需要變化,以達到在系統(tǒng)內(nèi)部平衡負荷的目的。<

61、;/p><p><b>  2.4 性能需求</b></p><p>  系統(tǒng)的性能是系統(tǒng)的一種非功能特性,它關(guān)注的不是系統(tǒng)是否能夠完成特定的功能,而是在完成功能時展示出來的及時性。為了能夠客觀地度量系統(tǒng)的性能,定義了一系列的性能指標,以便于在不同情況下度量系統(tǒng)的性能。</p><p>  2.4.1 響應(yīng)時間</p><p

62、>  從用戶向系統(tǒng)發(fā)出一個作業(yè)請求開始,經(jīng)系統(tǒng)處理后,再給出應(yīng)答結(jié)果的時間稱為系統(tǒng)的響應(yīng)時間。如果要求一個系統(tǒng)的響應(yīng)時間快,那么計算機CPU的運算速度就應(yīng)該快,并且通訊線路的傳遞速率也應(yīng)該高,如實時系統(tǒng)就是這樣。</p><p>  本系統(tǒng)采用C#語言編寫對用戶本機要求低,響應(yīng)時間也相對較短,最大為4秒平均為2~3秒,完全符合需求。</p><p>  2.4.2 吞吐量</

63、p><p>  每秒鐘執(zhí)行的作業(yè)數(shù)稱為系統(tǒng)的吞吐量。系統(tǒng)的吞吐量越大,則說明系統(tǒng)的處理能力越強。系統(tǒng)的吞吐量與系統(tǒng)硬、軟件的選擇有著直接的關(guān)系,如果要求系統(tǒng)具有較大的吞吐量,就應(yīng)當(dāng)選擇具有較高性能的計算機和網(wǎng)絡(luò)系統(tǒng)。</p><p>  2.4.3 并發(fā)用戶數(shù)</p><p>  并發(fā)用戶數(shù)是指系統(tǒng)可以同時承載的正常使用系統(tǒng)功能的用戶的數(shù)量。與吞吐量相比,并發(fā)用戶數(shù)是

64、一個更直觀但也更籠統(tǒng)的性能指標。實際上,并發(fā)用戶數(shù)是一個非常不準確的指標,因為用戶不同的使用模式會導(dǎo)致不同用戶在單位時間發(fā)出不同數(shù)量的請求。</p><p>  2.4.4 資源利用率</p><p>  資源利用率反映的是在一段時間內(nèi)資源平均占用的情況。對于數(shù)量為1的資源(如CPU),資源利用率可以表示為資源被占用的時間與整段時間的比值;對于數(shù)量不為1的資源(如內(nèi)存),資源利用率可以表

65、示為在該段時間內(nèi)平均被占用的資源數(shù)與總資源數(shù)的比值。對于本系統(tǒng)當(dāng)用戶數(shù)增加時,系統(tǒng)可以通過提高提高系統(tǒng)的資源利用率來提高吞吐量,但是也不是可以無限增大的,關(guān)鍵原因在于本系統(tǒng)的資源利用率不能無限提高。</p><p><b>  2.5 環(huán)境需求</b></p><p>  2.5.1 硬件環(huán)境</p><p>  服務(wù)器端的最低配置是由建立

66、站點所需的軟件來決定的,在最低配置的情況下,服務(wù)器的往往不盡如人意,現(xiàn)在的硬件性能已經(jīng)相當(dāng)出色,而且價格也很便宜,因此通常應(yīng)給服務(wù)器端配置高性能的硬件,本系統(tǒng)服務(wù)器端的配置如下:</p><p>  處理器:Inter Pentium 4 2.0GHz 或更高</p><p><b>  內(nèi)存:2GB</b></p><p>  硬盤空間:16

67、0GB</p><p>  顯卡:SVAG顯示適配器。</p><p>  2.5.2 軟件環(huán)境</p><p><b>  服務(wù)器端要求如下:</b></p><p>  操作系統(tǒng):Windows 2003 Server</p><p>  數(shù)據(jù)庫:Mircrosoft SQLserver20

68、05</p><p>  開發(fā)工具:Microsoft Visual Studio 2008</p><p><b>  3 系統(tǒng)設(shè)計</b></p><p>  3.1 系統(tǒng)結(jié)構(gòu)設(shè)計</p><p>  3.1.1 軟件設(shè)計的原則</p><p><b>  1、模塊化</

69、b></p><p>  模塊化就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求。</p><p>  下面五條標準可以評價一種設(shè)計方法定義有效的模塊系統(tǒng)的能力。</p><p><b> ?。?)模塊可分解性</b></p><p&g

70、t;  如果一種設(shè)計方法提供了把問題分解為子問題的系統(tǒng)化機制,它就能降低整個問題的復(fù)雜性,從而可以實現(xiàn)一種有效的模塊化解決方案。</p><p><b>  (2)模塊可組裝性</b></p><p>  如果一種設(shè)計方法能把現(xiàn)有的(可重用的)設(shè)計構(gòu)件組裝成新系統(tǒng),它就能提供一種并非一切都從頭開始做的模塊化解決方案。</p><p><b

71、> ?。?)模塊可理解性</b></p><p>  如果可以把一個模塊作為一種獨立單元(無需參考其他模塊)來理解,那么,這樣的模塊是易于構(gòu)造和易于修改的。</p><p><b> ?。?)模塊連續(xù)性</b></p><p>  如果對系統(tǒng)需求的微小修改只導(dǎo)致對個別模塊,而不是對整個系統(tǒng)的修改,則修改所引起的副作用將最小。&

72、lt;/p><p><b> ?。?)模塊保護性</b></p><p>  如果在一個模塊內(nèi)出現(xiàn)異常情況時,它的影響局限在該模塊內(nèi)部,則由錯誤引起的副作用將最。</p><p>  采用模塊化原理可以使軟件結(jié)構(gòu)清晰,不僅容易設(shè)計也容易閱讀和理解。模塊化也有助于軟件開發(fā)工程的組織管理,一個復(fù)雜的大型程序可以由許多程序員分工編寫不同的模塊,并且可以進

73、一步分配技術(shù)熟練的程序員編寫困難的模塊。</p><p><b>  2、抽象</b></p><p>  人類在實踐中認識到,在現(xiàn)實世界中一定事物、狀態(tài)或過程之間總存在著某些相似的方面。把這些相似的方面集中和概括起來,暫時忽略它們之間的差異,這就是抽象。</p><p><b>  3、逐步求精</b></p>

74、;<p>  逐步求精是人類解決復(fù)雜問題時采用的基本技術(shù),是許多軟件工程技術(shù)的基礎(chǔ)??砂阎鸩角缶x為:“為了能集中精力解決主要問題而盡量推遲對問題細節(jié)的考慮”。</p><p>  求精實際上是細化過程。要從在高抽象級別定義的功能陳述(或信息描述)開始。求精要求設(shè)計者細化原始陳述,隨著每個后續(xù)求精(細化)步驟的完成而提供越來越多的細節(jié)。</p><p><b> 

75、 4、信息隱藏</b></p><p>  應(yīng)用模塊化原理時,自然會產(chǎn)生的一個問題是:“為了得到最好的一組模塊,應(yīng)該怎樣分解軟件”。信息隱藏原理指出:應(yīng)該這樣設(shè)計和確定模塊,使得一個模塊內(nèi)包含的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問的。</p><p>  3.1.2 系統(tǒng)層次結(jié)構(gòu)</p><p>  HIPO圖是IBM公司發(fā)明的“層

76、次圖加輸人/處理/輸出圖”的英文縮寫。它既可以描述軟件總的模塊層次結(jié)構(gòu)H圖(層次圖),又可以描述每個模塊輸入/輸出數(shù)據(jù)/處理功能及模塊調(diào)用的詳細情況IPO圖(也稱IPO表)。HIPO圖以模塊分解的層次性以及模塊內(nèi)部輸入、處理、輸出三大基本部分為基礎(chǔ)建立的。</p><p>  本系統(tǒng)的最頂層的矩形框代表人事工資管理系統(tǒng)的主控模塊,調(diào)用下層模塊以完成全部管理功能;第二層的每個模塊控制完成系統(tǒng)的一個主要功能,如此實現(xiàn)

77、自頂向下逐步求精,系統(tǒng)的H圖如圖3-1所示。</p><p>  圖3-1 系統(tǒng)的H圖</p><p>  H圖只說明了系統(tǒng)由那些模塊組成及其控制層次結(jié)構(gòu),并未說明模塊間的信息傳遞及模塊內(nèi)部的處理。因此對一些重要模塊還必須根據(jù)H圖繪制具體的IPO表。用戶和管理人員可利用IPO表編寫、修改和維護程序。IPO表中包含的附加信息主要有系統(tǒng)名稱、圖的作者,完成的日期,本圖描述的模塊的名字,模塊在層

78、次圖中的編號,調(diào)用本模塊的模塊清單,本模塊調(diào)用的模塊的清單、注釋以及本模塊使用的局部數(shù)據(jù)元素等。</p><p>  3.2 設(shè)計階段類圖</p><p>  在系統(tǒng)分析階段,已經(jīng)找出了主要的概念類和類的方法、類間的關(guān)系。到了系統(tǒng)設(shè)計階段,需要從軟件系統(tǒng)的角度來重新設(shè)計類圖。分析階段的類到了設(shè)計階段有的可能變成一組類,有的可能消失。</p><p>  分析階段的

79、類圖主要是用來描述現(xiàn)實世界中的問題;而設(shè)計階段的類圖主要是對解決方案進行描述。因此設(shè)計階段的類圖描述了軟件的系統(tǒng)結(jié)構(gòu)。創(chuàng)建設(shè)計類圖的過程包括以下幾步:</p><p>  1.識別設(shè)計階段出現(xiàn)的類,為這些類添加屬性和方法。</p><p>  2.建立類間關(guān)系,最終完成對屬性和方法的細節(jié)描述。</p><p>  系統(tǒng)設(shè)計階段的類圖如圖3-2所示。</p>

80、;<p>  圖3-2 系統(tǒng)設(shè)計階段的類圖</p><p>  3.3 數(shù)據(jù)庫設(shè)計</p><p>  3.3.1 數(shù)據(jù)庫概念設(shè)計</p><p>  1、部門管理信息表:用于保存公司部門的基本信息</p><p>  2、員工基本信息表:用于保存員工的基本信息</p><p>  3、員工工資信息表

81、:用于保存員工工資的詳細信息</p><p>  4、員工考勤信息表:用于保存員工的考勤信息</p><p>  5、勞動合同信息表:用于保存員工的勞動合同信息</p><p>  6、工作評價信息表:用于保存員工的工作評價信息</p><p>  3.3.1 數(shù)據(jù)庫邏輯設(shè)計</p><p>  部門信息表是用來存放部

82、門的基本信息,內(nèi)容如表3-3所示。</p><p>  表3-3 部門管理信息表</p><p>  員工基本信息表:用于保存員工的基本信息,內(nèi)容如表3-4所示。</p><p>  表3-4 員工基本信息表</p><p>  員工工資信息表:用于保存員工工資的詳細信息,內(nèi)容如表3-5所示。</p><p>  表3

83、-5 員工工資信息表</p><p>  考勤信息表:用于保存考勤管理信息,內(nèi)容如表3-6所示。</p><p>  表3-6 考勤管理信息表</p><p>  勞動合同管理信息表:用于保存員工的勞動合同信息,內(nèi)容如表3.7所示。</p><p>  表3-7 勞動合同管理信息表</p><p>  工作評價信息表:

84、用于保存員工的工作評價信息,內(nèi)容如圖3-8所示。</p><p>  表3-8工作評價管理信息表</p><p>  3.4 系統(tǒng)詳細設(shè)計</p><p>  系統(tǒng)開發(fā)人員根據(jù)PAD圖寫出可運行的代碼。所以過程設(shè)計的結(jié)果決定了程序代碼的質(zhì)量。過程設(shè)計的任務(wù)不是編寫代碼,是要設(shè)計出程序的“藍圖”,在軟件的生命周期中,對長期使用的軟件來說,人閱讀程序的時間可能比寫程序

85、的時間要長。故,衡量程序的質(zhì)量不僅要看它的邏輯是否正確,性能是否能夠滿足要求,更主要的是看它是否容易閱讀。過程設(shè)計的目標不僅是邏輯上正確地實現(xiàn)每個模塊的功能,更重要的是設(shè)計出的處理過程是盡可能簡明易懂的。</p><p><b>  4 系統(tǒng)實現(xiàn)</b></p><p>  4.1 語言選擇原因</p><p>  本系統(tǒng)在實現(xiàn)系統(tǒng)功能時使

86、用的是C#語言。C#語言具有許多先進的特性,也正是因為其有這些特性所以才選擇用C#語言來開發(fā)本系統(tǒng),C#的特點如下:</p><p><b>  一、簡潔的語法</b></p><p>  在缺省的情況下,C#的代碼在.NET框架提供的“可操縱”環(huán)境下運行,不允許直接地內(nèi)存操作。它所帶來的最大的特色是沒有了指針。與此相關(guān)的是,那些在C++中被瘋狂使用的操作符(例如:“

87、::”、“->”和“.,”)已經(jīng)不再出現(xiàn)。C#只支持一個“.”,對于我們來說,現(xiàn)在需要理解的一切僅僅是名字的嵌套而已。</p><p>  C#用真正的關(guān)鍵字換掉了那些把活動模板庫(Active Template Library,ALT)和COM搞得亂糟糟的偽關(guān)鍵字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每種C#操作符在.NET類庫中都有了新名字。</

88、p><p>  語法中的冗余是C++中的常見的問題,比如“const”和“#define“、各種各樣的字符類型等等。C#對此進行了簡化,只保留了常見的形式,而別的冗余形式從它的語法結(jié)構(gòu)中被清除了出去。</p><p>  二、精心地面向?qū)ο笤O(shè)計</p><p>  也許,從Smalltalk開始,面向?qū)ο蟮脑掝}就始終纏繞著任何一種現(xiàn)代程序設(shè)計語言。的確,C#具有面向?qū)ο?/p>

89、的語言所應(yīng)有的一切特性:封裝、繼承與多態(tài)性,這并不出奇。然而,通過精心地面向?qū)ο笤O(shè)計,從高級商業(yè)對象到系統(tǒng)級應(yīng)用,C#建造廣泛組件的絕對選擇。</p><p>  在C#的類型系統(tǒng)中,每種類型都可以看作一個對象。C#提供了一個叫做裝箱(boxing)與拆箱(unboxing)的機制來完成這種操作,而不給使用者帶來麻煩,這在以后的章節(jié)中將進行更為詳細的介紹。</p><p>  C#只允許單

90、繼承,即一個類不會有多個基類,從而避免了類型定義的混亂。在后面的學(xué)習(xí)中你很快會發(fā)現(xiàn),C#中沒有了全局函數(shù),沒有了全局變量,也沒有了全局常數(shù)。一切的一切,都必須封裝在一個類之中。你的代碼將具有更好的可讀性,并且減少了發(fā)生命名沖突的可能。</p><p>  整個C#的類模型是建立在.NET虛擬對象系統(tǒng)(Visual Object System,VOS)的基礎(chǔ)之上,其對象模型是.NET基礎(chǔ)架構(gòu)的一部分,而不再是其本身

91、的組成部分。在下面將會談到,這樣做的另一個好處是兼容性。</p><p>  借助于從VB中得來的豐富的RAD經(jīng)驗,C#具備了良好的開發(fā)環(huán)境。結(jié)合自身強大的面向?qū)ο蠊δ?,C#使得開發(fā)人員的生產(chǎn)效率得到極大的提高。對于公司而言,軟件開發(fā)周期的縮短將能使它們更好應(yīng)付網(wǎng)絡(luò)經(jīng)濟的競爭。在功能與效率的杠桿上人們終于找到了支點。</p><p>  三、與Web的緊密結(jié)合</p><

92、;p>  .NET中新的應(yīng)用程序開發(fā)模型意味著越來越多的解決方案需要與Web標準相統(tǒng)一,例如超文本標記語言(Hypertext Markup Language,HTML)和XML。由于歷史的原因,現(xiàn)存的一些開發(fā)工具不能與Web緊密地結(jié)合。SOAP的使用使得C#克服了這一缺陷,大規(guī)模深層次的分布式開發(fā)從此成為可能。</p><p>  由于有了Web服務(wù)框架的幫助,對程序員來說,網(wǎng)絡(luò)服務(wù)看起來就象是C#的本地

93、對象。程序員們能夠利用他們已有的面向?qū)ο蟮闹R與技巧開發(fā)Web服務(wù)。僅需要使用簡單的C#語言結(jié)構(gòu),C#組件將能夠方便地為Web服務(wù),并允許它們通過Internet被運行在任何操作系統(tǒng)上的任何語言所調(diào)用。舉個例子,XML已經(jīng)成為網(wǎng)絡(luò)中數(shù)據(jù)結(jié)構(gòu)傳遞的標準,為了提高效率,C#允許直接將XML數(shù)據(jù)映射成為結(jié)構(gòu)。這樣就可以有效的處理各種數(shù)據(jù)。</p><p>  四、完整的安全性與錯誤處理</p><p

94、>  語言的安全性與錯誤處理能力,是衡量一種語言是否優(yōu)秀的重要依據(jù)。任何人都會犯錯誤,即使是最熟練的程序員也不例外:忘記變量的初始化,對不屬于自己管理范圍的內(nèi)存空間進行修改,......。這些錯誤常常產(chǎn)生難以預(yù)見的后果。一旦這樣的軟件被投入使用,尋找與改正這些簡單錯誤的代價將會是讓人無法承受的。C#的先進設(shè)計思想可以消除軟件開發(fā)中的許多常見錯誤,并提供了包括類型安全在內(nèi)的完整的安全性能。為了減少開發(fā)中的錯誤,C#會幫助開發(fā)者通過更

95、少的代碼完成相同的功能,這不但減輕了編程人員的工作量,同時更有效地避免了錯誤的發(fā)生。</p><p>  .NET運行庫提供了代碼訪問安全特性,它允許管理員和用戶根據(jù)代碼的ID來配置安全等級。在缺省情況下,從Internet和Intranet下載的代碼都不允許訪問任何本地文件和資源。比方說,一個在網(wǎng)絡(luò)上的共享目錄中運行的程序,如果它要訪問本地的一些資源,那么異常將被觸發(fā),它將會無情地被異常扔出去,若拷貝到本地硬盤

96、上運行則一切正常。內(nèi)存管理中的垃圾收集機制減輕了開發(fā)人員對內(nèi)存管理的負擔(dān)。.NET平臺提供的垃圾收集器(Garbage Collection,GC)將負責(zé)資源的釋放與對象撤銷時的內(nèi)存清理工作。</p><p>  變量是類型安全的。C#中不能使用未初始化的變量,對象的成員變量由編譯器負責(zé)將其置為零,當(dāng)局部變量未經(jīng)初始化而被使用時,編譯器將做出提醒;C#不支持不安全的指向,不能將整數(shù)指向引用類型,例如對象,當(dāng)進行下

97、行指向時,C#將自動驗證指向的有效性;C#中提供了邊界檢查與溢出檢查功能。</p><p><b>  五、版本處理技術(shù)</b></p><p>  C#提供內(nèi)置的版本支持來減少開發(fā)費用,使用C#將會使開發(fā)人員更加輕易地開發(fā)和維護各種商業(yè)用戶。</p><p>  升級軟件系統(tǒng)中的組件(模塊)是一件容易產(chǎn)生錯誤的工作。在代碼修改過程中可能對現(xiàn)存

98、的軟件產(chǎn)生影響,很有可能導(dǎo)致程序的崩潰。為了幫助開發(fā)人員處理這些問題,C#在語言中內(nèi)置了版本控制功能。例如:函數(shù)重載必須被顯式聲明,而不會象在C++或java中經(jīng)常發(fā)生的那樣不經(jīng)意地被進行,這可以防止代碼級錯誤和保留版本化的特性。另一個相關(guān)的特性是接口和接口繼承的支持。這些特性可以保證復(fù)雜的軟件可以被方便地開發(fā)和升級。</p><p><b>  六、靈活性和兼容性</b></p>

99、;<p>  在簡化語法的同時,C#并沒有失去靈活性。盡管它不是一種無限制語言,比如:它不能用來開發(fā)硬件驅(qū)動程序,在默認的狀態(tài)下沒有指針等等,但是,在學(xué)習(xí)過程中你將發(fā)現(xiàn),它仍然是那樣的靈巧。</p><p>  如果需要,C#允許你將某些類或者類的某些方法聲明為非安全的。這樣一來,你將能夠使用指針、結(jié)構(gòu)和靜態(tài)數(shù)組,并且調(diào)用這些非安全代碼不會帶來任何其它的問題。此外,它還提供了一個另外的東西(這樣的稱

100、呼多少有些不敬)來模擬指針的功能--delegates,代表。再舉一個例子:C#不支持類的多繼承,但是通過對接口的繼承,你將獲得這一功能。</p><p>  4.2 軟件開發(fā)環(huán)境</p><p>  軟件開發(fā)環(huán)境(Software Development Environment)是指在基本硬件和宿主軟件的基礎(chǔ)上,為支持系統(tǒng)軟件和應(yīng)用軟件的工程化開發(fā)和維護而使用的一組軟件,簡稱SDE。它

101、由軟件工具和環(huán)境集成機制構(gòu)成,前者用以支持軟件開發(fā)的相關(guān)過程、活動和任務(wù),后者為工具集成和軟件的開發(fā)、維護及管理提供統(tǒng)一的支持。</p><p>  開發(fā)本系統(tǒng)所用的軟件工具集合為, SQL Server數(shù)據(jù)庫開發(fā)工具、Visual Studio2008 Photo Shop圖片處理工具等。</p><p>  4.3 系統(tǒng)功能實現(xiàn)</p><p>  4.3.1

102、 管理員登錄</p><p>  在管理員登錄中,主要實現(xiàn)的是對管理員合法性的驗證。管理員在此輸入其姓名、證件號并通過軟鍵盤輸入密碼,經(jīng)過與后臺數(shù)據(jù)庫中的記錄進行相應(yīng)的對比確定其為合法用戶,管理員才得到進入系統(tǒng)的權(quán)限,如圖4-1所示:</p><p>  圖 4-1 管理員登錄界面</p><p><b>  功能實現(xiàn):</b></p&

103、gt;<p>  1.由于用戶在登錄系統(tǒng)時,可能會有某些信息忘記輸入,這時可能會出現(xiàn)錯誤。本系統(tǒng)通過獲取用戶信息框中的信息并進行判斷,如果有未輸入的信息,則會警告用戶并提示用戶將信息輸入完整,主要代碼如下:</p><p>  SqlConnection cn = DB.OpenConnection();</p><p>  string user = Common.UrnH

104、tml(txtusername.Text.Trim());</p><p>  string pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(txtuserpwd.Text, "SHA1");</p><p>  string sql = "select emp_id,emp_name,

105、emp_sex,emp_age,emp_birth,dep_id,emp_job,emp_resume,emp_user,emp_pwd,emp_type,emp_img from Employee where emp_user='" + user + "' and emp_pwd='" + pwd + "'";</p><p> 

106、 SqlDataReader dr = DB.getDataReader(sql, cn);</p><p>  if (AuthCode1.IsMatch)</p><p><b>  {</b></p><p>  if (dr.Read())</p><p><b>  {</b></p

107、><p>  HttpCookie cookies;</p><p>  cookies = new HttpCookie("xzfpp");</p><p>  cookies.Values.Add("Manager", HttpUtility.UrlEncode(this.txtusername.Text.Trim()));&

108、lt;/p><p>  cookies.Values.Add("EmpType", HttpUtility.UrlEncode(dr["emp_type"].ToString()));</p><p>  cookies.Expires = DateTime.Now.AddHours(24);//1天有效24小時 </p><p>

109、;  Response.Cookies.Set(cookies);//存儲!~ </p><p>  dr.Close();</p><p>  dr.Dispose();</p><p>  DB.DisposeConnection(cn);</p><p>  Response.Redirect("Index.aspx"

110、;);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  dr.Close();</p><p>  dr.Dispose();</p><

111、;p>  DB.DisposeConnection(cn);</p><p>  Common.ShowMessage(Page, "登陸失敗,請檢查用戶名及密碼是否正確!", "");</p><p><b>  }</b></p><p><b>  }</b></p

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論