畢業(yè)論文-基于Web的中小型企業(yè)OA協(xié)同辦公系統(tǒng)設(shè)計與開發(fā)_第1頁
畢業(yè)論文-基于Web的中小型企業(yè)OA協(xié)同辦公系統(tǒng)設(shè)計與開發(fā)_第2頁
畢業(yè)論文-基于Web的中小型企業(yè)OA協(xié)同辦公系統(tǒng)設(shè)計與開發(fā)_第3頁
畢業(yè)論文-基于Web的中小型企業(yè)OA協(xié)同辦公系統(tǒng)設(shè)計與開發(fā)_第4頁
畢業(yè)論文-基于Web的中小型企業(yè)OA協(xié)同辦公系統(tǒng)設(shè)計與開發(fā)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 第二章 技術(shù)簡介2.1 Java簡介Java 編程語言的風(fēng)格十分接近 HYPERLINK /view/10075.htm t /_blank C、 HYPERLINK /view/824.htm t /_blank C+語言。Java是一個純的 HYPERLINK /view/324458.htm t /_blank 面向?qū)ο蟮某绦蛟O(shè)計語言,它繼承了 C+ 語言 HYPERLINK /view/1520586.htm t /_blank 面向?qū)ο蠹夹g(shù)的核心,Java舍棄了C +語言中容易引起錯誤的指針(以引用取代)、運算符重載(operator overloading)、多重繼承(以接口取代

2、)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為 HYPERLINK /view/4541016.htm t /_blank 內(nèi)存管理而擔(dān)憂。在 Java SE 1.5 版本中,Java 又引入了泛型編程(Generic Programming)、類型安全的 HYPERLINK /view/116405.htm t /_blank 枚舉、 不定長參數(shù)和自動裝/拆箱等語言特性。Java 不同于一般的編譯執(zhí)行計算機語言和解釋執(zhí)行計算機語言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機來解釋執(zhí) 行字節(jié)碼,從而實現(xiàn)了“一

3、次編譯、到處執(zhí)行”的跨平臺特性。不過,每次的編譯執(zhí)行需要消耗一定的時間,這同時也在一定程度上降低了 Java 程序的運行效率。但在 J2SE 1.4.2 發(fā)布后, HYPERLINK /picture/229611/229611/0/d66b7e593629fd392834f03c.html?fr=lemma&ct=single o t /_blank Java 的執(zhí)行速度有了大幅提升。與傳統(tǒng)程序不同,Sun 公司在推出 Java 之際就將其作為一種開放的技術(shù)。全球數(shù)以萬計的 Java 開發(fā)公司被要求所設(shè)計的 Java 軟件必須相互兼容。“Java 語言靠群體的力量而非公司的力量”是 Sun

4、公司的口號之一,并獲得了廣大軟件開發(fā)商的認(rèn)同。這與 HYPERLINK /view/39784.htm t /_blank 微軟公司所 倡導(dǎo)的注重精英和封閉式的模式完全不同。 Sun 公司對 Java 編程語言的解釋是:Java 編程語言是個簡單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無關(guān)、可移植、高性能、多線程和動態(tài)的語言。 Java 平臺是基于 Java 語言的平臺。這樣的平臺非常流行,因此微軟公司推出了與之競爭的 HYPERLINK /view/4294.htm t /_blank .NET平臺以及模仿 Java 的 HYPERLINK /view/6590.htm t /_blan

5、k C#語言。2.2 Servlet簡介Servlet稱為Java的服務(wù)器端應(yīng)用小程序,是Sun公司的服務(wù)器端的組件技術(shù)之一。它具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。 它擔(dān)當(dāng)客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。 Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機。Servlet的基本功能與公共網(wǎng)關(guān)接口CGI(common gateway interface

6、)類似,屬于Web服務(wù)器的擴展,是Java平臺下實現(xiàn)動態(tài)網(wǎng)頁的基本技術(shù),具有占用資源少、效率高、可移植性和安全性強等特點。Servlet程序在Servlet容器中運行,嵌入了Servlet容器的Web服務(wù)器就具備提供Servlet服務(wù)的能力。一般Web服務(wù)器主要處理客戶端對靜態(tài)資源(如*.htm文件等)的請求,如果客戶端請求的是Servlet資源,則Web服務(wù)器把這個請求轉(zhuǎn)發(fā)給Servlet容器處理。Servlet容器接受到客戶端的請求后,運行指定的Servlet程序,結(jié)果以HTML等形式返回給客戶端。Servlet容器作為一種插件嵌套在Web服務(wù)器中,通過擴展Web服務(wù)器的功能來提供Serv

7、let服務(wù)3。 HYPERLINK /view/899.htm t /view/_blank 服務(wù)器上需要一些 HYPERLINK /view/17674.htm t /view/_blank 程序,常常是根據(jù)用戶輸入訪問 HYPERLINK /view/1088.htm t /view/_blank 數(shù)據(jù)庫的 HYPERLINK /view/17674.htm t /view/_blank 程序。這些通常是使用 HYPERLINK /view/649193.htm t /view/_blank 公共網(wǎng)關(guān)接口(Common Gateway Interface,CGI)應(yīng)用 HYPERLINK

8、/view/17674.htm t /view/_blank 程序完成的。然而,在 HYPERLINK /view/899.htm t /view/_blank 服務(wù)器上運行 Java,這種 HYPERLINK /view/17674.htm t /view/_blank 程序可使用 Java 編程語言實現(xiàn)。在通信量大的服務(wù)器上, HYPERLINK /view/29.htm t /view/_blank Javaservlet 的優(yōu)點在于它們的執(zhí)行速度更快于 CGI HYPERLINK /view/17674.htm t /view/_blank 程序。各個用戶請求被激活成單個 HYPERL

9、INK /view/17674.htm t /view/_blank 程序中的一個線程,而無需創(chuàng)建單獨的進(jìn)程,這意味著 HYPERLINK /view/899.htm t /view/_blank 服務(wù)器端處理請求的 HYPERLINK /view/860875.htm t /view/_blank 系統(tǒng)開銷將明顯降低。Servlet 看起來像是通常的 Java HYPERLINK /view/17674.htm t /view/_blank 程序。Servlet 導(dǎo)入特定的屬于 Java Servlet API 的包。因為是對象 HYPERLINK /view/560330.htm t /v

