南航計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)論文_第1頁
南航計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)論文_第2頁
南航計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)論文_第3頁
南航計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)論文_第4頁
南航計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計(jì)題目:辦公自動化的綜述與開發(fā)平臺 (基于SSH的OA辦公自動化平臺開發(fā))姓 名 程清 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué) 號 CS 指導(dǎo)教師 南京航空航天大學(xué)二一四 年 五 月目 錄摘 要3前 言4第一章 項(xiàng)目整體說明51.1 本系統(tǒng)作用51.2 設(shè)計(jì)原則51.3 功能說明6第二章 項(xiàng)目實(shí)現(xiàn)說明72.1軟件開發(fā)的步驟說明72.2 具體需求是什么?7第三章 本項(xiàng)目(OA)的整體設(shè)計(jì)83.1 JavaEE的三層架構(gòu)83.2關(guān)于分層的說明83.3有關(guān)分層的幾個(gè)問題93.4所用框架、技術(shù)93.5開發(fā)環(huán)境93.6代碼規(guī)范103.7 約定10第四章 項(xiàng)目計(jì)劃12第五章 準(zhǔn)備環(huán)境135.1創(chuàng)建數(shù)據(jù)庫,注意

2、編碼135.2 配置快捷鍵135.3 配置文件的默認(rèn)編碼145.4 配置格式化的代碼樣式145.5 MyEclipse工具使用說明145.6 添加框架環(huán)境145.7 目錄結(jié)構(gòu)155.8 包結(jié)構(gòu)155.9 設(shè)置BaseDao接口和BaseDaoImpl類16第六章 總結(jié)19參考文獻(xiàn)20結(jié)束語21摘 要OA是Office Automation的縮寫,本意為利用技術(shù)的手段提高辦公的效率,進(jìn)而實(shí)現(xiàn)辦公的自動化處理。實(shí)現(xiàn)信息化、無紙化辦公,可方便的生成統(tǒng)計(jì)報(bào)表等。OA是OFFICE AUTOMATION的縮寫,本意為利用技術(shù)的手段提高辦公的效率,進(jìn)而實(shí)現(xiàn)辦公的自動化處理。采用Internet/Intra

3、net技術(shù),基于工作流的概念,使企業(yè)內(nèi)部人員方便快捷地共享信息,高效地協(xié)同工作;改變過去復(fù)雜、低效的手工辦公方式,實(shí)現(xiàn)迅速、全方位的信息采集、信息處理,為企業(yè)的管理和決策提供科學(xué)的依據(jù)。OA軟件解決企業(yè)的日常管理規(guī)范化、增加企業(yè)的可控性、提高企業(yè)運(yùn)轉(zhuǎn)的效率的基本問題。范圍涉及日常行政管理、各種事項(xiàng)的審批、辦公資源的管理、多人多部門的協(xié)同辦公、以及各種信息的溝通與傳遞??梢愿爬ǖ恼f,OA軟件跨越了生產(chǎn)、銷售、財(cái)務(wù)等具體的業(yè)務(wù)范疇,更集中關(guān)注于企業(yè)日常辦公的效率和可控性,是企業(yè)提高整體運(yùn)轉(zhuǎn)能力不可缺少的軟件工具。【關(guān)鍵詞】 OA 工作流 高效地協(xié)同工作 前 言O(shè)A是Office Automatio

4、n的縮寫,本意為利用技術(shù)的手段提高辦公的效率,進(jìn)而實(shí)現(xiàn)辦公的自動化處理。實(shí)現(xiàn)信息化、無紙化辦公,可方便的生成統(tǒng)計(jì)報(bào)表等。OA是OFFICE AUTOMATION的縮寫,本意為利用技術(shù)的手段提高辦公的效率,進(jìn)而實(shí)現(xiàn)辦公的自動化處理。采用Internet/Intranet技術(shù),基于工作流的概念,使企業(yè)內(nèi)部人員方便快捷地共享信息,高效地協(xié)同工作;改變過去復(fù)雜、低效的手工辦公方式,實(shí)現(xiàn)迅速、全方位的信息采集、信息處理,為企業(yè)的管理和決策提供科學(xué)的依據(jù)。OA軟件解決企業(yè)的日常管理規(guī)范化、增加企業(yè)的可控性、提高企業(yè)運(yùn)轉(zhuǎn)的效率的基本問題。范圍涉及日常行政管理、各種事項(xiàng)的審批、辦公資源的管理、多人多部門的協(xié)同

