軟件體系結(jié)構(gòu)-3軟件體系結(jié)構(gòu)的層次性.ppt

上傳人:xin****828 文檔編號(hào):15527313 上傳時(shí)間:2020-08-17 格式:PPT 頁(yè)數(shù):60 大?。?11.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
軟件體系結(jié)構(gòu)-3軟件體系結(jié)構(gòu)的層次性.ppt_第1頁(yè)
第1頁(yè) / 共60頁(yè)
軟件體系結(jié)構(gòu)-3軟件體系結(jié)構(gòu)的層次性.ppt_第2頁(yè)
第2頁(yè) / 共60頁(yè)
軟件體系結(jié)構(gòu)-3軟件體系結(jié)構(gòu)的層次性.ppt_第3頁(yè)
第3頁(yè) / 共60頁(yè)

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《軟件體系結(jié)構(gòu)-3軟件體系結(jié)構(gòu)的層次性.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件體系結(jié)構(gòu)-3軟件體系結(jié)構(gòu)的層次性.ppt(60頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(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)建一個(gè)軟件系統(tǒng)之間存在著驚人的相似性。(From 軟件架構(gòu)師導(dǎo)讀) 簡(jiǎn)單而易于掌握的思想具有改變思想和認(rèn)識(shí)的力量。 牛頓與萬(wàn)有引力 弗洛伊

2、德:潛意識(shí)的存在是行為的動(dòng)機(jī)。 如果把軟件和信息技術(shù)系統(tǒng)都想象成物理建筑,則:我們會(huì)看到什么? 廢棄的房屋 不開心的住戶 空房,3.1 從建筑學(xué)看軟件的構(gòu)成,4/64,體系結(jié)構(gòu)需要基礎(chǔ):從建筑的基礎(chǔ)性看軟件構(gòu)成 地基、材料、材料構(gòu)成三個(gè)方面從根本上決定了建筑物的結(jié)構(gòu)、性能、功用、建造方法,形成了建筑的基礎(chǔ)。 構(gòu)造軟件同樣需要基礎(chǔ)。計(jì)算機(jī)硬件結(jié)構(gòu)、軟件的基本組成、構(gòu)成軟件的可用組塊三個(gè)方面。 討論軟件的體系結(jié)構(gòu)必須首先建立一個(gè)基礎(chǔ):一旦確立了基礎(chǔ),各種觀點(diǎn)的比較就有了共同的標(biāo)準(zhǔn)語(yǔ)言。,3.1 從建筑學(xué)看軟件的構(gòu)成,5/64,體系結(jié)構(gòu)需要層次:從建筑的層次性看軟件構(gòu)成。 建筑是由基本材料到基礎(chǔ)構(gòu)件

3、再到整體框架逐層次發(fā)展和構(gòu)成的歷程。 軟件的體系結(jié)構(gòu)也是由使用最基本的材料開始,到認(rèn)識(shí)常用基礎(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余種“場(chǎng)景問題解決方案”模式,涵蓋不同的規(guī)模和形態(tài) 這些建筑學(xué)的思想再軟件結(jié)構(gòu)的研究中也得到了重視,提出并發(fā)展了軟件“軟件設(shè)計(jì)模式”的概念,進(jìn)而又提出了“軟件體系結(jié)構(gòu)模式”的概念。,3.1 從建筑學(xué)看軟件的構(gòu)成,7/64,體系結(jié)構(gòu)需要清晰的角色劃分:從建筑業(yè)看各個(gè)角色的劃分。,3.1 從建筑學(xué)看軟件的構(gòu)成,8/64,軟件設(shè)

4、計(jì)的物質(zhì)基礎(chǔ)是當(dāng)前的計(jì)算機(jī)硬件,它決定了軟件設(shè)計(jì)和實(shí)現(xiàn)的出發(fā)點(diǎn)。 當(dāng)前硬件的變革表現(xiàn)在兩個(gè)方面 非馮.諾依曼運(yùn)行機(jī)制的產(chǎn)生 并行處理為特征的高性能計(jì)算機(jī)結(jié)構(gòu),3.2 軟件的物質(zhì)基礎(chǔ),9/64,計(jì)算機(jī)硬件體系結(jié)構(gòu) 軟件是對(duì)一組數(shù)據(jù)進(jìn)行處理的一串指令。 根據(jù)處理指令流和數(shù)據(jù)流的數(shù)量,計(jì)算機(jī)分為: SISD SIMD MISD MIMD,3.2 軟件的物質(zhì)基礎(chǔ),10/64,多處理機(jī)系統(tǒng) 屬于MIMD系統(tǒng) 多處理機(jī)系統(tǒng)分為 共享存儲(chǔ)器 分布存儲(chǔ)器 工作在統(tǒng)一的操作系統(tǒng)下進(jìn)行資源管理 挑戰(zhàn):并行算法和軟件的設(shè)計(jì),3.2 軟件的物質(zhì)基礎(chǔ),11/64,分布計(jì)算系統(tǒng) 多臺(tái)計(jì)算機(jī)通過網(wǎng)絡(luò)連接起來的大系統(tǒng) 分布

5、存儲(chǔ)的多處理機(jī)系統(tǒng) 但各自運(yùn)行獨(dú)立的操作系統(tǒng),3.2 軟件的物質(zhì)基礎(chǔ),12/64,結(jié)論 多處理機(jī)需要并行處理(解決并行任務(wù)的調(diào)度和自動(dòng)分解),對(duì)軟件設(shè)計(jì)提出了復(fù)雜的要求,使軟件設(shè)計(jì)的復(fù)雜度大大提高 我們以討論串行計(jì)算機(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ǔ)的思想和概念,包括四個(gè)方面: 結(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)向語(yǔ)句 goto 過程調(diào)用 ,3.3 軟件的結(jié)構(gòu)基礎(chǔ),15/64,結(jié)構(gòu)化控制流 條件語(yǔ)句 if then if then else 開關(guān)語(yǔ)句 Swithch Case value 1 Case value n ,3.3 軟件的結(jié)構(gòu)基礎(chǔ),16/64,結(jié)構(gòu)化控制流 循環(huán)語(yǔ)句 For While do Repeat until Break Continue,3.3 軟件的結(jié)構(gòu)基礎(chǔ),17/64,結(jié)構(gòu)化控制流 事件/異常語(yǔ)句 On goto 中斷/事件控制 Set to Set on/off,3.3 軟件的結(jié)構(gòu)基礎(chǔ)

7、,18/64,部件連接方式 部件連接器:完成部件與部件之間的連接 部件:數(shù)據(jù)、外部設(shè)備、程序段 實(shí)現(xiàn)部件連接的四種方式 過程調(diào)用 遠(yuǎn)程過程調(diào)用 事件觸發(fā) 服務(wù)連接,3.3 軟件的結(jié)構(gòu)基礎(chǔ),19/64,部件連接方式 過程調(diào)用方式 部件之間通過過程、函數(shù)或方法實(shí)現(xiàn)連接 必須知道對(duì)方部件的標(biāo)識(shí)、對(duì)外提供的操作過程標(biāo)識(shí)、參數(shù)設(shè)置 遠(yuǎn)程過程調(diào)用 RPC 網(wǎng)絡(luò)分布環(huán)境下的過程調(diào)用 通過代理部件完成部件之間的連接,3.3 軟件的結(jié)構(gòu)基礎(chǔ),20/64,部件連接方式 中斷/事件觸發(fā)方式 通過硬件提供的中斷及其控制機(jī)制實(shí)現(xiàn)部件連接的方式 用特定名稱標(biāo)識(shí)中斷號(hào)碼就形成事件觸發(fā)的部件連接方式 服務(wù)連接方式 服務(wù)連接方

8、式由接口、分析器、執(zhí)行器構(gòu)成 請(qǐng)求部件 接口 分析器 執(zhí)行器 請(qǐng)求部件 各類解釋器、功能服務(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ǔ)的思想和概念,包括四個(gè)方面: 結(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)用詞法分析、語(yǔ)法分析、語(yǔ)義分析、目標(biāo)代碼生成、代碼優(yōu)化、鏈接等模塊 ,部件A,部件 1,部件 n,,,,,3.3 軟件的結(jié)構(gòu)基礎(chǔ),25/64,結(jié)構(gòu)化連接模式 查詢方式 兩個(gè)部件 信息源:負(fù)責(zé)信息的采集 信息處理部件:周期性地對(duì)信息源進(jìn)行信息查詢 對(duì)于隨機(jī)發(fā)生的信息源事件無法達(dá)到快速的實(shí)時(shí)處理 ,信息獲取和處理構(gòu)件,信息源 1,信息源 n,,,

10、,3.3 軟件的結(jié)構(gòu)基礎(chǔ),26/64,結(jié)構(gòu)化連接模式 中斷/事件觸發(fā)方式 處理構(gòu)件不主動(dòng)關(guān)心信息源的情況 信息處理部件在信息源中斷事件觸發(fā)下啟動(dòng)工作 可以對(duì)隨機(jī)發(fā)生的信息源事件進(jìn)行快速的實(shí)時(shí)處理,處理構(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ǔ)的思想和概念,包括四個(gè)方面: 結(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è)計(jì)后在軟件研究和設(shè)計(jì)中發(fā)揮巨大促進(jìn)作用的軟件結(jié)構(gòu)概念 在表達(dá)軟件體系結(jié)構(gòu)的時(shí)候離不開基本的數(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ǔ)的思想和概念,包括四個(gè)方面: 結(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) 是一個(gè)關(guān)于軟件分塊或者部件的數(shù)學(xué)模型 定義了所描述的部件的構(gòu)成和構(gòu)成成員之間的關(guān)系以及作用在部件構(gòu)成之上的合法的操作和操作的性質(zhì) 與其在計(jì)算機(jī)內(nèi)的具體的表示和實(shí)現(xiàn)無關(guān) 定義了由一個(gè)值域和定義在該值域上的一組操作組成 從類型的概念把握部件 抽象數(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ǔ)的思想和概念,包括四個(gè)方面: 結(jié)構(gòu)化控制流 結(jié)構(gòu)化連接模式 數(shù)據(jù)結(jié)構(gòu) 抽象數(shù)據(jù)類型 補(bǔ)充 面向?qū)ο?進(jìn)程及其運(yùn)行環(huán)境 分時(shí)并發(fā)計(jì)算 資源共享/并行同步 實(shí)時(shí)系統(tǒng),3.3 軟件的結(jié)構(gòu)基礎(chǔ),33/64,面向?qū)ο?20世紀(jì)60年代提出的 Simula67,Smalltalk80 建立在抽象數(shù)據(jù)類型基礎(chǔ)之上 基本概念:對(duì)象、類、封裝、繼承、多態(tài)、方法 類的層次性增加了代碼的復(fù)用 信息隱藏保證的對(duì)象行為的可靠性 封裝提高了對(duì)象作為一種模塊的內(nèi)聚力,3.3 軟件的結(jié)構(gòu)基礎(chǔ),34/64,進(jìn)程 60年代初引入的概念 定義 進(jìn)程是可以并

