辦公自動(dòng)化管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
辦公自動(dòng)化管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
辦公自動(dòng)化管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
辦公自動(dòng)化管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
辦公自動(dòng)化管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘要隨著信息技術(shù)的發(fā)展,能夠?qū)崿F(xiàn)信息交換與共享、協(xié)同工作,并協(xié)助公司管理與決策的辦公自動(dòng)化系統(tǒng),已成為企事業(yè)單位新的運(yùn)作模式。本文首先闡述了課題的背景,以及國(guó)內(nèi)外OA系統(tǒng)的發(fā)展現(xiàn)狀。文中重點(diǎn)闡述了系統(tǒng)主要模塊的實(shí)現(xiàn)方法,關(guān)鍵技術(shù),數(shù)據(jù)庫(kù)設(shè)計(jì)。系統(tǒng)按照MVC模式把程序分為三個(gè)核心模塊:模型、視圖和控制器。分別采用JSP、SERVLET實(shí)現(xiàn)三種角色,完成系統(tǒng)的功能。通過(guò)對(duì)辦公OA系統(tǒng)的功能的需求分析,確立了系統(tǒng)目標(biāo),提出了系統(tǒng)實(shí)施方案。用戶可以以不同的身份登入,通過(guò)權(quán)限管理確定登錄的用戶對(duì)各個(gè)模塊能進(jìn)行的各類操作。本系統(tǒng)通過(guò)Hibernate訪問關(guān)系數(shù)據(jù)庫(kù),將辦公系統(tǒng)和業(yè)務(wù)系統(tǒng)有效地集成。在功能模

2、塊設(shè)計(jì)上,該系統(tǒng)主要設(shè)計(jì)了日常管理、考勤管理、計(jì)劃制定、審核管理、員工管理和通訊管理功能模塊。關(guān)鍵詞:辦公自動(dòng)化(OA),JSP,Hibernate ABSTRACTWith the development of information technology, People ask office automation system can help people to exchange and share information, teamwork as well as governance and decision-making, improving the efficiency of th

3、e enterprise, to enhance core competence.This issue describes the article background at first, and the developing situation of the OA system in the world. Through the understanding of the technology of enterprise-level J2EE, we get the technical reserve for the research of the topic. The article foc

4、uses on the method of main modules of the system, the key technology, and design of database. The system divides the procedure into three core modules accordance to the MVC model system: model, view and controller. Using JSP and SERVLET to achieve three roles and the function of the system.According

5、 to analyze the needs of the functions of OA, establish the goal of the system, and bring forward the project. Users can enter in different identities; users through the control can operate all modules. This system entry the relational database through Hibernate, integrating office systems and busin

6、ess system effectively. In the design of functional module, the system mainly design the modules of daily management, checking attendance management, making planning, auditing management, staff management and communication management.Keywords: Office Automation(OA),JSP,Hibernate目錄摘要IABSTRACTII第1章 引言

7、11.1 背景11.2 國(guó)內(nèi)外研究現(xiàn)狀11.3 研究?jī)?nèi)容3第2章 OA系統(tǒng)開發(fā)方法52.1 OA系統(tǒng)開發(fā)技術(shù)52.1.1 MVC簡(jiǎn)介52.1.2 Struts的體系結(jié)構(gòu)與工作原理62.1.3 Struts的組件及工作原理82.2 數(shù)據(jù)庫(kù)訪問技術(shù)102.2.1 Hibernate簡(jiǎn)介102.2.2 SQL SERVER2000 簡(jiǎn)介112.3 Myeclipse應(yīng)用服務(wù)開發(fā)平臺(tái)122.4 Tomcat服務(wù)器平臺(tái)簡(jiǎn)介132.5 本章小結(jié)13第3章OA系統(tǒng)需求分析153.1 系統(tǒng)需求153.1.1 系統(tǒng)性能需求153.1.2 系統(tǒng)功能需求153.2 系統(tǒng)總體設(shè)計(jì)目標(biāo)163.3 本章小結(jié)17第4章 數(shù)

8、據(jù)庫(kù)設(shè)計(jì)184.1 數(shù)據(jù)庫(kù)結(jié)構(gòu)分析與創(chuàng)建184.2 概念結(jié)構(gòu)設(shè)計(jì)194.3 邏輯結(jié)構(gòu)設(shè)計(jì)204.4 數(shù)據(jù)庫(kù)安全性和完整性224.4.1 數(shù)據(jù)庫(kù)的安全性224.4.2 數(shù)據(jù)庫(kù)的完整性234.5 本章小結(jié)24第5章 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)255.1 系統(tǒng)總體設(shè)計(jì)255.1.1 普通用戶端模塊基本功能285.1.2 管理員端模塊基本功能295.2 普通用戶端模塊設(shè)計(jì)與技術(shù)實(shí)現(xiàn)305.2.1 日常管理模塊305.2.2 考勤管理模塊315.2.3 計(jì)劃制定模塊315.2.4 審核管理模塊335.2.5 員工管理和通訊管理模塊345.3 管理員端模塊設(shè)計(jì)與技術(shù)實(shí)現(xiàn)345.3.1 日常管理更新模塊355.3.2

9、考勤管理添加模塊365.3.3 計(jì)劃制定維護(hù)模塊385.3.4 審核管理維護(hù)模塊395.3.5 員工管理維護(hù)模塊415.3.6 通訊管理維護(hù)模塊435.4 軟件測(cè)試與完善435.5 本章小結(jié)43第6章 設(shè)計(jì)修改中遇到的問題及解決方法44第7章 結(jié)束語(yǔ)45致謝46參考文獻(xiàn)4747第1章 引言1.1 背景信息化是當(dāng)今世界科技、經(jīng)濟(jì)和社會(huì)發(fā)展的重要趨勢(shì),信息產(chǎn)業(yè)是高新技術(shù)和新興產(chǎn)業(yè)的主要代表,信息技術(shù)已遍及社會(huì)各個(gè)領(lǐng)域,成為未來(lái)發(fā)展的戰(zhàn)略制高點(diǎn)1。信息化是一個(gè)過(guò)程。信息化不是買了設(shè)備、鋪設(shè)了網(wǎng)絡(luò)、找家公司幫忙建設(shè)一個(gè)信息管理系統(tǒng)就算完成了,這只是一個(gè)基礎(chǔ),在具備基礎(chǔ)之后,更大的問題是應(yīng)用,而且需要不

