一、引言
在智慧城市建設的推動下,政府、企業、高校等積極建立綜合管理信息系統,逐步實現財務管理的信息化與數字化。為了更好地處理報賬過程中出現的用戶等候時間長、財務工作繁雜等問題,部分單位推出了財務報賬預約系統,用戶能夠根據預約得到的排隊序號有計劃、有秩序地完成財務報賬工作。然而,現今的財務報賬預約系統存在缺乏個性化的缺點,用戶通過系統獲得預約序號后,依然會出現因在財務辦公廳輪候序號造成時間浪費、不能很好預計序號的辦理時間而錯過報賬辦理時間、因不在財務辦公廳而不能實時獲取輪候隊列的動態信息等問題。這些問題的出現,與新形勢下辦公信息化的發展方向從數字化城市向智慧城市發展,注重用戶的個性化服務,滿足用戶在生活、學習、工作中的諸多實際需求的理念是相違背的。為了克服現有系統出現的不足之處,滿足師生在財務預約報賬上的個性化需求,本文將Android智能手機平臺技術與財務報賬預約的需求充分融合,開發并設計基于Android的財務報賬預約推送系統。
二、預約系統現狀及問題
社會上不同公共服務機構如銀行、醫院等因服務設施、服務人員素質、客體到達時間的隨機性,造成了客體長時間排隊等待的現象。為了緩解排隊等待時間長的問題,國內外針對預約系統推送技術的研究不少。在規模上,楊漢妮[1]調查了國內外的RSS技術,其用戶數量在國外已達20-30萬。在內容上,彭國莉[2]
認為信息推送的內容一方面可通過信源本身直接送給用戶,另一方面可只發送信息的目錄或通知。在個性化推送方面,白雪松[3]等樹立了國內外個性化推送服務的情況。楊向明[4]、吳劍霞[5]都認為信息推送可以應用到情報、網絡等領域。從用戶的角度出發,為用戶提供他們自己定制的頻道的推送服務,這樣才能實現真正意義上的個性化服務[6].針對已有不同層次、不同功能的預約與排隊叫號系統,總體上可以將其歸為三類:
1.計算機模擬人排隊的系統:該方式主要通過運用各種電子設備(取號機、呼叫器等)輔助用戶進行取號,由計算機的隊列管理代替辦理業務排隊??蛻舻慕刑栱樞蛴捎嬎銠C通過電子屏幕或叫號器進行通知,有效地緩解了辦理業務的負擔[7].
2.基于Internet與融入信息管理系統的預約排隊系統:該方式是通過將客戶的業務辦理融入基于互聯網的業務預約系統中,通過在線預約獲取隊列號。以此作為憑證,在有效的時間范圍內辦理[8].
3.引入短信機制的排隊叫號系統:該方式在原有的在線排隊系統結構基礎上擴充了短信發送等功能。系統監控設定的提醒人數,通過短信發送平臺發送到用戶客戶端提醒用戶辦理[9].
上述這三種傳統的排隊系統雖然實現了排隊上的有序,緩解了排隊混亂現象,但仍存在不足。一是系統排隊信息缺少手機客戶端的支持,排隊信息需要通過第三方平臺推送,增加了運營成本,也系統不夠便捷。另一方面,缺少手機端的支持,推送短信只能以文字等單一信息顯示,無法實現實時更新叫號等信息,動態獲取隊列雙向互動實時變化的信息。
在目前“推送”技術的基礎上融入人工智能、知識發現技術、及數據庫技術,從而形成“智能信送”技術,是“推送”技術的一個發展方向上述技術的引入,可以從根本上解決“推送”技術應用推廣過程中所遇到的難題[10].
三、預約推送系統實現關鍵技術
手機推送服務是指服務器定向將信息實時送達手機的服務。
以下是幾種常見的解決方案實現原理:
1.輪詢(Pull)方式:應用程序應當階段性的與服務器進行連接并查詢是否有新的消息到達,從而實現與服務器之間的通信。
2.SMS(Push)方式:在Android平臺上可以通過攔截SMS消息并且解析消息內容來了解服務器的意圖,并獲取其顯示內容進行處理。
3.持久連接(Push)方式:每一臺手機保持與服務器之間的連接,實時與服務器進行通信。
四、預約推送系統設計
1.預約推送系統架構設計
財務報賬預約推送系統分為服務器端以及針對不同類型的客戶端,主要內容包括:
(1)服務器端叫號業務處理與推送系統的實現。服務端將來自客戶端預約請求數據的信息進行處理并實現信息個性化推送。服務器端系統根據具體的業務功能,可以分解為預約叫號業務模塊、隊列信息處理模塊、隊列信息自動推送系統。
(2)Android手機預約與實時信息接送系統的實現。手機客戶端能夠通過接受系統獲取系統的實時隊列信息。手機客戶端包括實時信息接收系統、實時預約叫號模塊、實時信息查詢模塊。
2.數據結構分析與設計
為了更好地使用與操作數據,需要對數據進行結構分析和建模,設計數據對象實例轉換方法。系統需要保存的數據被封裝成不同的實體類,如圖1 所示。實體類能夠更好地處理服務器傳遞過來的數據,可以更好地顯示在視圖里面。
基礎的實體類有Notice、Base、Entity,它們是每個具體實體類的基礎類。每個具體實體都直接或者間接繼承這些基礎實體類的屬性以及方法。繼承這些基礎實體類后,具體的實體類擁有了每個實體類必須有的基本屬性,如果主鍵編碼,攜帶的通知信息等。系統主要存在5個具體的實體類,分別是結果信息類(Result)、用戶實體類(User)、預約信息類(Post)、隊列用戶類(News)、預約隊列類(NewsList),他們通過繼承Entity類或者Base類來獲得主鍵編碼以及Notice實時信息類的屬性。
系統數據來自服務器,并通過緩存技術將其保存在本地。系統與服務器之間采用已預先定義好的JSON數據格式進行數據交換。系統將獲取的JSON數據經過具體類的靜態轉換方法轉化為不同的實例對象以提供給Android界面呈現給用戶,并同時將轉化的實例對象通過Android的緩存技術進行本地存儲,以待下次訪問同一數據時從緩存中獲取以減少網絡帶寬以及緩解服務器數據處理的壓力。
五、預約推送系統的實現
在系統架構設計基礎上,下面對系統整體結構的分析、用戶界面的實現、系統業務流程的實現方面詳述基于Android財務報賬預約推送系統的實現。
1.系統整體結構的分析
系統使用了面向對象的方法進行分析和設計。各種不同的類共同組成了系統的靜態結構。根據系統的功能與模塊,系統以包作為層次結構進行整體架構的劃分,不同的層次結構負責管理統一類型的邏輯程序,如開源組件類包greendroid.widget,主要存放開源彈出菜單控件等。
2.用戶界面的實現
用戶界面采用xml文件進行實現,通過具體的類去獲取界面xml的不同控件,給用戶呈現出不同的界面并對不同控件進行深入的操作。主界面的布局文件采用LinearLayout垂直布局方式,包含頭部界面視圖文件、中間左右滾動界面視圖文件、尾部界面視圖文件。中間的左右滾動界面視圖文件具體有預約隊列報賬情況視圖、用戶預約信息視圖、實時通知信息視圖等。
3.系統流程的實現
根據Android財務報賬預約推送系統功能分析與模塊設計,系統的整體功能可以分為信息查詢流程、用戶預約、取消預約序號流程,用戶參數設置流程,用戶登錄流程。系統功能的實現本質上是不同業務流程的實現。
用戶進入系統進行信息查詢后選擇需要查詢的信息,查詢的信息主要包括預約隊列報賬信息、用預約信息以及實時信息,如果選擇用戶預約信息或者實時信息,則需要進行登錄操作,以獲取登錄用戶信息。預約隊列報賬信息包括今天預約隊列報賬情況以及明天預約隊列報賬情況。用戶預約信息包括用戶帶辦公信息以及用戶已辦公信息。用戶進入不同的信息查詢頁面后,系統能夠根據用戶當前選擇的頁面獲取不同的信息呈現給用戶。
而信息查詢流程的實現主要經過三個類,分別是Main主界面類,AppContext類以及ApiClient外部接口類。用戶把界面處于的查詢目錄、頁面信息以及用戶信息傳遞給AppContext類以及ApiClient類,ApiClient類調用相關訪問函數獲取相關數據,經過數據封裝轉換后傳回Main主界面。
六、預約推送系統的測試
下面采用黑盒測試的方式,模擬用戶的日常使用,以此進行系統主要功能的演示,主要包括登錄、預約報賬序號、信息查詢、獲取實時通知信息。
1.登錄和預約報賬序號
七、總結
本研究基于當下流行的 Android 移動智能平臺,針對目前財務報賬預約推送系統出現的不足之處,滿足財務報賬人員個性化服務的需求,設計了基于Android移動設備的財務報賬預約推送系統。該系統通過實時信息的推送功能提高預約報賬的成功率與報賬辦公的效率,減少報賬人員的排隊時間。系統已經在 Eclipse開發平臺上使用 Java語言實現,測試結果表明,該系統的設計和實現具有較好的實際應用價值。主要工作包括:
(1)分析了現今的財務報賬預約推送系統缺乏個性化的不足之處,設計了基于Android系統的財務報賬預約推送系統的方案。
(2)系統的設計經過需求與用例分析記性功能模塊分解,分別給出了具體的功能規格,該系統信息查詢、預約取消序號、實時通知信息獲取等功能。
(3)在分析需求與劃分功能模塊的基礎上對不同模塊進行了詳細設計與實現。
(4)在Android 設備上完成功能測試。
目前系統的功能實現仍處于實驗研究階段,軟件功能還不夠成熟,對具體財務業務辦公的需求滿足上還不完善。下一步需要調研財務工作對財務叫號系統的需求,與財務部門進行溝通,讓Android財務報賬預約推送系統能更滿足業務需求。另外,實時信息推送方式是通過輪詢訪問服務器獲取信息,一定程度增加服務器的壓力,增大了網絡帶寬,消耗電池容量等。下一步可以采用其他推送方式實現實時信息,如采用第三方推送平臺。