10、iew/_blank 字節(jié)碼,可動態(tài)地從網(wǎng)絡(luò)加載,可以說 Servlet 對 Server 就如同 Applet對 Client 一樣,但是,由于 Servlet 運行于 Server 中,它們并不需要一個 HYPERLINK /view/185360.htm t /view/_blank 圖形用戶界面。從這個角度講,Servlet 也被稱為 FacelessObject。一個 servlet 就是 Java 編程語言中的一個類,它被用來擴展 HYPERLINK /view/899.htm t /view/_blank 服務(wù)器的性能, HYPERLINK /view/899.htm t /vi

11、ew/_blank 服務(wù)器上駐留著可以通過“請求-響應(yīng)”編程模型來訪問的應(yīng)用 HYPERLINK /view/17674.htm t /view/_blank 程序。雖然 servlet 可以對任何類型的請求產(chǎn)生響應(yīng),但通常只用來擴展 Web HYPERLINK /view/899.htm t /view/_blank 服務(wù)器的應(yīng)用程序。2.3 JSP簡介JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點類似ASP(Active Server Page)技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.ht

12、m,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。 用JSP開發(fā)的Web應(yīng)用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒng)上運行4。 JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的

13、HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和 scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計的顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的 開發(fā)變得迅速和容易。 JSP(JavaServer Pages)是一種動態(tài)頁面技術(shù),它的主要目的是將表示邏輯從 HYPERLINK /view/25169.htm t /view/_blank Servlet中分

14、離出來。2.4 MySQL簡介MySQL是一個多用戶、多線程的SQL數(shù)據(jù)庫,是一個客戶機/服務(wù)器結(jié)構(gòu)的應(yīng)用,它由一個服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫組成。SQL(Structured Query Language結(jié)構(gòu)化查詢語言)是目前使用最廣的并且是標(biāo)準(zhǔn)的數(shù)據(jù)庫語言。SQL語言使得存取或更新信息變得十分容易,你可以直接使用SQL從網(wǎng)站上查詢信息。MySQL的快速和靈活性足以滿足一個網(wǎng)站的信息管理工作。數(shù)據(jù)庫與用戶端之間的接口程序可以使用CGI進(jìn)行通信。新浪網(wǎng)使用的是PHP(Hypertext Preprocessor),使用PHP和MySQL這兩樣?xùn)|西加在一起,對于開發(fā)數(shù)據(jù)驅(qū)

15、動的網(wǎng)站這項工作而言是最佳組合。PHP是一種用于服務(wù)器端執(zhí)行程序解釋的腳本語言。如果你接觸過ASP的話,那么您對于在HTML頁面中嵌入代碼應(yīng)該是比較熟悉了。PHP代碼在服務(wù)器一端被解釋、執(zhí)行并轉(zhuǎn)變成普通的HTML頁面內(nèi)容,送給瀏覽器一端。這種模式使得我們可以用它來完成相當(dāng)復(fù)雜的功能7。與其他的大型數(shù)據(jù)庫例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限(MySQL Cluster的功能和效率都相對比較差)等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余,而且由于MySQL是開放源碼軟

16、件,因此可以大大降低總體擁有成本。2.5 JDBC簡介 JDBC(Java Data Base Connectivity,Java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API( Application Programming Interface,應(yīng)用程序編程接口),可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純Java API編寫數(shù)據(jù)庫應(yīng)用程序,同時,JDBC也是個商標(biāo)名。 有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。換言之,有

17、了JDBC API,就不必為訪問Sybase數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。JDBC體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,

18、并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如ODBC之間的橋接。JDBC實現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴(yán)格類型定義且高性能實現(xiàn)的接口6。Java 具有堅固、安全、易于使用、易于理解等特性,是編寫數(shù)據(jù)庫應(yīng)用程序的杰出語言。所需要的只是 Java應(yīng)用程序與各種不同數(shù)據(jù)庫之間進(jìn)行對話的方法。而JDBC正是作為此種用途的機制。JDBC擴展了Java的功能。例如,用Java和JDBC API可以發(fā)布含有applet的網(wǎng)頁,而該applet使用的信息可能來自遠(yuǎn)程數(shù)據(jù)庫。企業(yè)也可以用 JDBC 通過Intranet將

19、所有職員連到一個或多個內(nèi)部數(shù)據(jù)庫中(即使這些職員所用的計算機有 Windows、Macintosh和UNIX等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java編程語言,對于Java中便捷地訪問數(shù)據(jù)庫的要求也在日益增加。2.6 Tomcat簡介Tomcat最初是由Sun的軟件構(gòu)架師詹姆斯鄧肯戴維森開發(fā)的。后來他幫助將其變?yōu)殚_源項目,并由Sun貢獻(xiàn)給Apache軟件基金會。Tomcat很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的 改進(jìn)和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能6。Tom

20、cat是一個小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對于一個初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺機器上配置好Apache服務(wù)器,可利用它響應(yīng)對HTML 頁面的訪問請求。實際上Tomcat部分是Apache服務(wù)器的擴展,但它是獨立運行的,所以當(dāng)你運行tomcat時,它實際上作為一個與Apache獨立的進(jìn)程單獨運行的。這里的訣竅是,當(dāng)配置正確時,Apache為HTML頁面服務(wù),而Tomcat實際上運行JSP頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個Se

21、rvlet和JSP容器,獨立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。 系統(tǒng)分析與設(shè)計3.1系統(tǒng)總體設(shè)計描述總體設(shè)計是軟件開發(fā)人員根據(jù)軟件需求說明書的要求,運用結(jié)構(gòu)化程序設(shè)計思想,將軟件自上而下逐層分解成多個軟件模塊,直到分解成每一個模塊只具有單一的功能,能用一個或幾個程序?qū)崿F(xiàn)的樹形結(jié)構(gòu)為止。總體設(shè)計階段還要定義各模塊的數(shù)據(jù)傳遞關(guān)系,設(shè)計軟件的編碼方案、文件存儲策略、輸入輸出格式,以及硬件和系統(tǒng)軟件配置,最后編制概要設(shè)計說明書。經(jīng)過需求分析階段的工作,辦公管理系統(tǒng)必須“做什么”已經(jīng)清楚了,現(xiàn)在是決定“怎樣做”的時候了??傮w設(shè)計