10、斷學(xué)習(xí)的“應(yīng)用”。辦公自動(dòng)化2(Office Automation,簡(jiǎn)稱OA)是將現(xiàn)代化辦公網(wǎng)絡(luò)功能結(jié)合起來(lái)的一種新型的辦公方式,是具有很強(qiáng)生命力的技術(shù)應(yīng)用領(lǐng)域,是信息化社會(huì)的產(chǎn)物。組織機(jī)構(gòu)內(nèi)部的人員可跨越時(shí)間、地點(diǎn)協(xié)同工作。通過(guò)OA系統(tǒng)使信息的傳遞更加快捷和方便,從而極大地?cái)U(kuò)展了辦公手段,實(shí)現(xiàn)了辦公的高效率。過(guò)去,計(jì)算機(jī)所帶來(lái)的辦公自動(dòng)化僅僅是提高了個(gè)人工作的效率,幫助你文字處理以及進(jìn)行簡(jiǎn)單的人事管理、財(cái)務(wù)管理等。而現(xiàn)在所說(shuō)的辦公自動(dòng)化,應(yīng)該是以網(wǎng)絡(luò)為依托,在企業(yè)內(nèi)部進(jìn)行暢通的信息交流。在這種模式下,企業(yè)成為一個(gè)大辦公室,它下面的財(cái)務(wù)、人事、行政、業(yè)務(wù)等部門都成為企業(yè)信息流中的一個(gè)環(huán)節(jié),而不

11、再是一個(gè)個(gè)的信息孤島。依靠這種模式,企業(yè)的組織結(jié)構(gòu)能夠得到簡(jiǎn)化,各個(gè)部門在信息共享的基礎(chǔ)上進(jìn)行協(xié)作,便于明確各個(gè)部門甚至每個(gè)員工的責(zé)任,而決策層可以迅速綜合來(lái)自各個(gè)方面的信息,并以此為依據(jù)制定企業(yè)的戰(zhàn)略決策。推行辦公自動(dòng)化,既是一次觀念意識(shí)的轉(zhuǎn)變,也是一次工作方式的革命。辦公自動(dòng)化系統(tǒng)是實(shí)現(xiàn)辦公現(xiàn)代化、信息資源化、傳輸網(wǎng)絡(luò)化和決策科學(xué)化的具有戰(zhàn)略意義的信息系統(tǒng)。與此同時(shí),企業(yè)為了適應(yīng)信息革命的要求,提高自身的競(jìng)爭(zhēng)力,建立符合企業(yè)特色的辦公自動(dòng)化信息系統(tǒng)勢(shì)在必行。1.2 國(guó)內(nèi)外研究現(xiàn)狀辦公自動(dòng)化是20世紀(jì)70年代中期發(fā)展起來(lái)的綜合性跨學(xué)科的技術(shù)3,它以行為科學(xué)為主導(dǎo),系統(tǒng)科學(xué)為理論基礎(chǔ),綜合運(yùn)用

12、計(jì)算機(jī)技術(shù)及通信技術(shù)完成各項(xiàng)辦公業(yè)務(wù)。一般認(rèn)為到目前為止辦公自動(dòng)化的發(fā)展經(jīng)歷了三個(gè)階段4。 第一階段:以個(gè)人電腦和辦公套件為主要特征,應(yīng)用于文件系統(tǒng)和關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),以結(jié)構(gòu)化數(shù)據(jù)為存儲(chǔ)和處理對(duì)象,強(qiáng)調(diào)對(duì)數(shù)據(jù)的計(jì)算和統(tǒng)計(jì)能力,實(shí)現(xiàn)了數(shù)據(jù)統(tǒng)計(jì)和文檔寫作電子化,完成了辦公信息載體從原始紙介質(zhì)向電子介質(zhì)的飛躍,實(shí)現(xiàn)了個(gè)體工作的自動(dòng)化。 第二階段:隨著局域網(wǎng)、廣域網(wǎng)和因特網(wǎng)的高速發(fā)展,辦公自動(dòng)化的內(nèi)涵也發(fā)生了變化。該階段的辦公自動(dòng)化是以網(wǎng)絡(luò)為中心,以非結(jié)構(gòu)化數(shù)據(jù)的信息流(或工作流)為主要存儲(chǔ)和處理對(duì)象,有利于在企業(yè)內(nèi)部建立通信基礎(chǔ)平臺(tái)。不僅提高了辦公的效率,還增強(qiáng)了系統(tǒng)的安全性。 第三階段:1996年

13、,世界“經(jīng)濟(jì)合作與發(fā)展組織5” (Organization for Economic Cooperation and Development, OECD)在科學(xué)技術(shù)和產(chǎn)業(yè)展望的報(bào)告中首先提出了“以知識(shí)為基礎(chǔ)的經(jīng)濟(jì)”的概念。該階段的辦公自動(dòng)化是以知識(shí)管理為核心。知識(shí)經(jīng)濟(jì)時(shí)代的辦公以達(dá)到企業(yè)的最終目標(biāo)為目的。在電子商務(wù)時(shí)代要求企業(yè)與機(jī)構(gòu)的日常業(yè)務(wù)處理基礎(chǔ)平臺(tái)的辦公自動(dòng)化系統(tǒng)能夠提供足夠的靈活應(yīng)變能力和開放交互能力。同時(shí)辦公過(guò)程中人員之間的溝通、協(xié)調(diào)和控制也應(yīng)在辦公自動(dòng)化系統(tǒng)中得以實(shí)現(xiàn),從而幫助企業(yè)解決如何定位擁有專門知識(shí)的人,如何傳遞這些知識(shí),以及如何有效利用知識(shí)等問題,進(jìn)一步達(dá)到在恰當(dāng)?shù)臅r(shí)間,將

14、正確的知識(shí)傳給正確的人,幫助企業(yè)提高整體業(yè)務(wù)水平。 1985年在我國(guó)第一次辦公自動(dòng)化規(guī)劃討論會(huì)上提出了辦公自動(dòng)化的定義:“辦公自動(dòng)化是指利用先進(jìn)的科學(xué)技術(shù),不斷地使人們的一部分辦公業(yè)務(wù)活動(dòng)物化于人以外的各種設(shè)備中,并由這些設(shè)備與辦公室工作人員構(gòu)成服務(wù)于某種目標(biāo)的信息處理系統(tǒng)”。辦公自動(dòng)化在我國(guó)經(jīng)歷了從個(gè)人辦公自動(dòng)化到網(wǎng)絡(luò)協(xié)作辦公的過(guò)程。 目前國(guó)外辦公自動(dòng)化技術(shù)的發(fā)展比較成熟,特別是群件產(chǎn)品如Lotus Notes和Microsoft Exchange6的出現(xiàn)使辦公自動(dòng)化軟件得到了廣泛的應(yīng)用。它提供的工作流平臺(tái)及非結(jié)構(gòu)化數(shù)據(jù)庫(kù)的功能使我們可以很方便的實(shí)現(xiàn)非結(jié)構(gòu)化文檔的處理、全文檢索、工作流這些重

