999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Eclipse RCP的銀行柜面軟件架構可擴展性的研究

2018-12-24 23:43:59
軟件 2018年5期
關鍵詞:系統設計

劉 艷

(安徽信息工程學院,安徽 蕪湖 241000)

0 引言

軟件架構是一系列相關的抽象模式,用于指導大型軟件系統的設計。良好的軟件架構能幫助項目管理人員更好地管理時間和預算,預防項目后期很多的維護問題的出現。軟件架構的可擴展性是指軟件適應環境變化的能力。可擴展性是指在面臨環境變化時,軟件不需要改變核心的架構,只需要經過少量的改動就能滿足用戶的需求。如果架構在設計早期沒有考慮過這些需求,那么就需要修復架構的設計甚至會推倒整個架構。最后,達到為了實現新需求而重新開發一套軟件的局面,給軟件項目的成本和風險控制帶來了不利的影響。在軟件架構發展的過程中,出現了一些典型的軟件架構,比如,MVC,事件驅動架構以及微核架構等。

MVC全名是 Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫。它是一種軟件架構的典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。這種架構的優點是結構簡單,不同技能的人員可以負責不同的方面,每一層可以獨立測試,其他層的接口通過模擬可以解決。缺點是,當環境變化時,比如代碼調整或者功能增加時,必須變動每一層,導致擴展很困難。

事件驅動框架定義了一個設計和實現一個應用系統的方法學,在這個系統里事件可傳輸于松散耦合的組件和服務之間。它使用分布式的異步模式,事件處理器之間高度解耦,具有良好的軟件可擴展性,性能較好,不容易產生堵塞。缺點在于由于涉及到異步編程,開發者學習起來比較困難,而且分布式和異步特性導致這個架構難以測試。

微核架構又稱為插件架構,指的是軟件的內核相對較小,主要功能和業務邏輯都通過插件實現。內核通常只包含系統運行的最小功能。插件則是互相獨立的,插件之間的通信,應該減少到最低,避免出現互相依賴的問題。這種架構具有良好的功能延伸性,通過開發插件,可以適應功能增加的需求;插件之間是隔離的,插件可以獨立的加載和卸載,測試和部署比較方便;可定制性高,適應不同的開發需求;具有良好的文檔支持,開發者可以在很短的時間內掌握這項技能。

針對傳統軟件架構的缺點,本文提出一種基于Eclipse RCP的軟件架構:首先,該軟件架構是一種微核架構,所以具有良好的可擴展性。第二,在測試步驟,既能獨立加載測試數據進行測試,也能和其他模塊進行集成測試。第三,在升級步驟,可以使用統一升級方式或者本地安裝包的方式升級,不會影響其他模塊的調用。第四,Eclipse整個開源社區為項目提供了豐富的技術和文檔支持,開發人員上手比較方便。本文第1節介紹了Eclipse RCP和它的體系結構。第2節以實際的銀行項目的例子介紹了Eclipse RCP在銀行柜面軟件架構上的應用。最后,第3節對本文的目前工作做了總結,指出下一步的研究方向。

1 Eclipse RCP

1.1 Eclipse RCP介紹

Eclipse是一個基于Java的可擴展的開發平臺。Eclipse的前身是Visual Age,由于其可擴展性較差,同時又面臨其他競爭對手的產品壓力,IBM決定開發一個更加開放的,具有良好可擴展性的,能更好為其開發工具提供支持的集成化平臺[1]。2000年,第一代 Eclipse誕生。Oracle,Google,Red Hat,Borland等巨頭先后踴躍成為該基金會的會員。Eclipse經過多年的更新迭代,目前的穩定版本號是4.7。

Eclipse RCP是一項位于Eclipse平臺核心的功能。它采用微核架構,提供了標準化的組件模型,目的為開發人員提供一個功能強大的、快速的、可擴展性的平臺。RCP是Rich Client Platform的縮寫,即富客戶端,目標是結合胖客戶端和瘦客戶端的優勢并克服其固有的缺點。隨著Eclipse版本的迭代,Eclipse RCP平臺應用快速增加,具有以下優點:

(1)可擴展性

Eclipse基于插件進行擴展的思想使得用戶可以方便地搭建各種規模、類型和用途的應用程序。按照Eclipse官方的說法,Eclipse RCP一開始就被設計為可擴展性的。

(2)方便性

Eclipse RCP對各個平臺下的產品包裝提供了強有力的支持,其開發的RCP甚至可以在嵌入式設備、掌上電腦上運行。由于Java語言的可移植性的特點,Eclipse RCP也可以說是可以跨平臺運行。

(3)統一升級

用戶可以通過Eclipse客戶端,使用遠程或者本地方式進行安裝更新,徹底解除了早期富客戶端應用部署升級的麻煩。

(4)基于組件開發

基于Eclipse的系統由插件組成,開發人員以插件形式添加功能,在這種開發模式下,程序員可以并行開發和獨立測試,提高了程序開發的效率。

(5)良好的用戶體驗