5、辦公、以及各種信息的溝通與傳遞。可以概括的說,OA軟件跨越了生產(chǎn)、銷售、財(cái)務(wù)等具體的業(yè)務(wù)范疇,更集中關(guān)注于企業(yè)日常辦公的效率和可控性,是企業(yè)提高整體運(yùn)轉(zhuǎn)能力不可缺少的軟件工具。第一章 項(xiàng)目整體說明1.1 本系統(tǒng)作用組織的核心競爭力源自單位對內(nèi)外部資源的有效利用。對它們之間的關(guān)系進(jìn)行協(xié)調(diào),最大限度的發(fā)揮所有資源的作用,并用系統(tǒng)的觀點(diǎn),在整個(gè)系統(tǒng)價(jià)值最大化的基礎(chǔ)上來發(fā)揮各個(gè)資源的作用,使資源的運(yùn)作產(chǎn)生協(xié)同效用。因此可通過協(xié)同辦公系統(tǒng)打造單位的核心競爭力。本協(xié)同辦公系統(tǒng)的主要作用為:1、 建立內(nèi)部的通信平臺。2、 建立信息發(fā)布的平臺。3、 文檔管理的自動化。4、 工作流程的自動化。5、 行政日常事務(wù)

6、處理。6、 安全機(jī)制的可靠性。本系統(tǒng)旨在加速單位信息化進(jìn)程,充分利用計(jì)算機(jī)和現(xiàn)代通訊手段面向單位服務(wù)。建立單位內(nèi)部信息交流的快速通道,以共享信息資源。強(qiáng)化部門業(yè)務(wù)管理,加強(qiáng)各業(yè)務(wù)部門之間的交流。實(shí)現(xiàn)單位信息的快速上傳下達(dá),促進(jìn)協(xié)同辦公。提高辦公效率,為各級領(lǐng)導(dǎo)及業(yè)務(wù)人員提供輔助辦公和決策服務(wù)。1、 本系統(tǒng)將最大限度地提高辦公效率和辦公質(zhì)量,降低管理和辦公成本,改善辦公環(huán)境和條件,提高辦公管理和決策的自動化和科學(xué)化水平。2、 以人為中心,致力于幫助用戶實(shí)現(xiàn)共享資源、規(guī)范流程、推動執(zhí)行的目的。幫助用戶節(jié)省辦公費(fèi)用,減少中間環(huán)節(jié),優(yōu)化業(yè)務(wù)流程,提高整體效率,促進(jìn)管理進(jìn)步。簡單的說,有以下兩點(diǎn):1,利

7、用技術(shù)的手段提高辦公的效率2,信息化,可方便的生成統(tǒng)計(jì)報(bào)表等。1.2 設(shè)計(jì)原則以應(yīng)用為核心,要突出“實(shí)用、易用、簡潔、穩(wěn)定”。既注重實(shí)效,滿足用戶的現(xiàn)實(shí)需要,又為系統(tǒng)的后續(xù)升級和擴(kuò)展留有余地。在技術(shù)實(shí)現(xiàn)上,要突出“結(jié)構(gòu)清晰、實(shí)現(xiàn)合理、通俗易懂(簡單)”。1. 實(shí)用:滿足用戶現(xiàn)實(shí)需要,解決實(shí)際問題,做細(xì)核心功能。2. 易用:使用方便,各項(xiàng)功能一目了然。滿足用戶的使用習(xí)慣,易使用、易維護(hù)、易升級。實(shí)現(xiàn)“傻瓜”式的操作,將實(shí)施、培訓(xùn)成本和周期降到最低。3. 簡潔:頁面簡潔,功能簡潔,每一個(gè)元素都有存在的意義。4. 穩(wěn)定:從底層數(shù)據(jù)庫到功能層經(jīng)過嚴(yán)格測試,能在不同的硬件環(huán)境中長期平穩(wěn)運(yùn)行。1.3 功能

8、說明OA是輔助辦公的軟件,使用OA與不使用OA相對比的好處是:可以用計(jì)算機(jī)管理所有的數(shù)據(jù),并可以方便的實(shí)現(xiàn)統(tǒng)計(jì)與報(bào)表的功能。提高辦公效率。(實(shí)現(xiàn)信息化)。以下是一個(gè)OA系統(tǒng)的全部功能列表:說明:不是所有的OA都有全部的功能,而是根據(jù)需求確定的。第二章 項(xiàng)目實(shí)現(xiàn)說明2.1軟件開發(fā)的步驟說明需求確認(rèn)概要設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼單元測試集成測試系統(tǒng)測試維護(hù)。單元測試是由程序員自己來完成,最終受益的也是程序員自己??梢赃@么說,程序員有責(zé)任編寫功能代碼,同時(shí)也就有責(zé)任為自己的代碼編寫單元測試。執(zhí)行單元測試,就是為了證明這段代碼的行為和我們期望的一致。集成測試,也叫組裝測試或聯(lián)合測試。在單元測試的基礎(chǔ)上,將所有模