15、要的功能。同時(shí)Lotus Notes還提供了與企業(yè)業(yè)務(wù)系統(tǒng)的連接方式,為管理人員提供了一個(gè)統(tǒng)一的操作平臺(tái)。 將來(lái)辦公自動(dòng)化的發(fā)展趨勢(shì)是向信息化和智能化方向發(fā)展7:1)最新、最先進(jìn)的技術(shù)應(yīng)用到辦公自動(dòng)化中網(wǎng)絡(luò)通信技術(shù)的發(fā)展與成熟,不斷地更新人們的辦公方式,數(shù)據(jù)庫(kù)技術(shù)的發(fā) 展,特別是客戶機(jī)/服務(wù)器應(yīng)用模式的發(fā)展,數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)挖掘技術(shù)的興起和發(fā)展,也為辦公自動(dòng)化提供新的技術(shù)基礎(chǔ)。 2)辦公自動(dòng)化系統(tǒng)趨向集成化、網(wǎng)絡(luò)化 辦公自動(dòng)化系統(tǒng)內(nèi)容不斷擴(kuò)展,系統(tǒng)不斷升級(jí),網(wǎng)絡(luò)化使辦公不受地理位置的限制,網(wǎng)絡(luò)辦公和流動(dòng)辦公將給企業(yè)帶來(lái)更多的好處。 3)多媒體技術(shù)使辦公自動(dòng)化系統(tǒng)豐富多彩 引入多媒體技術(shù),使系統(tǒng)具

16、有處理聲音、圖形、圖像、動(dòng)畫、影像等信息的能力,使信息更加豐富、形象、生動(dòng)。 4)樓宇控制的智能化和辦公自動(dòng)化結(jié)合的智能大廈 智能大廈,通常指具有3A功能的大廈,即通信自動(dòng)化(CA),辦公自動(dòng)化(OA)和大樓管理自動(dòng)化(BA),有的還把消防自動(dòng)化(FA)從BA分離出來(lái),把它和大樓各系統(tǒng)綜合起來(lái)組成綜合信息管理自動(dòng)化系統(tǒng)(MA)。將智能大廈與辦公自動(dòng)化系統(tǒng)相結(jié)合,全面實(shí)現(xiàn)計(jì)算機(jī)自動(dòng)控制和管理,且各系統(tǒng)間又互相關(guān)聯(lián),成為一個(gè)整體,從而滿足現(xiàn)代辦公和商業(yè)的各種需求。1.3 研究?jī)?nèi)容1)需求分析 明確用戶的要求和應(yīng)用現(xiàn)場(chǎng)環(huán)境的特點(diǎn),了解系統(tǒng)應(yīng)具有哪些功能以及數(shù)據(jù)流程和數(shù)據(jù)之間的聯(lián)系。應(yīng)用現(xiàn)場(chǎng)進(jìn)行調(diào)研學(xué)

17、習(xí),討論如何解決需求問題,對(duì)調(diào)查結(jié)果進(jìn)行分析,明確問題的所在。將需求分析編寫成“系統(tǒng)需求分析報(bào)告”。系統(tǒng)設(shè)計(jì)可根據(jù)系統(tǒng)的規(guī)模分成概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。本系統(tǒng)的概要設(shè)計(jì)包括:劃分系統(tǒng)模塊;每個(gè)模塊的功能確定;用戶使用界面概要設(shè)計(jì);輸入輸出數(shù)據(jù)的概要設(shè)計(jì);數(shù)據(jù)之間的聯(lián)系、流程分析;文件和數(shù)據(jù)庫(kù)表的邏輯設(shè)計(jì);硬件、軟件開發(fā)平臺(tái)的確定;有規(guī)律數(shù)據(jù)的規(guī)范化及數(shù)據(jù)唯一性要求。2)系統(tǒng)詳細(xì)設(shè)計(jì)系統(tǒng)的詳細(xì)設(shè)計(jì)是對(duì)系統(tǒng)的概要設(shè)計(jì)的進(jìn)一步具體化,其主要工作有:文件和數(shù)據(jù)庫(kù)的物理設(shè)計(jì);輸入輸出記錄的方案設(shè)計(jì);對(duì)各子系統(tǒng)的處理方式和處理內(nèi)容進(jìn)行細(xì)化設(shè)計(jì);編制程序設(shè)計(jì)任務(wù)書。程序設(shè)計(jì)任務(wù)書通常包括程序規(guī)范、功能說(shuō)

18、明、程序結(jié)構(gòu)圖。3)程序設(shè)計(jì)根據(jù)程序設(shè)計(jì)任務(wù)書的要求,用計(jì)算機(jī)語(yǔ)言實(shí)現(xiàn)解題的步驟,主要工作包括:模塊的理解和進(jìn)一步劃分,以模塊為單位的邏輯設(shè)計(jì),也就是模塊內(nèi)的流程圖的編制,編寫代碼,用程序設(shè)計(jì)語(yǔ)言編制程序;進(jìn)行模塊內(nèi)功能的測(cè)試、單元測(cè)試。程序質(zhì)量要求包括:滿足要求的確切功能;處理效率高;用戶操作方便,界面友好;程序代碼的可讀性好,函數(shù)、變量標(biāo)識(shí)符合規(guī)范;擴(kuò)充性、維護(hù)性好。第2章 OA系統(tǒng)開發(fā)方法2.1 OA系統(tǒng)開發(fā)技術(shù)2.1.1 MVC簡(jiǎn)介JSP標(biāo)記只解決了部分問題。我們還得處理驗(yàn)證、流程控制和更新應(yīng)用程序的狀態(tài)等問題。這正是MVC發(fā)揮作用的地方。PC通過(guò)將問題分為三個(gè)類別來(lái)幫助解決單一模塊方

19、法所遇到的某些問題。Model(模型):數(shù)據(jù)庫(kù)專家進(jìn)行數(shù)據(jù)管理和數(shù)據(jù)庫(kù)設(shè)計(jì)模型包含應(yīng)用程序的核心功能。模型封裝了應(yīng)用程序的狀態(tài)。有時(shí)它包含的唯一功能就是狀態(tài)。它對(duì)視圖或控制器一無(wú)所知。View(視圖):界面設(shè)計(jì)人員進(jìn)行圖形界面設(shè)計(jì)視圖提供模型的表示,它是應(yīng)用程序的外觀。視圖可以訪問模型的讀方法,但不能訪問寫方法。此外,它對(duì)控制器一無(wú)所知。當(dāng)更改模型時(shí),視圖應(yīng)得到通知。Controller(控制器):程序員編寫程序應(yīng)有的功能(實(shí)現(xiàn)算法等)控制器對(duì)用戶的輸入信息作出反應(yīng),創(chuàng)建并設(shè)置模型。MVC減弱了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的混合,以及讓視圖層更富于變化。模型、視圖與控制器的分離,使得一個(gè)模型可以

20、具有多個(gè)顯示視圖。如果用戶通過(guò)某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映出這些變化。因此,無(wú)論何時(shí)發(fā)生了何種數(shù)據(jù)的變化,控制器都會(huì)將變化通知到所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化傳播機(jī)制。模型、視圖、控制器三者之間的關(guān)系和各自的主要功能,如圖2-1所示??刂破鞫x應(yīng)用程序能力用戶動(dòng)作映射成模型更新選擇響應(yīng)的視圖視圖解釋模型模型更新請(qǐng)求發(fā)送用戶輸入給控制器允許控制器選擇視圖模型封裝應(yīng)用程序狀態(tài)響應(yīng)狀態(tài)查詢應(yīng)用程序功能通知視圖改變用戶請(qǐng)求視圖選擇通知改變狀態(tài)查詢狀態(tài)改變圖 2-1 MVC組件類型的關(guān)系和功能2.1.2 Struts的體系結(jié)構(gòu)與工作原理St