22、的基本目的就是回答“概括的說,辦公管理系統(tǒng)應(yīng)該如何實現(xiàn)?”這個問題。具體任務(wù)就是進(jìn)行概要設(shè)計,確定解決問題的策略和實現(xiàn)目標(biāo)系統(tǒng)的各種功能的方案,確定軟件的模塊組成以及模塊之間的相互關(guān)系??傮w設(shè)計過程可分為兩個主要階段:功能設(shè)計,確定辦公管理系統(tǒng)的實現(xiàn)方案;結(jié)構(gòu)設(shè)計,確定該軟件的結(jié)構(gòu)。功能設(shè)計是在需求分析的基礎(chǔ)上進(jìn)行的,這里所說的“功能”是泛指的,不僅指問題定義中列出的功能,還包括軟件定義時確定的任何一個獨立的數(shù)據(jù)加工或處理步驟。結(jié)構(gòu)設(shè)計,是將整個系統(tǒng)按照不同的功能和層次劃分為一個個功能簡單明確且相對獨立的部分(模塊),每個模塊實現(xiàn)系統(tǒng)的一項具體功能,自頂向下,逐步細(xì)化。結(jié)構(gòu)設(shè)計是確定程序由哪些

23、模塊組成,以及這些模塊之間的關(guān)系。3.2系統(tǒng)模塊圖3.2.1系統(tǒng)總體結(jié)構(gòu)本OA協(xié)同辦公系統(tǒng)的目標(biāo)在于改善和提高公司內(nèi)部的計算機應(yīng)用水平,實現(xiàn)基于計算機網(wǎng)絡(luò)的辦公能力,實現(xiàn)企業(yè)內(nèi)部的收發(fā)信息,管理聯(lián)系人,文件的上傳下載,日常工作的安排、企業(yè)公告、會議等的管理功能,提高辦公效率,為公司的管理平臺提供信息化的基礎(chǔ)。辦公OA管理員子系統(tǒng)的功能結(jié)構(gòu)圖3-1所示:辦公辦公OA管理員子系統(tǒng)添加人員信息修改人員信息刪除人員信息人員管理發(fā)布公告信息修改公告信息刪除公告信息企業(yè)公告企業(yè)會議刪除會議信息文件管理刪除文件信息圖3-1 辦公OA管理員子系統(tǒng)功能結(jié)構(gòu)圖辦公OA經(jīng)理子系統(tǒng)的功能結(jié)構(gòu)圖3-2所示:辦公辦公OA

24、經(jīng)理子系統(tǒng)添加聯(lián)系人維護(hù)聯(lián)系人個人信息維護(hù)聯(lián)系人管理添加工作安排查看工作安排刪除工作安排日常工作安排修改工作安排查看工作日志添加工作日志刪除工作日志工作日志修改工作日志查看企業(yè)公告企業(yè)公告上傳文件下載文件文件管理發(fā)布會議安排修改會議內(nèi)容企業(yè)會議發(fā)送信息接受信息信息功能圖3-2 辦公OA經(jīng)理子系統(tǒng)功能結(jié)構(gòu)圖辦公OA員工子系統(tǒng)的功能結(jié)構(gòu)圖3-3所示:辦公辦公OA員工子系統(tǒng)添加聯(lián)系人維護(hù)聯(lián)系人個人信息維護(hù)聯(lián)系人添加工作日志修改工作日志刪除工作日志工作日志企業(yè)會議查看會議信息發(fā)送信息接受信息信息功能日常工作查看工作安排企業(yè)公告查看企業(yè)公告上傳文件下載文件文件管理圖3-3 辦公OA員工子系統(tǒng)功能結(jié)構(gòu)圖3

25、.2.2系統(tǒng)模塊描述系統(tǒng)模塊描述主要是描述出系統(tǒng)模塊的功能。用文字去描述,而不是用圖形圖描述。本系統(tǒng)由管理員模塊、經(jīng)理模塊和員工模塊構(gòu)成,每個模塊又分若干個功能模塊。管理員模塊的功能分析:1)文件管理:對企業(yè)員工和經(jīng)理上傳的文件進(jìn)行刪除管理;2)人員管理:完成企業(yè)員工信息的添加或刪除;3)企業(yè)公告管理:發(fā)布和管理企業(yè)的公告。添加及刪除公告信息;4)企業(yè)會議管理:對經(jīng)理發(fā)布的會議信息進(jìn)行刪除管理。經(jīng)理模塊的功能分析:1)信息功能管理:向企業(yè)其他成員發(fā)送信息以及查收別人發(fā)的信息;2)聯(lián)系人,添加管理聯(lián)系人信息,維護(hù)個人信息。3)企業(yè)公告:查看發(fā)布的企業(yè)公告;4)文件管理:上傳和下載文件信息;5)企

26、業(yè)會議:發(fā)布會議安排和修改會議內(nèi)容;6)日常工作安排管理:經(jīng)理可以添加、修改、刪除工作安排的信息,向部門的員工下達(dá)工作任務(wù);7)工作日:經(jīng)理可查看、添加、修改、刪除工作日志信息。員工模塊的功能分析:1)信息管理:向企業(yè)其他成員發(fā)送信息以及查收別人發(fā)的信息;2)聯(lián)系人:添加管理聯(lián)系人信息,以及維護(hù)個人信息;3)企業(yè)公告查詢:查詢發(fā)布的企業(yè)公告;4)文件管理,上傳和下載文件信息;5)企業(yè)會議:查看會議安排信息;6)工作日志:員工可添加、修改、刪除工作日志;7)日常工作安排管理:查看部門經(jīng)理發(fā)的日常工作安排信息。3.3數(shù)據(jù)庫設(shè)計3.3.1數(shù)據(jù)庫介紹數(shù)據(jù)庫指的是以一定方式儲存在一起、能為多個用戶共享、

27、具有盡可能小的冗余度的特點、是與應(yīng)用程序彼此獨立的數(shù)據(jù)集合。 HYPERLINK /view/1088.htm t /_blank 數(shù)據(jù)庫是一個 HYPERLINK /view/142835.htm t /_blank 單位或是一個應(yīng)用領(lǐng)域的通用 HYPERLINK /view/451490.htm t /_blank 數(shù)據(jù)處理系統(tǒng),它存儲的是屬于企業(yè)和事業(yè)部門、 HYPERLINK /view/635653.htm t /_blank 團體和個人的有關(guān)數(shù)據(jù)的 HYPERLINK /view/15216.htm t /_blank 集合。數(shù)據(jù)庫中的數(shù)據(jù)是從全局觀點出發(fā)建立的,按一定的 HYPE

