JAVA基于Struts架構(gòu)的辦公自動化系統(tǒng)畢業(yè)論文.doc_第1頁
JAVA基于Struts架構(gòu)的辦公自動化系統(tǒng)畢業(yè)論文.doc_第2頁
JAVA基于Struts架構(gòu)的辦公自動化系統(tǒng)畢業(yè)論文.doc_第3頁
JAVA基于Struts架構(gòu)的辦公自動化系統(tǒng)畢業(yè)論文.doc_第4頁
JAVA基于Struts架構(gòu)的辦公自動化系統(tǒng)畢業(yè)論文.doc_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

i 基于基于 strutsstruts 架構(gòu)的辦公自動化系統(tǒng)架構(gòu)的辦公自動化系統(tǒng) 的研究與開發(fā)的研究與開發(fā) 2008 年年 6 月月 ii 摘摘 要要 當(dāng)代社會已經(jīng)進(jìn)入了信息時代,企業(yè)對信息需求的增長,使得計算機(jī)、網(wǎng)絡(luò)技術(shù) 已經(jīng)快速融入到了企業(yè)的需求中。傳統(tǒng)的企業(yè)內(nèi)部信息的交流方式早已不能滿足企業(yè) 對大量信息的快速傳遞和處理的需求,網(wǎng)絡(luò)的應(yīng)用改變了這種傳統(tǒng)的模式,提高了企 業(yè)內(nèi)部的管理水平,進(jìn)而全面得提升了企業(yè)在市場競爭中的綜合競爭力。辦公自動化 系統(tǒng)基于網(wǎng)絡(luò),提高了企業(yè)內(nèi)部的信息化水平。 本文描述了一個辦公自動化系統(tǒng)的開發(fā)過程,依據(jù)面向?qū)ο笤O(shè)計的開發(fā)思想,選 用瀏覽器/服務(wù)器(b/s)模式搭建,并用 struts 完成了系統(tǒng)的最終實現(xiàn)。系統(tǒng)分為個 人辦公和企業(yè)信息管理兩大模塊: 個人辦公模塊包括收發(fā)文管理、會議管理、郵件管理、日程管理、意見箱等五個 子模塊,提供公文流傳、會議記錄、郵件收發(fā)、日程安排、提出意見建議等功能,給 企業(yè)員工在日常辦公的過程中提供了方便。 企業(yè)信息管理模塊包括公告管理、新聞管理、人力資源管理、資產(chǎn)管理、資料共 享等五個子模塊,提供公告、新聞信息的發(fā)布,員工信息的管理,記錄企業(yè)資產(chǎn)狀態(tài), 企業(yè)內(nèi)部電子資料的共享等功能。 關(guān)鍵詞:關(guān)鍵詞:辦公自動化,面向?qū)ο螅瑂truts,b/s iii abstract present society have entered information times, enterprise makes computer and network technology have blended in the demand of enterprise fast for the increase of information demand. the alternating way of the enterprise internal information of tradition can not satisfy enterprise long ago, have raised the built-in level of management of enterprise for the application pattern that has changed this kind of tradition of demand and network of plenty of informations that transmited and handled fast , and then have to promote enterprise all-sidedly the comprehensive competition ability in market competition. the automation system of official business has raised the built-in informative level of enterprise based on network. this paper has described a development course of the automation system of official business , is ideological according to the development of object oriented design, choose b/s pattern put up to build, and have completed systematic last realization with struts. system divides into personal official business and enterprise information management two big modulars: the personal modular of official business ,including the 5 son modulars such as dispatcher writing management, meeting management, mail management, programme management and opinion case offer official document to spread , meeting record, mail dispatcher and programme arrangement , put forward the functions such as opinion suggestion, have offered convenience to enterprise employee in the course of daily official business. enterprise information management modular ,including announcement management, news management, the management of human resource and asset manage , information share wait for 5 son modulars, offer announcement and news information issue , the management of employee information, record enterprise asset state, enterprise internal elecinformation share etc. function. key words: official automation, object oriented, struts, b/s iv 目目 錄錄 1 緒論.1 1.1 辦公自動化軟件開發(fā)的現(xiàn)狀1 1.2 本文要做的工作2 2 運(yùn)用技術(shù)及開發(fā)工具介紹.3 2.1 struts技術(shù)簡介4 2.2 b/s 模式介紹及應(yīng)用4 2.2.1 什么是 b/s 模式4 2.2.2 b/s 模式的優(yōu)缺點.5 2.3 開發(fā)工具的選擇6 2.3.1 eclipse 介紹與應(yīng)用.6 2.3.2 tomcat 介紹6 3 需求分析與系統(tǒng)設(shè)計.7 3.1 問題域的一般描述7 3.2 待開發(fā)軟件的功能模塊需求7 3.2.1 系統(tǒng)模塊功能圖7 3.2.2 系統(tǒng)模塊功能描述8 3.2.3 系統(tǒng)其他需求9 3.3 系統(tǒng)用例模型 10 3.3.1 系統(tǒng)邊界10 3.3.2 主要參與者及其目標(biāo)10 3.3.3 用例圖11 3.3.4 系統(tǒng)主要類圖12 3.4 系統(tǒng)數(shù)據(jù)庫設(shè)計18 3.4.1 數(shù)據(jù)表概要說明18 3.4.2 數(shù)據(jù)表的結(jié)構(gòu)18 4 系統(tǒng)詳細(xì)設(shè)計.23 v 4.1 前期準(zhǔn)備 23 4.1.1 配置應(yīng)用 struts 結(jié)構(gòu)文件及數(shù)據(jù)庫連接文件23 4.1.2類的分布架構(gòu)設(shè)計23 4.2 公共類的編寫24 4.2.1 數(shù)據(jù)庫的連接及操作方法類:db25 4.2.2 數(shù)據(jù)表信息類:content.26 4.2.3 分頁類:page27 4.2.4 檢查用戶權(quán)限類:checkuserable29 4.2.5 檢查用戶是否在線類 checkuser 類30 4.3 登錄模塊的設(shè)計31 4.3.1 表現(xiàn)層設(shè)計31 4.3.2 業(yè)務(wù)控制層設(shè)計31 4.4 文件共享模塊的設(shè)計34 4.4.1 文件上傳子模塊表現(xiàn)層設(shè)計34 4.4.2 業(yè)務(wù)控制層設(shè)計35 4.5 其他模塊的設(shè)計37 5 系統(tǒng)測試.38 5.1 系統(tǒng)測試 38 5.1.1 系統(tǒng)運(yùn)行概貌38 5.1.2 收發(fā)文管理模塊測試40 5.1.3 會議管理模塊測試42 5.1.4 公告管理模塊測試43 5.1.5 日程管理模塊測試45 5.1.6 新聞管理模塊測試45 5.1.7 人力資源管理模塊測試46 5.1.8 資產(chǎn)管理模塊測試48 5.1.9 文檔管理模塊測試50 5.1.10 意見箱模塊測試50 vi 5.2 測試分析52 結(jié)論.53 參考文獻(xiàn).54 致謝.55 附錄 a 辦公自動化 office 部署手冊56 1 1 緒論緒論 1.1 辦公自動化軟件開發(fā)的現(xiàn)狀辦公自動化軟件開發(fā)的現(xiàn)狀 當(dāng)今社會是一個信息飛速發(fā)展的社會,因此,針對各行業(yè)來說,計算機(jī)的應(yīng)用實 為重要,求質(zhì)量、求速度,盡可能的脫離手工操作,是現(xiàn)代人追求的目標(biāo)。分析人士 指出,在一個企業(yè)的運(yùn)作過程中,交流成本成為了總成本的一個重大構(gòu)成部分,因此, 如何實現(xiàn)快速、有效的交流以降低交流成本成為每個企業(yè)所關(guān)心的問題。 在現(xiàn)代社會中,任何一個行業(yè),任何一個企業(yè),高效準(zhǔn)確的辦公都是至關(guān)重要的。 快捷的信息交流,暢通的公文傳遞,迅速的文檔查詢,自動的工作流轉(zhuǎn)等等都能提高 一個企業(yè)的辦公效率,進(jìn)而提高其市場競爭力。 圖 1.1 傳統(tǒng)辦公模式 傳統(tǒng)的辦公模式主要以紙介質(zhì)為主,在信息革命的浪潮中,顯然已經(jīng)遠(yuǎn)遠(yuǎn)不能滿 足高效率、快節(jié)奏的現(xiàn)代工作和生活的需要。internet/intranet 的迅猛發(fā)展,為信息的交 流和共享,團(tuán)隊的協(xié)同運(yùn)作提供了技術(shù)的保證,同時也預(yù)示著網(wǎng)絡(luò)化辦公時代來臨。 圖 1.2 網(wǎng)絡(luò)化辦公模式 現(xiàn)有辦公自動化系統(tǒng)中,企業(yè)文件流轉(zhuǎn)功能都是核心功能??梢哉J(rèn)為,企業(yè)辦公 主 2 要是一個文件流轉(zhuǎn)的過程,所有的辦公事務(wù)都可以抽象成一個數(shù)據(jù)庫表單。傳統(tǒng)辦公 自動化系統(tǒng)和大型 mis 系統(tǒng)在處理企業(yè)管理流程中大多采用企業(yè)業(yè)務(wù)流程重組 (bkr) ,其核心思想就是要先優(yōu)化企業(yè)業(yè)務(wù)管理流程,再根據(jù)優(yōu)化后的流程建設(shè)企業(yè) 信息統(tǒng)。 這樣不僅在系統(tǒng)建設(shè)中工作量巨大,同時面臨來自企業(yè)內(nèi)部重重的阻礙。 要想實現(xiàn)辦公自動化,就需要實施計算機(jī)管理,所以,開發(fā)了這個辦公自動化系 統(tǒng) office,此系統(tǒng)是基于網(wǎng)絡(luò)的,部署方便,易于維護(hù)。 1.2 本文要做的工作本文要做的工作 本文的最終目標(biāo)是要描述建立一個辦公自動化系統(tǒng)的過程,本文重點描述了個人 辦公,企業(yè)信息管理模塊。系統(tǒng)選用 struts 框架,以 mvc 設(shè)計模式作為軟件工程方法, 并用 java 語言實現(xiàn)。本文主要做的工作是描述了此辦公自動化系統(tǒng)從分析,設(shè)計, 到實現(xiàn)的主要工作流程,并在最后闡述系統(tǒng)的使用方法。 本系統(tǒng)實現(xiàn)的主要功能模塊有: 1、個人辦公模塊包括收發(fā)文管理、會議管理、郵件管理、日程管理、意見箱等五 個子模塊,提供公文流傳、會議記錄、郵件收發(fā)、日程安排、提出意見建議等功能, 給企業(yè)員工在日常辦公的過程中提供了方便。 2、企業(yè)信息管理模塊包括公告管理、新聞管理、人力資源管理、資產(chǎn)管理、資料 共享等五個子模塊,提供公告、新聞信息的發(fā)布,員工信息的管理,記錄企業(yè)資產(chǎn)狀 態(tài),企業(yè)內(nèi)部電子資料的共享等功能。 3 2 運(yùn)用技術(shù)及開發(fā)工具介紹運(yùn)用技術(shù)及開發(fā)工具介紹 該辦公自動化系統(tǒng)是在 eclipse 3.2 的環(huán)境下開發(fā)的,以 ms sql server2000 作為 后臺數(shù)據(jù)庫,action 作為系統(tǒng)的業(yè)務(wù)邏輯層,jsp 頁面作為系統(tǒng)的表現(xiàn)層,通過使用 struts 實現(xiàn)的 mvc 機(jī)制,來控制整個辦公自動化的業(yè)務(wù)數(shù)據(jù)流程。 本系統(tǒng)是基于 web 的,所以 internet 必須成為瀏覽器和服務(wù)器之間的通信媒介, uml 架構(gòu)模型如圖 2.1 所示: 圖 2.1 架構(gòu)設(shè)計圖 本系統(tǒng)的具體架構(gòu)是 mvc 模式,并用 dao 封裝所有的數(shù)據(jù)庫訪問,具體的物理 架構(gòu)如圖 2.2 所示: 4 browser client action jsp action jsp business object data access object database http jdbc 圖 2.2 物理架構(gòu)圖 2.1 struts 技術(shù)簡介技術(shù)簡介 struts 最早是作為 apache jakarta 項目的組成部分問世運(yùn)作。項目的創(chuàng)立者希望通 過對該項目的研究,改進(jìn)和提高 java server pages、servlet、標(biāo)簽庫以及面向?qū)ο蟮募?術(shù)水準(zhǔn)。 struts 這個名字來源于在建筑和舊式飛機(jī)中使用的支持金屬架1。它的目的是為了 減少在運(yùn)用 mvc 設(shè)計模型來開發(fā) web 應(yīng)用的時間。雖然仍然需要學(xué)習(xí)和應(yīng)用該架構(gòu), 但它將可以完成其中一些繁重的工作。 struts 跟 tomcat、turbine 等諸多 apache 項目一樣,是開源軟件,這是它的一大 優(yōu)點,使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機(jī)制。 除此之外,struts 的優(yōu)點主要集中體現(xiàn)在兩個方面:taglib 和頁面導(dǎo)航。taglib 是 struts 的標(biāo)記庫,靈活動用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的 jsp 開發(fā)者而 言,除了使用 jsp 自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許 struts 是一個很好 的起點。 2.2 b/s 模式介紹及應(yīng)用模式介紹及應(yīng)用 2.2.1 什么是 b/s 模式 瀏覽器/服務(wù)器(b/s)模式又稱 b/s 結(jié)構(gòu)。它是一種以 web 技術(shù)為基礎(chǔ)的新型的 mis 系統(tǒng)平臺模式。把傳統(tǒng) c/s 模式中的服務(wù)器部分分解為一個數(shù)據(jù)服務(wù)器與一個或 多個應(yīng)用服務(wù)器(web 服務(wù)器),從而構(gòu)成一個三層結(jié)構(gòu)的客戶服務(wù)器體系2。 5 第一層客戶機(jī)是用戶與整個系統(tǒng)的接口??蛻舻膽?yīng)用程序精簡到一個通用的瀏覽 器軟件,如 netscape navigator,微軟公司的 ie 等。瀏覽器將 html 代碼轉(zhuǎn)化成圖文 并茂的網(wǎng)頁。網(wǎng)頁還具備一定的交互功能,允許用戶在網(wǎng)頁提供的申請表上輸入信息 提交給后臺,并提出處理請求。這個后臺就是第二層的 web 服務(wù)器。 第二層 web 服務(wù)器將啟動相應(yīng)的進(jìn)程來響應(yīng)這一請求,并動態(tài)生成一串 html 代 碼,其中嵌入處理的結(jié)果,返回給客戶機(jī)的瀏覽器。如果客戶機(jī)提交的請求包括數(shù)據(jù) 的存取,web 服務(wù)器還需與數(shù)據(jù)庫服務(wù)器協(xié)同完成這一處理工作。 第三層數(shù)據(jù)庫服務(wù)器的任務(wù)類似于 c/s 模式,負(fù)責(zé)協(xié)調(diào)不同的 web 服務(wù)器發(fā)出的 sq 請求,管理數(shù)據(jù)庫。 2.2.2 b/s 模式的優(yōu)缺點 b/s 模式簡化了客戶端。它無需象 c/s 模式那樣在不同的客戶機(jī)上安裝不同的客戶 應(yīng)用程序,而只需安裝通用的瀏覽器軟件3。這樣不但可以節(jié)省客戶機(jī)的硬盤空間與內(nèi) 存,而且使安裝過程更加簡便、網(wǎng)絡(luò)結(jié)構(gòu)更加靈活。假設(shè)一個企業(yè)的決策層要開一個 討論庫存問題的會議,他們只需從會議室的計算機(jī)上直接通過瀏覽器查詢數(shù)據(jù),然后 顯示給大家看就可以了。甚至與會者還可以把筆記本電腦聯(lián)上會議室的網(wǎng)絡(luò)插口,自 己來查詢相關(guān)的數(shù)據(jù)。其次,它簡化了系統(tǒng)的開發(fā)和維護(hù)。系統(tǒng)的開發(fā)者無須再為不 同級別的用戶設(shè)計開發(fā)不同的客戶應(yīng)用程序了,只需把所有的功能都實現(xiàn)在 web 服務(wù) 器上,并就不同的功能為各個組別的用戶設(shè)置權(quán)限就可以了。各個用戶通過 http 請 求在權(quán)限范圍內(nèi)調(diào)用 web 服務(wù)器上不同處理程序,從而完成對數(shù)據(jù)的查詢或修改?,F(xiàn) 代企業(yè)面臨著日新月異的競爭環(huán)境,對企業(yè)內(nèi)部運(yùn)作機(jī)制的更新與調(diào)整也變得逐漸頻 繁。相對于 c/s,b/s 的維護(hù)具有更大的靈活性。當(dāng)形勢變化時,它無須再為每一個現(xiàn) 有的客戶應(yīng)用程序升級,而只需對 web 服務(wù)器上的服務(wù)處理程序進(jìn)行修訂。這樣不但 可以提高公司的運(yùn)作效率,還省去了維護(hù)時協(xié)調(diào)工作的不少麻煩。如果一個公司有上 千臺客戶機(jī),并且分布在不同的地點,那么便于維護(hù)將會顯得更加重要。 再次,它使用戶的操作變得更簡單。對于 c/s 模式,客戶應(yīng)用程序有自己特定的 規(guī)格,使用者需要接受專門培訓(xùn)。而采用 b/s 模式時,客戶端只是一個簡單易用的瀏 覽器軟件。無論是決策層還是操作層的人員都無需培訓(xùn),就可以直接使用。b/s 模式的 這種特性,還使 mis 系統(tǒng)維護(hù)的限制因素更少。 6 最后,b/s 特別適用于網(wǎng)上信息發(fā)布,使得傳統(tǒng)的 mis 的功能有所擴(kuò)展。這是 c/s 所無法實現(xiàn)的。而這種新增的網(wǎng)上信息發(fā)布功能恰是現(xiàn)代企業(yè)所需的。這使得企業(yè)的 大部分書面文件可以被電子文件取代,從而提高了企業(yè)的工作效率,使企業(yè)行政手續(xù) 簡化,節(jié)省人力物力。 鑒于 b/s 相對于 c/s 的先進(jìn)性,b/s 逐漸成為一種流行的 mis 系統(tǒng)平臺。各軟件 公司紛紛推出自己的 internet 方案,基于 web 的財務(wù)系統(tǒng)、基于 web 的 erp。一些企 業(yè)已經(jīng)領(lǐng)先一步開始使用它,并且收到了一定的成效。 b/s 模式的新穎與流行,和在某些方面相對于 c/s 的巨大改進(jìn),使 b/s 成了 mis 系統(tǒng)平臺的首選,但是它也有不成熟的一面,目前基于 b/s 模式的應(yīng)用軟件也很缺乏, 其最大的缺點是對企業(yè)外網(wǎng)環(huán)境依賴性太強(qiáng),由于各種原因引起企業(yè)外網(wǎng)中斷都會造 成系統(tǒng)癱瘓。 2.3 開發(fā)工具的選擇開發(fā)工具的選擇 2.3.1 eclipse 介紹與應(yīng)用 eclipse 是一個非常優(yōu)秀的集成開發(fā)環(huán)境(ide) 。eclipse 是一個用于構(gòu)建集成 web 和應(yīng)用程序開發(fā)工具的平臺4,根據(jù)需求在 eclipse 插入各種功能插件,能使 eclipse 擁 有不同的功能。 eclipse 的核心是動態(tài)發(fā)現(xiàn)插件的體系結(jié)構(gòu)。平臺負(fù)責(zé)處理基本環(huán)境的后臺工作, 并提供標(biāo)準(zhǔn)的用戶導(dǎo)航模型,于是每個插件可以專注于執(zhí)行少量的任務(wù)。eclipse 的出 現(xiàn),不僅為 java 開發(fā)者提供了免費(fèi)使用強(qiáng)大的 java ide 的機(jī)會,而且也為 c+的開發(fā) 者提供了 cdt(c 語言開發(fā)工具)5。 本系統(tǒng)的開發(fā)過程中使用了 myeclipse 插件,該插件主要用于開發(fā) java 程序,集 成了大量的實用類庫。 2.3.2 tomcat 介紹 jakarta tomcat 服務(wù)器是一種 servlet/jsp 容器。servlet 是一種運(yùn)行在支持 java 語 言的服務(wù)器上的組件6。 當(dāng)客戶請求訪問某個 servlet 時,servlet 容器將創(chuàng)建一個 servletrequrst 對象和 7 servletresponse 對象。在 servletrequest 對象中封裝了客戶請求信息,然后 servlet 容 器把 servletrequest 對象和 servletresponse 對象傳給客戶所請求的 servlet。servlet 把 響應(yīng)結(jié)果寫到 servletresponse 中,然后由 servlet 容器把響應(yīng)結(jié)果傳給客戶。servlet 容 器響應(yīng)客戶請求過程如圖 2.3 所示: 圖 2.3 servlet 容器響應(yīng)客戶請求過程圖 3 需求分析與系統(tǒng)設(shè)計需求分析與系統(tǒng)設(shè)計 本章描述了此辦公自動化系統(tǒng)的需求分析和系統(tǒng)設(shè)計,主要對待開發(fā)軟件進(jìn)行一 般描述和對該軟件各功能模塊需求進(jìn)行分析和設(shè)計。 3.1 問題域的一般描述問題域的一般描述 系統(tǒng)將用戶分為 3 個權(quán)限級別:“系統(tǒng)管理員”可對系統(tǒng)中的所有功能進(jìn)行操作; “普通管理員”可對系統(tǒng)中的部分功能進(jìn)行操作;“游客”在本系統(tǒng)中只能進(jìn)行收發(fā) 郵件和瀏覽信息的操作。 3.2 待開發(fā)軟件的功能模塊需求待開發(fā)軟件的功能模塊需求 3.2.1 系統(tǒng)模塊功能圖 開發(fā)本軟件的目的是為公司辦公室提供一個方便快捷的辦公平臺。經(jīng)調(diào)查分析, 本系統(tǒng)應(yīng)具備的功能模塊有:用戶登錄、收發(fā)文管理、會議管理、公告管理、新聞管 理、人力資源管理、資產(chǎn)管理、日程管理、資料共享、內(nèi)部郵件管理、和意見箱等模 塊。因此,本軟件的各個功能劃分如圖 3.1 所示。 8 圖 3.1 系統(tǒng)功能模塊圖 3.2.2 系統(tǒng)模塊功能描述 1、收發(fā)文管理 提供公文服務(wù),如員工請假,領(lǐng)導(dǎo)審批等需要公文傳遞的都可以通過收發(fā)文管理 模塊實現(xiàn)。 9 2、會議管理 記錄企業(yè)開會的會議記錄,全體員工可以查看會議記錄。 3、公告管理 擁有管理員權(quán)限的人員可以添加新公告、刪除舊公告等。全體員工可以查看公告。 4、新聞管理 擁有管理員權(quán)限的人員可以添加新聞、刪除新聞等。全體員工可以查看新聞。 5、郵件管理 在部門之間,各部門不同員工之間可以用郵件方式進(jìn)行及時通信,收發(fā)郵件,管 理郵件等。 6、人力資源管理 供全體員工查看個人信息、修改個人信息等。管理員可以瀏覽全體員工信息,按 條件模糊查詢員工,創(chuàng)建員工,修改員工信息,評定優(yōu)秀員工等,實現(xiàn)整個公司人力 資源的管理。 7、資產(chǎn)管理 對公司固定資產(chǎn)和耗材進(jìn)行管理,主要包括車輛管理和辦公用品管理兩類,方便 員工掌握公司各種資產(chǎn)的情況。 8、資料共享 提供上傳資料和下載資料的功能,給員工提供了共享資料的平臺,只有擁有管理 員權(quán)限的人員才可以對文件進(jìn)行刪除操作。 9、日程管理 由管理員(領(lǐng)導(dǎo))安排部門的日程安排,給出一個工作任務(wù)的截至日期,其他員 工每天注意查看日程,務(wù)必按時完成任務(wù)。 10、意見箱 一個公司員工提出意見的平臺,員工有什么意見或者建議均可以在此處提出,管 理員權(quán)限的人員可以查看意見箱,以做出及時反應(yīng)。 3.2.3 系統(tǒng)其他需求 1、錯誤處理: 10 系統(tǒng)要有一定的容錯能力,出現(xiàn)錯誤及時提醒; 2、安全: 任何對系統(tǒng)的使用都必須先登錄,而且要防止繞過登錄,登錄 30 分鐘無任何操作 會自動退出,以防被不法分子盜用; 3、性能需求: 系統(tǒng)對于用戶做出的任何請求都要在 10 秒之內(nèi)做出響應(yīng),做到盡快響應(yīng); 4、適用性: 用 struts 作為框架,用 java 語言實現(xiàn),服務(wù)器可以允許于不同的操作系統(tǒng)之上; 5、可靠性: 系統(tǒng)要能夠持續(xù)工作比較長的時間,而且不發(fā)生嚴(yán)重錯誤; 6、接口需求: 硬件接口:鍵盤,鼠標(biāo),顯示器; 軟件接口:基于網(wǎng)絡(luò)的辦公平臺; 7、擴(kuò)展需求: 將來要把公司的子公司聯(lián)入系統(tǒng),可以實現(xiàn)異地辦公。 3.3 系統(tǒng)用例模型系統(tǒng)用例模型 3.3.1 系統(tǒng)邊界 此辦公自動化系統(tǒng) office、數(shù)據(jù)庫服務(wù)器和有關(guān)操作的人員都在系統(tǒng)邊界之內(nèi)。 3.3.2 主要參與者及其目標(biāo) 參與者是通過使用系統(tǒng)提供的服務(wù)來實現(xiàn)自己目的的人或者系統(tǒng)。 表表 3.13.1 參與者目標(biāo)參與者目標(biāo) 參與者使用目標(biāo) 游客查看公司公告,新聞,查看、修改個人信息、查看日程、收發(fā)郵件 等。 普通管理員 除擁有游客的所有權(quán)限外,還具有添加、刪除公司公告、新聞、日 11 程、收發(fā)郵件,管理資產(chǎn)、收發(fā)公文、提出建議等的權(quán)限。 系統(tǒng)管理員 除擁有普通管理員的權(quán)限外還具有添加員工、修改員工信息、查看 意見箱的權(quán)限。 3.3.3 用例圖 用例圖是 uml 中的一種對用例建模的圖,用于簡要描述系統(tǒng)功能7。 1、 系統(tǒng)管理員身份的的用例圖 如圖 3.2 所示為本系統(tǒng)系統(tǒng)管理員身份的用例圖: 圖 3.2 系統(tǒng)管理員用例圖 2、 普通員工的用例圖 如圖 3.3 所示為普通員工身份的用例圖: 12 圖 3.3 普通員工用例圖 3.3.4 系統(tǒng)主要類圖 1、后臺數(shù)據(jù)庫操作類 db 系統(tǒng)將用于數(shù)據(jù)庫連接、操作的類封裝成一個類 db,類圖如圖 3.4 所示: 圖 3.4 后臺數(shù)據(jù)庫操作類 db 13 其中 getcon()方法用于連接數(shù)據(jù)庫;getstm()用于保存需要執(zhí)行的 sql 語句;getrs(sql : string)用于保存執(zhí)行 sql 語句后的結(jié)果。 2、分頁類 page 由于在系統(tǒng)中瀏覽信息的頁面都需要分頁功能,系統(tǒng)將分頁功能獨(dú)立封裝成分頁 類 page,page 的類圖如圖 3.5 所示: 圖 3.5 分頁類 page 3、樹形菜單類 officemenu 系統(tǒng)采用了樹形菜單,樹形菜單功能用類 officemenu 封裝,officemenu 類圖如圖 3.6 所示: 圖 3.6 樹形菜單類 officemenu 其中 loadmenu()、loadmenu2()、loadmenu3()分別用于列出一級、二級和三級菜 單。而在每一級菜單中使用類 menusigle 來打開具體菜單,類 menusigle 的類圖如圖 3. 7 所示: 14 圖 3.7 查看單個菜單的類 menusigle 4、登錄動作類 logonaction 類圖如圖 3.8 所示: 圖 3.8 登錄動作類 logonaction 其中 executelogonno()用于在登錄失敗的時候產(chǎn)生的動作,在登錄成功以后用 loadmenu()方法導(dǎo)出相應(yīng)菜單。 5、用戶類 useraction 此類主要用于人力資源管理模塊,類圖如圖 3.9 所示: 圖 3.9 用戶類 useraction 15 其中 executepersonlook()用于查看員工信息,executepersongood()用于查看優(yōu)秀員 工信息,executepersonsiglelook()用于查看員工的詳細(xì)信息,executepersonmyselflook()用 于查看個人信息,executepersonadd()用于添加員工,executepersonupdate()用于更新員 工信息,executemyupdate()用于修改個人信息, executepersondel()用于刪除員工信息。 6、發(fā)文動作類 textaction 此類主要用于收發(fā)文管理模塊,類圖如圖 3.10 所示: 圖 3.10 發(fā)文動作類 textaction 其中 executetextlookget()用于查看收文信息,executetextlooksend()查看發(fā)文件箱, executetextsiglelook()用于查看發(fā)文內(nèi)容,executetextdel()用于刪除收、發(fā)文, executetextadd()用于添加收、發(fā)文。 7、公告動作類 pcardaction 此類主要用于公告管理模塊,類圖如圖 3.11 所示: 圖 3.12 公告動作類 pcardaction 其中 executepcardlook()用于瀏覽公告信息, executepcardsiglelook()用于查看選 定公告具體信息, executepcarddel()用于刪除公告,executepcardadd()用于發(fā)布新公告, executepcardupdate()用于更新公告。 8、文檔動作類 fileaction 此類主要用于文檔管理模塊,類圖如圖 3.12 所示: 16 圖 3.12 文檔動作類 fileaction 其中 executefilelook()用于瀏覽文件信息,executefiledownload()用于從系統(tǒng)下載 文件,executefileup()實現(xiàn)上傳文件到系統(tǒng)的功能,executefiledel()實現(xiàn)刪除文件的功 能。 9、資產(chǎn)管理類 moneyaction 此類主要用于資產(chǎn)管理模塊,類圖如圖 3.13 所示: 圖 3.13 資產(chǎn)管理類 moneyaction 10、郵件管理類 mailaction 此類主要用于郵件管理模塊,類圖如圖 3.14 所示: 圖 3.14 郵件管理類 mailaction 其中方法 executemailadd()用于發(fā)送郵件,executemaillookget()用于瀏覽收件箱, executemaillooksend()用于瀏覽發(fā)件箱,executemaillooksigle()用于查看郵件內(nèi)容, executemaildel()用于刪除郵件。 17 11、意見箱管理類 adviceaction 此類主要用于意見箱管理模塊,類圖如圖 3.15 所示: 圖 3.15 意見箱管理類 adviceaction 其中方法 executeadvicelook()用于瀏覽意見箱,executeadviceadd()用于發(fā)表意見。 12、新聞管理類 newsaction 此類主要用于新聞管理模塊,類圖如圖 3.16 所示: 圖 3.16 新聞管理類 newsaction 其中方法 executenewslook()用于瀏覽新聞信息,executenewssiglelook()查看新聞 詳細(xì)內(nèi)容,executenewsadd()用于添加新聞,executenewsdel()用于刪除新聞。 13、會議管理類 meetaction 此類主要用于會議管理模塊,類圖如圖 3.17 所示: 圖 3.17 會議管理類 meetaction 其中方法 executemeetlook()用于瀏覽會議記錄,executemeetsiglelook()用于查看 18 具體會議記錄,executemeetadd()用于添加新的會議記錄,executemeetdel()用于刪除會 議記錄。 3.4 系統(tǒng)數(shù)據(jù)庫設(shè)計系統(tǒng)數(shù)據(jù)庫設(shè)計 3.4.1 數(shù)據(jù)表概要說明 開發(fā)系統(tǒng)之前首先要設(shè)計數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫的名稱為 db_office,共 13 張表,系 統(tǒng)所需數(shù)據(jù)庫表如圖 3.2 所示。 表表 3.23.2 數(shù)據(jù)庫表的設(shè)計數(shù)據(jù)庫表的設(shè)計 db_office tb_advice建議表 tb_calendar日程安排表 tb_car資產(chǎn)管理車輛表 tb_file文件表 tb_label下拉列表信息表 tb_mail內(nèi)部郵件表 tb_meet會議表 tb_menu功能菜單表 tb_news新聞表 tb_pcard公告表 tb_text收、發(fā)文表 tb_thing資產(chǎn)管理辦公用品表 tb_user用戶表 3.4.2 數(shù)據(jù)表的結(jié)構(gòu) 1、tb_advice(意見表) 意見表主要用于保存意見信息,記錄意見的主題、內(nèi)容、發(fā)送時間等意見的具體 信息。表 tb_advice 的結(jié)構(gòu)如表 3.3 所示: 表表 3.33.3 意見表意見表 tb_advice 字段名稱數(shù)據(jù)類型字段大小說明 advice_idint4自動編號 advice_subjectvarchar50意見主題 advice_sendervarchar50意見發(fā)送者 advice_contentvarchar50意見內(nèi)容 advice_sendtimevarchar50意見發(fā)送時間 advice_sendbranchvarchar50意見發(fā)送者所在部門 19 2、tb_calendar(日程安排表) tb_calendar 表主要用于保存日程信息,記錄日程的截止時間、內(nèi)容、安排者等日 程的詳細(xì)信息。表 tb_calendar 的結(jié)構(gòu)如表 3.4 所示: 表表 3.43.4 日程安排表日程安排表 tb_calendar 字段名稱數(shù)據(jù)類型字段大小說明 calendar_idint4自動編號 calendar_deadlinevarchar50日程截止時間 calendar_originvarchar50日程安排者 calendar_timevarchar50日程安排時間 calendar_contentvarchar200日程內(nèi)容 3、tb_car(資產(chǎn)管理車輛表) tb_car 表主要用于資產(chǎn)管理中的車輛信息,表 tb_car 的結(jié)構(gòu)如表 3.5 所示: 表表 3.53.5 資產(chǎn)管理車輛表資產(chǎn)管理車輛表 tb_car 字段名稱數(shù)據(jù)類型字段大小說明 car_idint4自動編號 car_numvarchar50車牌號碼 car_modelvarchar50車輛型號 car_fdjvarchar50發(fā)動機(jī)型號 car_drivervarchar50司機(jī)姓名 car_makervarchar50制造廠家名稱 car_buytimevarchar50購買時間 car_statusvarchar2車輛狀態(tài) car_njvarchar50年檢信息 car_infovarchar500車輛描述 4、tb_file(文件表) tb_file 表主要用于保存文件信息,記錄文件名稱、大小、上傳時間等具體信息。 表 tb_file 的結(jié)構(gòu)如表 3.6 所示: 表表 3.63.6 文件表文件表 tb_file 字段名稱數(shù)據(jù)類型字段大小說明 file_idint4自動編號 file_namevarchar50文件名 file_upervarchar50上傳者姓名 file_sizevarchar50文件大小 file_uptimevarchar50文件上傳時間 file_infovarchar50文件描述 20 5、tb_label(下拉列表信息表) tb_label 表中存儲了本系統(tǒng)中所有下拉菜單標(biāo)簽的信息,表 tb_label 的結(jié)構(gòu)如表 3.7 所示: 表表 3.73.7 下拉列表信息表下拉列表信息表 tb_label 字段名稱數(shù)據(jù)類型字段大小說明 label_idint4自動標(biāo)號 label_namevarchar50顯示給用戶的下拉 列表項的名稱 label_valuevarchar50在程序中使用的下 拉列表項的值 label_typevarchar50下拉列表的類型 label_ordersmallint2下拉列表項的排序 6、tb_mail(郵件表) tb_mail 表主要用于保存郵件信息,記錄郵件主題、接受者、內(nèi)容等詳細(xì)信息。 表 tb_mail 的結(jié)構(gòu)如表 3.8 所示: 表表 3.83.8 郵件表郵件表 tb_mail 字段名稱數(shù)據(jù)類型字段大小說明 mail_idint4自動編號 mail_subjectvarchar50郵件主題 mail_getervarchar50郵件接受者 mail_sendervarchar50郵件發(fā)送者 mail_contentvarchar50郵件內(nèi)容 mail_sendtimevarchar50郵件發(fā)送時間 mail_markvarchar2郵件標(biāo)記 7、tb_meet(會議表) 會議表主要用于保存會議記錄信息,記錄會議主題、主持人、時間、地點等具體 內(nèi)容。表 tb_meet 的結(jié)構(gòu)如表 3.9 所示: 表表 3.93.9 會議表會議表 tb_meet 字段名稱數(shù)據(jù)類型字段大小說明 meet_idint4會議編號 meet_subjectvarchar50會議主題 meet_speakervarchar50會議主持人 meet_listenervarchar50會議出席人 meet_timevarchar50會議時間 meet_addressvarchar50會議地點 21 meet_contenttext16會議內(nèi)容 8、tb_menu(功能菜單表) 功能菜單表主要用于保存功能菜單的信息,記錄功能菜單的菜單級別、菜單名稱、 所需權(quán)限等詳細(xì)信息。表 tb_menu 的結(jié)構(gòu)如表 3.10 所示: 表表 3.103.10 功能菜單表功能菜單表 tb_menu 字段名稱數(shù)據(jù)類型字段大小說明 menu_idvarchar50程序中使用的菜單名稱 menu_namevarchar50顯示給用戶的菜單名稱 menu_parentidvarchar50父菜單的 menu_id menu_actionvarchar50菜單觸發(fā)操作的請求鏈接 menu_jibievarchar2菜單級別 menu_orderint4菜單在頁面 user_ableint4菜單權(quán)限 9、tb_news(新聞表) tb_news 表主要用于保存新聞信息,記錄新聞標(biāo)題、時間、內(nèi)容等詳細(xì)信息。表 tb_news 的結(jié)構(gòu)如表 3.11 所示: 表表 3.113.11 新聞表新聞表 tb_news 字段名稱數(shù)據(jù)類型字段大小說明 news_idint4自動編號 news_subjectvarchar50新聞標(biāo)題 news_originvarchar50新聞發(fā)布者 news_timevarchar50發(fā)布時間 news_contentvarchar200新聞內(nèi)容 10、tb_pcard(公告表) tb_pcard 表主要用于保存公告信息,記錄公告主題、發(fā)布者、內(nèi)容等。表 tb_pcard 的結(jié)構(gòu)如表 3.12 所示: 表表 3.123.12 公告表公告表 tb_pcard 字段名稱數(shù)據(jù)類型字段大小說明 pcard_idint4公告標(biāo)號 pcard_subjectvarchar50公告主題 pcard_authorvarchar50公告作者 pcard_timevarchar50公告發(fā)布時間 pcard_contentvarchar1000公告內(nèi)容 11、tb_text(收發(fā)文表) 22 tb_text 表主要用于保存收發(fā)文信息,記錄公文的主題、發(fā)送者、接收者、內(nèi)容等 詳細(xì)內(nèi)容。表 tb_text 的結(jié)構(gòu)如表 3.13 所示: 表表 3.133.13 收發(fā)文表收發(fā)文表 tb_text 字段名稱數(shù)據(jù)類型字段大小說明 text_idint4自動編號 text_subjectvarchar50發(fā)文主題 text_sendervarchar50發(fā)文的發(fā)送者 text_getervarchar50發(fā)文的接收者 text_markvarchar2發(fā)文標(biāo)記 text_contenttext16發(fā)文內(nèi)容 text_sendtimevarchar50發(fā)文發(fā)送時間 12、tb_thing(資產(chǎn)管理辦公用品表) tb_thing 表主要用于保存資產(chǎn)管理中的辦公用品信息,表 tb_thing 的結(jié)構(gòu)如表 3.14 所示: 表表 3.143.14 資產(chǎn)管理辦公用品表資產(chǎn)管理辦公用品表 tb_thing 字段名稱數(shù)據(jù)類型字段大小說明 thing_idint4辦公用品 id thing_typevarchar50辦公用品類別 thing_modelvarchar50辦公用品品牌 thing_numbervarchar10辦公用品數(shù)量 thing_costvarchar20辦公用品金額 thing_buytimevarchar50辦公用品購買時間 thing_buybranchvarchar50辦公用品購買部門 13、tb_user(用戶表) tb_user 表主要用于保存用戶信息,表 tb_user 的結(jié)構(gòu)如表 3.15 所示: 表表 3.153.15 用戶表用戶表 tb_user 字段名稱數(shù)據(jù)類型字段大小說明 user_idint4自動編號 user_namevarchar20用戶名 user_passwordvarchar10用戶密碼 true_namevarchar50用戶真實姓名 user_ableint4用戶權(quán)限 user_goodvarchar2是否為優(yōu)秀員工 user_branchvarchar50所在部門 user_telvarchar15電話號碼 user_addressvarchar100住址 23 user_accesstimesint4訪問時間 user_foundtimevarchar50用戶創(chuàng)建時間 user_newmailcountint4用戶所有新郵件數(shù) 4 系統(tǒng)詳細(xì)設(shè)計系統(tǒng)詳細(xì)設(shè)計 本章將對系統(tǒng)進(jìn)行詳細(xì)設(shè)計,重點介紹各功能模塊的設(shè)計過程。 4.1 前期準(zhǔn)備前期準(zhǔn)備 4.1.1 配置應(yīng)用配置應(yīng)用 struts 結(jié)構(gòu)文件及數(shù)據(jù)庫連接文件結(jié)構(gòu)文件及數(shù)據(jù)庫連接文件 系統(tǒng)運(yùn)行必須有一些類庫的支持,因此,首先要將如圖 4.1 所示的 jar 文件拷貝到 應(yīng)用程序下的officewebrootweb-inflib 文件夾下。 圖 4.1 必要類庫 jtds-0.8.1.jar 是系統(tǒng)連接數(shù)據(jù)庫用到的 jar 文件,使用該文件創(chuàng)建數(shù)據(jù)庫連接時加 載驅(qū)動程序的語句如下8: class.forname(“net.sourceforge.jtds.jdbc.driver“) 獲取連接的語句如下: drivermanager.getconnecti

溫馨提示

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

評論

0/150

提交評論