文/鄭雨晴
隨著時代的發展,計算機領域也在源源不斷的取得豐碩的成果。計算機軟件技術在人們的日常生活、工業生產控制及企業辦公自動化領域得到了廣泛的應用?,F代企業的辦公管理中的無紙化應用已得到廣泛的推廣。企業采購資金申報是一項重要而且繁復的工作流程,該項工作不僅需要花費很多的時間,人力以及辦公資源,還會因為一些疏忽或者蓄意使公司財產受到損失。開發一套企業采購資金申報管理系統,就是為了能在最短時間內完成最復雜的流程并且可以保證申購資金的透明化,這在很大程度上可以提高企業的效率以及健壯性。企業采購費用申報管理系統是標準的B/S項目,前端采用了HTML、DIV+CSS、JAVASCRIPT以及JQuery框架,后臺采用JFinal框架封裝了J2EE,并結合Apache的Log4J實現日志記錄,展現層運用JSP新規范的標簽庫,持久層采用C3P0連接池以及ActiveRecord技術,數據庫采用MySQL 5.6,而服務器方面采用Jetty作為嵌入式服務器。本系統的特點是:結構清晰,權限明確,操作簡單,界面簡潔。
解決的主要問題包括:
1.明確申報的步驟,在公司的規定中明確申報一筆資金將由哪些人進行審核,由哪些人給出明確指示,這是很有必要的。2.必須存在完善的賬號制度,但凡涉及到資金的方面都需要倍加小心,也不是所有的用戶都享有登錄查看的權利,所以一定要制定完善的賬號制度,非本公司的員工是不可以使用該系統的。3.記錄并統計公司每一次的審批,并賦予公司管理層查看的權限,這樣他們很容易看到公司申請資金的去向并做出比對。4.研究如何減少系統資源開銷,使數據操作速度更快。5.提供良好的UI界面,盡簡單的讓每一個用戶可以看到自己申請的情況(自己審批的情況)。6.為查詢提供多種篩選功能,軟件運用的時間一久,必然會有很多的數據,這樣可以更清晰的展現資金申請的情況。7.明確的權限設定,每一種權限進入系統所可以查看并操作的功能是嚴格按照需求中他們所需要的操作而制定。
通過實際調查,要求本系統具有以下功能:
1.由于是面向企業所有用戶的,所以對專業不能有要求,要提供良好而且簡潔的操作界面,以方便所有用戶使用。
1.如果系統的使用對象較多,則要求有較好的權限管理。2.方便的數據查詢,支持多條件查詢。3.提供良好的日志系統,以便查看具體的情況以防止漏洞出現,提高本系統的安全性和穩定性。4.圖表分析每月申請狀況。5.在相應的權限下,刪除數據方便簡單、數據穩定性強。6.數據計算自動完成,盡量減少人工干預。
可行性研究又叫可行性研究,其目的為了弄清楚所定義的項目是不是可能實現和值得進行??尚行匝芯恐饕獌热菔且笠匀?、系統的分析為主要方法,經濟效益為核心,圍繞影響項目的各種因素,運用大量的數據資料論證擬建項目是否可行。對整個可行性研究提出綜合分析評價,指出優缺點和建議。可行性與風險分析是密切相關的,如果項目的風險很大就可能降低生產高質量軟件的可能性。
首先,設置用戶使用權限必須為本公司的用戶,公司每個職工入職的時候,都會由支撐部門的管理員去添加一個賬戶并為其設定權限,這樣就完成了第一步。進入系統后便可以根據自己的權限開始使用自己的功能了,管理員擁有最高的權限,其可以添加新的用戶,刪除離職的員工賬號,或者對賬號進行修改。并可以對申請進行全面的控制,比如:有用戶的申請有錯誤,在審批開始之前,用戶可以修改。但是一旦審批開始,就不能隨意更改,若需要更改則需要找管理員進行修改并通知審批者注意申請的改變:
系統的流程圖如圖3-1所示而整個申請的流程又是十分規范且簡單的。先由部門負責人進行第一次審批并給我部門意見,其次負責財務的專員進行整個申請款項的評估和公司資金的情況的說明,最終由總裁給出決定,并通知財務。