28、RLINK /view/72142.htm t /_blank 數(shù)據(jù)模型進(jìn)行組織、描述和存儲。其結(jié)構(gòu)基于數(shù)據(jù)間的自然聯(lián)系,從而可提供一切必要的存取 HYPERLINK /view/59642.htm t /_blank 路徑,且數(shù)據(jù)不再針對某一應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)化特征。數(shù)據(jù)庫中的數(shù)據(jù)是為眾多用戶所 HYPERLINK /view/191006.htm t /_blank 共享其信息而建立的,已經(jīng)擺脫了具體 HYPERLINK /view/17674.htm t /_blank 程序的限制和制約。不同的用戶可以按各自的用法使用數(shù)據(jù)庫中的數(shù)據(jù);多個用戶可以同時共享數(shù)據(jù)庫中的數(shù)據(jù)資

29、源,即不同的用戶可以同時存取數(shù)據(jù)庫中的同一個數(shù)據(jù)。數(shù)據(jù)共享性不僅滿足了各用戶對信息內(nèi)容的要求,同時也滿足了各用戶之間信息通信的要求。設(shè)計一個好的數(shù)據(jù)庫要耐心收集和分析數(shù)據(jù),認(rèn)真理清數(shù)據(jù)間的關(guān)系,杜絕對數(shù)據(jù)庫應(yīng)用不利的隱患。在設(shè)計過程中,我們必須要按步驟認(rèn)真完成。一個數(shù)據(jù)庫的設(shè)計好壞將直接影響后期該數(shù)據(jù)庫的應(yīng)用。因此在設(shè)計數(shù)據(jù)庫之前我們必須明確目的,要時刻考慮用戶需求和數(shù)據(jù)庫與具體應(yīng)用之間相輔相成的關(guān)系。數(shù)據(jù)庫的主要特點包括以下幾個: = 1 * GB2 實現(xiàn)數(shù)據(jù)共享; = 2 * GB2 減少數(shù)據(jù)的冗余度; = 3 * GB2 數(shù)據(jù)的獨立性; = 4 * GB2 數(shù)據(jù)實現(xiàn)集中控制;(5)數(shù)據(jù)一

30、致性和可維護(hù)性,以確保數(shù)據(jù)的安全性和可靠性。主要包括a.安全性控制:以防止數(shù)據(jù)丟失、錯誤更新和越權(quán)使用;b.完整性控制:保證數(shù)據(jù)的正確性、有效性和相容性;c.并發(fā)控制:使在同一時間周期內(nèi),允許對數(shù)據(jù)實現(xiàn)多路存取,又能防止用戶之間的不正常交互作用。3.3.2系統(tǒng)E-R圖E-R圖模型的組成是由實體,屬性和聯(lián)系。其中實體是一個數(shù)據(jù)的使用者,其代表軟件系統(tǒng)中客觀存在的生活中的實物,如人、動物,物體、列表、部門、項目 等.而同一類實體就構(gòu)成了一個實體集。實體的內(nèi)涵用實體類型來表示。實體類型是對實體集中實體的定義。實體中的所有特性稱為屬性.如用戶有姓名、性別、住 址、電話等. 實體標(biāo)識符是在一個實體中,能

31、夠唯一表示實體的屬性和屬性集的標(biāo)示符.但針對于一個實體只能使用一個實體標(biāo)識符來標(biāo)明。實體標(biāo)識符也就是實體的主 鍵.在ER圖中,實體所對應(yīng)的屬性用橢圓型的符號現(xiàn)況表示出來,添加了下劃線的名字就是我們所說的標(biāo)識符。在我們生活的世界中,實體不會是單獨存在的,實 體和其他的實體之間是有著千絲萬縷的聯(lián)系的.舉例某一個人在公司的某個部門工作,其中的實體有某個人和公司的某個部門,他們之間的有著很多的聯(lián)系。從數(shù)據(jù)需求分析中分析出系統(tǒng)的實體屬性圖,需要遵循三范式原則,對實體之間的依賴關(guān)系進(jìn)行了整合,得出系統(tǒng)E-R圖。說明:菱形表示實體之間的關(guān)系,用矩形表示實體,用無向直線把菱形與有關(guān)實體連接,在直線上標(biāo)明聯(lián)系的

32、類型。用橢圓表示實體的屬性,并用無向直線把實體與屬性聯(lián)系起來。在本系統(tǒng)中有以下的實體:員工、經(jīng)理、部門、工作安排。員工實體與屬性如圖3-4所示:員工員工部門姓名性別年齡地址用戶名手機號郵 箱圖3-4 員工實體與屬性經(jīng)理實體與屬性如圖3-5所示:經(jīng)理經(jīng)理部門姓名性別年齡地址員工號手機號郵 箱圖3-5 經(jīng)理實體與屬性部門實體與屬性如圖3-6所示: 部門部門部門經(jīng)理部門名稱圖3-6 部門實體與屬性工作安排實體與屬性如圖3-7所示:工作安排工作安排辦公內(nèi)容辦公人員辦公人員圖3-7工作任務(wù)實體與屬性辦公OA系統(tǒng)主要以員工為核心,充分發(fā)揮“提高工作效率”的宗旨。這個系統(tǒng)中各個實體之間的關(guān)系,基本上都是以用

33、戶為基礎(chǔ)的。辦公OA管理系統(tǒng)的實體及其聯(lián)系圖3-8。接受接受屬于員工MM安排屬于部門11經(jīng)理11工作安排MMMM1M1MMM1111111圖3-8 總體ER圖13.3.3數(shù)據(jù)庫物理設(shè)計數(shù)據(jù)庫邏輯設(shè)計是整個設(shè)計的前半段,包括所需的實體和關(guān)系,實體規(guī)范化等工作。設(shè)計的后半段則是數(shù)據(jù)庫物理設(shè)計,包括選擇數(shù)據(jù)庫產(chǎn)品,確定數(shù)據(jù)庫實體屬性(字段)、數(shù)據(jù)類型、長度、精度確定、DBMS頁面大小等。數(shù)據(jù)庫物理設(shè)計是后半段。將一個給定邏輯結(jié)構(gòu)實施到具體的環(huán)境中時,邏輯數(shù)據(jù)模型要選取一個具體的工作環(huán)境,這個工作環(huán)境提供了數(shù)據(jù)存儲結(jié)構(gòu)與存取方法,這個過程就是數(shù)據(jù)庫的物理設(shè)計。物理結(jié)構(gòu)依賴于給定的DBMS和和硬件系統(tǒng),

