第一篇:畢業論文-基于J2EE的人事管理系統
畢題
目:
英文題目:
學生姓名:
學
號: 專
業: 學
院:
指導教師:
業
論
文
申請學位門類:學士學位
職稱:
二0一五年06月12日
作 者 聲 明
本人以信譽鄭重聲明:所呈交的學位畢業設計(論文),是本人在指導教師指導下由本人獨立撰寫完成的,沒有剽竊、抄襲、造假等違反道德、學術規范和其他侵權行為。文中引用他人的文獻、數據、圖件、資料均已明確標注出,不包含他人成果及為獲得東華理工大學或其他教育機構的學位或證書而使用過的材料。對本設計(論文)的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。本畢業設計(論文)引起的法律結果完全由本人承擔。本畢業設計(論文)成果歸東華理工大學所有。特此聲明。
畢業設計(論文)作者(簽字):
簽字日期:
****年**月**日
本人聲明:該學位論文是本人指導學生完成的研究成果,已經審閱過論文的全部內容,并能夠保證題目、關鍵詞、摘要部分中英文內容的一致性和準確性。學位論文指導教師簽名:
簽字日期:
****年**月**日
東華理工大學畢業設計(論文)
摘要
摘 要
在現代管理學中,信息管理是其中一項非常重要的內容。其中,人力資源管理是一個非常重要的領域,通過人力資源管理能夠對企業員工進行有效的管理。
本文根據實際企業需求,整理出了企業人力資源管理的基本功能需求,按照軟件工程的相關理論,進行了詳細的系統分析、設計和實現。系統采用MyEclipse 6.0.1開發工具,運用了J2EE和MVC框架技術,以及MySQL數據庫和MySQL-Front數據庫可視化工具,最終開發了一個基于Web瀏覽器端的企業人力資源管理系統。
文章首先對選題背景和發展狀況進行了闡述,結合實際情況,進行了需求分析,并給出了算法思想和總體功能設計,之后根據分析,設計出了各個子模塊的基本結構及應當實現的功能。接下來在系統功能實現部分,給出了用戶登陸、人員信息管理、招聘管理、獎懲信息管理,薪金管理和部門信息查看功能模塊的詳細設計,再附上了部分重要模塊實現的關鍵代碼;最后,為了保證系統的正確和高效,對系統進行了測試和分析。
關鍵詞: J2EE; MyEclipse; 人力資源管理系統; Struts+Hibernate框架
I 東華理工大學畢業設計(論文)
ABSTRACT
ABSTRACT
In the modern management science, information management is one of the important content.Among them, the human resource management is a very important area, through the enterprise human resources management, enterprise can effectively manage employees.According to the actual business demand, this paper has sorted out the basic function of enterprise human resources management needs, in accordance with the relevant theory of software engineering, it has carried on the detailed system analysis, design, and implementation.This system uses MyEclipse 6.0.1 as development tool, the J2EE and MVC as framework technology, as well as using the MySQL database and MySQL—Front visualization tools, finally develops a enterprise human resources management system based on the Web.This dissertation firstly elaborates the background and development status of human resource management, on this basis, combining with the actual situation, has carried on the demand analysis, and gives the algorithm and the overall function design, then according to the analysis, designs the basic structure and each module which should be implemented.After this, in the system function implementation part, this paper gives the detailed design of each module of the user login, personnel management, recruitment management, rewards and punishment information management, salary research, also attaching some key implementation codes of some important module, Finally, in order to ensure the correct and efficient of this system, this dissertation tests and summarizes this system.Keywords: J2EE;MyEclipse;personnel management system;Struts+Hibernate framework II 東華理工大學畢業設計(論文)
目錄
目 錄
摘 要........................................................................................................................................................I ABSTRACT...............................................................................................................................................II 第1章 緒論.............................................................................................................................................1 1.1 論文選題背景..............................................................1 1.2 研究目的及意義............................................................1 1.3 論文的組織結構............................................................2 第2章 系統開發相關技術......................................................................................................................3 2.1基于 B/S 的開發模式.......................................................3 2.2 MyEclipse簡介............................................................3 2.3 MySQL簡介................................................................4 2.4 Struts 框架結構與 MVC 架構................................................4 2.5 Hibernate簡介............................................................5 第3章 系統分析.....................................................................................................................................6 3.1 系統需求分析..............................................................6 3.2 系統功能分析..............................................................6 3.3 系統數據流分析............................................................7 3.4 系統可行性分析............................................................7 第4章 系統設計.....................................................................................................................................9 4.1 系統設計目標..............................................................9 4.2 系統功能模塊設計..........................................................9 4.3 系統數據庫設計...........................................................10 4.4 系統安全性設計...........................................................13 第5章 系統實現...................................................................................................................................14 5.1 用戶登錄................................................................14 5.2 人員管理................................................................15 5.3 招聘管理................................................................17 5.4 培訓管理................................................................19 5.5 獎懲管理................................................................22 5.6 薪金管理................................................................23 5.7 部門人員信息.............................................................24 第6章 軟件測試...................................................................................................................................26 6.1 軟件測試方法.............................................................26 6.2 軟件測試的目的...........................................................26 6.3 測試....................................................................26 6.4 測試用例................................................................27 6.5 測試總結................................................................28 第7章 總結與展望...............................................................................................................................29 7.1總結.....................................................................29 7.2展望.....................................................................29 IV 東華理工大學畢業設計(論文)
目錄
致 謝.....................................................................................................................................................30 參考文獻.................................................................................................................................................31
V 東華理工大學畢業設計(論文)
第1章 緒論
第1章 緒論
1.1 論文選題背景
自20世紀末期以來,隨著飛速發展的電子信息技術和逐漸興起的計算機技術,世界經濟開始了迅猛的發展。“信息技術時代”成為人們對這個時代的稱呼,這也充分的體現出了數字信息化在這個時代的重要性。
但與此同時,很多專家學者更喜歡稱其為“新經濟時代”。如今,隨著信息技術和計算機互聯網技術的飛速發展,計算機在人們的工作和生活中扮演著不可或缺的角色,在方便和服務人類社會的同時,也不斷的促使著傳統產業進行改革和升級,這是一個隨時都在發生巨大變革的時代。國家和企業想要繁榮和發展,就必須革新他們的技術。因此,信息化和數字化成為他們升級的重要手段。技術的不斷發展和升級,數字化和信息化成為主要的發展方向。在商業競爭中,技術進步就以為著企業能夠占據更高的地位。在這兩個因素的雙重作用下,企業所不能缺少的日常信息管理和發展已經越來越離不開信息技術,一個企業的信息管理系統是否足夠完善和高效從某些方面決定著企業是否能夠高效的運作。因此,信息管理數字化已經成為企業健康、高效運行的一項重要因素。
在這樣的背景下,對企業人力資源進行有效的管理自然而然的成為企業管理中非常重要的內容之一,人力資源管理系統也成為了企業管理者管理企業中員工的重要手段以及時了解人員的情況。要開發一個功能完整、高效、可行,并且成本能夠被接受的人力資源管理系統,就必須對企業管理中的人員基本信息,招聘信息、公司培訓信息、薪資福利、部門信息、等各方面的內容進行系統的分析,然后確定各個模塊的功能。系統用數據庫將與員工有關的信息統一管理起來,這樣不僅能有效的保存員工信息和公司的失誤,還能及時更新信息,實現資源的共享,充分的避免了傳統的人工管理操作出現的差錯。
1.2 研究目的及意義
傳統的企業人力資源管理方式不僅復雜繁瑣,還存在著許多的缺點。隨著時間一長,由于人員更變和企業的發展所產生的大量文件和數據將會使數據庫非常的龐大,這非常不利于查找及維護,并且很容易出錯。另外為及時了解企業員工的情況,確保企業的正常運作,用傳統管理模式的管理員需要花費大量的時間和精力才能夠進行各種數據記錄、數據更新和統計等工作,這非常不利于長遠的發展。隨著時代的變遷和技術的日新月異,計算機技術逐漸顯現出其它技術不能比擬的優點。現在計算機硬件發展得非常快速,大容量、高速率的計算機成為代替人們進行計算工作 東華理工大學畢業設計(論文)
第1章 緒論 的工具。同時,隨著計算機軟件技術的日漸成熟,人們已經充分感受到了其便捷、高效的特點,軟件技術也逐漸滲入了各個領域中,在很多關鍵的部分扮演著非常重要的角色。它們都是計算機應用中非常重要的部分,因此使用計算機技術對企業的人力資源進行管理是發展的潮流和趨勢。它有著非常多的傳統人力資源管理不能做到的優點。這些優點能夠提升企業的效率,為企業帶來更大的效益。因此,企業是非常需要一個這樣的人力資源管理系統,此次研究的目的便是為企業開發一個這樣的系統。
研發該系統的意義在于,它能夠更高效、更規范的管理企業人力資源,同時,在現在的企業規模處于一個日漸擴大的趨勢下,如果有這樣一個系統來幫助管理員來管理公司的各種信息,那將能夠大大提升公司的效率。也能夠有效的快速查詢公司人員的情況,這樣管理員就能很方便的對他們所需要的信息進行提取、分析,對功能進行總結,以簡化和改進程序,從而減少成本,節約人力,提高管理的效率。設計一個合理高效的系統,可以加快企業的信息化的過程,降低企業進入數字化的門檻。
1.3 論文的組織結構
第1章論述了在當今時代背景下,計算機信息技術的發展情況和企業人力資源管理研究的基本現狀。介紹和分析了與此次設計相關的各方面的因素,對全文進行了一個總體概述。
第2章主要是對此次系統設計所涉及的關鍵技術的介紹,它們在系統的開發過程中是非常重要的部分。
第3章對系統進行了整體的分析,通過系統功能概述、開發工具和技術的選擇與介紹以及對本次設計的可行性分析來確定此次在設計初期應該進行什么工作,為后面的設計工作規劃了一個總體的思路。
第4章則是系統的詳細設計流程,給出了在設計過程中具體實現功能的思想和算法,以及相應的系統流程圖。數據庫管理是必不可少的,本章也對系統所采用的數據庫系統進行了分析和實現,以達到正確和高效的處理數據信息。
第5章是對系統進行代碼實現,這部分是將設計轉變為實際軟件的關鍵步驟。論述了系統各個功能模塊的實現,并通過關鍵代碼以及界面截圖來加以說明。
第6章則是對本次設計的總結和展望,除了系統的分析了此次設計各方面的結果,同時也指出了系統存在的不足,以及能夠進一步改進的地方。
東華理工大學畢業設計(論文)
第2章 系統開發相關技術
第2章 系統開發相關技術
2.1基于 B/S 的開發模式
當計算機的數量以幾何級增長,因特網也越來越大,其重要性也逐漸突出。作為最快速方便的方式,瀏覽器技術已經成為了實現很多功能最優先的選擇,因此,B/S(瀏覽器/服務器)模式也越來越受到開發者和用戶的青睞。由于其先進性和其他特性都非常吻合當今的基于大型數據庫的信息系統的需求,很多開發系統的公司都在采用這種全新的技術模式。
一般來說,瀏覽器/服務器模式由三個部分組成,分別是瀏覽器、Web服務器和數據庫服務器。在這種模式下,瀏覽器就代替了客戶端,在瀏覽器中便可以使用各種的應用軟件,同時幾乎所有的用戶操作都可以在瀏覽器中進行。該結構的核心部分是Web 服務器,它提供支持其他部分的功能。它主要的作用是,接收用戶查詢請求,然后根據請求在數據庫服務器中尋找到相關的數據,根據它們之間的聯系生成相應的HTML代碼,最后將查詢的結果傳送回瀏覽器進行顯示。瀏覽器是這個系統的“前臺”,用戶通過瀏覽器對數據進行更改、刪除、新增等一系列的操作,然后將請求發送Web服務器,而數據庫服務器就是“后臺”,由它來負責這些工作。
2.2 MyEclipse簡介
Eclipse是現在軟件開發中非常受歡迎的軟件開發環境之一,不同用戶可以根據自身的特點來安裝各種插件,便可以實現相應的功能,而Myeclipse就是Eclipse中的一個插件集。開發者在開發系統或軟件時,需要經常用到一些插件,為了方便,MyEclipse就將這些插件集合封裝起來,這樣就可以很快速方便的使用各種插件的功能。與其他不同的是,它是收費的。
Eclipse是一個基于Java的,安全、高效、多線程、健壯、可移植、可擴張的開發平臺,因此,它也是開發源代碼的。很多人習慣性的認為,Eclipse就是Java的開發平臺,但是實際情況并非如此。實際上它支持很多其他的語言,也能夠當做用其它語言開發軟件的平臺,比如同樣很常用的C/C++。所以,只要為Eclipse提供支持相應語言的插件,它就可以構建出相應的開發環境,這是非常方便的。
現在有很多開源的工具,但是大多開源代碼的工具都是不一致的,也存在很多缺點,而MyEclipse或許能夠解決大部分的問題。MyEclipse中有一個重要的“加速器”——NitroX,它是開發Web應用非常實用的工具之一,功能就是加速程序的編譯和運行。在編譯JSP和Struts Web應用方面,還有一個很實用和高效的工具,東華理工大學畢業設計(論文)
第2章 系統開發相關技術
AppXRay,而這些工具的作用就是快速解析Java和XML配置文件以提高軟件運行的速度。
MyEclipse提供的大量的使用的工具,凸顯出其實用價值。常用的各種編輯器能夠幫助程序自動產生項目所有必須的組件,這極大的減輕了程序員的壓力,同時也加快了軟件開發的速率。在數據庫方面,它會相應的創建Hibernate配置文件和執行SQL語句的工具,以提高處理數據的效率。
2.3 MySQL簡介
MySQL數據庫系統屬于關系型數據庫管理系統,由Sun公司開發,之后被Oracle公司收購。MySQL 是當今非常流行的一種數據庫系統,受到了很多開發者的青睞。在Web開發應用方面,MySQL有著非常多其他數據庫系統無法比擬的優點。MySQL與傳統的數據庫系統存儲的方式不同,它將數據分表存儲,然后根據數據之間的關系進行關聯。這種存儲方式就使得它具有很高的數據處理速度和很好的靈活性。SQL語言是MySQL使用的語言,可以對數據庫進行訪問及其他操作,它是一種很方便的、高效的,常用標準化語言。根據不同的規模和功能,MySQL 軟件有兩個版本,分別是社區版和商業版,不同的用戶可以有適合本身特點的選擇。對一般中小型網站的開發者而言,開發網站必須優先考慮經濟因素,而由于MySQL的特點,使用它來進行系統開發能夠保證較低成本,加上它是開放源碼的,MySQL成為了他們優先的數據庫系統選擇。通常配合 PHP 和 Apache可以組成一個功能較完善并且相當良好的開發環境。
雖然對于大型企業來說,巨大的數據量使得MySQL顯得不足,和其他的大型數據庫系統相比,MySQL的規模和功能就顯得不夠用。然而對于一般的用戶而言,開發一個較小的系統,實用而廉價的MySQL就已經綽綽有余,同時作為一個開放源碼軟件,在經濟方面就有巨大的優勢。要建立一個穩定、免費的網站,可以采用四個免費或開源的軟件,分別是Linux操作系統,Nginx服務器,PHP服務器以及MySQL數據庫。這種方式被稱為“LNMP”組合,由于具有很高的實用性和經濟性,它經常被系統開發者采用。
2.4 Struts 框架結構與 MVC 架構
Struts是一種在應用在JavaEE Web開發的框架技術。其中主要的技術是Servlet和Java Server Pages,它們也是網頁開發中比較重要的技術。由于它能使開發更簡單和易操作,并且能夠提供工作效率以縮短系統開發的時間,Struts框架在網頁開發中也受到了很大的重視。Struts的特點是,以HTTP為中心、輕量級、開源、基于設計模式、擴展性,模型無關等等。Struts采用Model2,包括模型(Model),東華理工大學畢業設計(論文)
第2章 系統開發相關技術
視圖(View)和控制器(Controller)三部分。
MVC架構是模型-視圖-控制器的縮寫,是一種經典的軟件設計模型。這樣它減弱各自層的責任,每一層在做好自己的工作的同時,還需要聯系其他層,并提供相應聯系的服務。視圖的功能是展示內容,很多技術,如Flash,XHTML,XML/XSL 等標識語言和 Web services都可以應用在視圖層中來增加視圖功能的豐富性和多樣性。隨著模型的改變,視圖層會相應的更新展示的內容。模型層規定了軟件的模式,規劃了各個功能的結構和層次。
2.5 Hibernate簡介
Hibernate是服務于數據庫的框架,它對Java Database System進行了輕量級的對象封裝。由于使用的是對象編程思維,Java程序員可以方便的操縱數據庫。由于既可以在Java的客戶端程序使用,也可以在其他很多模式的Web應用開發中使用,Hibernate被廣泛的應用使用JDBC的場合。值得一提的是,Hibernate在J2EE中非常重要,因為它能夠完成數據的信息持久化。
Hibernate一共有5個核心接口,這些接口都是非常重要的,因而幾乎所有的開發中都會用到它們。這些接口的作用,不只是存取持久化的對象,還有對事務進行相應的控制。
東華理工大學畢業設計(論文)
第3章 系統分析
第3章 系統分析
為了精確地分析出企業人力資源管理系統的特點,本文通過需求分析、功能分析、數據流分析,對此次設計的人力資源管理系統的各個模塊和功能進行了詳細的分析,構建出了該系統總體框架,為之后的詳細設計開發規定了方向。
3.1 系統需求分析
通過合理科學的管理人力資源,能夠及時掌握公司的人員情況,充分的利用人才來創造更大的效益。在這個人才競爭的時代,公司之間的競爭實際上就是人才的競爭,因此,人才的利用率的提高也就意味著公司競爭力的提高。企業內部信息的到了快速、高效的管理,對企業的做出決策、制訂發展計劃有很好的提升,使企業能夠快速的在這個信息化時代中把握住了數據方面的優勢。同時,對公司員工的有效管理,做出適合員工情況的情況,還能提高員工的工作熱情和效率,促進員工之間的關系,使員工能夠更好的生活和工作。在該系統中,員工最關注的是獎懲和薪酬管理的部分,它們反映了員工的工作情況,這樣能夠幫助人事部管理員及時做出調整,保證員工的穩定,也讓員工可以及時了解與自己相關的信息。同時及時更新培訓的信息,可以根據情況制定培訓計劃以滿足公司的發展情況。
3.2 系統功能分析
本系統分為六大功能,分別為人員信息管理、招聘管理、培訓管理、獎懲信息管理、薪酬管理以及部門信息管理。具體說明如下。
人員信息管理:主要是用來管理企業員工的一些基本信息,如姓名,性別,出生日期等等。
招聘管理:主要是為了滿足企業的招聘管理,包括企業的招聘信息、應聘信息、企業人才庫等等信息。
培訓管理:主要為了方便企業開展培訓計劃,包括企業的培訓計劃、培訓實施、培訓時間、培訓材料等等信息。
獎懲管理:主要是記錄員工工作的狀況,包括對獎懲信息等等信息進行管理。薪酬管理:反映員工本月工作情況的好壞,計算員工該得的薪金。部門信息:是為了方便管理員查詢各部門人員的信息。
東華理工大學畢業設計(論文)
第3章 系統分析
3.3 系統數據流分析
基于以上功能需求分析和功能分析描述,本部分將針對系統功能需求中的數據進行梳理分析,數據流圖能夠很好的描述系統的數據流,根據數據在系統中的流動方向,畫出 DFD 圖,可以很好的說明系統的數據需求。首先超級管理員根據系統后臺嵌入的超級管理員賬號和密碼進入系統之后,可以給其低優先級的用戶分配賬號和密碼,然后用戶可以用超級管理員分配的賬號和密碼(初始化的密碼)登入系統,進行自我信息的維護。系統中各數據流動的情況如圖3-1所示:
圖 3-1 人事管理系統數據流圖
3.4 系統可行性分析
可行性分析在系統開發過程中是一項不可或缺的步驟。它是通過實際的調研,根據收集到的各種資料,來判斷新系統的研發能否正常進行,即是否具備可能性和必要性。還要從經濟、技術等各方面對所要開發的系統進行正確的研究和分析,以避免在開發時出現問題,而導致投資失敗。進行系統的可行性分析,就是盡量用最小的代價來確定存在的問題,并判斷這些問題能否得到解決。本系統的可行性分析主要從技術和經濟兩方面來考慮:
(1)技術可行性:為了方便和高效,同時考慮到可用技術的限制,本系統采 東華理工大學畢業設計(論文)
第3章 系統分析
用了的是簡單高效的B/S模式。在軟件方面,以MyEclipse 6.0.1為開發平臺,數據庫服務則選用目前比較流行的Mysql數據庫,它能滿足中小型系統的數據處理,同時能夠較好的保持數據中信息的完整性。Mysql中還有許多其他的功能,這些功能對我們開發軟件有很大的幫助。在性能方面,可以滿足基本的性能需求,使開發者有一個良好的編程環境。由于此系統是使用網頁作為服務端的,因此需要用瀏覽器來實現功能,選擇IE瀏覽器進行開發設計。
(2)經濟可行性
一般來說,開發這樣一個規模較小的軟件,當前可使用的軟、硬件設備都能夠很完好的滿足系統的需求,所以,開發一個滿足設計需求的人力資源管理系統的總體投入比較小,是可以接受的。通過分析,本系統是在實現所有必要的功能的前提下,盡量使其簡練,最大程度上簡化了繁瑣的開發步驟,減少了系統開發的工作量和時間。同時,本系提供了很多接口以滿足不同情況下不同的需求,開發者可以根據自身需求對系統進行相應的改進,這也就意味著系統的運行效率和設備的利用率就比較高。因此在經濟上該系統的開發是可行的。
綜上所述,基于J2EE的企業人力資源管理系統的開發是完全可行的。
東華理工大學畢業設計(論文)
第4章 系統設計
第4章 系統設計
4.1 系統設計目標
本系統是為了某企業的人事處所設計的軟件,因此系統的設計目標是使得能夠服務于企業內部的人力資源管理。通過應用本系統,企業管理者就能夠及時掌握企業人員以及各部門的基本情況,并根據企業的狀況來制定相應的計劃和工作,使得公司能夠健康、高效的運行。
4.2 系統功能模塊設計
該人力資源管理系統為公司內部人員服務的,由管理員為每位員工分配可用的賬號和密碼,企業內部的員工可以使用該系統。內部員工只能通過輸入合法的用戶名和密碼才能登錄系統并進行各種操作。
根據需求,系統分為6大模塊,該系統功能設計結構如圖4-1所示。
圖4-1 系統功能模塊圖 東華理工大學畢業設計(論文)
第4章 系統設計
各模塊的功能說明如下:
(1)人事管理
人事管理模塊主要功能是對人員信息進行管理。該模塊包括四個子功能,分別是人員信息錄入、人員信息查詢、人員信息修改和人員信息刪除。人事管理是人力資源中非常重要的一個部分,管理員可以通過這些功能管理公司員工的情況,并能夠及時進行更新。
(2)招聘管理
招聘管理模塊主要功能是管理公司招聘情況的信息,包括應聘信息錄入、查詢、修改與刪除以及人才庫信息瀏覽的功能。管理員可以通過該模塊管理招聘信息和應聘人員的情況,方便公司管理者進行招聘工作。
(3)培訓管理
培訓管理模塊主要功能是管理公司培訓計劃的信息,主要包括培訓信息錄入、修改、刪除等功能。在查詢功能中,可以查看到每個培訓的詳細信息。該模塊是為了方便公司的管理人員及時了解公司的情況,指定合適的培訓方案。
(4)獎懲管理
獎懲管理模塊的主要功能是管理員工獎懲情況的信息,主要包括獎懲信息錄入、修改、刪除和獎懲信息查詢功能。在查詢子模塊中,員工可以查看到詳細的獎懲信息,保證公平公正。該模塊是為了讓企業管理者和員工能夠了解員工的工作情況,以做出相應的調整。
(5)薪金管理
薪金管理模塊的主要功能是管理員工薪金情況的信息,主要包括薪金信息錄入、修改、刪除和薪金信息查詢功能。在查詢子模塊中詳細的列出了每個員工各項所得薪金的情況。該模塊能夠反映出員工工作情況,也是員工非常關心的內容。
(6)部門管理
部門管理模塊的主要功能是管理各部門人員的情況,該部分的主要功能是分部門查看人員信息,在該模塊中也可以進行人員信息的修改和刪除。考慮到公司的部門較多,員工數量也很多,因此分部門查詢員工信息可以節省管理者的時間。
4.3 系統數據庫設計
能否建立一個高效、便于管理的數據庫直接影響系統的好壞和效率,考慮到本系統實體之間關系比較復雜,采用MySQL-Front可視化工具,它可以快捷方便的管理數據信息。本系統所用到的數據表信息如下:
(1)人員信息表
人員信息表存儲的是企業員工的一些基本信息,包括員工的姓名(用戶名)、10 東華理工大學畢業設計(論文)
第4章 系統設計
密碼、性別,所屬部門、聯系電話等。人員信息表如表4-1:
表4-1 人員信息表(users)
字段名 Id Username Password Sex Birthday Createtime Isadmin Content Minzu Bumen Education Address Idnumber Pol Tel
數據類型 Int(11)Varchar(255)Varchar(255)Bit(1)Datetime Datetime Bit(1)Text Varchar(255)Varchar(255)Varchar(255)Varchar(255)Varchar(255)Varchar(255)Varchar(255)
是否主鍵 是 否 否 否 否 否 否 否 否 否 否 否 否 否 否
描述
員工編號
用戶名
密碼
性別
出生日期
創建日期
是否管理員
簡介
民族
所屬部門
學歷
地址
身份證號
政治面貌
聯系電話
員工編號作為主鍵,設置為自動增長。其中密碼在查看的時候會以密碼的形式顯示,以保證賬戶的安全。出生日期和創建日期都必須以日期的格式填寫,性別和“是否管理員”都是復選框,0表示否,1表示是。其他字段都是字符型。
(2)獎懲信息
獎懲信息存儲的是員工作情況的信息,包括獎懲名稱、原因、說明和時間等。
表4-2 獎懲信息表(institution)字段名 Id name reason explains createtime
數據類型 Int(11)Varchar(255)Varchar(255)Varchar(255)Datetime
是否主鍵 是 否 否 否 否
描述
獎懲編號
獎懲名稱
獎懲原因
獎懲說明
創建時間
獎懲編號作為主鍵,設置為自動增長。
(3)應聘信息表
應聘信息表存儲的是應聘人員的一些基本信息,包括應聘者的姓名、性別、年齡、應聘職位、學歷、電話號碼等。東華理工大學畢業設計(論文)
第4章 系統設計
表4-3 應聘信息表(job)字段名 Id name sex age job specialty experiencet studyeffort school tel
email createtime content isstock
數據類型 Int(11)Varchar(255)Bit(1)Bit(1)Varchar(255)Varchar(255)Varchar(255)Varchar(255)Varchar(255)Varchar(255)Varchar(255)Datetime Text Bit(1)
是否主鍵 是 否 否 否 否 否 否 否 否 否 否 否 否 否
描述
應聘人員編號
應聘人員姓名
應聘人員性別
應聘人員年齡
應聘人員職位
所學專業
工作經驗
學歷
畢業學校
電話號碼
Email地址
創建時間
詳細經歷
是否入庫
應聘人員編號作為主鍵,設置為自動增長。
(4)培訓信息表
培訓信息表存儲了公司開展培訓的一些必要信息,包括培訓名稱、目的、開始和結束時間、講師、學員和培訓效果等。
表4-4 培訓信息表(education)字段名 Id name purpose begintime endtime datum teacher student createtime educate effect summarize
數據類型 Int(11)Varchar(255)Varchar(255)Datetime Datetime Text Varchar(255)Varchar(255)Datetime Bit(1)Varchar(255)
Text
是否主鍵 是 否 否 否 否 否 否 否 否 否 否 否
描述
培訓編號
培訓名稱
培訓目的 培訓開始時間
培訓結束時間
培訓材料
培訓講師
培訓人員
創建時間
培訓是否完成 培訓效果
培訓總結 東華理工大學畢業設計(論文)
第4章 系統設計
培訓編號作為主鍵,設置為自動增長。
(5)薪金信息
薪金信息表記錄了公司員工各項指標所得到或所扣除金額的信息,統計了各個員工獲得的薪金。其中包括了基本薪金、飯補、房補、各種獎懲等信息。
表4-5 薪金信息表(stipend)字段名 Id name basic eat house granttime scot duty punishment other totalize
數據類型 Int(11)Varchar(255)Varchar(255)
Float Float Datetime Float Float Float Float Float
是否主鍵 是 否 否 否 否 否 否 否 否 否 否
描述
薪金編號
員工姓名
基本薪金
飯補
房補
工資發放時間
全勤獎
賦稅
罰款
額外補助
總計薪金
應聘人員編號作為主鍵,設置為自動增長。
4.4 系統安全性設計
(1)系統采用權限訪問機制
本系統僅面向企業內部員工,因此用戶要登錄系統時必須進行身份認證,只有輸入合法的用戶名及密碼才能登錄系統,以保證企業信息安全。系統通過匹配數據庫中的信息來判斷用戶名密碼是否正確,只有當通過身份認證后,用戶才可以進行各種操作。
(2)數據庫加密
用戶密碼是需要受到保護的,因此需要的對數據庫中密碼進行加密存儲。本系統通過加密技術將密以密文形式輸出,不會造成密碼被他人獲取,保證了用戶信息的安全,同時也保證了系統的安全。
(3)數據備份與恢復
為了防止數據庫在使用過程中某種原因受到破壞而造成數據的丟失,必須指定一種能夠保證數據能夠恢復的方案,同時也為了方便系統的恢復和其他操作,數據備份與恢復是一項必須的工作。MySQL本身提供了備份和恢復的功能,在開發系統的過程中應用這些功能便可以保證數據的安全與完善。13 東華理工大學畢業設計(論文)
第5章 系統實現
第5章 系統實現
5.1 用戶登錄
用戶要進入該系統,必須使用有效的賬號密碼登錄,才能進入該系統。用戶名和密碼分別對應數據庫中users表的username和password字段。登陸界面如圖5-1所示:
圖5-1 用戶登錄頁面
該登錄界面主要是使用HTML/CSS技術,分別添加圖片、文本、編輯框和按鈕即可實現。
該功能的設計思路是,定義的session變量接收輸入的用戶名和密碼,Serverlet則會根據Struts框架中的ActionForm進行數據匹配,如果用戶名和密碼正確,則自動進入系統,否則系統提示錯誤,無法進入系統。
實現用戶登錄功能的關鍵代碼為:
UsersForm usersform=(UsersForm)form;
Users users=new Users();
users.setUsername(usersform.getUsername());
users.setPassword(usersform.getPassword());
boolean flag=dao.logonUsers(users);
if(flag){ 東華理工大學畢業設計(論文)
第5章 系統實現
request.getSession().setAttribute(“users”,users);
return mapping.findForward(“success”);
}else{
request.setAttribute(“error”, “登錄失敗”);
return mapping.findForward(“failed”);
} 登錄成功后,進入如圖5-2所示頁面:
圖5-2 系統首頁
該頁面的作用是讓用戶清楚地了解網站主要的功能,起到一個導航的作用,讓用戶能夠找到自己想要的東西并進行相應的操作,所以該頁面的設計必須簡潔明了。
5.2 人員管理
人員管理模塊包括人員信息錄入、查詢、修改和刪除。
(1)人員信息錄入
人員信息錄入如圖5-3:
東華理工大學畢業設計(論文)
第5章 系統實現
圖5-3 人員信息錄入頁面
管理員按要求依次錄入員工的各種信息,點擊保存即保存信息。
本功能的設計思想是,在JSP頁面中定義了一個session對象,當用戶輸入數據時,這個session便會獲得各個字段的數據,根據Struts框架中的.xml中定義的結構,調用相應的Action將數據存入數據庫中。
該功能主要在UsersDao中實現,通過Serverlet控制器實現各種操作,該功能的關鍵代碼如下:
Private ActionForward addUsers(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){
范圍
return mapping.findForward(“success”);}
//跳轉到成功頁面
UsersForm usersform=(UsersForm)form;//獲得UsersForm
Users users=usersform.populate();
//獲得提交的人員信息
dao.addUsers(users);} private ActionForward listUser(ActionMapping mapping, ActionForm form,request.setAttribute(“list”,dao.listUser());//將人員信息列表保存到request
//完成人員信息保存
return mapping.findForward(“success”);//跳轉到成功頁面
HttpServletRequest request, HttpServletResponse response){
(2)人員信息查詢
信息保存之后便存入了數據庫的users表中,可以通過人員信息查看獲取員工信息。效果如圖5-4:
東華理工大學畢業設計(論文)
第5章 系統實現
圖5-4 人員信息查詢頁面
為了保證用戶信息的安全,在該頁面中,密碼以密文形式顯示。
執行操作中還有對人員信息進行修改和刪除本條記錄的操作。點擊修改則跳轉回信息錄入界面,可以重新編輯。點擊刪除則會將該條記錄刪除掉。
此查詢功能的設計思路是,在jsp中的session.setAttribute(“U”,“users”)可以使其它任何頁面可以獲得該session的值,即值為“users”的對象,因為session貫穿于整個頁面始終。得到了人員信息表(users)的信息之后,調用Action將其按表格的形式輸出,該功能的關鍵代碼如下:
public List listUser(){//顯示人員列表
} Session session = HibernateSessionFactory.getSession();//獲得Session對象
Query query = session.createQuery
(“select u from Users as u order by createtime”);//執行查詢
List list = query.list();//獲得查詢列表
HibernateSessionFactory.closeSession();//關閉Session對象
System.out.println(list);return list;
//返回人員列表
5.3 招聘管理
招聘管理主要包括三個功能,分別是應聘信息錄入,應聘信息查詢,人才庫瀏覽。管理員根據規則填寫應聘者的信息。應聘信息錄入部分如圖5-5:
東華理工大學畢業設計(論文)
第5章 系統實現
圖5-5 應聘信息錄入頁面
應聘信息錄入模塊與人員信息錄入的原理是相似的,也是通過session獲得各個字段的數據,根據Struts框架中的.xml中定義的結構,調用相應的Action將數據存入數據庫中。
該功能主要在JobDao中實現,Serverlet控制它來進行各種操作。
錄入信息之后,點擊保存即存儲了該條信息。通過應聘信息查看可以查看到人員的信息,如圖5-6:
圖5-6 人才信息查詢頁面
該功能也是通過session對象,調用對應的Action以表格的形式輸出應聘信息表(Job)中的部分信息。設計中,表格的最后一列中實現了三個操作,分別是“詳細”、“刪除”和“入庫”,其說明如下:
點擊詳細可以查看到更為詳細的信息,如圖5-7:
圖5-7 人才詳細信息
該功能與查看信息的功能所用到原理是類似的,不同之處僅僅在于輸出的格式不一樣。由于一條信息的字段較多,用表格輸出不太方便,因此用這種面板上的文本格式輸出會更好。
當應聘人員審批通過后,點擊入庫,即可將其信息存入人才庫。如圖5-8: 東華理工大學畢業設計(論文)
第5章 系統實現
圖5-8 人才信息瀏覽頁面
“入庫”的原理其實就是將Job表中的信息加一個標志,之后它便屬于人才庫中的記錄,而不再在應聘人員信息表中顯示。
實現該模塊的關鍵代碼如下:
private ActionForward detailjob(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){
} Long id=new Long(request.getParameter(“id”));//獲得參數id Job j=dao.loadJob(id.longValue());//加載該ID對應的應聘信息 request.setAttribute(“job”,j);//將應聘信息對象設置到request范圍 return mapping.findForward(“success”);private ActionForward updateJob(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){
JobForm jobform=(JobForm)form;
Job j=jobform.populate();
dao.updateJob(j);
return mapping.findForward(“success”);
} “刪除”功能類似于培訓管理中的“刪除”功能,不再贅述。
5.4 培訓管理
為了滿足公司技術需求,培訓管理模塊是非常重要的。該功能包括三個部分,培訓計劃的錄入和查看,培訓總結的查看。根據公司的安排,管理員必須輸入培訓計劃的信息,其操作如圖5-9:
圖5-9 培訓計劃錄入頁面 東華理工大學畢業設計(論文)
第5章 系統實現
培訓計劃錄入模塊與人員信息錄入的原理是一致的,通過session獲得各個字段的數據,根據Struts框架中的.xml中定義的結構,調用相應的Action將數據存入數據庫中。
該功能主要在EducateDao中實現,通過Serverlet控制器來實現各種操作。
信息錄入之后,點擊“保存”,數據庫中的培訓信息表(educate)中便自動存儲了一條新的信息。以后,可以通過培訓計劃查看了解培訓的信息,如圖5-10所示:
圖5-10 培訓計劃查詢頁面
同樣,在該界面還可以進行查看詳細信息和刪除計劃操作。如圖5-11:
圖5-11 查看詳細信息頁面
刪除功能的設計思路是,點擊“刪除”時,系統自動獲取該培訓計劃的ID,通過該ID在“培訓信息”表中找到對應的培訓計劃,然后將其刪除。
其關鍵代碼如下:
private ActionForward detailEducate(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws HibernateException
{
Long id=new Long(request.getParameter(“id”));
Educate e = dao.loadEducate(id.longValue());
System.out.println(e.getName());
request.setAttribute(“educate”,e);
return mapping.findForward(“success”);
} public void deleteEducate(Educate e)throws HibernateException
{
Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();
session.delete(e);東華理工大學畢業設計(論文)
第5章 系統實現
tx.commit();
HibernateSessionFactory.closeSession();
}
當某個培訓完成時,點擊“培訓完成”即可對此次培訓進行總結并將記錄存入總結中。如圖5-12:
圖5-12培訓總結頁面
錄入信息成功之后,本條記錄便會被保存到數據庫對應的數據表中。可以通過查看培訓總結來了解各培訓總結的詳細情況,如圖5-13:
圖5-13 總結詳細情況頁面
查看培訓總結的原理與查看人員詳細信息類似,使用post提交查詢數據,后臺控制器處理并從數據庫中取出數據,然后向視圖層發送數據,用于顯示。通過session獲得值為”Educate”的對象,之后調用Action輸出數據。
該部分的關鍵代碼為:
public List listEducate(byte educate)throws HibernateException{
Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();
Query query = session.createQuery(“select e from Educate as e where e.educate =:educate order by createtime”);
query.setByte(“educate”,educate);
List list = query.list();東華理工大學畢業設計(論文)
第5章 系統實現
tx.commit();
HibernateSessionFactory.closeSession();
return list;
}
5.5 獎懲管理
獎懲管理是為了統計公司員工工作情況的表現所獲得的獎勵與懲罰。主要包括兩個部分,獎懲信息登記和獎懲信息查看。
管理員根據報告錄入獎懲信息,如圖5-14:
圖5-14 獎懲信息登記頁面
可以通過獎懲信息查看來獲取信息,如圖5-15:
圖5-15 獎懲信息查詢頁面
點擊詳細可以查看詳細的獎懲信息,如圖
5-16:
5-16獎懲信息詳情頁面
獎懲管理中錄入與查看的設計思想與其他模塊中錄入與查詢的思想基本一致,故不再贅述。
實現修改功能的關鍵代碼為:
public void updateInstitution(Institution ins)throws HibernateException{ 東華理工大學畢業設計(論文)
第5章 系統實現
Institution e =this.loadInstitution(ins.getId().longValue());
if(ins.getExplain()!=null){
e.setExplain(ins.getExplain());
}
if(ins.getName()!=null){
e.setName(ins.getName());
}
if(ins.getReason()!= null){
e.setReason(ins.getReason());
}
Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();
session.update(e);
tx.commit();
HibernateSessionFactory.closeSession();}
5.6 薪金管理
薪金管理是由財務部統計匯總,表示員工在這段時間內的工作情況和其所得的薪金,包括兩個部分,薪金數據錄入和薪金數據查看。
薪金數據錄入如圖5-17:
圖5-17 薪金數據錄入頁面
點擊保存之后,便存儲了該條信息。可以通過薪金信息查看獲取各員工的信息,如圖5-18:
東華理工大學畢業設計(論文)
第5章 系統實現
圖5-18 薪金數據查詢頁面
該模塊中錄入與查詢功能的設計思路與之前模塊的一致,不再贅述。其中,計算薪金的關鍵代碼為:
private Stipend getCountTotalize(Stipend e){
float count=0;
count=count+e.getBasic().longValue();
count=count+e.getDuty().longValue();
count=count+e.getEat().longValue();
count=count+e.getHouse().longValue();
count=count+e.getOther().longValue();
count=count-e.getPunishment().longValue();
count=count-e.getScot().longValue();
e.setTotalize(new Float(count));
return e;
} 5.7 部門人員信息
該部分的主要功能是,當人員數量很多時,將他們按部門分類查看,便于管理。如圖5-19:
圖5-19 部門人員信息頁面 東華理工大學畢業設計(論文)
第5章 系統實現
在該界面也可以進行人員信息的修改、刪除操作。該模塊的修改和刪除操作的設計思想與之前模塊的一致,不再贅述。
其中,實現分類查看功能的關鍵代碼為: <% List list=(List)request.getAttribute(“list”);
%>
if(list!=null&&list.size()>0){ Iterator it = list.iterator();java.util.HashMap
while(it.hasNext()){
} for(Iterator itNew=map.keySet().iterator();itNew.hasNext();){ String name = itNew.next().toString();Users u1 =(Users)it.next();String bumen = u1.getBumen();if(map.get(bumen)==null)map.put(bumen, new java.util.ArrayList
第6章 軟件測試
第6章 軟件測試
6.1 軟件測試方法
在軟件開發的整個周期中,軟件測試都是必要的。我們需要對軟件的需求說明書,軟件結構設計及程序代碼等整個軟件的各個對象都進行仔細的分析測試。
主要的軟件測試方法包括白盒、黑盒和灰盒測試三種,其中白盒測試和黑盒測試是經常用到的測試方法。系統最終是交付給用戶使用,因此,我們需要從用戶的角度,進行重復的測試,確切來說,應當更加全面的來驗證軟件的各項指標能否滿足用戶的要求和實際應用需求。
6.2 軟件測試的目的
軟件測試的目的是為了確保軟件最終交付的時候是能夠正確運行的。一般來說軟件的測試必須嚴格的按照軟件分析測試流程,制訂詳細的測試計劃、測試計劃、測試標準,然后進行測試,并且記錄測試結果,然后進行分析,最后還要寫出測試報告,以確定修改的對策和方案。軟件測試只能找出程序中存在的錯誤,但并不代表程序完全沒有錯誤,錯誤是一定存在的,只要把錯誤控制在可以接受的范圍中便可以說軟件是成功的。
測試最終需要達到一定的要求:
(1)確保產品實現了它該有的功能,并且所有用戶可以訪問到的功能都有明確的書面說明。
這項要求對應的是軟件的書面文檔。書面文檔是軟件開發中最重要也是最難完成的一部分,從某種程度上來說,它的質量直接影響到軟件最終的質量。
(2)確保產品具備較好的性能和運行效率。
只有一個高效率、界面友好、性能完善的軟件才是一個合格的產品。
(3)確保產品是健壯的和適應用戶環境的
健壯性是產品是否能夠正常使用最基本的要求,如果一個軟件不夠穩定,那么它便不能正常使用,也就無法達到用戶的使用標準。另外,應當充分考慮到用戶操作環境的多樣性從而對軟件進行改進。
6.3 測試
對本軟件的測試主要是測試各個功能是否能夠正確的實現,包括各種信息的錄入是否成功,存儲的數據是否正確,各種信息能否正確輸出,程序是否還存在bug。
在完成編碼的工作以后,根據以上的方法和步驟進行如下的測試: ? 東華理工大學畢業設計(論文)
第6章 軟件測試
界面測試:在不開啟Services的情況下,測試各個模塊中鏈接的連接情況,判斷其是否能夠真確連接,并記錄每次連接的情況。然后根據問題進行改進,直到所有的鏈接都能跳轉到正確的頁面。
功能測試:對網站的幾各功能的模塊逐一進行測試,進行各種數據的輸入輸出,記錄錯誤情況,并進行分析。?
性能測試:將程序發布至多用戶,測試其是否滿足多用戶的要求。? 需求測試:根據需求分析的內容,相應的進行各模塊的測試,觀察結果是否符合當初的設計要求。?
通過對軟件各個模塊系統和充分的測試,系統中存在的問題和不足都一一的顯示了出來。根據測試的情況和錯誤的信息,及時的對程序進行了相應的修改和優化,能夠改正許多bug,提高系統的性能。
6.4 測試用例
對軟件的各個模塊進行了各功能的測試,列出如下部分測試用例。表6-1列出了部分功能的測試用例,表6-2列出系統主要界面的測試用例。
表6-1 功能測試用例
測試模塊
權限管理模塊測試
測試的內容
系統的管理權限只有管理員才能夠對系統進所有的管理操作。
修改信息操作測試
登錄用戶可根據需修 改,修改后將數據保到
數據庫。
刪除信息操作測試
管理員可以對已有的記錄進行刪除操作,同時更新到數據庫
修改數據是否 能夠正確的存儲到數
據庫中。
是否能夠正確刪除相
應的記錄。系統測試問題
選取理由
非合法用戶不能登錄 非法登陸用戶或非
系統。
登錄用戶沒有對某 些模塊進行訪問和
操作
數據能否正確存儲代表著本功能是否能夠
正確實現 刪除功能也是對數據庫中數據進行的操作,最終數據庫中的數據的變化提現該功能是
否正確。
功能鏈接測試
各個鏈接對應相應的功能操作,會跳轉至對
應的操作界面
能否正確跳轉。
能否正確跳轉是網站最基本的功能,也是一項非常重要的操作。
東華理工大學畢業設計(論文)
第6章 軟件測試
表6-2 界面測試用例
測試模塊 登錄界面 人員管理 招聘管理 培訓管理 獎懲管理 薪金管理 測試內容 用戶名密碼 出生日期 入庫 查看詳細內容
錄入 錄入
數據 123/123 197302345 將某條信息入庫 點擊“詳細” 錄入一條獎懲信息 錄入一條薪金信息
期望 無法登錄 日期錯誤 入庫成功 詳細信息 成功保存 成功錄入
選取理由
只有合法用戶名密碼才能登錄
日期有固定格式 該功能將候選者錄入合格 該功能是列出培訓的詳細內容 本模塊是存儲獎懲信息 本模塊是存儲薪金信息
6.5 測試總結
經過測試,該軟件能夠滿足用戶需求。各個功能的操作都比較方便,能夠進行正常的數據讀取操作。但是,在錄入信息的數據量比較大的情況下,管理員進行操作也需要耗費較多的時間。在這個方面還可以做一些提升,例如可以加入類似數據導入的功能。該系統的優點是,結構較清晰,層次分明,效率較高,能夠滿足大部分的需求。各個模塊中展示信息的功能都能夠正確的運行。不足的方面是某些功能還不夠完善,有待提升。
東華理工大學畢業設計(論文)
第7章 總結與展望
第7章 總結與展望
7.1總結 世紀是一個發展的時代,數據信息在這個時代中占據著舉足輕重的地位。隨著知識經濟的蓬勃發展,信息市場的欣欣向榮,各個企業之間的競爭也逐漸升級。同時,企業的競爭意識也得到了不斷的強化,很多企業不再僅僅看重實體的發展,開始意識到了人力資源的重要性。對于一個企業的發展,人才是不可缺少的因素。如何盡可能充分運用好擁有的優秀的人力資源,提升企業的影響,提升企業的效益,成為了企業管理中一項非常重要的內容。因此,通過科學的管理企業人力資源進,能夠讓企業內部更加健壯,使企業保持活力。不僅是企業,在其他很多方面,也需要這種科學的管理。要實現人才戰略,還需要更多科學管理手段的加入。開發人力資源管理系統能夠高效的處理各種數據信息,方便企業管理者掌握公司的情況,以作出最合適的管理方案。
本文首先從人力資源在國內外的研究現狀著手,說明了人力資源管理的重要性以及在我國未來發展中的作用,接著結合人才戰略發展實際,說明了作為一個企業,開發本系統的必要性。接著通過對企業人力資源管理工作的實際剖析,做出了具體功能的分析,并得出了結論,將其進行了功能模塊的切分,最后應用MyEclipse 6.0 作為開發工具,開發出了適合企業未來發展的基于 B/S 模式的人力資源管理系統。
本文在充分結合了人力資源管理系統理論和思想的基礎上,結合JZEE等技術,以企業項目為背景,設計實現了適合企業需求的基于J2EE的分布式人力資源管理系統。
本文實現的人力資源管理系統是針對軟件公司進行設計的,其基本原理也適用于其他相關企業的人力資源管理工作,使用該系統可以有效地提高企業管理工作的效率。
7.2展望
在日常的管理工作中,通過實踐的熏陶,管理者還會誕生新的管理理念,就需要及時地將最新的管理理念灌輸到系統的功能模塊中,使其最大限度的發揮計算機的作用,幫助管理者進行有效的抉擇,這也是本人仍需努力研究的方向。在今后的工作中,本人將結合實際,繼續深入的研發,使得該系統更加的完善,達到更加人性化的管
理。
東華理工大學畢業設計(論文)
致謝
致 謝
至此,我的畢業論文已基本完成,也伴隨著我4年大學生活的結束,即將離開這里的一切。論文能夠如期的完成,多虧了桂穎老師耐心的提醒和督促我完成畢業設計,給予了我非常多的幫助,我也從老師那里學習到了非常多的知識。畢業設計中遇到的問題,老師都會抽出時間給我進行詳細的講解。沒有老師的耐心教導和幫助,我很難完成這次的設計,再次,我想對老師表示衷心的感謝。
還有很多熱心的同學幫助我,耐心幫助我發現問題,解決問題。這些都使我學會了要多多聽取他人的意見和建議,不要一個人悶頭苦思。和同學們的交流使得我的思路更加清晰,心境上更加的沉靜,感覺學會了許多,在這里也真心的感謝同學們對我的幫助。
在這四年的大學生活中,老師的悉心教導、同學間的友愛和幫助讓我在工作學習和為人處事方面都得到了非常大的提高。感謝東華理工大學對我的教育與培養,感謝信息工程學院的老師們,我會永遠都會銘記老師的辛勤教導給了我今日的滿載而歸。感謝在四年的大學生活中,給予我幫助所有同學,有了你們的陪伴,我的學習和生活才如此豐富精彩。在此我向你們表示衷心的感謝。
東華理工大學畢業設計(論文)
參考文獻
參考文獻
[1] 劉鐵明.論人力資源管理的對象 [J].湖南財政經濟學院學報 ,2013,29(141):133-138.[2] 李剛.輕量級 Java EE 企業應用實戰(第 3 版)-Struts2 + Spring3+ Hibernate 整合開發 [M].北京 : 電子工業出版社 ,2013.[3] 王功益.人力資源管理機構對信息化的需求 [J].電腦知識與技術 ,2013,9(16):3899-3900.[4] 李芬.論我國中小企業人力資源管理存在的問題及其對策 [J].中國市場 ,2013,739(24):31-33.[5] 佘楓.人力資源決策支持系統智能化技術的研究 [J].中國管理信息化 ,2011,14(24):98-100.[6] 黃娜.談服務型事業單位人力資源管理體系的建立 [J].科技信息 ,2011,(24):842,711.[7] 康英等.智能化人力資源管理信息系統的設計與應用 [J].西安財經學院學報 ,2009,22(1):97-102.[8] 邵雪航 , 王大鵬.基于 SSH 框架技術下的 WEB 項目的研究與實現 [J].數字技術與應
用 ,2012,(10):126-127.[9] Barrett, B.G..Creating change and innovation in Human Resource management courses: Developing a model organizational consulting project as a learning application.BMEI, 2011.[10] Michael Wilson, Brian Matthews.The semantic web:Prospects and challenge[C],Chilton UK:7th International Baltic Conference on Databases and InformationSystems,2006.31
第二篇:人事管理系統畢業論文設計
目錄
前 言..........................................................................................................................................................................1 1 需求分析..................................................................................................................................................................2 1.1 系統需求............................................................................................................................................................2 1.1 功能需求............................................................................................................................................................2 1.3 可靠性要求........................................................................................................................................................3 1.4 性能需求............................................................................................................................................................3 2 開發環境簡介...........................................................................................................................................................4 2.1 DELPHI簡介.......................................................................................................................................................4 2.1.1 Delphi7的集成開發環境(IDE)..........................................................................錯誤!未定義書簽。2.1.2 Pascal簡介...............................................................................................................錯誤!未定義書簽。2.2 SQL SERVER 2000 簡介..................................................................................................錯誤!未定義書簽。2.2.1 SQL Server 數據平臺..............................................................................................錯誤!未定義書簽。2.3 TQUERY部件在SQL編程中的運用...............................................................................錯誤!未定義書簽。3 總體設計................................................................................................................................錯誤!未定義書簽。3.1 基本設計..........................................................................................................................錯誤!未定義書簽。3.1.1 設計概念..................................................................................................................錯誤!未定義書簽。3.1.2 功能分析..................................................................................................................錯誤!未定義書簽。3.1.3 數據流圖..................................................................................................................錯誤!未定義書簽。3.1.4 系統模塊..................................................................................................................錯誤!未定義書簽。3.2 用例圖..............................................................................................................................錯誤!未定義書簽。4 數據庫設計............................................................................................................................錯誤!未定義書簽。4.1 數據庫概念設計..............................................................................................................錯誤!未定義書簽。4.2 數據庫邏輯結構設計......................................................................................................錯誤!未定義書簽。5 詳細設計................................................................................................................................錯誤!未定義書簽。5.1 系統主窗體......................................................................................................................錯誤!未定義書簽。5.2 數據庫連接......................................................................................................................錯誤!未定義書簽。5.3 用戶登陸界面..................................................................................................................錯誤!未定義書簽。5.4 用戶功能選擇..................................................................................................................錯誤!未定義書簽。5.5 用戶信息錄入..................................................................................................................錯誤!未定義書簽。5.6 查詢功能窗體..................................................................................................................錯誤!未定義書簽。5.7 數據備份和還原窗體......................................................................................................錯誤!未定義書簽。5.8 工作日記及工作日記管理..............................................................................................錯誤!未定義書簽。5.9 用戶管理及用戶密碼修改..............................................................................................錯誤!未定義書簽。
5.10 打印報表模塊................................................................................................................錯誤!未定義書簽。5.11 數據公用模塊................................................................................................................錯誤!未定義書簽。5.12 其它模塊........................................................................................................................錯誤!未定義書簽。6 總
結......................................................................................................................................................................5 參考文獻......................................................................................................................................................................7 致謝..............................................................................................................................................................................8
企業人事管理系統
摘要:在競爭越來越激烈的社會里,企業人事管理就越顯示出其不可缺性,成為企業一個非常重要的模塊。企業人事管理系統主要是用于員工個人相關信息的管理。使用人事管理系統,便于公司領導掌握人員的動向和人員的綜合素質,及時調整人才的分配,使用計算機對人事勞資信息進行管理,具有檢索迅速、查找方便、可靠性高、存儲量大、保密性好、成本低等優點,能夠極大地提高人事資源管理的效率,也是企業科學化、正規化管理的重要條件。
隨著企業自身人力資源的日益龐大、復雜程度逐漸增強,人機作坊再也無法適應如今企業的人事管理了,取代的是運用各種領域的知識,結合計算機科學而開發的人事管理系統。企業人事管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的數據庫。而對于后者則要求應用程序功能完備,易使用等特點。企業人事管理系統是對工作人員進行統一的管理,可以方便的進行錄入,查詢,修改,刪除,退出。經過以上分析,本系統使用Delphi 7.0作為界面和功能開發工具和SQL Sever 2000作為后臺數據庫,利用其提供的各種面向對象的開發工具進行界面和數據庫開發。軟件過程結合了快速原型模型與增量模型的優點:首先在短時間內建立系統應用原型,然后,對初始原型系統進行需求迭代,不斷修正和改進,直到形成可行系統。
關鍵詞:企業人事管理;DEPHI;ADO;SQL server 2000
Personnel Management System
Abstract: Along with their own human resources increasing, complexity growing, the man-machine workshop also is unable adapt the present enterprise’s personnel management again, but the personnel management system that make use of knowledge in different fields and computer science and technology.Personnel management system is a typical management information system(MIS), including the establishment and maintenance of the background-database and front-end application development.To the former, the request for the data which is powerful in consistency and integrity, database which is good in security.For the latter, the request for the applications program which is integrity and easy to easy, Personnel management system can manage the staff and admit input, enquiries, modify, delete, and exit.Through such analysis, the system use Delphi 7.0 as the interface and functions of development tools and take SQL Sever 2000 database as background-database, the development of the interface and database which made use of its object-oriented tools, the software process is formed which is combine the advantage of rapid prototype models and incremental model, as follows: At first application prototype of system is built in a short time, Secondly, the initial prototype system needs to be revised and improved, Finally, it is feasible that the system is built.Key words: human resource management;DEPHI;ADO;SQL server 2000
前 言
背景
在競爭越來越激烈的社會里,企業人事管理就越顯示出其不可缺性,成為企業一個非常重要的模塊。企業人事管理系統主要是用于員工個人相關信息的管理。使用人事管理系統,便于公司領導掌握人員的動向和人員的綜合素質,及時調整人才的分配,使用計算機對人事勞資信息進行管理,具有檢索迅速、查找方便、可靠性高、存儲量大、保密性好、成本低等優點,能夠極大地提高人事資源管理的效率,也是企業科學化、正規化管理的重要條件。
目標 設計一個企業人事信息管理系統,此系統要以人為中心,為企業提供全面的人事管理解決方案; a)為企業建立規范化、實時化人事管理機制;
b)提高企業人事管理的效率、節約相關的管理成本,增強人事管理的安全性; c)滿足企業管理層,人事業務操作層和全體員工的不同層次和不同方面的需要; d)對企業將來的整體信息化建設提供必要的支持。需求分析
需求分析是系統開發必要環節,也是重中之重。作為該過程的結果,需求規格說明書是對系統的功能和行為完整的描述。系統設計將來自于需求分析的抽象規格說明轉變為面向真實世界的設計。一旦構建完成,該系統就會投入使用,同時會不可避免地產生更多的新需求。同時,需求過程與分析活動之間有相當程度的重疊,分析建模對于設定工作的范圍和其他一些事來說是必要的,所以我們利用分析模型來描述需求過程,隨著開發工作的繼續,分析活動在工作中占的比例將變得越來越大,直到所有需求都已知。[1]
1.1 系統需求
企業的人事管理職能主要分為人事檔案信息管理、人事變動管理、員工培訓管理、獎懲管理等內容。a)在人事系統開發時應考慮以下需求: b)滿足人事管理職能的基本要求;
c)進行多層次數據匯總,為各層次管理者的決策分析提供數據; d)具有完整的系統接口,滿足靈活的數據導入與導出; e)對操作人員的技能要求比較低,操作方便; f)能夠實現方便的擴展,滿足企業發展的需要;
g)能夠保障人事管理數據的安全、準確。1.1 功能需求
基于系統需求分析,該系統需要實現以下基本功能:
a)用戶管理:管理系統操作人員,設置操作人員口令和權限。在滿足不同系統用戶的操作需求的基礎上,提高系統的安全性。
b)人事檔案管理:完成企業對員工個人檔案(包括員工的基本檔案和在職信息)的管理及相關操作。操作員進行員工檔案信息錄入及更改,其中包括員工的基本信息、工作經歷、家庭關系、獎懲記錄和培訓經歷,要求對這些員工檔案信息進行新增、修改、刪除操作,同時可以進行查詢和瀏覽操作。該模塊是本系統的重點,用戶可以通過該模塊為單位建立一個比較完整的人事檔案系統,同時可以對檔案進行查看。
c)基礎數據管理:維護人事管理相關的一些基礎數據。主要包括以下功能:
(a)民族檔案設置:維護職工中民族檔案信息;
(b)職工類型設置:維護當前企業職工與企業的關系的類別信息;(c)文化程度設置:維護企業職工的文化程度類別信息;(d)政治面貌設置:維護企業職工的政治面貌類別信息;(e)部門類別設置:維護企業中設立的部門類別信息;(f)職務類別設置:維護企業中設立的職務類別信息;
(h)職稱類別設置:維護企業職工的職稱類別信息;
d)人事變動管理:對于人事上的變動調整進行管理,對人員檔案的信息進行更新(如:員工職務、員工職稱、員工性質等的變動)。
e)工作日志管理:記錄部門或系統用戶的一些備忘信息,包括日常的一些事件記錄,以及工作日記的管理維護。f)數據庫管理:對現有的數據庫進行管理,包括數據備份和恢復,以方便用戶對數據庫的管理和維護工作,提高系統的數據安全性。1.3 可靠性要求
a)計算機穩定可靠,網絡服務和數據庫服務穩定可靠;
b)網絡通暢、穩定;軟件運行穩定;數據計算及數據傳輸無誤;提供數據備份和數據恢復方案。1.4 性能需求 1)硬件環境
在最低配置的情況下,系統的性能往往不盡如人意,現在的硬件性能已經相當出色,且 價格也很便宜,因此通常給服務器端配置高性能硬件。推薦配置為:
·處理器:Intel 奔騰Ⅲ 或更高 ·內存:128MB ·硬盤空間:40GB ·顯卡:Geforce系列顯示適配器或更高。2)軟件環境
·操作系統:windows 98/ME/2000/N ·數據庫:Microsoft SQL server 2000 開發環境簡介
2.1 Delphi簡介
Delphi這個名字源于古希臘的城市名。它集中了第三代語言的優點。以Object Pascal為基礎,擴充了面向對象的能力,并且完美地結合了可視化的開發手段。Delphi自1995年3月一推出就受到了人們的關注,并在當年一舉奪得了多項大獎。
Delphi的出現打破了Visual系列可視化編程領域一統天下的局面。并且Delphi使用了本地編譯器直接生成技術,使程序的執行性能遠遠高于其它產品生成的程序。它還是真正的面向對象的編程語言。PASCAL語言的嚴謹加上可視化的優勢和強大的數據庫功能使得它有充分的資本和微軟的VB叫板。許多人當時都認為Pascal 是最有前途的程序設計語言,并預測Delphi將會成為可視化編程的主流環境。
Delphi在你編好程序后自動轉換成。EXE文件它運行時速度比VB快,而且編譯后不需要其他的支持庫就能運行。它的數據庫功能也挺強的,是開發中型數據庫軟件理想的編程工具。Delphi適用于應用軟件、數據庫系統、系統軟件等類型的開發。而且它擁有和VB差不多一樣的功能,而且一樣能應用API函數,這在控制Windows很有用。
Delphi是全新的可視化編程環境,為我們提供了一種方便、快捷的Windows應用程序開發工具。它使用了Microsoft Windows圖形用戶界面的許多先進特性和設計思想,采用了彈性可重復利用的完整的面向對象程序語言(Object-Oriented Language)、當今世界上最快的編輯器、最為領先的數據庫技術。對于廣大的程序開發人員來講,使用Delphi開發應用軟件,無疑會大大地提高編程效率,而且隨著應用的深入,您將會發現編程不再是枯燥無味的工作——Delphi的每一個設計細節,都將帶給您一份欣喜。
Delphi實際上是Pascal語言的一種版本,但它與傳統的Pascal語言有天壤之別。一個Delphi程序首先是應用程序框架,而這一框架正是應用程序的“骨架”。在骨架上即使沒有附著任何東西,仍可以嚴格地按照設計運行。您的工作只是在“骨架”中加入您的程序。缺省的應用程序是一個空白的窗體(Form),您可以運行它,結果得到一個空白的窗口。這個窗口具有Windows窗口的全部性質:可以被放大縮小、移動、最大最小化等,但您卻沒有編寫一行程序。因此,可以說應用程序框架通過提供所有應用程序共有的東西,為用戶應用程序的開發打下了良好的基礎。
Delphi已經為您做好了一切基礎工作——程序框架就是一個已經完成的可運行應用程序,只是不處理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代碼而已。在空白窗口的背后,應用程序的框架正在等待用戶的輸入。由于您并未告訴它接收到用戶輸入后作何反應,窗口除了響應所有Windows的基本操作(移動、縮放等)外,它只是接受用戶的輸入,然后再忽略。Delphi把Windows編程的回調、句柄處理等繁復過程都放在一個不可見的Romulam覆蓋物下面,這樣您可以不為它們所困擾,輕松從容地對可視部件進行編程。
面向對象的程序設計(Object-Oriented Programming,簡記為OOP)是Delphi誕生的基礎。OOP立意于創建軟件重用代碼,具備更好地模擬現實世界環境的能力,這使它被公認為是自上而下編程的優勝者。它通過給程序中加入擴展語句,把函數“封裝”進Windows編程所必需的“對象”中。面向對象的編程語言使得復雜的工作條理清晰、編寫容易。
說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象并不與傳統程序設計和編程方法兼
其中多媒體音頻視頻播放器是通過TMediaPlayer組件來實現的,支持的格式與系統已安裝的解碼器有關。總
結
6.1 程序設計風格
在設計的時候采用了增量模型的思想:把軟件作為一系列的構件來設計,編碼,集成和測試。用戶管理,密碼修改,用戶登陸,萬年歷,這些模塊都有高度的獨立性,因此他們的可重用性比較高,基本上是一個單元完成一個功能,模塊規模也比較小,模塊的作用域在控制域之內,只使用了兩個全局變量來存儲用戶名和用戶權限。[1]
在人機界面設計方面,本系統做到了以下幾點: a)保持一致性(界面,背景的致性);
b)提供有意義的反饋(用戶驗證和用戶管理,提供了比較精確的反饋信息); c)在執行有較大破壞性的動作之前要求用戶確認(數據備份與還原); d)允許大多數取消操作(大多數單元有取消操作功能);
e)允許犯錯誤(由于權限的限制,系統能保護自己不受嚴重錯誤的破壞); f)按功能對動作分類(在主窗口就是按動作類型組織菜單的); 6.2 有待加強項
a)幫助的制作 一個完整的應用程序必須具有完整的幫助系統;幫助系統可以在必要的時候給用戶信息提示和一些系統相關服務。
b)聲音制作 在這里主要是對聲音的加載,我們可以加載一些一般的聲音;主要來源有:音頻CD盤;波形音頻文件;MP3文件等等。其中波形音頻文件以WAV作為文件的后綴,我們可以播放現成的,也可以播放自己錄制的文件。
c)我們還可以使用各種組件和ActiveX控件等技術來完善系統。利用一些做好的activeX組件,會縮短開發周期。
由于在開發工程方面缺少經驗,所以這個系統還存在著許多不足之處,在測試過程中總結如下: a)數據表的設計還不是很合理;
b)數據異常處理要更加人性化,錯誤信息的反饋要更加精確; 6.3 心得
經過一個月的設計和開發,人事管理系統基本開發完畢,其基本功能符合用戶需求,能夠完成基礎數據錄入,數據查詢等基本功能,以及相關報表的打印。
在這次畢業設計中,我獲益良多。首先我明白了需求分析對于一個系統的開發的重要性。其次我還學到了如何把一個軟件作為一個工程來做,在真正的軟件開發中,一個軟件系統的開發不是一個人來做,而是很多人合作來完成的,另外還有軟件的后期維護等等,這時就顯現出了把軟件作為一個工程來做的優越性,而這些都離不開數據流圖和模塊的分解。
Delphi是一個非常強大的開發工具,它具有運行速度快、易于學習和使用以及開發效率高的特點,使用起來真的是很順手。學習好一門編程語言以后可以為今后的學習和工作帶來很大的便利。
雖然本系統實現了基本的用戶需求功能,但是還有待于完善和加強,總之通過這次設計和開發過程,我對軟件開發有了進一步的了解。
參考文獻
[1] 張海藩編著.軟件工程導論[M].清華大學出版社出版,2003,1-173.
[2] 宋一兵,趙景波,李春艷著.Delphi 7.0基礎教程[M].機械工業出版社,2003,2-30. [3] 劉瑤儒著.新概念SQL Server2000教程[M].北京科海集團公司出,2001,12-23. [4] 韓強編著.SQL SERVER 2000 程序員手冊[M].機械工業出版社出版,2000,4-35. [5] 薩師煊著.數據庫系統概論(第二版)[M].高等教育出版社,1991,8-40. [6] 施伯樂,丁寶康,汪衛著.數據庫系統教程[M].高等教育出版社,2002,1-202.
[7] 肖健著.SQL Server2000實踐與提高[M].中國電子出版社,2002,13-53. [8] 林金霖著.Delphi6 實務經典[M].中國鐵道出版社,2002年5月,6-110.
[9] 黃超,王志偉著.Delphi企業經營管理系統開發實例導航[M].人民郵電出版社,2003,20-90. [10] 程文剛主編.Delphi數據庫實用編程100例[M].中國鐵道出版社,2004,8-63. [11] 王晟,萬科著.Delphi數據庫開發經典案例解析[M].清華大學出版社,2005,85-89. [12] 王惠剛,唐晨光 彭為著.delphi7/8程序設計[M].清華大學出版社, 2002,42-63.
[13] 瀟湘工作室,邢增平著.Delphi 6.0最佳專輯[M].人民郵電出版社,2003,1-404. [14] 心鈴.Delphi問答.軟件報[N],2004-07-5.
[15] 高永惠.淺談Delphi中的異常處理方法[J].湖南輕工業高等專科學校學報,2002-04,9-10.
[16] 徐萌飛.在Delphi中使用ADO技術對數據庫操作[J].中國學術期刊(光盤版)電子雜志社,2001,12-13. [17] 陳建兵.Delphi中基于安全靈活的動態連接遠程數據庫SQL的實現[J].福建電腦,2005,12-13. [18] 孫育紅.關于地方法院管理信息系統分析設計與實施[D].中國學術期刊電子雜志社,2001,8-9.
[19] 岳冰.南部引嫩工程信息管理系統開發[D].中國學術期刊電子雜志社,2003,20-21.
[20] 龐芳,王麗玫.南寧市自動氣象站業務服務數據庫系統[D].中國學術期刊電子雜志社,2004,21-23.
[21] 徐軍.研究生院綜合管理信息系統的研究與實現[D].中國學術期刊)電子雜志社,2004,32-33.
[22] 魯媛媛.碩士生導師綜合素質能力評價指標體系的研究[D].中國學術期刊電子雜志社,2005,18-19.
致謝
在這里我要我對給予我指導和幫助的曹步青老師以及在測試階段提供機器和意見的同學表示我誠至的謝意。曹老師認真負責的工作態度,嚴謹的治學精神使我受益匪淺。無論在理論和實踐中,都給了我很大的幫助,使我綜合素質提高不少,這對于我以后的學習和工作都有一種很大的幫助。
暨畢業論文答辯之際,我要忠心感謝湖南科技大學和計算機科學與工程學院的各位老師大學四年來對我的辛勤培養和悉心教育,是科大提供了學習機會,是各位老師傳授了我專業知識和做人的道理。
最后,再一次感謝我的恩師!感謝我的母校!祝各位老師身體健康,工作順心!愿我校的教育事業蓬勃發展!
參考文獻
[23] 張海藩編著.軟件工程導論[M].清華大學出版社出版,2003,1-173.
[24] 宋一兵,趙景波,李春艷著.Delphi 7.0基礎教程[M].機械工業出版社,2003,2-30. [25] 劉瑤儒著.新概念SQL Server2000教程[M].北京科海集團公司出,2001,12-23. [26] 韓強編著.SQL SERVER 2000 程序員手冊[M].機械工業出版社出版,2000,4-35. [27] 薩師煊著.數據庫系統概論(第二版)[M].高等教育出版社,1991,8-40. [28] 施伯樂,丁寶康,汪衛著.數據庫系統教程[M].高等教育出版社,2002,1-202.
[29] 肖健著.SQL Server2000實踐與提高[M].中國電子出版社,2002,13-53. [30] 林金霖著.Delphi6 實務經典[M].中國鐵道出版社,2002年5月,6-110.
[31] 黃超,王志偉著.Delphi企業經營管理系統開發實例導航[M].人民郵電出版社,2003,20-90. [32] 程文剛主編.Delphi數據庫實用編程100例[M].中國鐵道出版社,2004,8-63. [33] 王晟,萬科著.Delphi數據庫開發經典案例解析[M].清華大學出版社,2005,85-89. [34] 王惠剛,唐晨光 彭為著.delphi7/8程序設計[M].清華大學出版社, 2002,42-63.
[35] 瀟湘工作室,邢增平著.Delphi 6.0最佳專輯[M].人民郵電出版社,2003,1-404. [36] 心鈴.Delphi問答.軟件報[N],2004-07-5.
[37] 高永惠.淺談Delphi中的異常處理方法[J].湖南輕工業高等專科學校學報,2002-04,9-10.
[38] 徐萌飛.在Delphi中使用ADO技術對數據庫操作[J].中國學術期刊(光盤版)電子雜志社,2001,12-13. [39] 陳建兵.Delphi中基于安全靈活的動態連接遠程數據庫SQL的實現[J].福建電腦,2005,12-13. [40] 岳冰.南部引嫩工程信息管理系統開發[D].中國學術期刊電子雜志社,2003,20-21.
第三篇:企業人事管理系統畢業論文設計
目錄
前 言........................................................................................................................................錯誤!未定義書簽。1 需求分析................................................................................................................................錯誤!未定義書簽。1.1 系統需求..........................................................................................................................錯誤!未定義書簽。1.1 功能需求..........................................................................................................................錯誤!未定義書簽。1.3 可靠性要求......................................................................................................................錯誤!未定義書簽。1.4 性能需求..........................................................................................................................錯誤!未定義書簽。2 開發環境簡介.........................................................................................................................錯誤!未定義書簽。2.1 DELPHI簡介.....................................................................................................................錯誤!未定義書簽。2.1.1 Delphi7的集成開發環境(IDE)..........................................................................錯誤!未定義書簽。2.1.2 Pascal簡介...............................................................................................................錯誤!未定義書簽。2.2 SQL SERVER 2000 簡介..................................................................................................錯誤!未定義書簽。2.2.1 SQL Server 數據平臺..............................................................................................錯誤!未定義書簽。2.3 TQUERY部件在SQL編程中的運用...............................................................................錯誤!未定義書簽。3 總體設計................................................................................................................................錯誤!未定義書簽。3.1 基本設計..........................................................................................................................錯誤!未定義書簽。3.1.1 設計概念..................................................................................................................錯誤!未定義書簽。3.1.2 功能分析..................................................................................................................錯誤!未定義書簽。3.1.3 數據流圖..................................................................................................................錯誤!未定義書簽。3.1.4 系統模塊..................................................................................................................錯誤!未定義書簽。3.2 用例圖..............................................................................................................................錯誤!未定義書簽。4 數據庫設計............................................................................................................................錯誤!未定義書簽。4.1 數據庫概念設計..............................................................................................................錯誤!未定義書簽。4.2 數據庫邏輯結構設計......................................................................................................錯誤!未定義書簽。5 詳細設計................................................................................................................................錯誤!未定義書簽。5.1 系統主窗體......................................................................................................................錯誤!未定義書簽。5.2 數據庫連接......................................................................................................................錯誤!未定義書簽。5.3 用戶登陸界面..................................................................................................................錯誤!未定義書簽。5.4 用戶功能選擇..................................................................................................................錯誤!未定義書簽。5.5 用戶信息錄入..................................................................................................................錯誤!未定義書簽。5.6 查詢功能窗體..................................................................................................................錯誤!未定義書簽。5.7 數據備份和還原窗體......................................................................................................錯誤!未定義書簽。5.8 工作日記及工作日記管理..............................................................................................錯誤!未定義書簽。5.9 用戶管理及用戶密碼修改..............................................................................................錯誤!未定義書簽。
5.10 打印報表模塊................................................................................................................錯誤!未定義書簽。5.11 數據公用模塊................................................................................................................錯誤!未定義書簽。5.12 其它模塊........................................................................................................................錯誤!未定義書簽。6 總
結....................................................................................................................................錯誤!未定義書簽。參考文獻....................................................................................................................................錯誤!未定義書簽。致謝............................................................................................................................................錯誤!未定義書簽。
人事管理系統
網絡工程
雷靈明
指導老師:曹步青
摘要:隨著企業自身人力資源的日益龐大、復雜程度逐漸增強,人機作坊再也無法適應如今企業的人事管理了,取代的是運用各種領域的知識,結合計算機科學而開發的人事管理系統。人事管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的數據庫。而對于后者則要求應用程序功能完備,易使用等特點。人事管理系統是對工作人員進行統一的管理,可以方便的進行錄入,查詢,修改,刪除,退出。經過以上分析,本系統使用Delphi 7.0作為界面和功能開發工具和SQL Sever 2000作為后臺數據庫,利用其提供的各種面向對象的開發工具進行界面和數據庫開發。軟件過程結合了快速原型模型與增量模型的優點:首先在短時間內建立系統應用原型,然后,對初始原型系統進行需求迭代,不斷修正和改進,直到形成可行系統。
關鍵詞:人事管理;DEPHI;ADO;SQL server 2000
Personnel Management System
Network engineering
Lei Lingming Teacher:Cao Buqing
Abstract: Along with their own human resources increasing, complexity growing, the man-machine workshop also is unable adapt the present enterprise’s personnel management again, but the personnel management system that make use of knowledge in different fields and computer science and technology.Personnel management system is a typical management information system(MIS), including the establishment and maintenance of the background-database and front-end application development.To the former, the request for the data which is powerful in consistency and integrity, database which is good in security.For the latter, the request for the applications program which is integrity and easy to easy, Personnel management system can manage the staff and admit input, enquiries, modify, delete, and exit.Through such analysis, the system use Delphi 7.0 as the interface and functions of development tools and take SQL Sever 2000 database as background-database, the development of the interface and database which made use of its object-oriented tools, the software process is formed which is combine the advantage of rapid prototype models and incremental model, as follows: At first application prototype of system is built in a short time, Secondly, the initial prototype system needs to be revised and improved, Finally, it is feasible that the system is built.Key words: human resource management;DEPHI;ADO;SQL server 2000
前 言
背景
在競爭越來越激烈的社會里,企業人事管理就越顯示出其不可缺性,成為企業一個非常重要的模塊。企業人事管理系統主要是用于員工個人相關信息的管理。使用人事管理系統,便于公司領導掌握人員的動向和人員的綜合素質,及時調整人才的分配,使用計算機對人事勞資信息進行管理,具有檢索迅速、查找方便、可靠性高、存儲量大、保密性好、成本低等優點,能夠極大地提高人事資源管理的效率,也是企業科學化、正規化管理的重要條件。目標 設計一個企業人事信息管理系統,此系統要以人為中心,為企業提供全面的人事管理解決方案; a)為企業建立規范化、實時化人事管理機制;
b)提高企業人事管理的效率、節約相關的管理成本,增強人事管理的安全性; c)滿足企業管理層,人事業務操作層和全體員工的不同層次和不同方面的需要; d)對企業將來的整體信息化建設提供必要的支持。需求分析
需求分析是系統開發必要環節,也是重中之重。作為該過程的結果,需求規格說明書是對系統的功能和行為完整的描述。系統設計將來自于需求分析的抽象規格說明轉變為面向真實世界的設計。一旦構建完成,該系統就會投入使用,同時會不可避免地產生更多的新需求。同時,需求過程與分析活動之間有相當程度的重疊,分析建模對于設定工作的范圍和其他一些事來說是必要的,所以我們利用分析模型來描述需求過程,隨著開發工作的繼續,分析活動在工作中占的比例將變得越來越大,直到所有需求都已知。[1]
1.1 系統需求
企業的人事管理職能主要分為人事檔案信息管理、人事變動管理、員工培訓管理、獎懲管理等內容。a)在人事系統開發時應考慮以下需求: b)滿足人事管理職能的基本要求;
c)進行多層次數據匯總,為各層次管理者的決策分析提供數據; d)具有完整的系統接口,滿足靈活的數據導入與導出; e)對操作人員的技能要求比較低,操作方便; f)能夠實現方便的擴展,滿足企業發展的需要;
g)能夠保障人事管理數據的安全、準確。1.1 功能需求
基于系統需求分析,該系統需要實現以下基本功能:
a)用戶管理:管理系統操作人員,設置操作人員口令和權限。在滿足不同系統用戶的操作需求的基礎上,提高系統的安全性。
b)人事檔案管理:完成企業對員工個人檔案(包括員工的基本檔案和在職信息)的管理及相關操作。操作員進行員工檔案信息錄入及更改,其中包括員工的基本信息、工作經歷、家庭關系、獎懲記錄和培訓經歷,要求對這些員工檔案信息進行新增、修改、刪除操作,同時可以進行查詢和瀏覽操作。該模塊是本系統的重點,用戶可以通過該模塊為單位建立一個比較完整的人事檔案系統,同時可以對檔案進行查看。
c)基礎數據管理:維護人事管理相關的一些基礎數據。主要包括以下功能:
(a)民族檔案設置:維護職工中民族檔案信息;
(b)職工類型設置:維護當前企業職工與企業的關系的類別信息;(c)文化程度設置:維護企業職工的文化程度類別信息;(d)政治面貌設置:維護企業職工的政治面貌類別信息;(e)部門類別設置:維護企業中設立的部門類別信息;(f)職務類別設置:維護企業中設立的職務類別信息;
(h)職稱類別設置:維護企業職工的職稱類別信息;
d)人事變動管理:對于人事上的變動調整進行管理,對人員檔案的信息進行更新(如:員工職務、員工職稱、員工性質等的變動)。
e)工作日志管理:記錄部門或系統用戶的一些備忘信息,包括日常的一些事件記錄,以及工作日記的管理維護。f)數據庫管理:對現有的數據庫進行管理,包括數據備份和恢復,以方便用戶對數據庫的管理和維護工作,提高系統的數據安全性。1.3 可靠性要求
a)計算機穩定可靠,網絡服務和數據庫服務穩定可靠;
b)網絡通暢、穩定;軟件運行穩定;數據計算及數據傳輸無誤;提供數據備份和數據恢復方案。1.4 性能需求 1)硬件環境
在最低配置的情況下,系統的性能往往不盡如人意,現在的硬件性能已經相當出色,且 價格也很便宜,因此通常給服務器端配置高性能硬件。推薦配置為:
·處理器:Intel 奔騰Ⅲ 或更高 ·內存:128MB ·硬盤空間:40GB ·顯卡:Geforce系列顯示適配器或更高。2)軟件環境
·操作系統:windows 98/ME/2000/N ·數據庫:Microsoft SQL server 2000 開發環境簡介
2.1 Delphi簡介
Delphi這個名字源于古希臘的城市名。它集中了第三代語言的優點。以Object Pascal為基礎,擴充了面向對象的能力,并且完美地結合了可視化的開發手段。Delphi自1995年3月一推出就受到了人們的關注,并在當年一舉奪得了多項大獎。
Delphi的出現打破了Visual系列可視化編程領域一統天下的局面。并且Delphi使用了本地編譯器直接生成技術,使程序的執行性能遠遠高于其它產品生成的程序。它還是真正的面向對象的編程語言。PASCAL語言的嚴謹加上可視化的優勢和強大的數據庫功能使得它有充分的資本和微軟的VB叫板。許多人當時都認為Pascal 是最有前途的程序設計語言,并預測Delphi將會成為可視化編程的主流環境。
Delphi在你編好程序后自動轉換成。EXE文件它運行時速度比VB快,而且編譯后不需要其他的支持庫就能運行。它的數據庫功能也挺強的,是開發中型數據庫軟件理想的編程工具。Delphi適用于應用軟件、數據庫系統、系統軟件等類型的開發。而且它擁有和VB差不多一樣的功能,而且一樣能應用API函數,這在控制Windows很有用。
Delphi是全新的可視化編程環境,為我們提供了一種方便、快捷的Windows應用程序開發工具。它使用了Microsoft Windows圖形用戶界面的許多先進特性和設計思想,采用了彈性可重復利用的完整的面向對象程序語言(Object-Oriented Language)、當今世界上最快的編輯器、最為領先的數據庫技術。對于廣大的程序開發人員來講,使用Delphi開發應用軟件,無疑會大大地提高編程效率,而且隨著應用的深入,您將會發現編程不再是枯燥無味的工作——Delphi的每一個設計細節,都將帶給您一份欣喜。
Delphi實際上是Pascal語言的一種版本,但它與傳統的Pascal語言有天壤之別。一個Delphi程序首先是應用程序框架,而這一框架正是應用程序的“骨架”。在骨架上即使沒有附著任何東西,仍可以嚴格地按照設計運行。您的工作只是在“骨架”中加入您的程序。缺省的應用程序是一個空白的窗體(Form),您可以運行它,結果得到一個空白的窗口。這個窗口具有Windows窗口的全部性質:可以被放大縮小、移動、最大最小化等,但您卻沒有編寫一行程序。因此,可以說應用程序框架通過提供所有應用程序共有的東西,為用戶應用程序的開發打下了良好的基礎。
Delphi已經為您做好了一切基礎工作——程序框架就是一個已經完成的可運行應用程序,只是不處理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代碼而已。在空白窗口的背后,應用程序的框架正在等待用戶的輸入。由于您并未告訴它接收到用戶輸入后作何反應,窗口除了響應所有Windows的基本操作(移動、縮放等)外,它只是接受用戶的輸入,然后再忽略。Delphi把Windows編程的回調、句柄處理等繁復過程都放在一個不可見的Romulam覆蓋物下面,這樣您可以不為它們所困擾,輕松從容地對可視部件進行編程。
面向對象的程序設計(Object-Oriented Programming,簡記為OOP)是Delphi誕生的基礎。OOP立意于創建軟件重用代碼,具備更好地模擬現實世界環境的能力,這使它被公認為是自上而下編程的優勝者。它通過給程序中加入擴展語句,把函數“封裝”進Windows編程所必需的“對象”中。面向對象的編程語言使得復雜的工作條理清晰、編寫容易。
說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象并不與傳統程序設計和編程方法兼
其中多媒體音頻視頻播放器是通過TMediaPlayer組件來實現的,支持的格式與系統已安裝的解碼器有關。總
結
6.1 程序設計風格
在設計的時候采用了增量模型的思想:把軟件作為一系列的構件來設計,編碼,集成和測試。用戶管理,密碼修改,用戶登陸,萬年歷,這些模塊都有高度的獨立性,因此他們的可重用性比較高,基本上是一個單元完成一個功能,模塊規模也比較小,模塊的作用域在控制域之內,只使用了兩個全局變量來存儲用戶名和用戶權限。[1]
在人機界面設計方面,本系統做到了以下幾點: a)保持一致性(界面,背景的致性);
b)提供有意義的反饋(用戶驗證和用戶管理,提供了比較精確的反饋信息); c)在執行有較大破壞性的動作之前要求用戶確認(數據備份與還原); d)允許大多數取消操作(大多數單元有取消操作功能);
e)允許犯錯誤(由于權限的限制,系統能保護自己不受嚴重錯誤的破壞); f)按功能對動作分類(在主窗口就是按動作類型組織菜單的); 6.2 有待加強項
a)幫助的制作 一個完整的應用程序必須具有完整的幫助系統;幫助系統可以在必要的時候給用戶信息提示和一些系統相關服務。
b)聲音制作 在這里主要是對聲音的加載,我們可以加載一些一般的聲音;主要來源有:音頻CD盤;波形音頻文件;MP3文件等等。其中波形音頻文件以WAV作為文件的后綴,我們可以播放現成的,也可以播放自己錄制的文件。
c)我們還可以使用各種組件和ActiveX控件等技術來完善系統。利用一些做好的activeX組件,會縮短開發周期。
由于在開發工程方面缺少經驗,所以這個系統還存在著許多不足之處,在測試過程中總結如下: a)數據表的設計還不是很合理;
b)數據異常處理要更加人性化,錯誤信息的反饋要更加精確; 6.3 心得
經過一個月的設計和開發,人事管理系統基本開發完畢,其基本功能符合用戶需求,能夠完成基礎數據錄入,數據查詢等基本功能,以及相關報表的打印。
在這次畢業設計中,我獲益良多。首先我明白了需求分析對于一個系統的開發的重要性。其次我還學到了如何把一個軟件作為一個工程來做,在真正的軟件開發中,一個軟件系統的開發不是一個人來做,而是很多人合作來完成的,另外還有軟件的后期維護等等,這時就顯現出了把軟件作為一個工程來做的優越性,而這些都離不開數據流圖和模塊的分解。
Delphi是一個非常強大的開發工具,它具有運行速度快、易于學習和使用以及開發效率高的特點,使用起來真的是很順手。學習好一門編程語言以后可以為今后的學習和工作帶來很大的便利。
雖然本系統實現了基本的用戶需求功能,但是還有待于完善和加強,總之通過這次設計和開發過程,我對軟件開發有了進一步的了解。
參考文獻
[1] 張海藩編著.軟件工程導論[M].清華大學出版社出版,2003,1-173.
[2] 宋一兵,趙景波,李春艷著.Delphi 7.0基礎教程[M].機械工業出版社,2003,2-30. [3] 劉瑤儒著.新概念SQL Server2000教程[M].北京科海集團公司出,2001,12-23. [4] 韓強編著.SQL SERVER 2000 程序員手冊[M].機械工業出版社出版,2000,4-35. [5] 薩師煊著.數據庫系統概論(第二版)[M].高等教育出版社,1991,8-40. [6] 施伯樂,丁寶康,汪衛著.數據庫系統教程[M].高等教育出版社,2002,1-202.
[7] 肖健著.SQL Server2000實踐與提高[M].中國電子出版社,2002,13-53. [8] 林金霖著.Delphi6 實務經典[M].中國鐵道出版社,2002年5月,6-110.
[9] 黃超,王志偉著.Delphi企業經營管理系統開發實例導航[M].人民郵電出版社,2003,20-90. [10] 程文剛主編.Delphi數據庫實用編程100例[M].中國鐵道出版社,2004,8-63. [11] 王晟,萬科著.Delphi數據庫開發經典案例解析[M].清華大學出版社,2005,85-89. [12] 王惠剛,唐晨光 彭為著.delphi7/8程序設計[M].清華大學出版社, 2002,42-63.
[13] 瀟湘工作室,邢增平著.Delphi 6.0最佳專輯[M].人民郵電出版社,2003,1-404. [14] 心鈴.Delphi問答.軟件報[N],2004-07-5.
[15] 高永惠.淺談Delphi中的異常處理方法[J].湖南輕工業高等專科學校學報,2002-04,9-10.
[16] 徐萌飛.在Delphi中使用ADO技術對數據庫操作[J].中國學術期刊(光盤版)電子雜志社,2001,12-13. [17] 陳建兵.Delphi中基于安全靈活的動態連接遠程數據庫SQL的實現[J].福建電腦,2005,12-13. [18] 孫育紅.關于地方法院管理信息系統分析設計與實施[D].中國學術期刊電子雜志社,2001,8-9.
[19] 岳冰.南部引嫩工程信息管理系統開發[D].中國學術期刊電子雜志社,2003,20-21.
[20] 龐芳,王麗玫.南寧市自動氣象站業務服務數據庫系統[D].中國學術期刊電子雜志社,2004,21-23.
[21] 徐軍.研究生院綜合管理信息系統的研究與實現[D].中國學術期刊)電子雜志社,2004,32-33.
[22] 魯媛媛.碩士生導師綜合素質能力評價指標體系的研究[D].中國學術期刊電子雜志社,2005,18-19.
致謝
在這里我要我對給予我指導和幫助的曹步青老師以及在測試階段提供機器和意見的同學表示我誠至的謝意。曹老師認真負責的工作態度,嚴謹的治學精神使我受益匪淺。無論在理論和實踐中,都給了我很大的幫助,使我綜合素質提高不少,這對于我以后的學習和工作都有一種很大的幫助。
暨畢業論文答辯之際,我要忠心感謝湖南科技大學和計算機科學與工程學院的各位老師大學四年來對我的辛勤培養和悉心教育,是科大提供了學習機會,是各位老師傳授了我專業知識和做人的道理。
最后,再一次感謝我的恩師!感謝我的母校!祝各位老師身體健康,工作順心!愿我校的教育事業蓬勃發展!
參考文獻
[23] 張海藩編著.軟件工程導論[M].清華大學出版社出版,2003,1-173.
[24] 宋一兵,趙景波,李春艷著.Delphi 7.0基礎教程[M].機械工業出版社,2003,2-30. [25] 劉瑤儒著.新概念SQL Server2000教程[M].北京科海集團公司出,2001,12-23. [26] 韓強編著.SQL SERVER 2000 程序員手冊[M].機械工業出版社出版,2000,4-35. [27] 薩師煊著.數據庫系統概論(第二版)[M].高等教育出版社,1991,8-40. [28] 施伯樂,丁寶康,汪衛著.數據庫系統教程[M].高等教育出版社,2002,1-202.
[29] 肖健著.SQL Server2000實踐與提高[M].中國電子出版社,2002,13-53. [30] 林金霖著.Delphi6 實務經典[M].中國鐵道出版社,2002年5月,6-110.
[31] 黃超,王志偉著.Delphi企業經營管理系統開發實例導航[M].人民郵電出版社,2003,20-90. [32] 程文剛主編.Delphi數據庫實用編程100例[M].中國鐵道出版社,2004,8-63. [33] 王晟,萬科著.Delphi數據庫開發經典案例解析[M].清華大學出版社,2005,85-89. [34] 王惠剛,唐晨光 彭為著.delphi7/8程序設計[M].清華大學出版社, 2002,42-63.
[35] 瀟湘工作室,邢增平著.Delphi 6.0最佳專輯[M].人民郵電出版社,2003,1-404. [36] 心鈴.Delphi問答.軟件報[N],2004-07-5.
[37] 高永惠.淺談Delphi中的異常處理方法[J].湖南輕工業高等專科學校學報,2002-04,9-10.
[38] 徐萌飛.在Delphi中使用ADO技術對數據庫操作[J].中國學術期刊(光盤版)電子雜志社,2001,12-13. [39] 陳建兵.Delphi中基于安全靈活的動態連接遠程數據庫SQL的實現[J].福建電腦,2005,12-13. [40] 孫育紅.關于地方法院管理信息系統分析設計與實施[D].中國學術期刊電子雜志社,2001,8-9. [41] 岳冰.南部引嫩工程信息管理系統開發[D].中國學術期刊電子雜志社,2003,20-21.
[42] 龐芳,王麗玫.南寧市自動氣象站業務服務數據庫系統[D].中國學術期刊電子雜志社,2004,21-23.
[43] 徐軍.研究生院綜合管理信息系統的研究與實現[D].中國學術期刊)電子雜志社,2004,32-33.
[44] 魯媛媛.碩士生導師綜合素質能力評價指標體系的研究[D].中國學術期刊電子雜志社,2005,18-19.
致謝
在這里我要我對給予我指導和幫助的曹步青老師以及在測試階段提供機器和意見的同學表示我誠至的謝意。曹老師認真負責的工作態度,嚴謹的治學精神使我受益匪淺。無論在理論和實踐中,都給了我很大的幫助,使我綜合素質提高不少,這對于我以后的學習和工作都有一種很大的幫助。
暨畢業論文答辯之際,我要忠心感謝湖南科技大學和計算機科學與工程學院的各位老師大學四年來對我的辛勤培養和悉心教育,是科大提供了學習機會,是各位老師傳授了我專業知識和做人的道理。
最后,再一次感謝我的恩師!感謝我的母校!祝各位老師身體健康,工作順心!愿我校的教育事業蓬勃發展!
第四篇:企業人事管理系統畢業論文設計[推薦]
江蘇廣播電視大學楚州學院
畢業設計(論文)
企業人事管理系統的設計與實現
學 院 楚州學院 專 業 計算機信息管理 年級班別 2009年 學 號 20097320081048 學生姓名 張 美 玲 指導教師 張 震
摘 要
在當今社會,互聯網空前的發展,給人們的工作和生活帶來了極大的便利和高效,信息化,電子化已經成為節約運營成本,提高工作效率的首選。考慮到當前大量企業的人事管理尚處于手工作業階段,不但效率低下,還常常因為管理的不慎而出現紕漏。因此根據部分企業提供的需求,設計此企業人事管理系統,以幫助企業達到人事管理辦公自動化、節約管理成本、提高企業工作效率的目的。
本企業人事管理系統采用C/S結構,主要對企業員工的信息以及跟人事相關的工作流程進行集中的管理,方便企業建立一個完善的、強大的員工信息數據庫。它是以.NET2005.和SQL 2005 Express數據庫作為開發平臺。使用C# 設計操作控件和編寫操作程序,完成數據輸入、修改、存儲、調用查詢等功能;并使用SQL 2005數據庫形成數據表,進行數據存儲。
本文詳細介紹了企業人事管理系統的功能需求,系統設計和具體實現。并簡要介紹了系統開發采用的過程方法。
關鍵詞
企業人事管理系統;C/S;員工信息數據庫
II
1企業人事管理系統
企業人事管理系統....................................................3 1前言..............................................................3
1.1 應用的目的與意義............................................3 1.2 人事管理系統發展趨勢.......................................3
1.2.2 世界趨勢...............................................3 1.2.3 技術革新...............................................4 1.2.4 工作目標和價值觀的改變.................................4 1.3 系統調研....................................................4
1.3.1 社會可行性分析.........................................4 1.3.2 技術可行性分析.........................................4 1.3.3 經濟可行性分析.........................................5 1.3.4 管理可行性分析.........................................5 1.4 研究內容....................................................5 2開發工具及其語言特點..............................................6
2.1 Visual Studio.NET主要特點如下...............................6
2.2.1簡潔的語法.............................................7 2.2.2精心地面向對象設計.....................................8 2.2.3與Web的緊密結合.......................................8 2.2.4完整的安全性與錯誤處理.................................9 2.2.5版本處理技術...........................................9 2.2.6靈活性和兼容性........................................10 3.1SQL2005主要特點.............................................10 3.1.1.NET框架..............................................10 3.1.2XML技術...............................................11 3.1.3ADO.NET2.0版本........................................11 3.1.4增強的安全性..........................................11 3.1.5Transact-SQL的增強性能................................11 3.1.6SQL服務中介...........................................11 3.1.7通告服務..............................................11 3.1.8Web服務...............................................12 3.1.9報表服務..............................................12 3.1.10全文搜索功能的增強...................................12 3.2C#與ADO.NET.................................................12 3.2.1 C#中的數據庫訪問.....................................12 3.2.2 數據綁定..............................................23 3.3 SQL語言...................................................24 3.3.1表定義語句............................................24 3.3.2視圖定義語句..........................................24 3.3.3索引定義語句..........................................24 3.3.4數據操縱語句..........................................25 3.3.5INSERT語句............................................25 3.3.6UPDATE語句............................................25 3.3.7DELETE語句............................................25 3.3.8查詢語句..............................................25
第1頁
2企業人事管理系統
3.3.9條件查詢..............................................26 3.3.10查詢排序.............................................26 3.3.11統計查詢.............................................26 3.3.12Group by子句.........................................26 3.3.13Distinct關鍵詞.......................................26 3.3.14Top關鍵詞............................................27 3.3.15多表查詢.............................................27 3.3.16多重查詢.............................................27 3.3.17EXISTS關鍵詞.........................................27 4系統需求分析.....................................................28 4.1系統流程圖如下..............................................28 5 致謝.............................................................49 附錄F 各模塊實現的主要源代碼.....................................47 F1.1登錄模塊的設計與實現的主要代碼.............................47 }..............................................................48 F1.2登陸實體類:...............................................48 F1.3 員工管理模塊的設計與實現的主要代碼.......................49 F1.3.1員工管理實現的主要代碼:.................................49 F1.3.2 部門管理實現主要代碼:.................................50 }..............................................................52 F1.3.3工資管理主要代碼:.......................................53 }..............................................................56 F1.3.4考勤信息設計與實現主要代碼:.............................56 }..............................................................60 F1.4 數據訪問類:..............................................60 }..............................................................62 F1.5生日提醒主要代碼:.........................................62 F1.6啟動第三方EXE文件操作類:.................................63 }..............................................................63
第2頁
3企業人事管理系統
企業人事管理系統
1前言
1.1 應用的目的與意義
人的管理是一切管理工作的核心。員工代表一個企業的形象,因而人事管理機制設計的好壞,直接影響一個企業的成敗。
員工的檔案管理是企業人事管理的基礎,在企業員工普遍流失的今天,一個準確而及時的人事管理系統,有利于人事部門對員工流動進行分析、編制,為企業所需人員提供了保障。
人力資源部那些重復的,事務性的工作交給HRP(Human Resource Planning,人力資源管理系統)來解決,可以省去用戶以往人力資源管理工作的繁瑣、枯燥;用領先的人力資源管理理念,把人力資源管理的作業流程控制和戰略規劃設計巧妙地集合于一體;系統重點涉及到人力資源管理工作中的薪資、考勤、績效、調動、基本信息、用戶管理以及用戶切換等方面,并有綜合的系統安全設置、報表綜合管理模塊。可以很好地為用戶的人力資源管理部門在對員工的成本管理、知識管理、績效管理等綜合管理給予幫助。以每個月中所發工資為例,其中包括考勤、人事信息變動、獎懲、遲到和曠工對本月的薪資計算都有影響,為了及時的計算發放工資往往要提前一個星期花費大量時間,加班加點才能及時完成,而這樣做無論從工作效率還是準確度方面,都不允許,而且還浪費大量的人力財力。如果改用HRP管理做到高效、高精度,還可以減少管理時帶來的一些繁瑣的工作,節約管理帶來的開支。1.2 人事管理系統發展趨勢 1.2.2 世界趨勢
人力資源管理系統主導21世紀,無論是發達國家還是發展中國家,對人力資源的戰略性意義都有了深刻的認識,并開始付諸行動。世界公認,21世紀將是人力資源的世紀;人力資源問題將主導整個21世紀甚至更為遙遠,這種狀況的變化起因于競爭壓力。目前,世界經濟趨向全球化。世界經濟的全球化過程和國
第3頁
4企業人事管理系統
家的開放過程,要求組織的管理部門降低管理成本以減少競爭壓力和增強競爭能力。對于不同的組織,人力資源成本在總成本中的比例是不一樣的。1.2.3 技術革新
無論是現在還是將來,工業的發展越來越多地取決于科學和技術、知識與技能。高新科技產業更是如此。這不僅要求員工尤其是技術人員掌握新的科學知識和技術能力,而且更重要的在于要求員工深入而快捷地掌握和應用這些知識和技能。這就導致了兩個問題。第一,隨著這種技術革新的發展和知識更新速度的加快,人們有更多的職業選擇機會。第二,伴隨著這種發展以及職業選擇機會的增多,人力資源管理活動和頻繁程度加劇;而且這種活動對科學技術的要求與它的反應程度也更高了,進而提高了人力資源成本。1.2.4 工作目標和價值觀的改變
隨著社會政治和經濟的發展,人們的工作目標和價值觀也都發生了重要的變化。這就對人事管理部門和管理人員提出了新的要求和新的問題,不得不考慮諸如工作類型設計、崗位分析、充分尊重員工以及為他們提供良好的個人發展和自我價值實現的環境與條件等問題。這樣,人力資源管理就派上了用場。1.3 系統調研
1.3.1 社會可行性分析
隨著計算機的發展與普及,以及互聯網技術的擴展,日常勞資人事管理必將實現無紙化辦公,并且加入到公司內部的Intranet或者是Internet上去,實現數據的共享,這樣有利于勞資人事信息在單位內部的查詢,提高了數據資源的利用,并且能及時的得到更新,不需要象過去那樣浪費大量的人力物力去進行抄寫,提高了工作的效率 1.3.2 技術可行性分析
Visual Studio.NET提供了一個統一的、緊密集成的可視化編程環境,簡化了開發應用程序的過程,縮短了實用方法的時間。利用Visual Studio.NET,可
第4頁
5企業人事管理系統
以非常輕松地創建具有自動伸縮能力的可靠的應用程序和組件。而且微軟的優秀成果c#語言保持了c/c++所特有的強大功能和控制能力。與c++十分相似的模型和語法,具有與COM+服務完全的交互性和完全支持能力,能夠輕松地遷移現有的代碼。數據庫方面SQL2005已經可以滿足中小型企業的數據要求,甚至有些大型企業都可以達到要求。如今進算計普及程度日益推廣,計算機配置日新月異,能承載此系統的機器就如辦公的機器都可以達到要求。所以說本系統具有技術可行性。
1.3.3 經濟可行性分析 采用傳統的手工輸入方法,不僅工作繁瑣而且需要人力輸入多,記錄容易出錯,那樣產生了成本高,效果差的弊病,對于一個企業的資料庫建立是十分困難和麻煩的。而采用這種系統所發費的成本,精力都遠遠低于手工,并且實用十分方便,更新也簡易,每個部門只需一個人統一管理,對企業實現辦公無紙化能起到很大的作用。所以此系統經濟可行性也具備了。1.3.4 管理可行性分析
本系統采用了系統數據備份、恢復的功能,而且界面層次分明,一目了然,加上設計方面加入了人性化元素。管理此系統并不難,易學易會。1.4 研究內容
本論文共分為5章。第1章緒論,介紹了本課題的應用目的和意義、人事管理系統、可行性分析和研究內容。第2章介紹了開發工具及其特點、數據庫技術。第3章主要介紹了系統的設計與分析,包括總體設計、數據庫設計、詳細設計等。第4章主要介紹系統實現,即系統各種模塊的功能實現。第5章為本課題完成成果和發展期望的總結。
本論文主要利用C#可視化技術及SQL數據庫開發技術,對員工管理與考勤管理系統進行系統化、細致化和完善化的分析研究。
第5頁
6企業人事管理系統
2開發工具及其語言特點
2.1 Visual Studio.NET主要特點如下 2.1.1提供加速開發過程的高效工具
Visual Studio.NET提供了一個統一的、緊密集成的可視化編程環境,以幫助用戶簡化開發網絡應用程序的過程,縮短學習使用方法的時間。它提供了一種新的語言——C#。通過共享的HTML、XML和樣式單編輯器,用戶可以輕松地借助包括C#在內的任何一種Visual Studio語言來開發網絡應用程序。2.1.2 提供對各種網絡應用程序的快速設計能力
借助Web Form,用戶可以用他們在開發基于窗體的桌面應用程序時所使用的技巧來創建跨平臺、跨瀏覽器的網絡應用程序。2.1.3 利用XML和Web Service來簡化分布式計算
Web Service借助標準的Intemet協議在網絡上調用商務邏輯。HTTP被作為Web Service傳輸的基礎協議,該協議使得對功能的請求能夠穿越各種團體所使用的防火墻。XML被用來對上述功能請求的參數進行格式統一,從而使這些請求能夠使用于所有的軟件和硬件。這樣使得對Web Service的訪問可以通過任何一種語言、使用任何一種組件模型在任何一種操作系統上實現。2.1.4快速構建中間層商務組件
Visual Studio的一個核心目標就是要為基于服務器的應用程序提供應用程序快速部署工具。利用Visual Studio.NET創建的組件將為您的商務運作提供足夠的功能和伸縮性。
2.1.5構建可靠的可伸縮解決方案
利用Visual Studio.NET,用戶可以非常輕松地創建具有自動伸縮能力的可靠的應用程序和組件。2.2 C#技術概述
C#在帶來對應用程序的快速開發能力的同時,并沒有犧牲C與C++程序員所關心的各種特性。它忠實地繼承了C和C++的優點。如果你對C或C++有所了解,你會發現它是那樣的熟悉。即使你是一位新手,C#也不會給你帶來任何其它的麻煩,第6頁
7企業人事管理系統
快速應用程序開發(Rapid Application Development,RAD)的思想與簡潔的語法將會使你迅速成為一名熟練的開發人員。
C#是專門為.NET應用而開發出的語言。這從根本上保證了C#與.NET框架的完美結合。在.NET運行庫的支持下,.NET框架的各種優點在C#中表現得淋漓盡致。C#的一些突出的特點 ●簡潔的語法
●精心地面向對象設計 ●與Web的緊密結合 ●完整的安全性與錯誤處理 ●版本處理技術 ●靈活性與兼容性 2.2.1簡潔的語法
在缺省的情況下,C#的代碼在.NET框架提供的“可操縱”環境下運行,不允許直接地內存操作。它所帶來的最大的特色是沒有了指針。與此相關的是,那些在C++中被瘋狂使用的操作符(例如:“::”、“->”和“.,”)已經不再出現。C#只支持一個“.”,對于我們來說,現在需要理解的一切僅僅是名字的嵌套而已。
C#用真正的關鍵字換掉了那些把活動模板庫(Active Template Library,ALT)和COM搞得亂糟糟的偽關鍵字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每種C#操作符在.NET類庫中都有了新名字。
語法中的冗余是C++中的常見的問題,比如“const”和“#define”、各種各樣的字符類型等等。C#對此進行了簡化,只保留了常見的形式,而別的冗余形式從它的語法結構中被清除了出去。
第7頁
8企業人事管理系統
2.2.2精心地面向對象設計
從Smalltalk開始,面向對象的話題就始終纏繞著任何一種現代程序設計語言。的確,C#具有面向對象的語言所應有的一切特性:封裝、繼承與多態性,這并不出奇。然而,通過精心地面向對象設計,從高級商業對象到系統級應用,C#建造廣泛組件的絕對選擇。在C#的類型系統中,每種類型都可以看作一個對象。C#提供了一個叫做裝箱(boxing)與拆箱(unboxing)的機制來完成這種操作,而不給使用者帶來麻煩,這在以后的章節中將進行更為詳細的介紹。
C#只允許單繼承,即一個類不會有多個基類,從而避免了類型定義的混亂。在后面的學習中你很快會發現,C#中沒有了全局函數,沒有了全局變量,也沒有了全局常數。一切的一切,都必須封裝在一個類之中。你的代碼將具有更好的可讀性,并且減少了發生命名沖突的可能。整個C#的類模型是建立在.NET虛擬對象系統(Visual Object System,VOS)的基礎之上,其對象模型是.NET基礎架構的一部分,而不再是其本身的組成部分。在下面將會談到,這樣做的另一個好處是兼容性。
借助于從VB中得來的豐富的RAD經驗,C#具備了良好的開發環境。結合自身強大的面向對象功能,C#使得開發人員的生產效率得到極大的提高。對于公司而言,軟件開發周期的縮短將能使它們更好應付網絡經濟的競爭。在功能與效率的杠桿上人們終于找到了支點。2.2.3與Web的緊密結合
.NET中新的應用程序開發模型意味著越來越多的解決方案需要與Web標準相統一,例如超文本標記語言(Hypertext Markup Language,HTML)和XML。由于歷史的原因,現存的一些開發工具不能與Web緊密地結合。SOAP的使用使得C#克服了這一缺陷,大規模深層次的分布式開發從此成為可能。
由于有了Web服務框架的幫助,對程序員來說,網絡服務看起來就象是C#的本地對象。程序員們能夠利用他們已有的面向對象的知識與技巧開發Web服務。僅需要使用簡單的C#語言結構,C#組件將能夠方便地為Web服務,并允許它們通
第8頁
9企業人事管理系統
過Internet被運行在任何操作系統上的任何語言所調用。舉個例子,XML已經成為網絡中數據結構傳遞的標準,為了提高效率,C#允許直接將XML數據映射成為結構。這樣就可以有效的處理各種數據。2.2.4完整的安全性與錯誤處理
語言的安全性與錯誤處理能力,是衡量一種語言是否優秀的重要依據。任何人都會犯錯誤,即使是最熟練的程序員也不例外:忘記變量的初始化,對不屬于自己管理范圍的內存空間進行修改,這些錯誤常常產生難以預見的后果。一旦這樣的軟件被投入使用,尋找與改正這些簡單錯誤的代價將會是讓人無法承受的。C#的先進設計思想可以消除軟件開發中的許多常見錯誤,并提供了包括類型安全在內的完整的安全性能。為了減少開發中的錯誤,C#會幫助開發者通過更少的代碼完成相同的功能,這不但減輕了編程人員的工作量,同時更有效地避免了錯誤的發生。
.NET運行庫提供了代碼訪問安全特性,它允許管理員和用戶根據代碼的ID來配置安全等級。在缺省情況下,從Internet和Intranet下載的代碼都不允許訪問任何本地文件和資源。比方說,一個在網絡上的共享目錄中運行的程序,如果它要訪問本地的一些資源,那么異常將被觸發,它將會無情地被異常扔出去,若拷貝到本地硬盤上運行則一切正常。內存管理中的垃圾收集機制減輕了開發人員對內存管理的負擔。.NET平臺提供的垃圾收集器(Garbage Collection,GC)將負責資源的釋放與對象撤銷時的內存清理工作。
變量類型是安全的。C#中不能使用未初始化的變量,對象的成員變量由編譯器負責將其置為零,當局部變量未經初始化而被使用時,編譯器將做出提醒;C#不支持不安全的指向,不能將整數指向引用類型,例如對象,當進行下行指向時,C#將自動驗證指向的有效性;C#中提供了邊界檢查與溢出檢查功能。2.2.5版本處理技術
C#提供內置的版本支持來減少開發費用,使用C#將會使開發人員更加輕易地開發和維護各種商業用戶。升級軟件系統中的組件(模塊)是一件容易產生錯
第9頁
10企業人事管理系統
誤的工作。在代碼修改過程中可能對現存的軟件產生影響,很有可能導致程序的崩潰。為了幫助開發人員處理這些問題,C#在語言中內置了版本控制功能。例如:函數重載必須被顯式聲明,而不會象在C++或java中經常發生的那樣不經意地被進行,這可以防止代碼級錯誤和保留版本化的特性。另一個相關的特性是接口和接口繼承的支持。這些特性可以保證復雜的軟件可以被方便地開發和升級。2.2.6靈活性和兼容性
在簡化語法的同時,C#并沒有失去靈活性。盡管它不是一種無限制語言,比如:它不能用來開發硬件驅動程序,在默認的狀態下沒有指針等等,但是,在學習過程中你將發現,它仍然是那樣的靈巧。
如果需要,C#允許你將某些類或者類的某些方法聲明為非安全的。這樣一來,你將能夠使用指針、結構和靜態數組,并且調用這些非安全代碼不會帶來任何其它的問題。此外,它還提供了一個另外的東西(這樣的稱呼多少有些不敬)來模擬指針的功能--delegates,代表。再舉一個例子:C#不支持類的多繼承,但是通過對接口的繼承,你將獲得這一功能。2.2.7安全性
正是由于其靈活性,C#允許與C風格的需要傳遞指針型參數的API進行交互操作,DLL的任何入口點都可以在程序中進行訪問。C#遵守.NET公用語言規范(Common Language Specification,CLS),從而保證了C#組件與其它語言組件間的互操作性。元數據(Metadata)概念的引入既保證了兼容性,又實現了類型安全。3.1SQL2005主要特點 3.1.1.NET框架
使用SQL Server2005,開發人員通過使用相似的語言,例如微軟的VisualC#.NET和微軟的VisualBasic,將能夠創立數據庫對象。開發人員還將能夠建立兩個新的對象——用戶定義的類和集合。
第10頁
11企業人事管理系統
3.1.2XML技術
在使用本地網絡和互聯網的情況下,在不同應用軟件之間散步數據的時候,可擴展標記語言(XML)是一個重要的標準。SQL Server2005將會自身支持存儲和查詢可擴展標記語言文件。3.1.3ADO.NET2.0版本
從對SQL類的新的支持,到多活動結果集(MARS),SQL Server2005中的ADO.NET將推動數據集的存取和操縱,實現更大的可升級性和靈活性。3.1.4增強的安全性
SQL Server2005中的新安全模式將用戶和對象分開,提供fine-grainaccess存取、并允許對數據存取進行更大的控制。另外,所有系統表格將作為視圖得到實施,對數據庫系統對象進行了更大程度的控制。3.1.5Transact-SQL的增強性能
SQL Server2005為開發可升級的數據庫應用軟件,提供了新的語言功能。這些增強的性能包括處理錯誤、遞歸查詢功能、關系運算符PIVOT,APPLY,ROW_NUMBER和其他數據列排行功能,等等。3.1.6SQL服務中介
SQL服務中介將為大型、營業范圍內的應用軟件,提供一個分布式的、異步應用框架。3.1.7通告服務
通告服務使得業務可以建立豐富的通知應用軟件,向任何設備,提供個人化的和及時的信息,例如股市警報、新聞訂閱、包裹遞送警報、航空公司票價等。
第11頁
12企業人事管理系統
在SQL Server2005中,通告服務和其他技術更加緊密地融合在了一起,這些技術包括分析服務、SQLServerManagementStudio。3.1.8Web服務
使用SQL Server2005,開發人員將能夠在數據庫層開發Web服務,將SQL Server當作一個超文本傳輸協議(HTTP)偵聽器,并且為網絡服務中心應用軟件提供一個新型的數據存取功能。3.1.9報表服務
利用SQL Server2005,報表服務可以提供報表控制,可以通過VisualStudio2005發行。3.1.10全文搜索功能的增強
SQL Server2005將支持豐富的全文應用軟件。服務器的編目功能將得到增強,對編目的對象提供更大的靈活性。查詢性能和可升級性將大幅得到改進,同時新的管理工具將為有關全文功能的運行,提供更深入的了解。3.2C#與ADO.NET
3.2.1 C#中的數據庫訪問
用.NET框架編寫的(當然也包括用C#編寫的應用程序)應用程序需要訪問數據庫時,將使用ADO.NET來實現數據庫訪問。數據綁定是一種非常有用的訪問數據庫的方法,能夠減少需要編寫的代碼量。很多簡單任務可以通過純粹聲明式代碼來完成。<1> ADO.NET ADO.NET是微軟的數據訪問框架的最新產物,它是.NET框架的一部分。在ADO.NET之前,程序員在ASP(Active Server Pages)或Visual Basic中使用
第12頁
13企業人事管理系統
ADO(AtiveX Data Objects),這是一組COM(Component Object Model,組件對象模型)組件,它通過一個易于使用的封裝類提供對底層數據訪問代碼的訪問。雖然ADO大大簡化了數據庫訪問,但更高級的程序員(特別是C++程序員)通常更喜歡使用更直接、更快的代碼,如OLE DB(Object Linking and Embedding for Databases)代碼庫。
ADO.NET比ADO的功能更強大。它是在.NET代碼中訪問數據庫的最好工具。
.NET框架中的ADO.NET類型(在System.Data命名空間及其子空間下的所有類型)包括那些為訪問SQL Server、OLE DB、ODBC和Oracle數據庫而優化的類型。它們都是基于通用類的,因此使用ADO.NET訪問不同的DBMS是相似的。ADO.NET類型實現兩個主要的功能。
● 數據訪問:用于訪問數據庫中數據和操作數據庫的類型;
● 數據表示:用于包含數據庫數據(如數據表)的類型。
這兩種類型之間聯系密切,在數據庫開發中兩種類型都會用到。嚴格地說,可以只用一種數據庫訪問類型。然而,如果使用數據訪問類型來填充數據表示類型將節省大量工作。
ADO.NET包含7個重要的基類,其中4個是數據訪問類:
● DbConnection;
● DbCommand;
● DbDataReader;
● DbDataAdapter。其他3個類是數據表示類:
● DataTable;
● DataRelation;
● DataSet。
DataTable類使用了其他一些重要的類:DataColum、Constraint和DataRow,本節也將介紹它們。1.DbConnection DbConnection類提供與數據庫的連接。創建DbConnection對象時,應提供與DBMS通信所需的所有信息,如數據庫的位置、用于認證的用戶名和密碼以
第13頁
14企業人事管理系統
及要訪問的DBMS中的數據庫。
所有其他ADO.NET數據訪問類都依靠DbConnection與數據庫進行通信。DbConnection類的扮演角色如圖2.1所示。
圖3.2.1 DbConnection類
在從DbConnection派生而來的類中,到數據庫的連接都是由連接字符串定義的,該字符串存儲在屬性DbConnection.ConnectionString中。
數據庫連接應只在傳輸數據時才打開,因此創建DbConnection實例時并不自動連接到數據庫。DbConnection類定義了Open()方法和Close()方法,用于控制連接何時可用。很多其他的ADO.NET類也能控制連接狀態,例如,有些類在完成操作后關閉它們使用的連接。
DbConnection對象還能參與事務。可用DbConnection.BeginTransaction()方法開始事務,或使用DbConnection.EnlistTransaction()作為已有事務的一部分執行操作。
訪問SQL Server或SQL Server速成版中的數據時,使用SqlConnection,該類是DbConnection的子類。一般來說,DbConnection和SqlConnection及其他子類都稱為連接類。2.DbCommand DbCommand類提供與數據庫交互的主要方法。可以用DbCommand對象來執行SQL語句、運行存儲過程等。DbCommand及其派生類稱為命令類。
大部分時候并不直接使用DbCommand,而是用封裝了DbCommand的其他對象。但有時候需要對數據庫通信進行更多的控制,這時就可以使用DbCommand對象。DbCommand對象的扮演角色如圖2.2所示。
第14頁
15企業人事管理系統
圖3.2.2 DbCommand類
DbCommand中最重要的屬性是DbCommand.CommandText。要執行SQL語句,就要將語句文本放在這個屬性中。可以用DbCommand.CommandType來指定要執行的語句類型,使用DbCommand.Connection和DbCommand.Tranction來訪問底層的連接或事務。
要注意,DbCommand對象可能有參數化的命令字符串,命令中的參數來自類型為DbCommand.Parameters集合的屬性。這與直接在命令字符串中輸入參數相比有很多優點,在本書后面部分將會看到。
要使用DbCommand對象執行命令,有三種選擇,這取決于要執行的命令是什么。有些命令不返回結果,這種情況下可以用DbCommand.ExecuteNonQuery()方法;有些命令返回一個結果,這時可用DbCommand.ExecuteScalar()方法;最后,有很多命令返回多行數據,這時可用DbCommand.ExecuteReader()方法,它將返回一個DbDataReader對象(下一小節將解釋)。
SQL Server的DbCommand版本名為SqlCommand。它有自己的一些特殊方法,如SqlCommand.ExecuteXmlReader()方法,它直接以XML格式返回結果。3.DbDataReader 使用DbDataReader類可以從結果集中讀取數據,如從執行存儲在命令對象中的命令生成的結果集中讀取數據。該類經過高度優化,可以很快地訪問數據庫中的數據。然而,這種優化也有些副作用,例如,只能以串行方式一次讀取一行數據。不能讀完兩行后再返回去讀取第一行。通常,可以用DbDataReader對象(更確切地說,是數據閱讀器的子類對象)來提取要使用的行數據,并將其存儲在其他對象中。例如,可以讀取一個結果集中的每行,將其存儲到在自定義集合或泛型列表對象中的自定義類中。
第15頁
16企業人事管理系統
與命令對象一樣,很多時候數據閱讀器對象是由ADO.NET命名空間下的其他類使用的,用戶不必直接使用它們。
圖3.2.3說明了如何在數據庫應用程序中使用數據閱讀器。
要使用數據閱讀器對象,首先必須調用DbDataReader.Read()方法選擇結果集中的第一行。可不斷調用該方法來移動數據閱讀器,使數據閱讀器像結果集中的游標一樣總是指向一行。獲取一行時,Read()方法返回true;否則返回false—如當所有行都已經讀完時。也可以用DbDataReader.HasRows屬性來判斷結果集中是否還有其他行。
圖3.2.4 DbDataReader類
很多屬性和方法可用于檢查當前選中的行。DbDataReader.FieldCount查看當前行包含多少列,并用DbDataReader的重載索引器訪問各列。如果知道要訪問的列名,可用基于字符串的索引器來獲得列值,也可以使用基于整數的索引器通過位置獲得列。在這兩種情況下,這種方法都將返回object值,可將其轉化為其他類型的數據。
也可以使用DbDataReader提供的多個方法直接獲得類型化數據,如GetString()和GetInt32()分別將指定列以string和int值返回,列通過其索引選擇。要使用這些方法獲得值類型,必須首先使用DbDataReader.IsDBNull檢查空值;否則,空值將引發異常。檢查空值是必須的,因為不管什么數據庫類型都可以為空。這與.NET中的值類型不同,可為空的值類型(如int)在這種上下文環境中是不受支持的。
DbDataReader也能夠獲得關于它包含的數據的元信息—使用
第16頁
17企業人事管理系統
DbDataReader.GetSchema Table()方法,這樣就可以知道列的名稱、數據類型和其他信息,如列是否包含空值。
與前面的其他類一樣,也有專門用于SQL Server的數據閱讀器類,這就是SqlDataReader,本書將使用該類。該類繼承DbDataReader,提供將數據讀取為本地SQL類型的方法,這樣就能夠避免空類型的問題。這些類型包含在System.Data.Sqltypes命名空間中,是可為空的;如SqlDouble和SqlInt32。雖然這些類型也可以像標準的值類型那樣進行操作,但它們實際上是引用類型。4.DbDataAdapter 在ADO.NET的核心數據訪問類中,最后一個是DbDataAdapter類。它比前面介紹過的類型要復雜得多,設計該類的目的只有一個:減少存儲在數據集對象中的數據與數據庫進行數據交換時的干擾。與前面的類一樣,DbDataAdapter類也有很多派生類,它們統稱為數據適配器類。
稍后將詳細解釋什么是數據集對象,簡單地說,它們是能夠以.NET對象的形來表示數據庫中數據的對象。數據集對象可以包含整個表或多個表的數據。數據適配器既可以將數據庫中的數據傳輸給包含在數據集中的表,也可以將數據集中的數據傳輸到數據庫中。
這個功能由命令對象和數據閱讀器對象執行,因此大部分時候用戶不必考慮它。然而,DbDataAdapter最重要的(也是最有用的)特性之一是,它用于傳輸數據的命令對象被暴露出來,因此可以根據需要對它們進行定制。圖2.4說明了DbDataAdapter類的工作原理,包括它包含的命令對象。
第17頁
18企業人事管理系統
圖3.2.4 DbDataAdapter類
數據適配器使用的4個命令對象存儲在4個屬性中:SelectCommand(用于查詢數據)、InsertCommand(用于添加數據)、UpdateCommand(用于編輯數據)和DeleteCommand(用于刪除數據)。要使用適配器,并不一定全部用到這4個屬性,例如,可以只用適配器來查詢數據。另外,.NET框架可以根據其他命令的值推斷出命令的值,例如,可以根據查詢命令來生成更新、插入和刪除命令。然而,這種自動生成的命令的效率可能不如手工提供的高。本書稍后還會討論這個問題。
數據適配器中最常用的兩個方法是
DbDataAdapter.Fill()和DbDataAdapter.Update()。Fill()方法從數據庫中獲取數據;Update()方法更新數據庫中的數據。這兩個方法都可以用于數據集或單個數據表。另外,可以使用DbDataAdapter.FillSchema()獲取架構數據。
SQL Server中的DbDataAdapter版本是Sql DbDataAdapter。5.DataTable DataTable是ADO.NET提供的第一個數據表示類。與數據訪問類不同,數據表示類沒有專門用于特定數據庫管理系統(如SQL Server)的子類,它們獨立于平臺。實際上,如果需要的話,數據表示類完全可以獨立于數據庫使用,它們只是存儲數據的一種方便的方法。
DataTable類用于存儲(讀者可能對此感到不解)數據表。在繼續討論這個類之
第18頁
19企業人事管理系統
前需要澄清一件事情:以DataTable對象存儲的表不一定要映射到數據庫中的表。DataTable可能包含表中數據的一個子集,該子集可能只包含數據庫表的部分行、部分列,可能是由數據庫中多個表組合而成的數據,還可能是所有這些的組合,這取決于用于獲得數據的查詢語句。通常,DataTable與數據庫中的表匹配,但仍然要知道上面提到的事實。
圖3.2.5說明了DataTable與其他ADO.NET對象之間的關系。
圖2.5 DataTable 要獲得完全填充的DataTable,可使用數據適配器。有包含數據的DataTable后,就可以訪問行、列、約束和它包含的其他信息。這些信息可以通過命名恰切的屬性來訪問,包括Rows、Columns和Contraints等。
上面提到的3個屬性都返回一個集合類(DataRowCollection、DataColumnCollection和ConstaintCollection)對象。與其他集合類一樣,這些類可用于在它們包含的對象集合中導航,添加或刪除項等。稍后將介紹這些集合包含的類。
DataTable類另一個非常重要的方面是,如何處理數據修改。例如,如果刪除DataTable中的一行,數據適配器如何知道在數據庫中刪除對應的數據?DataTable對象記錄了對原始數據的修改,而不只是數據的當前狀態。從DataTable中刪除一行并不會真的刪除這些數據,而只是數據被標記為已刪除。在DataTable對象的消費方(如應用程序)看來,就像數據已被刪除,但實際上并沒有刪除。
任何時候都可以使用GetChanges()方法獲得關于對DataTable對象所做的修改
第19頁
20企業人事管理系統
列表(以另一個DataTable對象的形式)。可以在適當時使用AcceptChanges()方法接受已做的修改,從而覆蓋原來的數據。例如,可以在修改提交到數據庫后這樣做。也可以使用RejectChanges()撤銷所有的修改,如當最終用戶單擊“取消”按鈕時。
DataTable對象也暴露了很多事件,在應用程序中可以定制這些事件,如RowDeleted和ColumnChanged。使用這些事件可以保證應用程序對事件進行響應,還可以實現其他功能,例如,確保底層數據庫在數據發生修改時立即更新。(1)DataColumn。
DataColumn存儲了在數據表中定義列所需的所有信息。在DataTable中,Columns屬性包含一個DataColumnCollection,這是一個DataColumn對象集合。DataColumn還包含與DBMD匹配的屬性,包括ColumnName、Dataype、AllowDBNull和DefaultValue。它的屬性可能比使用的DBMS的屬性還要多,但如果使用過不同的DBMS,這一點將顯而易見。對于SQL Server,這并不是問題。(2)Constaint。
Constaint對象(在ConstaintCollection中,可通過DataTable.Constaints訪問)用于包含表的所有元數據,這些數據不包含在DataColumn對象中。Constaint類作為更具體類的基類,這些具體類包括UniqueConstaint—用于確保給定列或列組合的值是唯一的(例如,這對于主鍵是必須的)和ForeingKeyConstaint—用于實現表之間的關系。(3)DataRow。
DataRow類用于存儲表中一行包含的數據。通過DataTable.Rows屬性可以訪問DataRow Collection對象,后者存儲了組成表數據的多個DataRow對象。一行數據中的各列可通過索引器來訪問,索引器讓你能夠通過列名、索引和版本(例如,如果行被修改)來訪問列。
行的當前狀態,即它是否被修改、刪除或以某種方式改變,可通過DataRowState屬性訪問。該屬性的值為DataRowState類型,這是一種包含所有可能行狀態的枚舉類型。各個DataRow對象也有與DataTable對應的方法,用于接受、拒絕和獲得更改。例如,可以推斷出,調用DataTable.AcceptChanges()將級聯地對表的每行調用DataRow AcceptChanges()。
第20頁
21企業人事管理系統
6.DataRelation 在處理多個DataTable對象時,通常需要表示(并實施)表數據之間的關系。這由DataRelation類來完成。可將多個DataRelation對象組合起來,構成一個DataRelationCollection對象。
關系可以用DataRelation類的多個屬性來定義,包括ChildTable、ChildColumns、ChildKeyConstraint、ParentTable和ParentKeyConstraint等。這些屬性都是對相應的對象的引用,如DataTable和DataColumn對象。關系名也被存儲在DataRelation.RelationName屬性中。
現在還不用太擔心DataRelation對象,因為它們封裝了ADO.NET比較高級的方面,這在本書后面將介紹。7.DataSet 現在到了ADO.NET中最重要的類—DataSet。從某種程度上說,該類只是DataTable對象和DataRelation對象的集合(如圖2.6所示)。然而,DataSet的強大功能體現在與其他對象結合使用,包括用于Web應用程序和Windows應用程序的控件、Web服務和XML文檔。
DataSet類包含很多屬性和方法;其中很多與其組成部分的屬性和方法類似,例如,GetChanges()和RejectChanges()。還有一些重要的屬性,如Tables(以DataTableCollection類的形式包含DataSet中的表集合)、Relations(包含一個DataRelation Collection類,其中的Relation對象定義了表之間的關系)。數據表之間的關系及應用于數據的約束使得對DataSet的操作很麻煩。例如,如果兩個表之間存在一對多關系,則添加一行到其中一個表中,可能要求另一個表中存在一行。而這行可能不存在(例如,如果兩行同時添加時),這時,為避免錯誤,添加這些行的順序將很重要;必須先添加位于關系“一”端的行。也可以將DataSet.Enforce Constraints屬性設置為false,這樣在執行編輯操作時將忽略關系。
(1)DataSet對象和XML之間的關系。
第21頁
22企業人事管理系統
與ADO.NET的其他對象一樣,設計DataSet對象時也考慮了XML數據。使用DataSet.GetXml()方法,可將數據集轉換為XML文檔;還可以使用DataSet.GetXmlSchema()方法只提取數據集中的架構(包括數據集包含的所有表和其他對象的架構)作為XML文檔。還可使用序列化技術在DataSet和XML文檔之間進行轉換,因為DataSet類實現了IxmlSeria-lizable接口。
DataSet對象與XML之間的關系以及使用序列化在這兩種表示格式之間進行轉換,在.NET框架中運用相當廣泛。它提供了一種在應用程序層之間和通過Internet交換數據的很好方法。特別地,有了數據集的XML表示形式后,就可以在Web服務之間進行交換DataSet對象。(2)類型化數據集(typed data set)。
DataSet對象的功能很強大,但它們并不是最容易使用或最合乎邏輯的。例如,要訪問表中的特定行,使用它就顯得很笨拙。必須使用DataSet.Tables集合獲得正確的表,用DataTable.Rows集合獲得正確的行,然后以對象引用的形式或通過DataColumn的方法提取列數據—這些都不容易。訪問特定列的代碼行可能如下所示: int
result
=(int)myDataSet.Tables[“myTable”].Rows[5][ “IntegerColumn”];還有一種方法,那就是使用類型化數據集。類型化數據集是DataSet的子類,但它包含強類型屬性和方法,使得數據操作更容易。如果使用類型化數據集,上面的代碼就可以簡化為如下所示:
int result = myTypedDataSet.MyTable[5].IntegerColumn;雖然這并不影響代碼的功能,但輸入更容易(尤其是啟用了智能感知功能時),以后閱讀代碼時也更容易理解。
唯一的限制是,需要在設計時就知道數據集中將包含的數據的結構。然而,因為數據庫的結構不大可能有很大的改變,因此這通常不成問題。
可以使用xsd.exe工具或通過Visual C#速成版界面自動創建類型化數據集。xsd.exe工具要求提供一個架構(schema),這是以擴展名為.xsd的XML架構文件提供的。Visual C#速成版在創建類型化數據集時也要使用架構信息,但它直接從數據庫獲取這些信息,這使得對數據集的結構進行操作更容易。
第22頁
23企業人事管理系統
(3)性能。
有些人認為應盡量避免使用數據集。這是因為它們是“重量級”對象,帶來的開銷在高性能應用程序中可能很大。另外,以數據集的形式通過Web傳輸數據可能意味著要傳輸大量的XML數據。
從某種程度上說,這些擔憂是正確的。如果性能很重要,可以設計自己的類,并直接使用數據閱讀器提供的數據進行填充。然而,數據集(特別是類型化數據集)自有它們的用處。它們提供了很多特性,只需少量代碼就可以使用這些特性,且用于操作它們的代碼通常很簡單。例如,如果不沒有數據集,要表示數據庫的數據,同時在類中記錄所有編輯,且這些編輯可以很容易地傳輸到數據庫,可能需要大量的代碼,且實現起來相當困難。3.2.2 數據綁定
數據綁定是程序員只需做少量工作就可以用數據庫中的數據填充Windows或Web控件的一種技術。.NET框架讓程序員只需使用簡單的代碼就可以將數據源與控件關聯起來,實際上,可以通過GUI實現很多功能,而不需要編寫大量C#代碼。數據綁定有兩點要求:數據源和要綁定數據的控件。數據源包括數據庫連接,但不僅限于此,也可以使用對象或來自Web服務的數據作為數據源。使用對象作為數據源是一種功能強大的方法,可以利用自定義的集合和自己設計的類,但這有點偏題了。本書大部分時候使用的數據源類型都是數據庫數據源,它有Web控件形式,也有Windows控件形式。
生成數據庫數據源時,通常不僅需要配置連接。數據庫數據源包括關于要訪問數據庫中哪些對象的信息。實際上,在幕后通常將生成類型化數據集。此外,幕后還將用到前面介紹的ADO.NET對象(連接、命令、數據閱讀器和數據適配器協同工作來創建數據源)。然而,程序員不必太擔心這一點,而只需創建一個數據源并將它綁定到控件,如圖2.7所示。
圖2.7 數據綁定
第23頁
24企業人事管理系統
要綁定到控件,需要將控件的屬性設置為數據源的元素(從而間接地設置為數據庫的元素)。對于簡單控件,如標簽或文本框,只要將控件的Text屬性設置為數據庫中類型為文本的列。還可以將數據綁定到列表控件(包括下拉列表),這樣列表中的每項都綁定到數據庫表中的一行。更高級的控件(如GridView)可用于查看整個表的內容。另外,也可以提供自定義的控件和自定義的數據綁定架構,以便使用和編輯數據庫中的數據。3.3 SQL語言
通用的SQL語言,最早于1974年提出,當時稱為SEQUEL語言,后來被國際標準化組織ISO采納為國際標準,現在大多數數據庫管理系統都支持SQL語言。SQL是一種處理數據的高級語言,是非過程化語言,在查詢數據時,只需指出“要什么”,而不需指出如何實現的過程。SQL語言包括數據定義、查詢、操縱和控制功能。SQL語言的語法格式簡單,使用方便靈活。3.3.1表定義語句
廣義上講,表定義語句包括數據表的創建語句(Create語句)、數據表修改語句(Alter語句)和數據表刪除語句(Drop語句)。3.3.2視圖定義語句
視圖是對數據表中數據的一種顯示方式,用一個數據表可以有多個視圖,以根據用戶的不同需求,將數據表中用戶所關心的數據提取出來,顯示給用戶,忽略數據表中其他數據。視圖也可以理解為一種預先定義好的查詢。實際上,查詢的優點在于可在多個數據表之間按指定的條件對數據進行篩選顯示。3.3.3索引定義語句
索引是加速數據查詢的重要手段,索引一旦被建立起來,就成為了數據庫的一部份,并占用數據庫的存儲空間。使用索引的突出優點就是加快數據的查詢速度,但是,對于數據的插入、刪除和修改操作來說,索引卻降低了執行效率。
第24頁
25企業人事管理系統
3.3.4數據操縱語句
數據操縱包括數據的插入、更新和刪除等操作,數據操縱語句是應用程序編制過程中使用較多的語句之一。3.3.5INSERT語句
INSERT語句所實現的功能是向數據庫中插入新的數據,該語句的一般語法如下: Insert into tableName [(fieldList)] values(valueList)3.3.6UPDATE語句
UPDATE語句用于更新數據表中的數據。所謂的更新是指數據已經存在于數據表,但需要對其中的數據進行修改,此時可以使用UPDATE語句實現。3.3.7DELETE語句
如果某些數據需要從數據表中刪除,則可以使用DELETE語句進行,該語句的基本語法如下:
Delete from tableName [Where select_conditon] 3.3.8查詢語句
查詢語句是SQL語言中使用最為頻繁的語句,查詢可以根據需要在數據表內或者多個數據表之間進行數據篩選。熟練掌握數據查詢語句,才能編寫出高質量的數據庫管理軟件。
查詢是SQL語言最重要最核心的功能之一。在SQL語言中查詢是通過Select語句實現的,最簡單的SQL語句結構如下: Select字段列表 From表名
第25頁
26企業人事管理系統
3.3.9條件查詢
Select語句除了可以對字段進行篩選以外,還可以對記錄進行篩選和操作,此時,要用到Where字句。Where子句在Select語句中用于指定查詢條件,其結構一般如下:
Select 字段列表 from 表名 Where 條件表達式 3.3.10查詢排序
SQL語句還可以對查詢的結果進行排序,此時,要用到Order by子句。另外,還要用到兩個負責排序方式的關鍵詞ASC和DESC,ASC指明按升序排列查詢結果;DESC則指明按降序進行排列。排序查詢的結構一般如下: Select fieldlist From tableName [Where select_conditon] Order by field1 [ASC|DESC],field2 [ASC|DESC] 3.3.11統計查詢
SQL語言對數值型的字段具有統計的功能,該功能涉及到5個統計函數,介紹如下:Count(*):統計符合查詢條件的記錄的個數。AVG(field):計算某個數值型字段的平均值。Max(field):返回某個數值型字段的最大值。Min(field):返回某個數值型字段的最小值。Sum(field):計算某個數值型字段所有記錄的和。3.3.12Group by子句
Group by子句的作用是將查詢結果中的數據按指定字段分組,Group by子句常與統計函數一起使用,以對查詢數據實現分組統計。Group by子句的一般語法如下:
Group by 字段1,字段2 3.3.13Distinct關鍵詞
在數據表的某個字段中可能會出現多個重復的值,使用Distinct關鍵字可以避
第26頁
27企業人事管理系統
免查詢結果中出現重復的記錄。含Distinct關鍵詞的SQL語句結構一般如下: Select Distinct 字段名列表 From 表名 Where 條件表達式 3.3.14Top關鍵詞
Top關鍵詞的作用是限制查詢結果的返回數目。該關鍵詞常被用來限制顯示查詢結果中前多少個或者前百分之多少的記錄。因此,Top關鍵詞經常和Order by子句一起出現。Top關鍵詞的基本語法: Top n Top n Percent 3.3.15多表查詢
SQL語言還可以實現在同一個數據庫中的不同數據表之間進行查詢。3.3.16多重查詢
SQL語句允許嵌套使用,這種查詢一般是把其中一個查詢的結果作為另一個查詢語句的查詢條件。多重查詢中一般會出現In、Not In、All、Some或者Any等關鍵詞。In和Not In用來指定某值在和不在某區間或者集合;All表示集合中的全部,而Some和Any則表示集合中的一部分。3.3.17EXISTS關鍵詞
EXISTS(NOT EXISTS)關鍵詞是復合查詢語句中的常用關鍵詞,其作用是判斷復合查詢語句的內層查詢是否存在查詢結果。使用EXISTS關鍵詞時內層查詢只是起到一個判斷是否存在查詢結果的作用,其篩選出的數據對整個查詢沒有任何作用。
第27頁
28企業人事管理系統
4系統需求分析
4.1系統流程圖如下
員工管理準備員工信息管理登陸社會關系學習經歷維護數據備份判定數據清空系統主界面部門設置設置清空員工管理系統設置崗位調整工資考勤信息管理下載考勤信息考評管理稅率管理獎懲管理工資調整管理工資項目管理工資匯總統計子模塊員工管理功能圖如下:
部門設置用戶管理崗位調整員工管理學習經歷維護員工基本信息社會關系第28頁
29企業人事管理系統
用戶管理:主要用于管理不同職能的員工信息,可以實現創建,修改,刪除員工職能信息的功能。
系統運行界面圖如下:
對應的數據庫設計圖:
員工基本信息:企業人事檔案管理信息化模塊;具有快速、無限量員工數
第29頁
30企業人事管理系統
據輸入及保存功能;由特定權限的管理員統一管理員工檔案。對員工從進入公司開始直至離職的整個過程進行人面管理,檔案信息包括,職員編號,職員姓名,出生年月,職工學歷,定時檢查更新員工信息,具有權限的使用者可以登記、查詢、修改、統計部門信息、崗位設置情況。圖如下:
對應的數據庫設計如下:
第30頁
31企業人事管理系統
社會關系:主要用于建立和保存職員的社會關系,以備侯用。運行圖如下:
第31頁
32企業人事管理系統
對應的數據庫系統設計:
第32頁
33企業人事管理系統
學習經歷維護:主要記錄員工各個階段不同部門學習的情況。系統運行圖
對應的數據庫設計:
第33頁
34企業人事管理系統
部門設置:可以添加、修改、刪除部門。系統運行圖:
對應的數據庫設計:
崗位調整:主要用于讓公司找到員工的強項并讓員工發揮最大作用。
第34頁
35企業人事管理系統
對應的數據庫設計:
工資考勤信息管理功能圖如下:
第35頁
36企業人事管理系統
工資匯總統計下載考勤信息稅率管理考評管理工資考勤信息管理工資項目管理獎懲管理工資調整管理下載考勤信息:用于記錄員工的考勤情況。系統運行圖如下:
對應的數據庫設計圖:
第36頁
37企業人事管理系統
考評管理:用于實時調查員工的工作情況,調整好他們最佳工作狀態,可以促進良性競爭和增強企業的活力。系統運行圖:
第37頁
38企業人事管理系統
對應的數據庫設計圖如下:
稅率管理:主要用于計算稅率,可以升級工資模塊,跟時代同步。系統運行圖如下:
相應的數據庫設計如圖:
第38頁
39企業人事管理系統
獎懲管理:賞罰分明,調動企業工作氣氛。系統運行圖如下:
對應的數據庫設計圖如下:
第39頁
40企業人事管理系統
工資調整管理:工資的合理調整可以有效調動員工積極性。系統運行圖如下:
對應的數據庫設計圖如下:
第40頁
41企業人事管理系統
工資項目管理:用于基本工資和參數的記錄和調整。系統運行圖如下:
對應數據庫設計圖如下:
第41頁
42企業人事管理系統
工資匯總統計:用于員工工資的報表顯示。如圖:
系統設置圖如下:
數據備份系統設置數據清空設置清空 系統設置:主要用于數據庫的備份和維護。
第42頁
43企業人事管理系統
運行圖如下: 連接到數據庫:
進行數據庫備份或者恢復:
第43頁
44企業人事管理系統
系統大概流程和功能介紹:
系統登陸:安全作用,設置管理員的賬號用于登陸與維護。
系統主界面:
第44頁
45企業人事管理系統
增強更為人性化的功能: 比如操作助手:
企業員工生日提醒如圖:
第45頁
46企業人事管理系統
增強更為美觀的界面:
參考文獻:
[1] 王珊,陳紅.數據庫系統原理教程[M].北京:清華大學出版社,2008。[2] 李曉喆.SQL Server 2000管理及應用系統開發[M].北京:人民郵電出版社,2002。
[3] 侯曉霞,柴洪輝.C#技術內幕[M].北京:清華大學出版社,2002。[4] 李敏波.C#高級編程[M].北京:清華大學出版社,2005。[5] 張志華,劉云鵬.C#設計模式[M].北京:電子工業出版社,2003。[6] 張曉坤,譚立平,車樹良.C#編程語言詳解[M].北京:電子工業出版社,2004。
[7] 周存杰.Visual.C#.NET.網絡核心編程[M].北京:清華大學出版社,2002。[8] 姜力,高群.SQL Server數據庫設計與管理[M].北京:中國林業出版社,2006
第46頁
47企業人事管理系統
致謝
首先衷心感謝我的導師謝光強老師對我學術上的指導和幫助。在畢業設計和論文寫作的過程中,謝老師給我提供了各種意見與支持,并引導我逐步解決各種問題,使我的畢業論文條理化、規范化,同時使我增長了見識、提高了水平。謝老師學識淵博、治學嚴謹,作為我的導師讓我感到萬分的榮幸。
同時感謝同事,他為我提供了一些c#學習資料。最后,還要感謝所有幫助過我和關心過我的人。忠心的說一聲“謝謝”。
附錄F 各模塊實現的主要源代碼
F1.1登錄模塊的設計與實現的主要代碼 if(tbxUserCode.Text.Trim()== “"){ BigMessageBox.Show(”請您輸入用戶或密碼!“, ”警告“, MessageBoxButtons.OK, MessageBoxIcon.Stop);this.tbxUserCode.Text = ”“;this.tbxUserCode.Text = ”“;this.tbxUserCode.Focus();return;} else { EmployeeInfo emp = null;switch(User.LoginValidate(tbxUserCode.Text.Trim(), tbxUserPwd.Text.Trim(), out emp)){ case User.LoginResult.NoUser: { BigMessageBox.Show(”沒有該用戶信息“, ”用戶驗證“, MessageBoxButtons.OK, MessageBoxIcon.Stop);tbxUserCode.Text = ”“;tbxUserCode.Focus();break;} case User.LoginResult.PasswordError: { BigMessageBox.Show(”用戶密碼錯誤!“, ”用戶驗證“, MessageBoxButtons.OK, MessageBoxIcon.Stop);tbxUserPwd.Text = ”“;
第47頁
48企業人事管理系統
tbxUserPwd.Focus();break;} case User.LoginResult.Success: { FormMain objMain = new FormMain();this.Hide();objMain.Show();break;} default: break;}
} F1.2登陸實體類:
StringBuilder strSql = new StringBuilder();strSql.Append(”select EmpID, LoginName, LoginCode, Password, RoleID, IsUsed, CreateName,CreateDatetime,Remark FROM Login “);strSql.Append(” where LoginrCode=“ + LoginrCode);Login model = new Login();DataTable dt = DbHelperSQL.Instance.GetDataTable(strSql.ToString());
if(dt.Rows.Count > 0){
model.EmpNO = dt.Rows[0][”EmpNO“].ToString();model.LoginName = dt.Rows[0][”LoginName“].ToString();model.LoginrCode = dt.Rows[0][”LoginCode“].ToString();model.Password = dt.Rows[0][”Password“].ToString();if(dt.Rows[0][”RoleID“].ToString()!= ”“){ model.RoleID = int.Parse(dt.Rows[0][”RoleID“].ToString());} model.IsUsed = dt.Rows[0][”IsUsed“].ToString();model.CreateName = dt.Rows[0][”CreateName“].ToString();if(dt.Rows[0][”CreateDatetime“].ToString()!= ”"){
第48頁
第五篇:企業人事管理系統畢業論文設計-企業人事管理系統的
畢業設計(論文)
企業人事管理系統的
設計與實現
摘要
在當今社會,互聯網空前的發展,給人們的工作和生活帶來了極大的便利和高效,信息化,電子化已經成為節約運營成本,提高工作效率的首選。考慮到當前大量企業的人事管理尚處于手工作業階段,不但效率低下,還常常因為管理的不慎而出現紕漏。因此根據部分企業提供的需求,設計此企業人事管理系統,以幫助企業達到人事管理辦公自動化、節約管理成本、提高企業工作效率的目的。
本企業人事管理系統采用C/S結構,主要對企業員工的信息以及跟人事相關的工作流程進行集中的管理,方便企業建立一個完善的、強大的員工信息數據庫。它是以.NET2005.和SQL 2005 Express數據庫作為開發平臺。使用C# 設計操作控件和編寫操作程序,完成數據輸入、修改、存儲、調用查詢等功能;并使用SQL 2005數據庫形成數據表,進行數據存儲。
本文詳細介紹了企業人事管理系統的功能需求,系統設計和具體實現。并簡要介紹了系統開發采用的過程方法。
關鍵詞
企業人事管理系統;C/S;員工信息數據庫
II
The Design and Implementation of Enterprise Personnel Management System Based on C/S
Abstract
Author:Jing Zhu
Tutor:Weigen Qiu
In our society, the unprecedented development of Internet has brought us great convenience and efficiency.Informatization and electronization have become the first choice of saving operation cost and improving work efficiency.Many enterprises' personnel administration systems lie in the phase of manual management which 阿惹 inefficient and easy to go wrong by carelessness.Therefore, this MIS(Management Information System)is designed to make the personnel administration more scientific, normative and efficient.The system adopts the structure mode of client/server(C/S), Windows XP as the operation system,SQL 2005 Express as the background database, and Microsoft Visual Studio.NET 2005 as the developing tool.It can help enterprises to establish a perfect, strong staff information database, which facilitates the centralized management of staff information and workflow.The paper explains the course design, system design and implementation of MIS, also briefly introduces the process of the system development.Key words: Personnel Management System;C/S;Employee Information Database
III
企業人事管理系統...........................................................................................................................3 1前言...............................................................................................................................................3
1.1 應用的目的與意義............................................................................................................3 1.2 人事管理系統發展趨勢..................................................................................................3
1.2.2 世界趨勢.................................................................................................................3 1.2.3 技術革新.................................................................................................................4 1.2.4 工作目標和價值觀的改變.....................................................................................4 1.3 系統調研............................................................................................................................4
1.3.1 社會可行性分析.....................................................................................................4 1.3.2 技術可行性分析.....................................................................................................4 1.3.3 經濟可行性分析.....................................................................................................5 1.3.4 管理可行性分析.....................................................................................................5 1.4 研究內容............................................................................................................................5 2開發工具及其語言特點................................................................................................................6
2.1 Visual Studio.NET主要特點如下......................................................................................6
2.2.1簡潔的語法..............................................................................................................7 2.2.2精心地面向對象設計..............................................................................................8 2.2.3與Web的緊密結合.................................................................................................8 2.2.4完整的安全性與錯誤處理......................................................................................9 2.2.5版本處理技術........................................................................................................10 2.2.6靈活性和兼容性....................................................................................................10 3.1SQL2005主要特點...........................................................................................................10 3.1.1.NET框架...............................................................................................................11 3.1.2XML技術...............................................................................................................11 3.1.3ADO.NET2.0版本.................................................................................................11 3.1.4增強的安全性........................................................................................................11 3.1.5Transact-SQL的增強性能.....................................................................................11 3.1.6SQL服務中介........................................................................................................11 3.1.7通告服務................................................................................................................12 3.1.8Web服務................................................................................................................12 3.1.9報表服務................................................................................................................12 3.1.10全文搜索功能的增強..........................................................................................12 3.2C#與ADO.NET.................................................................................................................12 3.2.1 C#中的數據庫訪問.............................................................................................12 3.2.2 數據綁定...............................................................................................................23 3.3 SQL語言.......................................................................................................................24 3.3.1表定義語句............................................................................................................24 3.3.2視圖定義語句........................................................................................................24 3.3.3索引定義語句........................................................................................................24 3.3.4數據操縱語句........................................................................................................24 3.3.5INSERT語句..........................................................................................................25 3.3.6UPDATE語句........................................................................................................25 3.3.7DELETE語句.........................................................................................................25 3.3.8查詢語句................................................................................................................25 廣東工業大學
企業人事管理系統__朱競
2009-11-30
第1頁
3.3.9條件查詢................................................................................................................25 3.3.10查詢排序..............................................................................................................26 3.3.11統計查詢..............................................................................................................26 3.3.12Group by子句......................................................................................................26 3.3.13Distinct關鍵詞.....................................................................................................26 3.3.14Top關鍵詞............................................................................................................27 3.3.15多表查詢..............................................................................................................27 3.3.16多重查詢..............................................................................................................27 3.3.17EXISTS關鍵詞....................................................................................................27 4系統需求分析..............................................................................................................................28 4.1系統流程圖如下...............................................................................................................28 5 致謝............................................................................................................................................49 附錄F 各模塊實現的主要源代碼..............................................................................................52 F1.1登錄模塊的設計與實現的主要代碼.............................................................................52 }...............................................................................................................................................53 F1.2登陸實體類:................................................................................................................53 F1.3 員工管理模塊的設計與實現的主要代碼..................................................................54 F1.3.1員工管理實現的主要代碼:......................................................................................54 F1.3.2 部門管理實現主要代碼:.......................................................................................55 }...............................................................................................................................................57 F1.3.3工資管理主要代碼:.................................................................................................57 }...............................................................................................................................................61 F1.3.4考勤信息設計與實現主要代碼:..............................................................................61 }...............................................................................................................................................64 F1.4 數據訪問類:...............................................................................................................64 }...............................................................................................................................................67 F1.5生日提醒主要代碼:.....................................................................................................67 F1.6啟動第三方EXE文件操作類:...................................................................................67 }...............................................................................................................................................68
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第2頁
企業人事管理系統
1前言
1.1 應用的目的與意義
人的管理是一切管理工作的核心。員工代表一個企業的形象,因而人事管理機制設計的好壞,直接影響一個企業的成敗。
員工的檔案管理是企業人事管理的基礎,在企業員工普遍流失的今天,一個準確而及時的人事管理系統,有利于人事部門對員工流動進行分析、編制,為企業所需人員提供了保障。
人力資源部那些重復的,事務性的工作交給HRP(Human Resource Planning,人力資源管理系統)來解決,可以省去用戶以往人力資源管理工作的繁瑣、枯燥;用領先的人力資源管理理念,把人力資源管理的作業流程控制和戰略規劃設計巧妙地集合于一體;系統重點涉及到人力資源管理工作中的薪資、考勤、績效、調動、基本信息、用戶管理以及用戶切換等方面,并有綜合的系統安全設置、報表綜合管理模塊。可以很好地為用戶的人力資源管理部門在對員工的成本管理、知識管理、績效管理等綜合管理給予幫助。以每個月中所發工資為例,其中包括考勤、人事信息變動、獎懲、遲到和曠工對本月的薪資計算都有影響,為了及時的計算發放工資往往要提前一個星期花費大量時間,加班加點才能及時完成,而這樣做無論從工作效率還是準確度方面,都不允許,而且還浪費大量的人力財力。如果改用HRP管理做到高效、高精度,還可以減少管理時帶來的一些繁瑣的工作,節約管理帶來的開支。1.2 人事管理系統發展趨勢 1.2.2 世界趨勢
人力資源管理系統主導21世紀,無論是發達國家還是發展中國家,對人力資源的戰略性意義都有了深刻的認識,并開始付諸行動。世界公認,21世紀將是人力資源的世紀;人力資源問題將主導整個21世紀甚至更為遙遠,這種狀況的變化起因于競爭壓力。目前,世界經濟趨向全球化。世界經濟的全球化過程和國廣東工業大學
企業人事管理系統__朱競
2009-11-30
第3頁
家的開放過程,要求組織的管理部門降低管理成本以減少競爭壓力和增強競爭能力。對于不同的組織,人力資源成本在總成本中的比例是不一樣的。1.2.3 技術革新
無論是現在還是將來,工業的發展越來越多地取決于科學和技術、知識與技能。高新科技產業更是如此。這不僅要求員工尤其是技術人員掌握新的科學知識和技術能力,而且更重要的在于要求員工深入而快捷地掌握和應用這些知識和技能。這就導致了兩個問題。第一,隨著這種技術革新的發展和知識更新速度的加快,人們有更多的職業選擇機會。第二,伴隨著這種發展以及職業選擇機會的增多,人力資源管理活動和頻繁程度加劇;而且這種活動對科學技術的要求與它的反應程度也更高了,進而提高了人力資源成本。1.2.4 工作目標和價值觀的改變
隨著社會政治和經濟的發展,人們的工作目標和價值觀也都發生了重要的變化。這就對人事管理部門和管理人員提出了新的要求和新的問題,不得不考慮諸如工作類型設計、崗位分析、充分尊重員工以及為他們提供良好的個人發展和自我價值實現的環境與條件等問題。這樣,人力資源管理就派上了用場。1.3 系統調研 1.3.1 社會可行性分析
隨著計算機的發展與普及,以及互聯網技術的擴展,日常勞資人事管理必將實現無紙化辦公,并且加入到公司內部的Intranet或者是Internet上去,實現數據的共享,這樣有利于勞資人事信息在單位內部的查詢,提高了數據資源的利用,并且能及時的得到更新,不需要象過去那樣浪費大量的人力物力去進行抄寫,提高了工作的效率 1.3.2 技術可行性分析
Visual Studio.NET提供了一個統一的、緊密集成的可視化編程環境,簡化了開發應用程序的過程,縮短了實用方法的時間。利用Visual Studio.NET,可以非常廣東工業大學
企業人事管理系統__朱競
2009-11-30
第4頁
輕松地創建具有自動伸縮能力的可靠的應用程序和組件。而且微軟的優秀成果c#語言保持了c/c++所特有的強大功能和控制能力。與c++十分相似的模型和語法,具有與COM+服務完全的交互性和完全支持能力,能夠輕松地遷移現有的代碼。數據庫方面SQL2005已經可以滿足中小型企業的數據要求,甚至有些大型企業都可以達到要求。如今進算計普及程度日益推廣,計算機配置日新月異,能承載此系統的機器就如辦公的機器都可以達到要求。所以說本系統具有技術可行性。
1.3.3 經濟可行性分析 采用傳統的手工輸入方法,不僅工作繁瑣而且需要人力輸入多,記錄容易出錯,那樣產生了成本高,效果差的弊病,對于一個企業的資料庫建立是十分困難和麻煩的。而采用這種系統所發費的成本,精力都遠遠低于手工,并且實用十分方便,更新也簡易,每個部門只需一個人統一管理,對企業實現辦公無紙化能起到很大的作用。所以此系統經濟可行性也具備了。1.3.4 管理可行性分析
本系統采用了系統數據備份、恢復的功能,而且界面層次分明,一目了然,加上設計方面加入了人性化元素。管理此系統并不難,易學易會。1.4 研究內容
本論文共分為5章。第1章緒論,介紹了本課題的應用目的和意義、人事管理系統、可行性分析和研究內容。第2章介紹了開發工具及其特點、數據庫技術。第3章主要介紹了系統的設計與分析,包括總體設計、數據庫設計、詳細設計等。第4章主要介紹系統實現,即系統各種模塊的功能實現。第5章為本課題完成成果和發展期望的總結。
本論文主要利用C#可視化技術及SQL數據庫開發技術,對員工管理與考勤管理系統進行系統化、細致化和完善化的分析研究。
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第5頁
2開發工具及其語言特點
2.1 Visual Studio.NET主要特點如下 2.1.1提供加速開發過程的高效工具
Visual Studio.NET提供了一個統一的、緊密集成的可視化編程環境,以幫助用戶簡化開發網絡應用程序的過程,縮短學習使用方法的時間。它提供了一種新的語言——C#。通過共享的HTML、XML和樣式單編輯器,用戶可以輕松地借助包括C#在內的任何一種Visual Studio語言來開發網絡應用程序。2.1.2 提供對各種網絡應用程序的快速設計能力
借助Web Form,用戶可以用他們在開發基于窗體的桌面應用程序時所使用的技巧來創建跨平臺、跨瀏覽器的網絡應用程序。2.1.3 利用XML和Web Service來簡化分布式計算
Web Service借助標準的Intemet協議在網絡上調用商務邏輯。HTTP被作為Web Service傳輸的基礎協議,該協議使得對功能的請求能夠穿越各種團體所使用的防火墻。XML被用來對上述功能請求的參數進行格式統一,從而使這些請求能夠使用于所有的軟件和硬件。這樣使得對Web Service的訪問可以通過任何一種語言、使用任何一種組件模型在任何一種操作系統上實現。2.1.4快速構建中間層商務組件
Visual Studio的一個核心目標就是要為基于服務器的應用程序提供應用程序快速部署工具。利用Visual Studio.NET創建的組件將為您的商務運作提供足夠的功能和伸縮性。
2.1.5構建可靠的可伸縮解決方案
利用Visual Studio.NET,用戶可以非常輕松地創建具有自動伸縮能力的可靠的應用程序和組件。2.2 C#技術概述
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第6頁
C#在帶來對應用程序的快速開發能力的同時,并沒有犧牲C與C++程序員所關心的各種特性。它忠實地繼承了C和C++的優點。如果你對C或C++有所了解,你會發現它是那樣的熟悉。即使你是一位新手,C#也不會給你帶來任何其它的麻煩,快速應用程序開發(Rapid Application Development,RAD)的思想與簡潔的語法將會使你迅速成為一名熟練的開發人員。
C#是專門為.NET應用而開發出的語言。這從根本上保證了C#與.NET框架的完美結合。在.NET運行庫的支持下,.NET框架的各種優點在C#中表現得淋漓盡致。C#的一些突出的特點 ●簡潔的語法
●精心地面向對象設計 ●與Web的緊密結合 ●完整的安全性與錯誤處理 ●版本處理技術 ●靈活性與兼容性 2.2.1簡潔的語法
在缺省的情況下,C#的代碼在.NET框架提供的“可操縱”環境下運行,不允許直接地內存操作。它所帶來的最大的特色是沒有了指針。與此相關的是,那些在C++中被瘋狂使用的操作符(例如:“::”、“->”和“.,”)已經不再出現。C#只支持一個“.”,對于我們來說,現在需要理解的一切僅僅是名字的嵌套而已。
C#用真正的關鍵字換掉了那些把活動模板庫(Active Template Library,ALT)和COM搞得亂糟糟的偽關鍵字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每種C#操作符在.NET類庫中都有了新名字。
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第7頁
語法中的冗余是C++中的常見的問題,比如“const”和“#define”、各種各樣的字符類型等等。C#對此進行了簡化,只保留了常見的形式,而別的冗余形式從它的語法結構中被清除了出去。2.2.2精心地面向對象設計
從Smalltalk開始,面向對象的話題就始終纏繞著任何一種現代程序設計語言。的確,C#具有面向對象的語言所應有的一切特性:封裝、繼承與多態性,這并不出奇。然而,通過精心地面向對象設計,從高級商業對象到系統級應用,C#建造廣泛組件的絕對選擇。在C#的類型系統中,每種類型都可以看作一個對象。C#提供了一個叫做裝箱(boxing)與拆箱(unboxing)的機制來完成這種操作,而不給使用者帶來麻煩,這在以后的章節中將進行更為詳細的介紹。
C#只允許單繼承,即一個類不會有多個基類,從而避免了類型定義的混亂。在后面的學習中你很快會發現,C#中沒有了全局函數,沒有了全局變量,也沒有了全局常數。一切的一切,都必須封裝在一個類之中。你的代碼將具有更好的可讀性,并且減少了發生命名沖突的可能。整個C#的類模型是建立在.NET虛擬對象系統(Visual Object System,VOS)的基礎之上,其對象模型是.NET基礎架構的一部分,而不再是其本身的組成部分。在下面將會談到,這樣做的另一個好處是兼容性。
借助于從VB中得來的豐富的RAD經驗,C#具備了良好的開發環境。結合自身強大的面向對象功能,C#使得開發人員的生產效率得到極大的提高。對于公司而言,軟件開發周期的縮短將能使它們更好應付網絡經濟的競爭。在功能與效率的杠桿上人們終于找到了支點。2.2.3與Web的緊密結合
.NET中新的應用程序開發模型意味著越來越多的解決方案需要與Web標準相統一,例如超文本標記語言(Hypertext Markup Language,HTML)和XML。由于歷史的原因,現存的一些開發工具不能與Web緊密地結合。SOAP的使用使得C#克服了這一缺陷,大規模深層次的分布式開發從此成為可能。
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第8頁
由于有了Web服務框架的幫助,對程序員來說,網絡服務看起來就象是C#的本地對象。程序員們能夠利用他們已有的面向對象的知識與技巧開發Web服務。僅需要使用簡單的C#語言結構,C#組件將能夠方便地為Web服務,并允許它們通過Internet被運行在任何操作系統上的任何語言所調用。舉個例子,XML已經成為網絡中數據結構傳遞的標準,為了提高效率,C#允許直接將XML數據映射成為結構。這樣就可以有效的處理各種數據。2.2.4完整的安全性與錯誤處理
語言的安全性與錯誤處理能力,是衡量一種語言是否優秀的重要依據。任何人都會犯錯誤,即使是最熟練的程序員也不例外:忘記變量的初始化,對不屬于自己管理范圍的內存空間進行修改,這些錯誤常常產生難以預見的后果。一旦這樣的軟件被投入使用,尋找與改正這些簡單錯誤的代價將會是讓人無法承受的。C#的先進設計思想可以消除軟件開發中的許多常見錯誤,并提供了包括類型安全在內的完整的安全性能。為了減少開發中的錯誤,C#會幫助開發者通過更少的代碼完成相同的功能,這不但減輕了編程人員的工作量,同時更有效地避免了錯誤的發生。
.NET運行庫提供了代碼訪問安全特性,它允許管理員和用戶根據代碼的ID來配置安全等級。在缺省情況下,從Internet和Intranet下載的代碼都不允許訪問任何本地文件和資源。比方說,一個在網絡上的共享目錄中運行的程序,如果它要訪問本地的一些資源,那么異常將被觸發,它將會無情地被異常扔出去,若拷貝到本地硬盤上運行則一切正常。內存管理中的垃圾收集機制減輕了開發人員對內存管理的負擔。.NET平臺提供的垃圾收集器(Garbage Collection,GC)將負責資源的釋放與對象撤銷時的內存清理工作。
變量類型是安全的。C#中不能使用未初始化的變量,對象的成員變量由編譯器負責將其置為零,當局部變量未經初始化而被使用時,編譯器將做出提醒;C#不支持不安全的指向,不能將整數指向引用類型,例如對象,當進行下行指向時,C#將自動驗證指向的有效性;C#中提供了邊界檢查與溢出檢查功能。
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第9頁
2.2.5版本處理技術
C#提供內置的版本支持來減少開發費用,使用C#將會使開發人員更加輕易地開發和維護各種商業用戶。升級軟件系統中的組件(模塊)是一件容易產生錯誤的工作。在代碼修改過程中可能對現存的軟件產生影響,很有可能導致程序的崩潰。為了幫助開發人員處理這些問題,C#在語言中內置了版本控制功能。例如:函數重載必須被顯式聲明,而不會象在C++或java中經常發生的那樣不經意地被進行,這可以防止代碼級錯誤和保留版本化的特性。另一個相關的特性是接口和接口繼承的支持。這些特性可以保證復雜的軟件可以被方便地開發和升級。
2.2.6靈活性和兼容性
在簡化語法的同時,C#并沒有失去靈活性。盡管它不是一種無限制語言,比如:它不能用來開發硬件驅動程序,在默認的狀態下沒有指針等等,但是,在學習過程中你將發現,它仍然是那樣的靈巧。
如果需要,C#允許你將某些類或者類的某些方法聲明為非安全的。這樣一來,你將能夠使用指針、結構和靜態數組,并且調用這些非安全代碼不會帶來任何其它的問題。此外,它還提供了一個另外的東西(這樣的稱呼多少有些不敬)來模擬指針的功能--delegates,代表。再舉一個例子:C#不支持類的多繼承,但是通過對接口的繼承,你將獲得這一功能。2.2.7安全性
正是由于其靈活性,C#允許與C風格的需要傳遞指針型參數的API進行交互操作,DLL的任何入口點都可以在程序中進行訪問。C#遵守.NET公用語言規范(Common Language Specification,CLS),從而保證了C#組件與其它語言組件間的互操作性。元數據(Metadata)概念的引入既保證了兼容性,又實現了類型安全。3.1SQL2005主要特點
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第10頁
3.1.1.NET框架
使用SQL Server2005,開發人員通過使用相似的語言,例如微軟的VisualC#.NET和微軟的VisualBasic,將能夠創立數據庫對象。開發人員還將能夠建立兩個新的對象——用戶定義的類和集合。
3.1.2XML技術
在使用本地網絡和互聯網的情況下,在不同應用軟件之間散步數據的時候,可擴展標記語言(XML)是一個重要的標準。SQL Server2005將會自身支持存儲和查詢可擴展標記語言文件。
3.1.3ADO.NET2.0版本
從對SQL類的新的支持,到多活動結果集(MARS),SQL Server2005中的ADO.NET將推動數據集的存取和操縱,實現更大的可升級性和靈活性。
3.1.4增強的安全性
SQL Server2005中的新安全模式將用戶和對象分開,提供fine-grainaccess存取、并允許對數據存取進行更大的控制。另外,所有系統表格將作為視圖得到實施,對數據庫系統對象進行了更大程度的控制。
3.1.5Transact-SQL的增強性能
SQL Server2005為開發可升級的數據庫應用軟件,提供了新的語言功能。這些增強的性能包括處理錯誤、遞歸查詢功能、關系運算符PIVOT,APPLY,ROW_NUMBER和其他數據列排行功能,等等。
3.1.6SQL服務中介
SQL服務中介將為大型、營業范圍內的應用軟件,提供一個分布式的、異步應用框架。
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第11頁
3.1.7通告服務
通告服務使得業務可以建立豐富的通知應用軟件,向任何設備,提供個人化的和及時的信息,例如股市警報、新聞訂閱、包裹遞送警報、航空公司票價等。在SQL Server2005中,通告服務和其他技術更加緊密地融合在了一起,這些技術包括分析服務、SQLServerManagementStudio。
3.1.8Web服務
使用SQL Server2005,開發人員將能夠在數據庫層開發Web服務,將SQL Server當作一個超文本傳輸協議(HTTP)偵聽器,并且為網絡服務中心應用軟件提供一個新型的數據存取功能。
3.1.9報表服務
利用SQL Server2005,報表服務可以提供報表控制,可以通過VisualStudio2005發行。
3.1.10全文搜索功能的增強
SQL Server2005將支持豐富的全文應用軟件。服務器的編目功能將得到增強,對編目的對象提供更大的靈活性。查詢性能和可升級性將大幅得到改進,同時新的管理工具將為有關全文功能的運行,提供更深入的了解。3.2C#與ADO.NET
3.2.1 C#中的數據庫訪問
用.NET框架編寫的(當然也包括用C#編寫的應用程序)應用程序需要訪問數據庫時,將使用ADO.NET來實現數據庫訪問。數據綁定是一種非常有用的訪問數據庫的方法,能夠減少需要編寫的代碼量。很多簡單任務可以通過純粹聲明式代廣東工業大學
企業人事管理系統__朱競
2009-11-30
第12頁
碼來完成。<1> ADO.NET ADO.NET是微軟的數據訪問框架的最新產物,它是.NET框架的一部分。在ADO.NET之前,程序員在ASP(Active Server Pages)或Visual Basic中使用ADO(AtiveX Data Objects),這是一組COM(Component Object Model,組件對象模型)組件,它通過一個易于使用的封裝類提供對底層數據訪問代碼的訪問。雖然ADO大大簡化了數據庫訪問,但更高級的程序員(特別是C++程序員)通常更喜歡使用更直接、更快的代碼,如OLE DB(Object Linking and Embedding for Databases)代碼庫。
ADO.NET比ADO的功能更強大。它是在.NET代碼中訪問數據庫的最好工具。
.NET框架中的ADO.NET類型(在System.Data命名空間及其子空間下的所有類型)包括那些為訪問SQL Server、OLE DB、ODBC和Oracle數據庫而優化的類型。它們都是基于通用類的,因此使用ADO.NET訪問不同的DBMS是相似的。
ADO.NET類型實現兩個主要的功能。
● 數據訪問:用于訪問數據庫中數據和操作數據庫的類型;
● 數據表示:用于包含數據庫數據(如數據表)的類型。
這兩種類型之間聯系密切,在數據庫開發中兩種類型都會用到。嚴格地說,可以只用一種數據庫訪問類型。然而,如果使用數據訪問類型來填充數據表示類型將節省大量工作。
ADO.NET包含7個重要的基類,其中4個是數據訪問類:
● DbConnection;
● DbCommand;
● DbDataReader;
● DbDataAdapter。其他3個類是數據表示類:
● DataTable;
● DataRelation;
● DataSet。
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第13頁
DataTable類使用了其他一些重要的類:DataColum、Constraint和DataRow,本節也將介紹它們。1.DbConnection DbConnection類提供與數據庫的連接。創建DbConnection對象時,應提供與DBMS通信所需的所有信息,如數據庫的位置、用于認證的用戶名和密碼以及要訪問的DBMS中的數據庫。
所有其他ADO.NET數據訪問類都依靠DbConnection與數據庫進行通信。DbConnection類的扮演角色如圖2.1所示。
圖3.2.1 DbConnection類
在從DbConnection派生而來的類中,到數據庫的連接都是由連接字符串定義的,該字符串存儲在屬性DbConnection.ConnectionString中。
數據庫連接應只在傳輸數據時才打開,因此創建DbConnection實例時并不自動連接到數據庫。DbConnection類定義了Open()方法和Close()方法,用于控制連接何時可用。很多其他的ADO.NET類也能控制連接狀態,例如,有些類在完成操作后關閉它們使用的連接。
DbConnection對象還能參與事務。可用DbConnection.BeginTransaction()方法開始事務,或使用DbConnection.EnlistTransaction()作為已有事務的一部分執行操作。
訪問SQL Server或SQL Server速成版中的數據時,使用SqlConnection,該類是DbConnection的子類。一般來說,DbConnection和SqlConnection及其他子類都稱為連接類。2.DbCommand DbCommand類提供與數據庫交互的主要方法。可以用DbCommand對象來執行廣東工業大學
企業人事管理系統__朱競
2009-11-30
第14頁
SQL語句、運行存儲過程等。DbCommand及其派生類稱為命令類。
大部分時候并不直接使用DbCommand,而是用封裝了DbCommand的其他對象。但有時候需要對數據庫通信進行更多的控制,這時就可以使用DbCommand對象。
DbCommand對象的扮演角色如圖2.2所示。
圖3.2.2 DbCommand類
DbCommand中最重要的屬性是DbCommand.CommandText。要執行SQL語句,就要將語句文本放在這個屬性中。可以用DbCommand.CommandType來指定要執行的語句類型,使用DbCommand.Connection和DbCommand.Tranction來訪問底層的連接或事務。
要注意,DbCommand對象可能有參數化的命令字符串,命令中的參數來自類型為DbCommand.Parameters集合的屬性。這與直接在命令字符串中輸入參數相比有很多優點,在本書后面部分將會看到。
要使用DbCommand對象執行命令,有三種選擇,這取決于要執行的命令是什么。有些命令不返回結果,這種情況下可以用DbCommand.ExecuteNonQuery()方法;有些命令返回一個結果,這時可用DbCommand.ExecuteScalar()方法;最后,有很多命令返回多行數據,這時可用DbCommand.ExecuteReader()方法,它將返回一個DbDataReader對象(下一小節將解釋)。
SQL Server的DbCommand版本名為SqlCommand。它有自己的一些特殊方法,如SqlCommand.ExecuteXmlReader()方法,它直接以XML格式返回結果。3.DbDataReader 使用DbDataReader類可以從結果集中讀取數據,如從執行存儲在命令對象中的命令生成的結果集中讀取數據。該類經過高度優化,可以很快地訪問數據庫中的廣東工業大學
企業人事管理系統__朱競
2009-11-30
第15頁
數據。然而,這種優化也有些副作用,例如,只能以串行方式一次讀取一行數據。不能讀完兩行后再返回去讀取第一行。通常,可以用DbDataReader對象(更確切地說,是數據閱讀器的子類對象)來提取要使用的行數據,并將其存儲在其他對象中。例如,可以讀取一個結果集中的每行,將其存儲到在自定義集合或泛型列表對象中的自定義類中。
與命令對象一樣,很多時候數據閱讀器對象是由ADO.NET命名空間下的其他類使用的,用戶不必直接使用它們。
圖3.2.3說明了如何在數據庫應用程序中使用數據閱讀器。
要使用數據閱讀器對象,首先必須調用DbDataReader.Read()方法選擇結果集中的第一行。可不斷調用該方法來移動數據閱讀器,使數據閱讀器像結果集中的游標一樣總是指向一行。獲取一行時,Read()方法返回true;否則返回false—如當所有行都已經讀完時。也可以用DbDataReader.HasRows屬性來判斷結果集中是否還有其他行。
圖3.2.4 DbDataReader類
很多屬性和方法可用于檢查當前選中的行。DbDataReader.FieldCount查看當前行包含多少列,并用DbDataReader的重載索引器訪問各列。如果知道要訪問的列名,可用基于字符串的索引器來獲得列值,也可以使用基于整數的索引器通過位置獲得列。在這兩種情況下,這種方法都將返回object值,可將其轉化為其他類型的數據。
也可以使用DbDataReader提供的多個方法直接獲得類型化數據,如GetString()和GetInt32()分別將指定列以string和int值返回,列通過其索引選擇。要使用這廣東工業大學
企業人事管理系統__朱競
2009-11-30
第16頁
些方法獲得值類型,必須首先使用DbDataReader.IsDBNull檢查空值;否則,空值將引發異常。檢查空值是必須的,因為不管什么數據庫類型都可以為空。這與.NET中的值類型不同,可為空的值類型(如int)在這種上下文環境中是不受支持的。
DbDataReader也能夠獲得關于它包含的數據的元信息—使用DbDataReader.GetSchema Table()方法,這樣就可以知道列的名稱、數據類型和其他信息,如列是否包含空值。
與前面的其他類一樣,也有專門用于SQL Server的數據閱讀器類,這就是SqlDataReader,本書將使用該類。該類繼承DbDataReader,提供將數據讀取為本地SQL類型的方法,這樣就能夠避免空類型的問題。這些類型包含在System.Data.Sqltypes命名空間中,是可為空的;如SqlDouble和SqlInt32。雖然這些類型也可以像標準的值類型那樣進行操作,但它們實際上是引用類型。4.DbDataAdapter 在ADO.NET的核心數據訪問類中,最后一個是DbDataAdapter類。它比前面介紹過的類型要復雜得多,設計該類的目的只有一個:減少存儲在數據集對象中的數據與數據庫進行數據交換時的干擾。與前面的類一樣,DbDataAdapter類也有很多派生類,它們統稱為數據適配器類。
稍后將詳細解釋什么是數據集對象,簡單地說,它們是能夠以.NET對象的形來表示數據庫中數據的對象。數據集對象可以包含整個表或多個表的數據。數據適配器既可以將數據庫中的數據傳輸給包含在數據集中的表,也可以將數據集中的數據傳輸到數據庫中。
這個功能由命令對象和數據閱讀器對象執行,因此大部分時候用戶不必考慮它。然而,DbDataAdapter最重要的(也是最有用的)特性之一是,它用于傳輸數據的命令對象被暴露出來,因此可以根據需要對它們進行定制。圖2.4說明了DbDataAdapter類的工作原理,包括它包含的命令對象。
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第17頁
圖3.2.4 DbDataAdapter類
數據適配器使用的4個命令對象存儲在4個屬性中:SelectCommand(用于查詢數據)、InsertCommand(用于添加數據)、UpdateCommand(用于編輯數據)和DeleteCommand(用于刪除數據)。要使用適配器,并不一定全部用到這4個屬性,例如,可以只用適配器來查詢數據。另外,.NET框架可以根據其他命令的值推斷出命令的值,例如,可以根據查詢命令來生成更新、插入和刪除命令。然而,這種自動生成的命令的效率可能不如手工提供的高。本書稍后還會討論這個問題。
數據適配器中最常用的兩個方法是
DbDataAdapter.Fill()和DbDataAdapter.Update()。Fill()方法從數據庫中獲取數據;Update()方法更新數據庫中的數據。這兩個方法都可以用于數據集或單個數據表。另外,可以使用DbDataAdapter.FillSchema()獲取架構數據。
SQL Server中的DbDataAdapter版本是Sql DbDataAdapter。5.DataTable DataTable是ADO.NET提供的第一個數據表示類。與數據訪問類不同,數據表示類沒有專門用于特定數據庫管理系統(如SQL Server)的子類,它們獨立于平臺。實際上,如果需要的話,數據表示類完全可以獨立于數據庫使用,它們只是存儲數據的一種方便的方法。
DataTable類用于存儲(讀者可能對此感到不解)數據表。在繼續討論這個類之廣東工業大學
企業人事管理系統__朱競
2009-11-30
第18頁
前需要澄清一件事情:以DataTable對象存儲的表不一定要映射到數據庫中的表。DataTable可能包含表中數據的一個子集,該子集可能只包含數據庫表的部分行、部分列,可能是由數據庫中多個表組合而成的數據,還可能是所有這些的組合,這取決于用于獲得數據的查詢語句。通常,DataTable與數據庫中的表匹配,但仍然要知道上面提到的事實。
圖3.2.5說明了DataTable與其他ADO.NET對象之間的關系。
圖2.5 DataTable 要獲得完全填充的DataTable,可使用數據適配器。有包含數據的DataTable后,就可以訪問行、列、約束和它包含的其他信息。這些信息可以通過命名恰切的屬性來訪問,包括Rows、Columns和Contraints等。
上面提到的3個屬性都返回一個集合類(DataRowCollection、DataColumnCollection和ConstaintCollection)對象。與其他集合類一樣,這些類可用于在它們包含的對象集合中導航,添加或刪除項等。稍后將介紹這些集合包含的類。
DataTable類另一個非常重要的方面是,如何處理數據修改。例如,如果刪除DataTable中的一行,數據適配器如何知道在數據庫中刪除對應的數據?DataTable對象記錄了對原始數據的修改,而不只是數據的當前狀態。從DataTable中刪除一行并不會真的刪除這些數據,而只是數據被標記為已刪除。在DataTable對象的消費方(如應用程序)看來,就像數據已被刪除,但實際上并沒有刪除。任何時候都可以使用GetChanges()方法獲得關于對DataTable對象所做的修改列表(以另一個DataTable對象的形式)。可以在適當時使用AcceptChanges()方法廣東工業大學
企業人事管理系統__朱競
2009-11-30
第19頁
接受已做的修改,從而覆蓋原來的數據。例如,可以在修改提交到數據庫后這樣做。也可以使用RejectChanges()撤銷所有的修改,如當最終用戶單擊“取消”按鈕時。
DataTable對象也暴露了很多事件,在應用程序中可以定制這些事件,如RowDeleted和ColumnChanged。使用這些事件可以保證應用程序對事件進行響應,還可以實現其他功能,例如,確保底層數據庫在數據發生修改時立即更新。(1)DataColumn。
DataColumn存儲了在數據表中定義列所需的所有信息。在DataTable中,Columns屬性包含一個DataColumnCollection,這是一個DataColumn對象集合。DataColumn還包含與DBMD匹配的屬性,包括ColumnName、Dataype、AllowDBNull和DefaultValue。它的屬性可能比使用的DBMS的屬性還要多,但如果使用過不同的DBMS,這一點將顯而易見。對于SQL Server,這并不是問題。(2)Constaint。
Constaint對象(在ConstaintCollection中,可通過DataTable.Constaints訪問)用于包含表的所有元數據,這些數據不包含在DataColumn對象中。Constaint類作為更具體類的基類,這些具體類包括UniqueConstaint—用于確保給定列或列組合的值是唯一的(例如,這對于主鍵是必須的)和ForeingKeyConstaint—用于實現表之間的關系。(3)DataRow。
DataRow類用于存儲表中一行包含的數據。通過DataTable.Rows屬性可以訪問DataRow Collection對象,后者存儲了組成表數據的多個DataRow對象。一行數據中的各列可通過索引器來訪問,索引器讓你能夠通過列名、索引和版本(例如,如果行被修改)來訪問列。
行的當前狀態,即它是否被修改、刪除或以某種方式改變,可通過DataRowState屬性訪問。該屬性的值為DataRowState類型,這是一種包含所有可能行狀態的枚舉類型。各個DataRow對象也有與DataTable對應的方法,用于接受、拒絕和獲得更改。例如,可以推斷出,調用DataTable.AcceptChanges()將級聯地對表的每行調用DataRow AcceptChanges()。6.DataRelation 廣東工業大學
企業人事管理系統__朱競
2009-11-30
第20頁
在處理多個DataTable對象時,通常需要表示(并實施)表數據之間的關系。這由DataRelation類來完成。可將多個DataRelation對象組合起來,構成一個DataRelationCollection對象。
關系可以用DataRelation類的多個屬性來定義,包括ChildTable、ChildColumns、ChildKeyConstraint、ParentTable和ParentKeyConstraint等。這些屬性都是對相應的對象的引用,如DataTable和DataColumn對象。關系名也被存儲在DataRelation.RelationName屬性中。現在還不用太擔心DataRelation對象,因為它們封裝了ADO.NET比較高級的方面,這在本書后面將介紹。7.DataSet 現在到了ADO.NET中最重要的類—DataSet。從某種程度上說,該類只是DataTable對象和DataRelation對象的集合(如圖2.6所示)。然而,DataSet的強大功能體現在與其他對象結合使用,包括用于Web應用程序和Windows應用程序的控件、Web服務和XML文檔。
DataSet類包含很多屬性和方法;其中很多與其組成部分的屬性和方法類似,例如,GetChanges()和RejectChanges()。還有一些重要的屬性,如Tables(以DataTableCollection類的形式包含DataSet中的表集合)、Relations(包含一個DataRelation Collection類,其中的Relation對象定義了表之間的關系)。數據表之間的關系及應用于數據的約束使得對DataSet的操作很麻煩。例如,如果兩個表之間存在一對多關系,則添加一行到其中一個表中,可能要求另一個表中存在一行。而這行可能不存在(例如,如果兩行同時添加時),這時,為避免錯誤,添加這些行的順序將很重要;必須先添加位于關系“一”端的行。也可以將DataSet.Enforce Constraints屬性設置為false,這樣在執行編輯操作時將忽略關系。(1)DataSet對象和XML之間的關系。
與ADO.NET的其他對象一樣,設計DataSet對象時也考慮了XML數據。使用DataSet.GetXml()方法,可將數據集轉換為XML文檔;還可以使用DataSet.GetXmlSchema()方法只提取數據集中的架構(包括數據集包含的所有表廣東工業大學
企業人事管理系統__朱競
2009-11-30
第21頁
和其他對象的架構)作為XML文檔。還可使用序列化技術在DataSet和XML文檔之間進行轉換,因為DataSet類實現了IxmlSeria-lizable接口。
DataSet對象與XML之間的關系以及使用序列化在這兩種表示格式之間進行轉換,在.NET框架中運用相當廣泛。它提供了一種在應用程序層之間和通過Internet交換數據的很好方法。特別地,有了數據集的XML表示形式后,就可以在Web服務之間進行交換DataSet對象。(2)類型化數據集(typed data set)。
DataSet對象的功能很強大,但它們并不是最容易使用或最合乎邏輯的。例如,要訪問表中的特定行,使用它就顯得很笨拙。必須使用DataSet.Tables集合獲得正確的表,用DataTable.Rows集合獲得正確的行,然后以對象引用的形式或通過DataColumn的方法提取列數據—這些都不容易。訪問特定列的代碼行可能如下所示:
int result =(int)myDataSet.Tables[“myTable”].Rows[5][ “IntegerColumn”];還有一種方法,那就是使用類型化數據集。類型化數據集是DataSet的子類,但它包含強類型屬性和方法,使得數據操作更容易。如果使用類型化數據集,上面的代碼就可以簡化為如下所示:
int result = myTypedDataSet.MyTable[5].IntegerColumn;雖然這并不影響代碼的功能,但輸入更容易(尤其是啟用了智能感知功能時),以后閱讀代碼時也更容易理解。
唯一的限制是,需要在設計時就知道數據集中將包含的數據的結構。然而,因為數據庫的結構不大可能有很大的改變,因此這通常不成問題。
可以使用xsd.exe工具或通過Visual C#速成版界面自動創建類型化數據集。xsd.exe工具要求提供一個架構(schema),這是以擴展名為.xsd的XML架構文件提供的。Visual C#速成版在創建類型化數據集時也要使用架構信息,但它直接從數據庫獲取這些信息,這使得對數據集的結構進行操作更容易。(3)性能。
有些人認為應盡量避免使用數據集。這是因為它們是“重量級”對象,帶來的開銷在高性能應用程序中可能很大。另外,以數據集的形式通過Web傳輸數據可能意味著要傳輸大量的XML數據。
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第22頁
從某種程度上說,這些擔憂是正確的。如果性能很重要,可以設計自己的類,并直接使用數據閱讀器提供的數據進行填充。然而,數據集(特別是類型化數據集)自有它們的用處。它們提供了很多特性,只需少量代碼就可以使用這些特性,且用于操作它們的代碼通常很簡單。例如,如果不沒有數據集,要表示數據庫的數據,同時在類中記錄所有編輯,且這些編輯可以很容易地傳輸到數據庫,可能需要大量的代碼,且實現起來相當困難。3.2.2 數據綁定
數據綁定是程序員只需做少量工作就可以用數據庫中的數據填充Windows或Web控件的一種技術。.NET框架讓程序員只需使用簡單的代碼就可以將數據源與控件關聯起來,實際上,可以通過GUI實現很多功能,而不需要編寫大量C#代碼。
數據綁定有兩點要求:數據源和要綁定數據的控件。數據源包括數據庫連接,但不僅限于此,也可以使用對象或來自Web服務的數據作為數據源。使用對象作為數據源是一種功能強大的方法,可以利用自定義的集合和自己設計的類,但這有點偏題了。本書大部分時候使用的數據源類型都是數據庫數據源,它有Web控件形式,也有Windows控件形式。
生成數據庫數據源時,通常不僅需要配置連接。數據庫數據源包括關于要訪問數據庫中哪些對象的信息。實際上,在幕后通常將生成類型化數據集。此外,幕后還將用到前面介紹的ADO.NET對象(連接、命令、數據閱讀器和數據適配器協同工作來創建數據源)。然而,程序員不必太擔心這一點,而只需創建一個數據源并將它綁定到控件,如圖2.7所示。
圖2.7 數據綁定
要綁定到控件,需要將控件的屬性設置為數據源的元素(從而間接地設置為數據庫的元素)。對于簡單控件,如標簽或文本框,只要將控件的Text屬性設置為數廣東工業大學
企業人事管理系統__朱競
2009-11-30
第23頁
據庫中類型為文本的列。還可以將數據綁定到列表控件(包括下拉列表),這樣列表中的每項都綁定到數據庫表中的一行。更高級的控件(如GridView)可用于查看整個表的內容。另外,也可以提供自定義的控件和自定義的數據綁定架構,以便使用和編輯數據庫中的數據。3.3 SQL語言
通用的SQL語言,最早于1974年提出,當時稱為SEQUEL語言,后來被國際標準化組織ISO采納為國際標準,現在大多數數據庫管理系統都支持SQL語言。
SQL是一種處理數據的高級語言,是非過程化語言,在查詢數據時,只需指出“要什么”,而不需指出如何實現的過程。SQL語言包括數據定義、查詢、操縱和控制功能。SQL語言的語法格式簡單,使用方便靈活。3.3.1表定義語句
廣義上講,表定義語句包括數據表的創建語句(Create語句)、數據表修改語句(Alter語句)和數據表刪除語句(Drop語句)。3.3.2視圖定義語句
視圖是對數據表中數據的一種顯示方式,用一個數據表可以有多個視圖,以根據用戶的不同需求,將數據表中用戶所關心的數據提取出來,顯示給用戶,忽略數據表中其他數據。視圖也可以理解為一種預先定義好的查詢。實際上,查詢的優點在于可在多個數據表之間按指定的條件對數據進行篩選顯示。3.3.3索引定義語句
索引是加速數據查詢的重要手段,索引一旦被建立起來,就成為了數據庫的一部份,并占用數據庫的存儲空間。使用索引的突出優點就是加快數據的查詢速度,但是,對于數據的插入、刪除和修改操作來說,索引卻降低了執行效率。3.3.4數據操縱語句
數據操縱包括數據的插入、更新和刪除等操作,數據操縱語句是應用程序編制過廣東工業大學
企業人事管理系統__朱競
2009-11-30
第24頁
程中使用較多的語句之一。3.3.5INSERT語句
INSERT語句所實現的功能是向數據庫中插入新的數據,該語句的一般語法如下: Insert into tableName [(fieldList)] values(valueList)3.3.6UPDATE語句
UPDATE語句用于更新數據表中的數據。所謂的更新是指數據已經存在于數據表,但需要對其中的數據進行修改,此時可以使用UPDATE語句實現。3.3.7DELETE語句
如果某些數據需要從數據表中刪除,則可以使用DELETE語句進行,該語句的基本語法如下:
Delete from tableName [Where select_conditon] 3.3.8查詢語句
查詢語句是SQL語言中使用最為頻繁的語句,查詢可以根據需要在數據表內或者多個數據表之間進行數據篩選。熟練掌握數據查詢語句,才能編寫出高質量的數據庫管理軟件。
查詢是SQL語言最重要最核心的功能之一。在SQL語言中查詢是通過Select語句實現的,最簡單的SQL語句結構如下: Select字段列表 From表名 3.3.9條件查詢
Select語句除了可以對字段進行篩選以外,還可以對記錄進行篩選和操作,此時,要用到Where字句。Where子句在Select語句中用于指定查詢條件,其結構一般廣東工業大學
企業人事管理系統__朱競
2009-11-30
第25頁
如下:
Select 字段列表 from 表名 Where 條件表達式 3.3.10查詢排序
SQL語句還可以對查詢的結果進行排序,此時,要用到Order by子句。另外,還要用到兩個負責排序方式的關鍵詞ASC和DESC,ASC指明按升序排列查詢結果;DESC則指明按降序進行排列。排序查詢的結構一般如下: Select fieldlist From tableName [Where select_conditon] Order by field1 [ASC|DESC],field2 [ASC|DESC] 3.3.11統計查詢
SQL語言對數值型的字段具有統計的功能,該功能涉及到5個統計函數,介紹如下:Count(*):統計符合查詢條件的記錄的個數。AVG(field):計算某個數值型字段的平均值。Max(field):返回某個數值型字段的最大值。Min(field):返回某個數值型字段的最小值。Sum(field):計算某個數值型字段所有記錄的和。3.3.12Group by子句
Group by子句的作用是將查詢結果中的數據按指定字段分組,Group by子句常與統計函數一起使用,以對查詢數據實現分組統計。Group by子句的一般語法如下:
Group by 字段1,字段2 3.3.13Distinct關鍵詞
在數據表的某個字段中可能會出現多個重復的值,使用Distinct關鍵字可以避免查詢結果中出現重復的記錄。含Distinct關鍵詞的SQL語句結構一般如下: Select Distinct 字段名列表 From 表名 Where 條件表達式
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第26頁
3.3.14Top關鍵詞
Top關鍵詞的作用是限制查詢結果的返回數目。該關鍵詞常被用來限制顯示查詢結果中前多少個或者前百分之多少的記錄。因此,Top關鍵詞經常和Order by子句一起出現。Top關鍵詞的基本語法: Top n Top n Percent 3.3.15多表查詢
SQL語言還可以實現在同一個數據庫中的不同數據表之間進行查詢。3.3.16多重查詢
SQL語句允許嵌套使用,這種查詢一般是把其中一個查詢的結果作為另一個查詢語句的查詢條件。多重查詢中一般會出現In、Not In、All、Some或者Any等關鍵詞。In和Not In用來指定某值在和不在某區間或者集合;All表示集合中的全部,而Some和Any則表示集合中的一部分。3.3.17EXISTS關鍵詞
EXISTS(NOT EXISTS)關鍵詞是復合查詢語句中的常用關鍵詞,其作用是判斷復合查詢語句的內層查詢是否存在查詢結果。使用EXISTS關鍵詞時內層查詢只是起到一個判斷是否存在查詢結果的作用,其篩選出的數據對整個查詢沒有任何作用。
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第27頁
4系統需求分析
4.1系統流程圖如下
員工管理準備員工信息管理登陸社會關系學習經歷維護數據備份判定數據清空系統主界面部門設置設置清空員工管理系統設置崗位調整工資考勤信息管理下載考勤信息考評管理稅率管理獎懲管理工資調整管理工資項目管理工資匯總統計子模塊員工管理功能圖如下:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第28頁
部門設置用戶管理崗位調整員工管理學習經歷維護員工基本信息社會關系用戶管理:主要用于管理不同職能的員工信息,可以實現創建,修改,刪除員工職能信息的功能。
系統運行界面圖如下:
對應的數據庫設計圖:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第29頁
員工基本信息:企業人事檔案管理信息化模塊;具有快速、無限量員工數據輸入及保存功能;由特定權限的管理員統一管理員工檔案。對員工從進入公司開始直至離職的整個過程進行人面管理,檔案信息包括,職員編號,職員姓名,出生年月,職工學歷,定時檢查更新員工信息,具有權限的使用者可以登記、查詢、修改、統計部門信息、崗位設置情況。圖如下:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第30頁
對應的數據庫設計如下:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第31頁 社會關系:主要用于建立和保存職員的社會關系,以備侯用。運行圖如下:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第32頁
對應的數據庫系統設計:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第33頁
學習經歷維護:主要記錄員工各個階段不同部門學習的情況。系統運行圖
對應的數據庫設計:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第34頁
部門設置:可以添加、修改、刪除部門。系統運行圖:
對應的數據庫設計:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第35頁
崗位調整:主要用于讓公司找到員工的強項并讓員工發揮最大作用。
對應的數據庫設計:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第36頁
工資考勤信息管理功能圖如下:
下載考勤信息稅率管理工資匯總統計考評管理工資考勤信息管理工資項目管理獎懲管理工資調整管理下載考勤信息:用于記錄員工的考勤情況。系統運行圖如下:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第37頁
對應的數據庫設計圖:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第38頁
考評管理:用于實時調查員工的工作情況,調整好他們最佳工作狀態,可以促進良性競爭和增強企業的活力。系統運行圖:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第39頁
對應的數據庫設計圖如下:
稅率管理:主要用于計算稅率,可以升級工資模塊,跟時代同步。系統運行圖如下:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第40頁
相應的數據庫設計如圖:
獎懲管理:賞罰分明,調動企業工作氣氛。系統運行圖如下:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第41頁
對應的數據庫設計圖如下:
工資調整管理:工資的合理調整可以有效調動員工積極性。系統運行圖如下:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第42頁
對應的數據庫設計圖如下:
工資項目管理:用于基本工資和參數的記錄和調整。系統運行圖如下:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第43頁
對應數據庫設計圖如下:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第44頁
工資匯總統計:用于員工工資的報表顯示。如圖:
系統設置圖如下:
數據備份系統設置數據清空設置清空 系統設置:主要用于數據庫的備份和維護。
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第45頁
運行圖如下: 連接到數據庫:
進行數據庫備份或者恢復:
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第46頁
廣東工業大學
企業人事管理系統__朱競
2009-11-30
第47頁