版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編號(hào):本科畢業(yè)設(shè)計(jì) 基于SSH框架的辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)院 系:姓 名:學(xué) 號(hào):專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)年 級(jí):2011級(jí)指導(dǎo)教師:職 稱:教授完成日期:2013年5月摘 要辦公自動(dòng)化系統(tǒng)(Office Automation 簡(jiǎn)稱OA)是現(xiàn)代辦公和計(jì)算機(jī)網(wǎng)絡(luò)結(jié)合起來(lái)的一種新型辦公方式,是信息化社會(huì)的產(chǎn)物。它利用先進(jìn)的技術(shù),極大地提高辦公的效率和工作質(zhì)量,降低辦公成本,減輕工作負(fù)擔(dān),實(shí)現(xiàn)辦公的無(wú)紙化、自動(dòng)化和資源的信息化。本系統(tǒng)采用SSH框架集成來(lái)進(jìn)行開(kāi)發(fā),充分利用Struts在表現(xiàn)層和控制層處理、Spring在業(yè)務(wù)層處理、Hibernate在數(shù)據(jù)持久層處理的優(yōu)勢(shì),達(dá)到提高開(kāi)發(fā)效率,減少開(kāi)
2、發(fā)工作量,降低耦合性,提高可維護(hù)性和可擴(kuò)展性的目標(biāo)。本文通過(guò)對(duì)辦公自動(dòng)化系統(tǒng)相關(guān)知識(shí)、辦公自動(dòng)化開(kāi)發(fā)技術(shù)及其開(kāi)發(fā)平臺(tái)的調(diào)查和分析研究,采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法實(shí)現(xiàn)該系統(tǒng),通過(guò)設(shè)計(jì)不同的類,實(shí)現(xiàn)不同的功能需求。具體實(shí)現(xiàn)的功能模塊有我的辦公桌、辦公申請(qǐng)、事務(wù)管理、文檔管理、會(huì)議管理以及系統(tǒng)管理等功能模塊。關(guān)鍵詞:辦公自動(dòng)化系統(tǒng);SSH;辦公申請(qǐng);事務(wù)管理;文檔管理IIAbstractOffice automation system is a new mode of office work, which combines modern office and computer network. It
3、 is a product of the information society. Due to the use of advanced technology, it greatly improves the work efficiency and work quality, reduces the office cost and work load, achieves a paperless, automated office and resource information. Making full use of the advantages of the Struts in t
4、he presentation layer and control layer processing, Spring in the business layer processing and Hibernate in data persistence layer processing, the system uses SSH integration framework to improve efficiency, reduce the development workload, reduce the coupling, improve maintainability and sca
5、lability .Based on the knowledge of office automation systems, office automation technology and its development platform developed research and analytical studies, the use of object-oriented program design method of the system, through the design of different classes, different functional requiremen
6、ts. Concrete realizations of functional modules have my desk, office applications, transaction management, document management, meeting management, and system management modules.Key Words: Office automation system;struct spring hibernate; business management;Office application;document management
7、60;目 錄1 緒論11.1 系統(tǒng)開(kāi)發(fā)的背景11.2 系統(tǒng)開(kāi)發(fā)的目的和意義11.3 國(guó)內(nèi)外的研究現(xiàn)狀21.4 研究?jī)?nèi)容21.5 組織結(jié)構(gòu)32 相關(guān)技術(shù)介紹42.1 開(kāi)發(fā)技術(shù)42.1.1 Struts框架42.1.2 Hibernate框架42.1.3 Spring框架52.1.4 三大框架的集成52.2 開(kāi)發(fā)環(huán)境62.2.1 開(kāi)發(fā)工具62.2.2 數(shù)據(jù)庫(kù)管理系統(tǒng)62.2.3 Web服務(wù)器63 系統(tǒng)的需求分析73.1 功能需求分析73.2 系統(tǒng)業(yè)務(wù)分解83.3 文件流轉(zhuǎn)分析93.4 數(shù)據(jù)流分析103.5 可行性分析113.5.1 技術(shù)可行性113.5.2 經(jīng)濟(jì)可行性123.5.3 操作可行性12
8、3.6 系統(tǒng)的非功能需求123.6.1 用戶的界面要求123.6.2 系統(tǒng)的性能需求123.7 系統(tǒng)安全性設(shè)計(jì)134 系統(tǒng)的設(shè)計(jì)144.1 總體設(shè)計(jì)144.1.1 設(shè)計(jì)目標(biāo)144.1.2 設(shè)計(jì)原則144.1.3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)154.1.4 模塊外部設(shè)計(jì)154.2 數(shù)據(jù)庫(kù)設(shè)計(jì)164.2.1 設(shè)計(jì)原則164.2.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)174.2.3 數(shù)據(jù)庫(kù)物理設(shè)計(jì)194.2.4 安全性設(shè)計(jì)224.3 詳細(xì)設(shè)計(jì)234.3.1 登錄模塊234.3.2 我的辦公桌模塊244.3.3 辦公申請(qǐng)模塊244.3.4 事務(wù)管理模塊264.3.5 文檔管理模塊274.3.6 會(huì)議管理模塊284.3.7 系統(tǒng)管理模塊2
9、95 系統(tǒng)的實(shí)現(xiàn)315.1 登錄系統(tǒng)首頁(yè)的實(shí)現(xiàn)315.1.1 登錄頁(yè)面后臺(tái)Action類的開(kāi)發(fā)315.1.2 用戶映射類與映射文件的開(kāi)發(fā)325.1.3 登錄模塊的配置335.2 辦公申請(qǐng)模塊的實(shí)現(xiàn)355.3 事務(wù)管理模塊的實(shí)現(xiàn)365.4 文檔管理模塊的實(shí)現(xiàn)366 系統(tǒng)的測(cè)試386.1 測(cè)試目的386.2 黑盒測(cè)試386.2.1 界面測(cè)試386.2.2 功能測(cè)試396.3 白盒測(cè)試417 總結(jié)與展望437.1 總結(jié)437.2 展望43參考文獻(xiàn)44致 謝4548緒論1 緒論辦公自動(dòng)化是指利用計(jì)算機(jī)技術(shù)、通信技術(shù)、系統(tǒng)科學(xué)、管理科學(xué)等先進(jìn)的科學(xué)技術(shù),不斷使人們的部分辦公業(yè)務(wù)活動(dòng)物化于人以外的各種現(xiàn)代
10、化的辦公設(shè)備中,最大限度地提高辦公效率和改進(jìn)辦公質(zhì)量,改善辦公環(huán)境和條件,縮短辦公周期,并利用科學(xué)的管理方法,借助于各種先進(jìn)技術(shù),輔助決策,提高管理和決策的科學(xué)化水平,以實(shí)現(xiàn)辦公活動(dòng)的科學(xué)化、自動(dòng)化。本章主要介紹辦公自動(dòng)化系統(tǒng)當(dāng)前的背景和開(kāi)發(fā)辦公自動(dòng)化系統(tǒng)的意義,在研究國(guó)內(nèi)外現(xiàn)狀的基礎(chǔ)上提出本課題要完成的功能和解決的問(wèn)題。1.1 系統(tǒng)開(kāi)發(fā)的背景社會(huì)信息化快速發(fā)展,辦公信息化也隨之發(fā)展,并受到各企事業(yè)單位的重視。目前,辦公自動(dòng)化已經(jīng)成為企業(yè)界的共識(shí)。眾多企業(yè)認(rèn)識(shí)到進(jìn)行辦公自動(dòng)化的建設(shè),并占據(jù)領(lǐng)先地位,將有助于保持競(jìng)爭(zhēng)優(yōu)勢(shì),使企業(yè)的發(fā)展形成良性循環(huán)。這主要是其固有特點(diǎn)決定的,它在收集和執(zhí)行各種辦公
11、信息的時(shí)候及時(shí)、準(zhǔn)確,同時(shí)能夠準(zhǔn)確進(jìn)行辦公信息的上傳下達(dá),提高強(qiáng)大的協(xié)作辦公功能以及文檔管理功能。當(dāng)然,辦公信息化也方便了辦公流程的執(zhí)行,極大地提高辦公效率。辦公自動(dòng)化(Office Automation 簡(jiǎn)稱OA)是現(xiàn)代辦公和計(jì)算機(jī)網(wǎng)絡(luò)結(jié)合起來(lái)的一種新型辦公方式,是信息化社會(huì)的產(chǎn)物1。它采用B/S架構(gòu),突破往常地理位置的限制,以Internet為網(wǎng)絡(luò)化平臺(tái),實(shí)現(xiàn)無(wú)紙化辦公。1.2 系統(tǒng)開(kāi)發(fā)的目的和意義隨著計(jì)算機(jī)和網(wǎng)絡(luò)在日常辦公中的廣泛應(yīng)用,辦公自動(dòng)化系統(tǒng)在提高辦公效率,實(shí)現(xiàn)個(gè)人之間協(xié)同工作,日常辦公信息資源共享,改善辦公條件,使日常辦公更加高效化、規(guī)范化和科學(xué)化等方面的作用日趨增大2。辦公自
12、動(dòng)化已經(jīng)應(yīng)用到很多的企業(yè),本課題正是根據(jù)中小型企業(yè)的辦公需求,設(shè)計(jì)并實(shí)現(xiàn)辦公自動(dòng)化系統(tǒng)中的短消息管理、通訊錄管理、辦公事務(wù)管理、會(huì)議管理、文檔上傳與下載管理、系統(tǒng)管理等模塊,滿足企業(yè)提高辦公效率的需要,使企業(yè)了解公司的工作流程,實(shí)現(xiàn)員工之間的協(xié)同工作,更好的安排日常工作,實(shí)現(xiàn)上下級(jí)之間的溝通與交流。1.3 國(guó)內(nèi)外的研究現(xiàn)狀隨著計(jì)算機(jī)技術(shù)和信息技術(shù)的不斷發(fā)展,辦公自動(dòng)化系統(tǒng)也經(jīng)歷了20多年的發(fā)展歷程,產(chǎn)業(yè)信息化的不斷發(fā)展,直接促使信息、數(shù)據(jù)和其他方面的內(nèi)容都達(dá)到了一個(gè)新的高度,從而也促進(jìn)了辦公自動(dòng)化的高度發(fā)展。縱觀這20多年的發(fā)展,它經(jīng)歷了下面幾個(gè)階段3。第一代辦公自動(dòng)化系統(tǒng)始于80年代末,主要
13、是由于政府辦公的需求而產(chǎn)生,為了提高政府的工作效率和保證安全性,引入了電子化管理,希望能夠?qū)崿F(xiàn)部分自動(dòng)化操作。最早的辦公自動(dòng)化系統(tǒng)是以檔案管理和公文處理為主要目的,這為后來(lái)的辦公自動(dòng)化系統(tǒng)發(fā)展奠定了基礎(chǔ)。第一代辦公自動(dòng)化系統(tǒng)受技術(shù)和需求的限制,主要采用基于C/S結(jié)構(gòu)的系統(tǒng),功能比較單一,比如文檔處理等。第二代辦公自動(dòng)化系統(tǒng)在第一代基礎(chǔ)上,結(jié)合互聯(lián)網(wǎng)技術(shù)的發(fā)展,主要以Internet為基礎(chǔ),采用了B/S架構(gòu),對(duì)于移動(dòng)辦公和遠(yuǎn)程辦公有一定的支持。當(dāng)然,這一代辦公系統(tǒng)還在功能方面對(duì)第一代系統(tǒng)進(jìn)行了擴(kuò)展,實(shí)現(xiàn)了論壇、信息發(fā)布、日程安排、人事信息等功能,然而它的本質(zhì)和特點(diǎn)仍然是基于檔案管理和公文處理的,
14、還只是在第一代辦公自動(dòng)化系統(tǒng)基礎(chǔ)上的簡(jiǎn)單擴(kuò)展。第三代辦公自動(dòng)化系統(tǒng)興起于90年代末,伴隨興起的還有協(xié)同辦公,隨著市場(chǎng)環(huán)境的變化和辦公自動(dòng)化需求的不斷變更,辦公自動(dòng)化系統(tǒng)的指導(dǎo)思想也在發(fā)生變化,主要是范圍從小變大,從局部到跨區(qū)域、跨部門之間進(jìn)行,該時(shí)期的辦公自動(dòng)化系統(tǒng)結(jié)合了網(wǎng)絡(luò)管理的思想和協(xié)同管理的構(gòu)思,并且引入了一些新的工具,比如即時(shí)通信、資料共享,網(wǎng)絡(luò)會(huì)議等新技術(shù)和工具。雖然引入了這樣的工具,但是相比較而言,協(xié)同操作還是停留在局部區(qū)域,層次不夠深入,從本質(zhì)上來(lái)看,仍然不是真正意義上的協(xié)同辦公,而只是簡(jiǎn)單的工具的集成,離真正的協(xié)同辦公還有很大的差距。1.4 研究?jī)?nèi)容本設(shè)計(jì)的主要內(nèi)容是開(kāi)發(fā)一套能
15、滿足中小型企業(yè)日常辦公需要的一款辦公自動(dòng)化系統(tǒng),使企業(yè)辦公實(shí)現(xiàn)無(wú)紙化、自動(dòng)化和信息化。具體來(lái)說(shuō),包括以下五個(gè)方面的內(nèi)容:(1)分析本系統(tǒng)的開(kāi)發(fā)背景和辦公自動(dòng)化的國(guó)內(nèi)外發(fā)展現(xiàn)狀;(2)論述本辦公自動(dòng)化系統(tǒng)開(kāi)發(fā)過(guò)程中的理論支持、技術(shù)基礎(chǔ)和實(shí)現(xiàn)的關(guān)鍵技術(shù)等;(3)規(guī)劃辦公系統(tǒng)的功能和結(jié)構(gòu),對(duì)本系統(tǒng)進(jìn)行需求分析和功能的設(shè)計(jì),確定系統(tǒng)的體系結(jié)構(gòu);(4)以登錄模塊、辦公申請(qǐng)模塊、文檔上傳與下載模塊、會(huì)議管理模塊等為例闡述系統(tǒng)的具體實(shí)現(xiàn)過(guò)程;(5)以登錄模塊、辦公申請(qǐng)模塊、文檔上傳與下載模塊、會(huì)議管理模塊等為例來(lái)完成系統(tǒng)的測(cè)試。1.5 組織結(jié)構(gòu)第一章:緒論,主要介紹辦公自動(dòng)化系統(tǒng)的背景、意義、國(guó)內(nèi)外研究現(xiàn)狀
16、。第二章:相關(guān)技術(shù)介紹,主要介紹系統(tǒng)開(kāi)發(fā)所涉及到的技術(shù)和工具。第三章:系統(tǒng)的需求分析,包括可行性分析和需求分析。第四章:系統(tǒng)的設(shè)計(jì),包括總體設(shè)計(jì)、模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)和詳細(xì)設(shè)計(jì)。第五章:系統(tǒng)的實(shí)現(xiàn),主要介紹各個(gè)模塊的功能實(shí)現(xiàn)和關(guān)鍵代碼。第六章:系統(tǒng)的測(cè)試,對(duì)實(shí)現(xiàn)過(guò)的模塊進(jìn)行測(cè)試。第七章:總結(jié)與展望,總結(jié)本系統(tǒng)存在的優(yōu)勢(shì)和不足以及未來(lái)的發(fā)展方向。相關(guān)技術(shù)介紹2 相關(guān)技術(shù)介紹辦公自動(dòng)化系統(tǒng)是在J2EE平臺(tái)上進(jìn)行設(shè)計(jì)和開(kāi)發(fā)的。為了簡(jiǎn)化系統(tǒng)開(kāi)發(fā),縮短開(kāi)發(fā)周期,引入了框架的思想,主要使用的框架技術(shù)有Struts框架、Spring框架以及Hibernate框架。本系統(tǒng)采用SSH三層架構(gòu),使用MyEclip
17、se 8.5作為開(kāi)發(fā)工具,MySQL作為后臺(tái)數(shù)據(jù)庫(kù),Tomcat作為應(yīng)用服務(wù)器。本章首先介紹這三種框架技術(shù),然后介紹開(kāi)發(fā)本系統(tǒng)所使用的工具。2.1 開(kāi)發(fā)技術(shù)2.1.1 Struts框架Struts 2是Struts的新一代產(chǎn)品,是在Struts 1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的Struts 2框架。其全新的Struts 2的體系結(jié)構(gòu)與Struts 1的體系結(jié)構(gòu)的差別巨大。Struts 2以WebWork為核心,采用攔截器的機(jī)制來(lái)處理用戶的請(qǐng)求,這樣的設(shè)計(jì)也使得業(yè)務(wù)邏輯控制器能夠與Servlet API完全脫離開(kāi)4。一個(gè)請(qǐng)求在Struts 2框架中的處理步驟:(1)客戶端初始化一
18、個(gè)指向Web容器的請(qǐng)求。(2)請(qǐng)求經(jīng)過(guò)一系列過(guò)濾器(Filter)的過(guò)濾并傳遞給FilterDispatcher。(3)FilterDispatcher接收到請(qǐng)求信息后,會(huì)根據(jù)URL在ActionMapper中搜索指定Action的映射信息。(4)如果找到符合的映射信息,ActionProxy通過(guò)Configuration Manager在配置文件struts.xml中搜索被請(qǐng)求的Action類。(5)ActionProxy創(chuàng)建一個(gè)被請(qǐng)求Action的實(shí)例,該實(shí)例用來(lái)處理請(qǐng)求信息。(6)如果在配置文件struts.xml中存在與請(qǐng)求Action相關(guān)的攔截器配置,那么該Action的實(shí)例被調(diào)用的
19、前后,這些攔截器也會(huì)先被執(zhí)行。(7)Action對(duì)請(qǐng)求處理完畢后返回一個(gè)邏輯視圖,此邏輯視圖尋找對(duì)應(yīng)的物理視圖,并返回給客戶端。2.1.2 Hibernate框架Hibernate是一個(gè)免費(fèi)的開(kāi)源Java包,是目前最流行的ORM框架,它是一個(gè)面向Java環(huán)境的對(duì)象/關(guān)系數(shù)據(jù)庫(kù)映射工具,也是一個(gè)輕量級(jí)的O/R Mapping框架;雖然它問(wèn)世的時(shí)間并不長(zhǎng),但是已經(jīng)成為目前最流行的持久層解決方案5。它使得程序與數(shù)據(jù)庫(kù)的交互變得十分容易,更加符合面向?qū)ο蟮脑O(shè)計(jì)思想,像數(shù)據(jù)庫(kù)中包含普通Java對(duì)象一樣,而不必考慮如何把它們從數(shù)據(jù)庫(kù)表中取出,使開(kāi)發(fā)者可以專注于應(yīng)用程序的對(duì)象和功能,而不必關(guān)心如何保存它們或
20、查找這些對(duì)象;甚至在對(duì)SQL語(yǔ)句完全不了解的情況下,使用Hibernate仍然可以開(kāi)發(fā)出優(yōu)秀的包含數(shù)據(jù)庫(kù)訪問(wèn)的應(yīng)用程序。2.1.3 Spring框架Spring是一個(gè)開(kāi)源框架,是開(kāi)發(fā)者為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性問(wèn)題而創(chuàng)建的。Spring致力于J2EE應(yīng)用各層的解決方案,而不是僅僅專注于某一層的解決方案。Spring貫穿于表現(xiàn)層、業(yè)務(wù)層和持久層;但是,Spring并不想取代那些已經(jīng)存在的框架,而是以高度的開(kāi)發(fā)性與它們進(jìn)行無(wú)縫結(jié)合6。Spring框架最重要的兩個(gè)功能就是控制反轉(zhuǎn)(IOC)和面向切面(AOP)??刂品崔D(zhuǎn)(IOC)是Spring框架的基本功能。主要組件是BeanFactory,是工廠
21、模式的實(shí)現(xiàn),使用IOC模式將應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際應(yīng)用程序代碼分開(kāi)。面向切面(AOP)為基于Spring的應(yīng)用程序中的對(duì)象提供了事務(wù)管理服務(wù)。通過(guò)使用AOP,不用依賴EJB組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。2.1.4 三大框架的集成在進(jìn)行三者整合開(kāi)發(fā)時(shí),一般可以采取由上往下和由下往上的分層開(kāi)發(fā)原則,多數(shù)實(shí)際項(xiàng)目的開(kāi)發(fā),往往采用后者的開(kāi)發(fā)模式7,即:(1)從底層開(kāi)發(fā),先開(kāi)發(fā)領(lǐng)域?qū)ο?,及一些?shí)體類,這些領(lǐng)域?qū)ο髸?huì)在各層之間進(jìn)行傳遞。利用Hibernate做好領(lǐng)域?qū)ο蠛蛿?shù)據(jù)庫(kù)表的映射關(guān)系。(2) DAO層的開(kāi)發(fā)。它是專門獨(dú)立出來(lái)對(duì)數(shù)據(jù)進(jìn)行持久化,即處理數(shù)據(jù)的CRUD操作,也是利
22、用Spring對(duì)Hibernate提供的DAO支持類HibernateDaoSupport來(lái)實(shí)現(xiàn)的。每個(gè)DAO組件對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)表。(3)Service層的開(kāi)發(fā)。這層主要是具體業(yè)務(wù)組件開(kāi)發(fā),主要用于處理各類業(yè)務(wù)邏輯,并且能隔離事務(wù)和對(duì)其他資源進(jìn)行調(diào)度。(4)Action層的開(kāi)發(fā)。主要是處理Web請(qǐng)求,由Spring進(jìn)行管理。三者整合開(kāi)發(fā)步驟模式圖,如圖2-1所示。采用上述開(kāi)發(fā)模型,不僅實(shí)現(xiàn)了視圖、控制器與模型的徹底分離,而且還實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離。這樣無(wú)論前端如何變化,模型層只需很少的改動(dòng),并且數(shù)據(jù)庫(kù)的變化也不會(huì)對(duì)前端有所影響,大大提高了系統(tǒng)的可復(fù)用性;而且由于不同層之間耦合度小,有
23、利于團(tuán)隊(duì)成員并行工作,大大提高了開(kāi)發(fā)效率。圖2-1 三大框架集成工作原理2.2 開(kāi)發(fā)環(huán)境2.2.1 開(kāi)發(fā)工具本系統(tǒng)使用MyEclipse 8.5作為開(kāi)發(fā)工具。它是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)Java、J2EE的Eclipse的插件集合,是對(duì)Eclipse IDE的擴(kuò)展。它是功能豐富的J2EE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整的支持HTML、JSP、JavaScript等語(yǔ)言8。利用它可以實(shí)現(xiàn)在數(shù)據(jù)庫(kù)和J2EE的開(kāi)發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大地提高開(kāi)發(fā)效率。2.2.2 數(shù)據(jù)庫(kù)管理系統(tǒng)本系統(tǒng)采用MySQL作為后臺(tái)數(shù)據(jù)庫(kù)。MySQL是一個(gè)關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將
24、數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)中,這樣就增加了速度并提高了靈活性9。同時(shí),它體積小、速度快,而且免費(fèi),因此一般的中小型系統(tǒng)都選擇MySQL作為后臺(tái)數(shù)據(jù)庫(kù)。2.2.3 Web服務(wù)器本系統(tǒng)使用Tomcat作為Web服務(wù)器。Tomcat服務(wù)器是一個(gè)免費(fèi)的開(kāi)源的小型的輕量級(jí)的應(yīng)用服務(wù)器10。由于它技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),運(yùn)行時(shí)占用的系統(tǒng)資源小,因此特別適合中小型企業(yè)的使用。系統(tǒng)的需求分析3 系統(tǒng)的需求分析需求分析作為軟件開(kāi)發(fā)的第一步,主要是為了弄清開(kāi)發(fā)該軟件的用途、功能、使用對(duì)象、主要工作流程等,用以確保最終產(chǎn)品能夠達(dá)到最初設(shè)想的目的,滿足用戶的需求11。為了能準(zhǔn)確的了解企
25、業(yè)辦公自動(dòng)化系統(tǒng)的需求,本課題結(jié)合一般企業(yè)的實(shí)際工作,采取提問(wèn)、問(wèn)卷調(diào)查、深入辦公以及了解辦公流程等方法,收集總經(jīng)理、部門經(jīng)理、普通員工對(duì)本系統(tǒng)的需求。然后采用軟件工程的方法,對(duì)收集的用戶需求進(jìn)行深入分析。3.1 功能需求分析一般來(lái)說(shuō),中小型企業(yè)辦公自動(dòng)化系統(tǒng)應(yīng)主要以公文處理和事務(wù)管理為核心,同時(shí)提供信息通訊與服務(wù)等重要功能,主要是為提高企業(yè)日常工作方面的信息化、自動(dòng)化和高效化12。因此,典型的辦公自動(dòng)化系統(tǒng)應(yīng)包括公文管理、個(gè)人辦公、信息交流、公共事務(wù)、附件程序等應(yīng)用,另外鑒于Internet在日常辦公中占有日益重要的地位,辦公自動(dòng)化系統(tǒng)應(yīng)該與Internet留有平滑的接口。為保證系統(tǒng)能夠長(zhǎng)期
26、、安全、穩(wěn)定、可靠、高效的運(yùn)行,在對(duì)當(dāng)前中小型企業(yè)辦公系統(tǒng)進(jìn)行分析的基礎(chǔ)上,本辦公自動(dòng)化系統(tǒng)應(yīng)滿足以下功能需求:首先,作為特定環(huán)境和用戶群使用的系統(tǒng),系統(tǒng)必須提供可以有效驗(yàn)證用戶身份的系統(tǒng)登錄功能。其次,作為辦公系統(tǒng),必須首先滿足企業(yè)員工辦公最常用的公文管理需求。系統(tǒng)應(yīng)采用開(kāi)放、動(dòng)態(tài)的系統(tǒng)架構(gòu),將傳統(tǒng)的辦公模式與先進(jìn)的網(wǎng)絡(luò)應(yīng)用相結(jié)合,變傳統(tǒng)辦公模式中的人工公文流轉(zhuǎn)轉(zhuǎn)為網(wǎng)絡(luò)自動(dòng)流轉(zhuǎn),用于處理單位內(nèi)部各業(yè)務(wù)部門之間的協(xié)同辦公,使其自動(dòng)化處理,以省去工作人員在各業(yè)務(wù)部門之間來(lái)回跑,完成日常辦公事務(wù)中的公文審批及流轉(zhuǎn)。同時(shí),系統(tǒng)還應(yīng)該具備良好的通用性與可移植性,可以適合不同網(wǎng)絡(luò)環(huán)境和不同操作系統(tǒng)之間辦
27、公信息和公文的處理。再次,為方便對(duì)會(huì)議的管理,系統(tǒng)還應(yīng)提供會(huì)議管理功能。會(huì)議管理功能雖然不是辦公系統(tǒng)的主要功能,但也是企業(yè)不可缺少的一個(gè)基本功能,所以把會(huì)議管理作為辦公自動(dòng)化系統(tǒng)的一個(gè)子系統(tǒng),主要包括查詢會(huì)議室,會(huì)議的審批等子功能。第四,為方便員工的之間資源的共享,把需要的資料通過(guò)上傳功能傳到數(shù)據(jù)庫(kù),其他用戶在瀏覽后可以下載資料,不用當(dāng)面交流就可以實(shí)現(xiàn)資源的共享。最后,為有效提高員工的工作效率,系統(tǒng)除提供功能實(shí)用并且適合中小型企業(yè)的日常業(yè)務(wù)工作外,還可以提供一些與員工日常工作相關(guān)的一些輔助功能。主要包括:短消息管理、個(gè)人日程安排、通訊錄管理、提醒和考勤等功能。系統(tǒng)還應(yīng)具有可擴(kuò)展性,隨著日后的發(fā)
28、展應(yīng)該支持增加新的功能,滿足各部門辦公服務(wù)的要求。根據(jù)以上的分析,本系統(tǒng)應(yīng)該具有以下功能:(1)系統(tǒng)登錄:用于管理登錄本系統(tǒng)用戶的驗(yàn)證。當(dāng)用戶登錄時(shí),輸入用戶名和密碼,系統(tǒng)通過(guò)邏輯程序驗(yàn)證是否通過(guò);通過(guò)則進(jìn)入系統(tǒng),否則不能進(jìn)入系統(tǒng)。(2)我的辦公桌:包含一些與個(gè)人辦公聯(lián)系緊密的功能。所有的用戶都可以進(jìn)行個(gè)人的日常辦公;主要有短信息的管理、維護(hù),日程安排的管理、維護(hù),查看個(gè)人通訊錄,管理自己好友的功能。(3)系統(tǒng)管理:包括員工管理、職位管理和部門管理。管理員可以設(shè)置不同的角色,也可以管理員工、職位、部門信息。(4)辦公事務(wù)管理:管理員可以進(jìn)行事務(wù)審批、登記、打印和設(shè)置類別;普通用戶可進(jìn)行查看事務(wù)
29、和申請(qǐng)事務(wù)。(5)會(huì)議管理:管理員對(duì)會(huì)議室進(jìn)行相關(guān)信息的統(tǒng)計(jì)管理、對(duì)會(huì)議進(jìn)行記錄等操作;普通用戶可查詢空閑會(huì)議室、填寫會(huì)議申請(qǐng)表單、查看會(huì)議信息等功能。(6)文檔管理:管理員可以設(shè)置文檔的類別,可對(duì)文檔進(jìn)行增、刪、改、查等一系列操作;普通用戶只可對(duì)文檔進(jìn)行查詢和下載。3.2 系統(tǒng)業(yè)務(wù)分解通過(guò)分析本系統(tǒng)的功能,結(jié)合中小型企業(yè)的日常辦公習(xí)慣,將系統(tǒng)分解為六大功能模塊,包括系統(tǒng)登錄、我的辦公桌、辦公事務(wù)管理、會(huì)議管理、文檔管理、系統(tǒng)管理,每個(gè)功能模塊中根據(jù)登錄權(quán)限不同又包含不同的子模塊,系統(tǒng)的用例分析如圖3-1所示。本系統(tǒng)允許用戶有三種身份:管理員、部門經(jīng)理和普通職工。每種身份對(duì)每一個(gè)功能都有一定的
30、權(quán)限限制,也就是說(shuō)不同的用戶進(jìn)入到本系統(tǒng)中可以實(shí)現(xiàn)的功能也是不同的。(1)管理員擁有辦公自動(dòng)化系統(tǒng)的最高權(quán)限,擁有的功能也是最多的,包括我的辦公桌、辦公申請(qǐng)、事務(wù)管理、會(huì)議管理、文檔管理、系統(tǒng)管理等模塊。(2)部門經(jīng)理的權(quán)限就受到了限制,部門經(jīng)理不具備系統(tǒng)管理模塊和事務(wù)管理模塊,在此相當(dāng)于控制了它的權(quán)限。(3)普通職工只具備我的辦公桌模塊、辦公申請(qǐng)模塊和文檔下載模塊。圖3-1 系統(tǒng)用例圖本系統(tǒng)的運(yùn)行機(jī)制為:當(dāng)用戶通過(guò)瀏覽器訪問(wèn)后臺(tái)的應(yīng)用服務(wù)器時(shí),應(yīng)用服務(wù)器根據(jù)登錄信息調(diào)用登錄人員的邏輯配置,根據(jù)管理人員設(shè)定的相關(guān)策略,動(dòng)態(tài)實(shí)施相關(guān)配置。如:用戶界面的生成、相關(guān)功能模塊的生成掛接等等。在生成這些
31、模塊的過(guò)程中,從文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)中,獲取相關(guān)的數(shù)據(jù),同時(shí)將反應(yīng)結(jié)果響應(yīng)到WEB客戶端。3.3 文件流轉(zhuǎn)分析在本系統(tǒng)中,通過(guò)了解中小型企業(yè)文件的流轉(zhuǎn)流程,制定本系統(tǒng)的文件流轉(zhuǎn)關(guān)系。首先,由普通員工提出申請(qǐng),比如請(qǐng)假申請(qǐng)、銷假申請(qǐng)等事務(wù),然后由管理員進(jìn)行登記,登記成功之后,該員工提交的申請(qǐng)才會(huì)流轉(zhuǎn)到部門經(jīng)理處,由部門經(jīng)理進(jìn)行審批。如果管理員不登記,那么本次的申請(qǐng)就不會(huì)提交到部門經(jīng)理處,也就相當(dāng)于作廢;部門經(jīng)理審批通過(guò)之后,在普通員工處就能看到通過(guò)審批的事務(wù)。其中文件流轉(zhuǎn)關(guān)系如下圖3-2所示。圖3-2 文件流轉(zhuǎn)關(guān)系3.4 數(shù)據(jù)流分析通過(guò)以上對(duì)本系統(tǒng)詳細(xì)功能進(jìn)行的分析和對(duì)業(yè)務(wù)進(jìn)行的分解后,可以看出
32、,各種信息之間的關(guān)系比較復(fù)雜,很多信息的改變是互相影響的。分析業(yè)務(wù)行為中諸多方面信息之間的關(guān)系,是開(kāi)發(fā)一個(gè)實(shí)用有效的管理系統(tǒng)的關(guān)鍵,而借助于數(shù)據(jù)流圖來(lái)進(jìn)行分析,則是一個(gè)十分科學(xué)有效的方法。數(shù)據(jù)流圖(DFD)是一個(gè)圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入到輸出過(guò)程中所經(jīng)受的變換,在數(shù)據(jù)流圖中沒(méi)有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過(guò)程13。本系統(tǒng)的基本模型如圖3-3所示。圖3-3 辦公自動(dòng)化系統(tǒng)的基本模型圖根據(jù)基本系統(tǒng)模型,對(duì)其逐步細(xì)化,得到描繪邏輯系統(tǒng)細(xì)化后的數(shù)據(jù)流圖。限于篇幅,在此僅給出辦公申請(qǐng)模塊和管理員添加員工模塊的數(shù)據(jù)流圖。(1)辦公申請(qǐng)模塊的數(shù)據(jù)流圖如圖3-4所示
33、。圖3-4 辦公申請(qǐng)數(shù)據(jù)流圖(2)管理員添加員工模塊的數(shù)據(jù)流圖如圖3-5所示。圖3-5 管理員添加員工數(shù)據(jù)流圖3.5 可行性分析3.5.1 技術(shù)可行性本系統(tǒng)是在J2EE平臺(tái)上設(shè)計(jì)和開(kāi)發(fā)的,同時(shí)針對(duì)利用J2EE平臺(tái)開(kāi)發(fā)系統(tǒng)存在的主要問(wèn)題引用了框架技術(shù),即SSH框架,其中由Struts、Hibernate以及Spring三大框架組合而成,每種框架負(fù)責(zé)不同的任務(wù)處理;Struts框架工作在表現(xiàn)層,實(shí)現(xiàn)了表現(xiàn)層和業(yè)務(wù)層的分離,可有效提高頁(yè)面的開(kāi)發(fā)效率;Spring框架工作在業(yè)務(wù)層,并且可以很好的兼容上下層;Hibernate框架工作在數(shù)據(jù)層,可以實(shí)現(xiàn)高效率的數(shù)據(jù)訪問(wèn)。這三種框架的引入加強(qiáng)了各層之間的獨(dú)
34、立性,可有效簡(jiǎn)化系統(tǒng)的開(kāi)發(fā)難度,提高開(kāi)發(fā)效率。因此,這些成熟的開(kāi)發(fā)技術(shù)可成功本系統(tǒng)。3.5.2 經(jīng)濟(jì)可行性辦公自動(dòng)化系統(tǒng)是企業(yè)管理的一個(gè)重要組成部分,涉及企業(yè)管理的方方面面。一個(gè)現(xiàn)代化的辦公自動(dòng)化系統(tǒng)能夠顯著提高辦公效率,降低辦公成本,充分利用內(nèi)部資源,加快工作流程,適應(yīng)環(huán)境的變化。根據(jù)以上分析可知,一個(gè)良好的辦公自動(dòng)化系統(tǒng),能夠給企業(yè)帶來(lái)不可估量的經(jīng)濟(jì)效益,而開(kāi)發(fā)本系統(tǒng)所需要的基本費(fèi)用在企業(yè)可承受的范圍內(nèi)。因此,本系統(tǒng)在經(jīng)濟(jì)上也是可行的。3.5.3 操作可行性用戶只需要通過(guò)瀏覽器就可以對(duì)辦公自動(dòng)化系統(tǒng)進(jìn)行一系列的操作。因此,本系統(tǒng)在操作上也是可行的。3.6 系統(tǒng)的非功能需求3.6.1 用戶的
35、界面要求表3-1 用戶的界面要求表需求名稱詳細(xì)要求母版頁(yè)提供母版頁(yè)的選擇,根據(jù)用戶不同需求選擇不同母版頁(yè)。界面布局采用三分屏的布局風(fēng)格。界面交互采用頁(yè)面局部刷新技術(shù)。表單格式能夠使用下拉、選擇方式的盡量避免手工輸入,采用密文格式顯示。3.6.2 系統(tǒng)的性能需求(1)數(shù)據(jù)準(zhǔn)確性用戶登錄時(shí)需要保證數(shù)據(jù)的準(zhǔn)確性,對(duì)于正確的用戶名和密碼進(jìn)行登錄,對(duì)錯(cuò)誤的用戶名和密碼進(jìn)行攔截。查詢時(shí)需要保證準(zhǔn)確率,查到的記錄應(yīng)包含所有數(shù)據(jù)庫(kù)中存儲(chǔ)的信息。(2)時(shí)間特性一般操作的響應(yīng)時(shí)間應(yīng)該在1-2秒之內(nèi)。(3)易用性本系統(tǒng)面對(duì)廣大用戶,包括計(jì)算機(jī)水平較低的用戶;因此,應(yīng)盡力要求操作的簡(jiǎn)潔和易于接受,而且界面也力求擁有較
36、好的交互性和友好性14。3.7 系統(tǒng)安全性設(shè)計(jì)辦公自動(dòng)化系統(tǒng)的安全需求是在全方位和整體的高度上,相應(yīng)的系統(tǒng)安全體系也是分層次的,在不同層次解決處理不同的安全問(wèn)題。在本課題的需求分析中,把安全需求大致歸納為以下幾個(gè)方面:(1)網(wǎng)絡(luò)可用性網(wǎng)絡(luò)是應(yīng)用系統(tǒng)和業(yè)務(wù)的載體,網(wǎng)絡(luò)中斷對(duì)于業(yè)務(wù)和系統(tǒng)來(lái)說(shuō)就意味著中斷停止,將帶來(lái)非常大的影響15。因此,必須保證網(wǎng)絡(luò)的持續(xù)有效的運(yùn)行,防止對(duì)關(guān)鍵網(wǎng)絡(luò)設(shè)施的入侵和攻擊,防止通過(guò)消耗帶寬等方式破壞網(wǎng)絡(luò)的可用性。(2)系統(tǒng)可用性運(yùn)行業(yè)務(wù)系統(tǒng)的各主機(jī)、數(shù)據(jù)庫(kù)、應(yīng)用服務(wù)器的安全運(yùn)行同樣十分關(guān)鍵,安全控制體系必須保證這些系統(tǒng)不會(huì)遭受來(lái)自內(nèi)外網(wǎng)絡(luò)的非法訪問(wèn)、惡意入侵和破壞。(3)
37、數(shù)據(jù)機(jī)密性機(jī)密信息的泄密將直接影響企業(yè)安全和社會(huì)穩(wěn)定,安全控制必須保證這些機(jī)密信息在傳輸時(shí)的機(jī)密性和完整性。(4)訪問(wèn)的可控性對(duì)關(guān)鍵網(wǎng)絡(luò)、系統(tǒng)和數(shù)據(jù)的訪問(wèn)必須得到有效的控制,這要求系統(tǒng)能夠可靠確認(rèn)訪問(wèn)者的身份,謹(jǐn)慎授權(quán),并對(duì)任何訪問(wèn)進(jìn)行審計(jì)。(5)災(zāi)難恢復(fù)能力經(jīng)常性的備份以及快速、精確的恢復(fù)可以使系統(tǒng)在遭到災(zāi)難性破壞時(shí)將損失降低到最低的程度。另外,保護(hù)硬件資源不被非法占有,軟件資源免受病毒的侵害,都構(gòu)成了整個(gè)信息網(wǎng)絡(luò)上的安全需要。最后,要保證只有經(jīng)過(guò)授權(quán)的人員才可以進(jìn)入相應(yīng)的系統(tǒng),并按授權(quán)權(quán)限進(jìn)行基本的操作。系統(tǒng)的設(shè)計(jì)4 系統(tǒng)的設(shè)計(jì)根據(jù)前面的需求分析得知,辦公自動(dòng)化系統(tǒng)是一個(gè)功能較完善、操作較
38、簡(jiǎn)單、使用方便、安全性高的系統(tǒng)。在對(duì)其進(jìn)行詳細(xì)的需求分析后,下面按照系統(tǒng)需求進(jìn)行系統(tǒng)的設(shè)計(jì)。下面從總體設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)和詳細(xì)設(shè)計(jì)三個(gè)方面對(duì)辦公自動(dòng)化系統(tǒng)進(jìn)行詳細(xì)的分析。4.1 總體設(shè)計(jì)4.1.1 設(shè)計(jì)目標(biāo)系統(tǒng)設(shè)計(jì)的總體目標(biāo)是改善和提高中小型企業(yè)員工用計(jì)算機(jī)處理辦公事務(wù)的應(yīng)用水平,建立一個(gè)覆蓋各個(gè)部門的協(xié)同辦公自動(dòng)化系統(tǒng),為領(lǐng)導(dǎo)的決策提供服務(wù),實(shí)現(xiàn)辦公管理標(biāo)準(zhǔn)化、信息資源化、資源共享化、傳輸網(wǎng)絡(luò)化和決策科學(xué)化。4.1.2 設(shè)計(jì)原則為滿足上述系統(tǒng)需求,本系統(tǒng)設(shè)計(jì)將嚴(yán)格按照以下設(shè)計(jì)原則進(jìn)行,主要有以下四個(gè)基本原則。(1)開(kāi)放性、可擴(kuò)充性、可靠性原則開(kāi)放系統(tǒng)是生產(chǎn)各種計(jì)算機(jī)產(chǎn)品普遍遵循的原則,遵循這種
39、標(biāo)準(zhǔn)的產(chǎn)品都符合一些公共的、可以相互操作的標(biāo)準(zhǔn),能夠融洽的在一起工作。開(kāi)放系統(tǒng)使得各種類型的網(wǎng)絡(luò)和系統(tǒng)互連簡(jiǎn)單、標(biāo)準(zhǔn)統(tǒng)一,容易擴(kuò)展升級(jí),從而適應(yīng)廣大用戶需求的多變性和產(chǎn)品的更新?lián)Q代。(2)安全性原則數(shù)據(jù)庫(kù)中關(guān)鍵字段,如用戶姓名使用DES加密,用戶的密碼分別使用客戶端MD5加密和服務(wù)器端MD5再加密。即使數(shù)據(jù)庫(kù)被盜,也不會(huì)透露出用戶的個(gè)人關(guān)鍵信息。(3)良好的用戶操作界面用戶操作界面美觀、方便、實(shí)用,使用戶能在較短的時(shí)間內(nèi)掌握其使用方法;同時(shí)使用DWR可以實(shí)現(xiàn)網(wǎng)頁(yè)的局部刷新,從而增加用戶的友好度,使用戶能夠方便使用,最終讓使用本系統(tǒng)成為用戶的一種享受。(4)實(shí)用性原則任何系統(tǒng)的設(shè)計(jì)都要考慮其實(shí)用
40、性,系統(tǒng)開(kāi)發(fā)的目的是為了實(shí)現(xiàn)業(yè)務(wù)處理自動(dòng)化、規(guī)范化,提高工作效率,減輕工作人員的勞動(dòng)強(qiáng)度,減少開(kāi)支,規(guī)范管理。4.1.3 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)(1)系統(tǒng)的處理流程系統(tǒng)的處理流程: 系統(tǒng)啟動(dòng)時(shí),激活身份驗(yàn)證模塊; 通過(guò)身份驗(yàn)證后,對(duì)辦公自動(dòng)化系統(tǒng)管理進(jìn)行初始化;其中包括員工的管理、職位的管理和部門的管理; 系統(tǒng)進(jìn)入消息循環(huán)狀態(tài),通過(guò)點(diǎn)擊鼠標(biāo)激活各個(gè)功能模塊,并執(zhí)行指定模塊; 功能執(zhí)行完畢后重新進(jìn)入消息循環(huán)狀態(tài); 由鼠標(biāo)激活關(guān)閉系統(tǒng)模塊,退出系統(tǒng)。(2)系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)根據(jù)系統(tǒng)的設(shè)計(jì)方案,該系統(tǒng)共分為七個(gè)模塊:登錄模塊、我的辦公桌模塊、辦公申請(qǐng)模塊、事務(wù)管理模塊、文檔管理模塊、會(huì)議管理模塊以及系統(tǒng)管理模塊,
41、其功能模塊結(jié)構(gòu)如圖4-1所示。圖4-1 總體結(jié)構(gòu)圖4.1.4 模塊外部設(shè)計(jì)系統(tǒng)的模塊外部設(shè)計(jì)如表4-1所示。表4-1 模塊外部設(shè)計(jì)表模塊編號(hào)模塊名稱備注模塊編號(hào)模塊名稱備注M 1.1初始化模塊系統(tǒng)初始化M 6.1.1.2刪除文檔目錄僅限管理員M 1.2關(guān)閉系統(tǒng)模塊退出系統(tǒng)M 6.1.1.3查看文檔目錄M 2.1用戶登錄模塊M 6.1.2上傳文檔普通員工無(wú)M 2.2用戶退出模塊M 6.1.3下載文檔M 3.1我的辦公桌M 6.1.4刪除文檔M 3.1.1通訊錄M 7.1修改個(gè)人密碼M 3.1.2日程安排模塊M 8.1會(huì)議管理模塊普通員工無(wú)M 3.1.2.1添加日程M 8.1.1審批會(huì)議M 3.1
42、.2.2刪除日程M 8.1.2刪除會(huì)議申請(qǐng)M 3.1.2.3查看日程M 9.1系統(tǒng)管理模塊僅限管理員M 3.1.3短信管理模塊M 9.1.1部門管理模塊僅限管理員M 3.1.3.1收件箱M 9.1.1.1添加部門M 3.1.3.2發(fā)件箱M 9.1.1.2刪除部門M 4.1辦公申請(qǐng)模塊M 9.1.1.3修改部門M 4.1.1添加申請(qǐng)M 9.1.2員工管理模塊僅限管理員M 4.1.2查看申請(qǐng)M 9.1.2.1添加員工M 4.1.3刪除申請(qǐng)M 9.1.2.2刪除員工M 5.1事務(wù)管理模塊僅限管理員M 9.1.2.3修改員工M 5.1.1刪除事務(wù)M 9.1.3職位管理模塊僅限管理員M 5.1.2事務(wù)登
43、記M 9.1.3.1添加職位M 6.1文檔管理模塊M 9.1.3.2刪除職位M 6.1.1文檔目錄模塊僅限管理員M 9.1.3.3修改職位M 6.1.1.1添加文檔目錄僅限管理員4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的重要組成部分之一。一個(gè)成功的數(shù)據(jù)庫(kù)設(shè)計(jì)不僅能大大提高系統(tǒng)的整體性能,同時(shí)提高開(kāi)發(fā)質(zhì)量和開(kāi)發(fā)效率,并且方便系統(tǒng)日后的升級(jí)和擴(kuò)展,將直接影響到系統(tǒng)的產(chǎn)品化程度15。下面來(lái)詳細(xì)的介紹一下關(guān)于本系統(tǒng)中的數(shù)據(jù)庫(kù)設(shè)計(jì)以及各個(gè)表之間的關(guān)聯(lián)關(guān)系。4.2.1 設(shè)計(jì)原則一般來(lái)說(shuō),在一個(gè)應(yīng)用系統(tǒng)的分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和試運(yùn)行階段,因?yàn)閿?shù)據(jù)量較小,設(shè)計(jì)人員和測(cè)試人員往往只注意到功能的實(shí)現(xiàn),但是卻很難注
44、意到性能的薄弱之處,等到系統(tǒng)投入到實(shí)際運(yùn)行一段時(shí)間后,隨著數(shù)據(jù)的日益膨脹和應(yīng)用范圍的擴(kuò)大,才發(fā)現(xiàn)系統(tǒng)性能在降低,這時(shí)再考慮提高性能則要花費(fèi)更多的人力和物力,而整個(gè)系統(tǒng)也不可避免的形成一個(gè)補(bǔ)丁工程。因此,在設(shè)計(jì)階段,對(duì)于系統(tǒng)影響較大的數(shù)據(jù)庫(kù)的設(shè)計(jì)應(yīng)該科學(xué)化。結(jié)合本系統(tǒng)的開(kāi)發(fā)特點(diǎn),主要體現(xiàn)在以下幾個(gè)基本原則上:(1)規(guī)范命名不同的數(shù)據(jù)庫(kù)產(chǎn)品對(duì)對(duì)象的命名有不同的要求,因此,數(shù)據(jù)庫(kù)中的各種對(duì)象的命名、后臺(tái)程序的代碼編寫應(yīng)采用大小寫敏感的形式,各種對(duì)象命名長(zhǎng)度不要超過(guò)30個(gè)字符,這樣便于應(yīng)用系統(tǒng)適應(yīng)不同的數(shù)據(jù)庫(kù)平臺(tái)。(2)數(shù)據(jù)的一致性和完整性為了保證數(shù)據(jù)庫(kù)的一致性和完整性,通常采用多表間的關(guān)聯(lián),盡可能降
45、低數(shù)據(jù)間的冗余。如果數(shù)據(jù)冗余低,數(shù)據(jù)的完整性統(tǒng)一得到保證,但是也增加了表間連接查詢的操作,為了提高系統(tǒng)的響應(yīng)時(shí)間,合理的數(shù)據(jù)冗余也是必要的。使用規(guī)則和約束來(lái)防止系統(tǒng)操作人員誤輸入造成數(shù)據(jù)的錯(cuò)誤是設(shè)計(jì)人員的另一種常用手段,但是,不必要的規(guī)則和約束也會(huì)占用系統(tǒng)不必要的開(kāi)銷,需要注意的是,約束對(duì)數(shù)據(jù)的有效性驗(yàn)證要比規(guī)則快。所有的這些,設(shè)計(jì)人員在設(shè)計(jì)階段應(yīng)根據(jù)系統(tǒng)操作的類型、頻度加以均衡的考慮。(3)數(shù)據(jù)庫(kù)性能調(diào)整在計(jì)算機(jī)硬件配置和網(wǎng)絡(luò)設(shè)計(jì)確定的情況下,影響到應(yīng)用系統(tǒng)性能的因素不外乎為數(shù)據(jù)庫(kù)性能和客戶端程序設(shè)計(jì)。而大多數(shù)數(shù)據(jù)庫(kù)設(shè)計(jì)員采用兩步法進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì):首先進(jìn)行邏輯設(shè)計(jì),而后進(jìn)行物理設(shè)計(jì)16。數(shù)據(jù)
46、庫(kù)邏輯設(shè)計(jì)去除了所有冗余數(shù)據(jù),提高了數(shù)據(jù)吞吐速度,保證了數(shù)據(jù)的完整性,清楚地表達(dá)數(shù)據(jù)元素之間的關(guān)系。當(dāng)然,物理設(shè)計(jì)需要折中考慮,根據(jù)業(yè)務(wù)規(guī)則,確定對(duì)關(guān)聯(lián)表的數(shù)據(jù)量大小、數(shù)據(jù)項(xiàng)的訪問(wèn)頻度,對(duì)此類數(shù)據(jù)表頻繁的關(guān)聯(lián)查詢應(yīng)適當(dāng)提高數(shù)據(jù)冗余設(shè)計(jì)。4.2.2 數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)邏輯設(shè)計(jì)即是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)以及概念模型的過(guò)程。為了描述數(shù)據(jù)庫(kù)結(jié)構(gòu)的概念模式,這里采用實(shí)體聯(lián)系圖來(lái)描述主要的實(shí)體。(1)用戶實(shí)體-聯(lián)系圖如圖4-3所示。圖4-3 用戶實(shí)體-聯(lián)系圖(2)事務(wù)實(shí)體-聯(lián)系圖如圖4-4所示。圖4-4 事務(wù)實(shí)體-聯(lián)系圖(3)會(huì)議實(shí)體-聯(lián)系圖如圖4-5所示。圖4-5 會(huì)議實(shí)體-聯(lián)系圖(4)文檔
47、實(shí)體-聯(lián)系圖如圖4-6所示。圖4-6 文檔實(shí)體-聯(lián)系圖(5)職位實(shí)體-聯(lián)系圖如圖4-7所示。圖4-7 職位實(shí)體-聯(lián)系圖由于本系統(tǒng)涉及的實(shí)體比較多,在此只畫出了重要的實(shí)體-聯(lián)系圖。根據(jù)上面所畫的實(shí)體-聯(lián)系圖,將實(shí)體之間的關(guān)系圖轉(zhuǎn)換出來(lái)。其中系統(tǒng)的總體的E-R圖如下圖4-8所示。圖4-8 系統(tǒng)總體E-R圖4.2.3 數(shù)據(jù)庫(kù)物理設(shè)計(jì)(1)表匯總表4-2 表匯總表名功能說(shuō)明tb_meetiongRoom會(huì)議室表:存儲(chǔ)會(huì)議室使用情況。tb_meeting會(huì)議記錄表:存儲(chǔ)會(huì)議記錄情況。tb_affairs事務(wù)表:存儲(chǔ)待審批申請(qǐng)表。tb_affairsType事務(wù)類型表:存儲(chǔ)審批表類型。tb_message
48、短消息表:存儲(chǔ)用戶發(fā)送的消息。tb_schedule日程表:存儲(chǔ)用戶保存的日程安排信息。tb_addesssBook通訊錄表:存儲(chǔ)用戶的聯(lián)系人信息。tb_document文檔表:存儲(chǔ)上傳文檔的信息。tb_docType文檔類型表:存儲(chǔ)文檔分類信息。tb_pasition職位表:存儲(chǔ)公司職位信息。tb_user用戶表:存儲(chǔ)用戶的信息。tb_department部門表:存儲(chǔ)部門的分類。(2)數(shù)據(jù)庫(kù)表的設(shè)計(jì) 會(huì)議室表表4-3 tb_meetingRoom表列名描述數(shù)據(jù)類型(精度范圍)空/非空約束條件id編號(hào)int非空主鍵name會(huì)議室名稱varchar(20)非空container容納人數(shù)varch
49、ar(20)非空address會(huì)議室地址varchar(50)非空state會(huì)議室使用狀態(tài)varchar(20) 會(huì)議記錄表表4-4 tb_meeting表列名描述數(shù)據(jù)類型(精度范圍)空/非空約束條件id會(huì)議編號(hào)int非空主鍵theme會(huì)議主題varchar(20)非空state會(huì)議狀態(tài)varchar(20)非空content會(huì)議內(nèi)容varchar(255)非空beginning會(huì)議開(kāi)始時(shí)間date非空ending會(huì)議結(jié)束時(shí)間date非空compere主持人varchar(20)非空count會(huì)議人數(shù)varchar(20)非空comment會(huì)議備注varchar(200)meetingRoom
50、_id會(huì)議室編號(hào)varchar(20)非空外鍵 事務(wù)表表4-5 tb_affairs表列名描述數(shù)據(jù)類型(精度范圍)空/非空約束條件id編號(hào)int非空主鍵applicant申請(qǐng)人varchar(20)非空applicant_time申請(qǐng)時(shí)間date非空content內(nèi)容varchar(255)非空approve批準(zhǔn)人varchar(20)非空comment備注varchar(200)approve_time批準(zhǔn)時(shí)間date非空state狀態(tài)varchar(20)非空affairs_type事務(wù)類別varchar(20)非空外鍵 事務(wù)類型表表4-6 tb_affairsType表列名描述數(shù)據(jù)類型(
51、精度范圍)空/非空約束條件id編號(hào)int非空主鍵type類別varchar(20)非空 短消息表表4-7 tb_message表列名描述數(shù)據(jù)類型(精度范圍)空/非空約束條件id編號(hào)int(10)非空主鍵title標(biāo)題varchar(100)非空receiverId收件人IDint非空content內(nèi)容varchar(2000)非空user發(fā)件人varchar(20)非空userId發(fā)件人IDinttime發(fā)件時(shí)間varchar(255)非空當(dāng)前系統(tǒng)時(shí)間 日程表表4-8 tb_schedule表列名描述數(shù)據(jù)類型(精度范圍)空/非空約束條件id編號(hào)int非空主鍵title日程標(biāo)題varchar(2
52、0)非空summary日程摘要varchar(200)非空content日程內(nèi)容varchar(255)非空userId當(dāng)前用戶IDint非空當(dāng)前用戶IdcurrentTime日程提交時(shí)間varchar(200)當(dāng)前系統(tǒng)時(shí)間 通訊錄表表4-9 tb_addessBook表列名描述數(shù)據(jù)類型(精度范圍)空/非空約束條件id編號(hào)int非空主鍵userId用戶的編號(hào)int非空 文檔表表4-10 tb_document表列名描述數(shù)據(jù)類型(精度范圍)空/非空約束條件doc_id編號(hào)int非空主鍵doc_name文檔名稱varchar(50)docType文檔類型編號(hào)int非空外鍵department部門編
53、號(hào)int非空外鍵uploadDate上傳時(shí)間varchar(20)size上傳文件的大小varchar(200) 文檔類型表表4-11 tb_docType表列名描述數(shù)據(jù)類型(精度范圍)空/非空約束條件dt_id文檔類型編號(hào)int非空主鍵dt_name文檔類型的名稱varchar(20)dep_id部門編號(hào)int外鍵 職位表表4-12 tb_position表列名描述數(shù)據(jù)類型(精度范圍)空/非空約束條件id編號(hào)int非空主鍵positionname職位的名稱varchar(20)departmentId部門編號(hào)int外鍵 用戶表表4-13 tb_user表列名描述數(shù)據(jù)類型(精度范圍)空/非空約束條件id編號(hào)int非空主鍵employeeid員工在公司的編號(hào)varchar(20)password登陸密碼varchar(20)name員工姓名varchar(20)續(xù)表 4-13列名描述數(shù)據(jù)類型(精度范圍)空/非空約束條件age員工年齡intbegindate入職日期dategender性別char(2)state員工狀態(tài)varchar(20)departmentid員
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 訂貨協(xié)議法律效力
- 代理收款合同模板
- 技術(shù)教育與培訓(xùn)
- 招標(biāo)文件范本搖號(hào)定標(biāo)的法律要求
- 工薪族鞋購(gòu)買協(xié)議
- 地鐵項(xiàng)目施工方案招標(biāo)
- 招標(biāo)采購(gòu)合同中的合同解除管理程序
- 招標(biāo)文件示范文本
- 筆記本電腦購(gòu)銷合同樣本
- 服務(wù)合同范本集合
- 工廠車間環(huán)境監(jiān)測(cè)控制系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
- 三級(jí)英語(yǔ)閱讀習(xí)題(3篇)
- 辦公室、宿舍現(xiàn)場(chǎng)處置方案
- “阿里巴巴”并購(gòu)“餓了么”案例分析
- 人教版初中九年級(jí)英語(yǔ)全冊(cè)單詞(按詞性分類)-
- 老年人學(xué)習(xí)使用智能手機(jī)之基本功能
- 110kV輸變電工程旁站監(jiān)理方案含流程圖
- YY 0833-2011肢體加壓理療設(shè)備
- MT 97-1992液壓支架千斤頂技術(shù)條件
- GB/Z 19964-2005光伏發(fā)電站接入電力系統(tǒng)技術(shù)規(guī)定
- 2022極狐(GitLab)遠(yuǎn)程辦公白皮書
評(píng)論
0/150
提交評(píng)論