周昱晨+羅向陽+張豪
摘 要: 針對小型企業(yè)辦公自動化程度低的問題,設(shè)計了基于Java Web的辦公自動化系統(tǒng)。該系統(tǒng)充分考慮了小型企業(yè)人員規(guī)模小,行政流程相對簡單的特點,放棄了用處不大的工作流。此外,為降低耦合度和維護(hù)成本,系統(tǒng)采用了B/S構(gòu)架,運(yùn)用Java Web中的SSH框架和MVC控制模型開發(fā)而成。研究結(jié)果表明:該系統(tǒng)功能針對性強(qiáng),日常維護(hù)方便,可以滿足小型企業(yè)的日常使用需求。
關(guān)鍵詞: 小型企業(yè); 自動化辦公系統(tǒng); Java Web技術(shù); SSH框架
中圖分類號:TP311.5 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2017)03-30-05
Abstract: Aiming at the problem that traditional office business style is popular in small enterprises, an automation office system (OA) based on Java Web is designed. The system considers the characteristics of the small enterprises such as small size and simple administration, the workflow software has been abandoned. In addition, in order to reduce the cost of design and maintenance, the system uses B/S framework, SSH frame and MVC model to separate business logic and control data, reduce the coupling, which is in favor of system maintenance and expansion. The results show that the system has strong function and convenient maintenance, and can meet the daily needs of small businesses.
Key words: small enterprises; Java Web technology; SSH frame
0 引言
互聯(lián)網(wǎng)已深入到個人生活的方方面面,隨之而來的自動化、智能化理念日漸深入人心?!盎ヂ?lián)網(wǎng)+”正改變著人們的日常生活,作為日?;顒又饕獦?gòu)成部分的辦公活動,也不可避免地受到關(guān)注,辦公自動化這一概念越來越多地被提及。
辦公自動化就是通過信息技術(shù)將辦公環(huán)境集成起來。主要有信息交互平臺,信息發(fā)布平臺,流程自動化,管理自動化,輔助辦公,信息集成,辦公分布化等七個方面的功能。
辦公自動化的研究雖然在我國起步較晚,但近30年其技術(shù)發(fā)展一日千里,我國對相關(guān)理論的研究越來越深入。早期引入辦公設(shè)備部分取代人力辦公就被視為辦公自動化;后來辦公自動化的定義有了延伸,利用電腦進(jìn)行文檔存貯、編排及打印工作,用電腦進(jìn)行各種人事、財務(wù)管理等活動也被視為辦公自動化;現(xiàn)在辦公自動化可以理解為是不同主體間信息的傳遞及處理過程[1]。
辦公自動化系統(tǒng)在企業(yè)中已經(jīng)得到了廣泛應(yīng)用。對于一些大企業(yè)而言,由于行政流程相對規(guī)范化、標(biāo)準(zhǔn)化,資金也相對充裕,因而大企業(yè)一般采購專業(yè)公司開發(fā)的現(xiàn)成系統(tǒng)。這些系統(tǒng)雖然價格昂貴,但開發(fā)之初功能模塊就很完善,后期只需按照客戶需求稍作修改就可投入使用。對小企業(yè)而言,由于人員規(guī)模較小,行政流程也相對更簡潔、有特色,資金不充裕,而采購專業(yè)系統(tǒng)昂貴,一些工作流可能并不貼合企業(yè)實際,造成功能浪費(fèi)。此外,對小企業(yè)而言,系統(tǒng)運(yùn)維人手也并不如大企業(yè)充裕,維護(hù)復(fù)雜的系統(tǒng)較困難。因此,開發(fā)簡潔、易維護(hù)的辦公系統(tǒng)對小企業(yè)而言就很有必要[2-3]。
本研究結(jié)合實際,分析小型企業(yè)的基本需求,運(yùn)用SSH框架和MVC控制模型以實現(xiàn)用戶管理功能,日程管理功能,短消息管理功能,公告管理功能,會議管理功能,個人通訊錄功能,工作日志功能等基本功能并進(jìn)行測試。
1 系統(tǒng)架構(gòu)設(shè)計
SSH是struts+spring+hibernate集成框架的簡稱,是一種較為流行的開源的Web應(yīng)用程序框架。
⑴ 最簡單的整合方式無疑是用Struts中的Action繼承Spring中的ActionSupport類,并在Action中獲取Spring的 ApplicationContext。
⑵ 此外,也可以在Struts的配置文件中,以Spring的DelegatingRequestProcessor類代替Struts的 RequestProcessor類,并在Spring的配置文件中定義與Struts配置文件中
⑶ 最靈活的整合方式無疑是通過Spring的DelegatingActionProxy類代理Struts的動作,即在Struts配置文件中,將定義
MVC包含了模型(Model)對象,視圖(View)對象和控制器(Control)對象。采用該模型來開發(fā)系統(tǒng),不僅可以徹底的分離視圖、控制器與模型,還分離了業(yè)務(wù)邏輯層與持久層。該模型的好處在于不用考慮前端的變化,模型層只要稍加改動就可適應(yīng)前端的變化,而且也無需擔(dān)心數(shù)據(jù)庫的變化會影響前端,這樣有助于提高系統(tǒng)的可復(fù)用性,可大大提高開發(fā)效率[4-5]。SSH架構(gòu)如圖1所示。
2 系統(tǒng)詳細(xì)設(shè)計
本系統(tǒng)分為若干個功能模塊,各模塊相互獨立。例如,用戶管理模塊對普通用戶和系統(tǒng)管理員作了區(qū)分。使用該辦公自動化系統(tǒng)用戶首先要注冊,登錄模塊判斷用戶是否為合法用戶。登錄與注冊流程如圖2、圖3所示。
其他功能模塊有日程管理,短消息管理,公告管理,會議管理,個人通訊錄管理,工作日志管理。這些模塊與用戶管理模塊作用不同,但它們彼此間功能較為相似,主要是實現(xiàn)對信息的增、刪、改、查。以日程管理模塊為例,其流程圖如圖4所示。其他功能模塊流程圖略。
3 系統(tǒng)功能模塊實現(xiàn)
3.1 開發(fā)流程
⑴ Hibernate功能開發(fā)。包括創(chuàng)建Hibernate的持久化類、映射文件,開發(fā)DAO類[6-7]。
⑵ Spring功能開發(fā)。配置applicationContext.xml文件,其中包括數(shù)據(jù)源配置、SessionFactory的配置、配置事務(wù)、配置DAO組件以及配置DAO事務(wù)[8]。
⑶ Struts功能開發(fā)。開發(fā)Form Bean類、Action類、JSP頁面調(diào)用Hibernate層的DAO類執(zhí)行與數(shù)據(jù)庫的交互[9]。
3.2 相關(guān)功能模塊的設(shè)計代碼
用戶管理模塊的作用是方便用戶登錄和注冊,該模塊對普通用戶和系統(tǒng)管理員作了區(qū)分。登錄、注冊模塊是系統(tǒng)中最早與用戶交互的功能模塊。
3.2.1 Hibernate開發(fā)
由MyEclipse自動生成持久化抽象類AbstractUser.java,持久化類User.java映射文件User.hbm.xml,并在applicationContext.xml進(jìn)行配置。開發(fā)UserDAO.java功能類,該類包含的函數(shù)分別是判斷用戶是否存在,并添加用戶,刪除用戶。核心代碼如下:(該接口定義了UserDAO.java中定義的方法)
public interface IUserDAO {
public boolean isValid(final String username,
final String password);
public boolean isExist(String username);
public void insert User(User user);
public User getUser(String userid);
public List getUsers();
public void delete User(String userid); }
3.2.2 Struts開發(fā)
創(chuàng)建表單類:
LoginForm.java,RegisterForm.java
創(chuàng)建Action類:
LoginAction.java,LogoutAction,RegisterAction.java
(在類中調(diào)用UserDAO類實現(xiàn)數(shù)據(jù)庫的操作)。
創(chuàng)建JSP頁面[10-11]:
⑴ 登陸頁面login.jsp
⑵ 歡迎頁面welcome.jsp
⑶ 注冊頁面register.jsp
登錄注冊模塊的數(shù)據(jù)流圖如圖5所示。
3.2.3 日程管理模塊的實現(xiàn)
日程管理模塊中的主要信息有年、月、日及日程安排等,用戶可以添加新的日程安排,也可對已經(jīng)發(fā)布的日程安排進(jìn)行查看、修改和刪除操作。
⑴ Hibernate開發(fā)
由MyEclipse自動生成持久化抽象類Abstract-
Schedules.java;
持久化類Schedule.java,映射文件Schedule.hbm.xml;
并在applicationContext.xml進(jìn)行配置。
開發(fā)ScheduleDAO.java功能類,該類包含的函數(shù)分別是添加日程,修改日程,刪除日程,察看日程。核心代碼如下(該接口定義了ScheduleDAO.java中定義的方法):
public interface IScheduleDAO {
public Pager findPagerByUsername(final String
username, final int pageNo,final int pageSize);
public Schedule findById(String id);
public void insert(Schedule schedule);
public void update(Schedule schedule);
public void delete(String id); }
⑵ Struts開發(fā)
創(chuàng)建表單類:ScheduleForm.java
創(chuàng)建Action 類:ScheduleAction.java(在類中調(diào)用ScheduleDAO類實現(xiàn)數(shù)據(jù)庫的操作)。
創(chuàng)建JSP頁面:
① 列表頁面schedule.jap
method="post">
② 添加頁面schedule_add.jsp
③ 修改頁面schedule_edit.jsp
該模塊數(shù)據(jù)流圖如圖6所示。
4 系統(tǒng)測試
新系統(tǒng)在完成設(shè)計實現(xiàn)后還需進(jìn)行測試。測試有助于發(fā)現(xiàn)系統(tǒng)設(shè)計開發(fā)中的功能錯誤,可使系統(tǒng)的功能更加完善,可使系統(tǒng)在投入使用后運(yùn)行更加流暢平穩(wěn)。本研究擬定測試方案如下:
4.1 功能測試
功能測試需遵照功能說明書,測試時不考慮系統(tǒng)內(nèi)部結(jié)構(gòu),只看輸入數(shù)據(jù)后系統(tǒng)能否正確輸出數(shù)據(jù)。
4.2 單元測試
單元測試規(guī)模小,采用白盒方法編寫測試用例,讓所有路徑都覆蓋一遍,從而達(dá)到較為徹底的測試效果。
由于本研究測試用例過多,在此不一一列舉。公告管理測試用例如表1所示。
5 結(jié)束語
本文分析了小型企業(yè)辦公需求,結(jié)合實際設(shè)計了基于Java Web的辦公自動化系統(tǒng)?;贐/S構(gòu)架,運(yùn)用SSH框架和MVC控制模型較好地減低了耦合度,增加了可擴(kuò)展性。經(jīng)測試,相關(guān)功能模塊運(yùn)行正常,可以滿足日常使用要求。
系統(tǒng)還存在許多不足。如系統(tǒng)過于追求簡練可靠,使用的技術(shù)相對保守,一些圖片標(biāo)簽沒有添加到系統(tǒng)中去,以至系統(tǒng)界面不夠美觀;系統(tǒng)在設(shè)計之初主要考慮本單位需求,一些功能如考勤管理和財務(wù)管理沒有整合到設(shè)計中去,因此系統(tǒng)功能還存在缺陷。
下一步,筆者打算進(jìn)一步美化系統(tǒng),使界面更具觀賞性;嘗試設(shè)計開發(fā)考勤管理和財務(wù)管理等功能模塊;擴(kuò)展接口,嘗試將本系統(tǒng)與本單位的官方網(wǎng)站及采編系統(tǒng)整合起來,使其更集成化。
參考文獻(xiàn)(References):
[1] 張淞芝.關(guān)于我國辦公自動化系統(tǒng)建設(shè)的幾點看法[J].計算技術(shù)與自動化,1986.4:3-9
[2] 于莉.我國中小企業(yè)OA系統(tǒng)應(yīng)用現(xiàn)狀分析[J].中國電子商務(wù),2011.11:230-230
[3] 李明鈞.一個中小型辦公自動化系統(tǒng)的規(guī)劃設(shè)計方案淺析[J].計算技術(shù)與自動化,1986.4:19-21
[4] 劉中兵.開發(fā)者突擊Java Web主流框架整合開發(fā)[M].電子工業(yè)出版社,2008.
[5] 葉達(dá)鋒.Eclipse編程技術(shù)與實例[M].人民郵電出版社,2006.
[6] 范斯瓦尼.MySQL完全手冊[M].電子工業(yè)出版社,2005.
[7] 李春葆,曾慧.SQL Server2000應(yīng)用系統(tǒng)開發(fā)教程[M].清華大學(xué)出版社,2003.
[8] 劉軍,戴金山.基于Spring MVC與iBatis的輕量級Web應(yīng)用研究[J].計算機(jī)應(yīng)用,2006,26(4):840-843
[9] 邱哲,馬斗.Struts設(shè)計開發(fā)大全[M].清華大學(xué)出版社,2006.
[10] 劉曉華.JSP應(yīng)用開發(fā)詳解[M].電子工業(yè)出版社,2007.
[11] 唐友國,湛洪波.JSP網(wǎng)站開發(fā)詳解(JSP+Servlet+Tomcat+Eclipse+SSH)[M].電子工業(yè)出版社,2008.