版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p> 題目: 考勤管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) </p><p> 院 (系): 建筑與信息工程學(xué)院 </p><p> 專 業(yè): </p><p> 姓 名:
2、 </p><p> 學(xué) 號: </p><p> 指導(dǎo)教師: </p><p> 二〇 年 月 日</p><p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p> 畢業(yè)設(shè)計(jì)(論文)進(jìn)度計(jì)劃表</p>
3、;<p> 本表作評定學(xué)生平時(shí)成績的依據(jù)之一</p><p><b> 摘 要</b></p><p> 當(dāng)今社會(huì),資金是企業(yè)生存的主要元素,資金的流動(dòng)影響到企業(yè)的整體運(yùn)作,企業(yè)員工的工資是企業(yè)資金管理的一個(gè)重要的組成部分。而隨著企業(yè)人員數(shù)量的增加,企業(yè)的工資管理也變得越來越復(fù)雜。企業(yè)員工的人數(shù)越多,工資的統(tǒng)計(jì)工作就越多,工資的發(fā)放困難就越大。&l
4、t;/p><p> 因此,開發(fā)一個(gè)界面友好,易于操作的員工信息管理軟件進(jìn)行自動(dòng)化處理具有較大的社會(huì)現(xiàn)實(shí)意義。同時(shí),人事考勤管理系統(tǒng)是一切應(yīng)用系統(tǒng)的典范,它具有一切應(yīng)用系統(tǒng)的特征,系統(tǒng)結(jié)構(gòu)與現(xiàn)實(shí)生活緊密結(jié)合,具體直觀,開發(fā)應(yīng)用簡單,不失一般性。</p><p> 本論文主要介紹了系統(tǒng)的分析,設(shè)計(jì)和開發(fā)的全部過程。運(yùn)用數(shù)據(jù)流圖,ER圖,程序流程圖等對系統(tǒng)的設(shè)計(jì)過程進(jìn)行詳細(xì)的說明。全文共分為前言
5、、需求分析、系統(tǒng)設(shè)計(jì)、開發(fā)技術(shù)、關(guān)鍵技術(shù)解決,結(jié)論六部分。系統(tǒng)采用B/S開發(fā)模式,開發(fā)工具選擇JAVA、JSP、JavaScript、Html語言,采用Tomcat服務(wù)器技術(shù),后臺(tái)數(shù)據(jù)庫選用SQL Server 2000。</p><p> 關(guān)鍵詞: JSP,JAVA,SQL Server 2000數(shù)據(jù)庫,B/S模式</p><p><b> Abstract</b&g
6、t;</p><p> In today's society, money is the main element of the enterprise survival, capital flows affect the overall operation of the enterprise, an important part of enterprise financial management is
7、 the enterprise staff's wages. With the increasing number of business people, wage management of enterprises has become more and more complex. The more the number of employees, the statistical work pay more wages, pa
8、yment of the greater difficulty.</p><p> Therefore, development of a friendly interface, the staff information management software is easy to operate with the social significance in automatic processing. At
9、 the same time, personnel attendance management system is a model for all applications, it has the characteristics of every application system, the system structure and real life closely, concrete intuitive, development
10、and application of simple, without loss of generality.</p><p> This paper mainly introduced the system analysis, design and development of the whole process. Using data flow diagram, ER diagram, a detailed
11、description of the procedure flow chart of the system design process. The full text is divided into preface, solve the demand analysis, system design, development technology, key technology, the conclusion of six parts.
12、The system uses the B/S mode, selection of development tools JAVA, JSP, JavaScript, Html language, using Tomcat server technology, backgr</p><p> KEY WORD :JSP JAVA SQL Server 2000 database B/S model&
13、lt;/p><p><b> 目錄</b></p><p><b> 第一章 緒言1</b></p><p> 第一節(jié) SQL server 2000簡介1</p><p> 第二節(jié) B/S模式及其優(yōu)勢2</p><p> 第三節(jié) Java簡介4</p&g
14、t;<p> 第二章 考勤管理系統(tǒng)概念結(jié)構(gòu)設(shè)計(jì)5</p><p> 第一節(jié) 需求分析5</p><p> 第二節(jié) 系統(tǒng)分析5</p><p> 第三章 考勤管理系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)8</p><p> 第一節(jié) 業(yè)務(wù)流程分析8</p><p> 第二節(jié) 功能模塊設(shè)計(jì)9</p>
15、<p> 第三節(jié) 數(shù)據(jù)庫設(shè)計(jì)10</p><p> 第四節(jié) 管理系統(tǒng)流程設(shè)計(jì)11</p><p> 第五節(jié) 數(shù)據(jù)庫的邏輯設(shè)計(jì)12</p><p> 第四章 考勤管理系統(tǒng)的實(shí)現(xiàn)14</p><p> 第一節(jié) 數(shù)據(jù)庫的連接14</p><p> 第二節(jié) 系統(tǒng)實(shí)現(xiàn)14</p>
16、<p><b> 結(jié)論28</b></p><p><b> 致謝29</b></p><p><b> 參考文獻(xiàn)30</b></p><p><b> 第一章 緒言</b></p><p> 第一節(jié) SQL server 20
17、00簡介</p><p> Microsoft SQL Server2000是由 Microsoft公司開發(fā)的,簡稱SQL Server,由一系列相互協(xié)作的組件構(gòu)成,能滿足最大的Web站點(diǎn)和企業(yè)數(shù)據(jù)處理系統(tǒng)存儲(chǔ)和分析數(shù)據(jù)的需求。</p><p> Microsoft SQL Server 2000 的特性包括: </p><p> 一、Internet 集成
18、</p><p> SQL Server 2000 數(shù)據(jù)庫引擎提供完整的 XML 支持。它還具有構(gòu)成最大的 Web 站點(diǎn)的數(shù)據(jù)存儲(chǔ)組件所需的可伸縮性、可用性和安全功能。SQL Server 2000 程序設(shè)計(jì)模型與 Windows DNA 構(gòu)架集成,用以開發(fā) Web 應(yīng)用程序,并且 SQL Server 2000 支持 English Query 和 Microsoft 搜索服務(wù)等功能,在 Web 應(yīng)用程序中包
19、含了用戶友好的查詢和強(qiáng)大的搜索功能。</p><p> 二、可伸縮性和可用性</p><p> 同一個(gè)數(shù)據(jù)庫引擎可以在不同的平臺(tái)上使用,從運(yùn)行 Microsoft Windows 98 的便攜式電腦,到運(yùn)行 Microsoft Windows 2000 數(shù)據(jù)中心版的大型多處理器服務(wù)器。SQL Server 2000 企業(yè)版支持聯(lián)合服務(wù)器、索引視圖和大型內(nèi)存支持等功能,使其得以升級到最大
20、 Web 站點(diǎn)所需的性能級別。 </p><p> 三、企業(yè)級數(shù)據(jù)庫功能</p><p> SQL Server 2000 關(guān)系數(shù)據(jù)庫引擎支持當(dāng)今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫引擎充分保護(hù)數(shù)據(jù)完整性,同時(shí)將管理上千個(gè)并發(fā)修改數(shù)據(jù)庫的用戶的開銷減到最小。SQL Server 2000 分布式查詢使您得以引用來自不同數(shù)據(jù)源的數(shù)據(jù),就好象這些數(shù)據(jù)是 SQL Server 2000 數(shù)據(jù)
21、庫的一部分,同時(shí)分布式事務(wù)支持充分保護(hù)任何分布式數(shù)據(jù)更新的完整性。復(fù)制同樣使您得以維護(hù)多個(gè)數(shù)據(jù)復(fù)本,同時(shí)確保單獨(dú)的數(shù)據(jù)復(fù)本保持同步??蓪⒁唤M數(shù)據(jù)復(fù)制到多個(gè)移動(dòng)的脫接用戶,使這些用戶自主地工作,然后將他們所做的修改合并回發(fā)布服務(wù)器。 </p><p> 四、易于安裝、部署和使用</p><p> SQL Server 2000 中包括一系列管理和開發(fā)工具,這些工具可改進(jìn)在多個(gè)站點(diǎn)上安裝、
22、部署、管理和使用 SQL Server 的過程。SQL Server 2000 還支持基于標(biāo)準(zhǔn)的、與 Windows DNA 集成的程序設(shè)計(jì)模型,使 SQL Server 數(shù)據(jù)庫和數(shù)據(jù)倉庫的使用成為生成強(qiáng)大的可伸縮系統(tǒng)的無縫部分。這些功能使您得以快速交付 SQL Server 應(yīng)用程序,使學(xué)生只需最少的安裝和管理開銷即可實(shí)現(xiàn)這些應(yīng)用程序。 </p><p><b> 五、數(shù)據(jù)倉庫</b>&
23、lt;/p><p> SQL Server 2000 中包括析取和分析匯總數(shù)據(jù)以進(jìn)行聯(lián)機(jī)分析處理 (OLAP) 的工具。SQL Server 中還包括一些工具,可用來直觀地設(shè)計(jì)數(shù)據(jù)庫并通過 English Query 來分析數(shù)據(jù)。 </p><p> 第二節(jié) B/S模式及其優(yōu)勢</p><p> 一、C/S(Client/Server)模式</p>
24、<p> 過去,網(wǎng)絡(luò)軟件的開發(fā)都采用C/S(Client)模式,在這種模式下,主要的業(yè)務(wù)邏輯都集中于學(xué)生端程序,基于Client/Server(學(xué)生端/服務(wù)器)結(jié)構(gòu)的考試系統(tǒng),利用計(jì)算機(jī)局域網(wǎng)絡(luò),每臺(tái)計(jì)算機(jī)(學(xué)生端)通過安裝必要的軟件才能與服務(wù)器端相互通信。由于利用了計(jì)算機(jī)網(wǎng)絡(luò),不再需要大量人力以實(shí)現(xiàn)考題的一致性和考試信息的收集,自動(dòng)化程度和效率較高。但由于其結(jié)構(gòu)特點(diǎn),只適用于一定范圍的網(wǎng)絡(luò)內(nèi)部(局域網(wǎng)),范圍難以擴(kuò)展,可以
25、通過改進(jìn)通信協(xié)議,對該結(jié)構(gòu)進(jìn)行改造,使其適用于更廣的網(wǎng)絡(luò)范圍(廣域網(wǎng)),但由于需要安裝學(xué)生端程序,維護(hù)和升級同樣存在困難。</p><p> 這種結(jié)構(gòu)也稱為MIS型架構(gòu),試題內(nèi)容放在遠(yuǎn)程的服務(wù)器上,在考試機(jī)上安裝考試應(yīng)用程序和數(shù)據(jù)庫學(xué)生機(jī)配置,因此每次考試時(shí)要對機(jī)器進(jìn)行安裝、配置,這樣一來考試組織比較煩瑣;而且考試程序放在學(xué)生機(jī)上,安全性也受到一定程度的影響。</p><p> 二、B
26、/S(Browser/Server)模式</p><p> B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層(3-tier)結(jié)構(gòu)。一個(gè)三層架構(gòu)的應(yīng)用程序由三部分組成,
27、這三部分各自分布在網(wǎng)絡(luò)中的不同地方。這三個(gè)部分分別是:工作站或表示層接口、事務(wù)邏輯、數(shù)據(jù)庫以及與其相關(guān)的程序設(shè)計(jì)。在一個(gè)典型的三層架構(gòu)應(yīng)用程序中,應(yīng)用程序的用戶工作站包括提供圖形用戶界面(GUI)的程序設(shè)計(jì)和具體的應(yīng)用程序入口表格或交互式窗口。</p><p> 這種應(yīng)用程序的設(shè)計(jì)使用學(xué)生/服務(wù)器模式,各層可以同時(shí)開發(fā),并且可以由不同的成員組用不同的語言來開發(fā)。因?yàn)楦鱾€(gè)層次的開發(fā)不會(huì)影響其他層次,所以這種模型對
28、于進(jìn)一步開發(fā)軟件是很方便的。這樣就大大簡化了學(xué)生端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺(tái)
29、和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。特別是在Java這樣的跨平臺(tái)語言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。</p><p> 這種B/S模式學(xué)生端只要安裝一個(gè)標(biāo)準(zhǔn)的Web瀏覽器,其它應(yīng)用程序都存儲(chǔ)在Web服務(wù)器上。建立在B/S模式上的在線考試系統(tǒng),可建立大型、高效、共享的題庫,在服務(wù)器端對數(shù)據(jù)庫進(jìn)行管理,學(xué)生端通過瀏覽器登錄考試系統(tǒng),打破了時(shí)空界限,可實(shí)現(xiàn)自動(dòng)出卷、閱卷、評卷、簡化考試程序,且考試
30、結(jié)果更加公正、客觀。</p><p> 采用B/S(Browser/Server)模式的計(jì)算機(jī)在線考試和管理系統(tǒng)適用于一個(gè)考場或幾十個(gè)考場、幾十人甚至幾萬人同時(shí)通過網(wǎng)絡(luò)在線考試,解決了考試系統(tǒng)對學(xué)生機(jī)軟件過分依賴的問題,減輕了學(xué)生機(jī)軟件維護(hù)工作量,比以往的考試系統(tǒng)更具有實(shí)用性。采用這種結(jié)構(gòu),考試系統(tǒng)安裝和試題裝卸的程序簡易;進(jìn)行不同類別試題的考試時(shí)僅需要在服務(wù)器上進(jìn)行試題的更換處理,對考場的計(jì)算機(jī)配置應(yīng)考專業(yè)的
31、相應(yīng)軟件,考生就可以進(jìn)行考試。</p><p> 此技術(shù)超越了傳統(tǒng)的“學(xué)生機(jī)/服務(wù)器”兩層結(jié)構(gòu),采用了三層體系結(jié)構(gòu):用戶界面層/事務(wù)層/數(shù)據(jù)庫層。因此Web結(jié)構(gòu)有著更好的安全性。在用戶機(jī)上不需要安裝任何應(yīng)用程序,應(yīng)用程序可以安裝在事務(wù)層所在的計(jì)算機(jī)上,試題存放在數(shù)據(jù)庫服務(wù)器上(事務(wù)層和數(shù)據(jù)庫可以是同一臺(tái)機(jī)器)。</p><p> 第三節(jié) Java簡介</p><p&
32、gt; 簡言之,Java環(huán)境可用來開發(fā)能在任何計(jì)算平臺(tái)上運(yùn)行的應(yīng)用軟件。它實(shí)際上是一種非?;厩医Y(jié)構(gòu)緊湊的技術(shù),而它對World Wide Web以及商業(yè)的總體影響已可同電子表格對PC機(jī)的影響相比擬。</p><p> Java已用動(dòng)態(tài)的交互應(yīng)用軟件使Web栩栩如生。它使開發(fā)人員具有“編寫一次到處運(yùn)行TM”的巨大能力。而且,借助其Java API及其編程語言上的Java虛擬機(jī),它已產(chǎn)生一種分布信息的嶄新模式。
33、這種模式叫做Java企業(yè)計(jì)算,正在幫助各企業(yè)以各種不同的方法取得競爭優(yōu)勢。網(wǎng)管和控制已大大簡化。軟件分配基本上是免費(fèi)的,而且立即可實(shí)現(xiàn)。電子貿(mào)易已獲得。占有成本大幅度降低。信息和應(yīng)用軟件到處可存取。</p><p> Java建立在簡單的前提基礎(chǔ)上,即所有微處理器都應(yīng)講同一種語言——所有內(nèi)部采用芯片的產(chǎn)品都應(yīng)能一起工作,無縫而方便地共享信息。它已經(jīng)改變企業(yè)和個(gè)人同Internet大交道的方式?,F(xiàn)在,它正在對消費(fèi)
34、類產(chǎn)品產(chǎn)生明顯的影響,而且從總體上更加深刻地影響企業(yè)計(jì)算。</p><p> 借助Java,您可自由自在地使用您已擁有的硬件和軟件。這是因?yàn)镴ava是獨(dú)立于平臺(tái)的,它還可使您超越企業(yè)計(jì)算,使應(yīng)用軟件在便攜式計(jì)算機(jī)、信息亭、電視、蜂窩電話和其他大量設(shè)備上運(yùn)行。</p><p> 全世界的公司都已發(fā)現(xiàn)Java數(shù)不勝數(shù)的應(yīng)用。所有應(yīng)用可從其無可比擬的能力,即提高可靠性、安全性和簡化各種不同計(jì)
35、算產(chǎn)品和環(huán)境的能力中受益匪淺,而且節(jié)省的時(shí)間和費(fèi)用十分可觀。</p><p> Java無處不在。它已擁有幾百萬個(gè)用戶,其發(fā)展速度要快于在它以前的其他任何一種計(jì)算機(jī)產(chǎn)品。它可位于任何地方,而且能到處運(yùn)行。Java正在迅速被用做傳播信息的事實(shí)上標(biāo)準(zhǔn),這是因?yàn)樗瓤山o企業(yè),也可給最終用戶帶來似乎數(shù)不清的好處。</p><p> 第二章 考勤管理系統(tǒng)概念結(jié)構(gòu)設(shè)計(jì)</p><
36、;p><b> 第一節(jié) 需求分析</b></p><p> 在當(dāng)今社會(huì),各種物資越來越豐富,而作為一個(gè)企業(yè),特別是一個(gè)商業(yè)企業(yè)來說,需要對這些物資進(jìn)行管理。由于物質(zhì)繁雜,管理起來有一定的難度,可以用信息化的手段來處理這件原本十分復(fù)雜的事物,所以我們可以用VFP來設(shè)計(jì)一個(gè)考勤管理系統(tǒng)。</p><p><b> 第二節(jié) 系統(tǒng)分析</b>
37、</p><p><b> 一、功能分析</b></p><p> 該系統(tǒng)要實(shí)現(xiàn)的功能如下:</p><p> 1.部門信息管理:包括一個(gè)企業(yè)的部門信息的添加、修改和刪除。</p><p> 2.員工信息管理:包括企業(yè)員工信息如員工編號、姓名、性別、婚姻、身份證、所在部門等信息的添加、修改、刪除、查詢和打印。&l
38、t;/p><p> 3.員工考勤操作:主要是針對某一個(gè)員工在其需要考勤的進(jìn)段進(jìn)行考勤,記錄其某一個(gè)時(shí)段(上午或下午)的考勤狀況。</p><p> 4.考勤記錄管理:包括對考勤操作留下來的記錄進(jìn)行分條瀏覽、修改、刪除、查詢和打印。</p><p> 5.員工加班操作:主要是記錄某一個(gè)員工開始加班時(shí)間和結(jié)束加班時(shí)間,并根據(jù)這兩個(gè)時(shí)間數(shù)值計(jì)算出其加班時(shí)長。</p
39、><p> 6.加班記錄管理:包括對加班管理操作留下來的記錄進(jìn)行修改、刪除、查詢和打印。</p><p> 7.日終處理操作:主要在每日下午將要下班時(shí)對今天應(yīng)該考勤卻未考勤的人的考勤狀況進(jìn)行調(diào)整,提供了兩種選擇:一種是將其作為休息,也就是放假;一種是將其作為曠勤。這樣就保證每個(gè)員工在其應(yīng)該考勤的時(shí)候都有考勤記錄。</p><p> 8.記錄查詢:包括對考勤記錄、加
40、班記錄的按條件查詢,對一個(gè)月內(nèi)考勤記錄、加班記錄、日終處理記錄的統(tǒng)計(jì)查詢。</p><p> 9.信息記錄打?。喊▎T工信息、部門信息的報(bào)表打印以及一個(gè)月內(nèi)考勤記錄、加班記錄、日終處理記錄的統(tǒng)計(jì)報(bào)表打印。</p><p> 10.系統(tǒng)功能:包括系統(tǒng)登陸、系統(tǒng)退出以及關(guān)于本系統(tǒng);本系統(tǒng)使用內(nèi)置賬號,不提供添加或者修改賬號的功能。</p><p><b>
41、 二、模塊設(shè)計(jì)</b></p><p> 根據(jù)上面所要求的功能,可以對上面的功能進(jìn)行模塊化,得出如下圖所示的系統(tǒng)功能模塊圖。</p><p> 圖2.1 系統(tǒng)功能模塊圖</p><p><b> 日常操作:</b></p><p> 對當(dāng)天應(yīng)該考勤的員工進(jìn)行考勤;記錄員工加班的開始時(shí)間及結(jié)束時(shí)間并計(jì)
42、算出加班時(shí)長;對當(dāng)天應(yīng)該考勤而未考勤的職工進(jìn)行強(qiáng)行考勤。</p><p><b> 信息管理:</b></p><p> 管理部門信息,添加、修改、刪除部門信息;員工信息管理,添加、修改、刪除員工信息,只有首先添加了部門信息才能添加員工信息,因?yàn)橐粋€(gè)員工應(yīng)該是屬于某一個(gè)具體部門的;對考勤操作留下的記錄進(jìn)行修改、刪除和查詢;對加班操作留下來的記錄進(jìn)行修改、刪除和查詢
43、。</p><p><b> 記錄查詢:</b></p><p> 按條件對考勤記錄、加班記錄進(jìn)行查詢;查詢一個(gè)月內(nèi)的考勤記錄、加班記錄以及日終處理記錄。</p><p><b> 記錄打印:</b></p><p> 打印所有員工的信息報(bào)表及標(biāo)簽;打印所有部門的標(biāo)簽;按日期分組打印一個(gè)月內(nèi)
44、員工考勤記錄。</p><p><b> 系統(tǒng)功能:</b></p><p> 在使用系統(tǒng)前要求先登錄,只有合法的用戶才能登錄系統(tǒng);顯示系統(tǒng)的開發(fā)人等信息;退出系統(tǒng)。</p><p> 第三章 考勤管理系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)</p><p> 第一節(jié) 業(yè)務(wù)流程分析</p><p> 根據(jù)職工考勤
45、管理系統(tǒng)的設(shè)計(jì)要求可以畫出該系統(tǒng)的業(yè)務(wù)流程圖,如圖3.1所示。</p><p><b> 一、系統(tǒng)流程圖</b></p><p><b> 管理員(企業(yè)領(lǐng)導(dǎo))</b></p><p> 圖3.1 系統(tǒng)流程圖</p><p><b> 二、數(shù)據(jù)流程圖</b></p&
46、gt;<p> 圖3.2 數(shù)據(jù)流程圖</p><p> 第二節(jié) 功能模塊設(shè)計(jì)</p><p> 企業(yè)考勤管理系統(tǒng)分為系統(tǒng)管理、部門管理、公告管理、員工管理、請假管理、個(gè)人考勤、考勤管理、留言管理、退出系統(tǒng)等九大模塊。各模塊的具體功能劃分如下:</p><p><b> 一、系統(tǒng)管理模塊</b></p><
47、;p> 圖3.3 系統(tǒng)管理模塊功能樹</p><p> 系統(tǒng)管理模塊包括更改密碼、高級管理(控制系統(tǒng))兩大子模塊。</p><p> 1、更改密碼:各級管理員登錄系統(tǒng)后,可自行重新設(shè)置登錄密碼;</p><p> 2、高級管理:控制系統(tǒng)的功能操作</p><p><b> 二、部門管理</b></p
48、><p> 圖3.4 部門管理模塊</p><p><b> 第三節(jié) 數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 表3.1 管理員信息表(administrators)</p><p> 表3.2 控制系統(tǒng)信息表(cust_sys)</p><p> 表3.3 留言表(liuyuan)</p
49、><p> 表3.4 公告表(news)</p><p> 表3.5 部門表(departmen)</p><p> 表3.6 考勤表(kq)</p><p> 表3.7 請假信息表(qj)</p><p> 第四節(jié) 管理系統(tǒng)流程設(shè)計(jì)</p><p> 管理員可通過登錄名與密碼進(jìn)入考勤系
50、統(tǒng),可以通過職工編號來進(jìn)行對各別員工的查詢,進(jìn)行考勤,也可以查看全體員工的考勤情況,還可以進(jìn)行添加,刪除等操作。根據(jù)系統(tǒng)功能,可以畫出如下流程圖:</p><p> 圖3.5 系統(tǒng)功能流程圖</p><p> 針對職工管理系統(tǒng)的流程圖,現(xiàn)具體描述其功能:</p><p> 1.管理員登陸:系統(tǒng)對其合法性進(jìn)行檢查;</p><p> 2
51、.職工個(gè)人考勤:通過職工編號查詢其信息;</p><p> 3.添加操作:添加職工的各種基本信息;</p><p> 4.刪除操作:根據(jù)職工編號刪除某個(gè)職工的全部信息。</p><p> 第五節(jié) 數(shù)據(jù)庫的邏輯設(shè)計(jì)</p><p> 根據(jù)系統(tǒng)的功能可以設(shè)計(jì)有關(guān)的概念模型,該系統(tǒng)涉及一張職工考勤信息表,可以畫出如下E-R圖:</p&
52、gt;<p> 一、管理員實(shí)體E-R圖:</p><p> 圖3.6 管理員實(shí)體E-R圖</p><p> 二、職工實(shí)體E-R圖:</p><p> 圖3.7 職工實(shí)體E-R圖</p><p><b> 三、數(shù)據(jù)庫設(shè)計(jì):</b></p><p> 1.啟動(dòng)SQL Serv
53、er 2005</p><p> 2.建立數(shù)據(jù)庫打開企業(yè)管理器,新建數(shù)據(jù)庫Student</p><p> 3.創(chuàng)建表kaoqing, kaoqing表的字段的屬性為:</p><p> 表3.8 Kaoqing表</p><p> 第四章 考勤管理系統(tǒng)的實(shí)現(xiàn)</p><p> 第一節(jié) 數(shù)據(jù)庫的連接<
54、/p><p> 1.創(chuàng)建ODBC數(shù)據(jù)源:選擇“控制面板”——“管理工具”——“ODBC數(shù)據(jù)源”,在雙擊ODBC數(shù)據(jù)源后,選擇“用戶DSN”,添加新的數(shù)據(jù)源,單擊“配置”,選擇SQL Server,數(shù)據(jù)源名稱為mymoon,設(shè)置用戶名為sa,密碼為163123,選擇數(shù)據(jù)庫Student。</p><p> 2.建立JDBC-ODBC 橋接器:</p><p> C
55、lass.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);建立橋接器時(shí)可能發(fā)生異常,為捕獲這個(gè)異常,所以建立橋接器的標(biāo)準(zhǔn)為:</p><p> Try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDrivder”);}</p><p> Catch(ClassNotFoundException e){}</p>
56、<p> 3.與ODBC數(shù)據(jù)源指定的數(shù)據(jù)庫建立連接:</p><p> 使用java.sql包中的Connection類聲明一個(gè)對象,然后使用類DriverManager調(diào)用它的一個(gè)靜態(tài)方法getConnection創(chuàng)建這個(gè)連接對象,con=DriverManager.getConnection("jdbc:odbc:mymoon","sa","1
57、63123");捕獲異常為</p><p> try{ con=DriverManager.getConnection("jdbc:odbc:mymoon","sa","163123");} catch(SQL Exception e){}</p><p><b> 第二節(jié) 系統(tǒng)實(shí)現(xiàn)</b>&l
58、t;/p><p><b> 一、用戶登錄</b></p><p> 當(dāng)用戶登陸時(shí),首先出現(xiàn)的是一個(gè)登陸頁面,只有輸入正確的管理員姓名與密碼時(shí),才能進(jìn)入考勤系統(tǒng)。關(guān)鍵代碼如下:</p><p><b> <html></b></p><p><b> <head>
59、</b></p><p> <title>登陸頁面</title></p><p> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></p><p><b> </hea
60、d></b></p><p> <body background="ip.JPG"></p><p><b> <center></b></p><p><b> <h1></b></p><p> 歡迎進(jìn)入職工考勤管
61、理系統(tǒng)!</p><p> <form action="check.jsp" method="post">//轉(zhuǎn)頁到check.jsp</p><p><b> 頁面</b></p><p> 管理員:</p>&
62、lt;p> <input type="text" name="name"></p><p><b> 密碼:</b></p><p> <input type="text" name="number"></p><p> <
63、;input type="submit"value="提交"></p><p><b> </form></b></p><p><b> </center></b></p><p><b> </body></b>
64、;</p><p><b> </html></b></p><p><b> 如下圖所示:</b></p><p> 圖4.1 用戶登陸界面圖</p><p><b> 二、用戶檢查</b></p><p> 對輸入的管理員姓名與
65、密碼進(jìn)行檢查,如若正確,則轉(zhuǎn)到考勤頁面,若不正確,則返回到登陸頁面,再次輸入姓名與密碼,直至正確。代碼如下:</p><p> <%@page contentType="text/html" pageEncoding="UTF-8"%></p><p><b> <html></b></p>
66、;<p><b> <head></b></p><p> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></p><p> <title>JSP Page</title>&
67、lt;/p><p><b> </head></b></p><p><b> <body></b></p><p><b> <%</b></p><p> String name=request.getParameter("nam
68、e") ;</p><p> String password=request.getParameter("number");</p><p> if(name.equals("shenyan") || password.equals("08260021"))</p><p> {
69、 //檢查管理員姓名與密碼是否正確</p><p><b> %></b></p><p> <jsp:forward page="sucess.jsp"/> //正確,跳轉(zhuǎn)到考勤頁面</p><p><b> <%</b></p><p
70、><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> %></b></p><p> <jsp:forward page="form.htm
71、l"/> //不正確,返回到登陸頁面</p><p><b> <% }</b></p><p><b> %></b></p><p><b> </body></b></p><p><b> </
72、html></b></p><p><b> 如下圖所示:</b></p><p> 圖4.2 用戶檢查圖</p><p> 三、按職工編號考勤:</p><p> 輸入職工編號,可以通過調(diào)用bean來取得數(shù)據(jù)庫中信息,并顯示出來。關(guān)鍵代碼如下:</p><p> &l
73、t;%@page contentType="text/html" pageEncoding="UTF-8"%></p><p> <%@page import="tom.jiafei.ConditionQuery"%></p><p> <jsp:useBeanid="database&quo
74、t; class="tom.jiafei.ConditionQuery"scope="request"/></p><p> <jsp:setProperty name="database" property="number"param="number"/></p><p&g
75、t; 根據(jù)職工編<jsp:getProperty name="database" property="number"/></p><p><b> 查詢到的考勤記錄</b></p><p> <BR><jsp:getProperty name="database" prop
76、erty="queryResultByNumber"/></p><p> <form method="get"action="sucess.jsp"></p><p> <input type="submit"value="返回上一頁面"></p&g
77、t;<p><b> </form></b></p><p> <form method="get"action="form.html"></p><p> <input type="submit"value="返回登錄頁面"><
78、;/p><p><b> </form></b></p><p> ConditonQuery.java的部分代碼如下:</p><p> package tom.jiafei;</p><p> import java.sql.*;</p><p> public class
79、ConditionQuery {</p><p> String number;//職工編號</p><p> StringBuffer queryResultByNumber;</p><p> public ConditionQuery(){</p><p> queryResultByNumber=new StringBuffe
80、r();</p><p><b> try{</b></p><p> Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//建立一個(gè)jdbc-odbc橋接器</p><p> }catch(ClassNotFoundException e){}//捕獲建立橋接器時(shí)的異常<
81、;/p><p><b> }</b></p><p><b> //</b></p><p> private StringBuffer f(String condition){</p><p> StringBuffer str=new StringBuffer();</p>&
82、lt;p> Connection con;</p><p> Statement sql;</p><p> ResultSetrs; try{con=DriverManager.getConnection("jdbc:odbc:mymoon","sa","163123");//連接數(shù)據(jù)庫</p>
83、<p> sql=con.createStatement();</p><p> rs=sql.executeQuery(condition);</p><p> str.append("<table border=1>");</p><p> str.append("<th width=100>
84、;"+"職工編號");</p><p> str.append("<th width=100>"+"職工姓名");</p><p> str.append("<th width=100>"+"所在部門");</p><p> s
85、tr.append("<th width=100>"+"性別");</p><p> str.append("<th width=100>"+"缺勤次數(shù)");</p><p> str.append("<th width=100>"+"請假次
86、數(shù)");</p><p> str.append("<th width=100>"+"出差次數(shù)");</p><p> while(rs.next()){</p><p> str.append("<tr>");</p><p> str.a
87、ppend("<td>"+rs.getString(1)+"</td>");</p><p> str.append("<td>"+rs.getString(2)+"</td>");</p><p> str.append("<td>&q
88、uot;+rs.getString(3)+"</td>");</p><p> str.append("<td>"+rs.getString(4)+"</td>");</p><p> str.append("<td>"+rs.getString(5)+&qu
89、ot;</td>");</p><p> str.append("<td>"+rs.getString(6)+"</td>");</p><p> str.append("<td>"+rs.getString(7)+"</td>");&l
90、t;/p><p> str.append("</tr>");</p><p><b> }</b></p><p> str.append("<table border=1>");</p><p> con.close();</p><
91、;p> }catch(SQLException e){str.append(e);}</p><p> return str;</p><p><b> }</b></p><p><b> 其結(jié)果如下圖所示:</b></p><p> 圖4.3 職工編號考勤圖</p>
92、<p> 四、查看全體職工考勤記錄</p><p><b> 關(guān)鍵代碼如下:</b></p><p> <%@page contentType="text/html" pageEncoding="UTF-8"%></p><p> <%@page import=&qu
93、ot;java.sql.*"%></p><p><b> <%</b></p><p> Connection con;</p><p> Statement sql; </p><p> ResultSet rs; </
94、p><p> try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p> } catch (ClassNotFoundException e) {out.print(e);</p><p> }//捕獲建立橋接器時(shí)的異常</p><p> try { con
95、 = DriverManager.getConnection("jdbc:odbc:mymoon", "sa", "163123");</p><p> sql = con.createStatement();</p><p> rs = sql.executeQuery("SELECT * FROM kaoqing
96、");</p><p> out.print("<table border=2>");</p><p> out.print("<th width=100>" + "職工編號");</p><p> while (rs.next()) {</p><
97、;p> out.print("<tr>");</p><p> out.print("<td>" + rs.getString(1) + "</td>");</p><p> out.print("</tr>");</p><p&g
98、t;<b> }</b></p><p> out.print("</table border=2>");</p><p> con.close(); </p><p> } catch (SQLException e1) {</p><p> out.print(e1);}&l
99、t;/p><p><b> %></b></p><p> 其查詢結(jié)果如下圖所示:</p><p> 圖4.4 職工考勤記錄圖</p><p> 五、添加職工信息操作</p><p> 此操作用到了addbean和querybean,其中querybean幫助其查詢kaoqing表中的
100、記錄;而addbean是add.jsp調(diào)用它把信息添加到kaoqingbiao中,關(guān)鍵代碼如下:</p><p> add.jsp的部分代碼:</p><p> <%@page import="tom.jiafei.QueryBean"%></p><p> <%@page import="tom.jiafei.
101、addBean"%></p><p> <jsp:useBean id="look" class="tom.jiafei.QueryBean" scope="request"/></p><p> <jsp:useBean id="add" class="tom.
102、jiafei.addBean" scope="request"/></p><p> <jsp:setProperty name="look" property="ODBCDataSource" value="mymoon"/></p><p> <jsp:setPrope
103、rty name="look" property="tableName" value="kaoqing"/></p><p> <jsp:setProperty name="look" property="user" value="sa"/></p><p
104、> <jsp:setProperty name="look" property="secret" value="163123"/></p><p> <form action="add.jsp" method="post"></p><p> <br
105、>輸入職工編號:<input type="text" name="number" size="6"> </p><p> <jsp:setProperty name="add" property="*"/> </p><p> <br
106、>您的操作結(jié)果:</p><p> <jsp:getProperty name="add" property="addMessage"/></p><p> <p>數(shù)據(jù)庫當(dāng)前的數(shù)據(jù)記錄是:</p><p> <jsp:getProperty name="look"
107、 property="queryResult"/></p><p><b> </form></b></p><p> Addbean的關(guān)鍵代碼:</p><p> public String getAddMessage(){</p><p> String str = &q
108、uot;";</p><p> Connection con;</p><p> Statement sql;</p><p><b> try {</b></p><p> con = DriverManager.getConnection("jdbc:odbc:mymoon",
109、"sa", "163123"); </p><p> String insertCondition = "insert into kaoqing(職工編號,職工姓名,所在部門,性別,缺勤次數(shù),請假次數(shù),出差次數(shù))" + "values('" + number + "','"
110、; + name + "','" + department+ "','" + sex + "','" + queq+ "','" + qingj + "','"+chuc+"')";</p><p> sq
111、l = con.createStatement();</p><p> if (number!=null) {</p><p> int m = sql.executeUpdate(insertCondition);</p><p> if (m != 0) {</p><p> str = "對表中添加" + m
112、 + "條記錄成功";</p><p><b> } else {</b></p><p> str = "添加失敗";</p><p><b> }</b></p><p><b> } else {</b></p>
113、<p> str = "必須要有員工號";</p><p><b> }</b></p><p> con.close();</p><p> } catch (SQLException e) {</p><p> str = "輸入的員工號不允許有重復(fù)"
114、+ e;</p><p><b> }</b></p><p> return str;</p><p><b> }</b></p><p><b> }</b></p><p><b> 添加結(jié)果如所示:</b><
115、;/p><p> 圖4.5 添加職工信息操作圖</p><p> 圖4.6添加職工信息操作圖</p><p><b> 六、刪除職工信息</b></p><p> 與添加操作基本相同,關(guān)鍵代碼如下:</p><p> Delete.jsp 部分代碼:</p><p>
116、 <%@page import="tom.jiafei.QueryBean" %></p><p> <%@page import="tom.jiafei.delBean"%></p><p> <jsp:useBean id="look" class="tom.jiafei.Quer
117、yBean" scope="request"/></p><p> <jsp:useBean id="del" class="tom.jiafei.delBean" scope="request"/></p><p> <jsp:setPropertyname="
118、look" property="ODBCDataSource" value="mymoon"/></p><p> <jsp:setProperty name="look" property="tableName" value="kaoqing"/></p><p&
119、gt; <jsp:setProperty name="look" property="user" value="sa"/></p><p> <jsp:setProperty name="look" property="secret" value="163123"/>
120、</p><p> <br>輸入要?jiǎng)h除的員工號:<input type="text" name="number" size="6"></p><p> <br><input type="submit" name="b" value="提
121、交刪除"></p><p> <jsp:setProperty name="del" property="*"/></p><p><b> <br></b></p><p> <br>您的更新操作結(jié)果:</p><p>
122、 <jsp:getProperty name="del" property="delMessage"/></p><p> <p>數(shù)據(jù)庫當(dāng)前的數(shù)據(jù)記錄是: </p><p> <jsp:getProperty name="look" property="que
123、ryResult"/></p><p> Deletebean的關(guān)鍵代碼如下:</p><p> public String getDelMessage() {</p><p> String str = "";</p><p> Connection con;</p><p&g
124、t; Statement sql;</p><p> String delCondition = "delete from kaoqing where 職工編號='" + number + "'";</p><p><b> try {</b></p><p> con = Dr
125、iverManager.getConnection("jdbc:odbc:mymoon", "sa", "163123");</p><p> sql = con.createStatement();</p><p> if (number != null) {</p><p> int m = sq
126、l.executeUpdate(delCondition);</p><p> if (m != 0) {</p><p> str = "對表中刪除" + m + "條記錄成功";</p><p><b> } else {</b></p><p> str = &quo
127、t;刪除失敗";</p><p><b> }</b></p><p><b> } else {</b></p><p> str = "必須指定要?jiǎng)h除的員工號";} con.close();</p><p> } catch (SQLException e)
128、 { str = "員工號不存在";} return str;</p><p><b> }</b></p><p><b> }</b></p><p><b> 操作結(jié)果如所示:</b></p><p> 圖4.7 刪除職工信息圖</p&
129、gt;<p> 圖4.8 刪除職工信息圖</p><p><b> 結(jié)論</b></p><p> 在這次課程設(shè)計(jì)中,雖然系統(tǒng)完成了,但還是有不足的地方。在寫程序時(shí),有些地方應(yīng)該用到的語句不懂,所以只能用自己會(huì)的來編寫,從而放棄了最適宜的語句,使得整個(gè)程序有了些瑕疵。這讓我明白了一門課程還是要完全掌握吃透了才行啊。 總的來說,這次職工考勤管理系
130、統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)完成了。</p><p> 這個(gè)系統(tǒng)是職工考勤管理系統(tǒng),要求對職工進(jìn)行出勤,缺勤等的考查,另外還帶有添加,刪除等操作,所以一開始設(shè)計(jì)這個(gè)系統(tǒng)感到?jīng)]有頭緒,不得要領(lǐng),并且沒有足夠的知識(shí)來運(yùn)用,于是查找了很多的書籍,希望能有所幫助。隨著課程的進(jìn)行,對JSP的了解也日益增加,能夠把系統(tǒng)的部分功能漸漸的寫出來了。在此過程中也出現(xiàn)了一些困難,比如連接數(shù)據(jù)庫,一開始的時(shí)候不會(huì)連接,后來參考了書籍,按照書上的方
131、法才連接成功,使得JSP程序與數(shù)據(jù)源取得了連系;還有就是在寫添加操作這個(gè)功能時(shí),也遇到了一點(diǎn)麻煩,總是出現(xiàn)亂碼,后來在包里又新建了一個(gè)java類,寫了控制亂碼的語句才使添加功能正常運(yùn)行了。</p><p> 本軟件由于實(shí)際的情況,只設(shè)置了單一的用戶管理功能,可根據(jù)需要采用多級用戶管理模式,不同的用戶權(quán)限不一樣,另外,考慮到安全性,還可以對密碼進(jìn)行加密,這些是本軟件需要改進(jìn)的地方。本軟件由于功能比較齊全,值得推廣
132、。</p><p><b> 致謝</b></p><p> 首先誠摯的感謝我的論文指導(dǎo)老師,從選題的確定、論文的寫作、修改到最后定稿過程中,自始至終都傾注著老師的心血。特別是他多次詢問寫作進(jìn)程,并為我指點(diǎn)迷津,幫助我開拓思路,老師以嚴(yán)謹(jǐn)?shù)闹螌W(xué)之道、寬厚仁慈的胸懷、積極樂觀的生活態(tài)度,兢兢業(yè)業(yè)、孜孜以求的工作作風(fēng)和大膽創(chuàng)新的進(jìn)取精神為我樹立了一輩子學(xué)習(xí)的典范,他的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)---考勤管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)----考勤管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 考勤管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 考勤管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---考勤管理系統(tǒng)
- 考勤管理系統(tǒng)畢業(yè)設(shè)計(jì)
- delphi考勤管理系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--企業(yè)考勤管理系統(tǒng)
- 考勤管理系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- delphi考勤管理系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 課堂考勤管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 員工考勤系統(tǒng)畢業(yè)設(shè)計(jì)
- 網(wǎng)上考勤系統(tǒng)畢業(yè)設(shè)計(jì)
- 指紋考勤系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---高校學(xué)生考勤管理系統(tǒng)
- 管理系統(tǒng)畢業(yè)設(shè)計(jì)--藥店管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)---學(xué)生考勤系統(tǒng)的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)-----管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評論
0/150
提交評論