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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

10、管理審批流程管理審批流轉表單查詢說明:按列出的順序實現功能。效果以靜態(tài)頁面為準(需求)。第三章 本項目(OA)的整體設計3.1 JavaEE的三層架構3.2關于分層的說明1,上面調用下面,即View調用Service,Service調用Dao。2,層與層之間用接口。除定義的接口外,不能使用其它層的特有類或接口。3,使用實體作為DTO(Data Transfer Object,數據傳輸對象)要做到任一層換掉后,其他層不受影響。我們在此項目中使用兩層:View+Service即在Service中直接操作Hibernate.Session。因為如果使用三層,在Service中就會有一部分方法只是直接

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論