Eclipse為各種操作系統提供了本地圖形接口包。當RCP運行時,Eclipse首先調用本機窗口組件,只有沒有本機所需組件時才進行模擬。RCP在不同的操作系統上都具有一致的外觀和行為。UI設計者使用界面設計工具可以設計出漂亮的用戶界面。

1.2 Eclipse RCP體系結構

Eclipse RCP平臺是運行時內核和插件的組合,由Workbench工作臺,Workspace工作區,Help幫助系統,Team團隊支持系統和Platform運行平臺組成。

(1)Workbench工作臺

為Eclipse提供用戶界面。它是使用SWT(Standard Widget Toolkit)和JFace來構建的;SWT是Java的Swing/AWT GUI API的非標準替代者,JFace則是建立在SWT基礎上,提供用戶界面組件。

(2)Workspace工作區

工作區是負責管理用戶資源的插件。包括用戶創建的項目、項目中的文件,以及文件變更和其它資源。工作區還負責通知其他插件關于資源變更的信息,包括文件創建、刪除或者變更的情況。

(3)Help幫助系統

幫助系統具有與 Eclipse平臺本身相當的可擴展能力。幫助提供一個附加的導航結構,允許工具以HTML文件的形式添加文檔。

(4)Team團隊支持系統

團隊支持組件負責提供版本控制和配置管理支持。它根據需要添加視圖,允許用戶與

有使用的任何版本控制系統交互。

(5)Platform Runtime運行平臺

是整個Eclipse的內核,啟動時檢查已安裝了哪些插件,并創建注冊表信息。為了降低啟動時間,提高資源利用率,平臺使用“懶”加載的方式加載插件,即需要時才加載。

2 Eclipse RCP在銀行柜面軟件架構上的應用

2.1 項目背景

由于歷史原因,銀行柜面系統存在如下問題:字符終端展現能力非常有限,難以滿足低柜業務如理財、貸款、外匯等業務處理要求;柜面系統缺乏強大的平臺支持,往往占相應項目開發工作量的一半以上,業務功能的更新迭代需要大量的維護工作;現有柜面系統的用戶體驗性較差,即使是圖形界面,無法做到真正的所見即所得,二次開發的擴展性亟待提高。在此情況下,如何設計具有良好的可擴展性的柜面軟件架構是需要解決的問題。

2.2 系統分析

銀行柜面系統包含的功能模塊主要有:綜合開戶,綜合簽約,集中授權,單點登錄,交易搜索,公告欄,常用交易,工具,便簽,郵件消息,配置,鎖屏,幫助管理,柜員管理,權限管理,日志管理等功能。同時,需要兼容后期業務擴充的需求,提供一個可擴展性的軟件架構,能夠快速開發新的功能模塊。

2.3 系統設計

銀行柜面系統采用Eclipse RCP插件體系結構,優點如下:1)容易擴展:獨立編譯和打包,獨立部署和測試。2)容易升級:粒度以插件為單位,降低了由于升級帶來的系統宕機的風險;還可以節省網絡帶寬。

銀行柜面系統包括客戶端和服務端,客戶端負責接收用戶的請求,并判斷請求是否在客戶端處理范圍內,如果在,則客戶端直接處理請求并將結果返回用戶;如果不在,則轉發請求到服務端,由服務端處理完畢返回給客戶端。客戶端和服務端采用相同的Eclipse RCP插件體系結構,包括外設模塊,交易處理模塊,統一配置模塊,資源模塊,通訊模塊,ESB通訊擴展模塊等。

2.4 系統實現

基于 Eclipse RCP的銀行柜面系統采取插件體系架構,可擴展性比較強。下面介紹怎樣在Eclipse RCP平臺上完成將數據庫中的組織記錄以樹狀結構顯示出來。

在開發階段,首先,找到數據庫的插件工程,新建一個類繼承自組件類。然后,得到輸入參數并轉化為符合期望的目標類型。循環所有的組織記錄,找到組織間的層級關系,并設置組織類的關系。最后,將處理后的組織父類顯示在界面上。

在測試階段,自發給這個組件添加輸入參數,添加斷點,查看運行結果是否滿足要求。

在部署階段,選擇導出數據庫的插件工程,然后將壓縮文件部署到銀行柜面測試系統中進行測試。如果結果正確,則部署相應的壓縮文件到生產系統中。

該類主要的源代碼如下:

// 得到輸入的記錄數組

List list = (List)command.getParameter(RECORD_LIST);

// 處理異常

if(list == null) {

throw new Exception(“傳入的數據庫記錄為 null!”);

}

// 構建組織樹

buildTree(list);

// 界面上異步顯示

Display.asyncExec (new Runnable() {

public void run()

{

target.initTree(list);

}

});

3 結論

基于 Eclipse RCP的銀行柜面軟件已經推廣到多家銀行,事實證明,該軟件運行穩定,功能新增快捷,具有良好的可擴展性。但是,由于Eclipse RCP本身使用Java語言開發插件,軟件在運行一段時間后,性能會急劇下降,導致每隔一段時間需要重啟服務器。因此,找到性能瓶頸,有策略的優化程序是下一步要研究的問題。