9、塊按照設(shè)計(jì)要求(如根據(jù)結(jié)構(gòu)圖組裝成為子系統(tǒng)或系統(tǒng),進(jìn)行集成測試。實(shí)踐表明,一些模塊雖然能夠單獨(dú)地工作,但并不能保證連接起來也能正常的工作。程序在某些局部反映不出來的問題,在全局上很可能暴露出來,影響功能的實(shí)現(xiàn)。系統(tǒng)測試是將已經(jīng)確認(rèn)的軟件、計(jì)算機(jī)硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測試和確認(rèn)測試,其目的是通過與系統(tǒng)的需求相比較,發(fā)現(xiàn)所開發(fā)的系統(tǒng)與用戶需求不符或矛盾的地方,從而提出更加完善的方案。2.2 具體需求是什么?模塊功能說明組織與用戶管理崗位管理部門管理用戶管理系統(tǒng)權(quán)限初始化權(quán)限分配權(quán)限驗(yàn)證權(quán)限網(wǎng)上交流-論壇版塊管理看帖、發(fā)帖、回帖文章管理審批流轉(zhuǎn)(工作流)表單模板

10、管理審批流程管理審批流轉(zhuǎn)表單查詢說明:按列出的順序?qū)崿F(xiàn)功能。效果以靜態(tài)頁面為準(zhǔn)(需求)。第三章 本項(xiàng)目(OA)的整體設(shè)計(jì)3.1 JavaEE的三層架構(gòu)3.2關(guān)于分層的說明1,上面調(diào)用下面,即View調(diào)用Service,Service調(diào)用Dao。2,層與層之間用接口。除定義的接口外,不能使用其它層的特有類或接口。3,使用實(shí)體作為DTO(Data Transfer Object,數(shù)據(jù)傳輸對象)要做到任一層換掉后,其他層不受影響。我們在此項(xiàng)目中使用兩層:View+Service即在Service中直接操作Hibernate.Session。因?yàn)槿绻褂萌龑樱赟ervice中就會有一部分方法只是直接

11、調(diào)用DAO中的方法。一般情況下只有在多個(gè)數(shù)據(jù)源的場合下適合引入DAO層。3.3有關(guān)分層的幾個(gè)問題1,一定要分層嗎?不一定。假如公司要求你寫一個(gè)可以給指定員工發(fā)送短信的小程序,用于開會通知與自動發(fā)送生日祝福短信。這個(gè)程序很小,沒有多少行代碼,而且不變,這時(shí)不分層可以嗎?完全可以呀。但我們在寫程序時(shí),還是要分層的,分層的程序結(jié)構(gòu)清晰,可維護(hù)性高。2,一定要3層嗎?不一定。分3層是推薦的,而不是必須的,應(yīng)根據(jù)自己的具體情況進(jìn)行安排。我們?nèi)绻褂?層的結(jié)構(gòu),用起來就麻煩,因?yàn)樵赟ervice中會有一部分方法只是直接調(diào)用Dao中的方法,而Dao中的方法只是調(diào)用Session完成某操作。此時(shí)分2層更好,即

12、在Service中可直接操作Session,以簡化結(jié)構(gòu)。其實(shí)Hibernate已經(jīng)可以支持多種數(shù)據(jù)庫。3,一定要使用接口嗎?不一定。以前就有同學(xué)問我:“在設(shè)計(jì)程序時(shí)確定的技術(shù)在開發(fā)完成后一般不會更換的,實(shí)現(xiàn)類一般也不會更換,這種情況還用接口嗎,一般的小項(xiàng)目是不是可以不使用接口?”。是的,如果不會變(一般也不會變),這是完全可以的。3.4所用框架、技術(shù)編號工具版本說明1.Struts 22.1.8.12.Hibernate 3.6.0實(shí)現(xiàn)持久化操作3.Spring2.54.jBPM4.4工作流支持5.Junit4單元測試6.jQuery1.4說明:還有jQuery.validate與jQuery