34、因此設(shè)計人員必須充分了解所用RDBMS的內(nèi)部特征、存儲結(jié)構(gòu)、存取方法。數(shù)據(jù)庫的物理設(shè)計通常分為兩步,第一,確定數(shù)據(jù)庫的物理結(jié)構(gòu),第二,評價實施空間效率和時間效率確定數(shù)據(jù)庫的物理結(jié)構(gòu)包含下面四方面的內(nèi)容:1、確定數(shù)據(jù)的存儲結(jié)構(gòu)2、設(shè)計數(shù)據(jù)的存取路徑3、確定數(shù)據(jù)的存放位置4、確定系統(tǒng)配置數(shù)據(jù)庫物理設(shè)計過程中需要對時間效率、空間效率、維護(hù)代價和各種用戶要求進(jìn)行權(quán)衡,選擇一個優(yōu)化方案作為數(shù)據(jù)庫物理結(jié)構(gòu)。在數(shù)據(jù)庫物理設(shè)計中,最有效的方式是集中地存儲和檢索對象。由于數(shù)據(jù)庫物理設(shè)計和UNIX、數(shù)據(jù)庫系統(tǒng)息息相關(guān)了。SQL(Structured Query Language),意思為結(jié)構(gòu)化查詢語言,是一種介于

35、關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語言。它的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進(jìn)行溝通。ANSI(美國國家標(biāo)準(zhǔn)協(xié)會)規(guī)定SQL是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù)、從數(shù)據(jù)庫中提取數(shù)據(jù)等。SQL語言之所以能夠為用戶和業(yè)界所接受,并成為國際標(biāo)準(zhǔn),是因為它是一個綜合的、功能極強同時又簡捷易學(xué)的語言。SQL語言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,主要特點包括:(1)綜合統(tǒng)一:非關(guān)系模型的數(shù)據(jù)語言一般都分為模式數(shù)據(jù)定義語言(模式DDL)、外模式數(shù)據(jù)定義語言(外模式DDL)、與數(shù)據(jù)存儲有關(guān)的描述語言(DSDL)及數(shù)據(jù)操縱語言(DML

36、),分別用于定義模式、外模式、內(nèi)模式和進(jìn)行數(shù)據(jù)的存取與處置。當(dāng)擁護(hù)數(shù)據(jù)庫投入運行后,如果需要修改模式,必須停止現(xiàn)有的數(shù)據(jù)庫的運行,轉(zhuǎn)儲數(shù)據(jù),修改模式并編譯后再重裝數(shù)據(jù)庫,十分麻煩。SQL語言則集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體,語言風(fēng)格統(tǒng)一,可以獨立完成數(shù)據(jù)庫生命周期中的全部活動,包括定義關(guān)系模式、建立數(shù)據(jù)庫、插入數(shù)據(jù)、查詢、更新、維護(hù)、數(shù)據(jù)庫重構(gòu)、數(shù)據(jù)庫安全性控制等一系列操作要求,這就為數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)提供了良好的環(huán)境。用戶在數(shù)據(jù)庫系統(tǒng)投入運行后,還可根據(jù)需要隨時地逐步地修改模式,且并不影響數(shù)據(jù)庫的運行,從而使系統(tǒng)具有良好的可擴展性。(2)高度非過程

37、化:非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語言是面向過程的語言,用其完成某項請求必須指定存取路徑。而用SQL語言進(jìn)行數(shù)據(jù)操作,只要提出“做什么”,而無須指明“怎么做”,因此無須了解存取路徑,存取路徑的選擇以及SQL語言句的操作過程由系統(tǒng)自動完成。這不但大大減輕了用戶負(fù)擔(dān),而且有利于提高數(shù)據(jù)獨立性。(3)面向集合的操作方式:非關(guān)系數(shù)據(jù)模型采用的是面向記錄的操作方式,操作對象是一條記錄。而SQL語言采用集合操作方式,不僅操作對象、查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。(4)以同一種語法結(jié)構(gòu)提供兩種使用方式:SQL語言既是自含式語言,又是嵌入式語言。作為自含式語言,他能夠

38、獨立地用于聯(lián)機交互的使用方式,用戶何以在終端鍵盤上直接鍵入SQL命令對數(shù)據(jù)庫進(jìn)行操作;作為嵌入式語言,SQL語句能夠嵌入到高級語言中,供程序員設(shè)計程序時使用。而在兩種不同的使用方式下,SQL語言的語法結(jié)構(gòu)基本上是一致的。(5)語言簡捷,易學(xué)易用:SQL語言功能極強,但由于設(shè)計巧妙,語言十分簡捷,完成核心功能只用了9個動詞,SQL語言接近英語口語,因此容易學(xué)習(xí),容易使用。本系統(tǒng)的數(shù)據(jù)庫名為xiaomeng8。主要包括如下幾個表,如表4-1至表4-8所示:表3-9管理員、員工、經(jīng)理信息(usertable)表字段名稱類型長度主鍵說明允許空idint11編號nodepidint15部門yeslogi

39、nnamevarchar40yes用戶名稱yespasswordvarchar50密碼yesusernamevarchar50姓名yesagevarchar40年齡yessexint11性別yesphonevarchar50電話yesemailvarchar50郵箱yesaddressvarchar50地址yestypeint11聯(lián)系yes表3-10信息(messagetable)表字段名稱類型長度主鍵說明允許空Idint15yes編號noRecidint15接受人yesSendidint15發(fā)送人yesMesscontvarchar200內(nèi)容yesSendtimevarchar50時間yes

40、Stateint15狀態(tài)yes表3-11 部門(deptable)信息表字段名稱類型長度主鍵說明允許空idint11yes部門號nonamevarchar50部門名稱no表3-12公告信息(coramentstable)表字段名稱類型長度主鍵說明允許空Idint11yes編號noCornamevarchar30發(fā)布人yesCortilevarchar30標(biāo)題yesCorcontvarchar30內(nèi)容yesCortimevarchar30時間yes表3-13會議信息(busmeetingtable)表字段名稱類型長度主鍵說明允許空idint14yes編號NObusnamevarchar30發(fā)布人

41、yesbuscynamevarchar200參與人yesbustimevarchar30會議時間yesbusaddressvarchar30會議地址yesbusfbtimevarchar30會議時間yes表3-14聯(lián)系人信息(peopletable)表字段名稱類型長度主鍵說明允許空idint15yes編號nodepidint15部門yesUseridint15員工yespeoidint15聯(lián)系人號yespeonamevarchar50聯(lián)系人姓名yesagevarchar100年齡yessexint10性別yesphonevarchar20電話yesemailvarchar50郵箱yesaddr

