版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 . . . 本 科 畢 業(yè) 論 文(設(shè)計(jì))院 系 軟件學(xué)院 題 目 辦公自動(dòng)化系統(tǒng)的考勤管理模塊的設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生 瑄 學(xué) 號(hào) 071251092 年 級(jí) 2007級(jí) 專 業(yè) 軟件工程指導(dǎo)教師職 稱論文提交日期42 / 47摘 要隨著計(jì)算機(jī)的普與和計(jì)算機(jī)技術(shù)的飛速發(fā)展,越來(lái)越多的企業(yè)利用計(jì)算機(jī)解決實(shí)際中遇到的問(wèn)題。伴隨著數(shù)字商業(yè)的到來(lái),企業(yè)的管理意識(shí)和環(huán)境都發(fā)生了巨大的變化,企業(yè)的管理結(jié)構(gòu)由多層次結(jié)構(gòu)向扁平化管理結(jié)構(gòu)轉(zhuǎn)化;數(shù)字時(shí)代企業(yè)的信息量和溝通數(shù)量巨大,為了提高企業(yè)的管理效率,必須提升溝通的質(zhì)量,要求企業(yè)辦公高效率、自動(dòng)化,辦公自動(dòng)化系統(tǒng)應(yīng)運(yùn)而生。辦公自動(dòng)化系統(tǒng)跨越系統(tǒng)管理、日程管理、考
2、勤管理、消息管理、文檔管理等五個(gè)領(lǐng)域。SSH 在J2EE項(xiàng)目中表示了3種框架,即Spring + Struts + Hibernate。Struts由于版本差異,Struts1.x和Struts2.x幾乎是不同的框架。經(jīng)過(guò)綜合考慮,相對(duì)于現(xiàn)在的企業(yè)來(lái)說(shuō)Struts1.x的技術(shù)成熟,便于維護(hù)。故本OA系統(tǒng)使用的SSH版本為Spring2.5 + Struts1.3 + Hibernate3.3??傮w完成一個(gè)完全基于瀏覽器的操作模式,安裝簡(jiǎn)單(B/S架構(gòu),不必安裝或者只要安裝很小的插件),操作方便,具有良好的系統(tǒng)擴(kuò)充能力的辦公自動(dòng)化系統(tǒng),提供:文檔管理平臺(tái)、消息管理平臺(tái)、考勤管理平臺(tái)、日程管理平臺(tái)
3、、系統(tǒng)管理平臺(tái)。關(guān)鍵詞:辦公自動(dòng)化系統(tǒng),OA,SSH,J2EEAbstractWith the popularization of computer and the rapid development of computer technology, more and more companies use computers to solve practical problems. With the arrival of the digital business, enterprise management consciousness and the environment are all un
4、dergone tremendous changes, enterprise's management structure by multi-level structure to flating management structure transformation; Digital era enterprise information and communication a huge number, in order to improve the enterprise management efficiency, must enhance communication quality,
5、 high efficiency and automation request enterprise office, office automation system came into being. Office automation system across system management, schedule management, attendance management, news management, document management five fields.SSH said in J2EE project in three framework, namely Spr
6、ing + Struts + Hibernate.Struts1.x and Struts2.x are almost different framework. After a comprehensive consideration, Struts1.xis relative to the enterprise. NowStruts1.xis easy to maintain for the mature technology. So the OA system use SSH version for Spring2.5 + Struts1.3 + Hibernate3.3.Overall f
7、inish a completely based on the browser's operating mode, installation simple (B/S structure, need not installed or installing small plugin), convenient operation, good system expansion ability office automation system, provide: document management platform, news management platform, attendance
8、management platform, schedule management platform, system management platform.Keywords:Office Automation System,OA,SSH,J2EE目 錄摘要IAbstractII目錄III第一章概述/緒論11.1 項(xiàng)目背景11.2 國(guó)外辦公自動(dòng)化現(xiàn)狀11.3 解決方案比較31.3.1 J2EE和.net31.3.2 JSP、ASP和PHP31.3.3 SSH和JSP+servlet+JavaBean51.4 論文主要工作/組織結(jié)構(gòu)5第二章 Web開(kāi)發(fā)技術(shù)概述62.1 J2EE62.1.1 JSP
9、72.1.2 JDBC72.1.3 JavaBean72.2 SSH82.2.1 Struts82.2.2 Spring92.2.3 Hibernate112.3 DHTML122.4 EXTJS12第三章辦公自動(dòng)化系統(tǒng)項(xiàng)目概述143.1 項(xiàng)目目標(biāo)143.2 一般性需求143.3 功能性需求143.3.1 角色說(shuō)明143.3.2 整體業(yè)務(wù)流程描述143.4 具體功能點(diǎn)需求153.4.1系統(tǒng)管理子系統(tǒng)153.4.2日程管理子系統(tǒng)153.4.3考勤管理子系統(tǒng)153.4.4消息管理子系統(tǒng)163.4.5文檔管理子系統(tǒng)163.5 整體設(shè)計(jì)和實(shí)現(xiàn)173.5.1 后臺(tái)控制層和模塊層173.5.2 前臺(tái)表示層
10、183.5.3 配置文件183.6 項(xiàng)目環(huán)境193.6.1 Tomcat193.6.2 Oracle20第四章考勤管理子系統(tǒng)的分析、設(shè)計(jì)與實(shí)現(xiàn)214.1考勤管理需求分析214.1.1 簽到/簽退管理214.1.2 考勤歷史查詢224.1.3 考勤統(tǒng)計(jì)234.1.4 工作日管理254.1.5 工作時(shí)間管理264.1.6 出差/請(qǐng)假管理274.1.7補(bǔ)簽管理子模塊284.2考勤管理詳細(xì)設(shè)計(jì)294.2.1 整體類圖294.2.2 actionform層304.2.3 action層314.2.4 filter層314.2.5 service層314.2.6 dao層324.2.7 database層
11、324.2.8 各模塊時(shí)序圖324.2.9 數(shù)據(jù)庫(kù)設(shè)計(jì)334.3考勤管理運(yùn)行界面344.4 Web開(kāi)發(fā)技術(shù)在考勤管理中的應(yīng)用364.4.1 J2EE的應(yīng)用364.4.2 SSH的應(yīng)用374.4.3 DHTML的應(yīng)用404.4.4 EXTJS的應(yīng)用40第五章總結(jié)與展望41參考文獻(xiàn)42致43第一章 概述/緒論1.1 項(xiàng)目背景辦公自動(dòng)化(Office Automation,簡(jiǎn)稱OA)是將現(xiàn)代化辦公和計(jì)算機(jī)網(wǎng)絡(luò)功能結(jié)合起來(lái)的一種新型的辦公方式,是當(dāng)前新技術(shù)革命中一個(gè)技術(shù)應(yīng)用領(lǐng)域,屬于信息化社會(huì)的產(chǎn)物。隨著計(jì)算機(jī)的普與和計(jì)算機(jī)技術(shù)的飛速發(fā)展,越來(lái)越多的企業(yè)利用計(jì)算機(jī)解決實(shí)際中遇到的問(wèn)題。伴隨著數(shù)字商業(yè)的
12、到來(lái),企業(yè)的管理意識(shí)和環(huán)境都發(fā)生了巨大的變化,企業(yè)的管理結(jié)構(gòu)由多層次結(jié)構(gòu)向扁平化管理結(jié)構(gòu)轉(zhuǎn)化;數(shù)字時(shí)代企業(yè)的信息量和溝通數(shù)量巨大,為了提高企業(yè)的管理效率,必須提升溝通的質(zhì)量,要求企業(yè)辦公高效率、自動(dòng)化,辦公自動(dòng)化系統(tǒng)應(yīng)運(yùn)而生。辦公自動(dòng)化系統(tǒng)跨越系統(tǒng)管理、日程管理、考勤管理、消息管理、文檔管理等五個(gè)領(lǐng)域。隨著管理水平的提高,Internet 技術(shù)的出現(xiàn),單單實(shí)現(xiàn)文檔管理和流轉(zhuǎn)已經(jīng)不能滿足要求,OA 的重心開(kāi)始由文檔的處理轉(zhuǎn)入了數(shù)據(jù)的分析,即所說(shuō)的決策系統(tǒng),這時(shí)出現(xiàn)了以信息交換平臺(tái)和數(shù)據(jù)庫(kù)結(jié)合作為后臺(tái),數(shù)據(jù)處理與分析程序作為中間層,瀏覽器作為前臺(tái)(三層次結(jié)構(gòu))的OA 模式,這種模式下,可以將OA
13、系統(tǒng)納入由業(yè)務(wù)處理系統(tǒng)等系統(tǒng)構(gòu)成的單位整體系統(tǒng),可以通過(guò)OA 系統(tǒng)看到、分析、得到更全面的信息。基于B/S 結(jié)構(gòu)的辦公自動(dòng)化系統(tǒng),適用于施工企業(yè)的辦公自動(dòng)化,它涵蓋日常辦公管理的基本流,具有較強(qiáng)的通用性。11.2 國(guó)外辦公自動(dòng)化現(xiàn)狀辦公自動(dòng)化建設(shè)的本質(zhì)是提高決策效能為目的的。通過(guò)實(shí)現(xiàn)辦公自動(dòng)化,或者說(shuō)實(shí)現(xiàn)數(shù)字化辦公,可以優(yōu)化現(xiàn)有的管理組織結(jié)構(gòu),調(diào)整管理體制。在提高效率的基礎(chǔ)上,增加協(xié)同辦公能力,強(qiáng)化決策的一致性,最后實(shí)現(xiàn)提高決策效能的目的。辦公自動(dòng)化建設(shè)與現(xiàn)階段政府上網(wǎng)工程之間的關(guān)系。政府上網(wǎng)工程一直是近一兩年業(yè)界炒作和關(guān)注的熱點(diǎn)之一,政府上網(wǎng)工程是由于互連網(wǎng)的普與,政府部門把一些政務(wù)信息發(fā)布
14、到Intemet上,進(jìn)而在網(wǎng)上建立與老百姓溝通的渠道,以實(shí)現(xiàn)政務(wù)公開(kāi)和政府行為接受監(jiān)督的目的。從實(shí)際效果來(lái)看,很多政府部門只是在網(wǎng)上存放一些靜態(tài)的政府信息,實(shí)質(zhì)性的工作卻非常少。并且,在很多情況下,很多人將辦公自動(dòng)化和政府上網(wǎng)混為一談。這種現(xiàn)象導(dǎo)致很多部門重上網(wǎng)工程輕辦公自動(dòng)化工程。甚至把上網(wǎng)工程誤認(rèn)為是辦公自動(dòng)化工程。實(shí)際上,從網(wǎng)絡(luò)劃分的角度,政府上網(wǎng)工程是外網(wǎng)建設(shè),辦公自動(dòng)化工程是網(wǎng)建設(shè),辦公自動(dòng)化工程是政府信息化的基礎(chǔ),政府上網(wǎng)工程是政府信息化的對(duì)外表現(xiàn)形式,辦公自動(dòng)化工程在政府信息化建設(shè)中所占的比重遠(yuǎn)高于政府上網(wǎng)工程。只有辦公自動(dòng)化工程的建設(shè)并運(yùn)轉(zhuǎn)成功,政府上網(wǎng)才會(huì)有源源不斷的信息發(fā)布
15、,政府上網(wǎng)才有意義,否則政府上網(wǎng)工程就會(huì)變成無(wú)源之水。當(dāng)然,政府上網(wǎng)工程的宣傳對(duì)我國(guó)信息化建設(shè)也起了一定的推動(dòng)作用。辦公自動(dòng)化應(yīng)該是盡快向數(shù)字化辦公發(fā)展。所謂數(shù)字化辦公即幾乎所有的辦公業(yè)務(wù)都在網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)。從技術(shù)發(fā)展角度來(lái)看,特別是互連網(wǎng)技術(shù)的發(fā)展,安全技術(shù)的發(fā)展和軟件理論的發(fā)展,實(shí)現(xiàn)數(shù)字化辦公是可能的。從管理體制和工作習(xí)慣的角度來(lái)看,。全面的數(shù)字化辦公還有一段距離。首先數(shù)字化辦公必然沖擊現(xiàn)有的管理體制,使現(xiàn)有管理體制發(fā)生變革,而管理體制的變革意味著權(quán)利和利益的重新分配;另外管理人員原有的工作習(xí)慣、工作方式和法律體系有很強(qiáng)的慣性,短時(shí)間改變尚需時(shí)日。盡管如此,全面實(shí)現(xiàn)數(shù)字化辦公是辦公自動(dòng)化發(fā)
16、展的必然趨勢(shì)。實(shí)現(xiàn)數(shù)字化辦公既不同于傳統(tǒng)的OA,也不同于MIS的建設(shè),它的結(jié)構(gòu)是Intranet網(wǎng)的結(jié)構(gòu),它的構(gòu)建思路是自上而下的,即首先把整個(gè)部網(wǎng)看成是一個(gè)整體,這個(gè)整體的對(duì)象是網(wǎng)上所有用戶,它必需有一個(gè)基礎(chǔ),我們稱這個(gè)基礎(chǔ)為網(wǎng)平臺(tái);就好象PC必需有一個(gè)操作系統(tǒng)為基礎(chǔ)一樣。網(wǎng)平臺(tái)負(fù)責(zé)所有用戶對(duì)象的管理、負(fù)責(zé)所有網(wǎng)絡(luò)資源(含網(wǎng)絡(luò)應(yīng)用)的管理、網(wǎng)絡(luò)資源的分層授權(quán)、網(wǎng)絡(luò)資源的開(kāi)放標(biāo)準(zhǔn)和提供常用的網(wǎng)絡(luò)服務(wù)(如、論壇、導(dǎo)航、檢索和公告等)。在平臺(tái)的基礎(chǔ)之上,插接各種業(yè)務(wù)應(yīng)用(可理解為傳統(tǒng)的MIS),這些應(yīng)用都是網(wǎng)絡(luò)資源。用戶通過(guò)統(tǒng)一的瀏覽器界面入網(wǎng),網(wǎng)絡(luò)根據(jù)用戶的權(quán)限提供相應(yīng)的信息、功能和服務(wù),使用戶
17、在網(wǎng)絡(luò)環(huán)境下辦公;辦公自動(dòng)化于50年代在美國(guó)和日本首先興起,最初只是具有電子數(shù)據(jù)處理(EDP)的簿記功能,60年代被管理信息系統(tǒng)(MIS)取代,直到70年代后期才形成涉與多種技術(shù)的新型綜合學(xué)科一辦公自動(dòng)化(OA)。80年代,國(guó)外辦公自動(dòng)化得到了飛速發(fā)展,許多著名的計(jì)算機(jī)軟硬件公司都躋身于這一巨大的市場(chǎng)。進(jìn)入90年代以來(lái),辦公自動(dòng)化在世界主要發(fā)達(dá)國(guó)家得到蓬勃發(fā)展。我國(guó)辦公自動(dòng)化是80年代中期才發(fā)展起來(lái)的。1985年全國(guó)召開(kāi)了第一次辦公自動(dòng)化規(guī)劃會(huì)議,對(duì)我國(guó)辦公自動(dòng)化建設(shè)進(jìn)行了規(guī)劃。1986年5月在國(guó)務(wù)院電子振興領(lǐng)導(dǎo)小組辦公自動(dòng)化專家組第一次專家會(huì)議上,定義了辦公自動(dòng)化系統(tǒng)功能層次和結(jié)構(gòu)模式。隨后
18、國(guó)務(wù)院率先開(kāi)發(fā)了”中南海辦公自動(dòng)化系統(tǒng)”。我國(guó)OA的應(yīng)用和發(fā)展歷程,可以分為以下三個(gè)階段:(1)第一代OA系統(tǒng),是從20世紀(jì)80年代中期到90年代中期以個(gè)人電腦、辦公套件為主要標(biāo)志,實(shí)現(xiàn)了數(shù)據(jù)統(tǒng)計(jì)和文檔寫(xiě)作電子化,即將辦公信息載體從原始紙介質(zhì)方式轉(zhuǎn)向比特方式。(2)第二代OA系統(tǒng),是從90年代中期開(kāi)始的以網(wǎng)絡(luò)技術(shù)和協(xié)同工作技術(shù)為主要特征,實(shí)現(xiàn)了工作流程自動(dòng)化,即將收發(fā)文從傳統(tǒng)的手工方式轉(zhuǎn)向工作流自動(dòng)化方式。(3)第三代OA系統(tǒng),是融信息處理、業(yè)務(wù)流程和知識(shí)管理于一體的應(yīng)用系統(tǒng)。21.3 解決方案比較1.3.1 J2EE和.net目前國(guó)外Web開(kāi)發(fā)的主流架構(gòu)有J2EE和.net,經(jīng)過(guò)綜合考慮,
19、本OA系統(tǒng)采用J2EE體系架構(gòu),利用J2EE體系架構(gòu)的優(yōu)勢(shì),實(shí)現(xiàn)了業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯的分離。J2EE是一套全然不同于傳統(tǒng)應(yīng)用開(kāi)發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡(jiǎn)化且規(guī)應(yīng)用系統(tǒng)的開(kāi)發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。J2EE是一種利用Java 2平臺(tái)來(lái)簡(jiǎn)化企業(yè)解決方案的開(kāi)發(fā)、部署和管理相關(guān)的復(fù)雜問(wèn)題的體系結(jié)構(gòu)。J2EE技術(shù)的基礎(chǔ)就是核心Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版,J2EE不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),例如"編寫(xiě)一次、隨處運(yùn)行"的特性、方便存取數(shù)據(jù)庫(kù)的JDBC API、CORBA技術(shù)以與能夠在Internet應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等等,同時(shí)還提供了對(duì) E
20、(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以與XML技術(shù)的全面支持。其最終目的就是成為一個(gè)能夠使企業(yè)開(kāi)發(fā)者大幅縮短投放市場(chǎng)時(shí)間的體系結(jié)構(gòu)。3.NET 是 Microsoft XML Web services 平臺(tái)。XML Web services 允許應(yīng)用程序通過(guò) Internet 進(jìn)行通訊和共享數(shù)據(jù),而不管所采用的是哪種操作系統(tǒng)、設(shè)備或編程語(yǔ)言。Microsoft .NET 平臺(tái)提供創(chuàng)建 XML Web services 并將這些服務(wù)集成在一起之所需。對(duì)個(gè)人用戶的好處是無(wú)縫的、吸引人的體驗(yàn)。41.3.2 JS
21、P、ASP和PHP目前國(guó)外的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)主要有JSP、ASP和PHP,由于本OA系統(tǒng)是基于J2EE體系架構(gòu),故使用JSP技術(shù)。JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段 (Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。JSP特性:(1)一次編寫(xiě),到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任
22、何更改。系統(tǒng)的多平臺(tái)支持。基本上可以在所有平臺(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/.net的局限性是顯而易見(jiàn)的。(2)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。(3)多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。(4)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來(lái)
23、支持,開(kāi)發(fā)人員需要利用其他工具設(shè)計(jì)實(shí)現(xiàn)復(fù)雜功能的組件供web頁(yè)面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來(lái)實(shí)現(xiàn)復(fù)雜商務(wù)功能。5ASP是Active Server Page的縮寫(xiě),意為“動(dòng)態(tài)服務(wù)器頁(yè)面”。ASP是微軟公司開(kāi)發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫(kù)和其它程序進(jìn)行交互,是一種簡(jiǎn)單、方便的編程工具。ASP的網(wǎng)頁(yè)文件的格式是.asp,現(xiàn)在常用于各種動(dòng)態(tài)中。ASP是一種服務(wù)器端腳本編寫(xiě)環(huán)境,可以用來(lái)創(chuàng)建和運(yùn)行動(dòng)態(tài)網(wǎng)頁(yè)或Web應(yīng)用程序。ASP網(wǎng)頁(yè)可以包含HTML標(biāo)記、普通文本、腳本命令以與COM組建等。利用ASP可以向網(wǎng)頁(yè)中添加交互式容(如在線表單),也可
24、以創(chuàng)建使用HTML網(wǎng)頁(yè)作為用戶界面的web應(yīng)用程序。6PHP,是英文超級(jí)文本預(yù)處理語(yǔ)言Hypertext Preprocessor的縮寫(xiě)。PHP 是一種 HTML 嵌式的語(yǔ)言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語(yǔ)言。PHP 獨(dú)特的語(yǔ)法混合了 C、Java、Perl 以與 PHP 自創(chuàng)新的語(yǔ)法。它可以比CGI或者Perl更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。用PHP做出的動(dòng)態(tài)頁(yè)面與其他的變成語(yǔ)言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。PHP具有非常強(qiáng)大的功能,所有的CGI
25、的功能PHP都能實(shí)現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫(kù)以與操作系統(tǒng)。71.3.3 SSH和JSP+servlet+JavaBeanJ2EE體系架構(gòu)中可以用SSH框架,也可以用JSP+servlet+JavaBean框架,本OA系統(tǒng)采用了SSH框架。SSH 在J2EE項(xiàng)目中表示了3種框架,即Spring + Struts + Hibernate。Spring是一個(gè)開(kāi)源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來(lái)完成以前只可能由E完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開(kāi)發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,
26、任何Java應(yīng)用都可以從Spring中受益。Struts框架具有組件的模塊化,靈活性和重用性的優(yōu)點(diǎn),同時(shí)簡(jiǎn)化了基于MVC的web應(yīng)用程序的開(kāi)發(fā)。Struts可以清晰地區(qū)分控制,事務(wù)邏輯和外觀,從而簡(jiǎn)化了開(kāi)發(fā)應(yīng)用程序的過(guò)程。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)用E的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)
27、持久化的重任。8JSP+servlet+JavaBean框架適合小規(guī)模項(xiàng)目的開(kāi)發(fā),而SSH適合企業(yè)項(xiàng)目的開(kāi)發(fā),SSH相對(duì)于JSP+servlet+JavaBean更加規(guī)化。1.4 論文主要工作/組織結(jié)構(gòu)論文總體是對(duì)本人完成辦公自動(dòng)化系統(tǒng)項(xiàng)目的一些總結(jié)。第一章,主要描述了本人為何選擇辦公自動(dòng)化項(xiàng)目,同時(shí)介紹了它的背景以與辦公自動(dòng)化在國(guó)外的現(xiàn)狀和發(fā)展,還有完成該項(xiàng)目的需要采用的技術(shù)的比較。第二章,主要描述了完成辦公自動(dòng)化的一些必要的技術(shù)介紹,以便讀者能夠更好的理解后面的容。第三章,主要描述了整個(gè)項(xiàng)目的需求,功能,設(shè)計(jì)和環(huán)境等。第四章,主要描述了本人完成子系統(tǒng)的技術(shù)運(yùn)用,以與一些分析、設(shè)計(jì)和實(shí)現(xiàn)。第
28、五章,主要描述了對(duì)該項(xiàng)目的總結(jié)以與對(duì)它的發(fā)展期望。第二章 Web開(kāi)發(fā)技術(shù)概述2.1 J2EEJ2EE的簡(jiǎn)介已經(jīng)在1.3.1中描述過(guò)了,下面來(lái)具體介紹J2EE的四層模型與核心組件。J2EE使用多層的分布式應(yīng)用模型,應(yīng)用邏輯按功能劃分為組件,各個(gè)應(yīng)用組件根據(jù)他們所在的層分布在不同的機(jī)器上。圖2.1 J2EE四層模型圖如圖2.1所示,J2EE分別有四層:(1)運(yùn)行在客戶端機(jī)器上的客戶層,應(yīng)用客戶端程序和applets是客戶層組件;(2)運(yùn)行在J2EE服務(wù)器上的Web層,Java Servlet和JavaServer Pages(JSP)是Web層組件;(3)運(yùn)行在J2EE服務(wù)器上的業(yè)務(wù)邏輯層,Ent
29、erprise JavaBeans(E)是業(yè)務(wù)層組件;(4)運(yùn)行在EIS服務(wù)器上的企業(yè)信息系統(tǒng)(Enterprise information system)層。3下面將會(huì)具體介紹本OA系統(tǒng)用到的J2EE中的4種技術(shù):JSP、JDBC、JavaBean(代替E)和Java Servlets(由于Struts1.x是基于servlet技術(shù),故該技術(shù)不做具體描述)。2.1.1 JSPJSP的簡(jiǎn)介已經(jīng)在1.3.2中描述過(guò)了,下面來(lái)具體介紹JSP的指令、動(dòng)作、隱式對(duì)象等。JSP的指令包括:page指令、include指令、taglib指令。JSP的動(dòng)作包括:<jsp:include>、<
30、;jsp:forward>、<jsp:plugin>、<jsp:useBean> 、< jsp:setProperty>,、< jsp:getProperty>JSP的隱式對(duì)象如表2.1所示。request客戶端請(qǐng)求,此請(qǐng)求會(huì)包含來(lái)自GET/POST請(qǐng)求的參數(shù)response網(wǎng)頁(yè)傳回客戶端的響應(yīng)pageContext網(wǎng)頁(yè)的屬性是在這里管理session與請(qǐng)求有關(guān)的會(huì)話application正在執(zhí)行的容out用來(lái)傳送響應(yīng)的輸出流config代碼片段配置對(duì)象page代碼片段配置對(duì)象exception針對(duì)錯(cuò)誤網(wǎng)頁(yè),未捕捉的例外表2.1 JSP隱式
31、對(duì)象表2.1.2 JDBCJDBC(Java Data Base Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫(xiě)的類和接口組成。JDBC為工具/數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠用純 Java API 編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序。在本OA系統(tǒng)中,并沒(méi)有實(shí)現(xiàn)用JDBC直接連接數(shù)據(jù)庫(kù),而是通過(guò)Hibernate操作數(shù)據(jù)庫(kù)(Hibernate底層是對(duì)JDBC的封裝)。92.1.3 JavaBeanJavaBean 是一種JAVA語(yǔ)言寫(xiě)成的可重用組件。
32、為寫(xiě)成JavaBean,類必須是具體的和公共的,并且具有無(wú)參數(shù)的構(gòu)造器。JavaBean 通過(guò)提供符合一致性設(shè)計(jì)模式的公共方法將部域暴露成員屬性。用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫(kù)訪問(wèn)和其他任何可以用java代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開(kāi)發(fā)者可以通過(guò)部的JSP頁(yè)面、Servlet、其他JavaBean、applet程序或者應(yīng)用來(lái)使用這些對(duì)象。用戶可以認(rèn)為JavaBean提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。 JavaBean可分為兩種:一種是有用戶界面(UI,User Interface)的JavaBean;還有一種是沒(méi)有用戶界面,主要負(fù)責(zé)處理事務(wù)(
33、如數(shù)據(jù)運(yùn)算,操縱數(shù)據(jù)庫(kù))的JavaBean。JSP通常訪問(wèn)的是后一種JavaBean。102.2 SSHSSH 在J2EE項(xiàng)目中表示了3種框架,即Spring + Struts + Hibernate。Struts由于版本差異,Struts1.x和Struts2.x幾乎是不同的框架。經(jīng)過(guò)綜合考慮,相對(duì)于現(xiàn)在的企業(yè)來(lái)說(shuō)Struts1.x的技術(shù)成熟,便于維護(hù)。故本OA系統(tǒng)使用的SSH版本為Spring2.5 + Struts1.3 + Hibernate3.3。下面將會(huì)具體介紹這三個(gè)框架。2.2.1 StrutsStruts的簡(jiǎn)介已經(jīng)在1.3.3中描述過(guò)了,下面來(lái)具體介紹Struts1.x的構(gòu)成、
34、組件、運(yùn)行流程等。Struts1.x 框架主要由兩個(gè)相對(duì)獨(dú)立的組成部分構(gòu)成:(1)Struts API;(2)Struts框架表示層中的各種標(biāo)簽庫(kù)(Html、Bean、Logic、Tiles等標(biāo)簽庫(kù))。如圖2.2所示,Struts1.x對(duì)Model,View和Controller都提供了對(duì)應(yīng)的組件。ActionServlet,這個(gè)類是Struts的核心控制器,負(fù)責(zé)攔截來(lái)自用戶的請(qǐng)求。Action,這個(gè)類通常由用戶提供,該控制器負(fù)責(zé)接收來(lái)自ActionServlet的請(qǐng)求,并根據(jù)該請(qǐng)求調(diào)用模型的業(yè)務(wù)邏輯方法處理請(qǐng)求,并將處理結(jié)果返回給JSP頁(yè)面顯示。(1)Model部分:由JavaBean組成,
35、ActionForm用于封裝用戶的請(qǐng)求參數(shù),封裝成ActionForm對(duì)象,該對(duì)象被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionFrom里面的請(qǐng)求參數(shù)處理用戶的請(qǐng)求。JavaBean則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫(kù)訪問(wèn)等。 (2)View部分:該部分采用JSP實(shí)現(xiàn)。Struts提供了豐富的標(biāo)簽庫(kù),通過(guò)標(biāo)簽庫(kù)可以減少腳本的使用,自定義的標(biāo)簽庫(kù)可以實(shí)現(xiàn)與Model的有效交互,并增加了現(xiàn)實(shí)功能。對(duì)應(yīng)JSP部分。(3)Controller部分:Controller組件有兩個(gè)部分組成系統(tǒng)核心控制器,業(yè)務(wù)邏輯控制器。系統(tǒng)核心控制器,對(duì)應(yīng)ActionServlet。該控制器由
36、Struts框架提供,繼承 Servlet類,因此可以配置成標(biāo)注的Servlet。該控制器負(fù)責(zé)攔截所有的 請(qǐng)求,然后根據(jù)用戶請(qǐng)求決定是否要轉(zhuǎn)給業(yè)務(wù)邏輯控制器。業(yè)務(wù)邏輯控制器,負(fù)責(zé)處理用戶請(qǐng)求,本身不具備處理能力,而是調(diào)用Model來(lái)完成處理。對(duì)應(yīng)Action部分。12圖2.2 Struts各層組件圖Struts接受到一個(gè)客戶請(qǐng)求時(shí),將執(zhí)行如下流程:(1)檢索和用戶請(qǐng)求匹配的ActionMapping實(shí)例,如果不存在,就返回用戶請(qǐng)求路徑無(wú)效信息。(2)如果ActionForm實(shí)例不存在,就創(chuàng)建一個(gè)ActionForm對(duì)象,把客戶提交的表單數(shù)據(jù)保存到ActionForm對(duì)象中。(3)根據(jù)配置信息決
37、定是否需要表驗(yàn)證。如果需要驗(yàn)證,就調(diào)用ActionForm的validate()方法。(4)如果ActionForm的validate()方法返回null或返回一個(gè)不包含ActionMessage的ActionErrors對(duì)象,就表示表單驗(yàn)證成功。(5)ActionServlet根據(jù)ActionMapping實(shí)例包含的映射信息決定將請(qǐng)求轉(zhuǎn)發(fā)給那個(gè)Action。如果響應(yīng)的Action實(shí)例不存在,就先創(chuàng)建這個(gè)實(shí)例,然后調(diào)用Action的execute()方法。(6)Action的execute()方法返回一個(gè)ActionForward對(duì)象,ActionServlet再把客戶請(qǐng)求轉(zhuǎn)發(fā)個(gè)ActionF
38、orward對(duì)象指向的jsp組件。(7)ActionForward對(duì)象指向的jsp組件生成動(dòng)態(tài)網(wǎng)頁(yè),返回給客戶。112.2.2 SpringSpring的簡(jiǎn)介已經(jīng)在1.3.3中描述過(guò)了,下面來(lái)具體介紹Spring的其他特性和模塊組成。Spring特性:(1)輕量:從大小與開(kāi)銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開(kāi)銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對(duì)象不依賴于Spring的特定類。(2)控制反轉(zhuǎn):Spring通過(guò)一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)
39、用了IoC,一個(gè)對(duì)象依賴的其它對(duì)象會(huì)通過(guò)被動(dòng)的方式傳遞進(jìn)來(lái),而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴對(duì)象。你可以認(rèn)為IoC與JNDI相反不是對(duì)象從容器中查找依賴,而是容器在對(duì)象初始化時(shí)不等對(duì)象請(qǐng)求就主動(dòng)將依賴傳遞給它。(3)面向切面:Spring提供了面向切面編程的豐富支持,允許通過(guò)分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)(例如審計(jì)(auditing)和事務(wù)(transaction)管理)進(jìn)行聚性的開(kāi)發(fā)。應(yīng)用對(duì)象只實(shí)現(xiàn)它們應(yīng)該做的完成業(yè)務(wù)邏輯僅此而已。它們并不負(fù)責(zé)(甚至是意識(shí))其它的系統(tǒng)級(jí)關(guān)注點(diǎn),例如日志或事務(wù)支持。(4)容器:Spring包含并管理應(yīng)用對(duì)象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配
40、置你的每個(gè)bean如何被創(chuàng)建基于一個(gè)可配置原型(prototype),你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生成一個(gè)新的實(shí)例以與它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級(jí)的E容器,它們經(jīng)常是龐大與笨重的,難以使用。(5)框架:Spring可以將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開(kāi)發(fā)留給了你。13圖2.3 Spring模塊圖Spring每個(gè)模塊功能如圖2.3所示。2.2.3 HibernateHibernate的
41、簡(jiǎn)介已經(jīng)在1.3.3中描述過(guò)了,下面來(lái)具體介紹Hibernate的核心接口。如圖2.4所示,Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開(kāi)發(fā)中都會(huì)用到。通過(guò)這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對(duì)這五個(gè)核心接口分別加以介紹:(1)Session接口:Session接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫(kù)的交流,包含了很多常見(jiàn)的SQL語(yǔ)句。)。但需要注意的是Session對(duì)象是非線程安全的。同時(shí),Hiberna
42、te的session不同于JSP應(yīng)用中的 Session。這里當(dāng)使用session這個(gè)術(shù)語(yǔ)時(shí),其實(shí)指的是Hibernate中的session,而以后會(huì)將 Sesion對(duì)象稱為用戶session。 (2)SessionFactory接口:SessionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫(kù)時(shí),可以為每個(gè)數(shù)據(jù)庫(kù)指定一個(gè)SessionFactory。(3)Configur
43、ation接口:Configuration接口負(fù)責(zé)配置并啟動(dòng)Hibernate,創(chuàng)建SessionFactory對(duì)象。在Hibernate的啟動(dòng)的過(guò)程中,Configuration類的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對(duì)象。 (4)Transaction接口:Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開(kāi)發(fā)人員也可以設(shè)計(jì)編寫(xiě)自己的底層事務(wù)處理代碼。(5)Query和Criteria接口:Query和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫(kù)查詢。它可以使用HQL語(yǔ)言或SQL語(yǔ)句兩種表達(dá)方式。14圖2.4 Hibernate圖2.3 DHTMLDH
44、TML是Dynamic HTML的簡(jiǎn)稱,就是動(dòng)態(tài)的html,是相對(duì)傳統(tǒng)的靜態(tài)的html而言的一種制作網(wǎng)頁(yè)的概念。所謂動(dòng)態(tài)HTML(Dynamic HTML,簡(jiǎn)稱DHTML),其實(shí)并不是一門新的語(yǔ)言,它只是HTML、CSS和客戶端腳本的一種集成,即一個(gè)頁(yè)面中包括html+css+javascript(或其它客戶端腳本)。DHTML建立在原有技術(shù)的基礎(chǔ)上,可分為三個(gè)方面:(1)HTML(XHTML),也就是頁(yè)面中的各種頁(yè)面元素對(duì)象,它們是被動(dòng)態(tài)操縱的容;(2)CSS,CSS屬性也是動(dòng)態(tài)操縱的容,從而獲得動(dòng)態(tài)的格式效果;(3)客戶端腳本(例如JavaScript),它實(shí)際操縱Web頁(yè)上的HTML和C
45、SS。152.4 EXTJSExtJS是一種主要用于創(chuàng)建前端用戶界面,是一個(gè)與后臺(tái)技術(shù)無(wú)關(guān)的前端ajax框架。ExtJS可以用來(lái)開(kāi)發(fā)RIA也即富客戶端的AJAX應(yīng)用,是一個(gè)用javascript寫(xiě)的,主要用于創(chuàng)建前端用戶界面,是一個(gè)與后臺(tái)技術(shù)無(wú)關(guān)的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各種開(kāi)發(fā)語(yǔ)言開(kāi)發(fā)的應(yīng)用中。ExtJs最開(kāi)始基于YUI技術(shù),由開(kāi)發(fā)人員JackSlocum開(kāi)發(fā),通過(guò)參考JavaSwing等機(jī)制來(lái)組織可視化組件,無(wú)論從UI界面上CSS樣式的應(yīng)用,到數(shù)據(jù)解析上的異常處理,都可算是一款不可多得的JavaScript客戶端技術(shù)的精品。 Ext的UI組件
46、模型和開(kāi)發(fā)理念脫胎、成型于Yahoo組件庫(kù)YUI和Java平臺(tái)上Swing兩者,并為開(kāi)發(fā)者屏蔽了大量跨瀏覽器方面的處理。相對(duì)來(lái)說(shuō),EXT要比開(kāi)發(fā)者直接針對(duì)DOM、W3C對(duì)象模型開(kāi)發(fā)UI組件輕松。16第三章 辦公自動(dòng)化系統(tǒng)項(xiàng)目概述3.1 項(xiàng)目目標(biāo)完成一個(gè)完全基于瀏覽器的操作模式,安裝簡(jiǎn)單(B/S架構(gòu),不必安裝或者只要安裝很小的插件),操作方便,具有良好的系統(tǒng)擴(kuò)充能力的辦公自動(dòng)化系統(tǒng),提供:文檔管理平臺(tái)、消息管理平臺(tái)、考勤管理平臺(tái)、日程管理平臺(tái)、系統(tǒng)管理平臺(tái)。3.2 一般性需求完全基于瀏覽器的操作模式,安裝簡(jiǎn)單、操作方便,具有良好的系統(tǒng)擴(kuò)充能力。靈活的模塊需求設(shè)計(jì),可根據(jù)項(xiàng)目周期靈活裁剪。對(duì)于系統(tǒng)
47、執(zhí)行的重要操作自動(dòng)記錄操作人和操作時(shí)間。操作人默認(rèn)為當(dāng)前登錄人員,操作時(shí)間默認(rèn)為當(dāng)天的當(dāng)前時(shí)間(精確到分)。本系統(tǒng)針對(duì)企業(yè)部人員使用,支持中英文兩種語(yǔ)言,由于操作人員的計(jì)算機(jī)水平不同,應(yīng)該有良好的人機(jī)交互界面和幫助支持頁(yè)面,只有登錄驗(yàn)證后的用戶才可以使用系統(tǒng),有良好的安全性能。3.3 功能性需求3.3.1 角色說(shuō)明普通員工:企業(yè)部的員工。部門經(jīng)理:企業(yè)部的一個(gè)部門的負(fù)責(zé)人。管理員:負(fù)責(zé)系統(tǒng)維護(hù)的管理人員。3.3.2 整體業(yè)務(wù)流程描述用戶(包含普通員工、部門經(jīng)理、管理員)登錄后,根據(jù)提供的菜單選項(xiàng),進(jìn)行權(quán)限允許的操作。以用戶為中心,實(shí)現(xiàn)辦公的自動(dòng)化,實(shí)現(xiàn)考勤、日程、文檔、消息的對(duì)應(yīng)管理。本OA系
48、統(tǒng)整體結(jié)構(gòu)如圖3.1所示。圖3.1 系統(tǒng)結(jié)構(gòu)圖3.4 具體功能點(diǎn)需求本OA系統(tǒng)分為5個(gè)子系統(tǒng):系統(tǒng)管理子系統(tǒng)、日程管理子系統(tǒng)、考勤管理子系統(tǒng)、消息管理子系統(tǒng)、文檔管理子系統(tǒng)。下面將會(huì)具體介紹各個(gè)子系統(tǒng)。3.4.1系統(tǒng)管理子系統(tǒng)系統(tǒng)管理子系統(tǒng)模塊,負(fù)責(zé)整個(gè)系統(tǒng)的配置,包括系統(tǒng)登錄/注銷功能、權(quán)限管理、菜單定制、員工管理、部門管理、日志管理等功能3.4.2日程管理子系統(tǒng)日程管理子系統(tǒng)包括以下子模塊:日程編輯器、迷你日歷、聯(lián)系人管理器、便簽管理器3.4.3考勤管理子系統(tǒng)本人完成的是該子系統(tǒng),故詳細(xì)描述??记诠芾碜酉到y(tǒng)包括簽到/簽退管理、考勤歷史查詢、考勤統(tǒng)計(jì)、工作日管理、工作時(shí)間管理、出差/請(qǐng)假管理
49、、補(bǔ)簽管理。各子模塊功能如下:(1)簽到/簽退管理:如果是當(dāng)天第一次操作,只能簽到;當(dāng)天第一次以后操作,只可以簽退。記錄簽卡備注、簽卡時(shí)間。(2)考勤歷史查詢:跟蹤并定位數(shù)據(jù)庫(kù)中的歷史記錄,按照時(shí)間段、部門、等信息查詢。(3)考勤統(tǒng)計(jì):管理員統(tǒng)計(jì)一段時(shí)間指定部門所有員工的遲到、早退、曠工次數(shù)等,可以導(dǎo)出Excel表。(4)工作日管理:管理員設(shè)定當(dāng)年的工作日。周末、法定假日、公司休假等日期不做考勤。(5)工作時(shí)間管理:管理員設(shè)定某段日期上班時(shí)間、下班時(shí)間。(6)出差/請(qǐng)假管理:?jiǎn)T工將出差/請(qǐng)假時(shí)間等信息提交給領(lǐng)導(dǎo)審批,審批通過(guò)后管理員設(shè)定該員工在出差/請(qǐng)假時(shí)間段不做考勤。(7)補(bǔ)簽管理:?jiǎn)T工當(dāng)天
50、如果忘記簽到/簽退,可以提交申請(qǐng)進(jìn)行補(bǔ)簽。用例圖如圖3.2所示。圖3.2 考勤管理用例圖3.4.4消息管理子系統(tǒng)消息管理子系統(tǒng)包括以下子模塊:消息管理、消息發(fā)布、信箱管理、消息查詢、信息提示、操作。3.4.5文檔管理子系統(tǒng)文檔管理子系統(tǒng)包括文檔管理、回收站管理、文件搜索管理、日志管理。3.5 整體設(shè)計(jì)和實(shí)現(xiàn)本OA系統(tǒng)使用的是SSH框架,Hibernate負(fù)責(zé)的是持久層上對(duì)數(shù)據(jù)庫(kù)的操作,Struts負(fù)責(zé)的是表示層和控制層上的處理請(qǐng)求、跳轉(zhuǎn)等,Spring負(fù)責(zé)的是依賴注入,一般使用的是注解注入方式。英文與縮寫(xiě):本OA系統(tǒng)共有5個(gè)子系統(tǒng),分別是系統(tǒng)管理子系統(tǒng)(英文system縮寫(xiě)sys)、日程管理子
51、系統(tǒng)(英文calendar縮寫(xiě)cal)、考勤管理子系統(tǒng)(英文attendance縮寫(xiě)att)、消息管理子系統(tǒng)(英文message縮寫(xiě)mes)、文檔管理子系統(tǒng)(英文document縮寫(xiě)doc)。以下是具體介紹SSH在MVC模型上的實(shí)現(xiàn)。3.5.1 后臺(tái)控制層和模塊層如圖3.3所示,后臺(tái)代碼一共分為3層:action層、actionform層和model層,而model層中劃分為3層:dao層、database層和service層。action包中存放的是struts中的action類,負(fù)責(zé)處理請(qǐng)求和跳轉(zhuǎn)。form包中存放的是struts中的formbean類,當(dāng)用戶請(qǐng)求時(shí)自動(dòng)封裝傳遞給actio
52、n。dao包中存放的是hibernate對(duì)數(shù)據(jù)庫(kù)的操作。database包中是hibernate映射數(shù)據(jù)庫(kù)的pojo類。service包中是集成各種dao的方法,將數(shù)據(jù)庫(kù)的操作隱藏起來(lái),提供出功能接口。圖3.3 后臺(tái)代碼包結(jié)構(gòu)圖3.5.2 前臺(tái)表示層如圖3.4所示,image包中存放的是圖片。pages包中存放的是JSP頁(yè)面。scripts包中存放的是javascript文件。styles包中存放的是css文件。extjs包中存放的是公共的extjs文件。圖3.4 前臺(tái)頁(yè)面包結(jié)構(gòu)圖3.5.3 配置文件如圖3.5所示,Hibernate表映射文件代表數(shù)據(jù)庫(kù)中每一表和一個(gè)pojo類之間的映射。圖3
53、.5 Hibernate表映射文件圖如圖3.6所示,Hibernate+Spring配置文件作用是連接數(shù)據(jù)源、管理SessionFactory、管理Hibernate表映射文件、管理依賴注入等。圖3.6 Hibernate+Spring配置文件圖如圖3.7所示,Struts配置文件作用是配置formbean和action。圖3.7 Struts配置文件圖3.6 項(xiàng)目環(huán)境本OA系統(tǒng)使用的是Tomcat6.x應(yīng)用服務(wù)器,數(shù)據(jù)庫(kù)使用的是Oracle11g。下面將會(huì)具體介紹Tomcat和Oracle。3.6.1 TomcatTomcat是Apache軟件基金會(huì)(Apache Software Foun
54、dation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司與個(gè)人共同開(kāi)發(fā)而成。因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),成為目前比較流行的Web 應(yīng)用服務(wù)器。它運(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能。Tomcat 是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP 程序的首選。Apache 為HTML頁(yè)面服務(wù),而Tomcat 實(shí)際上運(yùn)行JSP 頁(yè)面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁(yè)面的功能,另外它還是一個(gè)Ser
55、vlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過(guò),Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。3.6.2 OracleOracle 11g是甲骨文公司在2007年7月12日推出的最新數(shù)據(jù)庫(kù)軟件,Oracle 11g有400多項(xiàng)功能,經(jīng)過(guò)了1500萬(wàn)個(gè)小時(shí)的測(cè)試,開(kāi)發(fā)工作量達(dá)到了3.6萬(wàn)人/月。相對(duì)過(guò)往版本而言,Oracle 11g具有了與眾不同的特性。減少了ORACLE的資源占用,并增強(qiáng)了ORACLE的能力,使之在低檔軟硬件平臺(tái)上用較少的資源就可以支持更多的用戶,而在高檔平臺(tái)上可以支持成百上千個(gè)用戶。 提供了基于角色(ROLE)分工的安全管理。在數(shù)據(jù)庫(kù)
56、管理功能、完整性檢查、安全性、一致性方面都有良好的表現(xiàn)。提供了新的分布式數(shù)據(jù)庫(kù)能力??赏ㄟ^(guò)網(wǎng)絡(luò)較方便地讀寫(xiě)遠(yuǎn)端數(shù)據(jù)庫(kù)里的數(shù)據(jù),并有對(duì)稱復(fù)制的技術(shù)。Oracle也許是最流行的服務(wù)器,占有最大的市場(chǎng)份額,它被廣泛用于各個(gè)市場(chǎng)領(lǐng)域,滿足一系列的存儲(chǔ)需求。第四章 考勤管理子系統(tǒng)的分析、設(shè)計(jì)與實(shí)現(xiàn)4.1考勤管理需求分析考勤管理子系統(tǒng)的用例圖和各個(gè)子模塊以與它們的基本功能已經(jīng)在3.4.3中描述過(guò)了,下面將會(huì)介紹各個(gè)子模塊的具體功能、詳細(xì)需求描述和流程。4.1.1 簽到/簽退管理簽到/簽退詳細(xì)功能需求描述如表4.1所示。功 能 需 求功能名稱簽到/簽退管理優(yōu)先級(jí)高參與者普通員工,部門經(jīng)理,管理員業(yè)務(wù)背景主要用來(lái)管理所有員工簽到/簽退操作功能說(shuō)明1、簽到:?jiǎn)T工當(dāng)天第一次操作作為簽到2、簽退:?jiǎn)T工在當(dāng)天第一次操作之后可以簽退3、記錄:簽到/簽退操作的同時(shí)記錄簽卡備注、簽卡時(shí)間;如果當(dāng)天沒(méi)有任何操作,或者只有簽到操作沒(méi)有簽退操作,則記
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年寧波梅東集裝箱碼頭有限公司招聘?jìng)淇碱}庫(kù)及答案詳解參考
- 2026年中國(guó)鋁業(yè)股份有限公司青海分公司招聘?jìng)淇碱}庫(kù)及1套完整答案詳解
- 2026年內(nèi)江高新人才發(fā)展有限責(zé)任公司關(guān)于面向社會(huì)公開(kāi)招聘勞務(wù)派遣工作人員的備考題庫(kù)及一套答案詳解
- 2026年北京市第九十九中學(xué)招聘?jìng)淇碱}庫(kù)含答案詳解
- 2026年定州市人民醫(yī)院(定州市急救中心)招聘?jìng)淇碱}庫(kù)及完整答案詳解1套
- 2026年南平市建陽(yáng)區(qū)治安巡防大隊(duì)公開(kāi)招聘隊(duì)員備考題庫(kù)及參考答案詳解一套
- 2026年寧波市公共交通集團(tuán)有限公司下屬分子公司招聘?jìng)淇碱}庫(kù)含答案詳解
- 2025年度齊齊哈爾誠(chéng)譽(yù)物業(yè)管理有限公司招聘工作人員備考題庫(kù)及一套完整答案詳解
- 2026年中電科技國(guó)際貿(mào)易有限公司招聘?jìng)淇碱}庫(kù)及答案詳解一套
- 2026年揚(yáng)州外輪代理有限公司招聘?jìng)淇碱}庫(kù)及參考答案詳解
- QBT 1619-2018 票夾行業(yè)標(biāo)準(zhǔn)
- 代建項(xiàng)目全過(guò)程運(yùn)營(yíng)管理及風(fēng)險(xiǎn)防控課件
- 豆制品購(gòu)銷合同范本
- 腰椎術(shù)后腦脊液漏護(hù)理課件
- 廣東省佛山市南海區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試卷+
- 基于區(qū)塊鏈的供應(yīng)鏈金融平臺(tái)實(shí)施方案
- 牛津版小學(xué)英語(yǔ)教材梳理
- 風(fēng)機(jī)安裝工程施工強(qiáng)制性條文執(zhí)行記錄表
- GB/T 1355-2021小麥粉
- GB 5135.11-2006自動(dòng)噴水滅火系統(tǒng)第11部分:溝槽式管接件
- (完整版)歐姆龍E3X-HD光纖放大器調(diào)試SOP
評(píng)論
0/150
提交評(píng)論