21、ruts最早是作為Apache Jakarta項(xiàng)目的組成部分問世運(yùn)做的。項(xiàng)目的創(chuàng)立者希望通過(guò)對(duì)該項(xiàng)目的研究,改進(jìn)和提高Java Server Pages (JSPs)、Servlet、標(biāo)簽庫(kù)以及面向?qū)ο蟮募夹g(shù)水準(zhǔn)。Struts是MVC的一種實(shí)現(xiàn),它將Servlet和JSP標(biāo)記(屬于J2EE規(guī)范)用作實(shí)現(xiàn)的一部分。Struts繼承了MVC的各項(xiàng)特性,并根據(jù)J2EE的特點(diǎn),做了相應(yīng)的變化與擴(kuò)展。Struts的體系結(jié)構(gòu)與工作原理如下圖所示:ClientBrowserViewJSPControllerServletModelApplication StateBusiness Login ActionD

22、ispatchstruts-config.xmlGet<Tag>ForwardEventHTTPRequestUpdateHTTPReaponse圖 2-2 Struts的體系結(jié)構(gòu)與工作原理 控制部分:通過(guò)圖2-2可以看到有一個(gè)XML文件Struts-config.xml,與之相關(guān)聯(lián)的是Controller,在Struts中,承擔(dān)MVC中Controller角色的是一個(gè)Servlet,叫ActionServlet。ActionServlet是一個(gè)通用的控制組件。這個(gè)控制組件提供了處理所有發(fā)送到Struts的HTTP請(qǐng)求的入口點(diǎn)。他截取和分發(fā)這些請(qǐng)求到相應(yīng)的動(dòng)作類(這些動(dòng)作類都是Ac

23、tion類的子類)。另外控制組件也負(fù)責(zé)用相應(yīng)的請(qǐng)求參數(shù)填充ActionForm(通常稱之為FormBean),并傳給動(dòng)作類(通常稱之為ActionBean)。動(dòng)作類實(shí)現(xiàn)核心邏輯,它可以訪問Javabean或調(diào)用EJB。最后動(dòng)作類把控制權(quán)傳給后續(xù)的JSP文件,最后生成視圖。所有這些控制邏輯都用Struts-config.xml文件來(lái)配置。視圖部分:主要由JSP生成頁(yè)面完成視圖,Struts提供豐富的JSP標(biāo)簽庫(kù):Html、Bean、Logic、Tiles等,這有利于分開表現(xiàn)界面邏輯和程序邏輯。模型部分:模型以一個(gè)或多個(gè)Java bean的形式存在。這些bean分為三類:ActionForm, A

24、ction, JavaBean or EJB。Action Form通常稱之為FormBean,封裝了來(lái)自于Client的用戶請(qǐng)求信息,如表單信息。Action通常稱之為ActionBean,獲取從ActionSevlet傳來(lái)的FormBean。取出FormBean中的相關(guān)信息,并做出相關(guān)的處理,一般是調(diào)用Java Bean或EJB等。運(yùn)行流程:在Struts中,用戶的請(qǐng)求一般以*.do作為請(qǐng)求服務(wù)名,所有的*.do請(qǐng)求均被指向ActionSevlet,ActionSevlet根據(jù)Struts-config.xml中的配置信息,將用戶請(qǐng)求封裝成一個(gè)指定名稱的FormBean,并將此FormBe

25、an傳至指定名稱的ActionBean,由ActionBean完成相應(yīng)的業(yè)務(wù)操作,如文件操作,數(shù)據(jù)庫(kù)操作等。每一個(gè)*.do均有對(duì)應(yīng)的FormBean名稱和ActionBean名稱,在Struts-config.xml中配置。核心:Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml。2.1.3 Struts的組件及工作原理對(duì)于Struts如何控制、處理客戶請(qǐng)求,我們通過(guò)對(duì)struts的四個(gè)核心組件介紹來(lái)具體說(shuō)明。這四個(gè)組件就是:ActionServlet、Action Classes,Action Mapping以及ActionFro

26、m Bean。1)Struts ActionServletActionServlet繼承自javax.servlet.http.HttpServlet類,其在Struts 體系結(jié)構(gòu)中扮演的角色是控制器,控制器ActionServlet主要負(fù)責(zé)將HTTP的客戶請(qǐng)求信息組裝后,根據(jù)配置文件的指定描述,轉(zhuǎn)發(fā)到適當(dāng)?shù)奶幚砥?。按照Servelt的標(biāo)準(zhǔn),所有的Servlet必須在web配置文件(web.xml)中聲明。同樣,ActoinServlet必須在Web Application配置文件(web.xml)中描述。當(dāng)用戶向服務(wù)器端提交請(qǐng)求的時(shí)候,實(shí)際上信息是首先發(fā)送到控制器ActionServlet,

27、一旦控制器獲得了請(qǐng)求,其就會(huì)將請(qǐng)求信息轉(zhuǎn)交給一些輔助類(help classes)處理。這些輔助類知道如何去處理與請(qǐng)求信息所對(duì)應(yīng)的業(yè)務(wù)操作。在Struts中,這個(gè)輔助類就是org.apache.struts.action.Action。通常開發(fā)者需要自己繼承Aciton類,從而實(shí)現(xiàn)自己的Action實(shí)例。2)Struts Action Classes一個(gè)Action 類的角色,就像客戶請(qǐng)求動(dòng)作和業(yè)務(wù)邏輯處理之間的一個(gè)適配器(Adaptor),其功能就是將請(qǐng)求與業(yè)務(wù)邏輯分開。這樣的分離,使得客戶請(qǐng)求和Action類之間可以有多個(gè)點(diǎn)對(duì)點(diǎn)的映射。而且Action類通常還提供了其它的輔助功能,比如:認(rèn)

28、證(authorization)、日志(logging)和數(shù)據(jù)驗(yàn)證(validation)。3)Struts ActionMapping將特定請(qǐng)求映射到特定Action的相關(guān)信息存儲(chǔ)在ActionMapping中,ActionServelt將ActionMapping傳送到Action類的perform()方法,Action將使用ActionMapping的findForward()方法,此方法返回一個(gè)指定名稱的ActionForward,這樣Action就完成了本地轉(zhuǎn)發(fā)。若沒有找到具體的ActionForward,就返回一個(gè)null。4)Struts ActionForm Bean一個(gè)應(yīng)用系

