版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述 4.1 4.1 軟件體系結(jié)構(gòu)描述方法軟件體系結(jié)構(gòu)描述方法 4.2 4.2 軟件體系結(jié)構(gòu)描述框架標(biāo)準(zhǔn)軟件體系結(jié)構(gòu)描述框架標(biāo)準(zhǔn) 4.3 4.3 體系結(jié)構(gòu)描述語言體系結(jié)構(gòu)描述語言 4.4 4.4 典型的軟件體系結(jié)構(gòu)描述語言典型的軟件體系結(jié)構(gòu)描述語言 4.5 4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與umluml 4.6 4.6 可擴(kuò)展標(biāo)記語言可擴(kuò)展標(biāo)記語言 4.7 4.7 基于基于xmlxml的軟件體系結(jié)構(gòu)描述語言的軟件體系結(jié)構(gòu)描述語言主要內(nèi)容主要內(nèi)容教學(xué)目的與要求教學(xué)目的與要求(1 1)熟悉常用的軟件體系結(jié)構(gòu)描述方法;)熟悉常用的軟件體系結(jié)構(gòu)描述方法;(2 2)了解軟件
2、體系結(jié)構(gòu)描述框架標(biāo)準(zhǔn);)了解軟件體系結(jié)構(gòu)描述框架標(biāo)準(zhǔn);(3 3)掌握)掌握adladl的概念、特點(diǎn)及構(gòu)成要素;的概念、特點(diǎn)及構(gòu)成要素;(4 4)了解典型的)了解典型的adladl,熟悉它們之間的異同點(diǎn);,熟悉它們之間的異同點(diǎn);(5 5)掌握)掌握c2c2語言;語言;(6 6)熟悉)熟悉umluml;(7 7)熟悉)熟悉xmlxml,初步了解基于,初步了解基于xmlxml的軟件體系結(jié)的軟件體系結(jié)構(gòu)描述語言。構(gòu)描述語言。教學(xué)重點(diǎn)與難點(diǎn)教學(xué)重點(diǎn)與難點(diǎn)&(1 1)adladl的概念、特點(diǎn)及構(gòu)成要素的概念、特點(diǎn)及構(gòu)成要素 (2 2)典型)典型adladl之間的異同點(diǎn)及其適用風(fēng)格之間的異同點(diǎn)及其適
3、用風(fēng)格 (3 3)umluml中的九種框圖及其應(yīng)用中的九種框圖及其應(yīng)用 描述方法的種類描述方法的種類 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.1 4.1 軟件體系結(jié)構(gòu)描述方法軟件體系結(jié)構(gòu)描述方法 圖形表達(dá)工具圖形表達(dá)工具 模塊內(nèi)連接語言模塊內(nèi)連接語言 基于軟構(gòu)件的系統(tǒng)描述語言基于軟構(gòu)件的系統(tǒng)描述語言 軟件體系結(jié)構(gòu)描述語言軟件體系結(jié)構(gòu)描述語言 1. 1. 圖形表達(dá)工具圖形表達(dá)工具 項(xiàng)目管理測試結(jié)果打印程序復(fù)雜度函數(shù)調(diào)用關(guān)系圖帶時(shí)間特性的流程圖復(fù)雜度計(jì)算布圖算法最優(yōu)/最劣時(shí)間計(jì)算緩沖測試結(jié)果庫測試配置時(shí)間分析器靜態(tài)分析器某軟件輔助理解和測試工具部分體系結(jié)構(gòu)描述某軟件輔助理解和測試工具部
4、分體系結(jié)構(gòu)描述 矩形框:矩形框:代表抽象構(gòu)代表抽象構(gòu)件,框內(nèi)標(biāo)注的文字為件,框內(nèi)標(biāo)注的文字為抽象構(gòu)件的名稱;抽象構(gòu)件的名稱; 有向線段:有向線段:代表輔助代表輔助各構(gòu)件進(jìn)行通信、控制各構(gòu)件進(jìn)行通信、控制或關(guān)聯(lián)的連接件?;蜿P(guān)聯(lián)的連接件。第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.1 4.1 軟件體系結(jié)構(gòu)描述方法軟件體系結(jié)構(gòu)描述方法 模塊內(nèi)連接語言模塊內(nèi)連接語言 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.1 4.1 軟件體系結(jié)構(gòu)描述方法軟件體系結(jié)構(gòu)描述方法 采用將一種或幾種傳統(tǒng)程序設(shè)計(jì)語言的模塊連接起來的模塊內(nèi)采用將一種或幾種傳統(tǒng)程序設(shè)計(jì)語言的模塊連接起來的模塊內(nèi)連接語言。由于程
5、序設(shè)計(jì)語言和模塊內(nèi)連接語言具有嚴(yán)格的語義連接語言。由于程序設(shè)計(jì)語言和模塊內(nèi)連接語言具有嚴(yán)格的語義基礎(chǔ),因此它們能支持對較大的軟件單元進(jìn)行描述,諸如定義基礎(chǔ),因此它們能支持對較大的軟件單元進(jìn)行描述,諸如定義/ /使使用和扇入用和扇入/ /扇出等操作。例如,扇出等操作。例如,adaada語言采用語言采用useuse實(shí)現(xiàn)包的重用,實(shí)現(xiàn)包的重用,pascalpascal語言采用過程(函數(shù))模塊的交互等。語言采用過程(函數(shù))模塊的交互等。 mil(modulemil(module interconnection language) interconnection language)方式對模塊化的程序方式
6、對模塊化的程序設(shè)計(jì)和分段編譯等程序設(shè)計(jì)與開發(fā)技術(shù)確實(shí)發(fā)揮了很大的作用。設(shè)計(jì)和分段編譯等程序設(shè)計(jì)與開發(fā)技術(shù)確實(shí)發(fā)揮了很大的作用。但是由于這些語言處理和描述的軟件設(shè)計(jì)開發(fā)層次過于依賴程序但是由于這些語言處理和描述的軟件設(shè)計(jì)開發(fā)層次過于依賴程序設(shè)計(jì)語言,因此限制了它們處理和描述比程序設(shè)計(jì)語言元素更為設(shè)計(jì)語言,因此限制了它們處理和描述比程序設(shè)計(jì)語言元素更為抽象的高層次軟件體系結(jié)構(gòu)元素的能力。抽象的高層次軟件體系結(jié)構(gòu)元素的能力。 基于軟構(gòu)件的系統(tǒng)描述語言基于軟構(gòu)件的系統(tǒng)描述語言 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.1 4.1 軟件體系結(jié)構(gòu)描述方法軟件體系結(jié)構(gòu)描述方法 基于軟構(gòu)件的系統(tǒng)描述
7、語言將軟件系統(tǒng)描述成一種是由許多以基于軟構(gòu)件的系統(tǒng)描述語言將軟件系統(tǒng)描述成一種是由許多以特定形式相互作用的特殊軟件實(shí)體構(gòu)造組成的組織或系統(tǒng)。特定形式相互作用的特殊軟件實(shí)體構(gòu)造組成的組織或系統(tǒng)。 例如,一種多變配置語言就可以用來在一個(gè)較高的抽象層次上例如,一種多變配置語言就可以用來在一個(gè)較高的抽象層次上對系統(tǒng)的體系結(jié)構(gòu)建模,對系統(tǒng)的體系結(jié)構(gòu)建模,darwindarwin最初用作設(shè)計(jì)和構(gòu)造復(fù)雜分布式系最初用作設(shè)計(jì)和構(gòu)造復(fù)雜分布式系統(tǒng)的配置說明語言,因具有動態(tài)特性,也可用來描述動態(tài)體系結(jié)構(gòu)。統(tǒng)的配置說明語言,因具有動態(tài)特性,也可用來描述動態(tài)體系結(jié)構(gòu)。 這種表達(dá)和描述方式雖然也是較好的一種以構(gòu)件為單位
8、的軟件這種表達(dá)和描述方式雖然也是較好的一種以構(gòu)件為單位的軟件系統(tǒng)描述方法,但是他們所面向和針對的系統(tǒng)元素仍然是一些層次系統(tǒng)描述方法,但是他們所面向和針對的系統(tǒng)元素仍然是一些層次較低的以程序設(shè)計(jì)為基礎(chǔ)的通信協(xié)作軟件實(shí)體單元,而且這些語言較低的以程序設(shè)計(jì)為基礎(chǔ)的通信協(xié)作軟件實(shí)體單元,而且這些語言所描述和表達(dá)的系統(tǒng)一般而言都是面向特定應(yīng)用的特殊系統(tǒng),這些所描述和表達(dá)的系統(tǒng)一般而言都是面向特定應(yīng)用的特殊系統(tǒng),這些特性使得基于軟構(gòu)件的系統(tǒng)描述仍然不是十分適合軟件體系結(jié)構(gòu)的特性使得基于軟構(gòu)件的系統(tǒng)描述仍然不是十分適合軟件體系結(jié)構(gòu)的描述和表達(dá)。描述和表達(dá)。 軟件體系結(jié)構(gòu)描述語言軟件體系結(jié)構(gòu)描述語言 第第4
9、4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.1 4.1 軟件體系結(jié)構(gòu)描述方法軟件體系結(jié)構(gòu)描述方法 軟件體系結(jié)構(gòu)的第四種描述和表達(dá)方法是參照傳統(tǒng)程序設(shè)軟件體系結(jié)構(gòu)的第四種描述和表達(dá)方法是參照傳統(tǒng)程序設(shè)計(jì)語言的設(shè)計(jì)和開發(fā)經(jīng)驗(yàn),重新設(shè)計(jì)、開發(fā)和使用針對軟件體計(jì)語言的設(shè)計(jì)和開發(fā)經(jīng)驗(yàn),重新設(shè)計(jì)、開發(fā)和使用針對軟件體系結(jié)構(gòu)特點(diǎn)的專門的軟件體系結(jié)構(gòu)描述語言。系結(jié)構(gòu)特點(diǎn)的專門的軟件體系結(jié)構(gòu)描述語言。 由于由于adladl是在吸收了傳統(tǒng)程序設(shè)計(jì)中的語義嚴(yán)格精確的特點(diǎn)是在吸收了傳統(tǒng)程序設(shè)計(jì)中的語義嚴(yán)格精確的特點(diǎn)基礎(chǔ)上,針對軟件體系結(jié)構(gòu)的整體性和抽象性特點(diǎn),定義和確基礎(chǔ)上,針對軟件體系結(jié)構(gòu)的整體性和抽象性特點(diǎn),定義
10、和確定適合于軟件體系結(jié)構(gòu)表達(dá)與描述的有關(guān)抽象元素,因此,定適合于軟件體系結(jié)構(gòu)表達(dá)與描述的有關(guān)抽象元素,因此,adladl是當(dāng)前軟件開發(fā)和設(shè)計(jì)方法學(xué)中一種發(fā)展很快的軟件體系是當(dāng)前軟件開發(fā)和設(shè)計(jì)方法學(xué)中一種發(fā)展很快的軟件體系結(jié)構(gòu)描述方法,目前,已經(jīng)有幾十種常見的結(jié)構(gòu)描述方法,目前,已經(jīng)有幾十種常見的adladl。 ieee p1471 ieee p1471 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.2 軟件體系結(jié)構(gòu)描述框架標(biāo)準(zhǔn)軟件體系結(jié)構(gòu)描述框架標(biāo)準(zhǔn) ieee p1471 ieee p1471于于20002000年年9 9月月2121日通過日通過ieee-saieee-sa標(biāo)準(zhǔn)委員標(biāo)準(zhǔn)委
11、員會評審。會評審。 ieee p1471 ieee p1471適用于軟件密集的系統(tǒng),其目標(biāo)在于:適用于軟件密集的系統(tǒng),其目標(biāo)在于:便于體系結(jié)構(gòu)的表達(dá)與交流,并通過體系結(jié)構(gòu)要素及其便于體系結(jié)構(gòu)的表達(dá)與交流,并通過體系結(jié)構(gòu)要素及其實(shí)踐標(biāo)準(zhǔn)化,奠定質(zhì)量與成本的基礎(chǔ)。實(shí)踐標(biāo)準(zhǔn)化,奠定質(zhì)量與成本的基礎(chǔ)。 ieee p1471 ieee p1471詳細(xì)介紹了一套體系結(jié)構(gòu)描述的概念框詳細(xì)介紹了一套體系結(jié)構(gòu)描述的概念框架,并給出建立框架的思路。但如何描述以及具體的描架,并給出建立框架的思路。但如何描述以及具體的描述技術(shù)等方面缺乏更進(jìn)一步的指導(dǎo)。述技術(shù)等方面缺乏更進(jìn)一步的指導(dǎo)。 rational rationa
12、l 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.2 軟件體系結(jié)構(gòu)描述框架標(biāo)準(zhǔn)軟件體系結(jié)構(gòu)描述框架標(biāo)準(zhǔn) rational rational起草了可重用的軟件資產(chǎn)規(guī)格說明,專門討論了體系起草了可重用的軟件資產(chǎn)規(guī)格說明,專門討論了體系結(jié)構(gòu)描述的規(guī)格說明,提出了一套易于重用的體系結(jié)構(gòu)描述規(guī)范。結(jié)構(gòu)描述的規(guī)格說明,提出了一套易于重用的體系結(jié)構(gòu)描述規(guī)范。該建議草案已經(jīng)提交該建議草案已經(jīng)提交omgomg。 基于基于ruprup(rational united processrational united process)、采用)、采用umluml模型描述軟模型描述軟件的體系結(jié)構(gòu),認(rèn)為體系結(jié)構(gòu)描述的關(guān)
13、鍵是定義視點(diǎn)、視圖以及件的體系結(jié)構(gòu),認(rèn)為體系結(jié)構(gòu)描述的關(guān)鍵是定義視點(diǎn)、視圖以及建模元素之間的映射關(guān)系。建模元素之間的映射關(guān)系。 與與ieee p1471ieee p1471相比,該建議標(biāo)準(zhǔn)的體系結(jié)構(gòu)描述方案涉及面比相比,該建議標(biāo)準(zhǔn)的體系結(jié)構(gòu)描述方案涉及面比較窄,所注重的層次比較低,因而更具體。由于將體系結(jié)構(gòu)的描較窄,所注重的層次比較低,因而更具體。由于將體系結(jié)構(gòu)的描述限于述限于umluml和和ruprup,具有一定的局限性,但該建議標(biāo)準(zhǔn)結(jié)合了業(yè)界,具有一定的局限性,但該建議標(biāo)準(zhǔn)結(jié)合了業(yè)界已經(jīng)廣泛采用的建模語言和開發(fā)過程,因而易于推廣,可以有效已經(jīng)廣泛采用的建模語言和開發(fā)過程,因而易于推廣,可以
14、有效實(shí)現(xiàn)在跨組織之間重用體系結(jié)構(gòu)描述結(jié)果。實(shí)現(xiàn)在跨組織之間重用體系結(jié)構(gòu)描述結(jié)果。第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述語言軟件體系結(jié)構(gòu)描述語言 adl adl是在底層語義模型的支持下,為軟件系統(tǒng)的概念體系結(jié)構(gòu)是在底層語義模型的支持下,為軟件系統(tǒng)的概念體系結(jié)構(gòu)建模提供了具體語法和概念框架。基于底層語義的工具為體系結(jié)建模提供了具體語法和概念框架?;诘讓诱Z義的工具為體系結(jié)構(gòu)的表示、分析、演化、細(xì)化、設(shè)計(jì)過程等提供支持。其三個(gè)基構(gòu)的表示、分析、演化、細(xì)化、設(shè)計(jì)過程等提供支持。其三個(gè)基本元素是:構(gòu)件、連接件、體系結(jié)構(gòu)配置。本元素是:構(gòu)件、連接件、體系結(jié)構(gòu)配置。 主要的
15、體系結(jié)構(gòu)描述語言有主要的體系結(jié)構(gòu)描述語言有aesopaesop、metahmetah、c2c2、rapiderapide、sadlsadl、uniconunicon和和wrightwright等,盡管它們都描述軟件體系結(jié)構(gòu),卻有等,盡管它們都描述軟件體系結(jié)構(gòu),卻有不同的特點(diǎn)。不同的特點(diǎn)。 這些這些adladl強(qiáng)調(diào)了體系結(jié)構(gòu)不同的側(cè)面,對體系結(jié)構(gòu)的研究和應(yīng)強(qiáng)調(diào)了體系結(jié)構(gòu)不同的側(cè)面,對體系結(jié)構(gòu)的研究和應(yīng)用起到了重要的作用,但也有負(fù)面的影響。每一種用起到了重要的作用,但也有負(fù)面的影響。每一種adladl都以獨(dú)立的都以獨(dú)立的形式存在,描述語法不同且互不兼容,同時(shí)又有許多共同的特征,形式存在,描述語法不
16、同且互不兼容,同時(shí)又有許多共同的特征,這使設(shè)計(jì)人員很難選擇一種合適的這使設(shè)計(jì)人員很難選擇一種合適的adladl,若設(shè)計(jì)特定領(lǐng)域的軟件體,若設(shè)計(jì)特定領(lǐng)域的軟件體系結(jié)構(gòu)又需要從頭開始描述。系結(jié)構(gòu)又需要從頭開始描述。第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述語言軟件體系結(jié)構(gòu)描述語言 構(gòu)造能力:構(gòu)造能力:adladl能夠使用較小的獨(dú)立體系結(jié)構(gòu)元素來能夠使用較小的獨(dú)立體系結(jié)構(gòu)元素來建造大型軟件系統(tǒng);建造大型軟件系統(tǒng); 抽象能力:抽象能力:adladl使得軟件體系結(jié)構(gòu)中的構(gòu)件和連接件使得軟件體系結(jié)構(gòu)中的構(gòu)件和連接件描述可以只關(guān)注它們的抽象特性,而不管其具體的實(shí)現(xiàn)描述可以只關(guān)注
17、它們的抽象特性,而不管其具體的實(shí)現(xiàn)細(xì)節(jié);細(xì)節(jié); 重用能力:重用能力:adladl使得組成軟件系統(tǒng)的構(gòu)件、連接件甚使得組成軟件系統(tǒng)的構(gòu)件、連接件甚至是軟件體系結(jié)構(gòu)都成為軟件系統(tǒng)開發(fā)和設(shè)計(jì)的可重用至是軟件體系結(jié)構(gòu)都成為軟件系統(tǒng)開發(fā)和設(shè)計(jì)的可重用部件;部件; adl adl與其他語言的比較與其他語言的比較(1)(1) 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述語言軟件體系結(jié)構(gòu)描述語言 組合能力:組合能力:adladl使得其描述的每一系統(tǒng)元素都有其自使得其描述的每一系統(tǒng)元素都有其自己的局部結(jié)構(gòu),這種描述局部結(jié)構(gòu)的特點(diǎn)使得己的局部結(jié)構(gòu),這種描述局部結(jié)構(gòu)的特點(diǎn)使得adladl
18、支持支持軟件系統(tǒng)的動態(tài)變化組合;軟件系統(tǒng)的動態(tài)變化組合; 異構(gòu)能力:異構(gòu)能力:adladl允許多個(gè)不同的體系結(jié)構(gòu)描述關(guān)聯(lián)存允許多個(gè)不同的體系結(jié)構(gòu)描述關(guān)聯(lián)存在;在; 分析和推理能力:分析和推理能力:adladl允許對其描述的體系結(jié)構(gòu)進(jìn)行允許對其描述的體系結(jié)構(gòu)進(jìn)行多種不同的性能和功能上的多種推理分析。多種不同的性能和功能上的多種推理分析。 adl adl與其他語言的比較與其他語言的比較(2)(2)第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述語言軟件體系結(jié)構(gòu)描述語言 典型元素含義比較典型元素含義比較 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述
19、語言軟件體系結(jié)構(gòu)描述語言 常見的軟件體系結(jié)構(gòu)元素常見的軟件體系結(jié)構(gòu)元素 第四章第四章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述語言軟件體系結(jié)構(gòu)描述語言 adl adl的構(gòu)成要素的構(gòu)成要素 軟件體系結(jié)構(gòu)的基本構(gòu)成要素:軟件體系結(jié)構(gòu)的基本構(gòu)成要素: 構(gòu)件、連接件、體系結(jié)構(gòu)構(gòu)件、連接件、體系結(jié)構(gòu)配置。配置。1. 構(gòu)件:一個(gè)計(jì)算單元或數(shù)據(jù)構(gòu)件:一個(gè)計(jì)算單元或數(shù)據(jù)存儲;是計(jì)算與狀態(tài)存在的場存儲;是計(jì)算與狀態(tài)存在的場所。所。構(gòu)件包含的多種屬性:構(gòu)件包含的多種屬性: 接口、類型、語義、約束、接口、類型、語義、約束、演化和非功能屬性等。演化和非功能屬性等。軟件體系結(jié)構(gòu)配置連接件構(gòu)件端口角色1:
20、n1:n1:n體系結(jié)構(gòu)的核心模型體系結(jié)構(gòu)的核心模型第四章第四章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述語言軟件體系結(jié)構(gòu)描述語言 adl adl的構(gòu)成要素的構(gòu)成要素 2. 連接件:用來建立構(gòu)件間的交互以及支配這些交互規(guī)則連接件:用來建立構(gòu)件間的交互以及支配這些交互規(guī)則 的體系結(jié)構(gòu)構(gòu)造模塊。的體系結(jié)構(gòu)構(gòu)造模塊。 連接件可以不與實(shí)現(xiàn)系統(tǒng)中的編譯單元對應(yīng)。連接件可以不與實(shí)現(xiàn)系統(tǒng)中的編譯單元對應(yīng)。 異構(gòu)連接。異構(gòu)連接。連接件包含的屬性:角色。連接件包含的屬性:角色。第四章第四章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述語言軟件體系結(jié)構(gòu)描述語言 adl adl的構(gòu)成要素的
21、構(gòu)成要素 3. 體系結(jié)構(gòu)配置或拓?fù)洌后w系結(jié)構(gòu)配置或拓?fù)洌?描述體系結(jié)構(gòu)的構(gòu)件與連接件的連接圖。描述體系結(jié)構(gòu)的構(gòu)件與連接件的連接圖。同時(shí)檢查語法、說明語義。同時(shí)檢查語法、說明語義。多視圖、多場景的體系結(jié)構(gòu)說明方法。多視圖、多場景的體系結(jié)構(gòu)說明方法。在不同層次上描述軟件系統(tǒng);異構(gòu)情況下的配置。在不同層次上描述軟件系統(tǒng);異構(gòu)情況下的配置。第四章第四章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述語言軟件體系結(jié)構(gòu)描述語言 adl adl的構(gòu)成要素的構(gòu)成要素 軟件體系結(jié)構(gòu)的設(shè)計(jì)在需求分析之后,軟件設(shè)計(jì)之前。軟件體系結(jié)構(gòu)的設(shè)計(jì)在需求分析之后,軟件設(shè)計(jì)之前。描述好體系結(jié)構(gòu),做好承上啟下的工作很重
22、要。描述好體系結(jié)構(gòu),做好承上啟下的工作很重要。 一一 方方 面:體系結(jié)構(gòu)描述如何向其他文檔轉(zhuǎn)移;面:體系結(jié)構(gòu)描述如何向其他文檔轉(zhuǎn)移; 另一方面:如何利用需求分析成果來直接生成系統(tǒng)的另一方面:如何利用需求分析成果來直接生成系統(tǒng)的 體系結(jié)構(gòu)說明。體系結(jié)構(gòu)說明。 現(xiàn)在的現(xiàn)在的adl大多與領(lǐng)域相關(guān)。目前還沒有通用的體系大多與領(lǐng)域相關(guān)。目前還沒有通用的體系結(jié)構(gòu)描述語言。結(jié)構(gòu)描述語言。4.4 4.4 典型的軟件體系結(jié)構(gòu)描述語言典型的軟件體系結(jié)構(gòu)描述語言 unicon wright c2 rapide sadl aesop acme c2 c2風(fēng)格風(fēng)格 通過連接件綁定在一起的按照一組規(guī)則運(yùn)作的并行構(gòu)件網(wǎng)通過
23、連接件綁定在一起的按照一組規(guī)則運(yùn)作的并行構(gòu)件網(wǎng)絡(luò)。絡(luò)。c2c2風(fēng)格中的系統(tǒng)組織規(guī)則如下:風(fēng)格中的系統(tǒng)組織規(guī)則如下: 系統(tǒng)中的構(gòu)件和連接件都有一個(gè)頂部和一個(gè)底部;系統(tǒng)中的構(gòu)件和連接件都有一個(gè)頂部和一個(gè)底部; 構(gòu)件的頂部應(yīng)連接到某連接件的底部,構(gòu)件的底部則應(yīng)構(gòu)件的頂部應(yīng)連接到某連接件的底部,構(gòu)件的底部則應(yīng)連接到某連接件的頂部,而構(gòu)件與構(gòu)件之間的直接連接是連接到某連接件的頂部,而構(gòu)件與構(gòu)件之間的直接連接是不允許的;不允許的; 一個(gè)連接件可以和任意數(shù)目的其它構(gòu)件和連接件連接;一個(gè)連接件可以和任意數(shù)目的其它構(gòu)件和連接件連接; 當(dāng)兩個(gè)連接件進(jìn)行直接連接時(shí),必須由其中一個(gè)的底部當(dāng)兩個(gè)連接件進(jìn)行直接連接時(shí),必
24、須由其中一個(gè)的底部到另一個(gè)的頂部。到另一個(gè)的頂部。 c2 c2背景知識背景知識 c2 c2是一種用于用戶界面密集的系統(tǒng)的軟件體系結(jié)構(gòu)風(fēng)是一種用于用戶界面密集的系統(tǒng)的軟件體系結(jié)構(gòu)風(fēng)格。格。 在在c2c2風(fēng)格的體系結(jié)構(gòu)中,連接件在構(gòu)件之間轉(zhuǎn)發(fā)消息,風(fēng)格的體系結(jié)構(gòu)中,連接件在構(gòu)件之間轉(zhuǎn)發(fā)消息,構(gòu)件負(fù)責(zé)維護(hù)狀態(tài),進(jìn)行操作,通過兩個(gè)接口(頂端接口構(gòu)件負(fù)責(zé)維護(hù)狀態(tài),進(jìn)行操作,通過兩個(gè)接口(頂端接口和底端接口)和其他構(gòu)件交換消息。和底端接口)和其他構(gòu)件交換消息。 構(gòu)件之間不能發(fā)送消息,必須通過連接件。構(gòu)件之間構(gòu)件之間不能發(fā)送消息,必須通過連接件。構(gòu)件之間的通信只能通過消息傳遞來實(shí)現(xiàn),不允許使用共享內(nèi)存方的通
25、信只能通過消息傳遞來實(shí)現(xiàn),不允許使用共享內(nèi)存方式通信。式通信。 c2 c2風(fēng)格的中心原則風(fēng)格的中心原則 c2 c2風(fēng)格的中心原則是有限可視原則,或者說是下層獨(dú)風(fēng)格的中心原則是有限可視原則,或者說是下層獨(dú)立的原則:立的原則: 在在c2c2風(fēng)格的體系結(jié)構(gòu)中,某一構(gòu)件只能感知層次高于風(fēng)格的體系結(jié)構(gòu)中,某一構(gòu)件只能感知層次高于自己的構(gòu)件所提供的服務(wù),而不能感知到層次比自己更低自己的構(gòu)件所提供的服務(wù),而不能感知到層次比自己更低的構(gòu)件的服務(wù)。的構(gòu)件的服務(wù)。 這種單向的傳遞性,有利于系統(tǒng)的維護(hù)和擴(kuò)展。這種單向的傳遞性,有利于系統(tǒng)的維護(hù)和擴(kuò)展。 c2 c2風(fēng)格的通信規(guī)則風(fēng)格的通信規(guī)則 c2 c2中,所有構(gòu)件間
26、的通信必須通過消息來實(shí)現(xiàn),這也中,所有構(gòu)件間的通信必須通過消息來實(shí)現(xiàn),這也是構(gòu)件之間的唯一通信途徑。每個(gè)構(gòu)件都有一個(gè)頂端域、是構(gòu)件之間的唯一通信途徑。每個(gè)構(gòu)件都有一個(gè)頂端域、一個(gè)底端域。構(gòu)件的頂端域定義了構(gòu)件可以對哪些通知做一個(gè)底端域。構(gòu)件的頂端域定義了構(gòu)件可以對哪些通知做出響應(yīng),以及可以發(fā)出哪些請求;構(gòu)件的底端域定義了可出響應(yīng),以及可以發(fā)出哪些請求;構(gòu)件的底端域定義了可以向下層發(fā)送哪些通知,以及可以響應(yīng)下層的哪些請求。以向下層發(fā)送哪些通知,以及可以響應(yīng)下層的哪些請求。構(gòu)件構(gòu)件請求請求通知通知 c2 c2風(fēng)格風(fēng)格 構(gòu)件構(gòu)件構(gòu)件連連接接件件連連接接件件連連接接件件構(gòu)件連連接接件件構(gòu)件連連接接件件
27、連連接接件件構(gòu)件構(gòu)件第四章第四章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語言典型軟件體系結(jié)構(gòu)描述語言 c2 c2和其提供的設(shè)計(jì)環(huán)境(和其提供的設(shè)計(jì)環(huán)境(argoargo)支持采用基于時(shí)間)支持采用基于時(shí)間的風(fēng)格來描述用戶界面系統(tǒng),并支持使用可替換、可重的風(fēng)格來描述用戶界面系統(tǒng),并支持使用可替換、可重用的構(gòu)件開發(fā)用的構(gòu)件開發(fā)guigui的體系結(jié)構(gòu)。的體系結(jié)構(gòu)。 在在c2c2中,連接件負(fù)責(zé)構(gòu)件之間消息的傳遞,而構(gòu)件中,連接件負(fù)責(zé)構(gòu)件之間消息的傳遞,而構(gòu)件維持狀態(tài)、執(zhí)行操作并通過兩個(gè)名字分別為維持狀態(tài)、執(zhí)行操作并通過兩個(gè)名字分別為“toptop”和和“bottombottom”
28、的端口和其它的構(gòu)件交換信息。的端口和其它的構(gòu)件交換信息。 每個(gè)接口包含一種可發(fā)送的消息和一組可接收的消每個(gè)接口包含一種可發(fā)送的消息和一組可接收的消息。構(gòu)件之間的消息要么是請求其它構(gòu)件執(zhí)行某個(gè)操作息。構(gòu)件之間的消息要么是請求其它構(gòu)件執(zhí)行某個(gè)操作的請求消息,要么是通知其他構(gòu)件自身執(zhí)行了某個(gè)操作的請求消息,要么是通知其他構(gòu)件自身執(zhí)行了某個(gè)操作或狀態(tài)發(fā)生改變的通知消息。或狀態(tài)發(fā)生改變的通知消息。 c2c2概述概述(1)(1)第四章第四章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語言典型軟件體系結(jié)構(gòu)描述語言 構(gòu)件之間的消息交換不能直接進(jìn)行,而只能通過連接構(gòu)件之間的消息交換不能直接進(jìn)行
29、,而只能通過連接件來完成。每個(gè)構(gòu)件接口最多只能和一個(gè)連接件相連,而件來完成。每個(gè)構(gòu)件接口最多只能和一個(gè)連接件相連,而連接件可以和任意數(shù)目的構(gòu)件或連接件相連。連接件可以和任意數(shù)目的構(gòu)件或連接件相連。 請求消息只能向上層傳送而通知消息只能向下層傳送。請求消息只能向上層傳送而通知消息只能向下層傳送。 通知消息的傳遞只對應(yīng)于構(gòu)件內(nèi)部的操作,而和接收通知消息的傳遞只對應(yīng)于構(gòu)件內(nèi)部的操作,而和接收消息的構(gòu)件的需求無關(guān)。消息的構(gòu)件的需求無關(guān)。 c2 c2對構(gòu)件和連接件的實(shí)現(xiàn)語言、實(shí)現(xiàn)構(gòu)件的線程控制、對構(gòu)件和連接件的實(shí)現(xiàn)語言、實(shí)現(xiàn)構(gòu)件的線程控制、構(gòu)件的部署以及連接件使用的通訊協(xié)議等都不加限制。構(gòu)件的部署以及連
30、接件使用的通訊協(xié)議等都不加限制。 c2c2概述概述(2)(2)第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語言典型軟件體系結(jié)構(gòu)描述語言 c2 c2對構(gòu)件接口的描述對構(gòu)件接口的描述 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語言典型軟件體系結(jié)構(gòu)描述語言 c2 c2對構(gòu)件的描述對構(gòu)件的描述 interface_requestsinterface_requests := := request request; | null | null; interface_notificationsinterface_notifications :
31、= := notification notification; | null | null; request :=request := message_name(request_parameters message_name(request_parameters) ) request_parametersrequest_parameters := := to component_nameparameter_list to component_nameparameter_list notification :=notification := message_nameparameter_list
32、message_nameparameter_list component_message_interfacecomponent_message_interface := := top_domain_interface top_domain_interface bottom_domain_interface bottom_domain_interface top_domain_interfacetop_domain_interface := := top_domain top_domain is is out interface_requests out interface_requests i
33、n interface_notifications in interface_notifications bottom_domain_interfacebottom_domain_interface := := bottom_domain bottom_domain is is out interface_notifications out interface_notifications in interface_requests in interface_requests第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語言典型軟件體系結(jié)構(gòu)描述語言 會議安排系統(tǒng)的會
34、議安排系統(tǒng)的c2c2風(fēng)格風(fēng)格attendee-1attendee-m.attconnimportantattendee-1importantattendee-n.importantattconnmainconnmeetinginitiator第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語言典型軟件體系結(jié)構(gòu)描述語言 c2 c2對對meetginginitiatormeetginginitiator構(gòu)件的描述構(gòu)件的描述(1)(1) component meetinginitiatorcomponent meetinginitiator is is interface
35、 interface top_domain top_domain is is out out getprefset getprefset()(); getexclsetgetexclset()(); getequipreqtsgetequipreqts()(); getlocprefsgetlocprefs()(); removeexclsetremoveexclset()(); requestwithdrawal(torequestwithdrawal(to attendee) attendee); requestwithdrawal(to importantattendeerequestw
36、ithdrawal(to importantattendee) ); addprefdatesaddprefdates()(); markmtg(d:datemarkmtg(d:date;l:lov_typel:lov_type) );第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語言典型軟件體系結(jié)構(gòu)描述語言 c2 c2對對meetginginitiatormeetginginitiator構(gòu)件的描述構(gòu)件的描述(2)(2) in in prefset(p:date_mg prefset(p:date_mg) ); exclset(e:data_mgexclset(
37、e:data_mg) ); equipreqts(eq:equip_typeequipreqts(eq:equip_type) ); locpref(l:loc_typelocpref(l:loc_type) ); behaviorbehavior startup always_generate getprefset startup always_generate getprefset, getexclsetgetexclset, getequipreqtsgetequipreqts, getlocprefsgetlocprefs; received_messages prefset may_
38、generate removeexclset xorreceived_messages prefset may_generate removeexclset xor requestwithdrawal xor markmtgrequestwithdrawal xor markmtg; received_messages exclset may_generate addprefdates xor received_messages exclset may_generate addprefdates xor removeexclsetremoveexclset xor requestwithdra
39、wal xor markmtgxor requestwithdrawal xor markmtg; received_messages equipreqts may_generate addprefdates xorreceived_messages equipreqts may_generate addprefdates xor removeexclset xor requestwithdrawal xor markmtgremoveexclset xor requestwithdrawal xor markmtg; received_messages locpref always_gene
40、ratereceived_messages locpref always_generate null null;end meetinginitiatorend meetinginitiator; 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語言典型軟件體系結(jié)構(gòu)描述語言 c2 c2對對attendeeattendee構(gòu)件的描述構(gòu)件的描述(1)(1) component attendee is component attendee is interface interface bottom_domain bottom_domain is is out out pre
41、fset(p:date_mg prefset(p:date_mg) ); exclset(e:date_mgexclset(e:date_mg) ); equipreqts(eq:equip_typeequipreqts(eq:equip_type) ); inin getprefset getprefset()(); getexclsetgetexclset()(); getequipreqtsgetequipreqts()(); removeexclsetremoveexclset()(); requestwithdrawalrequestwithdrawal()(); addprefda
42、tesaddprefdates()(); markmtg(d:datemarkmtg(d:date;l:loc_typel:loc_type) );第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語言典型軟件體系結(jié)構(gòu)描述語言 c2 c2對對attendeeattendee構(gòu)件的描述構(gòu)件的描述(2)(2) behavior behaviorreceived_messages getprefset always_generate prefsetreceived_messages getprefset always_generate prefset;received_me
43、ssages addprefdates always_generate prefsetreceived_messages addprefdates always_generate prefset;received_messages getexclset always_generate exclsetreceived_messages getexclset always_generate exclset;received_messages geteqipreqts always_generate eqipreqtsreceived_messages geteqipreqts always_gen
44、erate eqipreqts;received_messages removeexclset always_generate exclsetreceived_messages removeexclset always_generate exclset;received_messages reuestwithdrawal always_generatereceived_messages reuestwithdrawal always_generate null null;received_messages markmtg always_generatereceived_messages mar
45、kmtg always_generate null null;end attendeeend attendee; 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語言典型軟件體系結(jié)構(gòu)描述語言 c2 c2對對importantattendeeimportantattendee構(gòu)件的描述構(gòu)件的描述 component importantattendee is subtype attendee(in and beh component importantattendee is subtype attendee(in and beh) ) interface interfa
46、ce bottom_domain bottom_domain is is out out locprefs(l:loc_type locprefs(l:loc_type) ); exclset(e:date_mgexclset(e:date_mg) ); equipreqts(eq:equip_typeequipreqts(eq:equip_type) ); inin getlocprefs getlocprefs()(); behaviorbehaviorreceived_messages getlocprefs always_generate locprefsreceived_messag
47、es getlocprefs always_generate locprefs;end importantattendeeend importantattendee; 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語言典型軟件體系結(jié)構(gòu)描述語言 c2 c2對體系結(jié)構(gòu)的描述對體系結(jié)構(gòu)的描述 architecture meetingscheduler architecture meetingscheduler is is conceptual_components conceptual_components attendee attendee;importantatte
48、ndeeimportantattendee;meetinginitiatormeetinginitiator; connectorsconnectors connector mainconn is message_filter no_filtering connector mainconn is message_filter no_filtering; connector attconn is message_filter no_filteringconnector attconn is message_filter no_filtering; connector importantattco
49、nn is message_filter no_filteringconnector importantattconn is message_filter no_filtering; architectural_topologyarchitectural_topology connector attconn connector attconn connections connectionstop_portstop_ports attendee attendee;bottom_ports mainconnbottom_ports mainconn;connector importantattco
50、nnconnector importantattconn connections connectionstop_ports importantattendeetop_ports importantattendee;bottom_ports mainconnbottom_ports mainconn;connector mainconnconnector mainconn connections connectionstop_ports attconntop_ports attconn;importantattconnimportantattconn;bottom_ports meetingin
51、itiatorbottom_ports meetinginitiator;end meetingschedulerend meetingscheduler; 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語言典型軟件體系結(jié)構(gòu)描述語言 c2 c2對會議安排系統(tǒng)的描述對會議安排系統(tǒng)的描述 system meetingscheduler_1 is system meetingscheduler_1 is architecture meetingscheduler architecture meetingscheduler with with attendee insta
52、nce att_1 attendee instance att_1,att_2att_2,att_3att_3; importantattendeeimportantattendee instance impatt_1 instance impatt_1,impatt_2impatt_2; meetinginitiatormeetinginitiator instance mtginit_1 instance mtginit_1;end meetingscheduler_1end meetingscheduler_1; 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件
53、體系結(jié)構(gòu)與uml uml uml簡介簡介 uml(unifieduml(unified modeling language) modeling language)是下面這些最是下面這些最好的建模方法中最好部分的集成好的建模方法中最好部分的集成: : 商務(wù)流程模型商務(wù)流程模型(work flow)(work flow) 對象建模方法對象建模方法 軟構(gòu)件建模思想軟構(gòu)件建模思想 uml uml是一種用可視化方法對軟件系統(tǒng)進(jìn)行描述、實(shí)是一種用可視化方法對軟件系統(tǒng)進(jìn)行描述、實(shí)施和說明的標(biāo)準(zhǔn)語言。施和說明的標(biāo)準(zhǔn)語言。 支持用不同實(shí)現(xiàn)技術(shù)進(jìn)行的軟件開發(fā)全過程。支持用不同實(shí)現(xiàn)技術(shù)進(jìn)行的軟件開發(fā)全過程。第第4
54、4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml uml uml簡介簡介 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml uml uml簡介簡介 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml uml uml簡介簡介 use casediagramsuse casediagrams用例圖用例圖scenariodiagramsscenariodiagrams協(xié)作圖協(xié)作圖statediagramsstatediagrams構(gòu)件圖構(gòu)件圖componentdiagramscompo
55、nentdiagrams部署圖部署圖statediagramsstatediagrams對象圖對象圖scenariodiagramsscenariodiagrams狀態(tài)圖狀態(tài)圖use casediagramsuse casediagrams序列圖序列圖statediagramsstatediagrams類圖類圖活動圖活動圖uml第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml 用例圖用例圖用于顯示用于顯示若干角色若干角色以及這些以及這些角色與系角色與系統(tǒng)提供的統(tǒng)提供的用例之間用例之間的連接關(guān)的連接關(guān)系。用例系。用例是系統(tǒng)提是系統(tǒng)提供的功能供的功能的描述
56、的描述 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml 類圖類圖表示系表示系統(tǒng)中的統(tǒng)中的類和類類和類與類之與類之間的關(guān)間的關(guān)系,它系,它是對系是對系統(tǒng)靜態(tài)統(tǒng)靜態(tài)結(jié)構(gòu)的結(jié)構(gòu)的描述描述 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml 序列圖序列圖用來反映若用來反映若干個(gè)對象之干個(gè)對象之間的動態(tài)協(xié)間的動態(tài)協(xié)作關(guān)系,也作關(guān)系,也就是隨著時(shí)就是隨著時(shí)間的推移,間的推移,對象之間是對象之間是如何交互的如何交互的 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml 協(xié)作圖協(xié)作圖描述
57、對象間的描述對象間的協(xié)作關(guān)系,協(xié)協(xié)作關(guān)系,協(xié)作圖跟序列圖作圖跟序列圖相似,顯示對相似,顯示對象間的動態(tài)合象間的動態(tài)合作關(guān)系。作關(guān)系。如果強(qiáng)調(diào)時(shí)間如果強(qiáng)調(diào)時(shí)間和順序,則使和順序,則使用序列圖;如用序列圖;如果強(qiáng)調(diào)上下級果強(qiáng)調(diào)上下級關(guān)系,則選擇關(guān)系,則選擇協(xié)作圖。這兩協(xié)作圖。這兩種圖合稱為交種圖合稱為交互圖?;D。 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml 狀態(tài)圖狀態(tài)圖描述類的描述類的對象所有對象所有可能的狀可能的狀態(tài)以及事態(tài)以及事件發(fā)生時(shí)件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)狀態(tài)的轉(zhuǎn)移條件。移條件。通常,狀通常,狀態(tài)圖是對態(tài)圖是對類圖的補(bǔ)類圖的補(bǔ)充充 第第4 4章章
58、軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml 活動圖活動圖描述滿足描述滿足用例要求用例要求所要進(jìn)行所要進(jìn)行的活動以的活動以及活動間及活動間的約束關(guān)的約束關(guān)系,有利系,有利于識別并于識別并行活動行活動 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml 構(gòu)件圖構(gòu)件圖描述代描述代碼構(gòu)件碼構(gòu)件的物理的物理結(jié)構(gòu)及結(jié)構(gòu)及各構(gòu)件各構(gòu)件之間的之間的依賴關(guān)依賴關(guān)系系 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml 部署圖部署圖部署圖部署圖定義系定義系統(tǒng)中軟統(tǒng)中軟硬件的硬件的物理體物理體系結(jié)構(gòu)系結(jié)構(gòu)
59、 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml 直接使用直接使用umluml建模建模 元-元模型元模型模型用戶對象元元- -元模型層定義了元模型層元模型層定義了元模型層的規(guī)格說明語言,元模型層的規(guī)格說明語言,元模型層為給定的建模語言定義規(guī)格為給定的建模語言定義規(guī)格說明,模型層用來定義特定說明,模型層用來定義特定軟件系統(tǒng)的模型,用戶對象軟件系統(tǒng)的模型,用戶對象用來構(gòu)建給定模型的特定實(shí)用來構(gòu)建給定模型的特定實(shí)例。例。 第第4 4章章 軟件體系結(jié)構(gòu)描述軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與軟件體系結(jié)構(gòu)與uml 直接使用直接使用umluml建模建模 語義約
60、束語義約束 由對象約束語言由對象約束語言oclocl表示,表示,oclocl基于一階謂詞邏輯,基于一階謂詞邏輯,每一個(gè)每一個(gè)oclocl表達(dá)式都處于一些表達(dá)式都處于一些umluml模型元素的背景下(由模型元素的背景下(由“selfself”引用),可使用該元素的屬性和關(guān)系作為其項(xiàng)引用),可使用該元素的屬性和關(guān)系作為其項(xiàng)(termterm),同時(shí)),同時(shí)oclocl定義了在集合(定義了在集合(setssets)、袋)、袋(bags)(bags)等上的公共操作集和遍歷建模元素間關(guān)系的構(gòu)造,因此,等上的公共操作集和遍歷建模元素間關(guān)系的構(gòu)造,因此,其它建模元素的屬性也可以作為它的項(xiàng)。其它建模元素的屬性也可以作
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版實(shí)習(xí)合同模板:實(shí)習(xí)期間實(shí)習(xí)成果轉(zhuǎn)化3篇
- 2025版木結(jié)構(gòu)景觀清包施工合同示范文本4篇
- 二零二五年度虛擬現(xiàn)實(shí)內(nèi)容創(chuàng)作者免責(zé)聲明合同范本4篇
- 2025版小型沼氣項(xiàng)目設(shè)備研發(fā)、生產(chǎn)、安裝及運(yùn)營維護(hù)合同3篇
- 增值稅及其會計(jì)處理教學(xué)課件
- 2025版新能源汽車動力電池回收利用合同范本4篇
- 2025版小麥種子市場調(diào)研與風(fēng)險(xiǎn)評估合同2篇
- 2025版學(xué)校臨時(shí)教師聘用合同實(shí)施細(xì)則3篇
- 二零二五版幕墻工程風(fēng)險(xiǎn)管理與保險(xiǎn)合同4篇
- 體育設(shè)施工程體育場地圍網(wǎng)施工考核試卷
- 定額〔2025〕1號文-關(guān)于發(fā)布2018版電力建設(shè)工程概預(yù)算定額2024年度價(jià)格水平調(diào)整的通知
- 2024年城市軌道交通設(shè)備維保及安全檢查合同3篇
- 【教案】+同一直線上二力的合成(教學(xué)設(shè)計(jì))(人教版2024)八年級物理下冊
- 湖北省武漢市青山區(qū)2023-2024學(xué)年七年級上學(xué)期期末質(zhì)量檢測數(shù)學(xué)試卷(含解析)
- 單位往個(gè)人轉(zhuǎn)賬的合同(2篇)
- 科研倫理審查與違規(guī)處理考核試卷
- GB/T 44101-2024中國式摔跤課程學(xué)生運(yùn)動能力測評規(guī)范
- 高危妊娠的評估和護(hù)理
- 2024年山東鐵投集團(tuán)招聘筆試參考題庫含答案解析
- 兒童10歲生日-百日宴-滿月酒生日會成長相冊展示(共二篇)
- 2023年高考全國甲卷數(shù)學(xué)(理)試卷【含答案】
評論
0/150
提交評論