42、essvarchar200地址yes表3-15工作安排(jobplacetable)表字段名稱類型長度主鍵說明允許空Idint15yes編號nopeonamevarchar50辦公人員yesPlacetimevarchar50辦公日期yesdepidint15部門yesPlacecontvarchar200辦公內(nèi)容yes表3-16工作日志(joblogtable)表字段名稱類型長度主鍵說明允許空Idint15yes編號nodepidint15部門yesuseridint15辦公人yespeonamevarchar15經(jīng)理yeslogtimevarchar30辦公日期yeslogtilevarc

43、har30辦公標(biāo)題yesLogcontvarchar200辦公內(nèi)容yesJltimevarchar30時間yes3.4安全保密設(shè)計作為一個管理系統(tǒng),其中的數(shù)據(jù)不允許隨意更改,系統(tǒng)必須有保密設(shè)計。管理員可以修改系統(tǒng)中基礎(chǔ)數(shù)據(jù)如:員工信息,公告信息等。以及日常業(yè)務(wù)信息的維護(hù)如:企業(yè)公告,會議信息管理等。部門經(jīng)理可以修改的信息如:信息,日常工作安排,聯(lián)系人、文件管理等。普通員工可以修改的信息如:信息,工作日志、聯(lián)系人、文件管理。有帳號的人才能登錄本系統(tǒng),非企業(yè)員工不能打開本系統(tǒng)。因此,為保證系統(tǒng)正常運行,擁有權(quán)限的人員才能對系統(tǒng)數(shù)據(jù)進(jìn)行操作。管理默認(rèn)用戶:在生產(chǎn)環(huán)境中,必須嚴(yán)格管理sys和syste

44、m用戶,必須修改其默認(rèn)密碼,禁止用該用戶建立數(shù)據(jù)庫應(yīng)用對象。刪除或鎖定數(shù)據(jù)庫測試用戶。 數(shù)據(jù)庫級用戶權(quán)限設(shè)計:必須按照應(yīng)用需求,設(shè)計不同的用戶訪問權(quán)限。包括應(yīng)用系統(tǒng)管理用戶,普通用戶等,按照業(yè)務(wù)需求建立不同的應(yīng)用角色。用戶訪問另外的用戶對象時,應(yīng)該通過創(chuàng)建同義詞對象synonym進(jìn)行訪問。角色與權(quán)限:確定每個角色對數(shù)據(jù)庫表的操作權(quán)限,如創(chuàng)建、檢索、更新、刪除等。每個角色擁有剛好能夠完成任務(wù)的權(quán)限,不多也不少。在應(yīng)用時再為用戶分配角色,則每個用戶的權(quán)限等于他所兼角色的權(quán)限之和。 應(yīng)用級用戶設(shè)計:應(yīng)用級的用戶帳號密碼不能與數(shù)據(jù)庫相同,防止用戶直接操作數(shù)據(jù)庫。用戶只能用帳號登陸到應(yīng)用軟件,通過應(yīng)用軟

45、件訪問數(shù)據(jù)庫,而沒有其它途徑操作數(shù)據(jù)庫。用戶密碼管理:用戶帳號的密碼必須進(jìn)行加密處理,確保在任何地方的查詢都不會出現(xiàn)密碼的明文。3.4.1登陸用戶的安全性對于員工、管理員和經(jīng)理,本系統(tǒng)設(shè)計了相同的登陸界面,登錄成功后會根據(jù)用戶身份的不同而顯示不同的功能菜單。每個合法用戶有一個密碼,該密碼由用戶維護(hù),從而實現(xiàn)對用戶的身份驗證。 詳細(xì)設(shè)計4.1詳細(xì)設(shè)計說明總體設(shè)計階段完成了軟件的結(jié)構(gòu)設(shè)計,劃分了模塊,并規(guī)定了各模塊的功能與它們之間的聯(lián)系。在此之后,按照軟件開發(fā)工程化的觀點,應(yīng)進(jìn)入詳細(xì)設(shè)計階段。在詳細(xì)設(shè)計這個階段中,根據(jù)總體設(shè)計提供的文檔,確定每一個模塊的算法,內(nèi)部的數(shù)據(jù)組織,選定工具表達(dá)清晰正確的

46、算法,編寫詳細(xì)設(shè)計說明書,詳細(xì)測試用例和計劃。詳細(xì)設(shè)計階段的根本目標(biāo)是確定應(yīng)該怎樣實現(xiàn)所要求的系統(tǒng),給出軟件模塊結(jié)構(gòu)中各個模塊的內(nèi)部過程描述。經(jīng)過這個階段的設(shè)計工作,得出對目標(biāo)系統(tǒng)的精確描述,這個描述在編碼階段可以由程序員直接翻譯成用某種程序設(shè)計語言書寫的程序。詳細(xì)設(shè)計又被稱作過程設(shè)計,對模塊的內(nèi)部過程描述就是模塊內(nèi)部的算法設(shè)計7。系統(tǒng)實現(xiàn)一般就是指的編碼階段。編碼就是將軟件詳細(xì)設(shè)計的結(jié)果翻譯成用某種程序設(shè)計語言書寫的程序。軟件的設(shè)計開發(fā)過程經(jīng)過需求分析、總體設(shè)計和詳細(xì)設(shè)計幾個階段之后,已經(jīng)形成了基本變成框架,最后就是通過編碼對設(shè)計進(jìn)一步具體化,實現(xiàn)相應(yīng)的功能。運用軟件功能方法設(shè)計軟件,主要是

47、為了提高軟件質(zhì)量,軟件質(zhì)量在很大程度上取決于設(shè)計的質(zhì)量,同時編碼的好壞也是影響軟件質(zhì)量的十分重要的因素,如果編碼中存在各種問題,那么再好的設(shè)計也無法體現(xiàn)出來。另外,編碼質(zhì)量的好壞,也直接影響了軟件測試和軟件維護(hù)工作的進(jìn)行。但是系統(tǒng)實現(xiàn)是在系統(tǒng)設(shè)計的基礎(chǔ)上的,基本上定下了系統(tǒng)設(shè)計,就基本上定下了系統(tǒng)實現(xiàn)。4.2詳細(xì)設(shè)計總類圖圖14 實體類從上圖可以看出,一個用戶可以通過申請使用多個設(shè)備,可是一個設(shè)備只可以被一個人申請使用;一個用戶只屬于一個部門,而一個部門卻可以有多個員工;一個用戶可以申請多個會議室,而一個會議室只可以被一個人申請使用;一個用戶可以創(chuàng)建多個會議,而一個會議的創(chuàng)建者只能是一個人;一