13、.treeview等小插件3.5開發(fā)環(huán)境操作系統(tǒng)Windows XP開發(fā)工具M(jìn)yEclipse 8.6Eclipse數(shù)據(jù)庫MySql 5.0.22Web容器Tomcat 6.0瀏覽器IE 6說明:1, 推薦使用MyEclipse,這樣出現(xiàn)工具問題可以一起解決。當(dāng)然也可以使用自已熟悉的工具,如Eclipse、NetBeans、IntelliJ idea?,F(xiàn)在的重點(diǎn)是代碼實(shí)現(xiàn),不是工具。應(yīng)使用有效的工具。2, 要注意使用的MySql與JDBC驅(qū)動的版本要兼容。3, 顯示的技術(shù)(js, css)有兼容的問題,寫出的代碼可能在某些瀏覽器中不能正常運(yùn)行,這就需要在寫代碼時(shí)多使用JS框架,讓框架幫我們解決

14、兼容的問題。3.6代碼規(guī)范1, 命名:使用駝峰命名法。a) 類、接口:每個(gè)單詞的首字母大寫。例:MyDateConverterb) 變量、方法:第一個(gè)單詞的首字母小寫,其他單詞的首字母都大寫。例:myDateConverterc) 常量:全部字母都大寫,單詞之間使用_隔開。例,DEFAULT_PAGE_SIZE2, 使用有意義的名稱,慎用縮寫。3, 注釋:在代碼中加入適當(dāng)?shù)淖⑨專赫f明步驟,與說明非簡單邏輯。4, 空行:在代碼中加入適當(dāng)?shù)目招?,就像寫文章時(shí)要分段一樣(增強(qiáng)可讀性)。5, 要格式化代碼、一個(gè)java文件中的代碼不要過多、一個(gè)方法中的代碼不要過多??傊?,要保證代碼的有效、清晰、簡潔(

15、à可讀)。1, 有效:這是第一目標(biāo),代碼要是可以解決問題的。2, 清晰:在有效的前提下,讓代碼結(jié)構(gòu)與思路清晰。3, 簡潔:代碼與邏輯應(yīng)盡量的簡單,不要是給別人講別人都聽不明白。3.7 約定1, 工程中所有的文件都采用utf-8編碼。所有的頁面都是使用utf-8編碼,這樣方便解決表單內(nèi)容的亂碼問題。亂碼一般情況下是亂用編碼產(chǎn)生的。2, 實(shí)體的主鍵屬性的類型使用Long型。第四章 項(xiàng)目計(jì)劃功能知識點(diǎn)預(yù)計(jì)時(shí)間1. 搭建環(huán)境 + 基礎(chǔ)功能a) Dao設(shè)計(jì)1. Struts基礎(chǔ)2. Hibernate基礎(chǔ)1天2. 組織用戶管理a) 崗位管理b) 部門管理c) 用戶管理1. 一般的實(shí)體設(shè)計(jì)2.

16、實(shí)體映射(映射文件)3. 增刪改查功能4. 樹狀顯示5. 使用jQuery.validate進(jìn)行表單驗(yàn)證2天3. 系統(tǒng)權(quán)限a) 創(chuàng)建權(quán)限b) 分配權(quán)限c) 使用權(quán)限1. jQuery的一般使用2. 權(quán)限控制方案2天4. 論壇a) 論壇管理b) 論壇基本功能c) 文章管理1. 分頁2. 在線編輯器FCKeditor3天5. jBPM + 審批流轉(zhuǎn)a) 工作流框架jBPMb) 審批流轉(zhuǎn)功能1. 工作流框架jBPM2. 工作流的一般應(yīng)用4天第五章 準(zhǔn)備環(huán)境5.1創(chuàng)建數(shù)據(jù)庫,注意編碼1,使用MySql數(shù)據(jù)庫。2,創(chuàng)建數(shù)據(jù)庫時(shí),要注意編碼要支持中文。3,建表語句如下:create database oa

17、 default character set utf8;show create database oa;說明:需要先運(yùn)行Mysql的配置向?qū)В丫幋a配為GBK或UTF8。如果配成UTF8,在mysql命令行客戶端中就有亂碼,所以最好用GBK。5.2 配置快捷鍵1, 把Content Assist設(shè)為Alt+/2, 把Word Completion 設(shè)為Alt+.3,其他常用快捷鍵說明:Alt+/Content Assist代碼提示Ctrl+T顯示類的繼承結(jié)構(gòu)Ctrl+O列出類中的成員(成員變量、方法等)Ctrl+/注釋/取消注釋Ctrl+Shift+O導(dǎo)入要使用的包、并去除不使用的包Ctrl+