14、行執(zhí)行的計(jì)算部分,是一個(gè)獨(dú)立的可以調(diào)度的活動(dòng) 進(jìn)程執(zhí)行某個(gè)任務(wù)時(shí),需要分配和釋放各種資源 行為的規(guī)范構(gòu)成程序,程序在處理機(jī)上的執(zhí)行活動(dòng)叫進(jìn)程 程序是進(jìn)程的腳本,進(jìn)程是程序的動(dòng)態(tài)執(zhí)行過程 一個(gè)進(jìn)程可以執(zhí)行一個(gè)或者幾個(gè)程序 不同的進(jìn)程可以包含同一個(gè)程序 進(jìn)程具有并行特征 進(jìn)程必須建立獨(dú)立的數(shù)據(jù)環(huán)境(確保進(jìn)程間不發(fā)生干擾) 在串行計(jì)算機(jī)上,進(jìn)程處理是實(shí)現(xiàn)程序并行和分時(shí)運(yùn)行的必不可少的機(jī)制 進(jìn)程概念的進(jìn)一步發(fā)展,提出和實(shí)現(xiàn)了線程等概念,3.3 軟件的結(jié)構(gòu)基礎(chǔ),35/64,分時(shí)并發(fā)計(jì)算 對(duì)分時(shí)系統(tǒng)的需求 引入基于進(jìn)程的多道程序技術(shù)后使機(jī)器的利用率得到的改善,但仍然不能滿足用戶的需求。 對(duì)任務(wù)控制能力的失