29、統(tǒng)的消息轉(zhuǎn)移(或者說(shuō)狀態(tài)轉(zhuǎn)移)的非持久性數(shù)據(jù)存儲(chǔ),是由ActionForm Bean負(fù)責(zé)保持的。ActionForm的主要功能就是為Action的操作提供與客戶表單相映射的數(shù)據(jù)(如果在客戶指定的情況下,還包括對(duì)數(shù)據(jù)進(jìn)行校驗(yàn))。Action負(fù)責(zé)對(duì)系統(tǒng)數(shù)據(jù)狀態(tài)的保持,而Action則負(fù)責(zé)根據(jù)業(yè)務(wù)邏輯的需要,對(duì)數(shù)據(jù)狀態(tài)進(jìn)行修改,在改變系統(tǒng)狀態(tài)后,ActionForm則自動(dòng)的回寫新的數(shù)據(jù)狀態(tài)并保持。在ActionForm的使用中,Struts提倡使用到值對(duì)象。這樣將客戶或開發(fā)人員,對(duì)數(shù)據(jù)狀態(tài)與對(duì)象狀態(tài)能夠更加清晰的理解和使用。對(duì)于每一個(gè)客戶請(qǐng)求,Struts 體系結(jié)構(gòu)在處理ActionForm的時(shí)候,

30、一般需要經(jīng)歷如下幾個(gè)步驟: 檢查Action的映射,確定Action中已經(jīng)配置了對(duì)ActionForm的映射; 根據(jù)name屬性,查找formbean的配置信息; 檢查Action的formbean的使用范圍,確定在此范圍下,是否已經(jīng)有此formbean的實(shí)例; 假如在當(dāng)前范圍下,已經(jīng)存在了此formbean的實(shí)例,而且對(duì)當(dāng)前請(qǐng)求來(lái)說(shuō),是同一種類型的話,那么就重用; 否則,就重新構(gòu)建一個(gè)formbean的實(shí)例; formbean的reset()方法被調(diào)用; 調(diào)用對(duì)應(yīng)的set()方法,對(duì)狀態(tài)屬性賦值; 如果validate的屬性值被設(shè)置為true,那么就調(diào)用formbean的validate()

31、方法。如果validate()方法沒有返回任何錯(cuò)誤,控制器將ActionForm作為參數(shù),傳給Action實(shí)例的execute()方法并執(zhí)行。2.2 數(shù)據(jù)庫(kù)訪問技術(shù)2.2.1 Hibernate簡(jiǎn)介Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì) JDBC 進(jìn)行了輕量級(jí)的對(duì)象封裝,使 Java 程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。它不僅提供了從 Java 類到數(shù)據(jù)表之間的映射,也提供了數(shù)據(jù)查詢和恢復(fù)機(jī)制。相對(duì)于使用 JDBC 和 SQL 來(lái)手工操作數(shù)據(jù)庫(kù),Hibernate 可以大大減少操作數(shù)據(jù)庫(kù)的工作量。另外 Hibernate 可以利用代理模式來(lái)簡(jiǎn)化載入類的過(guò)程,這

32、將大大減少利用 Hibernate SQL 從數(shù)據(jù)庫(kù)提取數(shù)據(jù)的代碼的編寫量,從而節(jié)約開發(fā)時(shí)間和開發(fā)成本。Hibernate 可以和多種Web 服務(wù)器或者應(yīng)用服務(wù)器良好集成,如今已經(jīng)支持幾乎所有的流行的數(shù)據(jù)庫(kù)服務(wù)器。 用 Hibernate 開發(fā),在使用它實(shí)現(xiàn) ORM (Object Relational Mapping)(對(duì)象/關(guān)系型數(shù)據(jù)映射)功能的時(shí)候,主要的文件有:映射( *.java )、映射文件( *.hbm.xml )以及數(shù)據(jù)庫(kù)配置文件(*.properties 或 *.cfg.xml

33、 ),它們各自的作用如下。1)映射類 :它的作用是描述數(shù)據(jù)庫(kù)表的結(jié)構(gòu),表中的字段在類中被描述成屬性,將來(lái)就可以實(shí)現(xiàn)把表中的記錄映射成為該類的對(duì)象。2)映射文件 :它的作用是指定數(shù)據(jù)庫(kù)表和映射類之間的關(guān)系,包括映射類和數(shù)據(jù)庫(kù)表的對(duì)應(yīng)關(guān)系、表字段和類屬性類型的對(duì)應(yīng)關(guān)系以及表字段和類屬性名稱的對(duì)應(yīng)關(guān)系等。3)數(shù)據(jù)庫(kù)配置文件 :它的作用是指定與數(shù)據(jù)庫(kù)連接時(shí)需要的連接信息,比如連接哪個(gè)數(shù)據(jù)庫(kù)、登錄用戶名、登錄密碼以及連接字符串等。在這三種主要的文件中,映射類為普通 Java 源文件,映射文件為 XML 格式,數(shù)據(jù)庫(kù)配置文件為

34、 Properties 格式或者是 XML 格式。下面介紹一下Hibernate運(yùn)行過(guò)程:1.啟動(dòng)Hibernate。2.構(gòu)建Configuration實(shí)例,初始化實(shí)例中的所有變量。Configuration cfg=new Configuration.configure();加載hibernate.cfg.xml文件至該實(shí)例(內(nèi)存)。通過(guò)hibernate.cfg.xml文件中的mapping節(jié)點(diǎn)配置并加載.hbm.xml文件至該實(shí)例(內(nèi)存)。3.利用上面創(chuàng)建的Configuration實(shí)例構(gòu)建一個(gè)SessionFactory實(shí)例。SessionFac

35、tory sessionFactory=cfg.getSessionFactory();4.由上面創(chuàng)建的SessionFactory實(shí)例創(chuàng)建連接。Session=sessionFactory.getSession();5.由上面得到的Session實(shí)例創(chuàng)建事務(wù)操作接口,Transaction的一個(gè)實(shí)例tx。Transaction tx=session.beginTransaction();6.通過(guò)Session接口提供的各種方法操縱對(duì)數(shù)據(jù)庫(kù)的訪問。7.提交數(shù)據(jù)操作結(jié)果。mit();8.關(guān)閉數(shù)據(jù)連接。 session.close();2.2.2 SQL SERVER2000 簡(jiǎn)介SQL Serv

36、er 2000是Microsoft公司推出的SQL Server數(shù)據(jù)庫(kù)管理系統(tǒng)的新版本,該版本繼承了SQL Server 7.0 版本的優(yōu)點(diǎn),同時(shí)又比它增加了許多更先進(jìn)的功能,具有使用方便、可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn)??煽缭綇倪\(yùn)行Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺(tái)使用。SQL Server 2000的特性包括: Internet集成。SQL Server 2000數(shù)據(jù)庫(kù)引擎提供完整的XML支持。它還具有構(gòu)成最大的 Web 站點(diǎn)的數(shù)據(jù)存儲(chǔ)組件所需的可伸縮性、可用性和安全功能。SQL

