freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]軟件工程課件(1)-資料下載頁(yè)

2024-12-29 12:19本頁(yè)面
  

【正文】 程的重要研究領(lǐng)域; 軟件體系結(jié)構(gòu)的發(fā)展歷程 140 軟件工程 2022 第五章 總體設(shè)計(jì) ? 軟件體系結(jié)構(gòu) 是對(duì)子系統(tǒng)、軟件系統(tǒng)構(gòu)件以及它們之間相互關(guān)系的描述。 ? 子系統(tǒng)和構(gòu)件一般定義在不同的視圖內(nèi),以顯示軟件系統(tǒng)的相關(guān)功能屬性和非功能屬性。 ? 系統(tǒng)的軟件體系結(jié)構(gòu)是一種軟件設(shè)計(jì)活動(dòng)的工作產(chǎn)品。 軟件體系結(jié)構(gòu)( Software Architecture) 141 軟件工程 2022 第五章 總體設(shè)計(jì) 142 軟件工程 2022 第五章 總體設(shè)計(jì) 143 軟件工程 2022 第五章 總體設(shè)計(jì) 144 軟件工程 2022 第五章 總體設(shè)計(jì) 145 軟件工程 2022 第五章 總體設(shè)計(jì) 146 軟件工程 2022 第五章 總體設(shè)計(jì) 147 軟件工程 2022 第五章 總體設(shè)計(jì) 148 軟件工程 2022 第五章 總體設(shè)計(jì) ? 構(gòu)件 :軟件系統(tǒng)的一個(gè)封裝部分。 ? 構(gòu)件的分類方式之一: ? 處理元素、數(shù)據(jù)元素、連接元素; ? 構(gòu)件的分類方式之二(針對(duì)面向?qū)ο蠓椒ǎ? ? 控制器構(gòu)件、協(xié)作者構(gòu)件、接口構(gòu)件、服務(wù)提供者構(gòu)件、信息持有者構(gòu)件、構(gòu)造用構(gòu)件。 軟件體系結(jié)構(gòu)描述的內(nèi)容 149 軟件工程 2022 第五章 總體設(shè)計(jì) ? 構(gòu)件間的關(guān)系: 連接器 ( connector) ? 通常情況下連接器的具體表現(xiàn)形式:比如,過(guò)程調(diào)用(本地的、遠(yuǎn)程的)機(jī)制。也就是說(shuō), connector往往需要以(某層次)虛擬機(jī)的某種運(yùn)行機(jī)制來(lái)提供,而非以簡(jiǎn)單的模塊形式提供出來(lái),這往往增加了connector的隱蔽性,對(duì)識(shí)別與認(rèn)識(shí)connector造成一定困難。 軟件體系結(jié)構(gòu)描述的內(nèi)容 150 軟件工程 2022 第五章 總體設(shè)計(jì) ? 視圖:代表一個(gè)軟件體系結(jié)構(gòu)的部分方面,這個(gè)部分方面專門(mén)顯示一個(gè)軟件系統(tǒng)的特定屬性。 ? 軟件體系結(jié)構(gòu)的視圖描述方法之一: ? 概念上的體系結(jié)構(gòu):構(gòu)件、連接器 …… ? 模塊體系結(jié)構(gòu):子系統(tǒng)、模塊 …… ? 代碼體系結(jié)構(gòu):文件、目錄、庫(kù)、包含文件 …… ? 執(zhí)行體系結(jié)構(gòu):任務(wù)、線程、進(jìn)程 …… 軟件體系結(jié)構(gòu)描述的內(nèi)容 151 軟件工程 2022 第五章 總體設(shè)計(jì) ? 軟件體系結(jié)構(gòu)的視圖描述方法之二: ? 邏輯視圖:設(shè)計(jì)的對(duì)象模型或相應(yīng)的模型(如ER圖); ? 進(jìn)程視圖:并發(fā)和同步情況; ? 物理視圖:軟件到硬件的映射及其分布情況; ? 開(kāi)發(fā)視圖:在軟件開(kāi)發(fā)環(huán)境中的軟件靜態(tài)組織; 軟件體系結(jié)構(gòu)描述的內(nèi)容 152 軟件工程 2022 第五章 總體設(shè)計(jì) 軟件體系結(jié)構(gòu)風(fēng)格( SA Styles) 東方寺廟與西方教堂建筑風(fēng)格的不同 153 軟件工程 2022 第五章 總體設(shè)計(jì) ? 軟件體系結(jié)構(gòu)風(fēng)格 根據(jù)軟件系統(tǒng)的結(jié)構(gòu)定義了軟件系統(tǒng)族。它通過(guò)施加于構(gòu)件上的限制 及組成與設(shè)計(jì) 規(guī)則 來(lái)表現(xiàn)構(gòu)件和構(gòu)件間的關(guān)系。 ? 體系結(jié)構(gòu)風(fēng)格為一個(gè)軟件系統(tǒng)及怎樣建造該系統(tǒng)的相關(guān)方法表示了一種特殊的基本結(jié)構(gòu)。 軟件體系結(jié)構(gòu)風(fēng)格( SA Styles) 154 軟件工程 2022 第五章 總體設(shè)計(jì) ? Garlan和 Shaw對(duì)通用體系結(jié)構(gòu)風(fēng)格的分類: ① 數(shù)據(jù)流風(fēng)格:批處理序列;管道 /過(guò)濾器; ② 調(diào)用 /返回風(fēng)格:主程序 /子程序;面向?qū)ο箫L(fēng)格;層次結(jié)構(gòu); ③ 獨(dú)立構(gòu)件風(fēng)格:進(jìn)程通訊;事件系統(tǒng); ④ 虛擬機(jī)風(fēng)格:解釋器;基于規(guī)則的系統(tǒng); ⑤ 倉(cāng)庫(kù)風(fēng)格:數(shù)據(jù)庫(kù)系統(tǒng);黑板系統(tǒng); 軟件體系結(jié)構(gòu)風(fēng)格( SA Styles) 155 軟件工程 2022 第五章 總體設(shè)計(jì) ? 每種體系結(jié)構(gòu)風(fēng)格定義了: ? 一組構(gòu)件 :完成系統(tǒng)所需的某種功能; ? 一組連接件 :實(shí)現(xiàn)構(gòu)件間的 “ 通信、協(xié)調(diào)和合作 ” ; ? 約束 :定義構(gòu)件如何被集成到一起形成系統(tǒng); ? 語(yǔ)義模型 :使得設(shè)計(jì)者能夠通過(guò)分析系統(tǒng)的構(gòu)成成分的已知性質(zhì)而理解系統(tǒng)的整體性質(zhì)。 軟件體系結(jié)構(gòu)風(fēng)格( SA Styles) 156 軟件工程 2022 第五章 總體設(shè)計(jì) ? 每個(gè)構(gòu)件都有一組輸入和輸出,構(gòu)件讀輸入的數(shù)據(jù)流,經(jīng)過(guò)內(nèi)部處理,然后產(chǎn)生輸出數(shù)據(jù)流。這個(gè)過(guò)程通常通過(guò)對(duì)輸入流的變換及增量計(jì)算來(lái)完成,所以在輸入被完全消費(fèi)之前,輸出便產(chǎn)生了。因此,這里的構(gòu)件被稱為 過(guò)濾器 ( Filters)。 ? 連接件就象是數(shù)據(jù)流傳輸?shù)?管道( Pipes),將一個(gè)過(guò)濾器的輸出傳到另一過(guò)濾器的輸入 管道/過(guò)濾器風(fēng)格 157 軟件工程 2022 第五章 總體設(shè)計(jì) 管道/過(guò)濾器風(fēng)格 158 軟件工程 2022 第五章 總體設(shè)計(jì) ? 該風(fēng)格的限制條件: ? 過(guò)濾器必須是獨(dú)立的實(shí)體,它不能與其它的過(guò)濾器共享狀態(tài); ? 一個(gè)過(guò)濾器不知道它上游和下游的標(biāo)識(shí); ? 一個(gè)管道/過(guò)濾器網(wǎng)絡(luò)輸出的正確性不應(yīng)依賴于過(guò)濾器進(jìn)行增量計(jì)算過(guò)程的順序。 管道/過(guò)濾器風(fēng)格 159 軟件工程 2022 第五章 總體設(shè)計(jì) ? 該風(fēng)格的特例: ? pipelines:將拓?fù)浣Y(jié)構(gòu)限定為過(guò)濾器的線性結(jié)構(gòu)。 ? bounded pipes:限定了可以存在于一個(gè)管道上的數(shù)據(jù)量。 ? typed pipes:在兩個(gè)過(guò)濾器之間傳遞的數(shù)據(jù)具有特定的類型。 ? batch sequential:每個(gè)過(guò)濾器把它所有的輸入作為一個(gè)單一實(shí)體進(jìn)行處理。 ? 應(yīng)用: ? Unix shell ? 編譯器 管道/過(guò)濾器風(fēng)格 160 軟件工程 2022 第五章 總體設(shè)計(jì) ? 管道/過(guò)濾器風(fēng)格的優(yōu)點(diǎn): ? 使得軟構(gòu)件具有良好的隱蔽性和高內(nèi)聚、低耦合的特點(diǎn); ? 允許設(shè)計(jì)者將整個(gè)系統(tǒng)的輸入/輸出行為看成是多個(gè)過(guò)濾器的行為的簡(jiǎn)單合成; ? 支持軟件重用。只要提供適合在兩個(gè)過(guò)濾器之間傳送的數(shù)據(jù),任何兩個(gè)過(guò)濾器都可被連接起來(lái); ? 易于維護(hù)和增強(qiáng)系統(tǒng)。新的過(guò)濾器可以添加到現(xiàn)有系統(tǒng)中來(lái);舊的可以被改進(jìn)的過(guò)濾器替換掉; ? 允許對(duì)一些如吞吐量、死鎖等性質(zhì)的分析; ? 支持并行執(zhí)行。每個(gè)過(guò)濾器是作為一個(gè)單獨(dú)的任務(wù)完成,因此可與其它任務(wù)并行執(zhí)行。 管道/過(guò)濾器風(fēng)格 161 軟件工程 2022 第五章 總體設(shè)計(jì) ? 管道-過(guò)濾器風(fēng)格的缺點(diǎn): ? 通常導(dǎo)致進(jìn)程成為批處理的結(jié)構(gòu)。這是因?yàn)殡m然過(guò)濾器可增量地處理數(shù)據(jù),但它們是獨(dú)立的,所以設(shè)計(jì)者必須將每個(gè)過(guò)濾器看成一個(gè)完整的從輸入到輸出的轉(zhuǎn)換。 ? 不適合處理交互的應(yīng)用。當(dāng)需要增量地顯示改變時(shí),這個(gè)問(wèn)題尤為嚴(yán)重。 ? 因?yàn)樵跀?shù)據(jù)傳輸上沒(méi)有通用的標(biāo)準(zhǔn),每個(gè)過(guò)濾器都增加了解析和合成數(shù)據(jù)的工作,這樣就導(dǎo)致了系統(tǒng)性能下降,并增加了編寫(xiě)過(guò)濾器的復(fù)雜性。 管道/過(guò)濾器風(fēng)格 162 軟件工程 2022 第五章 總體設(shè)計(jì) ? 將數(shù)據(jù)的表示和相關(guān)操作封裝在一個(gè)抽象數(shù)據(jù)類型或?qū)ο笾小? ? 這種風(fēng)格的構(gòu)件是對(duì)象,或者說(shuō)是抽象數(shù)據(jù)類型的實(shí)例。 ? 對(duì)象是通過(guò)函數(shù)和過(guò)程的調(diào)用來(lái)交互的。 數(shù)據(jù)抽象與面向?qū)ο箫L(fēng)格 163 軟件工程 2022 第五章 總體設(shè)計(jì) ? 該風(fēng)格的兩個(gè)限制: ? 對(duì)象要負(fù)責(zé)保證其數(shù)據(jù)表示的完整性; ? 對(duì)象的數(shù)據(jù)表示對(duì)其他對(duì)象來(lái)說(shuō)是隱藏的。 數(shù)據(jù)抽象與面向?qū)ο箫L(fēng)格 164 軟件工程 2022 第五章 總體設(shè)計(jì) ? 面向?qū)ο箫L(fēng)格的優(yōu)點(diǎn): ? 因?yàn)閷?duì)象對(duì)其它對(duì)象隱藏它的表示,所以可以改變一個(gè)對(duì)象的表示,而不影響其使用者。 ? 由于訪問(wèn)數(shù)據(jù)的操作和數(shù)據(jù)的綁定使得設(shè)計(jì)者可將問(wèn)題分解成一些交互的代理程序的集合。 數(shù)據(jù)抽象與面向?qū)ο箫L(fēng)格 165 軟件工程 2022 第五章 總體設(shè)計(jì) ? 面向?qū)ο箫L(fēng)格的缺點(diǎn): ? 為了使一個(gè)對(duì)象和另一個(gè)對(duì)象通過(guò)過(guò)程調(diào)用等進(jìn)行交互,必須知道對(duì)象的 標(biāo)識(shí) 。只要一個(gè)對(duì)象的標(biāo)識(shí)改變了,就必須修改所有其他明確調(diào)用它的對(duì)象。 ? 必須修改所有顯式調(diào)用它的其它對(duì)象,并消除由此帶來(lái)的一些副作用。例如,如果 A使用了對(duì)象 B, C也使用了對(duì)象 B,那么, C對(duì) B的使用所造成的對(duì) A的影響可能是料想不到的。 數(shù)據(jù)抽象與面向?qū)ο箫L(fēng)格 166 軟件工程 2022 第五章 總體設(shè)計(jì) ? 基于事件的隱式調(diào)用( Implicit Invocation)風(fēng)格的思想是構(gòu)件 不直接調(diào)用 一個(gè)過(guò)程,而是 發(fā)布或廣播 一個(gè)或多個(gè)事件。 ? 系統(tǒng)中的其它構(gòu)件為它感興趣的事件 注冊(cè)過(guò)程 。 ? 當(dāng)一個(gè)事件被發(fā)布,系統(tǒng)自動(dòng)調(diào)用在這個(gè)事件中注冊(cè)的所有過(guò)程,這樣,一個(gè)事件的發(fā)布就 “ 隱式地 ” 激發(fā) 了另一模塊中的過(guò)程。 基于事件/隱式調(diào)用風(fēng)格 167 軟件工程 2022 第五章 總體設(shè)計(jì) ? 從體系結(jié)構(gòu)上說(shuō),這種風(fēng)格的構(gòu)件是一些模塊,這些模塊的接口既提供了一些 過(guò)程 ,也有一些 事件的集合 。過(guò)程可以用通用的方式調(diào)用,構(gòu)件也可以在系統(tǒng)事件中注冊(cè)一些過(guò)程,當(dāng)發(fā)生這些事件時(shí),過(guò)程被調(diào)用。 基于事件/隱式調(diào)用風(fēng)格 168 軟件工程 2022 第五章 總體設(shè)計(jì) ? 該風(fēng)格的特點(diǎn): ? 事件的發(fā)布者并不知道哪些構(gòu)件會(huì)被這些事件影響。這樣不能假定構(gòu)件的處理順序,甚至不知道哪些過(guò)程會(huì)被調(diào)用。 ? 應(yīng)用: ? 在編程環(huán)境中用于集成各種工具; ? 在數(shù)據(jù)庫(kù)管理系統(tǒng)中確保數(shù)據(jù)的一致性約束; ? 在用戶界面系統(tǒng)中管理數(shù)據(jù); ? 以及在編輯器中支持語(yǔ)法檢查。 ? 例如在某系統(tǒng)中,編輯器和變量監(jiān)視器可以登記(注冊(cè))相應(yīng) Debugger的斷點(diǎn)事件。當(dāng) Debugger在斷點(diǎn)處停下時(shí),它聲明該事件,有系統(tǒng)自動(dòng)調(diào)用對(duì)該事件感興趣的處理程序,如編輯程序可以卷屏到斷點(diǎn),變量監(jiān)視器刷新變量數(shù)值。而Debugger本身只聲明事件,不關(guān)心這些過(guò)程做什么處理。 基于事件/隱式調(diào)用風(fēng)格 169 軟件工程 2022 第五章 總體設(shè)計(jì) 170 軟件工程 2022 第五章 總體設(shè)計(jì) ? 隱式調(diào)用風(fēng)格的優(yōu)點(diǎn): ? 為軟件重用提供了強(qiáng)大的支持。當(dāng)需要將一個(gè)構(gòu)件加入現(xiàn)存系統(tǒng)中時(shí),只需將它注冊(cè)到系統(tǒng)的事件中。 ? 為改進(jìn)系統(tǒng)帶來(lái)了方便。當(dāng)用一個(gè)構(gòu)件代替另一個(gè)構(gòu)件時(shí),不會(huì)影響到其它構(gòu)件的接口。 基于事件/隱式調(diào)用風(fēng)格 171 軟件工程 2022 第五章 總體設(shè)計(jì) ? 缺點(diǎn): ? 構(gòu)件放棄了對(duì)系統(tǒng)計(jì)算的控制。 ? 數(shù)據(jù)交換的問(wèn)題。 ? 既然過(guò)程的語(yǔ)義必須依賴于被觸發(fā)事件的上下文約束,關(guān)于正確性的推理存在問(wèn)題。 基于事件/隱式調(diào)用風(fēng)格 172 軟件工程 2022 第五章 總體設(shè)計(jì) ? 層次系統(tǒng)( Layerd System)組織成一個(gè)層次結(jié)構(gòu), 每一層為上層服務(wù),并作為下層的客戶 。 ? 在一些層次系統(tǒng)中,除了一些精心挑選的用于輸出的函數(shù)外,內(nèi)部的層只對(duì)相鄰的外層可見(jiàn)。 ? 連接件由決定層間如何交互的 協(xié)議 來(lái)定義。 ? 拓?fù)浼s束是對(duì)相鄰層間交互的約束。 ? 應(yīng)用例子:分層通信協(xié)議、數(shù)據(jù)庫(kù)系統(tǒng)、操作系統(tǒng) …… 層次系統(tǒng)風(fēng)格 173 軟件工程 2022 第五章 總體設(shè)計(jì) 層次系統(tǒng)風(fēng)格 174 軟件工程 2022 第五章 總體設(shè)計(jì) ? 層次系統(tǒng)風(fēng)格的優(yōu)點(diǎn): ? 支持基于抽象程度遞增的系統(tǒng)設(shè)計(jì); ? 支持功能增強(qiáng); ? 支持重用。 ? 層次系統(tǒng)風(fēng)格的缺點(diǎn): ? 并不是每個(gè)系統(tǒng)都可以很容易地劃分為分層的模式; ? 很難找到一個(gè)合適的、正確的層次抽象方法。 層次系統(tǒng)風(fēng)格 175 軟件工程 2022 第五章 總體設(shè)計(jì) ? 兩種不同的構(gòu)件: ? 中央數(shù)據(jù)結(jié)構(gòu) 說(shuō)明當(dāng)前狀態(tài); ? 一組 獨(dú)立構(gòu)件 在中央數(shù)據(jù)存貯上執(zhí)行。 ? 兩個(gè)主要的子類別: ? 若是輸入流中的事務(wù)類型觸發(fā)選擇執(zhí)行進(jìn)程的,則倉(cāng)庫(kù)是 傳統(tǒng)型數(shù)據(jù)庫(kù) ; ? 若是中央數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)觸發(fā)選擇執(zhí)行進(jìn)程的,則倉(cāng)庫(kù)是一 黑板系統(tǒng) 。 倉(cāng)庫(kù)( Repositories)風(fēng)格 176 軟件工程 2022 第五章 總體設(shè)計(jì) 倉(cāng)庫(kù)( Repositories)風(fēng)格 177 軟件工程 2022 第五章 總體設(shè)計(jì) ? 黑板系統(tǒng)主要由三部分組成: ? 知識(shí)源 :知識(shí)源中包含獨(dú)立的、與應(yīng)用程序相關(guān)的知識(shí),知識(shí)源之間不直接進(jìn)行通訊,它們之間的交互只通過(guò)黑板來(lái)完成。 ? 黑板數(shù)據(jù)結(jié)構(gòu) :黑板數(shù)據(jù)是按照與應(yīng)用程序相關(guān)的層次來(lái)組織的問(wèn)題求解狀態(tài)數(shù)據(jù),知識(shí)源通過(guò)不斷地改變黑板數(shù)據(jù)來(lái)解決問(wèn)題。 ? 控制 :控制完全由黑板的狀態(tài)驅(qū)動(dòng),黑板狀態(tài)發(fā)生改變知識(shí)源就會(huì)響應(yīng)。 ? 應(yīng)用: ? 語(yǔ)音和模式識(shí)別系統(tǒng) 倉(cāng)庫(kù)( Repositories)風(fēng)格 178 軟件工程 2022 第五章 總體設(shè)計(jì) ? Interpreter takes a string of chara
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1