《軟件體系結(jié)構(gòu)描述體系結(jié)構(gòu)描述語言課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件體系結(jié)構(gòu)描述體系結(jié)構(gòu)描述語言課件(15頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,2024/11/23,,1,第四章 軟件體系結(jié)構(gòu)描述,4.1,軟件體系結(jié)構(gòu)描述方法,4.2,軟件體系結(jié)構(gòu)描述框架標(biāo)準(zhǔn),4.3,體系結(jié)構(gòu)描述語言,4.4,典型體系結(jié)構(gòu)描述語言,4.5,統(tǒng)一建模語言,(UML),4.6,可擴(kuò)展標(biāo)記語言,XML,4.7,基于,XML,的軟件體系結(jié)構(gòu)描述,2023/10/8wangzhimingtsinghua.,2024/11/23,,2,4.3,體系結(jié)構(gòu),描述語言,(ADL),A
2、DL,是一種,形式化語言,,在底層語義模型的支持下,為軟件系統(tǒng)的概念體系結(jié)構(gòu)建模提供,具體語法,和,概念框架,;,基于底層語義的工具為體系結(jié)構(gòu)的表示、分析、演化、細(xì)化、設(shè)計(jì)過程等提供支持;,三個(gè)基本元素,:,構(gòu)件,:計(jì)算或數(shù)據(jù)存儲(chǔ)單元;,連接件,:用于構(gòu)件之間交互建模的體系結(jié)構(gòu)構(gòu)造塊及其支配這些交互的規(guī)則;,體系結(jié)構(gòu)配置,:描述體系結(jié)構(gòu)的構(gòu)件與連接件的連接圖。,2023/10/8wangzhimingtsinghua.,2024/11/23,,3,4.3,ADL(,續(xù),),主要的體系結(jié)構(gòu)描述語言有,Aesop,、,MetaH,、,C2,、,Rapide,、,SADL,、,Unicon,、,Wr
3、ight,,等等;,不同,ADL,強(qiáng)調(diào)了體系結(jié)構(gòu)不同的,側(cè)面,;,每一種,ADL,都以獨(dú)立的形式存在,描述語法不同且,互不兼容,,同時(shí)又有許多共同的特征;,設(shè)計(jì)人員,很難選擇,一種合適的,ADL,,若設(shè)計(jì)特定領(lǐng)域的軟件體系結(jié)構(gòu)又需要從頭開始描述。,2023/10/8wangzhimingtsinghua.,2024/11/23,,4,4.3.1,ADL,與其他語言比較,Mary Shaw,和,David Garlan,:典型的,ADL,在充分繼承和吸收傳統(tǒng)程序設(shè)計(jì)語言的,精確性,和,嚴(yán)格性,特點(diǎn)的同時(shí),還應(yīng)有,構(gòu)造、抽象、重用、組合、異構(gòu),和,分析推理,等各種能力和特性。,構(gòu)造能力:,使用較小
4、的獨(dú)立體系結(jié)構(gòu)元素來建造大型軟件系統(tǒng);,抽象能力:,ADL,使構(gòu)件和連接件描述只關(guān)注它們的抽象特性,而不管其具體的實(shí)現(xiàn)細(xì)節(jié);,2023/10/8wangzhimingtsinghua.,2024/11/23,,5,4.3.1,ADL,與其他語言比較,(,續(xù),),重用能力:,組成軟件系統(tǒng)的構(gòu)件、連接件甚至體系結(jié)構(gòu)都成為軟件系統(tǒng)開發(fā)和設(shè)計(jì)的可重用部件;,組合能力:,其描述的每一系統(tǒng)元素都有其自己的局部結(jié)構(gòu),支持軟件系統(tǒng)的動(dòng)態(tài)變化組合;,異構(gòu)能力:,允許多個(gè)不同的體系結(jié)構(gòu)描述關(guān)聯(lián)存在;,分析和推理能力:,對(duì)其描述的體系結(jié)構(gòu)進(jìn)行多種不同的性能和功能上的多種推理分析。,2023/10/8wangzhim
5、ingtsinghua.,2024/11/23,,6,4.3.1,ADL,與其他語言比較,(,續(xù),),ADL,與,需求語言,的區(qū)別在于后者描述的是,問題空間,,而前者則扎根于,解空間,中;,ADL,與,建模語言,的區(qū)別在于后者對(duì)整體行為的關(guān)注要大于對(duì)部分的關(guān)注,而,ADL,集中在構(gòu)件的表示上;,ADL,與,傳統(tǒng)的程序設(shè)計(jì)語言,的構(gòu)成元素即有許多相同和相似之處,又各自有著很大的不同。,2023/10/8wangzhimingtsinghua.,2024/11/23,,7,表,4-1,程序設(shè)計(jì)語言與,ADL,典型元素含義比較,程序設(shè)計(jì)語言,軟件體系結(jié)構(gòu),程序構(gòu)件,組成程序的基本元素及其取值范圍,系
6、統(tǒng)構(gòu)件,模塊化級(jí)別的系統(tǒng)組成實(shí)體,可進(jìn)行抽象的特性化處理,并以多種方式使用,操作符,連接元素的功能符號(hào),連接件,對(duì)組成系統(tǒng)的有關(guān)抽象實(shí)體進(jìn)行各種連接的連接機(jī)制,抽象規(guī)則,元素和操作符的命名表達(dá)規(guī)則,組合模式,系統(tǒng)中的構(gòu)件和連接件進(jìn)行連接組合的特殊方式,(,體系結(jié)構(gòu)風(fēng)格,),限制規(guī)則,一組選擇并決定具體使用何種抽象規(guī)則來作用于有關(guān)基本元素及其操作符的規(guī)則和原理,限制規(guī)則,決定有關(guān)模式能夠作為子系統(tǒng)進(jìn)行構(gòu)造大型軟件系統(tǒng)和開發(fā)合法子系統(tǒng)的有關(guān)條件,規(guī)范說明,有關(guān)句法的語義關(guān)聯(lián)說明,規(guī)范說明,有關(guān)系統(tǒng)組織結(jié)構(gòu)方面的語義關(guān)聯(lián)說明,2023/10/8wangzhimingtsinghua.,2024/11
7、/23,,8,表,2,常見的軟件體系結(jié)構(gòu)元素,系統(tǒng)構(gòu)件元素,連接件元素,純計(jì)算單元,簡單的輸入,/,輸出處理關(guān)聯(lián),一般不保留處理狀態(tài),如數(shù)學(xué)函數(shù)、過濾器和轉(zhuǎn)換器,過程調(diào)用,在構(gòu)件實(shí)體之間實(shí)現(xiàn)單線程控制的連接機(jī)制,如普通過程調(diào)用和遠(yuǎn)程過程調(diào)用,數(shù)據(jù)存儲(chǔ)單元,具有永久存儲(chǔ)特性的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫、文件系統(tǒng)、符號(hào)表和超文本,數(shù)據(jù)流,系統(tǒng)中通過數(shù)據(jù)流進(jìn)行交互的獨(dú)立處理流程連接機(jī)制,根據(jù)得到的數(shù)據(jù)來進(jìn)行構(gòu)件實(shí)體的交互控制,如,Unix,中的管道機(jī)制,管理器,對(duì)系統(tǒng)中的有關(guān)狀態(tài)和緊密相關(guān)操作進(jìn)行規(guī)定與限制的實(shí)體,如抽象數(shù)據(jù)類型和系統(tǒng)服務(wù)器,隱含觸發(fā)器,由并發(fā)出現(xiàn)的事件來實(shí)現(xiàn)構(gòu)件實(shí)體之間交互的連接機(jī)制,構(gòu)
8、件實(shí)體之間不存在明顯確定的交互規(guī)定,如時(shí)間調(diào)度協(xié)議和自動(dòng)垃圾回收處理,控制器,控制和管理系統(tǒng)中有關(guān)事件發(fā)生的時(shí)間序列,如調(diào)度程序和同步處理協(xié)調(diào)程序,消息傳遞,獨(dú)立構(gòu)件實(shí)體之間通過離散和非在線數(shù)據(jù),(,同步或非同步,),進(jìn)行交互的連接機(jī)制,如,TCP/IP,連接器,充當(dāng)有關(guān)實(shí)體間信息轉(zhuǎn)換角色的實(shí)體,如通訊連接器和用戶界面,數(shù)據(jù)共享協(xié)議,構(gòu)件之間通過相同的數(shù)據(jù)空間進(jìn)行并發(fā)協(xié)調(diào)操作的機(jī)制,如黑板系統(tǒng)中的黑板和多用戶數(shù)據(jù)庫系統(tǒng)中的共享數(shù)據(jù)區(qū),2023/10/8wangzhimingtsinghua.,2024/11/23,,9,4.3.2,ADL,的構(gòu)成要素,(,續(xù),),2023/10/8wangzh
9、imingtsinghua.,2024/11/23,,10,4.3.2,ADL,的構(gòu)成要素,(,續(xù),),1,、構(gòu)件,一個(gè),計(jì)算單元,或,數(shù)據(jù)存儲(chǔ),,是計(jì)算與狀態(tài)存在的場所;小到只有一個(gè),過程,,大到,整個(gè)應(yīng)用程序,;,構(gòu)件包含多種,屬性,,如接口、類型、語義、約束、演化和非功能屬性等;,接口,是構(gòu)件與外部世界的一組交互點(diǎn),接口說明構(gòu)件提供的那些服務(wù);,通過不同的端口類型,構(gòu)件可以提供,多重接口,。,2023/10/8wangzhimingtsinghua.,2024/11/23,,11,4.3.2,ADL,的構(gòu)成要素,(,續(xù),),1,、構(gòu)件,(,續(xù),),構(gòu)件類型保證構(gòu)件能夠在體系結(jié)構(gòu)描述中多次
10、,實(shí)例化,,每個(gè)實(shí)例對(duì)應(yīng)于構(gòu)件的,不同實(shí)現(xiàn),;,構(gòu)件,演化能力,是系統(tǒng)演化的基礎(chǔ),,ADL,通過構(gòu)件的子類型及其特性的,細(xì)化,來支持演化過程;目前只有少數(shù),ADL,部分地支持演化。,2023/10/8wangzhimingtsinghua.,2024/11/23,,12,4.3.2,ADL,的構(gòu)成要素,(,續(xù),),2,、連接件,用來建立構(gòu)件間的,交互,以及支配這些,交互規(guī)則,的體系結(jié)構(gòu)構(gòu)造模塊;,可不與實(shí)現(xiàn)系統(tǒng)中的編譯單元對(duì)應(yīng)。可能以,共享變量、緩沖區(qū)、動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)、客戶服務(wù)協(xié)議、,SQL,語句,等形式出現(xiàn);,接口由一組,角色,組成,定義了該連接件表示的交互參與者。,2023/10/8wang
11、zhimingtsinghua.,2024/11/23,,13,4.3.2,ADL,的構(gòu)成要素,(,續(xù),),2,、連接件,(,續(xù),),連接件應(yīng)該能夠推導(dǎo)出軟件體系結(jié)構(gòu)的形成情況,體系結(jié)構(gòu)配置中要求構(gòu)件,端口,與連接件,角色,的,顯式連接,;,為抽象通訊協(xié)議并使之能夠重用,,ADL,應(yīng)該將連接件構(gòu)造為,類型,;,為完成對(duì)構(gòu)件接口的有用分析、保證跨體系結(jié)構(gòu)抽象層的細(xì)化一致性,強(qiáng)調(diào)互聯(lián)與通信約束等,,ADL,應(yīng)提供,連接件協(xié)議,及,變換語法,。,2023/10/8wangzhimingtsinghua.,2024/11/23,,14,4.3.2,ADL,的構(gòu)成要素,(,續(xù),),3,、體系結(jié)構(gòu)配置,描
12、述體系結(jié)構(gòu)的構(gòu)件與連接件的,連接圖,,提供信息來確定構(gòu)件是否正確連接、接口是否匹配、連接件構(gòu)成的通信是否正確,等等;,利用配置來支持系統(tǒng),可變性,,使不同技術(shù)人員都能理解并熟悉系統(tǒng),為,方便交流,;,理想情況是從配置說明中,澄清系統(tǒng)結(jié)構(gòu),,能使構(gòu)建系統(tǒng)的各種參與者理解系統(tǒng);,形式,:文本、圖形、多視圖、多場景。,2023/10/8wangzhimingtsinghua.,2024/11/23,,15,4.3.2,ADL,的構(gòu)成要素,(,續(xù),),3,、體系結(jié)構(gòu)配置,(,續(xù),),為在,不同細(xì)節(jié)層次,上描述系統(tǒng),體系結(jié)構(gòu)應(yīng)具有,復(fù)合,或等級(jí)復(fù)合的特性;,支持采用,異構(gòu),構(gòu)件與連接件,便于重用不同,粒度,的已有構(gòu)件和連接件,(,不同設(shè)計(jì)者、開發(fā)者、編程語言、通信協(xié)議,),;,大型的、長期運(yùn)行的系統(tǒng)是在不斷,增長演化,的,,ADL,必須支持對(duì)系統(tǒng)增長演化的說明。,2023/10/8wangzhimingtsinghua.,