15、去(小計(jì)算量的長(zhǎng)事件等待)、希望多個(gè)操作能同時(shí)進(jìn)行 分時(shí)系統(tǒng)的基本特征 同時(shí)性 獨(dú)立性 及時(shí)性 交互作用性 實(shí)現(xiàn)分時(shí)的方法 時(shí)間片,3.3 軟件的結(jié)構(gòu)基礎(chǔ),36/64,資源共享/并行同步 并行執(zhí)行的任務(wù)同時(shí)需要同一個(gè)硬件和軟件資源資源共享、競(jìng)爭(zhēng)的問題 并行執(zhí)行的任務(wù)之間可能存在某種受限的邏輯或時(shí)序關(guān)系進(jìn)程同步問題 解決辦法:信號(hào)量 互斥信號(hào):用于資源共享 同步信號(hào):用于任務(wù)同步,3.3 軟件的結(jié)構(gòu)基礎(chǔ),37/64,實(shí)時(shí)系統(tǒng) 實(shí)時(shí)是指對(duì)于特定事件處理響應(yīng)的高速度特性,或者指所提供的計(jì)算或服務(wù)反映最新信息狀態(tài)的現(xiàn)實(shí)特性。 實(shí)時(shí)是相對(duì)于用戶容許的響應(yīng)時(shí)間或容許的滯后時(shí)間,只要滿足用戶對(duì)時(shí)間的要求,皆