圖3 -1系統流程圖
詳細設計是對處理過程進行設計。其核心是將系統的總體設計產生的構成軟件系統的各個模塊逐步細化。本章主要采用核心代碼加文字的方式展現,并采用一定的設計表示方法對各個程序模塊進行描述,形成詳細的數據就結構和軟件的算法表達式,從而為編碼做好準備。
該系統做的是一個Web頁面,所以想要設計一個簡單且優雅的主頁面,就要認真的運用大學時學到的HTML以及CSS樣式。設計好了它的主框架后,再做多個分頁面完成其所需要完成的功能頁面即可。設計該頁面時,我選擇Eclipse作為設計工具。雖然它不像DreamWeaver那樣是一款專業的HTML編輯器,但是對于一些提示或者顯示已經夠強大。用于對Web站點、Web頁和Web應用程序進行設計、編碼和開發。比起其他編輯軟件,它已經十分豐富了Web創作體驗。
4.1.1 CSS樣式設計
為了設計頁面的統一性,需要事先設計好文本樣式,在HTML中設計文本的樣式有多種方法。本設計將采用層疊樣式表(CSS)樣式來定義特定的HTML標簽以按照特定方式設置文本格式。在一個工程中,如果可以盡可能的將所有的css文件做成一個整體,這樣不僅可以減少http請求個數,而且方便修改。其中有通用元素的定義,包括單元格的行列常用屬性,文字樣式,Input輸入框樣式,Textarea樣式的定義;鏈接樣式的定義,包括鏈接時、已經訪問過后、活動鏈接時、變換鏈接時的各種樣式;對話框樣式,輸入文字樣式等。設計好后,將其保存到系統的項目下,在具體的每個頁面上去引用它。這樣有很多好處,省去在程序中每一處都運用:
“<link id="css"rel="stylesheet">”。
4.1.2 主頁面設計
主窗體界面也是該系統的歡迎界面,歡迎界面不僅要簡單,而且一定要有很好的可視性。讓用戶一眼看去就知道該選擇什么選項。本管理系統采用導航面板綜合了JQUERY技術增強了主頁的導航效果,并使用了導航標題,從而使得導航面板的界面更加美觀,操作更快捷。在設計時,我采用的是統一頁面頭,統一頁面背景,統一的結尾,并提取出公共的分頁系統在每個頁面引入即可:
<%@include file="/common/_head.jsp"%>
<%@include file="/common/_foot.jsp"%>
<%@include file="/common/_pagination.jsp"%>
4.1.3 用Jquery增強可視性
Jquery是繼prototype之后又一個優秀的Javascript框架。它是輕量級的js庫,它兼容CSS3,還兼容各種瀏覽器。jQuery能夠使用戶的html頁面保持代碼和html內容分離,也就是說,不用再在html里面插入一堆js來調用命令了,只需定義id即可。首先想運用必須先導入庫:<script src="/js/jquery-1.4.4.min.js"type="text/javascript"></script>
之后需要添加樣式,只需要從庫中選定合適的函數,并只需要寫少部分的css和js代碼即可生效。
本系統運用了封裝了J2EE的框架Jfinal,在代碼方面是非常簡單且可視性強的。本系統的核心代碼很少,只需要簡單配置即可:
public class CommonConfig extends JFinalConfig{
private static Logger logger=Logger.getLogger(CommonConfig.class);
@Override
public void configConstant(Constants me){
loadPropertyFile("db_config.txt");
me.setView Type(View Type.JSP);
me.setDevMode(getPropertyToBoolean("devMode",false));
me.setError404View("/error/404.jsp");
me.setError500View("/error/500.jsp");
}
@Override
public void configRoute(Routes me){
me.add(new CommonRoute());
me.add(new RootRoute());
}
@Override
public void configPlugin(Plugins me){
//配置C3p0數據庫連接池插件
C3p0Plugin c3p0Plugin=new C3p0Plugin(getProperty("jdbc Url"),
getProperty("user"),getProperty("password").trim());
me.add(c3p0Plugin);
//配置ActiveRecord插件
ActiveRecordPlugin arp=new ActiveRecordPlugin(c3p0Plugin);
me.add(arp);
arp.addMapping("application",Application.class);
arp.addMapping("user",User.class);
arp.addMapping("news",News.class);
}
后臺的驗證只需要通過集成Validator類并復寫方法即可完成,并通過annotation的方式作用到表格上,不僅可以對用戶的輸入進行驗證,而且可以滿足如果驗證失敗,用戶所輸入的內容保留:
引用出處
[1]鄭阿奇.Java EE項目開發教程-(第2版).北京:電子工業出版社,2013
[2][美]麥克勞克林.Oracle Database 11g&MySQL 5.6開發手冊 北京:清華大學出版社,2013
[3][美]Bruce Eckel.Thinking In Java.英文第 4版.北京:機械工業出版社,2007
[4][美]Herbert Schidt著.Java參考大全.鄢愛蘭.鹿江春譯.北京:清華大學出版社,2006
[5]Rollingsand Adams.JAVA設計技術[M].北京:希望電子出版社,2003.
[6]Date Moris.JAVA架構與設計[M].北京:希望電子出版社,2005.