葉小艷,張 芒,顧奕騰
(廣州大學(xué)華軟軟件學(xué)院網(wǎng)絡(luò)技術(shù)系,廣東 廣州 510990)
基于SSH框架的OA系統(tǒng)設(shè)計與實現(xiàn)
葉小艷,張 芒,顧奕騰
(廣州大學(xué)華軟軟件學(xué)院網(wǎng)絡(luò)技術(shù)系,廣東 廣州 510990)
運用SSH框架技術(shù)設(shè)計了OA系統(tǒng)。該系統(tǒng)實現(xiàn)了登錄管理、記事便簽、權(quán)限管理、假期管理等十個功能模塊。重點介紹了用戶登陸功能安全設(shè)計。對系統(tǒng)進行界面測試、安全性測試、兼容性測試以及回歸測試,結(jié)果顯示,系統(tǒng)未發(fā)現(xiàn)嚴(yán)重的缺陷,無業(yè)務(wù)邏輯錯誤。
Spring;Struts2;Hibernate;SSH框架;OA系統(tǒng);辦公自動化
OA即辦公自動化,將現(xiàn)代化辦公和計算機技術(shù)結(jié)合起來的一種新型的辦公方式。OA系統(tǒng)一方面可以優(yōu)化管理組織結(jié)構(gòu),調(diào)整管理體制,在提高效率的基礎(chǔ)上,增加協(xié)同辦公能力,提高企業(yè)管理水平和辦公效率;另一方面無紙化辦公可以降低企業(yè)成本。SSH框架是在企業(yè)開發(fā)中使用率很高的框架之一,整個框架以Spring為核心,整合Struts2和Hibernate框架[1],具有易重構(gòu)、解耦、易維護等諸多特點,且為后續(xù)開發(fā)和維護帶來極大便利。本文主要研究基于SSH框架技術(shù)的 OA系統(tǒng)的設(shè)計與實現(xiàn),本系統(tǒng)主要針對需要借助計算機技術(shù),提高管理,縮短辦公周期,實現(xiàn)辦公活動自動化的企業(yè)[2]。對部門、職位、用戶等信息存入系統(tǒng);能夠提供文件上傳和下載;提供員工聯(lián)系人的查詢和導(dǎo)出;提供請假功能和審批功能;提供記事便簽的功能,提醒自己要完成的任務(wù);查看公司內(nèi)部發(fā)出的公告。不同角色用戶登錄系統(tǒng)可獲取到不同的菜單權(quán)限。
根據(jù)用戶的實際需要和工作特點,系統(tǒng)有以下十個主要功能模塊。
⑴ 登錄管理模塊:對用戶登錄判斷驗證碼正確性,驗證賬號狀態(tài)(新建、審核、不通過、凍結(jié)),登錄成功獲取賬號的權(quán)限,加載權(quán)限菜單。
⑵ 權(quán)限管理模塊:對用戶賬號進行權(quán)限等級的變更,不同權(quán)限等級的賬號具有不同的菜單和功能。
⑶ 假期管理模塊:實現(xiàn)假期類型的添加、修改和查詢。假期申請和假期審批等功能。
⑷ 文檔管理模塊:主要實現(xiàn)查詢文檔、共享文檔、下載等功能。
⑸ 通訊管理模塊:主要實現(xiàn)通訊錄的導(dǎo)入和導(dǎo)出,修改聯(lián)系人信息和刪除聯(lián)系人等功能。
⑹ 職位管理模塊:主要實現(xiàn)職位的新增、修改和刪除等功能。
⑺ 部門管理模塊:主要實現(xiàn)部門的新增、修改和刪除等功能。
⑻ 用戶管理模塊:主要實現(xiàn)用戶的查詢、添加、修改、審核和凍結(jié)賬號等功能;
⑼ 便簽管理模塊:主要實現(xiàn)記事便簽的新增和刪除和展示的功能。
⑽ 公告管理模塊:主要實現(xiàn)公告上傳、預(yù)覽等功能。
按系統(tǒng)各角色人員使用權(quán)限要求,系統(tǒng)功能的需求如表1。
表1 系統(tǒng)角色功能需求
采用MySQL作為數(shù)據(jù)庫,數(shù)據(jù)庫名稱為oa,包括了10張表:聯(lián)系人表oa_contact、部門信息表oa_dept、職位信息表oa_job、文檔信息表oa_document、便簽信息表oa_note、公告信息表oa_notice、用戶信息表oa_user、假期類型表oa_leave_type、假期明細(xì)表oa_leave_item、假期審核表oa_leave_audit。
將Struts2的jar包添加到lib目錄下。配置核心過濾器,創(chuàng)建struts.xml。在web.xml文件中配置監(jiān)聽器,在Web應(yīng)用啟動時自動創(chuàng)建Spring容器。為ContextLoaderListener提供創(chuàng)建Spring容器所需的配置文件。將Struts-Spring整合的插件包添加到lib目錄下。導(dǎo)入Hibernate的jar包。在Spring的配置文件中配置DataSource。配置SessionFactory。
采用struts2+spring3+hibernate3來實現(xiàn)系統(tǒng)的整體架構(gòu)[3]。struts2作為MVC框架,利用Action攔截用戶請求,控制請求處理和轉(zhuǎn)發(fā)都由struts2進行處理[4]。Hibernate為數(shù)據(jù)持久層,主要對數(shù)據(jù)進行持久化操作。spring框架是該系統(tǒng)的核心部分,spring提供的IOC容器是業(yè)務(wù)邏輯組件Service和DAO組件的工廠,負(fù)責(zé)生成并管理這些實例[5]。
系統(tǒng)登錄頁面如圖1所示,登錄管理是對用戶身份進行驗證,核對用戶輸入的用戶名、密碼和驗證碼的數(shù)據(jù)合法性和一致性,驗證通過才能進入系統(tǒng)。
圖1 登錄功能流程
圖2 登錄界面
系統(tǒng)登錄流程如圖3所示,為了安全性,密碼采用MD5加密,前臺采用驗證碼功能,后臺用戶登陸功能采用異步請求,采用Jquery框架實現(xiàn)異步請求,后臺響應(yīng)數(shù)據(jù)json格式,對于異常用戶,啟動登陸攔截器。
⑴ 調(diào)用異步請求進行登錄核心代碼:
⑵ 登錄攔截器核心代碼:
⑶ 后臺操作Cookie核心代碼:
⑷ 后臺驗證賬戶核心代碼:
系統(tǒng)登錄成功后,會進入主頁面,如圖3、圖4所示。
圖3 管理員菜單
圖4 用戶菜單
選擇黑盒測試作為主要方法,人工手動進行系統(tǒng)功能測試,發(fā)現(xiàn)測試用例全部通過并無嚴(yán)重缺陷。
⑴ 界面測試:對系統(tǒng)菜單、按鈕名稱、提示信息、鏈接等界面進行測試,驗證各個輸入窗口提示信息是否與需求一致,采用通用的WEB測試,人工手動測試發(fā)現(xiàn)符合用戶操作習(xí)慣,界面友好。
⑵ 安全性測試:對賬號的密碼安全,權(quán)限管理和SQL注入等非法攻擊進行測試,核實不同用戶是否具有不同功能權(quán)限,檢驗是否有防止SQL注入,采用人工手動測試,發(fā)現(xiàn)執(zhí)行非法操作系統(tǒng)仍然能夠正常運作。
⑶ 兼容性測試,使用不同版本的不同瀏覽器進行測試,驗證系統(tǒng)是否兼容多種瀏覽器,采用黑盒測試,人工手動測試,發(fā)現(xiàn)系統(tǒng)在不同瀏覽器上運行,操作正常,不影響使用。
⑷ 回歸測試,對用戶界面、系統(tǒng)功能、兼容性和安全性等,核實系統(tǒng)能達(dá)到用戶需求所要求的標(biāo)準(zhǔn),采用黑盒測試、手工測試和自動化測試發(fā)現(xiàn),當(dāng)測試用的軟件或其環(huán)境改變時進行回歸測試,有95%的測試用例通過系統(tǒng)測試,測試優(yōu)先級以測試需求的優(yōu)先級為參照。
測試最終結(jié)果:未發(fā)現(xiàn)嚴(yán)重的缺陷,系統(tǒng)業(yè)務(wù)邏輯無錯誤。
本系統(tǒng)采用輕量級框架開發(fā)了辦公自動化系統(tǒng),經(jīng)過詳細(xì)的設(shè)計和不斷測試,最終完成了登錄管理、記事便簽、權(quán)限管理、假期管理等十個功能模塊,service層和dao層采用面向接口編程思想進行開發(fā),為系統(tǒng)的可拓展性提供了基礎(chǔ)。本系統(tǒng)涉及的模塊都是實際工作中能用到的,用戶可以較快熟悉系統(tǒng),提高工作效率,縮短辦公周期。系統(tǒng)還有提升和完善的空間,如增加考勤管理、會議管理、工資管理等功能模塊;接入移動端口,實現(xiàn)系統(tǒng)的跨平臺性。
[1]呂華.基于SSH框架技術(shù)的辦公自動化系統(tǒng)的設(shè)計與實現(xiàn)[D].北京郵電大學(xué)碩士學(xué)位論文,2014:23-26
[2]郭建偉,白鳳娥.企業(yè)辦公自動化系統(tǒng)現(xiàn)狀與發(fā)展趨勢[J].計算機與信息技術(shù),2011:103-105
[3]王鵬.基于SSH框架的辦公管理系統(tǒng)的設(shè)計與實現(xiàn)[D].北京郵電大學(xué)碩士學(xué)位論文,2014:20-22
[4]朱艷梅.基于Spring框架的在線拍賣系統(tǒng)的設(shè)計和實現(xiàn)[D].蘇州大學(xué)碩士學(xué)位論文,2008:35-36
[5]張慶.基于B/S模式的高校教務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)[D].電子科技大學(xué)碩士學(xué)位論文,2012:34-36
Design and implementation of OA system based on SSH framework
Ye Xiaoyan,Zhang Mang,Gu Yiteng
(South China Institute of Software Engineering,Guangzhou University,Guangzhou,Guangdong 510990,China)
Using SSH framework technology to design the OA system,the system has realized the the login management,notes,rights management,holiday management etc.ten function modules.The security design of user login function is introduced with emphasis.Through the interface test,security test,compatibility test and regression test to the system,the results show that the system has no serious defect,and no business logic error.
Spring;Struts2;Hibernate;SSH framework;OA system;office automation
TP311
A
1006-8228(2017)10-47-04
2017-07-24
葉小艷(1981-),女,湖南長沙人,碩士,講師,主要研究方向:信息技術(shù)應(yīng)用。
10.16644/j.cnki.cn33-1094/tp.2017.10.014