16、可稱作實(shí)時(shí)的 分時(shí)與實(shí)時(shí) 分時(shí)的目標(biāo)是提供多個(gè)用戶可同時(shí)使用同一臺(tái)機(jī)器或多個(gè)程序可在同一臺(tái)機(jī)器上運(yùn)行的軟件環(huán)境 實(shí)時(shí)強(qiáng)調(diào)的是系統(tǒng)對(duì)特殊時(shí)間或請(qǐng)求的及時(shí)響應(yīng)性 實(shí)時(shí)系統(tǒng)的實(shí)現(xiàn) 在分時(shí)控制下的循環(huán)查詢模式和事件/中斷模式 實(shí)時(shí)系統(tǒng)的特性 實(shí)時(shí)時(shí)鐘管理 負(fù)載控制能力 高可靠性,3.3 軟件的結(jié)構(gòu)基礎(chǔ),38/64,分而治之的思想 橫向 縱向 層次性一直都是軟件的問題分析和設(shè)計(jì)實(shí)施的基本和具有普遍適用的思想方法 OS Network 層次系統(tǒng)(Layered Systems)是一種體系結(jié)構(gòu)風(fēng)格,3.4 軟件的層次結(jié)構(gòu)模型,39/64,計(jì)算機(jī)網(wǎng)絡(luò)的體系結(jié)構(gòu),應(yīng)用層,表示層,會(huì)話層,傳輸層,網(wǎng)絡(luò)層,鏈路層,

17、物理層,,,,,,,,,,,,,,應(yīng)用層,表示層,會(huì)話層,傳輸層,網(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ì)算機(jī)操作系統(tǒng)的體系結(jié)構(gòu),計(jì)算機(jī)硬件(CPU、內(nèi)存、I/O),基本輸入輸出,操作系統(tǒng)內(nèi)核,系統(tǒng)調(diào)用,語(yǔ)言處理、系統(tǒng)工具、系統(tǒng)應(yīng)用、應(yīng)用程序,Shell解釋運(yùn)行,,,,,,3.4 軟件的層次結(jié)構(gòu)模型,41/64,層次體系結(jié)構(gòu)的對(duì)比、總結(jié) 都是從硬件的構(gòu)成和連接的基礎(chǔ)開始 系統(tǒng)設(shè)計(jì)中都考慮道了系統(tǒng)的升級(jí)和擴(kuò)展性、兼容性 建立在各基礎(chǔ)層服務(wù)之上的系統(tǒng),對(duì)于性能可以建立可追蹤的分