37、Server 2000 程序設(shè)計(jì)模型與Windows DNA構(gòu)架集成,用以開發(fā)Web應(yīng)用程序,并且SQL Server 2000支持English Query和 Microsoft搜索服務(wù)等功能,在Web應(yīng)用程序中包含了用戶友好的查詢和強(qiáng)大的搜索功能。可伸縮性和可用性。同一個(gè)數(shù)據(jù)庫(kù)引擎可以在不同的平臺(tái)上使用,從運(yùn)行Microsoft Windows98的便攜式電腦,到運(yùn)行Microsoft Windows 2000 數(shù)據(jù)中心版的大型多處理器服務(wù)器。SQL Server 2000企業(yè)版支持聯(lián)合服務(wù)器、索引視圖和大型內(nèi)存支持等功能,使其得以升級(jí)到最大Web站點(diǎn)所需的性能級(jí)別。企業(yè)級(jí)數(shù)據(jù)庫(kù)功能。SQ

38、L Server 2000關(guān)系數(shù)據(jù)庫(kù)引擎支持當(dāng)今苛刻的數(shù)據(jù)處理環(huán)境所需的功能。數(shù)據(jù)庫(kù)引擎充分保護(hù)數(shù)據(jù)完整性,同時(shí)管理上千個(gè)并發(fā)修改數(shù)據(jù)庫(kù)的用戶,使開銷減到最小。SQL Server 2000分布式查詢可以引用來(lái)自不同數(shù)據(jù)源的數(shù)據(jù),就好像這些數(shù)據(jù)是SQL Server 2000數(shù)據(jù)庫(kù)的一部分,同時(shí)分布式事務(wù)支持充分保護(hù)任何分布式數(shù)據(jù)更新的完整性。復(fù)制同樣可以維護(hù)多個(gè)數(shù)據(jù)復(fù)本,同時(shí)確保單獨(dú)的數(shù)據(jù)復(fù)本保持同步。可將一組數(shù)據(jù)復(fù)制到多個(gè)移動(dòng)的脫接用戶,使這些用戶自主地工作,然后將他們所做的修改合并后回發(fā)給服務(wù)器。易于安裝、部署和使用。SQL Server 2000中包括一系列管理和開發(fā)工具,這些工具可改

39、進(jìn)在多個(gè)站點(diǎn)上安裝、部署、管理和使用SQL Server 的過(guò)程。SQL Server 2000還支持基于標(biāo)準(zhǔn)的、與Windows DNA 集成的程序設(shè)計(jì)模型,使SQL Server數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)的使用成為生成強(qiáng)大的可伸縮系統(tǒng)的無(wú)縫部分。這些功能使您得以快速交付SQL Server應(yīng)用程序,使客戶只需最少的安裝和管理開銷即可實(shí)現(xiàn)這些應(yīng)用程序。數(shù)據(jù)倉(cāng)庫(kù)。SQL Server 2000中包括析取和分析匯總數(shù)據(jù)以進(jìn)行聯(lián)機(jī)分析處理 (OLAP) 的工具。SQL Server 中還包括一些工具,可用來(lái)直觀地設(shè)計(jì)數(shù)據(jù)庫(kù)并通過(guò)English Query來(lái)分析數(shù)據(jù)。2.3 Myeclipse應(yīng)用服務(wù)開發(fā)平臺(tái)

40、MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML、Struts、JSF、CSS、Javascript、SQL、Hibernate。在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:1. J2EE模型2. WEB開發(fā)工具3. EJB開發(fā)工具4. 應(yīng)用程序服務(wù)器的連接器5. J2EE項(xiàng)目部署服務(wù)6. 數(shù)據(jù)庫(kù)服

41、務(wù)7. MyEclipse整合幫助對(duì)于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過(guò)一系列的插件來(lái)實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們?cè)诓挥绊懫渌K的情況下,對(duì)任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。 簡(jiǎn)單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測(cè)試。2.4 Tomcat服務(wù)器平臺(tái)簡(jiǎn)介Tomcat是一個(gè)免費(fèi)的開放源代碼的Servlet容器,它是Apache軟件基金會(huì)(Apache Software Foundation)的一個(gè)頂級(jí)項(xiàng)目,由Apache、Sun和其他一些公司及個(gè)人共同開發(fā)形成。

42、由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn)。因?yàn)門omcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受JAVA愛好者的喜愛,成為目前比較流行的WEB服務(wù)器。Tomcat的一般服務(wù)機(jī)制是:1)客戶端(通常都是瀏覽器)訪問web服務(wù)器,發(fā)送HTTP請(qǐng)求。2)web服務(wù)器接收到請(qǐng)求后,傳遞該Servlet容器。3)Servlet容器加載Servlet,產(chǎn)生Servlet實(shí)例后,向其傳遞表示請(qǐng)求和響應(yīng)的對(duì)象。4)Servlet實(shí)例使用請(qǐng)求對(duì)象得到客戶端的請(qǐng)求信息,然后進(jìn)行相應(yīng)的處理。5)Servlet實(shí)例將處理結(jié)果用響應(yīng)對(duì)象發(fā)送回客戶端,容器負(fù)責(zé)確保響應(yīng)正確

43、送出,同時(shí)將控制返回給web服務(wù)器。2.5 本章小結(jié)良好的開發(fā)環(huán)境和開發(fā)工具是開發(fā)系統(tǒng)的重要條件。本系統(tǒng)采用Hibernate架構(gòu)來(lái)連接數(shù)據(jù)庫(kù)來(lái)完成對(duì)數(shù)據(jù)庫(kù)的添加、修改、刪除和查詢等操作,并采用javaScript語(yǔ)言動(dòng)態(tài)的定位表單,使界面設(shè)計(jì)起來(lái)更加的簡(jiǎn)單。本章主要對(duì)系統(tǒng)的開發(fā)環(huán)境和開發(fā)技術(shù)做了一個(gè)簡(jiǎn)要的介紹。通過(guò)對(duì)Struts架構(gòu)和Hibernate架構(gòu)的分析,了解了整個(gè)系統(tǒng)在運(yùn)行時(shí)的步驟,知道它是按程序中的哪些順序下來(lái)的。Hibernate架構(gòu)的運(yùn)用,更是給編程帶來(lái)了方便,它是對(duì)JDBC數(shù)據(jù)庫(kù)的對(duì)象的封裝。運(yùn)用的Tomcat服務(wù)器支持動(dòng)態(tài)的頁(yè)面,是個(gè)web容器,運(yùn)行JSP頁(yè)面和Servl