18、Shift+F格式化當(dāng)前文件中的代碼/格式化選中的代碼Ctrl+Alt+Up復(fù)制當(dāng)前行到下面Ctrl+Alt+Down復(fù)制當(dāng)前行到上面Ctrl+D刪除當(dāng)前行/刪除選中文本占的所有行Shift+Enter相當(dāng)于按End后再按EnterAlt+LeftAlt+RightCtrl+Shift+X變?yōu)榇髮慍trl+Shift+Y變?yōu)樾?.3 配置文件的默認(rèn)編碼1, 設(shè)置工程的默認(rèn)編碼為UTF-8。2, 配置JSP的默認(rèn)編碼為utf-85.4 配置格式化的代碼樣式1, 使用Ctrl+Shift+F可以格式化代碼。2, 在WindowàPreferencesàJavaàCo

19、de StyleàFormatter中可以設(shè)置代碼樣式。 要把Java代碼與注釋的行寬設(shè)為130。(其他使用默認(rèn)樣式)3, 搜索XML Sources,修改xml的行寬為130。(不考慮打印的情況)5.5 MyEclipse工具使用說明1, 導(dǎo)入工程時(shí)可以直接選擇一個(gè)zip文檔:FileàImportàExisting Projects into Workspace->Select archive file。2, 工程改名后,發(fā)果發(fā)布到Tomcat下,對應(yīng)的應(yīng)用的名稱不一定改變。這個(gè)名稱是在MyEclipseà Web中的Web Context-r

20、oot中配置的。新建一個(gè)Web Project,并設(shè)置工程的編碼為UTF-8。5.6 添加框架環(huán)境依次添加所需的框架jar包5.7 目錄結(jié)構(gòu)源碼文件夾src項(xiàng)目源代碼 conf配置文件 test單元測試WebRoot文件夾下 scriptJavaScript腳本文件 styleCSS樣式文件 WEB-INF/jspjsp頁面文件(再創(chuàng)建子文件夾分類存放)5.8 包結(jié)構(gòu)使用三層:顯示層(View),業(yè)務(wù)層(Service),數(shù)據(jù)訪問層(Dao)(部分)包名說明cq.oa.domain實(shí)體(Domain)cq.oa.daoDao接口cq.oa.dao.implDao的實(shí)現(xiàn)類cq.oa.servic

21、eService接口cqt.oa.service.implService的實(shí)現(xiàn)類cqt.oa.struts2.actionStruts的Actioncq.oa.util一些工具類cq.oa.cfgcq.oa.filterView顯示Jsp + JSTL + Struts + jQuery Service業(yè)務(wù)邏輯JBPMDao數(shù)據(jù)訪問Hibernate5.9 設(shè)置BaseDao接口和BaseDaoImpl類每個(gè)實(shí)體都應(yīng)有一個(gè)對應(yīng)的Dao,他封裝了對這個(gè)實(shí)體的數(shù)據(jù)庫操作。例實(shí)體Dao接口實(shí)現(xiàn)類=User-> UserDao-> UserDaoImplRole-> RoleDao-

22、> RoleDaoImplDepartment-> DepartmentDao -> DepartmentDaoImplArticle-> ArticleDao -> ArticleDaoImpl.說明:1,實(shí)體的Dao接口要繼承BaseDao接口。2,Dao的實(shí)現(xiàn)類要繼承DaoImplBase類。3,也可以不繼承指定的接口或類,這樣就要自己寫相應(yīng)的方法。4,T getById(Long id)與List<T> getByIdList(Long idList)不要合并為List getById(Long. ids),因?yàn)楂@取一個(gè)對象時(shí)也是返回List,

23、不方便。獲取 BaseDao的類型參數(shù)T的Class問題:1, 有了DaoBase與DaoImplBase,還要用UserDao、RoleDao嗎?答:要用。因?yàn)閁serDao或RoleDao中的方法可以分為有公有的方法與特有的方法兩部分。公有的方法是通過繼承BaseDao得到的,特有的方法要寫在自己里面(BaseDao中是沒有的)。2, UserDaoImpl已經(jīng)繼承了BaseDaoImpl,就不實(shí)現(xiàn)UserDao可以嗎?答:不可以。否則UserDao userDao = new UserDaoImpl(); 就不成立。使用反射獲取類型參數(shù)的真實(shí)類型的代碼如下:public DaoBaseImpl () Type type = this.getClass().getGenericSuperclass();ParameterizedType pt = (ParameterizedType) type;this.clazz = (Class<T>) pt.getActualTypeArguments()0;說明:1, 使用Session時(shí),不要自己創(chuàng)建,也不要管理事務(wù),直接調(diào)用getSession()即可。2, 暫時(shí)不實(shí)現(xiàn)getSession()方法,在后面的事務(wù)管理中實(shí)現(xiàn):protected Session getSessio

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論