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