44、et,而且在運(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,具有支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能。第3章OA系統(tǒng)需求分析3.1 系統(tǒng)需求3.1.1 系統(tǒng)性能需求本系統(tǒng)設(shè)計(jì)為基于B/S模式,需要記錄大量的數(shù)據(jù)信息,而這些數(shù)據(jù)信息需要同時(shí)能夠提供給使用人員查詢和修改,必然需要一個(gè)大型的數(shù)據(jù)庫(kù)系統(tǒng)和一臺(tái)網(wǎng)絡(luò)服務(wù)器,并且需要建立局域網(wǎng)或是能夠被INTERNET網(wǎng)絡(luò)用戶訪問。對(duì)于客戶機(jī)來(lái)說(shuō),不需要存儲(chǔ)數(shù)據(jù),只需要通過(guò)訪問服務(wù)器,獲得相應(yīng)的服務(wù)。客戶機(jī)可以遠(yuǎn)程訪問數(shù)據(jù)庫(kù),也可以跟服務(wù)器在同一臺(tái)機(jī)子上。企業(yè)所要求的辦公自動(dòng)化管理系統(tǒng)須易于升級(jí)維護(hù),能夠根據(jù)業(yè)務(wù)流程的改變而快速改變;系統(tǒng)各層(客戶端、中間件、

45、數(shù)據(jù)庫(kù)服務(wù)器)要求具有較高的兼容性,容易遷移易于擴(kuò)展,為以后開發(fā)其他模塊預(yù)留接口;實(shí)現(xiàn)高度集成化、動(dòng)態(tài)、靈活、人機(jī)界面交互簡(jiǎn)單友好的辦公自動(dòng)化系統(tǒng)。3.1.2 系統(tǒng)功能需求利用INTERNET技術(shù)來(lái)實(shí)現(xiàn)“無(wú)紙化辦公”這個(gè)概念已經(jīng)深入人心。局域網(wǎng)作為企業(yè)信息化建設(shè)的一個(gè)平臺(tái)在完成資源共享、互聯(lián)網(wǎng)訪問、員工管理、事務(wù)管理等方面發(fā)揮了重要作用。服務(wù)工作、提高工作效率是企業(yè)局域網(wǎng)建設(shè)的核心目標(biāo)和核心價(jià)值。如何利用現(xiàn)有的資源,使之更好地服務(wù)于企業(yè),是企業(yè)辦公中迫切需要解決的問題。就目前而言,有些企業(yè)雖然有自己的局域網(wǎng),但是辦公自動(dòng)化程度不高,網(wǎng)絡(luò)的優(yōu)勢(shì)沒有體現(xiàn)出來(lái)。很多工作還停留在手工操作基礎(chǔ)上,信息的

46、傳達(dá)也是沿用以前的紙質(zhì)文件或電話方式,信息傳輸很不方便,信息共享性很差。為了減輕辦公室人員繁雜的書寫工作、加強(qiáng)企業(yè)信息化程度,我們現(xiàn)將以下工作需求納入到自動(dòng)化辦公管理系統(tǒng)中:日常管理、考情管理、計(jì)劃制定、審核管理、員工管理和通訊管理。其中,用戶可以以不同的身份登錄,系統(tǒng)通過(guò)驗(yàn)證身份,對(duì)其提供不同的服務(wù)。(1)普通用戶界面部分 查看公告、會(huì)議、考勤等日常信息。 增加用戶自己的考勤信息。 提交申請(qǐng),等待審核。 查看部門及企業(yè)計(jì)劃,同時(shí)也可以制定個(gè)人計(jì)劃。(2)管理員界面部分 員工信息的維護(hù),包括刪除、添加、修改。 公告及會(huì)議及時(shí)更新與修改。 用戶管理,查看并可以進(jìn)行修改用戶名和密碼。 制定并公布企

47、業(yè)的部門計(jì)劃和企業(yè)計(jì)劃,可對(duì)其進(jìn)行相應(yīng)的刪除、修改操作。 對(duì)考勤信息一次統(tǒng)計(jì)之后,可在數(shù)據(jù)庫(kù)中刪除之前的記錄。 對(duì)員工的申請(qǐng)進(jìn)行審核,并可對(duì)申請(qǐng)進(jìn)行修改和刪除。 用戶管理,查看并可以進(jìn)行修改用戶名和密碼。3.2 系統(tǒng)總體設(shè)計(jì)目標(biāo)具體說(shuō)來(lái),辦公自動(dòng)化管理系統(tǒng)的建設(shè)需要緊緊圍繞以下四個(gè)目標(biāo)3進(jìn)行:1、能夠滿足公司辦公人員高效率處理日常事務(wù)的工作需要,提供日常管理、考勤管理、計(jì)劃制定、審核管理、員工管理和通訊管理等功能,有效地協(xié)助辦公人員順利完成各項(xiàng)工作。2、采用合理的工作流程方式處理影響工作效率的各個(gè)環(huán)節(jié),最大限度地避免人工傳送實(shí)物的工作。比如會(huì)議通知、各部門通知、公告發(fā)布等,均采用網(wǎng)絡(luò)傳輸以及工

48、作流方式進(jìn)行審批和處理。3、提供自動(dòng)監(jiān)督工作功能,為部門之間實(shí)現(xiàn)真正的協(xié)同工作提供保證,促使部門之間的工作流程由過(guò)去的一環(huán)接一環(huán)的松散結(jié)構(gòu)向緊湊的工作流結(jié)構(gòu)改變,擺脫以往多個(gè)部門協(xié)作時(shí)經(jīng)常出現(xiàn)的互相等待的狀況??傊?,要建設(shè)一個(gè)以工作流為中心的辦公自動(dòng)化系統(tǒng)。該OA系統(tǒng)必須能夠確保企業(yè)各部門以及所有有關(guān)的辦公人員都可以在桌面計(jì)算機(jī)上處理日常工作,在網(wǎng)絡(luò)上完成絕大部分日常事務(wù)的處理和傳送工作,以計(jì)算機(jī)網(wǎng)絡(luò)通信取代磁介質(zhì)和紙介質(zhì)的傳送,提高各部門之間的協(xié)作效率,確保公司領(lǐng)導(dǎo)能夠方便、及時(shí)獲得各種信息和統(tǒng)計(jì)數(shù)據(jù),立即知曉各項(xiàng)工作的進(jìn)展情況。3.3 本章小結(jié)需求分析是介于系統(tǒng)分析和軟件設(shè)計(jì)之間的橋梁。是

49、在設(shè)計(jì)系統(tǒng)時(shí)用戶在功能、行為、性能、設(shè)計(jì)約束等方面的期望。通過(guò)對(duì)應(yīng)問題及其環(huán)境的理解與分析,為問題涉及的信息、功能及系統(tǒng)行為建立模型,將用戶需求精確化、完全化,最終形成需求規(guī)格說(shuō)明,它具有決策性,方向性,策略性的作用,在軟件開發(fā)的過(guò)程中具有舉足輕重的地位。本章主要完成了系統(tǒng)客戶端和服務(wù)器端的模塊功能需求,對(duì)系統(tǒng)的總體設(shè)計(jì)目標(biāo)有了一個(gè)明確的方向,將系統(tǒng)分為客戶端和服務(wù)器端兩方面進(jìn)行考慮,當(dāng)客戶端有用戶登錄時(shí),服務(wù)器端通過(guò)身份識(shí)別,判斷用戶能進(jìn)行哪些操作。在系統(tǒng)中的六個(gè)模塊,即日常管理、考勤管理、計(jì)劃制定、審核管理、人員管理和通訊管理中可以按系統(tǒng)要求,對(duì)系統(tǒng)進(jìn)行操作,其中管理員可以對(duì)信息修改實(shí)現(xiàn)對(duì)

50、數(shù)據(jù)庫(kù)的添加、刪除、更新、查詢等操作。第4章 數(shù)據(jù)庫(kù)設(shè)計(jì)4.1 數(shù)據(jù)庫(kù)結(jié)構(gòu)分析與創(chuàng)建數(shù)據(jù)庫(kù)設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)過(guò)程中首要的和最基本的內(nèi)容。數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心和基礎(chǔ)。它把信息系統(tǒng)中的大量數(shù)據(jù)按照一定的模型組織起來(lái),提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確的從數(shù)據(jù)庫(kù)中獲取所需的信息。一個(gè)信息系統(tǒng)的各個(gè)部分能否緊密的結(jié)合在一起以及如何結(jié)合,關(guān)鍵在數(shù)據(jù)庫(kù)。因此必須對(duì)數(shù)據(jù)庫(kù)進(jìn)行合理設(shè)計(jì)。辦公自動(dòng)化管理系統(tǒng)用戶的需求體現(xiàn)在對(duì)各種信息的提供、保存、更新和查詢等方面。因此,一個(gè)滿足需求的數(shù)據(jù)庫(kù)必須充分滿足對(duì)各種信息的輸入輸出需求。通過(guò)前面對(duì)系統(tǒng)功能模塊的分析與設(shè)計(jì),得出該系統(tǒng)對(duì)數(shù)