[1] 陳岡. Eclipse RCP應用系統開發方法與實戰, 電子工業出版社, 2007

[2] 王如迅. 基于SWTBot技術的軟件自動化測試的研究與實現[J]. 軟件, 2016, 37(2): 121-128.

[3] 饒啟聰, 許丹, 蔣海洪. 健康大數據智能采集與挖掘系統平臺的軟件架構實踐[J]. 軟件, 2017, 38(8): 200-203.

[4] 宮愛愛, 丁香乾, 侯瑞春. 基于Eclipse智能代碼生成框架的研究[J]. 現代電子技術, 2013, 36(18): 55-58.

[5] 楊攀. 基于Eclipse RCP框架的地質監測數據可視化應用研究[J]. 電腦與電信, 2015(3): 77-78+84.

[6] 董曉敏. 基于Eclipse RCP平臺的學校經費測算系統設計與實現[D]. 青島理工大學, 2014.

[7] 孫菁. 基于Eclipse RCP的模型測試管理工具設計與實現[D]. 西安電子科技大學, 2015.

[8] 殷新毅. 基于Eclipse RCP的中學學籍管理系統設計與實現[D]. 電子科技大學, 2013.

[9] 陳東山, 陳志偉. 基于Eclipse RCP技術的0. 5T磁共振成像儀控制和數據處理軟件系統開發[J]. 中國醫療設備, 2015,30(7): 30-32.

[10] 于麗. 基于敏捷開發模式的軟件架構設計[J]. 電腦知識與技術, 2015, 11(6): 91-92+94.

[11] 王愛景. 敏捷開發中軟件架構的設計與實踐[D]. 河南大學, 2015.

[12] 馬麗娟. 基于軟件開發環節中軟件架構的作用研究[J]. 電子測試, 2017(13): 69-70.

[13] 白金. 軟件架構模式在信息系統開發中的應用分析[J]. 通訊世界, 2017(10): 249-250.

[14] 王智超, 王敏, 熊燕. 軟件架構設計之多視角分析[J]. 現代計算機(專業版), 2014(30): 35-37.

[15] 姜立. 軟件架構綜合評價系統的設計與實現[D]. 東南大學, 2015.

[16] 孫志勇. 濱海海化集團ERP軟件架構系統的設計與實現[D]. 電子科技大學, 2014.

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 久久这里只有精品8| jizz亚洲高清在线观看| 欧美天堂久久| 一本色道久久88亚洲综合| 国产丝袜啪啪| 伊人久久大香线蕉成人综合网| 国产成人区在线观看视频| 日韩av高清无码一区二区三区| 亚洲欧美在线看片AI| 欧美激情伊人| 久久黄色影院| 亚洲黄色激情网站| 四虎国产永久在线观看| 国产成人1024精品| 99热这里只有精品5| 国产精品无码久久久久久| 中文字幕中文字字幕码一二区| 99视频全部免费| 色老二精品视频在线观看| 国产女人在线| 国模私拍一区二区| 美女一区二区在线观看| 中日韩一区二区三区中文免费视频| 一级做a爰片久久毛片毛片| 在线播放真实国产乱子伦| 欧美日本中文| 四虎成人免费毛片| 国内精品久久久久鸭| 国产欧美日韩va另类在线播放| 亚洲AV无码久久精品色欲| 久久精品这里只有国产中文精品| 国产视频你懂得| 亚洲va欧美va国产综合下载| 成年A级毛片| 国产精品久久久久久搜索| 精品一区二区三区无码视频无码| 国产成人免费手机在线观看视频| 美女无遮挡免费视频网站| 97se亚洲综合在线| 激情在线网| a毛片基地免费大全| 夜夜操天天摸| 免费不卡在线观看av| 精品国产污污免费网站| 亚洲精品777| 米奇精品一区二区三区| 日本道综合一本久久久88| 人妻中文久热无码丝袜| 亚洲人成网站色7799在线播放| 亚洲精品片911| 欧美曰批视频免费播放免费| 国产制服丝袜无码视频| 国产午夜在线观看视频| 日本免费精品| 欧美综合一区二区三区| 国产无码在线调教| 国产成人h在线观看网站站| 国产麻豆va精品视频| 最新亚洲人成无码网站欣赏网| 麻豆AV网站免费进入| 中文无码伦av中文字幕| 激情午夜婷婷| 亚洲中文字幕av无码区| 1769国产精品免费视频| 色综合中文综合网| 免费看美女毛片| 一级毛片免费不卡在线| 国产欧美性爱网| 成人国内精品久久久久影院| 亚洲最新在线| 国产欧美在线视频免费| 这里只有精品在线播放| 狂欢视频在线观看不卡| 不卡的在线视频免费观看| 国产精品19p| 国产成人综合日韩精品无码首页| 在线无码九区| 丰满人妻一区二区三区视频| 国产簧片免费在线播放| 美女无遮挡拍拍拍免费视频| 亚洲成av人无码综合在线观看| 爽爽影院十八禁在线观看|