版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件架構(gòu)(SoftwareArchutectureSA)描述了軟件系統(tǒng)的高層整體框架。清晰的軟件架構(gòu)促進(jìn)了更加有效的軟件設(shè)計(jì),程序理解,形式化分析以及軟件生產(chǎn)線的構(gòu)建。為了支持對于軟件架構(gòu)的清晰描述以及在具體實(shí)現(xiàn)中進(jìn)行架構(gòu)推理(ArchitecturalReasoning),一系列架構(gòu)定義語言(ArchitectureDefinitionLanguagesADL)被設(shè)計(jì)出來對系統(tǒng)建模,架構(gòu)描述,以及完成對架構(gòu)與實(shí)現(xiàn)代碼的一致性檢驗(yàn)。
2、 目前存在的ADL對于具體實(shí)現(xiàn)的處理上主要可以分為兩大類:一類的ADL只負(fù)責(zé)架構(gòu)的抽象定義,并不考慮任何與實(shí)現(xiàn)有關(guān)的問題。在這種情況下,具體的實(shí)現(xiàn)只好通過程序員或是軟件工程師自己對于架構(gòu)的理解來完成,無任何的強(qiáng)制手段。結(jié)果就是導(dǎo)致架構(gòu)與實(shí)現(xiàn)的耦合過于松散,實(shí)現(xiàn)中也反映不出架構(gòu)來,其結(jié)果是對于軟件開發(fā)過程無多少實(shí)際意義。第二類的ADL則走向另一個(gè)極端,這類以ArchJava為代表的ADL將實(shí)現(xiàn)與架構(gòu)抽象緊密地結(jié)合,將它們統(tǒng)一在一種語言
3、中。這種ADL在語言中使用一個(gè)強(qiáng)大的類型系統(tǒng),使用類型檢查來強(qiáng)制架構(gòu)與抽象的統(tǒng)一。然而,這樣的ADL卻無法提供給設(shè)計(jì)人員來定義和設(shè)計(jì)架構(gòu)抽象,因?yàn)樵谠O(shè)計(jì)階段,具體的實(shí)現(xiàn)代碼顯然不會(huì)存在。 目前對于軟件架構(gòu)的研究中還存在著另外一方面的問題。軟件架構(gòu)中所定義的組件具有兩種不同的特性:作為SA中的基本元素,它們之間的通訊必須嚴(yán)格地遵循架構(gòu)限制。另一方面,作為基于組件的軟件開發(fā)的構(gòu)成元素,它們和一般的組件一樣,也必須擁有可以被獨(dú)立開發(fā),
4、并支持滯后的第三方集成(Latethirdpartyintegration)的靈活性。這兩方面問題都非常的重要,因?yàn)椴粷M足架構(gòu)限制,SA在軟件開發(fā)中毫無意義;然而如果架構(gòu)中的組件不具有可以獨(dú)立開發(fā)的靈活性,那么SA無法被真正到應(yīng)用到實(shí)用中去。然而,目前對于這兩方面的研究往往分開進(jìn)行,無任何聯(lián)系。對于任何一個(gè)問題所提出的解決方案根本無法來應(yīng)用于解決另一個(gè)問題。這給SA的應(yīng)用帶來了極大的阻礙。在本文中,作者試圖將此兩個(gè)問題結(jié)合在一起考慮。本
5、文首先提出了一個(gè)新穎的設(shè)計(jì)模式triple-C模式(Component-C-ommunicate-through-Connector),此模式不但強(qiáng)調(diào)了實(shí)現(xiàn)必須完全遵循架構(gòu)定義,而且首次把架構(gòu)中定義的組件也必須擁有可以被獨(dú)立開發(fā)的靈活性這一問題在軟件架構(gòu)的研究領(lǐng)域提出。此模式建議不但架構(gòu)中定義的組件必須被實(shí)現(xiàn),架構(gòu)抽象中的組件間連接關(guān)系(connection)也應(yīng)被在實(shí)現(xiàn)中得以體現(xiàn)。實(shí)現(xiàn)中組件的通訊不應(yīng)存在直接的client-serve
6、r關(guān)系,而是通過被實(shí)現(xiàn)的軟件連接子1(SoftwareConnector)來傳遞完成。 基于triple-C模式,作者設(shè)計(jì)了一種新型的架構(gòu)定義語言JCMPL,來支持抽象架構(gòu)的描述。JCMPL僅僅定義抽象,不牽涉任何實(shí)現(xiàn)內(nèi)容,因此完全適用于SA的設(shè)計(jì)。同時(shí),作者還開發(fā)了工具集JCMP,來編譯JCMPL語言,產(chǎn)生基于triple-C模式的實(shí)現(xiàn)代碼(本文中的實(shí)現(xiàn)代碼為Java代碼),完成自動(dòng)的接口匹配、檢查,最終實(shí)現(xiàn)代碼與抽象定義的一
7、致性。本文介紹了如何保證基于triple-C模式的實(shí)現(xiàn)與JCMPL所定義的架構(gòu)一致性,以及如何支持基于triple-C模式組件的獨(dú)立開發(fā)的方法。由于基于triple-C模式的實(shí)現(xiàn)更加清晰和真實(shí)地反映了架構(gòu)抽象,JCMP工具集還提供了JCMP/Miner的工具來動(dòng)態(tài)地從已經(jīng)存在的組件實(shí)現(xiàn)中提取出架構(gòu)定義,這也將極大地促進(jìn)組件的復(fù)用以及軟件架構(gòu)在軟件工業(yè)中的應(yīng)用。本文的最后,作者將方案應(yīng)用于實(shí)際系統(tǒng)中,并在其功能與性能上做出了評估。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一種軟件質(zhì)量控制支持工具的研究與實(shí)現(xiàn).pdf
- 基于基本分析的一種選股策略及其軟件實(shí)現(xiàn).pdf
- 一種基于JTAG的處理器調(diào)試軟件架構(gòu)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 一種支持業(yè)務(wù)流程可變性的軟件模型的研究與實(shí)現(xiàn).pdf
- 一種軟件自動(dòng)測試工具的研究與實(shí)現(xiàn).pdf
- 一種基于SCA的ETL架構(gòu)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 一種基于HLA的仿真架構(gòu)的研究與實(shí)現(xiàn).pdf
- 一種串口FLASH量產(chǎn)工具系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn).pdf
- 一種基于FPGA的MPSoC架構(gòu)的設(shè)計(jì)方法與實(shí)現(xiàn).pdf
- 一種敏捷的Web軟件快速開發(fā)工具的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 一種AADL建模工具的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 一種基于SOA架構(gòu)實(shí)現(xiàn)異構(gòu)數(shù)據(jù)集成的研究與實(shí)現(xiàn).pdf
- 一種基于DirectShow架構(gòu)的視頻錄播方案的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 一種基于多元模型的支持多建模語言的工作流管理系統(tǒng).pdf
- 一種基于內(nèi)容的圖像檢索語言的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 支持組件復(fù)用的組件組裝工具的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 一種IOS移動(dòng)應(yīng)用軟件測試工具的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 一種通訊軟件自動(dòng)化測試工具的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 一種基于MVC架構(gòu)的SIP軟終端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 一種基于邊界調(diào)節(jié)的支持向量機(jī)模型.pdf
評論
0/150
提交評論