【正文】
e concept of office automation systems. In this paper, based on J2EE architecture using MVC pattern of development of the OA system with platform independence. The system studied in this paper is mainly used in small enterprises. To achieve knowledge management and distributed office. Knowledge management to a variety of documents, information will be saved by permission, share and use, but also the need for effective search means to facilitate the various departments, information sharing between the Department and to publish, find and replace. To establish a foundation for learning organizations. By setting the router to solve the system to achieve crossregional office and mobile office. Functionality of the system fully tested using blackbox testing methods, the results show that the faculty can basically meet the needs of our school. In this paper, the security of the system by hand with a bination of testing tools to conduct a prehensive inspection, the existing problems to improve for the next operation to provide references. Keywords: Jsp Workflow Office Automation Collaborative目 錄摘 要 7Abstract 8第一章 緒 論 10 辦公自動(dòng)化管理系統(tǒng)的背景與意義 10 辦公自動(dòng)化管理系統(tǒng)的功能特性 10 本文的關(guān)鍵問(wèn)題及難點(diǎn) 11第二章 背景技術(shù)的介紹 1 MYSQL簡(jiǎn)介 1 Java技術(shù)簡(jiǎn)介 1 J2EE體系 2 Java Servlet概述 2 JDBC概述 3 JDBC類型 3 JSP技術(shù) 4 5第三章 系統(tǒng)分析 8 總體需求分析 8 可行性分析 9 系統(tǒng)功能分析 11第四章 系統(tǒng)總體設(shè)計(jì) 14 項(xiàng)目規(guī)劃 14 開(kāi)發(fā)及運(yùn)行環(huán)境 14 15第五章 系統(tǒng)詳細(xì)設(shè)計(jì) 18 登錄模塊 18 界面設(shè)計(jì)實(shí)現(xiàn) 18 用戶退出系統(tǒng)頁(yè)面實(shí)現(xiàn) 22 日常管理模塊的實(shí)現(xiàn) 23 公告管理模塊的實(shí)現(xiàn) 26 員工管理模塊的實(shí)現(xiàn) 30 通訊錄模塊的實(shí)現(xiàn) 37 計(jì)劃制定模塊的實(shí)現(xiàn) 41 考勤模塊的實(shí)現(xiàn) 43 退出模塊的實(shí)現(xiàn) 46結(jié) 論 48致 謝 49參考資料 50第一章 緒 論在科技迅猛發(fā)展的今天 Internet/Intranet被廣泛的使用在各個(gè)行業(yè)中,企業(yè)的管理也隨之發(fā)展,信息化的程度也隨之增長(zhǎng),同時(shí)以往的辦公管理模式已經(jīng)無(wú)法適應(yīng)企業(yè)的需求,企業(yè)對(duì)辦公的效率要求越來(lái)越高,因此就需要一個(gè)現(xiàn)代化的辦公管理方案來(lái)解決企業(yè)的這個(gè)問(wèn)題。企業(yè)辦公信息化基礎(chǔ)設(shè)施建設(shè)的逐漸完備,改革傳統(tǒng)辦公模式開(kāi)展電子政務(wù),使業(yè)務(wù)辦公、公文流轉(zhuǎn)和管理過(guò)程電子化、信息化,讓文職人員從長(zhǎng)期繁雜的辦公事務(wù)中解放出來(lái),通過(guò)統(tǒng)一辦公規(guī)范,提高工作效率,降低管理成本,實(shí)現(xiàn)辦公自動(dòng)化已勢(shì)在必行。辦公自動(dòng)化系統(tǒng)可以將一個(gè)機(jī)構(gòu)的辦公用的計(jì)算機(jī)和其他辦公設(shè)備連接成網(wǎng)絡(luò),這樣可以為辦公室工作人員和企事業(yè)負(fù)責(zé)干部提供各種現(xiàn)代化手段,從而改進(jìn)辦公條件,提高辦公業(yè)務(wù)的效率和質(zhì)量,及時(shí)向有關(guān)部門和領(lǐng)導(dǎo)提供有用的信息。廣義而言,OA應(yīng)該是一個(gè)企業(yè)除了生產(chǎn)控制之外的一切信息處理與管理的集合。通過(guò)網(wǎng)絡(luò),組織機(jī)構(gòu)內(nèi)部的人員可跨越時(shí)間、地點(diǎn)協(xié)同辦公。為管理部門提供現(xiàn)代的日常辦公條件及豐富的綜合信息服務(wù),實(shí)現(xiàn)檔案管理自動(dòng)化和辦公事物處理自動(dòng)化,實(shí)現(xiàn)企業(yè)各內(nèi)部日常業(yè)務(wù)工作的規(guī)范化、電子化、標(biāo)準(zhǔn)化,增強(qiáng)檔案部門文書檔案、人事檔案、財(cái)務(wù)檔案等檔案的可管理性,實(shí)現(xiàn)信息的在線查詢、借閱。 辦公自動(dòng)化管理系統(tǒng)的功能特性辦公自動(dòng)化管理系統(tǒng)對(duì)企業(yè)日常辦公進(jìn)行管理,實(shí)現(xiàn)企業(yè)員工之間的消息的發(fā)送與接受功能,大大地方便了企業(yè)內(nèi)部人員溝通。此辦公自動(dòng)化管理系統(tǒng)有六個(gè)功能模塊:日常管理 、考勤管理 、計(jì)劃制定 ,審核管理, 通訊管理 , 員工管理 六個(gè)模塊。2) 考勤管理:主要完成員工的外出,請(qǐng)假,出差,上下班信息的登記。4) 審核管理:主要完成發(fā)布申請(qǐng)和對(duì)申請(qǐng)的審核批示。6) 通訊管理:主要完成通訊信息的顯示,添加,修改,刪除。因此針對(duì)此項(xiàng)目涉及到一些關(guān)鍵問(wèn)題:JSP + JavaBean + Servlet環(huán)境配置問(wèn)題,環(huán)境變量的設(shè)置:變量名java_path、path、classpath的追加,Tomcat的配置:變量名tomcat_home classpath的追加。集成開(kāi)發(fā)環(huán)境選擇的問(wèn)題,好的開(kāi)發(fā)環(huán)境對(duì)編碼效率提高很多。服務(wù)器的選擇我們選Tomcat作為系統(tǒng)的服務(wù)器,輕量級(jí)的服務(wù)器Tomcat對(duì)于小型應(yīng)用是個(gè)不錯(cuò)的選擇。數(shù)據(jù)庫(kù)OA_Data中包含5張表。當(dāng)主鍵表中的數(shù)據(jù)發(fā)生改變時(shí),引用這個(gè)主鍵值的字段也隨之改變,進(jìn)而確保數(shù)據(jù)的一致性和完整性。 MYSQL簡(jiǎn)介MYSQL最早由一家瑞典的MySQLAB公司開(kāi)發(fā)設(shè)計(jì),MYSQL是一種關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)[10]。1. MYSQL的編寫基本上采用用C和C++,調(diào)用硬件執(zhí)行速度非???,并且它的測(cè)試手段靈活,采用大量編譯器進(jìn)行,因此使得它編寫出來(lái)的代碼具有一定的移植性和兼容性。 。 ,并優(yōu)化了SQL查詢算法。,因此使得對(duì)CPU的利用率得到大大的提高。8. MYSQL數(shù)據(jù)庫(kù)提供對(duì)JDBC等的鏈接。Java技術(shù)包括Java語(yǔ)言和Java MediaAPIs、SecurityAPIs 、Java Applet、ManagementAPIs、Java RMI、Java Beans、Java Servlet、Java OS、JDBC等[12]。Java技術(shù)給我們帶來(lái)的是一場(chǎng)革命,它是第一個(gè)真正跨平臺(tái)的語(yǔ)言,由于具有平臺(tái)的無(wú)關(guān)性,因此Java擁有強(qiáng)大的移植能力和網(wǎng)絡(luò)處理能力已成為目前我們研究人員、開(kāi)發(fā)人員等青睞的焦點(diǎn),它對(duì)網(wǎng)絡(luò)計(jì)算和動(dòng)態(tài)多媒體信息的處理使得Java與Web結(jié)合的開(kāi)發(fā)過(guò)程更加成熟。 J2EE體系J2EE利用Java2平臺(tái)為企業(yè)級(jí)的開(kāi)發(fā)等簡(jiǎn)化操作,是為相關(guān)的管理提供一種平臺(tái)的架構(gòu)體系,它由Sun公司研究并進(jìn)行統(tǒng)一標(biāo)準(zhǔn)。Enterprise JavaBean的向?qū)Чδ苤С执虬筒渴鸬认嚓P(guān)應(yīng)用,不僅增強(qiáng)了使用的安全性,同時(shí)也提高了基于J2EE體系所開(kāi)發(fā)系統(tǒng)的性能,使用J2EE體系,其最終結(jié)果是縮短了開(kāi)發(fā)時(shí)間,使得開(kāi)發(fā)者在研究周期所使用的時(shí)間上也大大縮短了,在投放市場(chǎng)的時(shí)間上有了充足的保障,因此,使用J2EE體系來(lái)開(kāi)發(fā)系統(tǒng)不僅可以節(jié)省大量的時(shí)間,同時(shí)也支持對(duì)所有應(yīng)用程序的集成[14]。它提供在WEB上進(jìn)行請(qǐng)求和響應(yīng)的服務(wù),它通過(guò)對(duì)框架的創(chuàng)建來(lái)擴(kuò)展服務(wù)器的功能, Servlet是一種服務(wù)器端的java應(yīng)用程序。2 跨平臺(tái)性Servlet和Java語(yǔ)言一樣都有跨平臺(tái)性,它是由Java語(yǔ)言編寫,因此具有Java語(yǔ)言的特性。4功能強(qiáng)大Servlet可以和web服務(wù)器直接進(jìn)行交互操作,許多傳統(tǒng)CGI完不成的任務(wù),它都可以順利完成。對(duì)用戶的請(qǐng)求管理非常方便,簡(jiǎn)化獲取頁(yè)面信息的操作。7 高效的安全機(jī)制繼承java的安全特性,具有SSL\CA認(rèn)證等安全機(jī)制。下面我們對(duì)JDBC API接口做一個(gè)初步的了解。如圖21給出了JDBC API接口的功能圖[15]。 圖 21 JDBC API接口功能圖在圖21所示的JDBC API接口中,從而為新創(chuàng)建的數(shù)據(jù)庫(kù)提供一定的支持,[16]。JDBCODBC bridge 主要起到一個(gè)橋梁的作用,具有橋接功能。netprotocol allJava driver(JDBC Proxy) 它是一個(gè)獨(dú)立于數(shù)據(jù)庫(kù)管理系統(tǒng)的一種網(wǎng)絡(luò)協(xié)議,并基于Java的驅(qū)動(dòng)程序。 JSP技術(shù)隨著我國(guó)科學(xué)技術(shù)的發(fā)展,因特網(wǎng)逐漸走入人們的視野,電子政務(wù)也得到了蓬勃的發(fā)展,因此人們對(duì)動(dòng)態(tài)Web技術(shù)的需求越來(lái)越多[20]?;谝陨弦蛩?,JSP技術(shù)的誕生為Web應(yīng)用的開(kāi)發(fā)帶來(lái)了里程碑式的意義,它使得Web開(kāi)發(fā)技術(shù)逐漸走向成熟,趨向穩(wěn)定[21]。JSP來(lái)源于Java技術(shù),因此,它傳承了Java語(yǔ)言所獨(dú)有的許多特點(diǎn),能夠運(yùn)行Java虛擬機(jī)的操作系統(tǒng)就能運(yùn)行JSP,如Windows系列、Linux等。使得標(biāo)簽的使用更加的靈活方便。因此,大多數(shù)的生產(chǎn)商和軟件公司都提供支持。(5)開(kāi)發(fā)工具多而強(qiáng)大由于JSP技術(shù)的基礎(chǔ)是Java技術(shù),而Java技術(shù)的相關(guān)開(kāi)發(fā)工具比較多,如Eclipse等,因此,我們?cè)陂_(kāi)發(fā)JSP時(shí),可以借助大多數(shù)的Java開(kāi)發(fā)工具。ASP由微軟公司開(kāi)發(fā),基于VBScript,它是一種動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù) ,隨后,它在ASP的基礎(chǔ)上進(jìn)行了功能的擴(kuò)展,它大量吸收了面向?qū)ο笳Z(yǔ)言c的特色,他比ASP具有更好的可復(fù)用性和可維護(hù)性[22]。PHP是一種具有跨平臺(tái)性的嵌入式腳本語(yǔ)言,免費(fèi)的開(kāi)放源代碼的一種開(kāi)發(fā)技術(shù),雖然它具有跨平臺(tái)性,但是它的缺點(diǎn)是對(duì)分布式的處理不夠好。鑒于以上原因,本文采用JSP技術(shù)做為開(kāi)發(fā)工具。這就使得許多剛剛踏入JSP的新手們可以非常方便、也非常容易學(xué)習(xí)和使用。我們?cè)诳蚣艿幕A(chǔ)上進(jìn)行系統(tǒng)的開(kāi)發(fā)后,由于結(jié)構(gòu)非常明確,因此對(duì)于開(kāi)發(fā)之后的維護(hù)就非常方便,也為以后系統(tǒng)功能的擴(kuò)展和升級(jí)帶來(lái)一定的好處。Struts 框架標(biāo)準(zhǔn)化之后,我們廣大的開(kāi)發(fā)者和愛(ài)好者之間的溝通和技術(shù)上的交流更加的方便。在Struts中的每一部分都與MVC中的每一部分具有一一對(duì)應(yīng)的關(guān)系,在設(shè)計(jì)和開(kāi)發(fā)Web系統(tǒng)的過(guò)程中,隨著科學(xué)技術(shù)的不斷提升,客戶需求的不斷增多,如何提高Web的執(zhí)行效率、可重復(fù)使用性等,如何降低成本,一直是我們關(guān)注的地方。在我將要敘述的系統(tǒng)中,我主要運(yùn)用Struts框架,基于Java技術(shù),快速構(gòu)建了一個(gè)結(jié)構(gòu)清晰、可擴(kuò)展的oa系統(tǒng)。那么如何才能做到模塊功能化單一呢?MVC設(shè)計(jì)模式很好的解決了這個(gè)問(wèn)題。那么MVC究竟是什么設(shè)計(jì)模式呢?MVC包括三類對(duì)象:(Model)對(duì)象:是應(yīng)用戶層序的主體部分。(Control)對(duì)象:是根據(jù)用戶的輸入,控制也能過(guò)戶界面數(shù)據(jù)顯示以及更新Model對(duì)象狀態(tài)的部分。視圖對(duì)象把表示模型數(shù)據(jù)以及邏輯關(guān)系和狀態(tài)的信息及特定形式展示給用戶??刂茖?duì)象是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶界面于模型間的對(duì)應(yīng)聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進(jìn)而實(shí)現(xiàn)模型的計(jì)算控制,是使模型和視圖協(xié)調(diào)工作的部件。MVC有以下優(yōu)點(diǎn):1. 可以為一個(gè)模型在運(yùn)行時(shí)同時(shí)建立和使用多個(gè)視圖。2. 視圖與控制器的可接插性,允許更滑視圖和控制器對(duì)象,而且可以根據(jù)需求動(dòng)態(tài)的打開(kāi)或關(guān)閉、甚至在運(yùn)行期間進(jìn)行對(duì)象替換。因?yàn)槟P褪仟?dú)立于視圖的,所以把一個(gè)模型獨(dú)立地移植到新的平臺(tái)工作。4. 潛在的框架結(jié)構(gòu)??偠灾?,MVC模式不僅僅實(shí)現(xiàn)了功能模塊和現(xiàn)實(shí)模塊的分離,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性。 視圖層的選擇視圖層又叫表示層,表示成的責(zé)任是顯示,在開(kāi)源框架里Struts,Struts2,還有JSF都是view,無(wú)疑都是很好的選擇。Struts2為Apache組織下的一個(gè)開(kāi)源框架,有著本質(zhì)上的改變,Struts2框架是從WebWork框架發(fā)展而來(lái)的。JSTL是JSP Standard Tag Library的簡(jiǎn)寫,翻譯成中文叫做JSP標(biāo)準(zhǔn)標(biāo)簽庫(kù),它也是Apache開(kāi)源組織開(kāi)發(fā)的JSP標(biāo)簽庫(kù)。Struts2以其對(duì)JSTL和OGNL(ObjectGraph Navigation Language)的支持,讓我選擇了Struts2,因?yàn)镺GNL能夠方便的操作對(duì)象,所以很適合用于復(fù)雜對(duì)象在頁(yè)面上顯示。無(wú)疑在控制層上Struts2是最合適的,Struts2中的Action提供了非常好的控制機(jī)制,就能簡(jiǎn)單的將頁(yè)面與Action對(duì)應(yīng)起來(lái),從而Action可以非常方便的接受表示層的數(shù)據(jù),然后Action調(diào)用邏輯業(yè)務(wù)層的方法,再根據(jù)邏輯業(yè)務(wù)層的返回結(jié)果,Action再返回對(duì)應(yīng)Result。 模型層的選擇模型層封裝了問(wèn)題的核心數(shù)據(jù)、邏輯和功能的計(jì)算關(guān)系,它大體上可以劃分為兩塊,一塊為上層的邏輯業(yè)務(wù),也就是所謂的ser