

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 河北農業(yè)大學</b></p><p><b> 本科畢業(yè)論文</b></p><p> 題 目: 公司考勤管理系統(tǒng) </p><p> 學 院: 信息科學與技術學院 </p><p> 專業(yè)班
2、級: 軟件工程1001班 </p><p> 學 號: 2010234020127 </p><p> 學生姓名: 張 霞 </p><p> 指導教師姓名: 陳 晨 </p>
3、<p> 指導教師職稱: 講 師 </p><p> 二O一四 年 六 月 一 日</p><p><b> 摘 要</b></p><p> 隨著計算機的普及和計算機科學技術的飛速發(fā)展,人們開始越來越多地利用計算機解決實際問題。員工考勤信息管理是企業(yè)信息管理的重要部分。面對大
4、量的企業(yè)考勤信息,采用人力處理將浪費大量的時間、人力和物力,而且數(shù)據(jù)的準確性低。因此,開發(fā)一個界面友好,易于操作的員工信息管理軟件進行自動化處理具有較大的社會現(xiàn)實意義。同時,人事考勤管理系統(tǒng)是一切應用系統(tǒng)的典范,它具有一切應用系統(tǒng)的特征,系統(tǒng)結構與現(xiàn)實生活緊密結合,具體直觀,開發(fā)應用簡單,不失一般性。</p><p> 公司考勤管理系統(tǒng)的特點是從公司考勤管理的角度出發(fā),用集中的數(shù)據(jù)庫將幾乎所有與考勤相關的數(shù)據(jù)統(tǒng)
5、一管理起來,形成了集成的信息源。友好的用戶界面,強有力的分析工具和信息的共享使得企業(yè)考勤管理人員得以擺脫繁重的日常工作,集中精力從戰(zhàn)略的角度來考慮企業(yè)考勤規(guī)劃和政策。</p><p> 本系統(tǒng)主要分為網站管理員和普通員工及禁止登陸三種人員登陸權限,具體分為部門創(chuàng)建及管理,員工添加及管理,公告添加及管理,請假管理,個人考勤等功能。本系統(tǒng)采用B/S開發(fā)模式,開發(fā)工具選擇JAVA、JSP、JavaScript、Htm
6、l語言,采用Tomcat服務器技術,后臺數(shù)據(jù)庫選用Oracle11g。</p><p> 關鍵詞:JSP ;JAVA ;Oracle 11g ;B/S模式 </p><p><b> Abstract</b></p><p> With the proliferation of computers and computer science
7、 and technology, the rapid development of more and more people began to use computers to solve practical problems. Employee attendance information management is an important part of enterprise information management. Att
8、endance information on the face of a large number of enterprises, using manpower to tackle the waste of a lot of time, manpower and material resources, and the low accuracy of the data. </p><p> Therefore,
9、developing a user-friendly, easy-to-employee information management software for automated processing of a larger social relevance. At the same time, personnel attendance management system is a model for all applications
10、, it has all the characteristics of application systems, system structure closely integrated with the real life, concrete intuitive, development and application of simple, without loss of generality. </p><p>
11、; This system mainly divided into the website administrator and ordinary employees and ban on three kinds of land rights, concrete is divided into departments to create and manage, add and management staff, announcement
12、 and management, leave management, personal attendance etc. Function. This system adopts B/S development mode, development tool to select the JAVA, JSP, JavaScript, Html language, USES the Tomcat server technology, choos
13、e Oracle11g background database. </p><p> Key words :JSP ; JAVA ; Oracle 11g ; B/S mode</p><p><b> 目 錄</b></p><p><b> 1 緒論1</b></p><p> 1.1
14、 課題背景、目的及意義1</p><p> 1.2 國內現(xiàn)狀分析1</p><p> 1.3 論文組織結構2</p><p> 2 開發(fā)技術及工具介紹3</p><p> 2.1 B/S模式3</p><p> 2.2 JAVA簡介3</p><p> 2.3 SSH介紹
15、4</p><p> 2.3.1 數(shù)據(jù)訪問框架4</p><p> 2.3.2 控制層框架4</p><p> 2.3.3 管理層框架5</p><p> 2.4 TOMCAT應用服務器5</p><p> 2.5 ORACLE 11G6</p><p><b>
16、 3 需求分析7</b></p><p> 3.1 任務概述7</p><p> 3.2 功能需求概述7</p><p> 3.2.1 用戶類別7</p><p> 3.2.2 權限管理7</p><p> 3.2.3 具體功能需求7</p><p> 3.
17、3 非功能需求概述8</p><p> 3.4 問題分析8</p><p> 3.5 方案選擇8</p><p> 3.6 運行環(huán)境8</p><p><b> 4 系統(tǒng)設計10</b></p><p> 4.1 功能劃分10</p><p> 4.
18、1.1 系統(tǒng)結構設計10</p><p> 4.1.2 系統(tǒng)功能模塊10</p><p> 4.2 指導思想11</p><p> 4.2.1 系統(tǒng)流程圖11</p><p> 4.2.2 數(shù)據(jù)流程圖12</p><p> 4.2.3 系統(tǒng)E-R圖12</p><p>
19、4.3 數(shù)據(jù)庫設計12</p><p><b> 5 系統(tǒng)實現(xiàn)15</b></p><p> 5.1 部門管理15</p><p> 5.1.1 添加部門15</p><p> 5.1.2 查詢部門15</p><p> 5.2 員工管理16</p><p
20、> 5.2.1 添加員工16</p><p> 5.2.2 查詢員工17</p><p> 5.3 公告管理18</p><p> 5.3.1 發(fā)布公告18</p><p> 5.3.2 管理公告19</p><p> 5.4 個人考勤20</p><p> 5.
21、4.1 考勤簽到20</p><p> 5.4.2 請假21</p><p> 5.5 請假管理21</p><p> 5.6 考勤管理23</p><p><b> 6 總結25</b></p><p><b> 參考文獻26</b></p>
22、;<p><b> 致謝27</b></p><p><b> 1 緒論</b></p><p> 1.1 課題背景、目的及意義</p><p> 隨著計算機技術的飛速發(fā)展,以計算機與通信技術為基礎的信息系統(tǒng)正處于蓬勃發(fā)展的時期。同時,以計算機為基礎的各種軟件也漸漸走入規(guī)模不同的各種企業(yè)單位中。企業(yè)
23、在對競爭日趨強烈的現(xiàn)代社會在不斷提高自身產品質量的同時,對員工的要求也逐漸提高,考勤管理也就成為了一個大眾化的課題。 </p><p> 公司考勤管理系統(tǒng)是為了解決員工考勤管理而設計的,目的是建立一個能夠初步實現(xiàn)公司考勤管理系統(tǒng)的智能化管理,提高考勤管理效率,工作人員能夠在各個崗位上的工作狀態(tài)得到及時的反饋,而系統(tǒng)所需的工作人員的數(shù)量少,效率高。</p><p> 公司考勤管理系統(tǒng)是一
24、個企業(yè)單位不可缺少的一部分,它的內容對于企業(yè)的決策者和管理者來說都是至關重要的,因此,公司考勤管理系統(tǒng)應該能夠為用戶提供充足的人事管理的信息和快捷的管理查詢手段,但一直以來人們使用傳統(tǒng)的人工方式管理員工的上下班等信息,這種管理方式存在著許多缺點,諸如效率低,保密性差等,而且時間一長,將產生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。</p><p> 作為計算機應用的一部分,使用計算機對企業(yè)考勤
25、信息進行管理,具有人工管理無法比擬的優(yōu)點,它檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等,可減少更多的人力物力,這些都能夠極大地提高企業(yè)的考勤管理效率,也是企業(yè)考勤管理科學化、正規(guī)化,與世界接軌的重要條件。因此,開發(fā)一個公司考勤管理系統(tǒng)是很有必要的,具有其特有的技術意義和管理意義。</p><p> 1.2 國內現(xiàn)狀分析</p><p> 長期以來,我國眾多的企業(yè)
26、都是采用傳統(tǒng)的手工方式記錄企業(yè)員工每日的出勤情況。這種方式繁瑣易錯,準確性、透明度、實時性差,受人為因素影響過大,增加了企業(yè)的人力資源成本。同時使用傳統(tǒng)人工記錄考勤管理容易出現(xiàn)疏漏,甚至可能存在考勤監(jiān)管人員因人情導致考勤不平等的情況,造成企業(yè)員工存在僥幸心理,無法解決代考、脫崗的問題,不利于企業(yè)的人員管理。</p><p> 隨著信息化社會的到來,國民素質的相應提高,企業(yè)員工的信息素養(yǎng)普遍增強,為企業(yè)合理的運用
27、考勤管理系統(tǒng)提供了有力的人員保障。從現(xiàn)在出現(xiàn)的一些公司考勤管理系統(tǒng)分析,可以把公司考勤管理系統(tǒng)從管理功能上大致分為兩種:第一種是門禁安全系統(tǒng)。門禁安全管理系統(tǒng)主要是解決重要部門出入口實現(xiàn)安全防范管理的有效措施,集微機自動識別技術和現(xiàn)代安全管理措施為一體。它能夠自動識別出入的人員身份,記錄人員出入時間等,但一般沒有綜合的考勤分析功能。第二種是綜合考勤管理系統(tǒng)。這種考勤管理系統(tǒng)主要針對公司員工的上下班考勤記錄等相關情況的管理。一般為企業(yè)管理
28、部門使用,掌握并管理企業(yè)的員工出勤動態(tài),一般包括考勤記錄和考勤分析兩大總體功能。不但能夠識別進入企業(yè)的職員的身份,還具備企業(yè)員工請假、休假、加班等相關出勤情況的記錄和分析匯總功能,根據(jù)系統(tǒng)制定的考勤規(guī)則,自動分析出考勤結果。</p><p> 1.3 論文組織結構</p><p> 本論文主要分為六章。</p><p> 第一章為緒論,主要論述整個公司考勤系統(tǒng)
29、的產生背景及產生的目的和意義,以及國內現(xiàn)狀。</p><p> 第二章為開發(fā)技術和工具的介紹,主要論述整個考勤系統(tǒng)在開發(fā)過程中用到的技術和工具。</p><p> 第三章為需求分析,主要論述從系統(tǒng)的真實需求出發(fā),對系統(tǒng)的功能性和非功能性需求的描述,以及遇到的問題和解決方案。</p><p> 第四章為系統(tǒng)設計,主要劃分系統(tǒng)的主要功能,以及系統(tǒng)的功能和數(shù)據(jù)流程圖
30、,描述建立的數(shù)據(jù)庫表結構及相關屬性。</p><p> 第五章為系統(tǒng)實現(xiàn),主要是對系統(tǒng)的6大主要功能的詳細描述和實現(xiàn)過程,以及一些界面截圖。</p><p> 第六章為總結,主要是對自己在完成畢業(yè)設計的過程中的工作成果及缺陷的總結。</p><p> 2 開發(fā)技術及工具介紹</p><p><b> 2.1 B/S模式<
31、;/b></p><p> B/S(Browser / Server)結構即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),但是主要事務邏輯在服務器端(Server)實現(xiàn),形成所謂三層(3-tier)結構。一個三層架構的應用程序由三部分組成,這三部分各自分布在網絡
32、中的不同地方。這三個部分分別是:工作站或表示層接口、事務邏輯、數(shù)據(jù)庫以及與其相關的程序設計。事務邏輯處在局域網(LAN)服務器或其他共享主機上,它作為響應工作站所發(fā)出客戶請求的服務器,而相對于處于大型機的第三層,它是作為客戶端,并且決定需要什么數(shù)據(jù)以及數(shù)據(jù)存儲在哪里。第三層包括數(shù)據(jù)庫以及處理讀寫以及訪問數(shù)據(jù)庫的程序。然而應用程序的設計可能比這個架構要復雜,對于大型程序來說,這個三層模式是一種比較簡便的考慮方法。</p>&
33、lt;p> 這種應用程序的設計使用瀏覽器/服務器模式,各層可以同時開發(fā),并且可以由不同的成員組用不同的語言來開發(fā)。因為各個層次的開發(fā)不會影響其他層次,所以這種模型對于進一步開發(fā)軟件是很方便的。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。</p><p> 以目前的技術看,局域網建立B/S結構的網絡應用,并通過Internet / Intranet模
34、式下數(shù)據(jù)庫應用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN, WAN, Internet / Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護數(shù)據(jù)平臺和管理訪問權限,服務器數(shù)據(jù)庫也很安全。特別是在Java這樣的跨平臺語言出現(xiàn)之后,B/S架構管理軟件更是方便、快捷、高效。</p><p> 此技術超越了傳統(tǒng)的“客戶機/服務器”兩層結構
35、,采用了三層體系結構:用戶界面層/事務層/數(shù)據(jù)庫層。因此Web結構有著更好的安全性。在用戶機上不需要安裝任何應用程序,應用程序可以安裝在事務層所在的計算機上,試題存放在數(shù)據(jù)庫服務器上(事務層和數(shù)據(jù)庫可以是同一臺機器)。</p><p> 2.2 JAVA簡介</p><p> Java環(huán)境可用來開發(fā)能在任何計算平臺上運行的應用軟件。它實際上是一種非常基本且結構緊湊的技術,而它對Worl
36、d Wide Web以及商業(yè)的總體影響已可同電子表格對PC機的影響相比擬。</p><p> Java已用動態(tài)的交互應用軟件使Web栩栩如生。它使開發(fā)人員具有“編寫一次到處運行TM”的巨大能力。而且,借助其Java API及其編程語言上的Java虛擬機,它已產生一種分布信息的嶄新模式,這種模式叫做Java企業(yè)計算。正在幫助各企業(yè)以各種不同的方法取得競爭優(yōu)勢,網管和控制已大大簡化。軟件分配基本上是免費的,而且立即
37、可實現(xiàn),并且占有成本大幅度降低,信息和應用軟件到處可存取。</p><p> Java建立在簡單的前提基礎上,即所有微處理器都應講同一種語言——所有內部采用芯片的產品都應能一起工作,無縫而方便地共享信息。它已經改變企業(yè)和個人同Internet打交道的方式?,F(xiàn)在,它正在對消費類產品產生明顯的影響,而且從總體上更加深刻地影響企業(yè)計算。</p><p> 借助Java,可以自由自在地使用已擁
38、有的硬件和軟件。這是因為Java是獨立于平臺的,使應用軟件在便攜式計算機、信息亭、電視、蜂窩電話和其他大量設備上運行。全世界的公司都已發(fā)現(xiàn)Java數(shù)不勝數(shù)的應用。所有應用可從其無可比擬的能力,即提高可靠性、安全性和簡化各種不同計算產品和環(huán)境的能力中受益匪淺,而且節(jié)省的時間和費用十分可觀。</p><p> Java無處不在。它已擁有幾百萬個用戶,其發(fā)展速度要快于在它以前的其他任何一種計算機產品。它可位于任何地方
39、,而且能到處運行。Java正在迅速被用做傳播信息的事實上標準,這是因為它既可給企業(yè),也可給最終用戶帶來數(shù)不清的好處。</p><p> Java遠不止是一種編程語言,它是企業(yè)內外的完整計算環(huán)境,而且萬事齊備,從開發(fā)工具、操作系統(tǒng)、服務器軟件一直到網絡管理工具、支持、培訓、咨詢和集成服務,一應俱全。</p><p><b> 2.3 SSH介紹</b></p&
40、gt;<p> 2.3.1 數(shù)據(jù)訪問框架</p><p> Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應
41、用EJB的J2EE架構中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p> 2.3.2 控制層框架</p><p> Struts 2框架作為Struts 1.X框架的替代技術,相對Struts 1.X來說,有著本質上的改變, Struts 2框架是從WebWork框架發(fā)展而來的。Struts 1.X已經成為Java Web開發(fā)中應用最廣泛的MVC框架,被廣大的程序員所接受。隨著We
42、b技術的發(fā)展,Struts 1.X越來越難以適應,主要體現(xiàn)在支持視圖技術單一、難于測試性、龐大的配置文件和大量的ActionForm類,給項目開發(fā)的管理維護帶來了困難。 Struts 2框架技術整合了Struts 1.X和WebWork的優(yōu)點,Struts 2框架最大的特點就是其簡單性,引入了OGNL表達式和值棧的概念,可以使開發(fā)者使用簡單的代碼實現(xiàn)復雜的數(shù)據(jù)訪問;Action實現(xiàn)類就是一個標準的 Java類(POJO),這使得測
43、試工作變得簡單。同時Struts 2框架取消了ActionForm,支持多種返回類型和Ajax技術,簡化了同其他技術的整合。</p><p> 2.3.3 管理層框架</p><p> Spring是一個開源的輕量級Java SE(Java 標準版本)/Java EE(Java 企業(yè)版本)開發(fā)應用框架,其目的是用于簡化企業(yè)級應用程序開發(fā)。應用程序是由一組相互協(xié)作的對象組成。而在傳統(tǒng)應用
44、程序開發(fā)中,一個完整的應用是由一組相互協(xié)作的對象組成。所以開發(fā)一個應用除了要開發(fā)業(yè)務邏輯之外,最多的是關注如何使這些對象協(xié)作來完成所需功能,而且要低耦合、高內聚。</p><p> Spring框架除了幫我們管理對象及其依賴關系,還提供像通用日志記錄、性能統(tǒng)計、安全控制、異常處理等面向切面的能力,還能幫用戶管理最頭疼的數(shù)據(jù)庫事務,本身提供了一套簡單的JDBC訪問實現(xiàn),提供與第三方數(shù)據(jù)訪問框架集成(如Hibern
45、ate、JPA),與各種Java EE技術整合(如Java Mail、任務調度等等),提供一套自己的web層框架Spring MVC、而且還能非常簡單的與第三方web框架集成。Spring是一個超級粘合平臺,除了自己提供功能外,還提供粘合其他技術和框架的能力,從而使用戶可以更自由的選擇到底使用什么技術進行開發(fā)。而且不管是JAVA SE(C/S架構)應用程序還是JAVA EE(B/S架構)應用程序都可以使用這個平臺進行開發(fā)。</p&
46、gt;<p> 2.4 TOMCAT應用服務器</p><p> Tomcat是一個免費的開源的Serlvet容器,在Tomcat中,應用程序的部署很簡單,用戶只需將自己的WAR放到Tomcat的webapp目錄下,Tomcat會自動檢測到這個文件,并將其解壓。用戶在瀏覽器中訪問這個應用的JSP時,通常第一次會很慢,因為Tomcat要將JSP轉化為Servlet文件,然后編譯。編譯以后,訪問將會
47、很快。另外Tomcat也提供了一個應用:manager,訪問這個應用需要用戶名和密碼,用戶名和密碼存儲在一個xml文件中。通過這個應用,輔助于FTP,用戶可以在遠程通過Web部署和撤銷應用。當然本地也可以。</p><p> Tomcat不僅僅是一個Servlet容器,它也具有傳統(tǒng)的Web服務器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat
48、和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理JSP和Servlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。</p><p> 另外,Tomcat提供Realm支持。Realm類似于Unix里面的group.在Unix中,一個group對應著系統(tǒng)的一定資源,某個group不能訪問不屬于它的資源。Tomcat用Realm來對不同的應用(類似系統(tǒng)資源)賦給不同
49、的用戶(類似group)。沒有權限的用戶則不能訪問這個應用。Tomcat提供三種Realm:1、JDBCRealm,這個Realm將用戶信息存在數(shù)據(jù)庫里,通過JDBC獲得用戶信息來進行驗證;2、JNDIRealm,用戶信息存在基于LDAP的服務器里,通過JNDI獲取用戶信息;3、MemoryRealm,用戶信息存在一個xml文件里面,上面講的manager應用驗證用戶時即使用此種Realm。通過Realm可以方便地對訪問某個應用的用戶進
50、行驗證。</p><p> 基于Tomcat的開發(fā)其實主要是JSP和Servlet的開發(fā),開發(fā)JSP和Servlet非常簡單,可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可。這里要提到另外一個工具Ant,Ant也是Jakarta中的一個子項目,它所實現(xiàn)的功能類似于Unix中的make。用戶需要寫一個build.xml文件,然后運行Ant就可以完成xml文件中定義的工作,這個工具對于一個大的應用來說非
51、常好,只需在xml中寫很少的東西就可以將其編譯并打包成WAR。事實上,在很多應用服務器的發(fā)布中都包含了Ant。另外,在JSP1.2中,可以利用標簽庫實現(xiàn)Java代碼與Html文件的分離,使JSP的維護更方便。</p><p> 2.5 ORACLE 11G</p><p> ORACLE11G引入了連接存儲池(connection polling)和多路復用(multiplexing)
52、機制,提供了對大型對象的支持。當需要支持一些特殊數(shù)據(jù)類型時,用戶可以創(chuàng)建軟件插件(catridge)來實現(xiàn)。ORACLE11G采用了高級網絡技術,提高共享池和連接管理器來提高系統(tǒng)的可擴性,容量可從幾 GB 到 幾百 TB 字節(jié),可允許10萬用戶同時并行訪問,ORACLE 的數(shù)據(jù)庫中每個表可以容納 1000列,能滿足數(shù)據(jù)庫及數(shù)據(jù)倉庫應用的需要。</p><p> (1)系統(tǒng)的可用性和易用性</p>
53、<p> ORACLE11G提供了靈活多樣的數(shù)據(jù)分區(qū)功能,一個分區(qū)可以是一個大型表,也可以是索引易于管理的小塊,可以根據(jù)數(shù)據(jù)的取值分區(qū)。有效地提高了系統(tǒng)操作能力及數(shù)據(jù)可用性 ,減少I/O 瓶頸。ORACLE11G還對并行處理進行了改進,在位圖索引,查詢,排序,連接和一般索引掃描等操作引入并行處理,提高了單個查詢的并行度。ORACLE11G通過并行服務器(Parallel Server Option )來提高系統(tǒng)的可用性。&l
54、t;/p><p> ?。?)系統(tǒng)的可管理性和數(shù)據(jù)安全功能</p><p> ORACLE11G提供了自動備份和恢復功能,改進了對大規(guī)模和更加細化的分布式操作系統(tǒng)的支持,如加強了SQL 操作復制的并行性。為了幫助客戶有效地管理整個數(shù)據(jù)庫和應用系統(tǒng),ORACLE還提供了企業(yè)管理系統(tǒng)(ORACLE Enterprise Manager),數(shù)據(jù)庫管理員可以從一個集中控制臺拖放式圖形用戶界面管理ORA
55、CLE的系統(tǒng)環(huán)境。</p><p> ORACLE11G通過安全服務器中提供的安全服務,加強了ORACLE Web Server中原有的用戶驗證和用戶管理。</p><p><b> 3 需求分析</b></p><p><b> 3.1 任務概述</b></p><p> 公司考勤管理系統(tǒng)
56、主要實現(xiàn)員工管理(系統(tǒng)管理包含在員工管理中)、部門管理、公告管理、個人考勤、考勤管理、請假管理等功能,充分利用計算機網絡技術,改變傳統(tǒng)的操作方式進行管理,實現(xiàn)了網絡化管理模式。</p><p> 3.2 功能需求概述</p><p> 3.2.1 用戶類別</p><p> 登錄系統(tǒng)的身份定為兩種,一是管理員(企業(yè)領導),二是普通員工,只有被授權的用戶才可以使
57、用本系統(tǒng)的資源。</p><p> 3.2.2 權限管理</p><p> 系統(tǒng)需要經過有效的身份驗證才可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同。普通員工可以進行個人考勤查詢,同時還可以有系統(tǒng)公告的管理功能;管理員(企業(yè)領導)可添加員工信息、查詢修改管理員信息、進行請假管理、考勤管理,可以對員工考勤進行查詢操作,可以對系統(tǒng)發(fā)布公告等信息,可控制整個系統(tǒng)的登錄功能(控制系統(tǒng))的登錄
58、,擁有整個系統(tǒng)的全部使用權限。</p><p> 3.2.3 具體功能需求</p><p><b> ?。?)部門管理:</b></p><p> 領導對本企業(yè)的部門進行添加、查詢的功能。</p><p><b> ?。?)公告編輯:</b></p><p> 領導對本
59、系統(tǒng)中的所用子級用戶進行發(fā)布公告及編輯。</p><p><b> (3)個人考勤:</b></p><p> 用戶登錄系統(tǒng)后,可以考勤(上班,下班)。</p><p><b> ?。?)請假管理:</b></p><p> 管理員可以對員工的請假信息進行操作(準請假和不準請假)。</p
60、><p><b> ?。?)考勤管理:</b></p><p> 管理員可以對員工的全部考勤進行查詢的功能操作,但普通員工只能對自己的考勤有查詢的功能。</p><p><b> ?。?)員工管理:</b></p><p> 管理員對普通員工有查詢與添加的操作功能。領導可對普通員工用戶進行控制,看是
61、否可以登錄。</p><p> 3.3 非功能需求概述</p><p> 為了美觀及操作便捷,本系統(tǒng)采用簡潔大方的界面設計,首先是登陸界面的設計,主要為填寫用戶名及密碼。其次是操作界面,主要的功能操作體現(xiàn)為窗口右側的系統(tǒng)功能菜單,此菜單中的功能可通過用戶需求,將其中的子功能展開和收縮,便于用戶操作及頁面美觀。然后是各個功能頁面的設計,功能操作頁面都采用簡單易操作的方案,將頁面盡量簡化及
62、美觀。查看頁面主要采用簡介的表格顯示方式,而添加頁面主要采用下拉框和文本框等顯示方式。整體界面設計都以簡單美觀便捷為主要目的。</p><p><b> 3.4 問題分析</b></p><p> 公司考勤管理系統(tǒng)擬采用B/S模式,三層結構設計。涉及靜(動)態(tài)網頁編寫(熟悉HTML、CSS、JavaScript)、程序設計(JSP或其它語言基礎)、數(shù)據(jù)庫應用(Or
63、acle11g的應用、SQL語言、調優(yōu))、數(shù)據(jù)庫設計、軟件工程及軟件測試,用戶界面設計、美化、文檔編寫(軟件開發(fā)計劃、用戶手冊等設計內容都要形成文字)等各方面知識;以及團隊組織、項目管理,幫助文檔的編寫、部分的測試等。</p><p><b> 3.5 方案選擇</b></p><p> 開發(fā)公司考勤管理系統(tǒng),提出以下解決方案:</p><p&
64、gt; 采用B/S模式,選擇Oracle11g作為后臺數(shù)據(jù)庫,選擇JAVA、JSP、JavaScript、Html作為應用程序開發(fā)工具,運用Tomcat服務器技術,整個系統(tǒng)完全基于Browser/Server模式進行設計。</p><p> B/S模式有以下優(yōu)點:</p><p> ?。?)開發(fā)成本及維護成本降低</p><p> 由于B/S架構管理軟件只安裝
65、在服務器端(Server)上,網絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端通過WWW瀏覽器實現(xiàn),極少部分事務邏輯在前端(Browser)實現(xiàn),所有的客戶端只有瀏覽器,網絡管理人員只需要做硬件維護。</p><p> ?。?)良好的安全性能</p><p> 防火墻技術可以保證后臺數(shù)據(jù)庫的安全性,所有客戶端端請求都是通過DBMS來訪問數(shù)據(jù)庫,從而大大減
66、少了數(shù)據(jù)直接暴露的風險。因此系統(tǒng)的架構就采用了B/S設計模式。</p><p><b> 3.6 運行環(huán)境</b></p><p> 系統(tǒng)對運行的軟件環(huán)境的要求:</p><p><b> (1)服務器端</b></p><p> 操作系統(tǒng):Windows 7</p><
67、p> 網絡協(xié)議:TCP/IP</p><p> web服務器:Internet Information Server5.0/Personal Web Server</p><p> 數(shù)據(jù)庫:Oracle 11g</p><p> 瀏覽器:Internet Explorer 5.0以上</p><p><b> ?。?)
68、客戶端</b></p><p> 操作系統(tǒng):Windows 7以上</p><p> 網絡協(xié)議:TCP/IP</p><p> 數(shù)據(jù)庫:Oracle 11g</p><p> 瀏覽器:Internet Explorer 5.0以上</p><p><b> 4 系統(tǒng)設計</b>
69、;</p><p><b> 4.1 功能劃分</b></p><p> 4.1.1 系統(tǒng)結構設計</p><p> 總體設計主要是指在系統(tǒng)分析的基礎上,對整個系統(tǒng)的劃分(子系統(tǒng))、機器設備(包括軟、硬設備)的配置、數(shù)據(jù)的存貯規(guī)律以及整個系統(tǒng)實現(xiàn)規(guī)劃等方面進行合理的安排。系統(tǒng)設計工作應該自頂向下地進行。</p><p&
70、gt; 系統(tǒng)設計的工作復雜又細致,總體設計階段需要進行系統(tǒng)模塊結構設計,要將一個大系統(tǒng)分解成不同層次、多個模塊組成的系統(tǒng),在詳細設計階段要在模塊結構設計的基礎上,給出每個模塊實現(xiàn)方法的細節(jié),并對模塊的輸入、輸出和處理過程作詳細描述,以便在系統(tǒng)實施階段進行程序設計時,可以把這個描述直接“翻譯”成用某種程序設計語言書寫的程序。</p><p> 4.1.2 系統(tǒng)功能模塊</p><p>
71、 模塊化是指解決一個復雜問題時自上向下逐層把系統(tǒng)劃分成若干個模塊的過程。每個模塊完成一個特定的功能,所有的模塊按某種方法組織起來,成為一個整體,完成整個系統(tǒng)所要求的功能。系統(tǒng)的模塊劃分不能是任意的,應盡量保持其獨立性。降低系統(tǒng)的復雜性,提高可讀性、可維護性。也就是說,每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少,而且接口簡單,即盡量做到提高模塊的獨立,為設計高質量的系統(tǒng)結構奠定基礎。</p><p&
72、gt; 系統(tǒng)模塊結構設計的任務是劃分子系統(tǒng),然后確定子系統(tǒng)的模塊結構,并畫出模塊結構圖。在這個過程中必須考慮以下幾個問題:</p><p> ?。?)如何將一個系統(tǒng)劃分成多個子系統(tǒng)。</p><p> ?。?)每個子系統(tǒng)如何劃分成多個模塊。</p><p> ?。?)如何確定子系統(tǒng)之間、模塊之間傳送的數(shù)據(jù)及其調用關系。</p><p>
73、(4)如何評價并改進模塊結構的質量。</p><p> 該方法適合于軟件系統(tǒng)的總體設計和詳細設計,特別是將一個復雜的系統(tǒng)轉換成模塊化結構系統(tǒng),該方法具有它的優(yōu)勢。在使用過程中可將結構化設計方法與結構化分析(SA)方法及編程階段的結構化程序設計方法(SP)前后銜接起來。 </p><p> 系統(tǒng)功能模塊化的優(yōu)點: </p><p> ?。?)系統(tǒng)功能模塊劃分清晰,
74、區(qū)別明顯,易于操作。</p><p> (2)操作界面友好,簡單易懂適合不同層次的操作人員。</p><p> ?。?)子系統(tǒng)之間的數(shù)據(jù)交換操作簡單、快捷。</p><p> 根據(jù)該系統(tǒng)的需求分析,設計可實現(xiàn)的模塊組織結構,如圖4-1所示。</p><p> 圖4-1 系統(tǒng)功能圖</p><p><b>
75、; 4.2 指導思想</b></p><p> 系統(tǒng)功能設計本著從用戶角度出發(fā)的原則,要求實用,且符合用戶提出的合理需求。系統(tǒng)設計在不違反系統(tǒng)整體性的基礎上,可根據(jù)用戶的需求進行二次開發(fā),不斷完善系統(tǒng)功能,便于系統(tǒng)的不斷升級。</p><p> 4.2.1 系統(tǒng)流程圖</p><p> 圖4-2 系統(tǒng)流程圖</p><p>
76、; 4.2.2 數(shù)據(jù)流程圖</p><p> 圖4-3 數(shù)據(jù)流程圖</p><p> 4.2.3 系統(tǒng)E-R圖</p><p> 數(shù)據(jù)實體對象包括:員工信息實體、部門信息實體、公告信息實體、出勤信息實體、請假信息實體,各個實體擁有各自不同的屬性,并且它們之間擁有相應的關系,我們可以用實體聯(lián)系圖表示 ,如圖4-4考勤實體關系E-R圖所示。</p>
77、<p> 圖4-4 考勤系統(tǒng)實體及實體間關系E-R圖</p><p><b> 4.3 數(shù)據(jù)庫設計</b></p><p> 員工信息表存儲員工的編號、員工姓名、員工登錄系統(tǒng)的密碼、員工電話、性別、部門編號(外鍵)、權限標示符(0禁止登錄,1管理員,2是普通員工)、備注(用來標注員工的特殊情況)本數(shù)據(jù)表和后臺的hkj.po.Person類相映射,表中
78、字段說明如表4-1所示。</p><p> 表4-1 員工信息表(person)</p><p> 公司部門信息表,存儲公司部門的部門編號、部門名、備注。本表和后臺的hkj.po.Dept類映射,表中的字段如表4-2所示。</p><p> 表4-2 部門信息表(dept)</p><p> 公司公告信息表,存儲公告的編號、公告標題、
79、公告內容、發(fā)公告人編號(人員表外鍵)、備注。本表在后臺與hkj.po.News類映射,表中字段如表4-3所示。</p><p> 表4-3 公告表(news)</p><p> 公司員工出勤信息表,存儲員工每天出勤出勤信息編號、出勤人編號、上午上班簽到時間、上午下班簽到時間、下午上班簽到時間、下午下班簽到時間、備注(備注標記員工簽到情況,若只是上午上班簽到,沒有上午下班簽到,則算上午沒
80、簽到,若上午滿勤。則標記為1,算半天,下午同理,全天滿勤標記2)。本表與后臺hkj.po.Chunqi類映射,表中字段如表4-4所示。</p><p> 表4-4 出勤表(chuqin)</p><p> 公司員工請假信息表,存儲員工請假編號、請假人員編號、請假人員所屬部門編號、請假開始時間、請假天數(shù)、備注(作為請假審批標記,若審批通過,則為2*請假天數(shù),若未通過,則為空)。本表與后臺
81、hkj.po.Qingjia類相映射。表中字段如表4-5所示。</p><p> 表4-5 請假信息表(qingjia)</p><p><b> 5 系統(tǒng)實現(xiàn)</b></p><p> 企業(yè)考勤管理系統(tǒng)分為員工管理、部門管理、公告管理、請假管理、個人考勤、考勤管理等六大模塊。各模塊的具體功能劃分如下:</p><p&
82、gt;<b> 5.1 部門管理</b></p><p> 管理員對本企業(yè)的部門進行添加、查詢的功能。</p><p> 5.1.1 添加部門</p><p> 管理員可以對公司的部門進行添加 如圖5-1新增部門信息頁面所示。</p><p> 圖5-1 新增部門信息頁面</p><p>
83、; 實現(xiàn)原理:本頁面提交后,最后在hkj.daoImpl.DeptDAOImpl中通過Hibernate模板調用save()方法實現(xiàn),核心代碼如下:</p><p> public String insertDept()</p><p><b> {</b></p><p> deptService.insert(dept);</
84、p><p> return "go_success";</p><p><b> }</b></p><p> 5.1.2 查詢部門</p><p> 管理員可以查詢到所有的部門信息, 如圖5-2查看部門信息頁面所示。</p><p> 圖5-2 查看部門信息頁面<
85、/p><p> 實現(xiàn)原理:該功能是通過在hkj.daoImpl.DeptDAOImpl中對Hibernate模板的loadAll()方法實現(xiàn),核心代碼如下:</p><p> public String queryAll()</p><p><b> {</b></p><p> List<Dept> l
86、istDept=deptService.loadAll();</p><p> ServletActionContext.getRequest().setAttribute("listDept", listDept);</p><p> return "go_listdept";</p><p><b> }&
87、lt;/b></p><p><b> 5.2 員工管理</b></p><p> 系統(tǒng)需要經過有效的身份驗證可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同。普通員工可以進行個人考勤查詢,同時還可以有系統(tǒng)公告的管理功能;企業(yè)領導可添加公告、員工信息查詢、請假管理、考勤管理,可以對員工考勤進行查詢操作,管理員可控制整個系統(tǒng)的登錄功能,員工維護,擁有整個系統(tǒng)的全
88、部使用權限。</p><p> 5.2.1 添加員工</p><p> 添加員工信息,并添加登錄系統(tǒng)的權限。</p><p> 管理員可以為新入職的員工填寫信息,賦給登錄本系統(tǒng)的權限和密碼,并插入到員工信息表中。如圖5-3添加員工頁面所示。</p><p> 圖5-3 添加員工頁面</p><p> 實現(xiàn)原理
89、:本頁面中的部門編號是從后臺hkj.daoIm.DeptDAOImpl類中通過Hibernate的模板調用load方法加載出來的,插入也是通過Hibernate的模板調用save()方法存入數(shù)據(jù)庫中,核心代碼如下:</p><p> public String insertLoad()</p><p><b> {</b></p><p>
90、 List<Dept> listDept=deptService.loadAll();</p><p> ServletActionContext.getRequest().setAttribute("listDept", listDept);</p><p> return "go_insert";</p><
91、p><b> }</b></p><p> public String insertPerson()</p><p><b> {</b></p><p> personService.insert(person);</p><p> return "go_success&
92、quot;;</p><p><b> }</b></p><p> 5.2.2 查詢員工</p><p> 查出全部員工的信息,并以列表形式展現(xiàn),管理員可以在此為每位員工更改登錄系統(tǒng)的權限,以及員工的部分信息,并且可以刪除員工(永久性刪除)。如圖5-4查詢全部員工信息頁面所示。</p><p> 圖5-4 查詢
93、全部員工信息頁面</p><p> 實現(xiàn)原理:通過對后臺hkj.daoImpl.PersonDAOImp類中的queryAll()方法調用,其中是由Hibernate的loadAll()實現(xiàn)的,核心代碼如下:</p><p> public String queryAll()</p><p><b> {</b></p>&
94、lt;p> List<Person> listPerson=personService.loadAll();</p><p> ServletActionContext.getRequest().setAttribute("listPerson",</p><p> listPerso);</p><p> return
95、 "go_list";</p><p><b> }</b></p><p><b> ?。?)修改登錄權限</b></p><p> 點擊修改按鈕,頁面跳轉為員工詳細信息頁面,并可以修改員工登錄權限,以實現(xiàn)員工、管理員的轉換。</p><p><b> (2)刪
96、除員工信息</b></p><p> 對于離職的員工管理員可以刪除員工的信息(徹底刪除)</p><p><b> 5.3 公告管理</b></p><p> 領導對本系統(tǒng)中的所用子級用戶進行發(fā)布公告及編輯詳細功能模塊如圖5-5公告管理功能模塊圖所示。</p><p> 圖5-5 公告管理功能模塊圖&
97、lt;/p><p> 5.3.1 發(fā)布公告</p><p> 管理員可以發(fā)布公告,通知所有員工公司的一些新消息,如圖5-6發(fā)布公告頁面所示。</p><p> 圖5-6 發(fā)布公告頁面</p><p> 實現(xiàn)原理:后臺在hkj.daoImpl.DeptDAOImpl中對Hibernate模板的save()方法調用實現(xiàn),核心代碼如下:<
98、/p><p> public String insertNews()</p><p><b> {</b></p><p> newsService.insert(news);</p><p> return "go_success";</p><p><b>
99、 }</b></p><p> 5.3.2 管理公告</p><p> 管理員可以管理公告,對公告進行修改和刪除 如圖5-7管理功能頁面所示。</p><p> 圖5-7 管理公告頁面</p><p> 實現(xiàn)原理:后臺是在hkj.daoImpl.DeptDAOImpl類中對Hibernate,模板下的loadAll()方法
100、的調用實現(xiàn)加載到當前頁面,并通過調用update()和delete()方法實現(xiàn)公告的修改和刪除,核心代碼如下:</p><p> public String queryAll()</p><p><b> {</b></p><p> List<News> listNews=newsService.loadAll();<
101、/p><p> ServletActionContext.getRequest().setAttribute("listNews", listNews);</p><p> return "go_listnews";</p><p><b> }</b></p><p><
102、b> ?。?)修改公告信息</b></p><p> 管理員可以修改公告的相關信息,如圖5-8修改公告信息頁面所示。</p><p> 圖5-8 修改公告信息頁面</p><p> 實現(xiàn)原理:后臺在hkj.daoImpl.NewsDAOImpl中通過Hibernate模板的update()方法調用,將頁面?zhèn)鬟^來的值修改到數(shù)據(jù)庫中,核心代碼如下
103、:</p><p> public void delet(News news) </p><p><b> {</b></p><p> this.getHibernateTemplate().delete(news);</p><p><b> }</b></p><p
104、><b> (2)刪除公告信息</b></p><p> 管理員可以刪除時間過長的公告信息</p><p> 實現(xiàn)原理:后臺在hkj.daoImpl.NewsDAOImpl中通過Hibernate模板的delete()方法調用實現(xiàn),核心代碼如下:</p><p> public void update(News news) <
105、;/p><p><b> {</b></p><p> this.getHibernateTemplate().update(news);</p><p><b> }</b></p><p><b> 5.4 個人考勤</b></p><p>
106、用戶登錄系統(tǒng)后,可以考勤(上班,下班)簽到。</p><p> 5.4.1 考勤簽到</p><p> 無論是普通員工或者是管理員都需要簽到考勤,點對應的簽到時間點,可以實現(xiàn)員工的每天簽到,如圖5-9考勤簽到頁面所示。</p><p> 圖5-9 考勤簽到頁面</p><p> 實現(xiàn)原理:后臺是在hkj.daoImpl.ChuqinD
107、AOImpl中通過Hibernate模板的save()和update()方法的調用實現(xiàn)的,早晨第一次簽到調用的是save(),剩余一天其他時間的簽到是通過update()方法實現(xiàn)的。獲取簽到時間是通過JAVA語言在hkj.action.ChuqinAction中用自己寫的工具類中的getTime()方法獲取系統(tǒng)當前時間以拼字符串的形式返回并重新為簽到對象賦值,核心代碼如下:</p><p> public St
108、ring insertChuqin()</p><p><b> {</b></p><p> chuqin.setABeginTime(GetSysTime.getTime());</p><p> chuqinService.insert(chuqin);</p><p> return "go_s
109、uccess";</p><p><b> }</b></p><p> public String updateChuqin()</p><p><b> {</b></p><p> chuqin.setABeginTime(GetSysTime.getTime());<
110、/p><p> chuqinService.update(chuqin);</p><p> return "go_success";</p><p><b> }</b></p><p> 自己寫的獲取時間的工具類,核心代碼如下:</p><p> public cla
111、ss GetSysTime </p><p><b> {</b></p><p> public static String getTime()</p><p><b> {</b></p><p> Calendar ca = Calendar.getInstance();</p&
112、gt;<p> String time_str="";</p><p> String year=ca.get(Calendar.YEAR)+"-";</p><p> String month=ca.get(Calendar.MONTH)+1+"-";</p><p> String
113、 day=ca.get(Calendar.DATE)+"";</p><p> time_str=time_str+year+month+day;</p><p> return time_str;</p><p><b> }</b></p><p><b> }</b>
114、;</p><p><b> 5.4.2 請假</b></p><p> 管理員和員工的請假信息通過該頁面插入到數(shù)據(jù)庫中,等待管理員審核,如圖5-10請假頁面所示。</p><p> 圖5-10 請假頁面</p><p> 實現(xiàn)原理:后臺在hkj.daoImpl.QingjiaDAOImpl中通過Hibernat
115、e模板的save()方法調用實現(xiàn),核心代碼如下:</p><p> public void insert(Qingjia qingjia) </p><p><b> {</b></p><p> this.getHibernateTemplate().save(qingjia);</p><p><b>
116、; }</b></p><p><b> 5.5 請假管理</b></p><p> 相關部門領導對請假情況進行管理操作(準請假和不準請假)。</p><p> 管理員可以查看所有請假信息,并且在查看頁面可以對單一請假信息審查,通過更改請假信息的備注,可以申明是否批準。如圖5-11請假管理頁面所示。</p>&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論