18、析估計(jì) 以上兩個(gè)體系結(jié)構(gòu)的不同點(diǎn) 上層對(duì)下層的隔層之間是否發(fā)生直接連接或調(diào)用關(guān)系 以上體系結(jié)構(gòu)為復(fù)雜軟件的分層設(shè)計(jì)提供了典范,體系結(jié)構(gòu)的層次風(fēng)格主要因此而得到認(rèn)識(shí)的。,3.4 軟件的層次結(jié)構(gòu)模型,42/64,建筑的發(fā)展經(jīng)歷了從認(rèn)識(shí)建筑材料到采用基礎(chǔ)構(gòu)件、到建立整體結(jié)構(gòu)的過程。 軟件的發(fā)展和構(gòu)造也具有類似建筑的性質(zhì)。 任何軟件的完整結(jié)構(gòu)都具有層次關(guān)系: 特定的軟件需要特定的硬件環(huán)境運(yù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ì)算機(jī)硬件,,,,,,,,,,,軟件體系結(jié)構(gòu)的層次模型,44/64,硬件基礎(chǔ)層 軟件運(yùn)行的物質(zhì)基礎(chǔ) 軟化的硬件層 對(duì)硬件結(jié)構(gòu)和性能抽象的基礎(chǔ)上,實(shí)現(xiàn)硬件的操作和控制描述軟化的硬件層 處理器:狀態(tài)和指令集合 中斷:狀態(tài)和中斷服務(wù),3.5 軟件體系結(jié)構(gòu)的層次模型,45/64,基礎(chǔ)控制描述層 建立在高級(jí)程序語(yǔ)言描述上的純粹軟件描述層,包括了高級(jí)語(yǔ)言所支持的所有程序控制和數(shù)據(jù)描述概念 程序控制概念:順序、條件、選擇、循環(huán)、變量、參數(shù)、過程、函數(shù)、模塊 數(shù)據(jù)描述的概念:數(shù)組、隊(duì)列、鏈表、堆棧、樹、圖、指針、記錄 支持該層面的軟

20、件系統(tǒng)模型 主程序/子程序、結(jié)構(gòu)化程序、模塊化程序、面向?qū)ο蟪绦?支持該層面的設(shè)計(jì)工具 程序設(shè)計(jì)語(yǔ)言、結(jié)構(gòu)化分析、面向?qū)ο蠓治鲈O(shè)計(jì),3.5 軟件體系結(jié)構(gòu)的層次模型,46/64,資源和管理層 作用:在基礎(chǔ)控制描述層建立的一切數(shù)據(jù)對(duì)象和操作,都需要在操作系統(tǒng)的協(xié)調(diào)和控制下才能實(shí)際的實(shí)現(xiàn)其設(shè)計(jì)的作用和功能。 進(jìn)程管理、消息處理、I/O etc. 該層考慮的設(shè)計(jì)模式 共享資源、同步、分時(shí)系統(tǒng)、異常處理、并行、進(jìn)程、線程、消息、遠(yuǎn)程調(diào)用 etc. 該層的軟件系統(tǒng)模型 進(jìn)程控制、分時(shí)系統(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)級(jí)別的設(shè)計(jì)模式 最高的抽象描述層 該層包含的概念有: 解釋器、編譯器、編輯器、管道/過濾器、黑板、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)體系、知識(shí)體系。原因如下: 軟件研究的過程

