公司考勤管理系統(tǒng)設(shè)計(jì)_第1頁(yè)
公司考勤管理系統(tǒng)設(shè)計(jì)_第2頁(yè)
公司考勤管理系統(tǒng)設(shè)計(jì)_第3頁(yè)
公司考勤管理系統(tǒng)設(shè)計(jì)_第4頁(yè)
公司考勤管理系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

緒論1.1課題背景、目的及意義隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,以計(jì)算機(jī)與通信技術(shù)為基礎(chǔ)的信息系統(tǒng)正處于蓬勃發(fā)展的時(shí)期。同時(shí),以計(jì)算機(jī)為基礎(chǔ)的各種軟件也漸漸走入規(guī)模不同的各種企業(yè)單位中。企業(yè)在對(duì)競(jìng)爭(zhēng)日趨強(qiáng)烈的現(xiàn)代社會(huì)在不斷提高自身產(chǎn)品質(zhì)量的同時(shí),對(duì)員工的要求也逐漸提高,考勤管理也就成為了一個(gè)大眾化的課題。公司考勤管理系統(tǒng)是為了解決員工考勤管理而設(shè)計(jì)的,目的是建立一個(gè)能夠初步實(shí)現(xiàn)公司考勤管理系統(tǒng)的智能化管理,提高考勤管理效率,工作人員能夠在各個(gè)崗位上的工作狀態(tài)得到及時(shí)的反饋,而系統(tǒng)所需的工作人員的數(shù)量少,效率高。公司考勤管理系統(tǒng)是一個(gè)企業(yè)單位不可缺少的一部分,它的內(nèi)容對(duì)于企業(yè)的決策者和管理者來(lái)說(shuō)都是至關(guān)重要的,因此,公司考勤管理系統(tǒng)應(yīng)該能夠?yàn)橛脩籼峁┏渥愕娜耸鹿芾淼男畔⒑涂旖莸墓芾聿樵兪侄?,但一直以?lái)人們使用傳統(tǒng)的人工方式管理員工的上下班等信息,這種管理方式存在著許多缺點(diǎn),諸如效率低,保密性差等,而且時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)企業(yè)考勤信息進(jìn)行管理,具有人工管理無(wú)法比擬的優(yōu)點(diǎn),它檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等,可減少更多的人力物力,這些都能夠極大地提高企業(yè)的考勤管理效率,也是企業(yè)考勤管理科學(xué)化、正規(guī)化,與世界接軌的重要條件。因此,開(kāi)發(fā)一個(gè)公司考勤管理系統(tǒng)是很有必要的,具有其特有的技術(shù)意義和管理意義。1.2國(guó)內(nèi)現(xiàn)狀分析長(zhǎng)期以來(lái),我國(guó)眾多的企業(yè)都是采用傳統(tǒng)的手工方式記錄企業(yè)員工每日的出勤情況。這種方式繁瑣易錯(cuò),準(zhǔn)確性、透明度、實(shí)時(shí)性差,受人為因素影響過(guò)大,增加了企業(yè)的人力資源成本。同時(shí)使用傳統(tǒng)人工記錄考勤管理容易出現(xiàn)疏漏,甚至可能存在考勤監(jiān)管人員因人情導(dǎo)致考勤不平等的情況,造成企業(yè)員工存在僥幸心理,無(wú)法解決代考、脫崗的問(wèn)題,不利于企業(yè)的人員管理。隨著信息化社會(huì)的到來(lái),國(guó)民素質(zhì)的相應(yīng)提高,企業(yè)員工的信息素養(yǎng)普遍增強(qiáng),為企業(yè)合理的運(yùn)用考勤管理系統(tǒng)提供了有力的人員保障。從現(xiàn)在出現(xiàn)的一些公司考勤管理系統(tǒng)分析,可以把公司考勤管理系統(tǒng)從管理功能上大致分為兩種:第一種是門禁安全系統(tǒng)。門禁安全管理系統(tǒng)主要是解決重要部門出入口實(shí)現(xiàn)安全防范管理的有效措施,集微機(jī)自動(dòng)識(shí)別技術(shù)和現(xiàn)代安全管理措施為一體。它能夠自動(dòng)識(shí)別出入的人員身份,記錄人員出入時(shí)間等,但一般沒(méi)有綜合的考勤分析功能。第二種是綜合考勤管理系統(tǒng)。這種考勤管理系統(tǒng)主要針對(duì)公司員工的上下班考勤記錄等相關(guān)情況的管理。一般為企業(yè)管理部門使用,掌握并管理企業(yè)的員工出勤動(dòng)態(tài),一般包括考勤記錄和考勤分析兩大總體功能。不但能夠識(shí)別進(jìn)入企業(yè)的職員的身份,還具備企業(yè)員工請(qǐng)假、休假、加班等相關(guān)出勤情況的記錄和分析匯總功能,根據(jù)系統(tǒng)制定的考勤規(guī)則,自動(dòng)分析出考勤結(jié)果。1.3論文組織結(jié)構(gòu)本論文主要分為六章。第一章為緒論,主要論述整個(gè)公司考勤系統(tǒng)的產(chǎn)生背景及產(chǎn)生的目的和意義,以及國(guó)內(nèi)現(xiàn)狀。第二章為開(kāi)發(fā)技術(shù)和工具的介紹,主要論述整個(gè)考勤系統(tǒng)在開(kāi)發(fā)過(guò)程中用到的技術(shù)和工具。第三章為需求分析,主要論述從系統(tǒng)的真實(shí)需求出發(fā),對(duì)系統(tǒng)的功能性和非功能性需求的描述,以及遇到的問(wèn)題和解決方案。第四章為系統(tǒng)設(shè)計(jì),主要?jiǎng)澐窒到y(tǒng)的主要功能,以及系統(tǒng)的功能和數(shù)據(jù)流程圖,描述建立的數(shù)據(jù)庫(kù)表結(jié)構(gòu)及相關(guān)屬性。第五章為系統(tǒng)實(shí)現(xiàn),主要是對(duì)系統(tǒng)的6大主要功能的詳細(xì)描述和實(shí)現(xiàn)過(guò)程,以及一些界面截圖。第六章為總結(jié),主要是對(duì)自己在完成畢業(yè)設(shè)計(jì)的過(guò)程中的工作成果及缺陷的總結(jié)。2開(kāi)發(fā)技術(shù)及工具介紹2.1B/S模式B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層(3-tier)結(jié)構(gòu)。一個(gè)三層架構(gòu)的應(yīng)用程序由三部分組成,這三部分各自分布在網(wǎng)絡(luò)中的不同地方。這三個(gè)部分分別是:工作站或表示層接口、事務(wù)邏輯、數(shù)據(jù)庫(kù)以及與其相關(guān)的程序設(shè)計(jì)。事務(wù)邏輯處在局域網(wǎng)(LAN)服務(wù)器或其他共享主機(jī)上,它作為響應(yīng)工作站所發(fā)出客戶請(qǐng)求的服務(wù)器,而相對(duì)于處于大型機(jī)的第三層,它是作為客戶端,并且決定需要什么數(shù)據(jù)以及數(shù)據(jù)存儲(chǔ)在哪里。第三層包括數(shù)據(jù)庫(kù)以及處理讀寫(xiě)以及訪問(wèn)數(shù)據(jù)庫(kù)的程序。然而應(yīng)用程序的設(shè)計(jì)可能比這個(gè)架構(gòu)要復(fù)雜,對(duì)于大型程序來(lái)說(shuō),這個(gè)三層模式是一種比較簡(jiǎn)便的考慮方法。這種應(yīng)用程序的設(shè)計(jì)使用瀏覽器/服務(wù)器模式,各層可以同時(shí)開(kāi)發(fā),并且可以由不同的成員組用不同的語(yǔ)言來(lái)開(kāi)發(fā)。因?yàn)楦鱾€(gè)層次的開(kāi)發(fā)不會(huì)影響其他層次,所以這種模型對(duì)于進(jìn)一步開(kāi)發(fā)軟件是很方便的。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過(guò)Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。它是一次性到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問(wèn)和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。特別是在Java這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。此技術(shù)超越了傳統(tǒng)的“客戶機(jī)/服務(wù)器”兩層結(jié)構(gòu),采用了三層體系結(jié)構(gòu):用戶界面層/事務(wù)層/數(shù)據(jù)庫(kù)層。因此Web結(jié)構(gòu)有著更好的安全性。在用戶機(jī)上不需要安裝任何應(yīng)用程序,應(yīng)用程序可以安裝在事務(wù)層所在的計(jì)算機(jī)上,試題存放在數(shù)據(jù)庫(kù)服務(wù)器上(事務(wù)層和數(shù)據(jù)庫(kù)可以是同一臺(tái)機(jī)器)。2.2JAVA簡(jiǎn)介Java環(huán)境可用來(lái)開(kāi)發(fā)能在任何計(jì)算平臺(tái)上運(yùn)行的應(yīng)用軟件。它實(shí)際上是一種非?;厩医Y(jié)構(gòu)緊湊的技術(shù),而它對(duì)WorldWideWeb以及商業(yè)的總體影響已可同電子表格對(duì)PC機(jī)的影響相比擬。Java已用動(dòng)態(tài)的交互應(yīng)用軟件使Web栩栩如生。它使開(kāi)發(fā)人員具有“編寫(xiě)一次到處運(yùn)行TM”的巨大能力。而且,借助其JavaAPI及其編程語(yǔ)言上的Java虛擬機(jī),它已產(chǎn)生一種分布信息的嶄新模式,這種模式叫做Java企業(yè)計(jì)算。正在幫助各企業(yè)以各種不同的方法取得競(jìng)爭(zhēng)優(yōu)勢(shì),網(wǎng)管和控制已大大簡(jiǎn)化。軟件分配基本上是免費(fèi)的,而且立即可實(shí)現(xiàn),并且占有成本大幅度降低,信息和應(yīng)用軟件到處可存取。Java建立在簡(jiǎn)單的前提基礎(chǔ)上,即所有微處理器都應(yīng)講同一種語(yǔ)言——所有內(nèi)部采用芯片的產(chǎn)品都應(yīng)能一起工作,無(wú)縫而方便地共享信息。它已經(jīng)改變企業(yè)和個(gè)人同Internet打交道的方式?,F(xiàn)在,它正在對(duì)消費(fèi)類產(chǎn)品產(chǎn)生明顯的影響,而且從總體上更加深刻地影響企業(yè)計(jì)算。借助Java,可以自由自在地使用已擁有的硬件和軟件。這是因?yàn)镴ava是獨(dú)立于平臺(tái)的,使應(yīng)用軟件在便攜式計(jì)算機(jī)、信息亭、電視、蜂窩電話和其他大量設(shè)備上運(yùn)行。全世界的公司都已發(fā)現(xiàn)Java數(shù)不勝數(shù)的應(yīng)用。所有應(yīng)用可從其無(wú)可比擬的能力,即提高可靠性、安全性和簡(jiǎn)化各種不同計(jì)算產(chǎn)品和環(huán)境的能力中受益匪淺,而且節(jié)省的時(shí)間和費(fèi)用十分可觀。Java無(wú)處不在。它已擁有幾百萬(wàn)個(gè)用戶,其發(fā)展速度要快于在它以前的其他任何一種計(jì)算機(jī)產(chǎn)品。它可位于任何地方,而且能到處運(yùn)行。Java正在迅速被用做傳播信息的事實(shí)上標(biāo)準(zhǔn),這是因?yàn)樗瓤山o企業(yè),也可給最終用戶帶來(lái)數(shù)不清的好處。Java遠(yuǎn)不止是一種編程語(yǔ)言,它是企業(yè)內(nèi)外的完整計(jì)算環(huán)境,而且萬(wàn)事齊備,從開(kāi)發(fā)工具、操作系統(tǒng)、服務(wù)器軟件一直到網(wǎng)絡(luò)管理工具、支持、培訓(xùn)、咨詢和集成服務(wù),一應(yīng)俱全。2.3SSH介紹2.3.1數(shù)據(jù)訪問(wèn)框架Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。2.3.2控制層框架Struts2框架作為Struts1.X框架的替代技術(shù),相對(duì)Struts1.X來(lái)說(shuō),有著本質(zhì)上的改變,Struts2框架是從WebWork框架發(fā)展而來(lái)的。Struts1.X已經(jīng)成為JavaWeb開(kāi)發(fā)中應(yīng)用最廣泛的MVC框架,被廣大的程序員所接受。隨著Web技術(shù)的發(fā)展,Struts1.X越來(lái)越難以適應(yīng),主要體現(xiàn)在支持視圖技術(shù)單一、難于測(cè)試性、龐大的配置文件和大量的ActionForm類,給項(xiàng)目開(kāi)發(fā)的管理維護(hù)帶來(lái)了困難。

