



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、幾種軟件體系構(gòu)造風(fēng)格闡述幾種軟件體系構(gòu)造風(fēng)格闡述 幾種軟件體系構(gòu)造風(fēng)格闡述 幾種軟件體系構(gòu)造風(fēng)格闡述20世紀(jì)60年代中期的軟件危機(jī)使得人們開始重視軟件工程的研究。起初,人們把軟件設(shè)計(jì)的重點(diǎn)放在數(shù)據(jù)構(gòu)造和算法的選擇上。隨著軟件系統(tǒng)規(guī)模越來越大、越來越復(fù)雜,整個(gè)系統(tǒng)的構(gòu)造顯得越來越重要。一、軟件體系構(gòu)造風(fēng)格分析最初的軟件體系構(gòu)造是Mainframe構(gòu)造客戶、數(shù)據(jù)和程序都被集中在主機(jī)上,通常只有少量的GUI界面,對(duì)遠(yuǎn)程數(shù)據(jù)庫的訪問比較困難。隨著PC的廣泛應(yīng)用,該構(gòu)造逐漸被淘汰。在20世紀(jì)80年代中期出現(xiàn)了Client/Server分布式計(jì)算構(gòu)造,應(yīng)用程序的處理在客戶機(jī)和效勞器之間分擔(dān)。隨著大型軟件系
2、統(tǒng)的開發(fā),這種構(gòu)造在系統(tǒng)的部署和擴(kuò)展性方面暴漏出缺乏。隨著Internet的開展,一個(gè)更靈敏的體系構(gòu)造“三層/多層計(jì)算體系構(gòu)造應(yīng)運(yùn)而生。Garlan和Shaw將通用軟件體系構(gòu)造風(fēng)格總結(jié)為以下幾類: 下面將介紹幾種主要和經(jīng)典的體系構(gòu)造風(fēng)格和它們的優(yōu)缺點(diǎn)。 C2風(fēng)格是最常用的一種軟件體系構(gòu)造風(fēng)格。從C2風(fēng)格的組織規(guī)那么和構(gòu)造圖中,我們可以得出,C2風(fēng)格具有以下特點(diǎn): 2.數(shù)據(jù)抽象和面向?qū)ο箫L(fēng)格。目前軟件界已普遍轉(zhuǎn)向使用面向?qū)ο笙到y(tǒng),抽象數(shù)據(jù)類型概念對(duì)軟件系統(tǒng)有著重要作用。這種風(fēng)格的構(gòu)件是對(duì)象,或者說是抽象數(shù)據(jù)類型的實(shí)例。對(duì)象是一種被稱作管理者的構(gòu)件,因?yàn)樗?fù)責(zé)保持資源的完好性。對(duì)象是通過函數(shù)和過程
3、的調(diào)用來交互的。圖2是數(shù)據(jù)抽象和面向?qū)ο箫L(fēng)格的示意圖。面向?qū)ο蟮南到y(tǒng)有許多的優(yōu)點(diǎn): 3.基于事件的隱式調(diào)用風(fēng)格。基于事件的隱式調(diào)用風(fēng)格的思想是構(gòu)件不直接調(diào)用一個(gè)過程,而是觸發(fā)或播送一個(gè)或多個(gè)事件。系統(tǒng)中的其他構(gòu)件中的過程在一個(gè)或多個(gè)事件中注冊(cè),當(dāng)一個(gè)事件被觸發(fā),系統(tǒng)自動(dòng)調(diào)用在這個(gè)事件中注冊(cè)的所有過程,這樣,一個(gè)事件的觸發(fā)就導(dǎo)致了另一模塊中的過程的調(diào)用?;谑录碾[式調(diào)用風(fēng)格的主要特點(diǎn)是事件的觸發(fā)者并不知道哪些構(gòu)件會(huì)被這些事件影響。這樣不能假定構(gòu)件的處理順序,甚至不知道哪些過程會(huì)被調(diào)用。隱式調(diào)用系統(tǒng)的主要優(yōu)點(diǎn)有:(1)為軟件重用提供了強(qiáng)大的支持。當(dāng)需要將一個(gè)構(gòu)件參加現(xiàn)存系統(tǒng)中時(shí),只需將它注冊(cè)到系
4、統(tǒng)的事件中。(2)為改進(jìn)系統(tǒng)帶來了方便。當(dāng)用一個(gè)構(gòu)件代替另一個(gè)構(gòu)件時(shí),不會(huì)影響到其他構(gòu)件的接口。隱式調(diào)用系統(tǒng)的主要缺點(diǎn)有:構(gòu)件放棄了對(duì)系統(tǒng)計(jì)算的控制。一個(gè)構(gòu)件觸發(fā)一個(gè)事件時(shí),不能確定其他構(gòu)件是否會(huì)響應(yīng)它。而且即使它知道事件注冊(cè)了哪些構(gòu)件的構(gòu)成,它也不能保證這些過程被 調(diào)用的順序。數(shù)據(jù)交換的問題。有時(shí)數(shù)據(jù)可被一個(gè)事件傳遞,但另一些情況下,基于事件的系統(tǒng)必須依靠一個(gè)共享的倉庫進(jìn)展交互。在這些情況下,全局性能和資源管理便成了問題。既然過程的語義必須依賴于被觸發(fā)事件的上下文約束,關(guān)于正確性的推理存在問題。 4.管道/過濾器風(fēng)格。在管道/過濾器風(fēng)格的軟件體系構(gòu)造中,每個(gè)構(gòu)件都有一組輸入和輸出,構(gòu)件讀輸入
5、的數(shù)據(jù)流,經(jīng)過內(nèi)部處理,然后產(chǎn)生輸出數(shù)據(jù)流。這個(gè)過程通常通過對(duì)輸入流的變換及增量計(jì)算來完成,所以在輸入被完全消費(fèi)之前,輸出便產(chǎn)生了。因此,這里的構(gòu)件被稱為過濾器,這種風(fēng)格的連接件就象是數(shù)據(jù)流傳輸?shù)墓艿?將一個(gè)過濾器的輸出傳到另一過濾器的輸入。圖3是管道/過濾器風(fēng)格的示意圖。管道/過濾器風(fēng)格的軟件體系構(gòu)造的優(yōu)點(diǎn): 5.批處理風(fēng)格。批處理風(fēng)格的每一步處理都是獨(dú)立的,并且每一步是順序執(zhí)行的,只有當(dāng)前一步處理完后,后一步處理才能開始,數(shù)據(jù)傳送在步與步之間作為一個(gè)整體。批處理的典型應(yīng)用是經(jīng)典數(shù)據(jù)處理和程序開發(fā)。批處理風(fēng)格與管道過濾器風(fēng)格的共同點(diǎn)是把任務(wù)分解成一系列固定順序的計(jì)算單元(組件),組件間只通過
6、數(shù)據(jù)傳遞交互。區(qū)別表如今以下幾個(gè)方面:批處理是全部的、高埋伏性的、輸入時(shí)可隨機(jī)存取、無合作性、無交互性,管道過、濾器是遞增的、數(shù)據(jù)結(jié)果延遲小、輸入時(shí)處理局部化、有反響、可交互。6.倉庫風(fēng)格。在倉庫風(fēng)格中,有兩種不同的構(gòu)件:中央數(shù)據(jù)構(gòu)造說明當(dāng)前狀態(tài),獨(dú)立構(gòu)件在中央數(shù)據(jù)存貯上執(zhí)行,倉庫與外構(gòu)件間的互相作用在系統(tǒng)中會(huì)有大的變化。假設(shè)輸入流中某類時(shí)間觸發(fā)進(jìn)程執(zhí)行的選擇,那么倉庫是一傳統(tǒng)型數(shù)據(jù)庫;另一方面,假設(shè)中央數(shù)據(jù)構(gòu)造的當(dāng)前狀態(tài)觸發(fā)進(jìn)程執(zhí)行的選擇,那么倉庫是一黑板系統(tǒng)。二、三層C/S軟件體系構(gòu)造分析C/S軟件體系構(gòu)造是20世紀(jì)90年代成熟起來的技術(shù),它將應(yīng)用一分為二,效勞器(后臺(tái))負(fù)責(zé)數(shù)據(jù)管理,客戶
7、機(jī)(前臺(tái))完成與用戶的交互任務(wù)。 表示層是應(yīng)用的用戶接口局部,它擔(dān)負(fù)著用戶與應(yīng)用間的對(duì)話功能。表示層一般使用圖形用戶接口,操作簡單、易學(xué)易用。功能層相當(dāng)于應(yīng)用的本體,它是將詳細(xì)的業(yè)務(wù)處理邏輯編入程序中。功能層的程序多半是用可視化編程工具開發(fā)的。數(shù)據(jù)層就是數(shù)據(jù)庫管理系統(tǒng),負(fù)責(zé)管理對(duì)數(shù)據(jù)庫數(shù)據(jù)的讀寫。數(shù)據(jù)庫管理系統(tǒng)必須能迅速執(zhí)行大量數(shù)據(jù)的更新和檢索。因此,一般從功能層傳送到數(shù)據(jù)層的要求大都使用SQL語言。對(duì)二層C/S構(gòu)造的局限,三層C/S的解決方案是:對(duì)這三層進(jìn)展明確分割,并在邏輯上使其獨(dú)立。與傳統(tǒng)的二層構(gòu)造相比,三層C/S構(gòu)造具有以下優(yōu)點(diǎn): 軟件體系構(gòu)造風(fēng)格為大粒度的軟件重用提供了可能。然而,對(duì)于應(yīng)用體系構(gòu)造風(fēng)格來說,由于視點(diǎn)的不同,系統(tǒng)設(shè)計(jì)師有很大的選擇空間。要為系統(tǒng)選擇或設(shè)計(jì)某一個(gè)體系構(gòu)造風(fēng)格,必須根據(jù)特
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- JG/T 183-2011住宅整體衛(wèi)浴間
- JG/T 118-2018建筑隔震橡膠支座
- HY/T 0395-2024海洋生態(tài)預(yù)警監(jiān)測(cè)區(qū)域命名與站位編號(hào)規(guī)則
- GB/T 31280-2022品牌價(jià)值評(píng)價(jià)酒、飲料和精制茶制造業(yè)
- DZ/T 0274-2015地質(zhì)數(shù)據(jù)庫建設(shè)規(guī)范的結(jié)構(gòu)與編寫
- DZ/T 0059-1993沙漠地區(qū)工程地質(zhì)調(diào)查技術(shù)要求(比例尺1∶10萬~1∶50萬)
- CJ/T 406-2012不銹鋼水嘴
- CJ/T 243-2016建設(shè)事業(yè)集成電路(IC)卡產(chǎn)品檢測(cè)
- 跨境網(wǎng)絡(luò)法規(guī)挑戰(zhàn)及解決方案試題及答案
- 系統(tǒng)集成項(xiàng)目計(jì)劃管理試題及答案
- 水利安全風(fēng)險(xiǎn)防控“六項(xiàng)機(jī)制”與安全生產(chǎn)培訓(xùn)
- AI在知識(shí)庫領(lǐng)域的應(yīng)用
- 國開(陜西)2024年秋《社會(huì)調(diào)查》形考作業(yè)1-4答案
- DZ/T 0430-2023 固體礦產(chǎn)資源儲(chǔ)量核實(shí)報(bào)告編寫規(guī)范(正式版)
- 國際法-海洋法課件
- 新農(nóng)乳業(yè)設(shè)備作業(yè)指導(dǎo)書
- 幼兒園繪本故事:《這是我的》 課件
- 機(jī)械類畢業(yè)設(shè)計(jì)外文翻譯
- 2022年淮南市人民醫(yī)院醫(yī)護(hù)人員招聘筆試模擬試題及答案解析
- 如何提升企業(yè)的生命力
- 設(shè)備技術(shù)保密協(xié)議
評(píng)論
0/150
提交評(píng)論