48、個用戶可以上傳查看多份文件,而一份文件又可以被多人上傳查看;一個用戶只可以對應(yīng)于一個角色,而一個角色可以有多個用戶;一個用戶可以創(chuàng)建多個日程,而每個日程只屬于一個用戶;一個用戶可以查看多個通訊錄,而通訊錄又可以被多個用戶查看。接下來的內(nèi)容是關(guān)于模塊的詳細(xì)設(shè)計,由于篇幅有限,就選擇了其中幾個核心模塊作介紹。4.3 個人辦公模塊的詳細(xì)設(shè)計個人模塊主要分為個人信息維護(hù)、日程安排、公司通訊錄,為員工提供日常的辦公。(1)個人信息維護(hù)點擊個人信息維護(hù),又分為查看個人信息、修改密碼。查看個人信息輸入:點擊查看個人信息處理:個人信息窗體啟動。從用戶信息表中查詢登陸用戶信息。調(diào)出個人信息輸出:在個人信息頁面顯

49、示登陸用戶信息修改個人信息輸入:個人信息,如個人簡介等。處理:點擊“修改”。跳轉(zhuǎn)到另一個頁面顯示個人信息。修改個人簡介等相關(guān)信息。點擊保存按鈕,把個人信息的改動記錄到數(shù)據(jù)庫的用戶信息表內(nèi)。輸出:對用戶信息進(jìn)行修改。修改密碼輸入:舊密碼與新密碼。處理:點擊“修改密碼”菜單。彈出修改密碼窗口。輸入舊密碼與新密碼。從用戶信息表中查詢,輸入的舊密碼是否跟系統(tǒng)匹配。如果舊密碼輸入錯誤,進(jìn)行提示。檢驗新密碼二次輸入是否匹配。如果不匹配,進(jìn)行提示。如果舊密碼正確,新密碼二次輸入一致,則把新密碼記錄到數(shù)據(jù)庫內(nèi)。處理:更新數(shù)據(jù)庫用戶信息表的密碼。(2)日程安排日程安排又分為添加日程、日程列表、刪除日程。日程安排

50、的類圖如下圖所示:圖15 日程安排類圖主要的操作方法為:addSchedule(),findSchedule(),delSchedule(),editSchedule()。添加日程輸入:安排人、日程主題、內(nèi)容、時間。處理:點擊“添加日程”菜單,彈出添加日程窗口。填寫日程安排相關(guān)信息,進(jìn)行日程安排。如果信息未填寫完整,進(jìn)行提示。信息填寫完成后,點擊添加按鈕。把用戶填寫的信息插入數(shù)據(jù)庫的日程表中。輸出:把用戶安排的日程信息插入數(shù)據(jù)庫。日程列表輸入:點擊“日程列表”菜單。處理:彈出列表窗口。查詢數(shù)據(jù)庫,查找該用戶的日程信息。調(diào)出該所有日程信息。輸出:以列表形式顯示該用戶的日程信息。刪除日程輸入:日程

51、列表,選中一條記錄。處理:鼠標(biāo)點擊“刪除”。彈出一個窗口,點擊確認(rèn),刪除日程信息。把數(shù)據(jù)表的改動記錄到數(shù)據(jù)庫內(nèi)。點擊取消,退出窗口,數(shù)據(jù)庫無任何改動。輸出:刪除日程安排中的一條記錄。4.4 會議管理模塊的詳細(xì)設(shè)計會議管理分為預(yù)約會議室、查看預(yù)約情況、預(yù)約會議室列表,為用戶在網(wǎng)上完成會議的創(chuàng)建與預(yù)約會議室。(1)預(yù)約會議室用戶進(jìn)行會議室預(yù)約的時候,首先要創(chuàng)建會議,在這個基礎(chǔ)上再進(jìn)行預(yù)約會議室。預(yù)約會議室的時序圖如下所示,對會議室進(jìn)行預(yù)約時,在預(yù)約前首先對對會議室進(jìn)行模糊查詢,輸入?yún)⒓訒h的大概人數(shù),然后搜索適合的會議室,選中一個會議室,點擊預(yù)約,進(jìn)入一個窗口,這時系統(tǒng)就會把選中的會議室的相關(guān)信息

52、傳遞到創(chuàng)建會議的頁面上,用戶繼續(xù)填寫相關(guān)信息,點擊提交之后,就完成創(chuàng)建了一個會議,同時也完成了會議室的預(yù)約。圖16 預(yù)約會議室時序圖輸入:會議人數(shù)、會議主題、會議開始與結(jié)束時間、會議創(chuàng)建者。處理:點擊“預(yù)約會議室”菜單,彈出模糊搜索會議室窗口。輸入?yún)⒓訒h人數(shù),點擊“搜索會議室”按鈕。選中一條記錄,點擊“預(yù)約”。彈出會議創(chuàng)建窗口,填寫好會議相關(guān)信息,點擊“提交”。信息填寫完整,則把預(yù)約會議相關(guān)信息記錄到數(shù)據(jù)庫,否則進(jìn)行提示。輸出:在會議表中添加一條記錄,同時修改會議室表中會議室的狀態(tài)。(2)查看預(yù)約情況點擊查看預(yù)約情況,就會以列表的形式顯示登陸用戶所有的預(yù)約會議室情況。預(yù)約情況列表輸入:點擊查

53、看預(yù)約情況。處理:查詢數(shù)據(jù)庫中該登陸用戶的所有預(yù)約會議室情況。調(diào)出該用戶的預(yù)約信息。輸出:以列表形式顯示該登陸用戶的預(yù)約記錄。刪除預(yù)約輸入:選中一條記錄處理:如果會議狀態(tài)顯示“待審核”,則可以點擊刪除。彈出一個窗口,點擊確認(rèn),則刪除預(yù)約記錄。把這個改動記錄到數(shù)據(jù)庫。點擊取消按鈕,退出窗口,數(shù)據(jù)庫無任何改動。輸出:刪除數(shù)據(jù)庫中的一條預(yù)約記錄。(3)預(yù)約會議室列表該功能的執(zhí)行者是管理員,點擊這個菜單后,以列表形式顯示預(yù)約記錄,未進(jìn)行審核的,就可以在這里進(jìn)行預(yù)約審核。審核過程如下圖所示:圖17 審核預(yù)約會議室預(yù)約審核輸入:會議預(yù)約狀態(tài)。處理:列表所有會議預(yù)約記錄。選中未審核會議,點擊“審核”。修改會

