- 相關推薦
網絡的軟件體系結構應用
網絡的軟件體系結構應用【1】
摘 要 本文提出了目前流行的兩種基于網絡的軟件體系結構,C/S結構和B/S結構,詳細描述和分析了各自的優劣勢,給出了根據不同應用環境和要求,選擇恰當的基于網絡的軟件體系結構的方法和思想。
隨著網絡技術的進一步發展,單機版的軟件已無法完成用戶需求,各種基于局域網、互聯網的軟件應運而生。
基于網絡的軟件體系結構目前主要有由美國Borland公司研發的C/S結構和美國Micro Soft公司研發B/S結構,軟件開發者應根據用戶實際需求及硬件環境選擇合適的體系結構。
1 C/S和B/S 簡介
(1)C/S 結構也就是眾所周知的客戶機和服務器結構。
其運行過程一般為:先由前臺程序向后臺程序發出請求,后臺程序接收到請求之后根據事件規則作出應答,并在服務器中進行相關運算及操作后,將運算結果送回。
(2)B/S結構也被稱為Web應用。
它是在吸收Internet的新興技術的基礎上,對C/S結構進行改進而產生的結構。
這種結構對客戶端的軟、硬件要求極底。
極端情況下,一臺能上網的電腦加WWW瀏覽器就可以完成數據庫的操作和訪問。
2 C/S和B/S 選擇
(1)投入成本。
B/S結構軟件一般屬于一次性投資,后期的系統維護和升級都是免費,這一點與C/S結構的軟件不同,C/S結構的軟件除了初期投入之外,還需要隨著應用范圍及規模的擴大不斷的增加投資,而這種投資是很難受控的,極易形成所謂IT黑洞。
(2)軟件的維護與升級成本。
C/S或B/S的選擇,應充分考慮升級維護成本的核算。
對于軟件使用者數量較少且數量不會有大規模增加或相對物理位置較近的這類網絡應用軟件,我們可以考慮用C/S結構,反之亦然。
(3)滿足企業發展需求的比較。
C/S結構軟件的任何一次升級,都需要在服務器端和客戶端重新進行部署、安裝,這就降低了系統升級的效率,加大了系統升級的成本。
而B/S結構軟件的升級只需要更新服務器程序即可,所以軟件維護升級的成本及難度與用戶的規模無關。
同時,由于所有客戶端只是瀏覽器而免除了繁瑣的維護工作。
(4)數據管理安全性及可擴充性的比較。
由于C/S結構的軟件多數是通過ODBC數據源直接連到數據庫的,因此其用戶數受系統限制,數據安全性也不高。
C/S結構為了實現與異地數據庫的數據保持同步,需要選擇適當的數據庫平臺。
大多數C/S結構軟件都是通過ODBC直接連接到數據庫的,為此需要在兩地之間建立“物理”上的數據鏈接以保持數據通訊,在此過程中,會一直占用中央服務器的資源,對中央服務器的要求非常高。
相比之下,B/S結構軟件則簡單得多,B/S結構軟件并不需要保持與數據庫的連接。
另外,在極其理想的情況下,用戶的數量基本上不受限制。
(5)不同網絡硬件環境的比較。
C/S結構軟件需要實時與服務器交互,所以僅適用于局域網內部用戶或高速網絡用戶,而B/S結構軟件以瀏覽、輸入數據為主,對于服務器的實時響應要求相對較低,所以適用于任何網絡速率。
3從C/S模式到B/S模式的遷移
Internet在高速發展的同時,一些企業也在高速擴張,原有的C/S結構的企業管理應用軟件已經無法滿足發展、擴張的需要,如何實現從C/S結構到B/S結構的平穩過渡是企業亟需考慮的問題。
上世紀九十年代開始,圖形用戶界面(GUI)迅速占領全世界個人電腦用戶,結構化程序設計語言也被4GL(第四代語言)所代替。
原來DOS字符界面的應用程序移植到GUI環境,其主體思想是把原代碼中用于界面及相關操作的代碼剔除,而功能部分代碼與相對應的對像建立關聯,根據操縱對像的行為,來完成不同功能代碼的執行,從而實現整個應用程序的代碼移植。
而我們的C/S結構的軟件,使用的也是第四代語言(GUI)編寫的,整個系統就是一個對像的集合,所有代碼都屬于不同的對像。
如果要將C/S結構轉換成B/S結構,需要換一種開發工具。
而不同的開發工具,提供給開發者的接口,很可能是完全不相同的。
這就造成如要轉換成B/S結構,幾乎需要對所有對像的參數、屬性、事件、方法等進行調整、修改,其難度無異于代碼重寫,這種工作量及代價,是無法想像的。
但值得欣喜的是,國內已經出現了能將C/S結構軟件過渡成B/S結構軟件的產品,可以實現將Power Builder(PB)寫的應用程序自動遷移到Web上,成功的實現了從C/S結構軟件到B/S軟件無縫、無損移植,也算是實現了軟件移植的一次質的飛躍。
綜上所述,用戶在確定使用何種體系結構來開發軟件時,應當充分考慮軟件成本、軟件需求、硬件情況及未來軟、硬件升級等一系列情況,盡量避免在較短的時間內對軟件結構進行調整的情況發生。
4結束語
通過對B/S結構管理軟件與C/S結構的管理軟件進行比較分析,我們可以發現,它們各有優缺點,隨著網絡的進一步普及,在將來的幾年內,B/S結構的大型管理軟件的市場有繼續擴大的趨勢,其在管理軟件領域的主導地位不會改變。
參考文獻
[1] 陳衛.B/S結構應用程序開發秘籍.國防工業出版社,2004.7.
[2] 王劍南.java面向對象B/S后臺開發精粹.清華大學出版社,2013.4.
軟件體系結構研究【2】
[摘 要]目前的軟件體系結構建模中,典型地使用構件/連接子模型對體系結構進行描述。
這樣的體系結構模型可以清晰表達軟件體系結構設計的結果,但是這種僅關注制品而未能顯式,就這一現狀本文從不同角度進行了闡述和探索。
[關鍵詞]軟件工程 開放式數控 集成系統
目前,軟件體系結構(software architecture)已經成為新一代數控技術的研究熱點,許多國家和研究機構在這個領域都開展了深入的研究。
已經越來越受到研究者和實踐者的重視,并成為軟件工程的一個重要的研究領域。
在軟件開發過程中,軟件體系結構提供系統的高層抽象、支持開發人員之間的交流、支持軟件復用等,因而體系結構的設計在軟件生命周期中起到關鍵作用。
體系結構設計本身是一個不斷做出決策的過程,產生大量的推理信息。
一、自動測試系統軟件體系結構
目前通用自動測試系統的軟件體系結構主要依據IEEE發布的寬域測試環境標準。
ABBET將測試系統劃分成5個層次:產品描述層,測試需求/策略層,測試程序層,資源管理層和儀器控制層。
并行自動測試系統具有串行自動測試系統的基本特性,其核心測試過程與串行自動測試系統的核心測試過程是一致的,因此,并行自動測試系統的軟件體系結構也采用層次化的體系結構風格。
自動測試系統軟件體系結構與傳統串行自動測試系統的軟件體系結構的不同在于其任務,資源管理層更加復雜。
由于多任務的并行執行,在這一層中不僅資源管理的功能需要擴展,以滿足測試資源安全共享的要求,還需要對測試任務進行管理,根據任務過程模型和任務調度模型合理調度任務的執行。
二、開放式數控的軟件體系結構
數控系統是一個具有實時性和多任務性的專用操作系統。
從功能來看,系統的任務可以分為管理任務和控制任務兩大類。
管理任務主要完成系統資源管理和系統各子任務的調度,負責系統的程序管理、顯示和診斷等子任務;控制任務主要完成數控系統的基本功能,包括譯碼、刀具補償、速度預處理、插補運算和位置控制等子任務。
如圖1所示。
資源分時共享主要采用的方法是循環輪流和中斷優先,如圖2所示,系統在完成初始化工作以后自動進入時間分配環中,在環中依次輪流處理各任務,對于系統中一些實時性很強的任務則按優先級排隊,分別放在不同的中斷級別上。
三、COTS軟件系統的軟件體系結構
軟件體系結構是由一些實體和這些實體間的關系所構成的模型,在體系結構觀點中實體是所關心的元素,它們可以是軟件組件、源文件、目標文件、編譯器、平臺等;關系可以用描述連結性、動態行為或者所關心的依賴性的任何其他類型 。
體系結構中所使用的特殊的實體和關系取決于建造者試圖傳送的信息。
COTS 軟件系統的開發本質上是集成黑盒軟件組件的問題。
這種集成過程是困難的,它容易出錯,需要大量的編碼,難以測試和調試。
此外,許多COTS 組件都有高的短暫性,商業組件通常要頻繁升級,這些升級可能沒有增加集成者所希望的功能,或修復集成者所希望的錯誤。
存在于先前版本中的關鍵功能可能在隨后的升級版本中被除去。
在有些情況下,集成者可能希望用不同供應商的新版本的類似組件替換老組件。
在COTS 軟件系統中,體系結構的設計合適與否直接關系到軟件的成功,因為體系結構是系統實現的藍圖,為組件的集成提供了上下文,很大程度上決定了系統的各種性能。
在COTS 軟件系統中,體系結構中的實體就是COTS 組件,關系用以描述集成機制。
現今新的技術層出不窮的情況下,準確地把握系統當前的行為,能夠讓開發人員和維護人員盡快地進行技術上的調整,而能保持原有的行為效果不變。
這對于節省開銷,保持程序的穩定性都有重大的意義。
在今后的研究工作中,將著力于改善方法中對于接口信息的定義形式,使其能提供更強的描述功能。
此外,還將嘗試引入一定的動態分析工作,這有助于為我們方法提供對象在動態運行時的變量信息,根據這些信息對對象的行為方式進行更深人的分析。
參考文獻:
[1]Yang Jinlin:Evans n Dynamically Inferring Temporal Proper―ties[C] }Proc.the ACM-SIGPLAN-SIGSOFT Workshop onProgram Analysis for Software Tools and Eng]neering.2004:23―28
[2]Yuan Hai Xie Tao:Automatic Extraction of Abstract―object―state Machines Based on Branch Coverage[C] {Proceedings ofthe 1st International W orkshop on Reverse Engineering To Re―quirements at WCRE 2005(RETR 2005).November 2005:5-11
[3]黃洲 彭鑫 趙文耘:基于依賴性分析的對象行為協議逆向恢復[J].計算機科學,2008,35(8):265―268,276
[4]Tang Mei-huei,Wang Wen-li,Chen Mei小wa.A UML Approachfor So ftware Chang e Modeling.CS.albany.edu
[5]http:∥compilers.as.uclm edu/jtb/jtb-2003
[6]https://javac~dev.java net
[7]Mohamed G_Gouda Closed Covers:tO Verify Progress for Com―municating Finite State Machines Technical Report[R3.CS-TR-82―191 Year of Publication:1982
[8]http //.省略
【網絡的軟件體系結構應用】相關文章:
數據中心網絡的體系結構分析10-05
仿真軟件在計算機網絡教學中的應用論文10-09
收益法應用與軟件評估10-06
軟件應用求職簡歷11-11
計算機體系結構軟件模擬技術的研究論文10-13
簡述計算機體系結構軟件模擬技術論文10-09
計算機網絡軟件功能及應用策略研究分析論文10-08
CAXA軟件在機械數控加工的應用的論文10-12
軟件應用合作合同09-01
網絡應用專業簡歷模板10-06