文/王一行
(武警后勤學(xué)院,天津 300300)
在現(xiàn)代社會(huì)逐漸信息化、快節(jié)奏化的大背景下,傳統(tǒng)的企業(yè)信息交流方式以及對(duì)信息處理的弊端已經(jīng)開始顯露,對(duì)于企業(yè)創(chuàng)新及生產(chǎn)力的影響也日漸凸顯。企業(yè)如果不能適應(yīng)時(shí)代的發(fā)展趨勢(shì),就會(huì)面臨被淘汰的風(fēng)險(xiǎn)。這時(shí)企業(yè)就需要一種新的技術(shù)和新的思想來(lái)解決這個(gè)問(wèn)題。[1]
如今,企業(yè)作為一個(gè)團(tuán)隊(duì),對(duì)于信息的快速準(zhǔn)確處理將成為在激烈的市場(chǎng)競(jìng)爭(zhēng)中取勝的關(guān)鍵。在這樣的大背景下,各式各樣的辦公自動(dòng)化技術(shù)得到了蓬勃發(fā)展,也改變了過(guò)去單純以手工方式進(jìn)行日常經(jīng)營(yíng)的模式,有效地實(shí)現(xiàn)了信息共享協(xié)同工作、科學(xué)管理與決策,大大提高了機(jī)構(gòu)在行業(yè)內(nèi)的競(jìng)爭(zhēng)力。[2]
因?yàn)槲覈?guó)在辦公自動(dòng)化系統(tǒng)領(lǐng)域的發(fā)展于發(fā)達(dá)國(guó)家相比仍存在一定差距,生產(chǎn)力由于信息交流速度跟不上而導(dǎo)致閑置,造成了勞動(dòng)力的浪費(fèi);一部分企業(yè)雖有網(wǎng)絡(luò),但信息交互性效率低;各行各業(yè)對(duì)于系統(tǒng)的需求也是千差萬(wàn)別。因此,設(shè)計(jì)一款程序穩(wěn)定、適用于多個(gè)企業(yè)的網(wǎng)上辦公自動(dòng)化系統(tǒng)已然迫在眉睫。[3]
本文主要介紹行業(yè)歷史與前景,明確研究的目標(biāo);主要介紹辦公自動(dòng)化系統(tǒng)的總體需求、可行性分析及相關(guān)功能;同時(shí)介紹了辦公自動(dòng)化系統(tǒng)的相關(guān)開發(fā)構(gòu)想;展示了各個(gè)模塊的設(shè)計(jì)理念;等等。
根據(jù)辦公自動(dòng)化系統(tǒng)在一般中小型企業(yè)的應(yīng)用的調(diào)研結(jié)果,筆者發(fā)現(xiàn),一般而言,辦公室的主要任務(wù)都是聯(lián)系各下級(jí)單位,進(jìn)行起草和處理文件,主持并負(fù)責(zé)會(huì)議各項(xiàng)事務(wù)以及各類文件的存檔工作,同時(shí)還需對(duì)本地文件進(jìn)行查詢。
基于當(dāng)前互聯(lián)網(wǎng)環(huán)境,在辦公自動(dòng)化系統(tǒng)的構(gòu)建過(guò)程中,Web網(wǎng)站開發(fā)是最可行的開發(fā)方式之一。在線創(chuàng)意分享平臺(tái)使用Java語(yǔ)言開發(fā),分為創(chuàng)意分享平臺(tái)以及后臺(tái)管理平臺(tái),并且使用的SpringMvc+Spring+Mybatis和jFinal都屬于開源框架.其中,Spring以及其他各種工具都屬于開源工具。MySQL數(shù)據(jù)庫(kù)現(xiàn)在為開源數(shù)據(jù)庫(kù)。辦公自動(dòng)化系統(tǒng)購(gòu)買了正版的IDEA軟件與Java開發(fā)軟件,不存在技術(shù)侵權(quán)問(wèn)題。
辦公自動(dòng)化系統(tǒng)具有一般適用性,即使較大規(guī)模的企業(yè)也可以在原框架上繼續(xù)進(jìn)行架構(gòu),因?yàn)樗目蓴U(kuò)展性、易升級(jí)性和開放性是一般軟件所不具備的。而被管理者也可以在軟件上清晰地看到被管理的事務(wù)。
使用的所有權(quán)限都是系統(tǒng)管理員賦予的,只有當(dāng)管理員在數(shù)據(jù)庫(kù)中添加用戶信息后,用戶才能通過(guò)登錄賬號(hào)和密碼來(lái)進(jìn)行安全登錄,以及授予操作范圍。
角色管理是對(duì)系統(tǒng)內(nèi)用戶的角色資源進(jìn)行分配,主要包括以下幾塊功能:角色組和角色的設(shè)置、角色的分類歸屬、角色的授權(quán)。
相比于角色是對(duì)用戶的管理權(quán)限進(jìn)行組別劃分,角色組則是根據(jù)角色的相近性來(lái)進(jìn)行劃分,本質(zhì)上不是新的技術(shù),只是為了方便管理,同時(shí)又使復(fù)雜度大大降低。系統(tǒng)可以統(tǒng)一使用角色來(lái)對(duì)用戶進(jìn)行授權(quán)分類。
權(quán)限管理可細(xì)分到系統(tǒng)按鈕權(quán)限、菜單權(quán)限,存在于幾乎所有的需要賬戶和密碼登錄的系統(tǒng)之中。而管理員擁有最高的權(quán)限,并可以對(duì)其他人的權(quán)限大小進(jìn)行管理,既可以定義角色,也能為系統(tǒng)分配角色。
本平臺(tái)使用經(jīng)典的Mvc架構(gòu),屬于單體應(yīng)用。由于預(yù)計(jì)前期用戶量不是太大,所以并不考慮使用分布式設(shè)計(jì),數(shù)據(jù)服務(wù)器與應(yīng)用服務(wù)器分離。項(xiàng)目分為Mvc 3層,使用SpringMvc+Spring+Mybatis來(lái)實(shí)現(xiàn)。項(xiàng)目的包依賴由Maven管理。
Apache Shiro作為隸屬于Java的一個(gè)新型安全框架,可以對(duì)角色的身份認(rèn)證進(jìn)行一定程度的簡(jiǎn)化,還可以對(duì)角色進(jìn)行授權(quán)。Shiro無(wú)論是在Java SE還是Java EE中都能發(fā)揮自己重要的作用。Shiro框架可以處理加密、賬戶認(rèn)證、用戶授權(quán)等安全功能。
Spring框架是Java EE的一款重要的開源框架,同時(shí)又有很多子框架。由于在開發(fā)過(guò)程中不可避免地需要配置XML,使用Spring Boot框架可以極大地減少工作量。
辦公自動(dòng)化系統(tǒng)以ngicx為負(fù)載均衡,用Redis來(lái)存儲(chǔ)tomcat session部分,從而實(shí)現(xiàn)集群中該部分的共享,將Redis變成cas ticket的倉(cāng)庫(kù),保持集群中cas ticket的一致性。
辦公自動(dòng)化系統(tǒng)開發(fā)的主要環(huán)境如下:(1)服務(wù)器:SecureCRT。(2)Java:IntelliJ IDEA/Eclipse。(3)遠(yuǎn)程控制:TeamViewer。(4)版本控制:Git。(5)Jar管理:Maven。(6)UML建模:ArgoUML。(7)Eclipse測(cè)試插件:EclEmma。(8)程序質(zhì)量檢查插件:JDepend4Eclipse(Eclipse平臺(tái))。
MySQL的開源技術(shù)支持為開發(fā)者提供了更好的開發(fā)性與可拓展性,在開源易用的同時(shí)還擁有了大量的桌面化管理工具。無(wú)論是其自帶的MySQL WorkBench,還是時(shí)下火熱的Navicat、Sqlyog,都能更好地進(jìn)行數(shù)據(jù)庫(kù)開發(fā)。[4]本項(xiàng)目選擇Navicat For MySQL作為數(shù)據(jù)庫(kù)管理與查看工具。
項(xiàng)目主要以bootstrap為首選前端框架,配合layUI框架,應(yīng)用jquery、ajax對(duì)界面進(jìn)行美化,并對(duì)功能加以完善。
項(xiàng)目使用Mvc開發(fā)模式??刂茖涌蚣苤饕x用Spring Mvc,其相對(duì)于Struts2更能夠節(jié)省服務(wù)空間,并且Spring Mvc使用簡(jiǎn)單便捷,能夠支持更多前端渲染方式,還能支持REST風(fēng)格請(qǐng)求,確保平臺(tái)的橫向拓展能力、演化能力。
業(yè)務(wù)邏輯層框架選擇使用Spring框架,能夠?qū)Ω鞣NView層框架與Model層框架給予有力支持,并且以優(yōu)秀的控制反轉(zhuǎn)與面向切面編程思想作為框架核心。
持久層框架選擇Mybatis。Mybatis支持定制化自主編寫SQL、存儲(chǔ)過(guò)程以及高級(jí)映射的持久層Java框架。
測(cè)試工具選擇Junit4,能方便高速地測(cè)試出各層數(shù)據(jù)的傳輸情況與結(jié)果。
辦公自動(dòng)化軟件的及時(shí)測(cè)試是將其轉(zhuǎn)交給客戶之前的一個(gè)重要環(huán)節(jié)。在開發(fā)過(guò)程中,每一個(gè)階段都要進(jìn)行測(cè)試。早發(fā)現(xiàn)錯(cuò)誤才能不將錯(cuò)誤累積到后續(xù)環(huán)節(jié),以致對(duì)成品的測(cè)試造成巨大影響。因此,測(cè)試是對(duì)軟件質(zhì)量的一個(gè)關(guān)鍵保證。
(1)從系統(tǒng)測(cè)試中明確網(wǎng)站能不能滿足用戶的需求,并做出相關(guān)的系統(tǒng)分析。
(2)在系統(tǒng)測(cè)試過(guò)程中驗(yàn)證數(shù)據(jù)庫(kù)的連接、增加、刪減、編輯數(shù)據(jù)與插入數(shù)據(jù)可否成功。
對(duì)辦公自動(dòng)化系統(tǒng)的內(nèi)容測(cè)試有以下幾點(diǎn):
功能性能:通過(guò)測(cè)試能確定系統(tǒng)能否正常運(yùn)行并滿足用戶需要。該系統(tǒng)功能的正確性是關(guān)系到此網(wǎng)站的重中之重,所以一定要實(shí)施系統(tǒng)測(cè)試這項(xiàng)動(dòng)作,而且必須認(rèn)真完成。
網(wǎng)站性能:此測(cè)試主要對(duì)系統(tǒng)的軟件速度進(jìn)行檢測(cè),同時(shí)檢查網(wǎng)站性能能否滿足預(yù)期。
頁(yè)面性能:此測(cè)試內(nèi)容主要是檢測(cè)Web頁(yè)面能否做到界面效果與用戶操作最大限度地滿足用戶的切實(shí)需求,在測(cè)試過(guò)程中能否發(fā)現(xiàn)不足,以便及時(shí)改進(jìn)。
單元測(cè)試通常是開發(fā)團(tuán)隊(duì)進(jìn)行的白盒測(cè)試,雙向集成測(cè)試可以把問(wèn)題暴露得更加清楚,不僅能驗(yàn)證設(shè)計(jì)優(yōu)點(diǎn)與不足,也能驗(yàn)證需求優(yōu)點(diǎn)與不足。
黑盒測(cè)試則無(wú)須思考程序的內(nèi)側(cè)結(jié)構(gòu)與業(yè)務(wù)邏輯,它的作用多為測(cè)試系統(tǒng)的功能在符合規(guī)范前能否統(tǒng)一,通常有一個(gè)輸入值、一個(gè)輸出值和一個(gè)期望值的比較。
白盒測(cè)試針對(duì)程序的內(nèi)在理論結(jié)構(gòu)中的作用主要是單元測(cè)試階段和代碼級(jí)的測(cè)試。測(cè)試方法由語(yǔ)句、決策、條件、路徑和條件組合這5種覆蓋方式組成。
企業(yè)辦公自動(dòng)化系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的實(shí)際意義在于提高工作效率,簡(jiǎn)化工作流程,使各環(huán)節(jié)不出錯(cuò)誤。雖然系統(tǒng)在營(yíng)運(yùn)方面仍存在一定的問(wèn)題和局限性,但是通過(guò)這個(gè)項(xiàng)目積累經(jīng)驗(yàn),也能為后來(lái)人的探索起到一定的幫助。