54、議狀態(tài),批準(zhǔn)或者不批準(zhǔn)。點擊“審核通過”更新數(shù)據(jù)庫中會議表的會議預(yù)約狀態(tài)與會議室的狀態(tài)。輸出:對會議狀態(tài)與會議室狀態(tài)進(jìn)行修改。4.5 文件管理模塊的詳細(xì)設(shè)計商務(wù)資料管理主要有兩個小模塊,分別為查看資料與上傳資料。類圖如下圖所示:圖18 文件管理類圖主要的操作方法為:upFile(),findAllFile()。(1)查看資料輸入:點擊“查看資料”菜單。處理:查詢數(shù)據(jù)庫中商務(wù)資料表的信息。調(diào)出所有數(shù)據(jù)庫中商務(wù)資料信息。要查看其中一條記錄詳細(xì)內(nèi)容,可以點擊“查看”。跳轉(zhuǎn)窗口,顯示商務(wù)資料某條記錄的詳細(xì)信息。輸出:以列表形式顯示商務(wù)資料記錄,查看詳細(xì)時就輸出某一份資料的詳細(xì)信息。 (2)上傳資料輸入

55、:文件主題、類別、內(nèi)容、上傳者。處理:點擊“上傳資料”菜單,跳轉(zhuǎn)到上傳資料窗口。填寫輸入相關(guān)信息。點擊“上傳”按鈕,把記錄插入數(shù)據(jù)庫。輸出:把新記錄插入數(shù)據(jù)庫。4.6添加人員管理模塊 添加企業(yè)人員的信息。管理員對員工信息進(jìn)行添加操作。添加員工管理界面對應(yīng)的磁盤文件為DepServlet?biao=1,該模塊的設(shè)計如圖4-5所示:圖4-5 添加人員管理界面4.7修改人員管理模塊管理員對員工信息進(jìn)行修改,在修改人員頁面中顯示全部的人員信息,點擊修改按鈕可以對員工信息進(jìn)行修改。修改員工管理界面對應(yīng)的磁盤文件為UserServlet?action=finduser&sign=1,該模塊的設(shè)計如圖4-6

56、所示:圖4-6 修改員工管理界面4.8刪除人員管理模塊管理員對員工信息進(jìn)行刪除操作,在頁面中顯示全部的人員信息,點擊刪除按鈕可以對員工信息進(jìn)行刪除。刪除員工管理界面對應(yīng)的磁盤文件為UserServlet?action=finduser&sign=2,該模塊的設(shè)計如圖4-7所示:圖4-7 刪除員工管理界面第五章 系統(tǒng)實現(xiàn)5.1編程語言的選擇 根據(jù)本網(wǎng)站的特性以及開發(fā)技術(shù)的選擇、比較,并從開發(fā)人員對技術(shù)的熟悉程度的考慮,系統(tǒng)采用的開發(fā)技術(shù)9:(1) Web服務(wù)器:Tomcat 版本5.0.28;(2) 網(wǎng)頁開發(fā)技術(shù):JSP (中文全稱Java服務(wù)器端語言);(3) DBMS(DataBase Ma

57、nagement System,數(shù)據(jù)庫管理系統(tǒng)):MySql 。5.2程序流程圖程序流程圖又稱為程序框圖,它是使用最廣泛的描述軟件設(shè)計的方法。管理員子系統(tǒng)的程序流程圖5-1所示:開始開始正確?登錄窗口N結(jié)束辦公OA管理員子系統(tǒng)添加人員信息修改人員信息刪除人員信息人員管理發(fā)布公告信息修改公告信息刪除公告信息企業(yè)公告企業(yè)會議刪除會議信息文件管理刪除文件信息YYYY圖5-1 管理員的程序流程圖經(jīng)理子系統(tǒng)的程序流程圖5-2所示:結(jié)束結(jié)束開始正確?登錄窗口N辦公OA經(jīng)理子系統(tǒng)添加聯(lián)系人維護(hù)聯(lián)系人個人信息維護(hù)聯(lián)系人管理添加工作安排查看工作安排刪除工作安排日常工作安排修改工作安排查看工作日志添加工作日志刪除

58、工作日志工作日志修改工作日志查看企業(yè)公告企業(yè)公告上傳文件下載文件文件管理發(fā)布會議安排修改會議內(nèi)容企業(yè)會議發(fā)送信息接受信息信息功能圖5-2 經(jīng)理管理的程序流程圖員工子系統(tǒng)的程序流程圖5-3所示:結(jié)束結(jié)束開始正確?登錄窗口N辦公OA員工子系統(tǒng)添加聯(lián)系人維護(hù)聯(lián)系人個人信息維護(hù)聯(lián)系人添加工作日志修改工作日志刪除工作日志工作日志企業(yè)會議查看會議信息發(fā)送信息接受信息信息功能日常工作查看工作安排企業(yè)公告查看企業(yè)公告上傳文件下載文件文件管理圖5-3 員工管理的程序流程圖5.3管理員子系統(tǒng)的設(shè)計和實現(xiàn)本系統(tǒng)是基于TOMCAT服務(wù)器,使用JAVA語言進(jìn)行開發(fā),采用了基于瀏覽器的WEB方式。后臺采用MySql對數(shù)據(jù)

59、庫進(jìn)行管理,系統(tǒng)調(diào)用數(shù)據(jù)非常頻繁,因此設(shè)計公用的連接數(shù)據(jù)庫的代碼是必要的,本系統(tǒng)連接數(shù)據(jù)庫的代碼經(jīng)過編譯后生成DBConn.class文件,其中連接數(shù)據(jù)庫的代碼如下:public static Connection getConn() try Connection conn = DriverManager.getConnection(jdbc:mysql:/localhost:3306/oasys, root, 123456); return conn; catch (Exception ex) ex.printStackTrace();return null;5.3.1系統(tǒng)登錄模塊系統(tǒng)登錄模

60、塊主要是對使用本系統(tǒng)的用戶進(jìn)行身份驗證,登錄者根據(jù)所屬的類型選擇管理員、員工或經(jīng)理。只有通過驗證的用戶才可以進(jìn)入本系統(tǒng)。登錄界面所對應(yīng)的文件為Login.jsp,登錄模塊的頁面如圖5-4所示:圖5-4 登錄界面其中“登錄”按鈕的主要代碼如下:public User login(String loginname)String sql = select id,depid,loginname,password,username,age,sex, phone, +email,address,type from usertable where loginname = ?;User userInfo =

溫馨提示

  • 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

提交評論