




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
湖南農(nóng)業(yè)大學(xué)課程論文學(xué)院:班級(jí):姓名:學(xué)號(hào):課程論文題目:軟件架構(gòu)綜述課程名稱:高級(jí)軟件架構(gòu)評(píng)閱成績(jī):評(píng)閱意見:成績(jī)?cè)u(píng)定教師簽名:日期:年月日軟件架構(gòu)綜述學(xué)生:黃鴻江(信科院學(xué)院10級(jí)計(jì)算機(jī)軟件2班班級(jí),學(xué)號(hào)201041842322)摘要:軟件構(gòu)架是一個(gè)容易理解的概念,多數(shù)工程師(尤其是經(jīng)驗(yàn)不多的工程師)會(huì)從直覺上來認(rèn)識(shí)它,但要給出精確的定義很困難。特別是,很難明確地區(qū)分設(shè)計(jì)和構(gòu)架:構(gòu)架屬于設(shè)計(jì)的一方面,它集中于某些具體的特征。關(guān)鍵詞:軟件架構(gòu)、架構(gòu)風(fēng)格、目標(biāo)什么是軟件架構(gòu)?1.1軟件架構(gòu)的定義軟件架構(gòu)(software
architecture)是一個(gè)系統(tǒng)的草圖,是一系列相關(guān)的抽象模式,用于指導(dǎo)大型軟件系統(tǒng)各個(gè)方面的設(shè)計(jì)。軟件架構(gòu)描述的對(duì)象是直接構(gòu)成系統(tǒng)的抽象組件。在實(shí)現(xiàn)階段,這些抽象組件被細(xì)化為實(shí)際的組件,比如具體某個(gè)類或者對(duì)象。
軟件構(gòu)架是一個(gè)容易理解的概念,多數(shù)工程師(尤其是經(jīng)驗(yàn)不多的工程師)會(huì)從直覺上來認(rèn)識(shí)它,但要給出精確的定義很困難。特別是,很難明確地區(qū)分設(shè)計(jì)和構(gòu)架:構(gòu)架屬于設(shè)計(jì)的一方面,它集中于某些具體的特征。
在“軟件構(gòu)架簡(jiǎn)介”一書中,David
GArlan
和
Mary
Shaw
認(rèn)為軟件構(gòu)架是有關(guān)如下問題的設(shè)計(jì)層次:“在計(jì)算的算法和數(shù)據(jù)結(jié)構(gòu)之外,設(shè)計(jì)并確定系統(tǒng)整體結(jié)構(gòu)成為了新的問題。結(jié)構(gòu)問題包括總體組織結(jié)構(gòu)和全局控制結(jié)構(gòu);通信、同步和數(shù)據(jù)訪問的協(xié)議;設(shè)計(jì)元素的功能分配;物理分布;設(shè)計(jì)元素的組成;定標(biāo)與性能;備選設(shè)計(jì)的選擇。”1.2研究背景在經(jīng)歷60年代的軟件危機(jī)之后,使人們開始重視軟件工程的研究。來自不同應(yīng)用領(lǐng)域的軟件專家總結(jié)了大量的有價(jià)值的知識(shí).
當(dāng)初,人們把軟件設(shè)計(jì)的重點(diǎn)放在數(shù)據(jù)結(jié)構(gòu)和算法的選擇上,如Knuth提出了數(shù)據(jù)結(jié)構(gòu)+算法=程序.
但是隨著軟件系統(tǒng)規(guī)模越來越大、越來越復(fù)雜,使軟件系統(tǒng)的架構(gòu)越來越重要。軟件危機(jī)的程度日益加劇,現(xiàn)有的軟件工程方法對(duì)此顯得力不從心。對(duì)于大規(guī)模的復(fù)雜軟件系統(tǒng)來說,軟件體系架構(gòu)比起對(duì)程序的算法和數(shù)據(jù)結(jié)構(gòu)的選擇已經(jīng)變得明顯重要得多。在此種背景下,人們認(rèn)識(shí)到軟件體系架構(gòu)的重要性,并認(rèn)為對(duì)軟件體系架構(gòu)系統(tǒng)、深入的研究將會(huì)成為提高軟件生產(chǎn)效率和解決軟件危機(jī)的最有希望的途徑。2、架構(gòu)的目標(biāo)正如同軟件本身有其要達(dá)到的目標(biāo)一樣,架構(gòu)設(shè)計(jì)要達(dá)到的目標(biāo)是什么呢?一般而言,軟件架構(gòu)設(shè)計(jì)要達(dá)到如下的目標(biāo):·可靠性(Reliable)。軟件系統(tǒng)對(duì)于用戶的商業(yè)經(jīng)營(yíng)和管理來說極為重要,因此軟件系統(tǒng)必須非??煽俊!ぐ踩校⊿ecure)。軟件系統(tǒng)所承擔(dān)的交易的商業(yè)價(jià)值極高,系統(tǒng)的安全性非常重要?!た蓴U(kuò)展性(SCAlable)。軟件必須能夠在用戶的使用率、用戶的數(shù)目增加很快的情況下,保持合理的性能。只有這樣,才能適應(yīng)用戶的市場(chǎng)擴(kuò)展得可能性。·可定制化(CuSTomizable)。同樣的一套軟件,可以根據(jù)客戶群的不同和市場(chǎng)需求的變化進(jìn)行調(diào)整。·可擴(kuò)展性(Extensible)。在新技術(shù)出現(xiàn)的時(shí)候,一個(gè)軟件系統(tǒng)應(yīng)當(dāng)允許導(dǎo)入新技術(shù),從而對(duì)現(xiàn)有系統(tǒng)進(jìn)行功能和性能的擴(kuò)展·可維護(hù)性(MAIntainable)。軟件系統(tǒng)的維護(hù)包括兩方面,一是排除現(xiàn)有的錯(cuò)誤,二是將新的軟件需求反映到現(xiàn)有系統(tǒng)中去。一個(gè)易于維護(hù)的系統(tǒng)可以有效地降低技術(shù)支持的花費(fèi)·客戶體驗(yàn)(CustomerExperience)。軟件系統(tǒng)必須易于使用?!な袌?chǎng)時(shí)機(jī)(TimetoMarket)。軟件用戶要面臨同業(yè)競(jìng)爭(zhēng),軟件提供商也要面臨同業(yè)競(jìng)爭(zhēng)。以最快的速度爭(zhēng)奪市場(chǎng)先機(jī)非常重要。3、架構(gòu)的種類根據(jù)我們關(guān)注的角度不同,可以將架構(gòu)分成三種:·邏輯架構(gòu):軟件系統(tǒng)中元件之間的關(guān)系,比如用戶界面,數(shù)據(jù)庫,外部系統(tǒng)接口,商業(yè)邏輯元件,等等。·物理架構(gòu):軟件元件是怎樣放到硬件上的?!は到y(tǒng)架構(gòu):系統(tǒng)的非功能性特征,如可擴(kuò)展性、可靠性、強(qiáng)壯性、靈活性、性能等。3.1架構(gòu)可分為四個(gè)層次:
3.1.1硬件通訊層
這一層是一些直接與硬件設(shè)備通訊的對(duì)象,這里包括一個(gè)與機(jī)器人主體的數(shù)據(jù)交流的串口通訊對(duì)象。這一層是直接與機(jī)器人下位機(jī)打交道的,相當(dāng)于機(jī)器人底層下位機(jī)的“驅(qū)動(dòng)程序”。用戶通過這一層與機(jī)器人的全部硬件進(jìn)行交互。視頻捕捉因?yàn)閷?duì)通信速率要求很高,通過USB連接,所以其設(shè)備對(duì)象與機(jī)器人主體獨(dú)立開。
3.1.2指令協(xié)議解析層
這一層是機(jī)器人控制架構(gòu)的核心,指令協(xié)議對(duì)象將進(jìn)行機(jī)器人實(shí)體控制指令的編制以以及對(duì)下位機(jī)返回的傳感器數(shù)據(jù)和機(jī)器人狀態(tài)數(shù)據(jù)的解析轉(zhuǎn)換。
3.1.3行為層
這一層是一些抽象行為的對(duì)象,這些對(duì)象通過對(duì)協(xié)議對(duì)象的傳感器數(shù)據(jù)進(jìn)行局部的行為規(guī)劃,并操作協(xié)議對(duì)象向機(jī)器人底層發(fā)送控制指令。
值得注意的是這一層雖然并存了很多對(duì)象,但是同一時(shí)刻只能允許一個(gè)行為對(duì)象與協(xié)議對(duì)象連接,以避免出現(xiàn)行為混亂的情形。機(jī)器人的各種行為切換通過改變與協(xié)議層連接的行為對(duì)象來實(shí)現(xiàn),這種切換操作可以由當(dāng)前活動(dòng)行為進(jìn)行,也可由決策層對(duì)象來進(jìn)行。
3.1.4決策層
決策層是機(jī)器人本地的最高層,仲裁決策對(duì)象通過本地傳感器數(shù)據(jù)、機(jī)器人運(yùn)行狀態(tài)以及遠(yuǎn)程端發(fā)來的指令數(shù)據(jù)進(jìn)行各種行為的組織。他即可以直接操作協(xié)議層對(duì)象發(fā)送機(jī)器人控制指令,也能通過行為對(duì)象的切換間接控制機(jī)器人的運(yùn)行。
目前決策層提供的一些基本決策算法包括:
u
人工勢(shì)場(chǎng)法,基于機(jī)器人機(jī)載的聲納環(huán),主要用于路徑規(guī)劃過程中的突發(fā)性避障;
u
“點(diǎn)到點(diǎn)”PID規(guī)劃,即采用PID調(diào)節(jié)器盡可能保證準(zhǔn)確的“點(diǎn)到點(diǎn)”路線移動(dòng)。u
FIR濾波器;
u
Carlman濾波器;(以上兩個(gè)濾波器為通用濾波器,經(jīng)過派生,可在程序中用于各種數(shù)據(jù)的處理。4、架構(gòu)的風(fēng)格軟件體系結(jié)構(gòu)風(fēng)格(有時(shí)候也叫架構(gòu)模式)是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式,是為一個(gè)系統(tǒng)提供的一系列抽象框架。它反映了領(lǐng)域中眾多系統(tǒng)所共有的結(jié)構(gòu)和語義特性,并指導(dǎo)如何將各個(gè)模塊和子系統(tǒng)有效地組織成一個(gè)完整的系統(tǒng)。架構(gòu)風(fēng)格通過為經(jīng)常發(fā)生的問題提供解決方案,來提高設(shè)計(jì)重用和改善程序結(jié)構(gòu)。按這種方式理解,軟件體系結(jié)構(gòu)風(fēng)格定義了用于描述系統(tǒng)的術(shù)語表和一組指導(dǎo)構(gòu)件系統(tǒng)的規(guī)則。4.1通用軟件體系結(jié)構(gòu)風(fēng)格總結(jié)為以下幾類:4.1.1.數(shù)據(jù)流風(fēng)格:批處理序列;管道過濾器。2.調(diào)用返回風(fēng)格:主程序子程序;面向?qū)ο箫L(fēng)格;層次結(jié)構(gòu)。3.獨(dú)立構(gòu)件風(fēng)格:進(jìn)程通訊;事件系統(tǒng)。4.虛擬機(jī)風(fēng)格:解釋器;基于規(guī)則的系統(tǒng)。5.倉庫風(fēng)格:數(shù)據(jù)庫系統(tǒng);超文本系統(tǒng);黑板系統(tǒng)。4.2幾種主要的和經(jīng)典的體系結(jié)構(gòu)風(fēng)格:4.2.1.C2風(fēng)格。C2風(fēng)格是最常用的一種軟件體系結(jié)構(gòu)風(fēng)格,該體系結(jié)構(gòu)風(fēng)格可以概括為:通過連接件綁定在一起的按照一組規(guī)則運(yùn)作的并行構(gòu)件網(wǎng)絡(luò)。4.2.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ù)和過程的調(diào)用來交互的。4.2.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)用。4.2.4.管道/過濾器風(fēng)格。在管道/過濾器風(fēng)格的軟件體系結(jié)構(gòu)中,每個(gè)構(gòu)件都有一組輸入和輸出,構(gòu)件讀輸入的數(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è)過濾器的輸出傳到另一過濾器的輸入。4.2.5.批處理風(fēng)格。批處理風(fēng)格的每一步處理都是獨(dú)立的,并且每一步是順序執(zhí)行的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 統(tǒng)編版三年級(jí)語文下冊(cè)第三單元達(dá)標(biāo)測(cè)試卷(含答案)
- 2019-2025年軍隊(duì)文職人員招聘之軍隊(duì)文職法學(xué)題庫檢測(cè)試卷A卷附答案
- 2019-2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識(shí)題庫練習(xí)試卷B卷附答案
- 2019-2025年軍隊(duì)文職人員招聘之軍隊(duì)文職管理學(xué)與服務(wù)通關(guān)提分題庫及完整答案
- 2025年軍隊(duì)文職人員招聘之軍隊(duì)文職教育學(xué)題庫檢測(cè)試卷A卷附答案
- 初二壓強(qiáng)物理試題及答案
- 螺螄粉專業(yè)知識(shí)培訓(xùn)課件
- 2025年大學(xué)生防詐騙知識(shí)競(jìng)賽題庫及答案(一)
- 從愚公移山看堅(jiān)持與毅力作文
- 《初識(shí)高中物理實(shí)驗(yàn):運(yùn)動(dòng)與力的教學(xué)計(jì)劃》
- 五步三查”流程規(guī)范要求ppt課件
- 三打白骨精英語話劇劇本
- 高嶺土化驗(yàn)檢測(cè)分析報(bào)告
- 商業(yè)銀行綜合柜臺(tái)業(yè)務(wù)(共227頁).ppt
- 廢舊物資回收服務(wù)實(shí)施方案
- 電力建設(shè)工程質(zhì)量監(jiān)督檢查大綱新版
- 四“借”三“有”寫清楚實(shí)驗(yàn)過程——三下“我做了一項(xiàng)小實(shí)驗(yàn)”習(xí)作教學(xué)
- 呼吸困難完全PPT課件
- 中國(guó)春節(jié)習(xí)俗簡(jiǎn)介0001
- 高二數(shù)學(xué)教學(xué)進(jìn)度計(jì)劃表
- 規(guī)章制度匯編結(jié)構(gòu)格式標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論