51、據(jù)庫(kù)的創(chuàng)建需要滿足以下需求。(1)各位員工都有自己的編號(hào)、所屬部門、職務(wù)等信息。(2)各個(gè)計(jì)劃都有制定人、主題、內(nèi)容等信息。(3)公告有發(fā)布者、發(fā)布時(shí)間、公告內(nèi)容等信息。(4)會(huì)議有主持者、會(huì)議地點(diǎn)、會(huì)議內(nèi)容、會(huì)議時(shí)間等信息。(5)考勤管理中每錄入一次都產(chǎn)生對(duì)應(yīng)的詳細(xì)的列表。(6)每一次申請(qǐng)具有自己的各種信息。(7)員工通訊詳細(xì)信息都有通訊組名及員工的具體的信息。進(jìn)行整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)必須準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)和處理)。需求分析是整個(gè)設(shè)計(jì)過(guò)程的基礎(chǔ),是最困難、最耗費(fèi)時(shí)間的一步。作為地基的需求分析是否做得充分與準(zhǔn)確,決定了在其上構(gòu)建數(shù)據(jù)庫(kù)大廈的速度和質(zhì)量。綜合上面的需求分析,設(shè)計(jì)如下的數(shù)據(jù)

52、項(xiàng)和數(shù)據(jù)結(jié)構(gòu)。(1)員工表信息包括的數(shù)據(jù)項(xiàng):?jiǎn)T工編號(hào)、用戶名、密碼、員工姓名、員工的權(quán)限、部門、職務(wù)、性別、Email、電話、地址、是否是優(yōu)秀員工。(2)通訊詳細(xì)表信息包括的數(shù)據(jù)項(xiàng):通訊組、婚姻狀況、所屬身份及員工信息表中所包含的信息等數(shù)據(jù)項(xiàng)。(3)出差登記表包括的數(shù)據(jù)項(xiàng):出差編號(hào)、出差原因、起始時(shí)間、結(jié)束時(shí)間、姓名、所屬部門、是否已回標(biāo)記。(4)請(qǐng)假登記表包括的數(shù)據(jù)項(xiàng):請(qǐng)假編號(hào)、姓名、所屬部門、請(qǐng)假理由、請(qǐng)假起始時(shí)間、結(jié)束時(shí)間、是否撤銷。(5)外出登記表包括的數(shù)據(jù)項(xiàng):外出編號(hào)、姓名、所屬部門、外出理由、起始時(shí)間、結(jié)束時(shí)間、是否銷假。(6)上下班登記表包括的數(shù)據(jù)項(xiàng):上下班登記編號(hào)、姓名、所屬部

53、門、上/下班登記、上班時(shí)間、下班時(shí)間、標(biāo)注理由、遲到/早退。(7)部門計(jì)劃登記表包括的數(shù)據(jù)項(xiàng):登記編號(hào)、部門名稱、計(jì)劃主題、計(jì)劃內(nèi)容、發(fā)表日期。(8)企業(yè)計(jì)劃登記表包括的數(shù)據(jù)項(xiàng):登記編號(hào)、企業(yè)名稱、計(jì)劃主題、計(jì)劃內(nèi)容、發(fā)表日期。(9)個(gè)人計(jì)劃登記表包括的數(shù)據(jù)項(xiàng):登記編號(hào)、個(gè)人姓名、計(jì)劃主題、計(jì)劃內(nèi)同、發(fā)表日期。(10)會(huì)議登記表包括的數(shù)據(jù)項(xiàng):登記編號(hào)、會(huì)議時(shí)間、出席人、主持人、主題、地點(diǎn)內(nèi)容。(11)公告登記表包括的數(shù)據(jù)項(xiàng):登記編號(hào)、主題、公布人、公布日期、內(nèi)容。(12)審核表包括的數(shù)據(jù)項(xiàng):申請(qǐng)編號(hào)、申請(qǐng)標(biāo)題、內(nèi)容、申請(qǐng)日期、審核標(biāo)記。(13)菜單表包括的數(shù)據(jù)項(xiàng):登記編號(hào)、節(jié)點(diǎn)編號(hào)、菜單名、鏈

54、接地址。(14)通訊組表包括的數(shù)據(jù)項(xiàng):登記編號(hào)、組名。4.2 概念結(jié)構(gòu)設(shè)計(jì) 概念結(jié)構(gòu)設(shè)計(jì)是將分析得到的用戶需求抽象為概念模型的過(guò)程。即在需求分析的基礎(chǔ)上,設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體以及它們之間的相互關(guān)系的概念結(jié)構(gòu)設(shè)計(jì)模型。這樣才能更好地、更準(zhǔn)確地用某一DBMS實(shí)現(xiàn)這些需求。它是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵。概念結(jié)構(gòu)的主要特點(diǎn)是能真實(shí)、充分地反映現(xiàn)實(shí)世界;易于理解;易于更改;易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。描述概念模型的有力工具是E-R模型。 設(shè)計(jì)概念結(jié)構(gòu)通常有四類方法: (1)自頂向下。即首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化;(2)自底向上。即首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來(lái),得到全局概念結(jié)構(gòu); (3)逐步擴(kuò)張。首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu);(4)混合策略。即將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計(jì)一個(gè)全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)。其中最經(jīng)常采用的策略是自底向上方法。即自頂向下進(jìn)行需求分析,然后再自底向上設(shè)計(jì)概念結(jié)構(gòu)。4.3 邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)一般分三步進(jìn)行:(1)將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系,網(wǎng)狀,層次模型;(2)將轉(zhuǎn)化來(lái)的關(guān)系,網(wǎng)狀,層次模型向特定的DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;(3)對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化。對(duì)關(guān)系模式進(jìn)行必要的分解

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論