Struts2框架技術(shù)整合了Struts1.X和WebWork的優(yōu)點(diǎn),Struts2框架最大的特點(diǎn)就是其簡(jiǎn)單性,引入了OGNL表達(dá)式和值棧的概念,可以使開(kāi)發(fā)者使用簡(jiǎn)單的代碼實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)訪問(wèn);Action實(shí)現(xiàn)類就是一個(gè)標(biāo)準(zhǔn)的Java類(POJO),這使得測(cè)試工作變得簡(jiǎn)單。同時(shí)Struts2框架取消了ActionForm,支持多種返回類型和Ajax技術(shù),簡(jiǎn)化了同其他技術(shù)的整合。2.3.3管理層框架Spring是一個(gè)開(kāi)源的輕量級(jí)JavaSE(Java標(biāo)準(zhǔn)版本)/JavaEE(Java企業(yè)版本)開(kāi)發(fā)應(yīng)用框架,其目的是用于簡(jiǎn)化企業(yè)級(jí)應(yīng)用程序開(kāi)發(fā)。應(yīng)用程序是由一組相互協(xié)作的對(duì)象組成。而在傳統(tǒng)應(yīng)用程序開(kāi)發(fā)中,一個(gè)完整的應(yīng)用是由一組相互協(xié)作的對(duì)象組成。所以開(kāi)發(fā)一個(gè)應(yīng)用除了要開(kāi)發(fā)業(yè)務(wù)邏輯之外,最多的是關(guān)注如何使這些對(duì)象協(xié)作來(lái)完成所需功能,而且要低耦合、高內(nèi)聚。Spring框架除了幫我們管理對(duì)象及其依賴關(guān)系,還提供像通用日志記錄、性能統(tǒng)計(jì)、安全控制、異常處理等面向切面的能力,還能幫用戶管理最頭疼的數(shù)據(jù)庫(kù)事務(wù),本身提供了一套簡(jiǎn)單的JDBC訪問(wèn)實(shí)現(xiàn),提供與第三方數(shù)據(jù)訪問(wèn)框架集成(如Hibernate、JPA),與各種JavaEE技術(shù)整合(如JavaMail、任務(wù)調(diào)度等等),提供一套自己的web層框架SpringMVC、而且還能非常簡(jiǎn)單的與第三方web框架集成。Spring是一個(gè)超級(jí)粘合平臺(tái),除了自己提供功能外,還提供粘合其他技術(shù)和框架的能力,從而使用戶可以更自由的選擇到底使用什么技術(shù)進(jìn)行開(kāi)發(fā)。而且不管是JAVASE(C/S架構(gòu))應(yīng)用程序還是JAVAEE(B/S架構(gòu))應(yīng)用程序都可以使用這個(gè)平臺(tái)進(jìn)行開(kāi)發(fā)。2.4TOMCAT應(yīng)用服務(wù)器Tomcat是一個(gè)免費(fèi)的開(kāi)源的Serlvet容器,在Tomcat中,應(yīng)用程序的部署很簡(jiǎn)單,用戶只需將自己的WAR放到Tomcat的webapp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。用戶在瀏覽器中訪問(wèn)這個(gè)應(yīng)用的JSP時(shí),通常第一次會(huì)很慢,因?yàn)門omcat要將JSP轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問(wèn)將會(huì)很快。另外Tomcat也提供了一個(gè)應(yīng)用:manager,訪問(wèn)這個(gè)應(yīng)用需要用戶名和密碼,用戶名和密碼存儲(chǔ)在一個(gè)xml文件中。通過(guò)這個(gè)應(yīng)用,輔助于FTP,用戶可以在遠(yuǎn)程通過(guò)Web部署和撤銷應(yīng)用。當(dāng)然本地也可以。Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁(yè)面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理JSP和Servlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。另外,Tomcat提供Realm支持。Realm類似于Unix里面的group.在Unix中,一個(gè)group對(duì)應(yīng)著系統(tǒng)的一定資源,某個(gè)group不能訪問(wèn)不屬于它的資源。Tomcat用Realm來(lái)對(duì)不同的應(yīng)用(類似系統(tǒng)資源)賦給不同的用戶(類似group)。沒(méi)有權(quán)限的用戶則不能訪問(wèn)這個(gè)應(yīng)用。Tomcat提供三種Realm:1、JDBCRealm,這個(gè)Realm將用戶信息存在數(shù)據(jù)庫(kù)里,通過(guò)JDBC獲得用戶信息來(lái)進(jìn)行驗(yàn)證;2、JNDIRealm,用戶信息存在基于LDAP的服務(wù)器里,通過(guò)JNDI獲取用戶信息;3、MemoryRealm,用戶信息存在一個(gè)xml文件里面,上面講的manager應(yīng)用驗(yàn)證用戶時(shí)即使用此種Realm。通過(guò)Realm可以方便地對(duì)訪問(wèn)某個(gè)應(yīng)用的用戶進(jìn)行驗(yàn)證。基于Tomcat的開(kāi)發(fā)其實(shí)主要是JSP和Servlet的開(kāi)發(fā),開(kāi)發(fā)JSP和Servlet非常簡(jiǎn)單,可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可。這里要提到另外一個(gè)工具Ant,Ant也是Jakarta中的一個(gè)子項(xiàng)目,它所實(shí)現(xiàn)的功能類似于Unix中的make。用戶需要寫(xiě)一個(gè)build.xml文件,然后運(yùn)行Ant就可以完成xml文件中定義的工作,這個(gè)工具對(duì)于一個(gè)大的應(yīng)用來(lái)說(shuō)非常好,只需在xml中寫(xiě)很少的東西就可以將其編譯并打包成WAR。事實(shí)上,在很多應(yīng)用服務(wù)器的發(fā)布中都包含了Ant。另外,在JSP1.2中,可以利用標(biāo)簽庫(kù)實(shí)現(xiàn)Java代碼與Html文件的分離,使JSP的維護(hù)更方便。2.5ORACLE11GORACLE11G引入了連接存儲(chǔ)池(connectionpolling)和多路復(fù)用(multiplexing)機(jī)制,提供了對(duì)大型對(duì)象的支持。當(dāng)需要支持一些特殊數(shù)據(jù)類型時(shí),用戶可以創(chuàng)建軟件插件(catridge)來(lái)實(shí)現(xiàn)。ORACLE11G采用了高級(jí)網(wǎng)絡(luò)技術(shù),提高共享池和連接管理器來(lái)提高系統(tǒng)的可擴(kuò)性,容量可從幾GB到幾百TB字節(jié),可允許10萬(wàn)用戶同時(shí)并行訪問(wèn),ORACLE的數(shù)據(jù)庫(kù)中每個(gè)表可以容納1000列,能滿足數(shù)據(jù)庫(kù)及數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用的需要。(1)系統(tǒng)的可用性和易用性O(shè)RACLE11G提供了靈活多樣的數(shù)據(jù)分區(qū)功能,一個(gè)分區(qū)可以是一個(gè)大型表,也可以是索引易于管理的小塊,可以根據(jù)數(shù)據(jù)的取值分區(qū)。有效地提高了系統(tǒng)操作能力及數(shù)據(jù)可用性,減少I/O瓶頸。ORACLE11G還對(duì)并行處理進(jìn)行了改進(jìn),在位圖索引,查詢,排序,連接和一般索引掃描等操作引入并行處理,提高了單個(gè)查詢的并行度。ORACLE11G通過(guò)并行服務(wù)器(ParallelServerOption)來(lái)提高系統(tǒng)的可用性。(2)系統(tǒng)的可管理性和數(shù)據(jù)安全功能ORACLE11G提供了自動(dòng)備份和恢復(fù)功能,改進(jìn)了對(duì)大規(guī)模和更加細(xì)化的分布式操作系統(tǒng)的支持,如加強(qiáng)了SQL操作復(fù)制的并行性。為了幫助客戶有效地管理整個(gè)數(shù)據(jù)庫(kù)和應(yīng)用系統(tǒng),ORACLE還提供了企業(yè)管理系統(tǒng)(ORACLEEnterpriseManager),數(shù)據(jù)庫(kù)管理員可以從一個(gè)集中控制臺(tái)拖放式圖形用戶界面管理ORACLE的系統(tǒng)環(huán)境。ORACLE11G通過(guò)安全服務(wù)器中提供的安全服務(wù),加強(qiáng)了ORACLEWebServer中原有的用戶驗(yàn)證和用戶管理。3需求分析3.1任務(wù)概述公司考勤管理系統(tǒng)主要實(shí)現(xiàn)員工管理(系統(tǒng)管理包含在員工管理中)、部門管理、公告管理、個(gè)人考勤、考勤管理、請(qǐng)假管理等功能,充分利用計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),改變傳統(tǒng)的操作方式進(jìn)行管理,實(shí)現(xiàn)了網(wǎng)絡(luò)化管理模式。3.2功能需求概述3.2.1用戶類別登錄系統(tǒng)的身份定為兩種,一是管理員(企業(yè)領(lǐng)導(dǎo)),二是普通員工,只有被授權(quán)的用戶才可以使用本系統(tǒng)的資源。3.2.2權(quán)限管理系統(tǒng)需要經(jīng)過(guò)有效的身份驗(yàn)證才可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同。普通員工可以進(jìn)行個(gè)人考勤查詢,同時(shí)還可以有系統(tǒng)公告的管理功能;管理員(企業(yè)領(lǐng)導(dǎo))可添加員工信息、查詢修改管理員信息、進(jìn)行請(qǐng)假管理、考勤管理,可以對(duì)員工考勤進(jìn)行查詢操作,可以對(duì)系統(tǒng)發(fā)布公告等信息,可控制整個(gè)系統(tǒng)的登錄功能(控制系統(tǒng))的登錄,擁有整個(gè)系統(tǒng)的全部使用權(quán)限。3.2.3具體功能需求(1)部門管理:領(lǐng)導(dǎo)對(duì)本企業(yè)的部門進(jìn)行添加、查詢的功能。(2)公告編輯:領(lǐng)導(dǎo)對(duì)本系統(tǒng)中的所用子級(jí)用戶進(jìn)行發(fā)布公告及編輯。(3)個(gè)人考勤:用戶登錄系統(tǒng)后,可以考勤(上班,下班)。(4)請(qǐng)假管理:管理員可以對(duì)員工的請(qǐng)假信息進(jìn)行操作(準(zhǔn)請(qǐng)假和不準(zhǔn)請(qǐng)假)。(5)考勤管理:管理員可以對(duì)員工的全部考勤進(jìn)行查詢的功能操作,但普通員工只能對(duì)自己的考勤有查詢的功能。(6)員工管理:管理員對(duì)普通員工有查詢與添加的操作功能。領(lǐng)導(dǎo)可對(duì)普通員工用戶進(jìn)行控制,看是否可以登錄。3.3非功能需求概述為了美觀及操作便捷,本系統(tǒng)采用簡(jiǎn)潔大方的界面設(shè)計(jì),首先是登陸界面的設(shè)計(jì),主要為填寫(xiě)用戶名及密碼。其次是操作界面,主要的功能操作體現(xiàn)為窗口右側(cè)的系統(tǒng)功能菜單,此菜單中的功能可通過(guò)用戶需求,將其中的子功能展開(kāi)和收縮,便于用戶操作及頁(yè)面美觀。然后是各個(gè)功能頁(yè)面的設(shè)計(jì),功能操作頁(yè)面都采用簡(jiǎn)單易操作的方案,將頁(yè)面盡量簡(jiǎn)化及美觀。查看頁(yè)面主要采用簡(jiǎn)介的表格顯示方式,而添加頁(yè)面主要采用下拉框和文本框等顯示方式。整體界面設(shè)計(jì)都以簡(jiǎn)單美觀便捷為主要目的。3.4問(wèn)題分析公司考勤管理系統(tǒng)擬采用B/S模式,三層結(jié)構(gòu)設(shè)計(jì)。涉及靜(動(dòng))態(tài)網(wǎng)頁(yè)編寫(xiě)(熟悉HTML、CSS、JavaScript)、程序設(shè)計(jì)(JSP或其它語(yǔ)言基礎(chǔ))、數(shù)據(jù)庫(kù)應(yīng)用(Oracle11g的應(yīng)用、SQL語(yǔ)言、調(diào)優(yōu))、數(shù)據(jù)庫(kù)設(shè)計(jì)、軟件工程及軟件測(cè)試,用戶界面設(shè)計(jì)、美化、文檔編寫(xiě)(軟件開(kāi)發(fā)計(jì)劃、用戶手冊(cè)等設(shè)計(jì)內(nèi)容都要形成文字)等各方面知識(shí);以及團(tuán)隊(duì)組織、項(xiàng)目管理,幫助文檔的編寫(xiě)、部分的測(cè)試等。3.5方案選擇開(kāi)發(fā)公司考勤管理系統(tǒng),提出以下解決方案:采用B/S模式,選擇Oracle11g作為后臺(tái)數(shù)據(jù)庫(kù),選擇JAVA、JSP、JavaScript、Html作為應(yīng)用程序開(kāi)發(fā)工具,運(yùn)用Tomcat服務(wù)器技術(shù),整個(gè)系統(tǒng)完全基于Browser/Server模式進(jìn)行設(shè)計(jì)。B/S模式有以下優(yōu)點(diǎn):(1)開(kāi)發(fā)成本及維護(hù)成本降低由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(Server)上,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器(Server)端通過(guò)WWW瀏覽器實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。(2)良好的安全性能防火墻技術(shù)可以保證后臺(tái)數(shù)據(jù)庫(kù)的安全性,所有客戶端端請(qǐng)求都是通過(guò)DBMS來(lái)訪問(wèn)數(shù)據(jù)庫(kù),從而大大減少了數(shù)據(jù)直接暴露的風(fēng)險(xiǎn)。因此系統(tǒng)的架構(gòu)就采用了B/S設(shè)計(jì)模式。3.6運(yùn)行環(huán)境系統(tǒng)對(duì)運(yùn)行的軟件環(huán)境的要求:(1)服務(wù)器端操作系統(tǒng):Windows7網(wǎng)絡(luò)協(xié)議:TCP/IPweb服務(wù)器:InternetInformationServer5.0/PersonalWebServer數(shù)據(jù)庫(kù):Oracle11g瀏覽器:InternetExplorer5.0以上(2)客戶端操作系統(tǒng):Windows7以上網(wǎng)絡(luò)協(xié)議:TCP/IP數(shù)據(jù)庫(kù):Oracle11g瀏覽器:InternetExplorer5.0以上4系統(tǒng)設(shè)計(jì)4.1功能劃分4.1.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)總體設(shè)計(jì)主要是指在系統(tǒng)分析的基礎(chǔ)上,對(duì)整個(gè)系統(tǒng)的劃分(子系統(tǒng))、機(jī)器設(shè)備(包括軟、硬設(shè)備)的配置、數(shù)據(jù)的存貯規(guī)律以及整個(gè)系統(tǒng)實(shí)現(xiàn)規(guī)劃等方面進(jìn)行合理的安排。系統(tǒng)設(shè)計(jì)工作應(yīng)該自頂向下地進(jìn)行。系統(tǒng)設(shè)計(jì)的工作復(fù)雜又細(xì)致,總體設(shè)計(jì)階段需要進(jìn)行系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì),要將一個(gè)大系統(tǒng)分解成不同層次、多個(gè)模塊組成的系統(tǒng),在詳細(xì)設(shè)計(jì)階段要在模塊結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,給出每個(gè)模塊實(shí)現(xiàn)方法的細(xì)節(jié),并對(duì)模塊的輸入、輸出和處理過(guò)程作詳細(xì)描述,以便在系統(tǒng)實(shí)施階段進(jìn)行程序設(shè)計(jì)時(shí),可以把這個(gè)描述直接“翻譯”成用某種程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序。4.1.2系統(tǒng)功能模塊模塊化是指解決一個(gè)復(fù)雜問(wèn)題時(shí)自上向下逐層把系統(tǒng)劃分成若干個(gè)模塊的過(guò)程。每個(gè)模塊完成一個(gè)特定的功能,所有的模塊按某種方法組織起來(lái),成為一個(gè)整體,完成整個(gè)系統(tǒng)所要求的功能。系統(tǒng)的模塊劃分不能是任意的,應(yīng)盡量保持其獨(dú)立性。降低系統(tǒng)的復(fù)雜性,提高可讀性、可維護(hù)性。也就是說(shuō),每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少,而且接口簡(jiǎn)單,即盡量做到提高模塊的獨(dú)立,為設(shè)計(jì)高質(zhì)量的系統(tǒng)結(jié)構(gòu)奠定基礎(chǔ)。系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)的任務(wù)是劃分子系統(tǒng),然后確定子系統(tǒng)的模塊結(jié)構(gòu),并畫(huà)出模塊結(jié)構(gòu)圖。在這個(gè)過(guò)程中必須考慮以下幾個(gè)問(wèn)題:(1)如何將一個(gè)系統(tǒng)劃分成多個(gè)子系統(tǒng)。(2)每個(gè)子系統(tǒng)如何劃分成多個(gè)模塊。(3)如何確定子系統(tǒng)之間、模塊之間傳送的數(shù)據(jù)及其調(diào)用關(guān)系。(4)如何評(píng)價(jià)并改進(jìn)模塊結(jié)構(gòu)的質(zhì)量。該方法適合于軟件系統(tǒng)的總體設(shè)計(jì)和詳細(xì)設(shè)計(jì),特別是將一個(gè)復(fù)雜的系統(tǒng)轉(zhuǎn)換成模塊化結(jié)構(gòu)系統(tǒng),該方法具有它的優(yōu)勢(shì)。在使用過(guò)程中可將結(jié)構(gòu)化設(shè)計(jì)方法與結(jié)構(gòu)化分析(SA)方法及編程階段的結(jié)構(gòu)化程序設(shè)計(jì)方法(SP)前后銜接起來(lái)。系統(tǒng)功能模塊化的優(yōu)點(diǎn):(1)系統(tǒng)功能模塊劃分清晰,區(qū)別明顯,易于操作。(2)操作界面友好,簡(jiǎn)單易懂適合不同層次的操作人員。(3)子系統(tǒng)之間的數(shù)據(jù)交換操作簡(jiǎn)單、快捷。根據(jù)該系統(tǒng)的需求分析,設(shè)計(jì)可實(shí)現(xiàn)的模塊組織結(jié)構(gòu),如圖4-1所示。圖4-1系統(tǒng)功能圖4.2指導(dǎo)思想系統(tǒng)功能設(shè)計(jì)本著從用戶角度出發(fā)的原則,要求實(shí)用,且符合用戶提出的合理需求。系統(tǒng)設(shè)計(jì)在不違反系統(tǒng)整體性的基礎(chǔ)上,可根據(jù)用戶的需求進(jìn)行二次開(kāi)發(fā),不斷完善系統(tǒng)功能,便于系統(tǒng)的不斷升級(jí)。4.2.1系統(tǒng)流程圖圖4-2系統(tǒng)流程圖4.2.2數(shù)據(jù)流程圖圖4-3數(shù)據(jù)流程圖4.2.3系統(tǒng)E-R圖數(shù)據(jù)實(shí)體對(duì)象包括:?jiǎn)T工信息實(shí)體、部門信息實(shí)體、公告信息實(shí)體、出勤信息實(shí)體、請(qǐng)假信息實(shí)體,各個(gè)實(shí)體擁有各自不同的屬性,并且它們之間擁有相應(yīng)的關(guān)系,我們可以用實(shí)體聯(lián)系圖表示,如圖4-4考勤實(shí)體關(guān)系E-R圖所示。圖4-4考勤系統(tǒng)實(shí)體及實(shí)體間關(guān)系E-R圖4.3數(shù)據(jù)庫(kù)設(shè)計(jì)員工信息表存儲(chǔ)員工的編號(hào)、員工姓名、員工登錄系統(tǒng)的密碼、員工電話、性別、部門編號(hào)(外鍵)、權(quán)限標(biāo)示符(0禁止登錄,1管理員,2是普通員工)、備注(用來(lái)標(biāo)注員工的特殊情況)本數(shù)據(jù)表和后臺(tái)的hkj.po.Person類相映射,表中字段說(shuō)明如表4-1所示。表4-1員工信息表(person)列名類型長(zhǎng)度說(shuō)明pidnumber20人員信息表的主鍵pnamevarchar220員工姓名pwdvarchar220員工登錄系統(tǒng)的密碼phonenumber13員工電話sexnumber1性別didnumber10部門編號(hào)(外鍵)isgrantnumber2權(quán)限標(biāo)示符(0禁止登錄,1管理員,2是普通員工)remarkvarchar2100備注公司部門信息表,存儲(chǔ)公司部門的部門編號(hào)、部門名、備注。本表和后臺(tái)的hkj.po.Dept類映射,表中的字段如表4-2所示。表4-2部門信息表(dept)列名類型長(zhǎng)度說(shuō)明didnumber10部門信息表的主鍵dnamevarchar220部門名remarkvarchar2100備注公司公告信息表,存儲(chǔ)公告的編號(hào)、公告標(biāo)題、公告內(nèi)容、發(fā)公告人編號(hào)(人員表外鍵)、備注。本表在后臺(tái)與hkj.po.News類映射,表中字段如表4-3所示。表4-3公告表(news)列名類型長(zhǎng)度說(shuō)明nidnumber5公告信息表的主鍵nnamevarchar250公告標(biāo)題newsvarchar21000內(nèi)容pidnumber20發(fā)公告人員編號(hào)(人員表外鍵)remarkvarchar2100備注公司員工出勤信息表,存儲(chǔ)員工每天出勤出勤信息編號(hào)、出勤人編號(hào)、上午上班簽到時(shí)間、上午下班簽到時(shí)間、下午上班簽到時(shí)間、下午下班簽到時(shí)間、備注(備注標(biāo)記員工簽到情況,若只是上午上班簽到,沒(méi)有上午下班簽到,則算上午沒(méi)簽到,若上午滿勤。則標(biāo)記為1,算半天,下午同理,全天滿勤標(biāo)記2)。本表與后臺(tái)hkj.po.Chunqi類映射,表中字段如表4-4所示。表4-4出勤表(chuqin)列名類型長(zhǎng)度說(shuō)明cidnumber10出勤信息表的主鍵pidnumber20出勤人編號(hào)(人員表編號(hào))a_begin_timevarchar210上午上班簽到時(shí)間a_end_timevarchar210上午下班簽到時(shí)間p_begin_timevarchar210下午上班簽到時(shí)間p_end_timevarchar210下午下班簽到時(shí)間remarkvarchar2100備注公司員工請(qǐng)假信息表,存儲(chǔ)員工請(qǐng)假編號(hào)、請(qǐng)假人員編號(hào)、請(qǐng)假人員所屬部門編號(hào)、請(qǐng)假開(kāi)始時(shí)間、請(qǐng)假天數(shù)、備注(作為請(qǐng)假審批標(biāo)記,若審批通過(guò),則為2*請(qǐng)假天數(shù),若未通過(guò),則為空)。本表與后臺(tái)hkj.po.Qingjia類相映射。表中字段如表4-5所示。表4-5請(qǐng)假信息表(qingjia)列名類型長(zhǎng)度說(shuō)明idnumber10請(qǐng)假信息表的主鍵pidnumber20請(qǐng)假人員編號(hào)(人員表外鍵)begin_timevarchar215請(qǐng)假開(kāi)始時(shí)間daysvarchar215請(qǐng)假天數(shù)remarkvarchar50作為請(qǐng)假審批標(biāo)記(通過(guò)后為2*請(qǐng)假天數(shù))5系統(tǒng)實(shí)現(xiàn)企業(yè)考勤管理系統(tǒng)分為員工管理、部門管理、公告管理、請(qǐng)假管理、個(gè)人考勤、考勤管理等六大模塊。各模塊的具體功能劃分如下:5.1部門管理管理員對(duì)本企業(yè)的部門進(jìn)行添加、查詢的功能。5.1.1添加部門管理員可以對(duì)公司的部門進(jìn)行添加如圖5-1新增部門信息頁(yè)面所示。圖5-1新增部門信息頁(yè)面實(shí)現(xiàn)原理:本頁(yè)面提交后,最后在hkj.daoImpl.DeptDAOImpl中通過(guò)Hibernate模板調(diào)用save()方法實(shí)現(xiàn),核心代碼如下:publicStringinsertDept(){ deptService.insert(dept); return"go_success";}5.1.2查詢部門管理員可以查詢到所有的部門信息,如圖5-2查看部門信息頁(yè)面所示。圖5-2查看部門信息頁(yè)面實(shí)現(xiàn)原理:該功能是通過(guò)在hkj.daoImpl.DeptDAOImpl中對(duì)Hibernate模板的loadAll()方法實(shí)現(xiàn),核心代碼如下:publicStringqueryAll(){ List<Dept>listDept=deptService.loadAll(); ServletActionContext.getRequest().setAttribute("listDept",listDept); return"go_listdept";}5.2員工管理系統(tǒng)需要經(jīng)過(guò)有效的身份驗(yàn)證可以登錄。用戶的身份不同,使用的系統(tǒng)資源也不同。普通員工可以進(jìn)行個(gè)人考勤查詢,同時(shí)還可以有系統(tǒng)公告的管理功能;企業(yè)領(lǐng)導(dǎo)可添加公告、員工信息查詢、請(qǐng)假管理、考勤管理,可以對(duì)員工考勤進(jìn)行查詢操作,管理員可控制整個(gè)系統(tǒng)的登錄功能,員工維護(hù),擁有整個(gè)系統(tǒng)的全部使用權(quán)限。5.2.1添加員工添加員工信息,并添加登錄系統(tǒng)的權(quán)限。管理員可以為新入職的員工填寫(xiě)信息,賦給登錄本系統(tǒng)的權(quán)限和密碼,并插入到員工信息表中。如圖5-3添加員工頁(yè)面所示。圖5-3添加員工頁(yè)面實(shí)現(xiàn)原理:本頁(yè)面中的部門編號(hào)是從后臺(tái)hkj.daoIm.DeptDAOImpl類中通過(guò)Hibernate的模板調(diào)用load方法加載出來(lái)的,插入也是通過(guò)Hibernate的模板調(diào)用save()方法存入數(shù)據(jù)庫(kù)中,核心代碼如下:publicStringinsertLoad(){ List<Dept>listDept=deptService.loadAll(); ServletActionContext.getRequest().setAttribute("listDept",listDept); return"go_insert";}publicStringinsertPerson(){ personService.insert(person); return"go_success";}5.2.2查詢員工查出全部員工的信息,并以列表形式展現(xiàn),管理員可以在此為每位員工更改登錄系統(tǒng)的權(quán)限,以及員工的部分信息,并且可以刪除員工(永久性刪除)。如圖5-4查詢?nèi)繂T工信息頁(yè)面所示。圖5-4查詢?nèi)繂T工信息頁(yè)面實(shí)現(xiàn)原理:通過(guò)對(duì)后臺(tái)hkj.daoImpl.PersonDAOImp類中的queryAll()方法調(diào)用,其中是由Hibernate的loadAll()實(shí)現(xiàn)的,核心代碼如下:publicStringqueryAll(){ List<Person>listPerson=personService.loadAll();ServletActionContext.getRequest().setAttribute("listPerson",listPerso); return"go_list";}(1)修改登錄權(quán)限點(diǎn)擊修改按鈕,頁(yè)面跳轉(zhuǎn)為員工詳細(xì)信息頁(yè)面,并可以修改員工登錄權(quán)限,以實(shí)現(xiàn)員工、管理員的轉(zhuǎn)換。(2)刪除員工信息對(duì)于離職的員工管理員可以刪除員工的信息(徹底刪除)5.3公告管理領(lǐng)導(dǎo)對(duì)本系統(tǒng)中的所用子級(jí)用戶進(jìn)行發(fā)布公告及編輯詳細(xì)功能模塊如圖5-5公告管理功能模塊圖所示。圖5-5公告管理功能模塊圖5.3.1發(fā)布公告管理員可以發(fā)布公告,通知所有員工公司的一些新消息,如圖5-6發(fā)布公告頁(yè)面所示。圖5-6發(fā)布公告頁(yè)面實(shí)現(xiàn)原理:后臺(tái)在hkj.daoImpl.DeptDAOImpl中對(duì)Hibernate模板的save()方法調(diào)用實(shí)現(xiàn),核心代碼如下:publicStringinsertNews(){newsService.insert(news);return"go_success";}5.3.2管理公告管理員可以管理公告,對(duì)公告進(jìn)行修改和刪除如圖5-7管理功能頁(yè)面所示。圖5-7管理公告頁(yè)面實(shí)現(xiàn)原理:后臺(tái)是在hkj.daoImpl.DeptDAOImpl類中對(duì)Hibernate,模板下的loadAll()方法的調(diào)用實(shí)現(xiàn)加載到當(dāng)前頁(yè)面,并通過(guò)調(diào)用update()和delete()方法實(shí)現(xiàn)公告的修改和刪除,核心代碼如下:publicStringqueryAll(){ List<News>listNews=newsService.loadAll(); ServletActionContext.getRequest().setAttribute("listNews",listNews); return"go_listnews";}(1)修改公告信息管理員可以修改公告的相關(guān)信息,如圖5-8修改公告信息頁(yè)面所示。圖5-8修改公告信息頁(yè)面實(shí)現(xiàn)原理:后臺(tái)在hkj.daoImpl.NewsDAOImpl中通過(guò)Hibernate模板的update()方法調(diào)用,將頁(yè)面?zhèn)鬟^(guò)來(lái)的值修改到數(shù)據(jù)庫(kù)中,核心代碼如下:publicvoiddelet(Newsnews){this.getHibernateTemplate().delete(news);}(2)刪除公告信息管理員可以刪除時(shí)間過(guò)長(zhǎng)的公告信息實(shí)現(xiàn)原理:后臺(tái)在hkj.daoImpl.NewsDAOImpl中通過(guò)Hibernate模板的delete()方法調(diào)用實(shí)現(xiàn),核心代碼如下:publicvoidupdate(Newsnews){ this.getHibernateTemplate().update(news);}5.4個(gè)人考勤用戶登錄系統(tǒng)后,可以考勤(上班,下班)簽到。5.4.1考勤簽到無(wú)論是普通員工或者是管理員都需要簽到考勤,點(diǎn)對(duì)應(yīng)的簽到時(shí)間點(diǎn),可以實(shí)現(xiàn)員工的每天簽到,如圖5-9考勤簽到頁(yè)面所示。圖5-9考勤簽到頁(yè)面實(shí)現(xiàn)原理:后臺(tái)是在hkj.daoImpl.ChuqinDAOImpl中通過(guò)Hibernate模板的save()和update()方法的調(diào)用實(shí)現(xiàn)的,早晨第一次簽到調(diào)用的是save(),剩余一天其他時(shí)間的簽到是通過(guò)update()方法實(shí)現(xiàn)的。獲取簽到時(shí)間是通過(guò)JAVA語(yǔ)言在hkj.action.ChuqinAction中用自己寫(xiě)的工具類中的getTime()方法獲取系統(tǒng)當(dāng)前時(shí)間以拼字符串的形式返回并重新為簽到對(duì)象賦值,核心代碼如下:publicStringinsertChuqin(){ chuqin.setABeginTime(GetSysTime.getTime()); chuqinService.insert(chuqin); return"go_success";}publicStringupdateChuqin(){ chuqin.setABeginTime(GetSysTime.getTime()); chuqinService.update(chuqin); return"go_success";}自己寫(xiě)的獲取時(shí)間的工具類,核心代碼如下:publicclassGetSysTime{ publicstaticStringgetTime(){ Calendarca=Calendar.getInstance(); Stringtime_str=""; Stringyear=ca.get(Calendar.YEAR)+"-"; Stringmonth=ca.get(Calendar.MONTH)+1+"-"; Stringday=ca.get(Calendar.DATE)+""; time_str=time_str+year+month+day; returntime_str; }}5.4.2請(qǐng)假管理員和員工的請(qǐng)假信息通過(guò)該頁(yè)面插入到數(shù)據(jù)庫(kù)中,等待管理員審核,如圖5-10請(qǐng)假頁(yè)面所示。圖5-10請(qǐng)假頁(yè)面實(shí)現(xiàn)原理:后臺(tái)在hkj.daoImpl.QingjiaDAOImpl中通過(guò)Hibernate模板的save()方法調(diào)用實(shí)現(xiàn),核心代碼如下:publicvoidinsert(Qingjiaqingjia){ this.getHibernateTemplate().save(qingjia);}5.5請(qǐng)假管理相關(guān)部門領(lǐng)導(dǎo)對(duì)請(qǐng)假情況進(jìn)行管理操作(準(zhǔn)請(qǐng)假和不準(zhǔn)請(qǐng)假)。管理員可以查看所有請(qǐng)假信息,并且在查看頁(yè)面可以對(duì)單一請(qǐng)假信息審查,通過(guò)更改請(qǐng)假信息的備注,可以申明是否批準(zhǔn)。如圖5-11請(qǐng)假管理頁(yè)面所示。圖5-11請(qǐng)假管理頁(yè)面實(shí)現(xiàn)原理:后臺(tái)是在hkj.daoImpl.QingjilaDAOImpl中通過(guò)Hibernate模板loadAll()方法調(diào)用實(shí)現(xiàn)所有請(qǐng)假信息的加載,通過(guò)load()方法加載要審核的請(qǐng)假信息,通過(guò)update()方法修改請(qǐng)假信息實(shí)現(xiàn)請(qǐng)假審核,并且通過(guò)調(diào)用delete()方法實(shí)現(xiàn)對(duì)于月底所有假條的刪除,核心代碼如下:publicStringupdateLoad(){HttpServletRequestrequest=ServletActionContext.getRequest(); Longid=(Long)request.getAttribute("id"); Qingjiaqingjia=qingjiaService.load(id); request.setAttribute("qingjia",qingjia); return"go_update";}publicStringupdate(){ qingjiaService.update(qingjia); return"go_success";}publicStringqueryAll(){ List<Qingjia>listQingjia=qingjiaService.loadAll(); ServletActionContext.getRequest().setAttribute("listQingjia",listQingjia); return"go_listQingjia";}publicvoiddelete(Longid){ this.getHibernateTemplate().delete(id);}5.6考勤管理領(lǐng)導(dǎo)可以對(duì)本部門員工的全部考勤進(jìn)行查詢的功能操作,但普通員工只能對(duì)自己的考勤有查詢的功能??记诠芾恚汗芾韱T可以對(duì)本部門的員工本月考勤記錄進(jìn)行查詢,并可查看詳細(xì)考勤情況,如圖5-12考勤統(tǒng)計(jì)記錄所示。圖5-12考勤統(tǒng)計(jì)記錄實(shí)現(xiàn)原理:后臺(tái)是在hkj.daoImpl.ChuqinDAOImpl,hkj.daoImpl.QingjiaDAOImpl,hkj.daoImpl.PersonDAOImpl中分別調(diào)用Hibernate中的session下的createQuery()方法,按照條件查詢出員工的出勤信息,請(qǐng)假信息,并用自己寫(xiě)的DaClass工具類作為一個(gè)容器來(lái)裝這三條結(jié)果,并在頁(yè)面顯示出來(lái),核心代碼如下:publicList<DaClass>tongji(Personperson){ List<DaClass>listDaClass=newArrayList<DaClass>(); Personp=personDAO.load(person); if(p.getIsgrant()==1){ List<Person>listPerson=personDAO.queryByDid(p); for(Personper:listPerson){ StringmapChuqin=chuqinService.tongJi(per); StringmapQingjia=qingjiaService.tongjiQingjia(per); DaClassdaClass=newDaClass(); daClass.setPerson(per); daClass.setMapChuqin(mapChuqin); daClass.setMapQingjia(mapQingjia); listDaClass.add(daClass); } returnlistDaClass; }else{ StringmapChuqin=chuqinService.tongJi(p); StringmapQingjia=qingjiaService.tongjiQingjia(p); DaClassdaClass=newDaClass(); daClass.setPerson(p); daClass.setMapChuqin(mapChuqin); daClass.setMapQingjia(mapQingjia); returnlistDaClass; }}6總結(jié)經(jīng)過(guò)將近三個(gè)月的時(shí)間,基本完成了本次的畢業(yè)設(shè)計(jì)公司考勤管理系統(tǒng)。在完成畢業(yè)設(shè)計(jì)的過(guò)程中,根據(jù)需求分析和查詢的資料,該系統(tǒng)主要通過(guò)不同的管理權(quán)限分為管理員和普通員工及禁止登陸。并通過(guò)權(quán)限的不同,將管理員的操作功能分為六個(gè)模塊,分別是:部門管理,添加和查看部門;員工管理,對(duì)員工進(jìn)行查看和添加的操作,同時(shí)可以修改員工權(quán)限,并刪除員工;公告管理,查看和發(fā)布公告,并且可以對(duì)公告進(jìn)行修改和刪除;個(gè)人考勤,管理員個(gè)人的考勤簽到及請(qǐng)假;請(qǐng)假管理,對(duì)員工的請(qǐng)假申請(qǐng)做出審核;考勤管理,查看員工考勤狀況。并且該系統(tǒng)賦予普通員工查看公告,考勤簽到,請(qǐng)假的權(quán)限。系統(tǒng)完成后,經(jīng)多番測(cè)試,在Windows7的操作系統(tǒng)與Tomcat的Web應(yīng)用程序調(diào)試環(huán)境上運(yùn)行正常。但是由于時(shí)間倉(cāng)促,及本人理論知識(shí)、開(kāi)發(fā)技術(shù)、實(shí)踐經(jīng)驗(yàn)和現(xiàn)有設(shè)備的局限,該系統(tǒng)難免存在許多的不足之處,有待于改進(jìn)和完善。本系統(tǒng)的一些不足與缺陷如下:(1)對(duì)于數(shù)據(jù)庫(kù)中的數(shù)據(jù)的日常維護(hù)不夠全面,對(duì)刪除數(shù)據(jù)的處理,未能做到對(duì)數(shù)據(jù)的備份與恢復(fù)。(2)對(duì)于權(quán)限的管理做得并不是特別細(xì)致。參考文獻(xiàn)[1]馮燕奎,趙德奎.JSP實(shí)用案例教程[M].清華大學(xué)出版社,2004:78-89[2]黃劉生.數(shù)據(jù)結(jié)構(gòu)[M].經(jīng)濟(jì)科學(xué)出版社,1999:103-115[3]黃曉東.JAVA課程設(shè)計(jì)案例精編[M].中國(guó)水利水電出版社,2004:320-345[4]覃慶炎,張偉.Java開(kāi)源項(xiàng)目:Spring+Hibernate+Struts項(xiàng)目開(kāi)發(fā)詳解[M].清華大學(xué)出版社,2008:318-342[5]汪曉平,鐘軍.JSP網(wǎng)絡(luò)開(kāi)發(fā)技術(shù)[M].人民郵電出版社,2004.5.1:102-104[6]宣小平,但正剛,張文毅.JSP數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航[M].人民郵電出版社,2003.1.1:67-69[7]馮昊.JSP動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)與上機(jī)指導(dǎo)[M].清化大學(xué)出版社,2003.7.2:109-117[8]徐立,聶小燕,謝勇.中文DreamweaverMX2004白金教學(xué)[M].兵器工業(yè)出版社,2009:286-298[9]李剛.Struts2權(quán)威指南[M].電子工業(yè)出版社,2008:127-133[10]徐明華.JavaWeb整合開(kāi)發(fā)與項(xiàng)目實(shí)戰(zhàn)——JSP、Ajax、Struts、Hibernate、Spring[M].電子工業(yè)出版社,2008:338-369[11]閆術(shù)卓.Struts2技術(shù)詳解[M].北京:電子工業(yè)出版社,2008[12]霍爾,布朗,蔡金.Servlet與JSP核心編程[M].北京:清華大學(xué)出版社,2009[13]HansBergsten.JSP設(shè)計(jì)[M].北京:中國(guó)電力出版社,2004[14]BruceEckelJAVAprogrammingideas[M].MachineryIndustryPress,2005:422-432[15]ThomasKyte.Oracleexpertprogramming[M].TsinghuaUniversitypress,2002:56-7致謝在完成本次的畢業(yè)論文之際,我完成了軟件工程本科的學(xué)業(yè),系統(tǒng)的學(xué)習(xí)了軟件專業(yè)專業(yè)知識(shí),更深程度地了解了計(jì)算機(jī)在各行各業(yè)的應(yīng)用,也掌握了計(jì)算機(jī)應(yīng)用的能力。在此特別感謝陳晨老師在我學(xué)習(xí)和做論文項(xiàng)目的時(shí)候給我的幫助和鼓勵(lì)。也特別感謝學(xué)校四年來(lái)對(duì)我的教導(dǎo),讓我在軟件方面有所收獲。通過(guò)學(xué)習(xí),并結(jié)合具體實(shí)踐,我完成了公司考勤管理系統(tǒng)的畢業(yè)設(shè)計(jì),從而讓自己在項(xiàng)目規(guī)劃和軟件程序設(shè)計(jì)各方面有了進(jìn)一步的認(rèn)識(shí)和實(shí)踐經(jīng)驗(yàn)。目錄TOC\o"1-2"\h\z\u1. 總論 11.1 項(xiàng)目概況 11.2 項(xiàng)目建設(shè)的必要性 21.3 可行性研究工作依據(jù) 61.4 可行性研究報(bào)告的編制原則 61.5 可行性研究報(bào)告內(nèi)容概要 71.6 建議引進(jìn)設(shè)備清單 151.7 結(jié)論及建議 151.8 項(xiàng)目主要技術(shù)經(jīng)濟(jì)指標(biāo)匯總 162. 市場(chǎng)需求預(yù)測(cè)與競(jìng)爭(zhēng)能力分析 192.1 概述 192.2 廣西區(qū)內(nèi)市場(chǎng) 192.3 主要目標(biāo)市場(chǎng)分析 222.4 廣東省水泥市場(chǎng)分析 242.5 競(jìng)爭(zhēng)能力分析 272.6 市場(chǎng)分析結(jié)論 283. 建設(shè)條件與廠址選擇 293.1 原、燃材料 293.2 交通運(yùn)輸 313.3 供電電源 313.4 水源 313.5 廠址條件 324. 工程技術(shù)方案 334.1 原燃料與配料設(shè)計(jì) 334.2 石灰石礦山 464.3 生產(chǎn)工藝 584.4 總圖運(yùn)輸 724.5 電氣及生產(chǎn)過(guò)程自動(dòng)化 764.6 給水排水 854.7 通風(fēng)及空氣調(diào)節(jié) 874.8 建筑結(jié)構(gòu) 895. 節(jié)約與合理利用能源 925.1 主要能耗指標(biāo) 925.2 主要節(jié)能措施 929. 工程建設(shè)招標(biāo)安排 10810. 項(xiàng)目建設(shè)進(jìn)度的建議 11010.1 項(xiàng)目管理 11010.2 項(xiàng)目實(shí)施進(jìn)度 11011. 投資估算 112

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論