軟件體系結(jié)構(gòu)-3軟件體系結(jié)構(gòu)的層次性.ppt
《軟件體系結(jié)構(gòu)-3軟件體系結(jié)構(gòu)的層次性.ppt》由會員分享,可在線閱讀,更多相關(guān)《軟件體系結(jié)構(gòu)-3軟件體系結(jié)構(gòu)的層次性.ppt(60頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、Software Architecture Perspective on an Emerging Discipline,By 王備戰(zhàn) 13959238599(M) 05922580589(O) 海韻園行政樓A座506,Chapter 3 軟件體系結(jié)構(gòu)的層次性,Contents: 體系結(jié)構(gòu)的基礎(chǔ)和層次特性 軟件體系結(jié)構(gòu)的層次結(jié)構(gòu)模型 從層次模型看軟件體系結(jié)構(gòu),2/64,3/64,在構(gòu)建一幢建筑物和構(gòu)建一個軟件系統(tǒng)之間存在著驚人的相似性。(From 軟件架構(gòu)師導(dǎo)讀) 簡單而易于掌握的思想具有改變思想和認(rèn)識的力量。 牛頓與萬有引力 弗洛伊
2、德:潛意識的存在是行為的動機(jī)。 如果把軟件和信息技術(shù)系統(tǒng)都想象成物理建筑,則:我們會看到什么? 廢棄的房屋 不開心的住戶 空房,3.1 從建筑學(xué)看軟件的構(gòu)成,4/64,體系結(jié)構(gòu)需要基礎(chǔ):從建筑的基礎(chǔ)性看軟件構(gòu)成 地基、材料、材料構(gòu)成三個方面從根本上決定了建筑物的結(jié)構(gòu)、性能、功用、建造方法,形成了建筑的基礎(chǔ)。 構(gòu)造軟件同樣需要基礎(chǔ)。計算機(jī)硬件結(jié)構(gòu)、軟件的基本組成、構(gòu)成軟件的可用組塊三個方面。 討論軟件的體系結(jié)構(gòu)必須首先建立一個基礎(chǔ):一旦確立了基礎(chǔ),各種觀點的比較就有了共同的標(biāo)準(zhǔn)語言。,3.1 從建筑學(xué)看軟件的構(gòu)成,5/64,體系結(jié)構(gòu)需要層次:從建筑的層次性看軟件構(gòu)成。 建筑是由基本材料到基礎(chǔ)構(gòu)件
3、再到整體框架逐層次發(fā)展和構(gòu)成的歷程。 軟件的體系結(jié)構(gòu)也是由使用最基本的材料開始,到認(rèn)識常用基礎(chǔ)構(gòu)件再到組裝和構(gòu)造整體框架的發(fā)展過程。,3.1 從建筑學(xué)看軟件的構(gòu)成,6/64,體系結(jié)構(gòu)需要模式:從建筑的組合性看軟件構(gòu)成 形態(tài)和構(gòu)件組成了建筑模式。20多年建立了現(xiàn)代建筑學(xué)的250余種“場景問題解決方案”模式,涵蓋不同的規(guī)模和形態(tài) 這些建筑學(xué)的思想再軟件結(jié)構(gòu)的研究中也得到了重視,提出并發(fā)展了軟件“軟件設(shè)計模式”的概念,進(jìn)而又提出了“軟件體系結(jié)構(gòu)模式”的概念。,3.1 從建筑學(xué)看軟件的構(gòu)成,7/64,體系結(jié)構(gòu)需要清晰的角色劃分:從建筑業(yè)看各個角色的劃分。,3.1 從建筑學(xué)看軟件的構(gòu)成,8/64,軟件設(shè)
4、計的物質(zhì)基礎(chǔ)是當(dāng)前的計算機(jī)硬件,它決定了軟件設(shè)計和實現(xiàn)的出發(fā)點。 當(dāng)前硬件的變革表現(xiàn)在兩個方面 非馮.諾依曼運行機(jī)制的產(chǎn)生 并行處理為特征的高性能計算機(jī)結(jié)構(gòu),3.2 軟件的物質(zhì)基礎(chǔ),9/64,計算機(jī)硬件體系結(jié)構(gòu) 軟件是對一組數(shù)據(jù)進(jìn)行處理的一串指令。 根據(jù)處理指令流和數(shù)據(jù)流的數(shù)量,計算機(jī)分為: SISD SIMD MISD MIMD,3.2 軟件的物質(zhì)基礎(chǔ),10/64,多處理機(jī)系統(tǒng) 屬于MIMD系統(tǒng) 多處理機(jī)系統(tǒng)分為 共享存儲器 分布存儲器 工作在統(tǒng)一的操作系統(tǒng)下進(jìn)行資源管理 挑戰(zhàn):并行算法和軟件的設(shè)計,3.2 軟件的物質(zhì)基礎(chǔ),11/64,分布計算系統(tǒng) 多臺計算機(jī)通過網(wǎng)絡(luò)連接起來的大系統(tǒng) 分布
5、存儲的多處理機(jī)系統(tǒng) 但各自運行獨立的操作系統(tǒng),3.2 軟件的物質(zhì)基礎(chǔ),12/64,結(jié)論 多處理機(jī)需要并行處理(解決并行任務(wù)的調(diào)度和自動分解),對軟件設(shè)計提出了復(fù)雜的要求,使軟件設(shè)計的復(fù)雜度大大提高 我們以討論串行計算機(jī)環(huán)境下的軟件體系結(jié)構(gòu)為主,3.2 軟件的物質(zhì)基礎(chǔ),13/64,,任何具有固定組成形式的數(shù)據(jù)、代碼、數(shù)據(jù)集合、代碼序列、數(shù)據(jù)和代碼的結(jié)合體都可以稱作結(jié)構(gòu)。 無論多么高層的結(jié)構(gòu),都是建立在基礎(chǔ)結(jié)構(gòu)之上的。 軟件結(jié)構(gòu)的問題從最初的最基本、最底層的描述過渡到越來越高、越來越抽象的層次上。 作為軟件結(jié)構(gòu)基礎(chǔ)的思想和概念,包括四個方面: 結(jié)構(gòu)化控制流 結(jié)構(gòu)化連接模式 數(shù)據(jù)結(jié)構(gòu) 抽象數(shù)
6、據(jù)類型,越 來 越 抽 象,3.3 軟件的結(jié)構(gòu)基礎(chǔ),14/64,結(jié)構(gòu)化控制流 順序序列 轉(zhuǎn)向語句 goto 過程調(diào)用 ,3.3 軟件的結(jié)構(gòu)基礎(chǔ),15/64,結(jié)構(gòu)化控制流 條件語句 if then if then else 開關(guān)語句 Swithch Case value 1 Case value n ,3.3 軟件的結(jié)構(gòu)基礎(chǔ),16/64,結(jié)構(gòu)化控制流 循環(huán)語句 For While do Repeat until Break Continue,3.3 軟件的結(jié)構(gòu)基礎(chǔ),17/64,結(jié)構(gòu)化控制流 事件/異常語句 On goto 中斷/事件控制 Set to Set on/off,3.3 軟件的結(jié)構(gòu)基礎(chǔ)
7、,18/64,部件連接方式 部件連接器:完成部件與部件之間的連接 部件:數(shù)據(jù)、外部設(shè)備、程序段 實現(xiàn)部件連接的四種方式 過程調(diào)用 遠(yuǎn)程過程調(diào)用 事件觸發(fā) 服務(wù)連接,3.3 軟件的結(jié)構(gòu)基礎(chǔ),19/64,部件連接方式 過程調(diào)用方式 部件之間通過過程、函數(shù)或方法實現(xiàn)連接 必須知道對方部件的標(biāo)識、對外提供的操作過程標(biāo)識、參數(shù)設(shè)置 遠(yuǎn)程過程調(diào)用 RPC 網(wǎng)絡(luò)分布環(huán)境下的過程調(diào)用 通過代理部件完成部件之間的連接,3.3 軟件的結(jié)構(gòu)基礎(chǔ),20/64,部件連接方式 中斷/事件觸發(fā)方式 通過硬件提供的中斷及其控制機(jī)制實現(xiàn)部件連接的方式 用特定名稱標(biāo)識中斷號碼就形成事件觸發(fā)的部件連接方式 服務(wù)連接方式 服務(wù)連接方
8、式由接口、分析器、執(zhí)行器構(gòu)成 請求部件 接口 分析器 執(zhí)行器 請求部件 各類解釋器、功能服務(wù)器采用的就是這種連接方式,,,,,3.3 軟件的結(jié)構(gòu)基礎(chǔ),21/64,,任何具有固定組成形式的數(shù)據(jù)、代碼、數(shù)據(jù)集合、代碼序列、數(shù)據(jù)和代碼的結(jié)合體都可以稱作結(jié)構(gòu)。 無論多么高層的結(jié)構(gòu),都是建立在基礎(chǔ)結(jié)構(gòu)之上的,作為軟件結(jié)構(gòu)基礎(chǔ)的思想和概念,包括四個方面: 結(jié)構(gòu)化控制流 結(jié)構(gòu)化連接模式 數(shù)據(jù)結(jié)構(gòu) 抽象數(shù)據(jù)類型,3.3 軟件的結(jié)構(gòu)基礎(chǔ),22/64,結(jié)構(gòu)化連接模式:建立在基本控制流之上的高層次抽象,屬于控制模式。 指部件與部件連接關(guān)系的構(gòu)成形式。 條件連接 循環(huán)連接 查詢連接 中斷/事件方式 共
9、享信息方式,3.3 軟件的結(jié)構(gòu)基礎(chǔ),23/64,結(jié)構(gòu)化連接模式 條件連接 ,部件A,部件 1,部件 n,條件,,,,3.3 軟件的結(jié)構(gòu)基礎(chǔ),24/64,結(jié)構(gòu)化連接模式 循環(huán)連接 例如編譯系統(tǒng)中:調(diào)用詞法分析、語法分析、語義分析、目標(biāo)代碼生成、代碼優(yōu)化、鏈接等模塊 ,部件A,部件 1,部件 n,,,,,3.3 軟件的結(jié)構(gòu)基礎(chǔ),25/64,結(jié)構(gòu)化連接模式 查詢方式 兩個部件 信息源:負(fù)責(zé)信息的采集 信息處理部件:周期性地對信息源進(jìn)行信息查詢 對于隨機(jī)發(fā)生的信息源事件無法達(dá)到快速的實時處理 ,信息獲取和處理構(gòu)件,信息源 1,信息源 n,,,
10、,3.3 軟件的結(jié)構(gòu)基礎(chǔ),26/64,結(jié)構(gòu)化連接模式 中斷/事件觸發(fā)方式 處理構(gòu)件不主動關(guān)心信息源的情況 信息處理部件在信息源中斷事件觸發(fā)下啟動工作 可以對隨機(jī)發(fā)生的信息源事件進(jìn)行快速的實時處理,處理構(gòu)件,信息源 1,信息源 n,,,,,3.3 軟件的結(jié)構(gòu)基礎(chǔ),27/64,結(jié)構(gòu)化連接模式 共享信息模式 共享信息區(qū)構(gòu)件進(jìn)行信息源和信息處理構(gòu)件的信息交換和傳遞 需要考慮信息存取的同步和互斥問題,信息源 1,,,信息源 n,共享信息交換區(qū),信息處理構(gòu)件,,,,3.3 軟件的結(jié)構(gòu)基礎(chǔ),28/64,,任何具有固定組成形式的數(shù)據(jù)、代碼、數(shù)據(jù)集合、代碼序列、數(shù)據(jù)和代碼的結(jié)合體都可以稱作結(jié)構(gòu)。 無論多么
11、高層的結(jié)構(gòu),都是建立在基礎(chǔ)結(jié)構(gòu)之上的,作為軟件結(jié)構(gòu)基礎(chǔ)的思想和概念,包括四個方面: 結(jié)構(gòu)化控制流 結(jié)構(gòu)化連接模式 數(shù)據(jù)結(jié)構(gòu) 抽象數(shù)據(jù)類型,3.3 軟件的結(jié)構(gòu)基礎(chǔ),29/64,基本數(shù)據(jù)類型(數(shù)據(jù)結(jié)構(gòu)) 是繼規(guī)范控制和結(jié)構(gòu)化設(shè)計后在軟件研究和設(shè)計中發(fā)揮巨大促進(jìn)作用的軟件結(jié)構(gòu)概念 在表達(dá)軟件體系結(jié)構(gòu)的時候離不開基本的數(shù)據(jù)結(jié)構(gòu),是體系結(jié)構(gòu)的基本和重要方面 Java 10的雜質(zhì) 已經(jīng)讓位與體系結(jié)構(gòu)和更高層的結(jié)構(gòu) 常見的數(shù)據(jù)結(jié)構(gòu) 線性結(jié)構(gòu) 樹形結(jié)構(gòu) 復(fù)雜結(jié)構(gòu) 文件結(jié)構(gòu),3.3 軟件的結(jié)構(gòu)基礎(chǔ),30/64,,任何具有固定組成形式的數(shù)據(jù)、代碼、數(shù)據(jù)集合、代碼序列、數(shù)據(jù)和代碼的結(jié)合體都可以稱作結(jié)構(gòu)。 無論
12、多么高層的結(jié)構(gòu),都是建立在基礎(chǔ)結(jié)構(gòu)之上的,作為軟件結(jié)構(gòu)基礎(chǔ)的思想和概念,包括四個方面: 結(jié)構(gòu)化控制流 結(jié)構(gòu)化連接模式 數(shù)據(jù)結(jié)構(gòu) 抽象數(shù)據(jù)類型,3.3 軟件的結(jié)構(gòu)基礎(chǔ),31/64,抽象數(shù)據(jù)結(jié)構(gòu) 是一個關(guān)于軟件分塊或者部件的數(shù)學(xué)模型 定義了所描述的部件的構(gòu)成和構(gòu)成成員之間的關(guān)系以及作用在部件構(gòu)成之上的合法的操作和操作的性質(zhì) 與其在計算機(jī)內(nèi)的具體的表示和實現(xiàn)無關(guān) 定義了由一個值域和定義在該值域上的一組操作組成 從類型的概念把握部件 抽象數(shù)據(jù)類型的定義,四元組(D,R,P,S)表示,3.3 軟件的結(jié)構(gòu)基礎(chǔ),32/64,,任何具有固定組成形式的數(shù)據(jù)、代碼、數(shù)據(jù)集合、代碼序列、數(shù)據(jù)和代碼的結(jié)合體都可以稱作
13、結(jié)構(gòu)。 無論多么高層的結(jié)構(gòu),都是建立在基礎(chǔ)結(jié)構(gòu)之上的,作為軟件結(jié)構(gòu)基礎(chǔ)的思想和概念,包括四個方面: 結(jié)構(gòu)化控制流 結(jié)構(gòu)化連接模式 數(shù)據(jù)結(jié)構(gòu) 抽象數(shù)據(jù)類型 補(bǔ)充 面向?qū)ο?進(jìn)程及其運行環(huán)境 分時并發(fā)計算 資源共享/并行同步 實時系統(tǒng),3.3 軟件的結(jié)構(gòu)基礎(chǔ),33/64,面向?qū)ο?20世紀(jì)60年代提出的 Simula67,Smalltalk80 建立在抽象數(shù)據(jù)類型基礎(chǔ)之上 基本概念:對象、類、封裝、繼承、多態(tài)、方法 類的層次性增加了代碼的復(fù)用 信息隱藏保證的對象行為的可靠性 封裝提高了對象作為一種模塊的內(nèi)聚力,3.3 軟件的結(jié)構(gòu)基礎(chǔ),34/64,進(jìn)程 60年代初引入的概念 定義 進(jìn)程是可以并
14、行執(zhí)行的計算部分,是一個獨立的可以調(diào)度的活動 進(jìn)程執(zhí)行某個任務(wù)時,需要分配和釋放各種資源 行為的規(guī)范構(gòu)成程序,程序在處理機(jī)上的執(zhí)行活動叫進(jìn)程 程序是進(jìn)程的腳本,進(jìn)程是程序的動態(tài)執(zhí)行過程 一個進(jìn)程可以執(zhí)行一個或者幾個程序 不同的進(jìn)程可以包含同一個程序 進(jìn)程具有并行特征 進(jìn)程必須建立獨立的數(shù)據(jù)環(huán)境(確保進(jìn)程間不發(fā)生干擾) 在串行計算機(jī)上,進(jìn)程處理是實現(xiàn)程序并行和分時運行的必不可少的機(jī)制 進(jìn)程概念的進(jìn)一步發(fā)展,提出和實現(xiàn)了線程等概念,3.3 軟件的結(jié)構(gòu)基礎(chǔ),35/64,分時并發(fā)計算 對分時系統(tǒng)的需求 引入基于進(jìn)程的多道程序技術(shù)后使機(jī)器的利用率得到的改善,但仍然不能滿足用戶的需求。 對任務(wù)控制能力的失
15、去(小計算量的長事件等待)、希望多個操作能同時進(jìn)行 分時系統(tǒng)的基本特征 同時性 獨立性 及時性 交互作用性 實現(xiàn)分時的方法 時間片,3.3 軟件的結(jié)構(gòu)基礎(chǔ),36/64,資源共享/并行同步 并行執(zhí)行的任務(wù)同時需要同一個硬件和軟件資源資源共享、競爭的問題 并行執(zhí)行的任務(wù)之間可能存在某種受限的邏輯或時序關(guān)系進(jìn)程同步問題 解決辦法:信號量 互斥信號:用于資源共享 同步信號:用于任務(wù)同步,3.3 軟件的結(jié)構(gòu)基礎(chǔ),37/64,實時系統(tǒng) 實時是指對于特定事件處理響應(yīng)的高速度特性,或者指所提供的計算或服務(wù)反映最新信息狀態(tài)的現(xiàn)實特性。 實時是相對于用戶容許的響應(yīng)時間或容許的滯后時間,只要滿足用戶對時間的要求,皆
16、可稱作實時的 分時與實時 分時的目標(biāo)是提供多個用戶可同時使用同一臺機(jī)器或多個程序可在同一臺機(jī)器上運行的軟件環(huán)境 實時強(qiáng)調(diào)的是系統(tǒng)對特殊時間或請求的及時響應(yīng)性 實時系統(tǒng)的實現(xiàn) 在分時控制下的循環(huán)查詢模式和事件/中斷模式 實時系統(tǒng)的特性 實時時鐘管理 負(fù)載控制能力 高可靠性,3.3 軟件的結(jié)構(gòu)基礎(chǔ),38/64,分而治之的思想 橫向 縱向 層次性一直都是軟件的問題分析和設(shè)計實施的基本和具有普遍適用的思想方法 OS Network 層次系統(tǒng)(Layered Systems)是一種體系結(jié)構(gòu)風(fēng)格,3.4 軟件的層次結(jié)構(gòu)模型,39/64,計算機(jī)網(wǎng)絡(luò)的體系結(jié)構(gòu),應(yīng)用層,表示層,會話層,傳輸層,網(wǎng)絡(luò)層,鏈路層,
17、物理層,,,,,,,,,,,,,,應(yīng)用層,表示層,會話層,傳輸層,網(wǎng)絡(luò)層,鏈路層,物理層,,,,,,,第1層協(xié)議,第2層協(xié)議,第3層協(xié)議,第4層協(xié)議,第5層協(xié)議,第6層協(xié)議,第7層協(xié)議,3.4 軟件的層次結(jié)構(gòu)模型,40/64,計算機(jī)操作系統(tǒng)的體系結(jié)構(gòu),計算機(jī)硬件(CPU、內(nèi)存、I/O),基本輸入輸出,操作系統(tǒng)內(nèi)核,系統(tǒng)調(diào)用,語言處理、系統(tǒng)工具、系統(tǒng)應(yīng)用、應(yīng)用程序,Shell解釋運行,,,,,,3.4 軟件的層次結(jié)構(gòu)模型,41/64,層次體系結(jié)構(gòu)的對比、總結(jié) 都是從硬件的構(gòu)成和連接的基礎(chǔ)開始 系統(tǒng)設(shè)計中都考慮道了系統(tǒng)的升級和擴(kuò)展性、兼容性 建立在各基礎(chǔ)層服務(wù)之上的系統(tǒng),對于性能可以建立可追蹤的分
18、析估計 以上兩個體系結(jié)構(gòu)的不同點 上層對下層的隔層之間是否發(fā)生直接連接或調(diào)用關(guān)系 以上體系結(jié)構(gòu)為復(fù)雜軟件的分層設(shè)計提供了典范,體系結(jié)構(gòu)的層次風(fēng)格主要因此而得到認(rèn)識的。,3.4 軟件的層次結(jié)構(gòu)模型,42/64,建筑的發(fā)展經(jīng)歷了從認(rèn)識建筑材料到采用基礎(chǔ)構(gòu)件、到建立整體結(jié)構(gòu)的過程。 軟件的發(fā)展和構(gòu)造也具有類似建筑的性質(zhì)。 任何軟件的完整結(jié)構(gòu)都具有層次關(guān)系: 特定的軟件需要特定的硬件環(huán)境運行 不存在不需要下層支持的抽象的上層結(jié)構(gòu)或框架 層次性是軟件體系結(jié)構(gòu)的不變性質(zhì),是軟件構(gòu)成的共同規(guī)律,3.5 軟件體系結(jié)構(gòu)的層次模型,3.5 軟件體系結(jié)構(gòu)的層次模型,第6層 應(yīng)用層,第5層 系統(tǒng)結(jié)構(gòu)模式層,第
19、4層 資源和管理調(diào)度層,第3層 基礎(chǔ)控制描述層,第2層 軟化的硬件層,第1層 計算機(jī)硬件,,,,,,,,,,,軟件體系結(jié)構(gòu)的層次模型,44/64,硬件基礎(chǔ)層 軟件運行的物質(zhì)基礎(chǔ) 軟化的硬件層 對硬件結(jié)構(gòu)和性能抽象的基礎(chǔ)上,實現(xiàn)硬件的操作和控制描述軟化的硬件層 處理器:狀態(tài)和指令集合 中斷:狀態(tài)和中斷服務(wù),3.5 軟件體系結(jié)構(gòu)的層次模型,45/64,基礎(chǔ)控制描述層 建立在高級程序語言描述上的純粹軟件描述層,包括了高級語言所支持的所有程序控制和數(shù)據(jù)描述概念 程序控制概念:順序、條件、選擇、循環(huán)、變量、參數(shù)、過程、函數(shù)、模塊 數(shù)據(jù)描述的概念:數(shù)組、隊列、鏈表、堆棧、樹、圖、指針、記錄 支持該層面的軟
20、件系統(tǒng)模型 主程序/子程序、結(jié)構(gòu)化程序、模塊化程序、面向?qū)ο蟪绦?支持該層面的設(shè)計工具 程序設(shè)計語言、結(jié)構(gòu)化分析、面向?qū)ο蠓治鲈O(shè)計,3.5 軟件體系結(jié)構(gòu)的層次模型,46/64,資源和管理層 作用:在基礎(chǔ)控制描述層建立的一切數(shù)據(jù)對象和操作,都需要在操作系統(tǒng)的協(xié)調(diào)和控制下才能實際的實現(xiàn)其設(shè)計的作用和功能。 進(jìn)程管理、消息處理、I/O etc. 該層考慮的設(shè)計模式 共享資源、同步、分時系統(tǒng)、異常處理、并行、進(jìn)程、線程、消息、遠(yuǎn)程調(diào)用 etc. 該層的軟件系統(tǒng)模型 進(jìn)程控制、分時系統(tǒng)、消息機(jī)制 etc .,3.5 軟件體系結(jié)構(gòu)的層次模型,47/64,系統(tǒng)結(jié)構(gòu)模式層 最高層次的軟件結(jié)構(gòu)概念 屬于體系結(jié)構(gòu)
21、風(fēng)格或系統(tǒng)級別的設(shè)計模式 最高的抽象描述層 該層包含的概念有: 解釋器、編譯器、編輯器、管道/過濾器、黑板、C/S 、B/S、框架 etc.,3.5 軟件體系結(jié)構(gòu)的層次模型,48/64,應(yīng)用層 從純粹應(yīng)用領(lǐng)域出發(fā)所建立的系統(tǒng)結(jié)構(gòu)概念 是系統(tǒng)結(jié)構(gòu)模式層的概念經(jīng)過領(lǐng)域應(yīng)用命名的直接引用 企業(yè)管理、公文處理、控制系統(tǒng)、CAD系統(tǒng)、ERP系統(tǒng) etc.,3.5 軟件體系結(jié)構(gòu)的層次模型,49/64,3.5 軟件體系結(jié)構(gòu)的層次模型,50/64,3.5 軟件體系結(jié)構(gòu)的層次模型,51/64,3.5 軟件體系結(jié)構(gòu)的層次模型,52/64,體系結(jié)構(gòu)的層次模型構(gòu)成了SA的結(jié)構(gòu)體系、知識體系。原因如下: 軟件研究的過程
22、就是SA從基礎(chǔ)到高層逐步發(fā)展的過程 SA的概念是建立在軟件研究和技術(shù)成果之上,是軟件發(fā)展過至今的產(chǎn)物,3.6 軟件體系結(jié)構(gòu)的體系,53/64,層次模型對軟件體系結(jié)構(gòu)的認(rèn)識 體系結(jié)構(gòu)是關(guān)于軟件的構(gòu)成部件及其連接的分層的結(jié)構(gòu)框架 體系結(jié)構(gòu)包括軟件的內(nèi)在概念和外在操作結(jié)構(gòu) 體系結(jié)構(gòu)分析與設(shè)計涵蓋并指導(dǎo)著從邏輯結(jié)構(gòu)設(shè)計到運行實現(xiàn)的軟件工程的全部過程,3.6 軟件體系結(jié)構(gòu)的體系,54/64,體系結(jié)構(gòu)的構(gòu)成基礎(chǔ) 體系結(jié)構(gòu)是計算機(jī)技術(shù)發(fā)展成熟的必然產(chǎn)物 基礎(chǔ)包括:對硬件的軟件抽象、基礎(chǔ)控制描述、資源管理調(diào)度、系統(tǒng)結(jié)構(gòu)模式、領(lǐng)域知識 SA研究是整個軟件領(lǐng)域幾十年研究的繼承、概括和發(fā)展,3.6 軟件體系結(jié)構(gòu)的體
23、系,55/64,體系結(jié)構(gòu)的描述抽象 抽象在軟件技術(shù)研究中一直發(fā)揮著重要的作用,每次抽象都標(biāo)志著技術(shù)發(fā)展從經(jīng)驗向理論的轉(zhuǎn)折,每次抽象都在前一次抽象基礎(chǔ)上建立的 語言(01,匯編高級);ADT(data,operation);進(jìn)程(并行和任務(wù)調(diào)度);事件和消息(中斷);虛擬機(jī)、微內(nèi)核(OS);分布式 (network);領(lǐng)域模型(特定應(yīng)用問題);SP、OO、UML(軟件結(jié)構(gòu)) etc. SA是目前對軟件結(jié)構(gòu)的最高級抽象,該抽象建立在當(dāng)強(qiáng)所有關(guān)于軟件的研究成果之上的,3.6 軟件體系結(jié)構(gòu)的體系,56/64,體系結(jié)構(gòu)的語法和語義 體系結(jié)構(gòu)的組成需要使用特定的語言進(jìn)行描述 詞匯、語法、語義、語用 SA的
24、層次性反映了幾十年軟件描述的基礎(chǔ)詞匯、語法集合、使用方法規(guī)范化、形式化,3.6 軟件體系結(jié)構(gòu)的體系,57/64,體系結(jié)構(gòu)的性能分析 軟件的性能 功能特性(Functional Properties) 非功能特性(NonFunctional Properties) 只有最上層結(jié)構(gòu)關(guān)系而無深層次實現(xiàn)描述是無法實現(xiàn)非功能性分析 體系結(jié)構(gòu)層次模型的資源及管理調(diào)度和基礎(chǔ)控制描述層為研究非功能特性提供了支持,3.6 軟件體系結(jié)構(gòu)的體系,58/64,體系結(jié)構(gòu)代碼生成 軟件設(shè)計的目的是建立正確高效運行的軟件代碼系統(tǒng) SA應(yīng)該支持代碼的生成,提供對各個層次的部件和連接器的深層分析和表達(dá) 目前,SA研究重點在: 體系結(jié)構(gòu)風(fēng)格 體系結(jié)構(gòu)形式化 體系結(jié)構(gòu)描述語言 代碼的生成,3.6 軟件體系結(jié)構(gòu)的體系,59/64,體系結(jié)構(gòu)的知識體系 軟件體系結(jié)構(gòu)的層次模型說明了軟件的構(gòu)成和設(shè)計知識貫穿散布在計算機(jī)各領(lǐng)域中 軟化的硬件層:組成、匯編、接口 基礎(chǔ)控制描述層:語言、DS、OO、DB 資源及管理調(diào)度層:OS 系統(tǒng)結(jié)構(gòu)模式層:DB、SE、DC 應(yīng)用層:Background 建立統(tǒng)一、系統(tǒng)的軟件知識體系,3.6 軟件體系結(jié)構(gòu)的體系,Thank You !,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市教育局冬季運動會安全工作預(yù)案
- 2024年秋季《思想道德與法治》大作業(yè)及答案3套試卷
- 2024年教師年度考核表個人工作總結(jié)(可編輯)
- 2024年xx村兩委涉案資金退還保證書
- 2024年憲法宣傳周活動總結(jié)+在機(jī)關(guān)“弘揚憲法精神推動發(fā)改工作高質(zhì)量發(fā)展”專題宣講報告會上的講話
- 2024年XX村合作社年報總結(jié)
- 2024-2025年秋季第一學(xué)期初中歷史上冊教研組工作總結(jié)
- 2024年小學(xué)高級教師年終工作總結(jié)匯報
- 2024-2025年秋季第一學(xué)期初中物理上冊教研組工作總結(jié)
- 2024年xx鎮(zhèn)交通年度總結(jié)
- 2024-2025年秋季第一學(xué)期小學(xué)語文教師工作總結(jié)
- 2024年XX村陳規(guī)陋習(xí)整治報告
- 2025年學(xué)校元旦迎新盛典活動策劃方案
- 2024年學(xué)校周邊安全隱患自查報告
- 2024年XX鎮(zhèn)農(nóng)村規(guī)劃管控述職報告