體系結構指的是什么
體系結構包括一組部件以及部件之間的聯系,那么你對體系結構了解多少呢?以下是由學習啦小編整理關于什么是體系結構的內容,希望大家喜歡!
體系結構的分類
1、 數據流系統,包括順序批處理、管道和過濾器;
2、 調用-返回系統,包括主程序和子程序、面向對象系統、層次結構;
3、 獨立部件,包括通信進程、事件隱式調用;
4、虛擬機,包括解釋器、規(guī)則基系統;
5、 以數據為中心的系統(庫),包括數據庫、超文本系統、黑板系統;
6、 特殊領域風格;例如過程控制、模擬器;
7、 特殊結構的風格,例如分布式處理、狀態(tài)轉移系統;
8、 不同風格合成建立的異構結構;
9、 最初始、最基本的主程序/子程序。
體系結構的出現原由
在傳統的程序設計領域中,人們使用流程圖來表達系統的基本功能和實現的具體邏輯,但是,流程圖實際上僅僅是源程序的圖形化表示,無法給系統的分析和開發(fā)者提供更多的信息,所以沒有在實際的系統開發(fā)過程中得到廣泛的應用。隨著軟件系統的規(guī)模和復雜性的增加,對軟件系統的整體結構(數據和控制的邏輯)進行分析和描述成為大型系統開發(fā)的一個不可缺少的重要部分,顯然,使用流程圖是無法達到這個目標的,我們必須使用新的方法和概念來對系統的整體結構進行把握。
體系結構的開發(fā)觀點
在實際開發(fā)過程中,簡單的判斷某一個具體的應用應該采取何種體系結構是非常困難的,簡單的管道、過濾器體系已經非常少見,面向對象的思想已經融合在幾乎所有的體系結構之中,而層次化的思想同樣也被廣泛使用,所以,一個基本的系統分析方法應該是功能和復雜性的分解,也就是說,從橫向分解(分模塊、子系統),縱向分解中得到系統的基本組件(分類、分層次的功能和對象)。然后根據問題領域的特性選擇系統的行為模式(具體的體系結構)。
體系結構的常見結構
嚴格的層次結構
(系統可以清楚的分解成為不同的功能層次,例如基本的圖形庫,提供不同層次的繪圖接口) 這種體系結構適合于系統的功能相對簡單,并且可以按照復雜的程度、抽象的程度、和硬件平臺的關系等方面的特性加以分層的軟件中。
事件驅動的體系
對互操作性、特別是異構環(huán)境下的互操作性要求非常高的情況下,可以采用這種體系,當整個系統中存在大量的并發(fā)的,相互之間沒有邏輯聯系的組件的時候(例如操作系統或者圖形用戶界面)可以使用這種體系結構?,F代軟件技術中微軟的COM和ISO的CORBA實際上都是這種體系結構的例子。
知識庫的體系
以大量數據為核心的系統采用這種體系,一些人工智能的應用同樣需要這種體系結構,面向對象的知識庫是這種體系結構的一個發(fā)展方向。將面向對象和層次化的思想引入知識庫系統中,將得到一種非常強大的體系結構。
基于解釋器的體系
如果應用系統和用戶的交互非常復雜,采用這種體系結構是最適合的方案,只有將系統的基本操作以指令的形式提供給用戶,同時,提供一種簡單明了的語法和基本的數據操作、處理的功能,才能得到功能最強大、最靈活、具有最佳擴充新的應用系統;一個非常合適的例子是瀏覽器,一開始,瀏覽器只是簡單的下載和顯示HTML的頁面,隨著用戶對界面交互要求的發(fā)展,開發(fā)出javascript,提供一種語言和基本的界面元素操縱的指令來得到擴充性和強大的功能。
絕大多數實際運行的系統都是上面幾種體系結構的復合:在系統的某些部分采用一種體系結構而在其他的部分采用另外的體系,我們可以將復合幾種基本體系結構的系統稱作復合體系結構。在實際的系統分析和設計中,可能首先將整個系統作為一個功能體進行分析和權衡,得到適宜的、最上層的體系結構,如果該體系結構中的元素較為復雜,可以繼續(xù)進行分解,得到某一部分的,局部的體系。分析的層次應該在可以清晰的使用簡單的功能和界面描述表達結束,這樣,可以將我們在分析和設計的這一階段將焦點集中在系統的總體結構上,而避免引入和所使用的語言、實現所具體需要的技術等實現的細節(jié)上。
看過“體系結構指的是什么”的人還看了:
1.路由器的體系結構