版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件體系結(jié)構(gòu)研究綜述 摘要: 近年來(lái),軟件體系結(jié)構(gòu)逐漸成為軟件工程領(lǐng)域的研究熱點(diǎn)以及大型軟件系統(tǒng)與軟件產(chǎn)品線開(kāi)發(fā)中的關(guān)鍵技術(shù)之一.歸納了軟件體系結(jié)構(gòu)技術(shù)發(fā)展過(guò)程及其主要研究方向.在分析了典型的軟件體系結(jié)構(gòu)概念之后,給出了軟件體系結(jié)構(gòu)的定義.通過(guò)總結(jié)軟件體系結(jié)構(gòu)領(lǐng)域的若干研究活動(dòng),提出了軟件體系結(jié)構(gòu)研究的兩大思路,并從 7 個(gè)方面介紹了軟件體系結(jié)構(gòu)研究進(jìn)展.探討了軟件體系結(jié)構(gòu)研究中的不足之處,并分析其原因.作為總結(jié),給出了軟件體系結(jié)構(gòu)領(lǐng)域最有前途的發(fā)展趨勢(shì). 關(guān) 鍵 詞: 軟件體系結(jié)構(gòu);基于體系結(jié)構(gòu)的軟件開(kāi)發(fā);軟件體系結(jié)構(gòu)描述語(yǔ)言;軟件體系結(jié)構(gòu)描述方法;軟件體系結(jié)構(gòu)演化;軟件體系結(jié)構(gòu)發(fā)現(xiàn);軟件體
2、系結(jié)構(gòu)分析;軟件體系結(jié)構(gòu)驗(yàn)證;特定域軟件體系結(jié)構(gòu)(DSSA)目錄1 軟件體系結(jié)構(gòu)起源與發(fā)展31.1 軟件體系結(jié)構(gòu)研究的必要性和重要意義3 1.2 軟件體系結(jié)構(gòu)的發(fā)展史3 1.3 體系結(jié)構(gòu)的主要研究方向52 軟件體系結(jié)構(gòu)的研究現(xiàn)狀52.1 軟件體系結(jié)構(gòu)的有關(guān)定義5 2.2 軟件體系結(jié)構(gòu)研究的不同思路7 2.3軟件體系結(jié)構(gòu)研究的主要內(nèi)容與進(jìn)展73 軟件體系結(jié)構(gòu)研究存在的不足124 總 結(jié)131 軟件體系結(jié)構(gòu)起源與發(fā)展 1.1 軟件體系結(jié)構(gòu)研究的必要性和重要意義 自 NATO 于 1968 年提出軟件工程概念以來(lái),軟件工程界已經(jīng)提出了一系列的理論、方法、語(yǔ)言和工具,解決了軟件開(kāi)發(fā)過(guò)程中的若干問(wèn)題.但
3、是,軟件固有的復(fù)雜性、易變性和不可見(jiàn)性,使得軟件開(kāi)發(fā)周期長(zhǎng)、代價(jià)高和質(zhì)量低的問(wèn)題依然存在.大量實(shí)踐統(tǒng)計(jì)表明:大系統(tǒng)軟件開(kāi)發(fā)中 70的錯(cuò)誤是由需求和軟件設(shè)計(jì)階段引入的;而且錯(cuò)誤在系統(tǒng)中存在的時(shí)間愈長(zhǎng)則愈難發(fā)現(xiàn),解決這些錯(cuò)誤的代價(jià)也愈高. 為了提高軟件需求和軟件設(shè)計(jì)的質(zhì)量,軟件工程界提出了需求分析工程技術(shù)和各種軟件建模技術(shù).但是在需求與設(shè)計(jì)之間仍存在一條很難逾越的鴻溝,即缺乏能夠反映做決策的中間過(guò)程,從而很難有效地將需求轉(zhuǎn)換為相應(yīng)的設(shè)計(jì).為此,軟件體系結(jié)構(gòu)概念應(yīng)運(yùn)而生,并試圖在軟件需求與軟件設(shè)計(jì)之間架起一座橋梁,著重解決軟件系統(tǒng)的結(jié)構(gòu)和需求向?qū)崿F(xiàn)平坦地過(guò)渡的問(wèn)題. 從機(jī)器語(yǔ)言、匯編語(yǔ)言、過(guò)程式程序
4、設(shè)計(jì)語(yǔ)言、面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言、形式化(半形式化)規(guī)格說(shuō)明語(yǔ)言(如體系結(jié)構(gòu)描述語(yǔ)言)發(fā)展過(guò)程中,可以發(fā)現(xiàn):計(jì)算機(jī)語(yǔ)言越來(lái)越適合于開(kāi)發(fā)人員的思維活動(dòng)模型,代碼復(fù)用的級(jí)別也在不斷地提升,如圖 1 所示.體系結(jié)構(gòu)技術(shù)的研究,使軟件復(fù)用從代碼復(fù)用發(fā)展到設(shè)計(jì)復(fù)用和過(guò)程復(fù)用. 鑒于軟件體系結(jié)構(gòu)的重要性,D.E.Perry 將軟件體系結(jié)構(gòu)視為軟件開(kāi)發(fā)中第 1 類重要的設(shè)計(jì)對(duì)象1,而 Barry Boehm 明確指出:“在沒(méi)有設(shè)計(jì)出體系結(jié)構(gòu)及其規(guī)則時(shí),那么整個(gè)項(xiàng)目不能繼續(xù)下去,而且體系結(jié)構(gòu)應(yīng)該看做是軟件開(kāi)發(fā)中可交付的中間產(chǎn)品”2.由此可見(jiàn),體系結(jié)構(gòu)在軟件開(kāi)發(fā)中為不同的人員提供了共同交流的語(yǔ)言,體現(xiàn)并嘗試了系統(tǒng)
5、早期的設(shè)計(jì)決策,并作為系統(tǒng)設(shè)計(jì)的抽象,為實(shí)現(xiàn)框架和構(gòu)件的共享與復(fù)用、基于體系結(jié)構(gòu)的 二進(jìn)制位,基本指令,過(guò)程行代碼,類代碼行,數(shù)學(xué)構(gòu)造子,機(jī)器語(yǔ)言, 匯編語(yǔ)言,過(guò)程式程序設(shè)計(jì)語(yǔ)言,面向?qū)ο蟪绦蛘Z(yǔ)言,規(guī)格說(shuō)明語(yǔ)言. Fig.1 Illustration for evolution of computer language and promotion of reuse 圖 1 計(jì)算機(jī)語(yǔ)言的變遷與復(fù)用的提升圖示 1.2 軟件體系結(jié)構(gòu)的發(fā)展史 軟件系統(tǒng)的規(guī)模在迅速增大的同時(shí),軟件開(kāi)發(fā)方法也經(jīng)歷了一系列的變革.在此過(guò)程中,軟件體系結(jié)構(gòu)也由最初模糊的概念發(fā)展到一個(gè)漸趨成熟的技術(shù). 20世紀(jì)70年代以前,尤
6、其是在以ALGOL 68為代表的高級(jí)語(yǔ)言出現(xiàn)以前,軟件開(kāi)發(fā)基本上都是匯編程序設(shè)計(jì).此階段系統(tǒng)規(guī)模較小,很少明確考慮系統(tǒng)結(jié)構(gòu),一般不存在系統(tǒng)建模工作.70 年代中后期,由于結(jié)構(gòu)化開(kāi)發(fā)方法的出現(xiàn)與廣泛應(yīng)用,軟件開(kāi)發(fā)中出現(xiàn)了概要設(shè)計(jì)與詳細(xì)設(shè)計(jì),而且主要任務(wù)是數(shù)據(jù)流設(shè)計(jì)與控制流設(shè)計(jì).因此,此時(shí)軟件結(jié)構(gòu)已作為一個(gè)明確的概念出現(xiàn)在系統(tǒng)的開(kāi)發(fā)中. 20 世紀(jì) 80 年代初到 90 年代中期,是面向?qū)ο箝_(kāi)發(fā)方法興起與成熟階段.由于對(duì)象是數(shù)據(jù)與基于數(shù)據(jù)之上操作的封裝,因而在面向?qū)ο箝_(kāi)發(fā)方法下,數(shù)據(jù)流設(shè)計(jì)與控制流設(shè)計(jì)則統(tǒng)一為對(duì)象建模,同時(shí),面向?qū)ο蠓椒ㄟ€提出了一些其他的結(jié)構(gòu)視圖.如在 OMT 方法中提出了功能視圖
7、、 對(duì)象視圖與動(dòng)態(tài)視圖(包括狀態(tài)圖和事件追蹤圖);而 BOOCH 方法中則提出了類視圖、對(duì)象視圖、狀態(tài)遷移圖、交互作用圖、模塊圖、進(jìn)程圖;而 1997 年出現(xiàn)的統(tǒng)一建模語(yǔ)言 UML 則從功能模型(用例視圖)、靜態(tài)模型(包括類圖、對(duì)象圖、構(gòu)件圖、包圖)、動(dòng)態(tài)模型(協(xié)作圖、順序圖、狀態(tài)圖和活動(dòng)圖)、配置模型(配置圖)描述應(yīng)用系統(tǒng)的結(jié)構(gòu). 90 年代以后則是基于構(gòu)件的軟件開(kāi)發(fā)階段,該階段以過(guò)程為中心,強(qiáng)調(diào)軟件開(kāi)發(fā)采用構(gòu)件化技術(shù)和體系結(jié)構(gòu)技術(shù),要求開(kāi)發(fā)出的軟件具備很強(qiáng)的自適應(yīng)性、互操作性、可擴(kuò)展性和可重用性.此階段中,軟件體系結(jié)構(gòu)已經(jīng)作為一個(gè)明確的文檔和中間產(chǎn)品存在于軟件開(kāi)發(fā)過(guò)程中,同時(shí),軟件體系結(jié)構(gòu)
8、作為一門學(xué)科逐漸得到人們的重視,并成為軟件工程領(lǐng)域的研究熱點(diǎn),因而Perry和Wolf認(rèn)為,“未來(lái)的年代將是研究軟件體系結(jié)構(gòu)的時(shí)代!”3. 縱觀軟件體系結(jié)構(gòu)技術(shù)發(fā)展過(guò)程,從最初的“無(wú)結(jié)構(gòu)”設(shè)計(jì)到現(xiàn)行的基于體系結(jié)構(gòu)軟件開(kāi)發(fā),可以認(rèn)為經(jīng)歷了4個(gè)階段:(1) “無(wú)體系結(jié)構(gòu)”設(shè)計(jì)階段:以匯編語(yǔ)言進(jìn)行小規(guī)模應(yīng)用程序開(kāi)發(fā)為特征;(2) 萌芽階段:出現(xiàn)了程序結(jié)構(gòu)設(shè)計(jì)主題,以控制流圖和數(shù)據(jù)流圖構(gòu)成軟件結(jié)構(gòu)為特征;(3) 初期階段:出現(xiàn)了從不同側(cè)面描述系統(tǒng)的結(jié)構(gòu)模型,以 UML 為典型代表;(4) 高級(jí)階段:以描述系統(tǒng)的高層抽象結(jié)構(gòu)為中心,不關(guān)心具體的建模細(xì)節(jié),劃分了體系結(jié)構(gòu)模型與傳統(tǒng)的軟件結(jié)構(gòu)的界限,該階段以
9、 Kruchten 提出的“4+1”模型4為標(biāo)志.由于概念尚不統(tǒng)一、描述規(guī)范也不能達(dá)成一致認(rèn)識(shí)、 在軟件開(kāi)發(fā)實(shí)踐中軟件體系結(jié)構(gòu)尚不能發(fā)揮重要作用5,因此,我們認(rèn)為軟件體系結(jié)構(gòu)技術(shù)達(dá)到成熟還需一段時(shí)日. 1.3 體系結(jié)構(gòu)的主要研究方向 在基于構(gòu)件和體系結(jié)構(gòu)的軟件開(kāi)發(fā)方法下,程序開(kāi)發(fā)模式也相應(yīng)地發(fā)生了根本變化.軟件開(kāi)發(fā)不再是“算法+數(shù)據(jù)結(jié)構(gòu)”,而是“構(gòu)件開(kāi)發(fā)+基于體系結(jié)構(gòu)的構(gòu)件組裝”6.那么,如何描述、表示、設(shè)計(jì)體系結(jié)構(gòu)?如何驗(yàn)證一個(gè)體系結(jié)構(gòu)是否符合期望的系統(tǒng)需求?如何基于體系結(jié)構(gòu)開(kāi)發(fā)實(shí)例化的軟件系統(tǒng)?將是基于構(gòu)件和體系結(jié)構(gòu)的軟件開(kāi)發(fā)方法所必須研究和解決的核心問(wèn)題.歸納現(xiàn)有體系結(jié)構(gòu)的研究活動(dòng),主要
10、包括如下幾個(gè)方面: (1) 體系結(jié)構(gòu)理論模型的研究; (2) 體系結(jié)構(gòu)描述研究,主要研究體系結(jié)構(gòu)描述語(yǔ)言及其支持環(huán)境、體系結(jié)構(gòu)描述規(guī)范; 1230 Journal of Software 軟件學(xué)報(bào) 2002,13(7) (3) 體系結(jié)構(gòu)設(shè)計(jì)研究:包括體系結(jié)構(gòu)設(shè)計(jì)方法、體系結(jié)構(gòu)風(fēng)格、體系結(jié)構(gòu)設(shè)計(jì)空間等內(nèi)容; (4) 體系結(jié)構(gòu)分析與驗(yàn)證:研究如何將軟件的非功能特性轉(zhuǎn)化為體系結(jié)構(gòu)的需求,如何分析體系結(jié)構(gòu)滿足期望的需求的屬性,對(duì)體系結(jié)構(gòu)的語(yǔ)法、語(yǔ)義、類型失配等進(jìn)行檢查與驗(yàn)證的研究; (5) 體系結(jié)構(gòu)演化與復(fù)用研究:研究產(chǎn)品線中軟件體系結(jié)構(gòu)演進(jìn)的理論與方法,從已有文檔、系統(tǒng)設(shè)計(jì)和代碼中逆向提取軟件體系結(jié)
11、構(gòu)、體系結(jié)構(gòu)復(fù)用等; (6) 動(dòng)態(tài)體系結(jié)構(gòu)研究:研究軟件系統(tǒng)由于特殊需要必須在連續(xù)運(yùn)營(yíng)情況下的體系結(jié)構(gòu)變化與支撐平臺(tái); (7) 基于體系結(jié)構(gòu)的軟件開(kāi)發(fā):研究引入體系結(jié)構(gòu)后的軟件開(kāi)發(fā)過(guò)程、 基于體系結(jié)構(gòu)開(kāi)發(fā)與中間技術(shù)集成、基于體系結(jié)構(gòu)的程序框架自動(dòng)生成技術(shù)等. 2 軟件體系結(jié)構(gòu)的研究現(xiàn)狀 2.1 軟件體系結(jié)構(gòu)的有關(guān)定義 若干軟件體系結(jié)構(gòu)學(xué)者提出了自己的概念與定義,我們將介紹幾個(gè)具有代表性的定義,并分析其共同點(diǎn).然后,根據(jù)我們對(duì)軟件體系結(jié)構(gòu)的理解,給出能夠反映軟件體系結(jié)構(gòu)基本特征的定義. 定義 1. Garlan & Shaw 模型7: SA=components, connectors, con
12、strains. 構(gòu)件(component)可以是一組代碼,如程序的模塊;也可以是一個(gè)獨(dú)立的程序,如數(shù)據(jù)庫(kù)的 SQL 服務(wù)器.連接器(connector)表示構(gòu)件之間的相互作用.它可以是過(guò)程調(diào)用、管道、遠(yuǎn)程過(guò)程調(diào)用等.一個(gè)軟件體系結(jié)構(gòu)還包括某些限制(constrain).該模型視角是程序設(shè)計(jì)語(yǔ)言,構(gòu)件主要是代碼模塊. 定義 2. Perry & Wolf 模型1: SA=elements, form, rational. 軟件體系結(jié)構(gòu)是由一組元素(elements)構(gòu)成.這組元素分成 3 類:處理元素(processing elements)、數(shù)據(jù)元素(data elements)和連接元素(
13、connecting elements).軟件體系結(jié)構(gòu)形式(form)是由專有特性(properties)和關(guān)系(relationship)組成.專有特性用于限制軟件體系結(jié)構(gòu)元素的選擇,關(guān)系用于限制軟件體系結(jié)構(gòu)元素組合的拓?fù)浣Y(jié)構(gòu).而在多個(gè)體系結(jié)構(gòu)方案中選擇合適的體系結(jié)構(gòu)方案往往基于一組準(zhǔn)則(rational). 定義 3. CFRP 模型8: SA=elements, interfaces, connections, connection semantics. 軟件系統(tǒng)由一組元素構(gòu)成(elements).這組元素分成處理元素和數(shù)據(jù)元素.每個(gè)元素有一個(gè)接口(interface),一組元素的互連(
14、connection)構(gòu)成系統(tǒng)的拓?fù)?元素互連的語(yǔ)義是:靜態(tài)互連語(yǔ)義(如數(shù)據(jù)元素的互連),描述動(dòng)態(tài)連接的信息轉(zhuǎn)換的協(xié)議(如過(guò)程調(diào)用,管道等). 定義 4. Vestal 模型9: SA=component, idioms/styles, common patterns of interaction. 軟件由構(gòu)件(component)組成,構(gòu)件之間通過(guò)通用的互操作模式相連.體系結(jié)構(gòu)風(fēng)格(style)描述了一種通用的設(shè)計(jì)模式,可滿足特定系列的應(yīng)用需求. 定義 5. IEEE 610.12-1990 軟件工程標(biāo)準(zhǔn)詞匯中的定義10: Architecture=component, connector,
15、 environment, principle. 體系結(jié)構(gòu)是以構(gòu)件、構(gòu)件之間的關(guān)系、構(gòu)件與環(huán)境之間的關(guān)系為內(nèi)容的某一系統(tǒng)的基本組織結(jié)構(gòu),以及指導(dǎo)上述內(nèi)容設(shè)計(jì)與演化的原理. 定義 6. Boehm 模型11: SA=components, connections, constraints, stakeholders needs, rationale. 軟件體系結(jié)構(gòu)包含系統(tǒng)構(gòu)件、連接件、約束的集合;反應(yīng)不同人員需求的集合;以及能夠展示由構(gòu)件、連接件和約束所定義的系統(tǒng)在實(shí)現(xiàn)時(shí)如何滿足系統(tǒng)不同人員需求的原理的集合. 比較上述各種體系結(jié)構(gòu)的定義可以發(fā)現(xiàn):定義1和定義3 都強(qiáng)調(diào)了體系結(jié)構(gòu)是由構(gòu)件、 連接件
16、及其約束(或 孫昌愛(ài) 等:軟件體系結(jié)構(gòu)研究綜述 1231 連接語(yǔ)義),即從構(gòu)造的角度來(lái)審視軟件體系結(jié)構(gòu).而定義 2 和定義 4 側(cè)重于從體系結(jié)構(gòu)風(fēng)格、模式和規(guī)則等角度來(lái)考慮軟件體系結(jié)構(gòu),采用的是一種俯瞰的視角.定義 5 不僅強(qiáng)調(diào)了體系結(jié)構(gòu)系統(tǒng)的基本構(gòu)成,同時(shí)還強(qiáng)調(diào)了體系結(jié)構(gòu)的環(huán)境即與外界的交互.定義 6 則強(qiáng)調(diào)了軟件體系結(jié)構(gòu)是一組概念以及關(guān)于軟件系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)決策,用來(lái)使待開(kāi)發(fā)的系統(tǒng)在體系結(jié)構(gòu)上滿足重要的功能與質(zhì)量需求.盡管各種定義都從不同的角度關(guān)注軟件體系結(jié)構(gòu),但其核心內(nèi)容都是軟件系統(tǒng)的結(jié)構(gòu),并且都涵蓋了如下一些實(shí)體:構(gòu)件、構(gòu)件之間的交互關(guān)系、限制、構(gòu)件和連接件構(gòu)成的拓?fù)浣Y(jié)構(gòu)、設(shè)計(jì)原則與指導(dǎo)
17、方針. 根據(jù)我們對(duì)軟件體系結(jié)構(gòu)的理解,將軟件體系結(jié)構(gòu)定義為“在軟件密集的大規(guī)模系統(tǒng)或具有類似需求和結(jié)構(gòu)的軟件產(chǎn)品線的開(kāi)發(fā)中,必須從一個(gè)較高的層次來(lái)考慮組成系統(tǒng)的構(gòu)件、構(gòu)件之間的交互,以及由構(gòu)件與構(gòu)件交互形成的拓?fù)浣Y(jié)構(gòu),這些要素應(yīng)該滿足一定的限制,遵循一定的設(shè)計(jì)規(guī)則,能夠在一定的環(huán)境下進(jìn)行演化.而且,軟件體系結(jié)構(gòu)應(yīng)能反映系統(tǒng)開(kāi)發(fā)中具有重要影響的設(shè)計(jì)決策,便于各種人員的交流,反映多種關(guān)注,據(jù)此開(kāi)發(fā)的系統(tǒng)能完成系統(tǒng)既定的功能和性能需求.” 2.2 軟件體系結(jié)構(gòu)研究的不同思路 實(shí)踐表明:一個(gè)好的體系結(jié)構(gòu)是系統(tǒng)開(kāi)發(fā)成功的重要因素.但由于對(duì)軟件體系結(jié)構(gòu)的不同見(jiàn)解,不僅導(dǎo)致了上節(jié)討論的軟件體系結(jié)構(gòu)的概念分歧
18、,也使得研究?jī)?nèi)容和研究途徑呈現(xiàn)很大的差異. 歸納起來(lái),目前體系結(jié)構(gòu)研究可以分為典型的兩種派別:學(xué)院派與實(shí)用派.學(xué)院派研究者側(cè)重于軟件體系結(jié)構(gòu)形式化理論研究.實(shí)用派研究者將軟件體系結(jié)構(gòu)設(shè)計(jì)、描述與表示同傳統(tǒng)的軟件系統(tǒng)建模視為一體.因此,將軟件建模技術(shù)直接用來(lái)描述軟件體系結(jié)構(gòu).典型的思路是:將 UML 可視化建模技術(shù)直接用來(lái)表示軟件體系結(jié)構(gòu).兩種體系結(jié)構(gòu)研究思路的比較見(jiàn)表 1. Table 1 Comparison of two different research approaches to software architecture 表 1 兩種不同的體系結(jié)構(gòu)研究思路比較 學(xué)院派研究思路,實(shí)用
19、派研究思路,關(guān)注體系結(jié)構(gòu)模型的解析與評(píng)估,單個(gè)模型,嚴(yán)格的建模符號(hào),強(qiáng)有力的分析技術(shù),專門目標(biāo)的解決方案,與實(shí)現(xiàn)無(wú)關(guān),關(guān)注廣泛范圍內(nèi)的開(kāi)發(fā)問(wèn)題,多個(gè)模型集,強(qiáng)調(diào)的是實(shí)踐可行性而非精確性,將體系結(jié)構(gòu)看成是開(kāi)發(fā)中的一幅藍(lán)本,通用目的的解決方案,考慮實(shí)現(xiàn). 2.3 軟件體系結(jié)構(gòu)研究的主要內(nèi)容與進(jìn)展 目前,軟件體系結(jié)構(gòu)研究活動(dòng)主要集中在如下幾個(gè)領(lǐng)域: (1) 軟件體系結(jié)構(gòu)描述語(yǔ)言 ADL 提出了若干適用于特定領(lǐng)域的 ADL.典型的有:C2 是一種基于構(gòu)件和消息的 ADL,適用于大型頻繁交互的層次型圖形用戶界面的軟件的體系結(jié)構(gòu)描述12;Darwin13和 Wright14分別將演算和 CSP 作為其數(shù)學(xué)
20、基礎(chǔ),適用于分布、并發(fā)類型的體系結(jié)構(gòu)描述;ACME 是一種體系結(jié)構(gòu)互換語(yǔ)言,支持從一種 ADL 向另一種 ADL 規(guī)格說(shuō)明轉(zhuǎn)換.其他比較有影響的 ADL,如 Aesop,Unicon,Rapide,SADL,MetaH,Weaves 等.在體系結(jié)構(gòu)描述語(yǔ)言研究方面,國(guó)內(nèi)的一些學(xué)者則相應(yīng)地提出了幾種比較有特色的體系結(jié)構(gòu)描述語(yǔ)言,如基于框架和角色模型的軟件體系結(jié)構(gòu)規(guī)約 FRADL15,多智能體系統(tǒng)體系結(jié)構(gòu)描述語(yǔ)言 A-ADL16,可視化體系結(jié)構(gòu)描述語(yǔ)言 XYX/ADL17,基于主動(dòng)連接件的體系結(jié)構(gòu)描述語(yǔ)言 Tracer18等.Shaw 和 Garlan 則倡導(dǎo)將連接件作為 ADL 中第一類實(shí)體,同
21、時(shí)還提出一個(gè)好的 ADL 的框架應(yīng)具備如下幾個(gè)方面的特點(diǎn),即組裝性、抽象性、重用性、可配置、異構(gòu)性、可分析.在此基礎(chǔ)上,Medvidovic 提出了一種 ADL 的分類和比較框架19,詳細(xì)分析了多種典型的 ADL 的優(yōu)點(diǎn)與不足.我們認(rèn)為 Medvidovic 的工作應(yīng)該算是對(duì)當(dāng)前 ADL 研究的最全面的總結(jié),并為將來(lái)的 ADL 的開(kāi)發(fā)提供了很有價(jià)值的參考建議. 1232 Journal of Software 軟件學(xué)報(bào) 2002,13(7) (2) 體系結(jié)構(gòu)描述構(gòu)造與表示 按照一定的描述方法,用體系結(jié)構(gòu)描述語(yǔ)言對(duì)體系結(jié)構(gòu)進(jìn)行說(shuō)明的結(jié)果則稱為體系結(jié)構(gòu)的表示,而將描述體系結(jié)構(gòu)的過(guò)程稱為體系結(jié)構(gòu)構(gòu)造
22、.在體系結(jié)構(gòu)描述方面,Kruchten 提出的“4+1”模型4是當(dāng)前軟件體系結(jié)構(gòu)描述的一個(gè)經(jīng)典范例,該模型由邏輯視圖、開(kāi)發(fā)視圖、過(guò)程視圖和物理視圖組成,并通過(guò)場(chǎng)景將這 4 個(gè)視圖有機(jī)地結(jié)合起來(lái),比較細(xì)致地描述了需求和體系結(jié)構(gòu)之間的關(guān)系. 而 Booch 則從 UML 的角度給出了一種由設(shè)計(jì)視圖、過(guò)程視圖、實(shí)現(xiàn)視圖和布署視圖,再加上一個(gè)用例視圖構(gòu)成的體系結(jié)構(gòu)描述模型.Medvovonic 則總結(jié)了用UML描述體系結(jié)構(gòu)的3種途徑:不改變UML用法而直接對(duì)體系結(jié)構(gòu)建模;利用 UML 支持的擴(kuò)充機(jī)制擴(kuò)展 UML 的元模型實(shí)現(xiàn)對(duì)體系結(jié)構(gòu)建模概念的支持;對(duì) UML 進(jìn)行擴(kuò)充,增加體系結(jié)構(gòu)建模元素.于衛(wèi)等人
23、研究了其中的第 2 種方案,其主要思路是提煉 5 個(gè)軟件體系結(jié)構(gòu)的核心部件,利用 UML 的擴(kuò)充機(jī)制中的一種給出了相應(yīng)的 OCL 約束規(guī)則的描述,并且給出了描述這些元素之間關(guān)系的模型20. IEEE 于 1995 年成立了體系結(jié)構(gòu)工作組(AWG),綜合了體系結(jié)構(gòu)描述研究成果,并參考業(yè)界的體系結(jié)構(gòu)描述的實(shí)踐,起草了體系結(jié)構(gòu)描述框架標(biāo)準(zhǔn)即 IEEE P147121. Rational 從資產(chǎn)復(fù)用的角度提出了體系結(jié)構(gòu)描述的規(guī)格說(shuō)明框架(architectural description specification)22,該建議草案已經(jīng)提交給 OMG,可望成為體系結(jié)構(gòu)描述的規(guī)范.IEEE P1471
24、和 Rational RAS 中的 ADS,都提出了體系結(jié)構(gòu)視點(diǎn)(viewpoint)的概念,并從多個(gè)視點(diǎn)描述體系結(jié)構(gòu)的框架.但問(wèn)題在于:一個(gè)體系結(jié)構(gòu)應(yīng)該從哪幾個(gè)視點(diǎn)進(jìn)行考慮?每個(gè)視點(diǎn)由哪些視構(gòu)成?各種視點(diǎn)應(yīng)當(dāng)使用哪種體系結(jié)構(gòu)描述語(yǔ)言,以及采用哪些體系結(jié)構(gòu)建模和分析技術(shù)等問(wèn)題都未解決. 綜上所述,雖然 UML 作為一個(gè)工業(yè)化標(biāo)準(zhǔn)的可視化建模語(yǔ)言,支持多角度、多層次、多方面的建模需求,支持?jǐn)U展,并有強(qiáng)大的工具支持,確實(shí)是一種可選的體系結(jié)構(gòu)描述語(yǔ)言,但是根據(jù) Medvovonic 給出的體系結(jié)構(gòu)語(yǔ)言的框架,UML 不屬于體系結(jié)構(gòu)描述語(yǔ)言的范疇.事實(shí)上,判斷一個(gè)語(yǔ)言是否適合用作體系結(jié)構(gòu)描述語(yǔ)言的關(guān)鍵
25、在于,它能否表達(dá)體系結(jié)構(gòu)描述語(yǔ)言應(yīng)該表達(dá)的概念與抽象,如果需要轉(zhuǎn)化,其復(fù)雜性如何. (3) 軟件體系結(jié)構(gòu)分析、設(shè)計(jì)與驗(yàn)證 體系結(jié)構(gòu)是對(duì)系統(tǒng)的高層抽象,并只對(duì)感興趣的屬性進(jìn)行建模.由于體系結(jié)構(gòu)是在軟件開(kāi)發(fā)過(guò)程之初產(chǎn)生的,因此設(shè)計(jì)優(yōu)質(zhì)的體系結(jié)構(gòu)可以減少和避免軟件錯(cuò)誤的產(chǎn)生和維護(hù)階段的高昂代價(jià).體系結(jié)構(gòu)是系統(tǒng)集成的藍(lán)本、系統(tǒng)驗(yàn)收的依據(jù),體系結(jié)構(gòu)本身需要分析與測(cè)試,以確定這樣的體系結(jié)構(gòu)是否滿足需求.體系結(jié)構(gòu)分析的內(nèi)容可分為結(jié)構(gòu)分析、功能分析和非功能分析.而在進(jìn)行非功能分析時(shí),可以采用定量分析方法與推斷的分析方法.在非功能分析的途徑上,則可以采用單個(gè)體系結(jié)構(gòu)分析與體系結(jié)構(gòu)比較的分析方法.Kazman 等
26、人提出了一種非功能分析的體系結(jié)構(gòu)分析方法 SAAM23,并運(yùn)用場(chǎng)景技術(shù),提出了基于場(chǎng)景的體系結(jié)構(gòu)分析方法24,而Barbacci 等人則提出了多質(zhì)量屬性情況下的體系結(jié)構(gòu)質(zhì)量模型、分析與權(quán)衡方法 ATAM25. 體系結(jié)構(gòu)測(cè)試著重于仿真系統(tǒng)模型,解決體系結(jié)構(gòu)層的主要問(wèn)題.由于測(cè)試的抽象層次不同,體系結(jié)構(gòu)測(cè)試策略可以分為單元/子系統(tǒng)/集成/驗(yàn)收測(cè)試等階段的測(cè)試策略.在體系結(jié)構(gòu)集成測(cè)試階段,Debra等人提出一組針對(duì)體系結(jié)構(gòu)的測(cè)試覆蓋準(zhǔn)則,如構(gòu)件覆蓋準(zhǔn)則等26;文獻(xiàn)27給出了基于霍爾公理的構(gòu)件設(shè)計(jì)正確性驗(yàn)證技術(shù),Paola Inveradi 則提出一種基于 CHAM 的體系結(jié)構(gòu)動(dòng)態(tài)語(yǔ)義驗(yàn)證技術(shù)28.
27、生成一個(gè)滿足軟件需求的體系結(jié)構(gòu)的過(guò)程即為體系結(jié)構(gòu)設(shè)計(jì).體系結(jié)構(gòu)設(shè)計(jì)過(guò)程的本質(zhì)在于:將系統(tǒng)分解成相應(yīng)的組成成分(如構(gòu)件、連接件);并將這些成分重新組裝成一個(gè)系統(tǒng).具體說(shuō)來(lái),體系結(jié)構(gòu)設(shè)計(jì)有兩大類方法:過(guò)程驅(qū)動(dòng)方法和檢查列表驅(qū)動(dòng)方法.前者包括:(a) 面向?qū)ο蠓椒?與 OOA/OOD 相似,但更側(cè)重接口與交互;(b) “41”模型方法5;(c) 基于場(chǎng)景的迭代方法.應(yīng)該說(shuō),基于過(guò)程驅(qū)動(dòng)的體系結(jié)構(gòu)設(shè)計(jì)方法適用范圍廣,易于裁剪,具備動(dòng)態(tài)特點(diǎn),通用性與實(shí)踐性強(qiáng).而問(wèn)題列表驅(qū)動(dòng)法,其基本思想就是枚舉設(shè)計(jì)空間、并考慮設(shè)計(jì)維的相關(guān)性,以此來(lái)選擇體系結(jié)構(gòu)的風(fēng)格.顯然,該方法適用于特定領(lǐng)域,是靜態(tài)的,并可以實(shí)現(xiàn)量化
28、體系結(jié)構(gòu)設(shè)計(jì)空間.如Allen博士的論文專門研究了用戶界面類的量化設(shè)計(jì)空間,提出了19個(gè)功能維,26個(gè)結(jié)構(gòu)維,622條設(shè)計(jì)規(guī)則29. 體系結(jié)構(gòu)設(shè)計(jì)研究的重點(diǎn)內(nèi)容之一就是體系結(jié)構(gòu)風(fēng)格或者說(shuō)是體系結(jié)構(gòu)模式,體系結(jié)構(gòu)模式在本質(zhì)上反 孫昌愛(ài) 等:軟件體系結(jié)構(gòu)研究綜述 1233 映了一些特定的元素、按照特定的方式組成一個(gè)特定的結(jié)構(gòu),該結(jié)構(gòu)應(yīng)有利于上下文環(huán)境下的特定問(wèn)題的解決.體系結(jié)構(gòu)模式分為兩個(gè)大類:固定術(shù)語(yǔ)和參考模型30.已知的固定術(shù)語(yǔ)類的體系結(jié)構(gòu)模式包括管道過(guò)濾器、客戶服務(wù)器、面向?qū)ο蟆⒑诎?、分層、?duì)等模式(基于事件調(diào)用方法,隱式調(diào)用,基于推模式)、狀態(tài)轉(zhuǎn)換,以及一些派生的固定術(shù)語(yǔ)類的體系結(jié)構(gòu)模式,
29、包括 GenVoca,C2,REST;而參考模型則相對(duì)較多,常常與特定領(lǐng)域相關(guān),如編譯器的順序參考模型和并行參考模型、信息系統(tǒng)的參考模型、航空模擬環(huán)境系統(tǒng)的參考模型等等.尚未解決的一個(gè)問(wèn)題是:體系結(jié)構(gòu)風(fēng)格(模式)與領(lǐng)域之間的關(guān)系是什么?即是不是特定的領(lǐng)域就必須采用某種體系結(jié)構(gòu)風(fēng)格.我們認(rèn)為,體系結(jié)構(gòu)在某個(gè)領(lǐng)域的成功應(yīng)用標(biāo)志著這個(gè)領(lǐng)域的相對(duì)成熟. 應(yīng)該說(shuō),體系結(jié)構(gòu)分析、設(shè)計(jì)和驗(yàn)證已經(jīng)取得了很豐富的研究成果.但是這些方法存在著一個(gè)普遍缺點(diǎn):可操作性差,難于實(shí)用化,因此并沒(méi)有取得很好的實(shí)踐效果. (4) 軟件體系結(jié)構(gòu)發(fā)現(xiàn)、演化與復(fù)用 軟件體系結(jié)構(gòu)發(fā)現(xiàn)解決如何從已經(jīng)存在的系統(tǒng)中提取軟件的體系結(jié)構(gòu),屬于
30、逆向工程范疇.文獻(xiàn)31提出了一種類似于“盲人摸象”的迭代式體系結(jié)構(gòu)發(fā)現(xiàn)過(guò)程,即由不同的人員對(duì)系統(tǒng)進(jìn)行描述,然后對(duì)這些描述進(jìn)行分類并融合,發(fā)現(xiàn)并解除沖突,將體系結(jié)構(gòu)新屬性加入到已有的體系結(jié)構(gòu)模型中,并重復(fù)該過(guò)程直至體系結(jié)構(gòu)描述充分. 由于系統(tǒng)需求、技術(shù)、環(huán)境、分布等因素的變化而最終導(dǎo)致軟件體系結(jié)構(gòu)的變動(dòng),稱之為軟件體系結(jié)構(gòu)演化.軟件系統(tǒng)在運(yùn)行時(shí)刻的體系結(jié)構(gòu)變化稱為體系結(jié)構(gòu)的動(dòng)態(tài)性,而將體系結(jié)構(gòu)的靜態(tài)修改稱為體系結(jié)構(gòu)擴(kuò)展.體系結(jié)構(gòu)擴(kuò)展與體系結(jié)構(gòu)動(dòng)態(tài)性都是體系結(jié)構(gòu)適應(yīng)性和演化性的研究范疇.可以用多值代數(shù)或圖重寫理論來(lái)解釋軟件體系結(jié)構(gòu)的演化,文獻(xiàn)32專門研究系統(tǒng)的動(dòng)態(tài)可配置特性,提出了電信軟件體系結(jié)構(gòu)
31、動(dòng)態(tài)修改的方案.體系結(jié)構(gòu)的動(dòng)態(tài)性分為有約束的和無(wú)約束的以及結(jié)構(gòu)動(dòng)態(tài)性和語(yǔ)義動(dòng)態(tài)性.Darwin 和 C2 都直接支持結(jié)構(gòu)動(dòng)態(tài)性,而 CHAM,Wright,Rapide 支持語(yǔ)義動(dòng)態(tài)性.在 C2 中定義有專門支持體系結(jié)構(gòu)修改的描述語(yǔ)言 AML,而Darwin 對(duì)體系結(jié)構(gòu)的修改則采用相應(yīng)的腳本語(yǔ)言,CHAM 是通過(guò)多值演算實(shí)現(xiàn)系統(tǒng)體系結(jié)構(gòu)的變換,Wright 是通過(guò)順序通信進(jìn)程 CSP 描述構(gòu)件的交互語(yǔ)義. 體系結(jié)構(gòu)復(fù)用屬于設(shè)計(jì)復(fù)用,比代碼復(fù)用更抽象.一般認(rèn)為易于復(fù)用的標(biāo)準(zhǔn)包括:領(lǐng)域易于理解,變化相對(duì)慢,內(nèi)部有構(gòu)件標(biāo)準(zhǔn),與已存在的基礎(chǔ)設(shè)施兼容,在大規(guī)模系統(tǒng)開(kāi)發(fā)時(shí)體現(xiàn)規(guī)模效應(yīng).由于軟件體系結(jié)構(gòu)是系
32、統(tǒng)的高層抽象,反映了系統(tǒng)的主要組成元素及其交互關(guān)系,因而較算法更穩(wěn)定,更適合于復(fù)用.鑒于軟件體系結(jié)構(gòu)是應(yīng)大系統(tǒng)開(kāi)發(fā)和軟件產(chǎn)品線技術(shù)而出現(xiàn)的,在其二者之間,我們認(rèn)為:產(chǎn)品線中的體系結(jié)構(gòu)復(fù)用將更有現(xiàn)實(shí)意義,并具有更大的相似性.體系結(jié)構(gòu)模式就是體系結(jié)構(gòu)復(fù)用研究的一個(gè)成果,而體系結(jié)構(gòu)參考模型則是特定域軟件體系結(jié)構(gòu)的復(fù)用的成熟的象征.文獻(xiàn)33采用擴(kuò)展數(shù)據(jù)流技術(shù)EDFG,并通過(guò)EDFG的細(xì)化與規(guī)格說(shuō)明,實(shí)現(xiàn)了系統(tǒng)與構(gòu)件的構(gòu)造過(guò)程,得出相應(yīng)的體系結(jié)構(gòu)是易于復(fù)用的結(jié)論. 總之,復(fù)用技術(shù)作為軟件工程領(lǐng)域倡導(dǎo)的有效技術(shù)之一,在基于構(gòu)件與體系結(jié)構(gòu)的軟件開(kāi)發(fā)時(shí)代,軟件體系結(jié)構(gòu)復(fù)用將是一個(gè)重要的主題. (5) 基于體系
33、結(jié)構(gòu)的軟件開(kāi)發(fā)方法研究 本質(zhì)上,軟件體系結(jié)構(gòu)是對(duì)軟件需求的一種抽象解決方案.在引入了體系結(jié)構(gòu)的軟件開(kāi)發(fā)之后,應(yīng)用系統(tǒng)的構(gòu)造過(guò)程變?yōu)椤皢?wèn)題定義軟件需求軟件體系結(jié)構(gòu)軟件設(shè)計(jì)軟件實(shí)現(xiàn)”,可以認(rèn)為軟件體系結(jié)構(gòu)架起了軟件需求與軟件設(shè)計(jì)之間的一座橋梁.而在由軟件體系結(jié)構(gòu)到實(shí)現(xiàn)的過(guò)程中,借助一定的中間件技術(shù)與軟件總線技術(shù),軟件體系結(jié)構(gòu)將易于映射成相應(yīng)的實(shí)現(xiàn).Bass等人提出了一種基于體系結(jié)構(gòu)的軟件開(kāi)發(fā)過(guò)程34.而文獻(xiàn)35則提出了基于體系結(jié)構(gòu)的開(kāi)發(fā)模型中軟件體系結(jié)構(gòu)的生命周期模型,文獻(xiàn)36討論了一種以 6 個(gè)體系結(jié)構(gòu)視圖為中心的軟件開(kāi)發(fā)方式. 在基于構(gòu)件和基于體系結(jié)構(gòu)的軟件開(kāi)發(fā)逐漸成為主流的開(kāi)發(fā)方法的情況下,
34、已經(jīng)出現(xiàn)了基于構(gòu)件的軟件工程.但是,對(duì)體系結(jié)構(gòu)的描述、表示、設(shè)計(jì)和分析以及驗(yàn)證等內(nèi)容的研究還相對(duì)不足,隨著需求復(fù)雜化及其演進(jìn),切實(shí)可行的體系結(jié)構(gòu)設(shè)計(jì)規(guī)則與方法將更為重要. (6) 特定領(lǐng)域的體系結(jié)構(gòu) DSSA 鑒于特定領(lǐng)域的應(yīng)用具有相似的特征,因而經(jīng)過(guò)嚴(yán)格設(shè)計(jì),并將直覺(jué)的成分減少到最少程度,可以有效地實(shí) 1234 Journal of Software 軟件學(xué)報(bào) 2002,13(7) 現(xiàn)復(fù)用,并可借鑒領(lǐng)域中已經(jīng)成熟的體系結(jié)構(gòu).Rick Hayes-Roth 和 Will Tracz 分別對(duì)特定域的體系結(jié)構(gòu)給出了不同的定義.Rick Hayes-Roth 更側(cè)重于 DSSA 的特征,強(qiáng)調(diào)系統(tǒng)有構(gòu)
35、件組成,適用于特定領(lǐng)域,有利于開(kāi)發(fā)成功應(yīng)用程序的標(biāo)準(zhǔn)結(jié)構(gòu);Will Tracz 更側(cè)重于 DSSA 的組成要素,指出 DSSA 應(yīng)該包括領(lǐng)域模型、參考需求、參考體系結(jié)構(gòu)、相應(yīng)的支持環(huán)境或設(shè)施、實(shí)例化、細(xì)化或評(píng)估的方法與過(guò)程.兩種 DSSA 定義都強(qiáng)調(diào)了參考體系結(jié)構(gòu)的重要性. 特定領(lǐng)域的體系結(jié)構(gòu)是將體系結(jié)構(gòu)理論應(yīng)用到具體領(lǐng)域的過(guò)程.常見(jiàn)的 DSSA 有:電信軟件的體系結(jié)構(gòu)研究37、CASE 體系結(jié)構(gòu)、CAD 軟件的參考模型、測(cè)試環(huán)境的體系結(jié)構(gòu)38、信息系統(tǒng)的參考體系結(jié)構(gòu)、網(wǎng)絡(luò)體系結(jié)構(gòu) DSSA、機(jī)場(chǎng)信息系統(tǒng)的體系結(jié)構(gòu)、信號(hào)處理 DSSA 等. (7) 軟件體系結(jié)構(gòu)支持工具 基本上,每種體系結(jié)構(gòu)都
36、有相應(yīng)的原型支持工具,如 UniCon,Aesop 等體系結(jié)構(gòu)支持環(huán)境,C2 的支持環(huán)境ArchStudio,支持主動(dòng)連接件的 Tracer 工具.另外,支持體系結(jié)構(gòu)分析的工具,如支持靜態(tài)分析的工具、支持類型檢查的工具、支持體系結(jié)構(gòu)層依賴分析的工具、支持體系結(jié)構(gòu)動(dòng)態(tài)特性仿真工具、體系結(jié)構(gòu)性能仿真工具等.但與其他成熟的軟件工程環(huán)境相比,軟件體系結(jié)構(gòu)設(shè)計(jì)的支持工具還很不成熟,難于實(shí)用化. 3 軟件體系結(jié)構(gòu)研究存在的不足 盡管自 1994 年召開(kāi)了首屆軟件體系結(jié)構(gòu)國(guó)際研討會(huì)以來(lái),軟件體系結(jié)構(gòu)研究領(lǐng)域取得了上述的若干成果,但在應(yīng)用方面,軟件體系結(jié)構(gòu)仍然很不成熟.Medvovonic 認(rèn)為,目前對(duì)軟件體
37、系結(jié)構(gòu)的理解還僅限于直觀、或當(dāng)作稀奇事、或當(dāng)作民間傳說(shuō);語(yǔ)義豐富但不嚴(yán)緊.而第 2 屆產(chǎn)品線系統(tǒng)的體系結(jié)構(gòu)開(kāi)發(fā)與演化國(guó)際研討會(huì)的總結(jié)報(bào)告認(rèn)為,體系結(jié)構(gòu)似乎沒(méi)有解決實(shí)際問(wèn)題5.由此可見(jiàn),若要有效地指導(dǎo)軟件工程實(shí)踐、為軟件開(kāi)發(fā)提供一個(gè)好的結(jié)構(gòu)及其設(shè)計(jì)結(jié)構(gòu)的指導(dǎo)原則,軟件體系結(jié)構(gòu)研究還有若干問(wèn)題需要解決. 總結(jié)對(duì)軟件體系結(jié)構(gòu)的研究,我們認(rèn)為存在如下不足: (1) 缺乏統(tǒng)一的軟件體系結(jié)構(gòu)的概念,導(dǎo)致體系結(jié)構(gòu)的研究范疇模糊.例如,學(xué)院派研究者著重考慮體系結(jié)構(gòu)強(qiáng)大的分析能力,而實(shí)用派研究者則過(guò)多強(qiáng)調(diào)體系結(jié)構(gòu)應(yīng)該直接支持系統(tǒng)的實(shí)現(xiàn).概念的不統(tǒng)一導(dǎo)致設(shè)計(jì)人員交流上的困難,不利于支持工具的研制,不利于軟件體系結(jié)構(gòu)的應(yīng)用. (2) ADL 繁多,缺乏統(tǒng)一的 ADL 的支持.盡管 Shaw 等人提出了體系結(jié)構(gòu)互換語(yǔ)言 ACME,但沒(méi)有統(tǒng)一的體系結(jié)構(gòu)描述語(yǔ)言框架與定義,不同體系結(jié)構(gòu)描述語(yǔ)言所描述的體系結(jié)構(gòu)規(guī)格說(shuō)明難以互換.N.Medvovonic 在分析現(xiàn)存的多種典型ADL基礎(chǔ)上嘗試提出ADL的定義與分類框架,基于該定義與分類框架可以研究并提出統(tǒng)一的 ADL. (3) 軟件體系結(jié)構(gòu)研究缺乏統(tǒng)一的理論模型支持.盡管提出了若干體系結(jié)構(gòu)語(yǔ)言與其相應(yīng)的理論模型
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 別墅改造施工項(xiàng)目協(xié)議
- 城市道路園林建設(shè)協(xié)議
- 眼鏡租賃合同樣本
- 市政工程招投標(biāo)質(zhì)量保證協(xié)議
- 稅務(wù)局人員聘用協(xié)議范本
- 廣告?zhèn)髅焦靖笨偨?jīng)理招聘啟事
- 地震災(zāi)區(qū)重建泥水施工協(xié)議
- 臨時(shí)辦公室租賃協(xié)議
- 影像制作服務(wù)協(xié)議
- 地鐵站電梯井道建設(shè)協(xié)議
- 教科(2024秋)版科學(xué)三年級(jí)上冊(cè)2.6 我們來(lái)做“熱氣球”教學(xué)設(shè)計(jì)
- 山西省運(yùn)城市2024-2025學(xué)年高二上學(xué)期10月月考英語(yǔ)試題
- 4.3《課間》 (教案)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)北師大版
- 【班主任工作】2024-2025學(xué)年秋季安全主題班會(huì)教育周記錄
- 2024-2030年街舞培訓(xùn)行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)前景預(yù)測(cè)報(bào)告
- 橡膠壩工程施工質(zhì)量驗(yàn)收評(píng)定表及填表說(shuō)明
- 《2024版CSCO胰腺癌診療指南》更新要點(diǎn) 2
- +陜西省渭南市富平縣2023-2024學(xué)年九年級(jí)上學(xué)期摸底數(shù)學(xué)試卷
- 2023年法律職業(yè)資格《客觀題卷一》真題及答案
- 三年級(jí)上《時(shí)分秒》教材解讀
- 公司培訓(xùn)工作報(bào)告6篇
評(píng)論
0/150
提交評(píng)論