22、就是SA從基礎(chǔ)到高層逐步發(fā)展的過程 SA的概念是建立在軟件研究和技術(shù)成果之上,是軟件發(fā)展過至今的產(chǎn)物,3.6 軟件體系結(jié)構(gòu)的體系,53/64,層次模型對(duì)軟件體系結(jié)構(gòu)的認(rèn)識(shí) 體系結(jié)構(gòu)是關(guān)于軟件的構(gòu)成部件及其連接的分層的結(jié)構(gòu)框架 體系結(jié)構(gòu)包括軟件的內(nèi)在概念和外在操作結(jié)構(gòu) 體系結(jié)構(gòu)分析與設(shè)計(jì)涵蓋并指導(dǎo)著從邏輯結(jié)構(gòu)設(shè)計(jì)到運(yùn)行實(shí)現(xiàn)的軟件工程的全部過程,3.6 軟件體系結(jié)構(gòu)的體系,54/64,體系結(jié)構(gòu)的構(gòu)成基礎(chǔ) 體系結(jié)構(gòu)是計(jì)算機(jī)技術(shù)發(fā)展成熟的必然產(chǎn)物 基礎(chǔ)包括:對(duì)硬件的軟件抽象、基礎(chǔ)控制描述、資源管理調(diào)度、系統(tǒng)結(jié)構(gòu)模式、領(lǐng)域知識(shí) SA研究是整個(gè)軟件領(lǐng)域幾十年研究的繼承、概括和發(fā)展,3.6 軟件體系結(jié)構(gòu)的體

23、系,55/64,體系結(jié)構(gòu)的描述抽象 抽象在軟件技術(shù)研究中一直發(fā)揮著重要的作用,每次抽象都標(biāo)志著技術(shù)發(fā)展從經(jīng)驗(yàn)向理論的轉(zhuǎn)折,每次抽象都在前一次抽象基礎(chǔ)上建立的 語(yǔ)言(01,匯編高級(jí));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是目前對(duì)軟件結(jié)構(gòu)的最高級(jí)抽象,該抽象建立在當(dāng)強(qiáng)所有關(guān)于軟件的研究成果之上的,3.6 軟件體系結(jié)構(gòu)的體系,56/64,體系結(jié)構(gòu)的語(yǔ)法和語(yǔ)義 體系結(jié)構(gòu)的組成需要使用特定的語(yǔ)言進(jìn)行描述 詞匯、語(yǔ)法、語(yǔ)義、語(yǔ)用 SA的

24、層次性反映了幾十年軟件描述的基礎(chǔ)詞匯、語(yǔ)法集合、使用方法規(guī)范化、形式化,3.6 軟件體系結(jié)構(gòu)的體系,57/64,體系結(jié)構(gòu)的性能分析 軟件的性能 功能特性(Functional Properties) 非功能特性(NonFunctional Properties) 只有最上層結(jié)構(gòu)關(guān)系而無深層次實(shí)現(xiàn)描述是無法實(shí)現(xiàn)非功能性分析 體系結(jié)構(gòu)層次模型的資源及管理調(diào)度和基礎(chǔ)控制描述層為研究非功能特性提供了支持,3.6 軟件體系結(jié)構(gòu)的體系,58/64,體系結(jié)構(gòu)代碼生成 軟件設(shè)計(jì)的目的是建立正確高效運(yùn)行的軟件代碼系統(tǒng) SA應(yīng)該支持代碼的生成,提供對(duì)各個(gè)層次的部件和連接器的深層分析和表達(dá) 目前,SA研究重點(diǎn)在: 體系結(jié)構(gòu)風(fēng)格 體系結(jié)構(gòu)形式化 體系結(jié)構(gòu)描述語(yǔ)言 代碼的生成,3.6 軟件體系結(jié)構(gòu)的體系,59/64,體系結(jié)構(gòu)的知識(shí)體系 軟件體系結(jié)構(gòu)的層次模型說明了軟件的構(gòu)成和設(shè)計(jì)知識(shí)貫穿散布在計(jì)算機(jī)各領(lǐng)域中 軟化的硬件層:組成、匯編、接口 基礎(chǔ)控制描述層:語(yǔ)言、DS、OO、DB 資源及管理調(diào)度層:OS 系統(tǒng)結(jié)構(gòu)模式層:DB、SE、DC 應(yīng)用層:Background 建立統(tǒng)一、系統(tǒng)的軟件知識(shí)體系,3.6 軟件體系結(jié)構(gòu)的體系,Thank You !,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!