第4章軟件體系結(jié)構(gòu)描述PPT課件_第1頁(yè)
第4章軟件體系結(jié)構(gòu)描述PPT課件_第2頁(yè)
第4章軟件體系結(jié)構(gòu)描述PPT課件_第3頁(yè)
第4章軟件體系結(jié)構(gòu)描述PPT課件_第4頁(yè)
第4章軟件體系結(jié)構(gòu)描述PPT課件_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 圖形表達(dá)工具 第4章 軟件體系結(jié)構(gòu)描述4.1 軟件體系結(jié)構(gòu)描述方法項(xiàng)目管理測(cè)試結(jié)果打印程序復(fù)雜度函數(shù)調(diào)用關(guān)系圖帶時(shí)間特性的流程圖復(fù)雜度計(jì)算布圖算法最優(yōu)/最劣時(shí)間計(jì)算緩沖測(cè)試結(jié)果庫(kù)測(cè)試配置時(shí)間分析器靜態(tài)分析器第1頁(yè)/共50頁(yè) 模塊內(nèi)連接語(yǔ)言 第4章 軟件體系結(jié)構(gòu)描述4.1 軟件體系結(jié)構(gòu)描述方法 采用將一種或幾種傳統(tǒng)程序設(shè)計(jì)語(yǔ)言的模塊連接起來(lái)的模塊內(nèi)連接語(yǔ)言。由于程序設(shè)計(jì)語(yǔ)言和模塊內(nèi)連接語(yǔ)言具有嚴(yán)格的語(yǔ)義基礎(chǔ),因此它們能支持對(duì)較大的軟件單元進(jìn)行描述,諸如定義/使用和扇入/扇出等操作。例如,Ada語(yǔ)言采用use實(shí)現(xiàn)包的重用,Pascal語(yǔ)言采用過(guò)程(函數(shù))模塊的交互等。 MIL方式對(duì)模塊化的程序設(shè)

2、計(jì)和分段編譯等程序設(shè)計(jì)與開(kāi)發(fā)技術(shù)確實(shí)發(fā)揮了很大的作用。但是由于這些語(yǔ)言處理和描述的軟件設(shè)計(jì)開(kāi)發(fā)層次過(guò)于依賴(lài)程序設(shè)計(jì)語(yǔ)言,因此限制了它們處理和描述比程序設(shè)計(jì)語(yǔ)言元素更為抽象的高層次軟件體系結(jié)構(gòu)元素的能力。第2頁(yè)/共50頁(yè) 基于軟構(gòu)件的系統(tǒng)描述語(yǔ)言 第4章 軟件體系結(jié)構(gòu)描述4.1 軟件體系結(jié)構(gòu)描述方法 基于軟構(gòu)件的系統(tǒng)描述語(yǔ)言將軟件系統(tǒng)描述成一種是由許多以特定形式相互作用的特殊軟件實(shí)體構(gòu)造組成的組織或系統(tǒng)。 例如,一種多變配置語(yǔ)言就可以用來(lái)在一個(gè)較高的抽象層次上對(duì)系統(tǒng)的體系結(jié)構(gòu)建模,Darwin最初用作設(shè)計(jì)和構(gòu)造復(fù)雜分布式系統(tǒng)的配置說(shuō)明語(yǔ)言,因具有動(dòng)態(tài)特性,也可用來(lái)描述動(dòng)態(tài)體系結(jié)構(gòu)。 這種表達(dá)和描

3、述方式雖然也是較好的一種以構(gòu)件為單位的軟件系統(tǒng)描述方法,但是他們所面向和針對(duì)的系統(tǒng)元素仍然是一些層次較低的以程序設(shè)計(jì)為基礎(chǔ)的通信協(xié)作軟件實(shí)體單元,而且這些語(yǔ)言所描述和表達(dá)的系統(tǒng)一般而言都是面向特定應(yīng)用的特殊系統(tǒng),這些特性使得基于軟構(gòu)件的系統(tǒng)描述仍然不是十分適合軟件體系結(jié)構(gòu)的描述和表達(dá)。第3頁(yè)/共50頁(yè) 軟件體系結(jié)構(gòu)描述語(yǔ)言 第4章 軟件體系結(jié)構(gòu)描述4.1 軟件體系結(jié)構(gòu)描述方法 軟件體系結(jié)構(gòu)的第四種描述和表達(dá)方法是參照傳統(tǒng)程序設(shè)計(jì)語(yǔ)言的設(shè)計(jì)和開(kāi)發(fā)經(jīng)驗(yàn),重新設(shè)計(jì)、開(kāi)發(fā)和使用針對(duì)軟件體系結(jié)構(gòu)特點(diǎn)的專(zhuān)門(mén)的軟件體系結(jié)構(gòu)描述語(yǔ)言。 由于ADL是在吸收了傳統(tǒng)程序設(shè)計(jì)中的語(yǔ)義嚴(yán)格精確的特點(diǎn)基礎(chǔ)上,針對(duì)軟件體系

4、結(jié)構(gòu)的整體性和抽象性特點(diǎn),定義和確定適合于軟件體系結(jié)構(gòu)表達(dá)與描述的有關(guān)抽象元素,因此,ADL是當(dāng)前軟件開(kāi)發(fā)和設(shè)計(jì)方法學(xué)中一種發(fā)展很快的軟件體系結(jié)構(gòu)描述方法,目前,已經(jīng)有幾十種常見(jiàn)的ADL。 第4頁(yè)/共50頁(yè) IEEE P1471 第4章 軟件體系結(jié)構(gòu)描述4.2 軟件體系結(jié)構(gòu)描述框架標(biāo)準(zhǔn) IEEE P1471于2000年9月21日通過(guò)IEEE-SA標(biāo)準(zhǔn)委員會(huì)評(píng)審。 IEEE P1471適用于軟件密集的系統(tǒng),其目標(biāo)在于:便于體系結(jié)構(gòu)的表達(dá)與交流,并通過(guò)體系結(jié)構(gòu)要素及其實(shí)踐標(biāo)準(zhǔn)化,奠定質(zhì)量與成本的基礎(chǔ)。 IEEE P1471詳細(xì)介紹了一套體系結(jié)構(gòu)描述的概念框架,并給出建立框架的思路。但如何描述以及具

5、體的描述技術(shù)等方面缺乏更進(jìn)一步的指導(dǎo)。 第5頁(yè)/共50頁(yè) Rational 第4章 軟件體系結(jié)構(gòu)描述4.2 軟件體系結(jié)構(gòu)描述框架標(biāo)準(zhǔn) Rational起草了可重用的軟件資產(chǎn)規(guī)格說(shuō)明,專(zhuān)門(mén)討論了體系結(jié)構(gòu)描述的規(guī)格說(shuō)明,提出了一套易于重用的體系結(jié)構(gòu)描述規(guī)范。該建議草案已經(jīng)提交OMG。 基于RUP(Rational United Process)、采用UML模型描述軟件的體系結(jié)構(gòu),認(rèn)為體系結(jié)構(gòu)描述的關(guān)鍵是定義視點(diǎn)、視圖以及建模元素之間的映射關(guān)系。 與IEEE P1471相比,該建議標(biāo)準(zhǔn)的體系結(jié)構(gòu)描述方案涉及面比較窄,所注重的層次比較低,因而更具體。由于將體系結(jié)構(gòu)的描述限于UML和RUP,具有一定的局

6、限性,但該建議標(biāo)準(zhǔn)結(jié)合了業(yè)界已經(jīng)廣泛采用的建模語(yǔ)言和開(kāi)發(fā)過(guò)程,因而易于推廣,可以有效實(shí)現(xiàn)在跨組織之間重用體系結(jié)構(gòu)描述結(jié)果。第6頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述語(yǔ)言 ADL是在底層語(yǔ)義模型的支持下,為軟件系統(tǒng)的概念體系結(jié)構(gòu)建模提供了具體語(yǔ)法和概念框架。基于底層語(yǔ)義的工具為體系結(jié)構(gòu)的表示、分析、演化、細(xì)化、設(shè)計(jì)過(guò)程等提供支持。其三個(gè)基本元素是:構(gòu)件、連接件、體系結(jié)構(gòu)配置。 主要的體系結(jié)構(gòu)描述語(yǔ)言有Aesop、MetaH、C2、Rapide、SADL、Unicon和Wright等,盡管它們都描述軟件體系結(jié)構(gòu),卻有不同的特點(diǎn)。 這些ADL強(qiáng)調(diào)了體系結(jié)構(gòu)不同的側(cè)面,對(duì)體系結(jié)構(gòu)

7、的研究和應(yīng)用起到了重要的作用,但也有負(fù)面的影響。每一種ADL都以獨(dú)立的形式存在,描述語(yǔ)法不同且互不兼容,同時(shí)又有許多共同的特征,這使設(shè)計(jì)人員很難選擇一種合適的ADL,若設(shè)計(jì)特定領(lǐng)域的軟件體系結(jié)構(gòu)又需要從頭開(kāi)始描述。第7頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述語(yǔ)言 構(gòu)造能力:ADL能夠使用較小的獨(dú)立體系結(jié)構(gòu)元素來(lái)建造大型軟件系統(tǒng); 抽象能力:ADL使得軟件體系結(jié)構(gòu)中的構(gòu)件和連接件描述可以只關(guān)注它們的抽象特性,而不管其具體的實(shí)現(xiàn)細(xì)節(jié); 重用能力:ADL使得組成軟件系統(tǒng)的構(gòu)件、連接件甚至是軟件體系結(jié)構(gòu)都成為軟件系統(tǒng)開(kāi)發(fā)和設(shè)計(jì)的可重用部件; ADL與其他語(yǔ)言的比較(1) 第8頁(yè)/共

8、50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述語(yǔ)言 組合能力:ADL使得其描述的每一系統(tǒng)元素都有其自己的局部結(jié)構(gòu),這種描述局部結(jié)構(gòu)的特點(diǎn)使得ADL支持軟件系統(tǒng)的動(dòng)態(tài)變化組合; 異構(gòu)能力:ADL允許多個(gè)不同的體系結(jié)構(gòu)描述關(guān)聯(lián)存在; 分析和推理能力:ADL允許對(duì)其描述的體系結(jié)構(gòu)進(jìn)行多種不同的性能和功能上的多種推理分析。 ADL與其他語(yǔ)言的比較(2)第9頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.3 軟件體系結(jié)構(gòu)描述語(yǔ)言 常見(jiàn)的軟件體系結(jié)構(gòu)元素 第10頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 C2和其提供的設(shè)計(jì)環(huán)境(Argo)支持采用基于時(shí)間的風(fēng)格來(lái)描述用戶(hù)界面系統(tǒng),

9、并支持使用可替換、可重用的構(gòu)件開(kāi)發(fā)GUI的體系結(jié)構(gòu)。 在C2中,連接件負(fù)責(zé)構(gòu)件之間消息的傳遞,而構(gòu)件維持狀態(tài)、執(zhí)行操作并通過(guò)兩個(gè)名字分別為“top”和“bottom”的端口和其它的構(gòu)件交換信息。 每個(gè)接口包含一種可發(fā)送的消息和一組可接收的消息。構(gòu)件之間的消息要么是請(qǐng)求其它構(gòu)件執(zhí)行某個(gè)操作的請(qǐng)求消息,要么是通知其他構(gòu)件自身執(zhí)行了某個(gè)操作或狀態(tài)發(fā)生改變的通知消息。 C2概述(1)第11頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 構(gòu)件之間的消息交換不能直接進(jìn)行,而只能通過(guò)連接件來(lái)完成。每個(gè)構(gòu)件接口最多只能和一個(gè)連接件相連,而連接件可以和任意數(shù)目的構(gòu)件或連接件相連。 請(qǐng)求消息

10、只能向上層傳送而通知消息只能向下層傳送。 通知消息的傳遞只對(duì)應(yīng)于構(gòu)件內(nèi)部的操作,而和接收消息的構(gòu)件的需求無(wú)關(guān)。 C2對(duì)構(gòu)件和連接件的實(shí)現(xiàn)語(yǔ)言、實(shí)現(xiàn)構(gòu)件的線程控制、構(gòu)件的部署以及連接件使用的通訊協(xié)議等都不加限制。 C2概述(2)第12頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 C2對(duì)構(gòu)件的描述 第13頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 C2對(duì)構(gòu)件接口的描述 interface_requests := request; | null; interface_notifications := notification; | null; req

11、uest := message_name(request_parameters) request_parameters := to component_nameparameter_list notification := message_nameparameter_list component_message_interface := top_domain_interface bottom_domain_interface top_domain_interface := top_domain is out interface_requests in interface_notification

12、s bottom_domain_interface := bottom_domain is out interface_notifications in interface_requests第14頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 會(huì)議安排系統(tǒng)的C2風(fēng)格Attendee-1Attendee-M.AttConnImportantAttendee-1ImportantAttendee-N.ImportantAttConnMainConnMeetingInitiator第15頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 C2對(duì)Meetging

13、Initiator構(gòu)件的描述(1) component MeetingInitiator is interface top_domain is out GetPrefSet(); GetExclSet(); GetEquipReqts(); GetLocPrefs(); RemoveExclSet(); RequestWithdrawal(to Attendee); RequestWithdrawal(to ImportantAttendee); AddPrefDates(); MarkMtg(d:date;l:lov_type);第16頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系

14、結(jié)構(gòu)描述語(yǔ)言 C2對(duì)MeetgingInitiator構(gòu)件的描述(2) in PrefSet(p:date_mg); ExclSet(e:data_mg); EquipReqts(eq:equip_type); LocPref(l:loc_type); behavior startup always_generate GetPrefSet, GetExclSet, GetEquipReqts,GetLocPrefs; received_messages PrefSet may_generate RemoveExclSet xor RequestWithdrawal xor MarkMtg; r

15、eceived_messages ExclSet may_generate AddPrefDates xor RemoveExclSet xor RequestWithdrawal xor MarkMtg; received_messages EquipReqts may_generate AddPrefDates xor RemoveExclSet xor RequestWithdrawal xor MarkMtg; received_messages LocPref always_generate null;end MeetingInitiator; 第17頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)

16、描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 C2對(duì)Attendee構(gòu)件的描述(1) component Attendee is interface bottom_domain is out PrefSet(p:date_mg); ExclSet(e:date_mg); EquipReqts(eq:equip_type); in GetPrefSet(); GetExclSet(); GetEquipReqts(); RemoveExclSet(); RequestWithdrawal(); AddPrefDates(); MarkMtg(d:date;l:loc_type);第18頁(yè)/共50頁(yè)第4章

17、 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 C2對(duì)Attendee構(gòu)件的描述(2) behaviorreceived_messages GetPrefSet always_generate PrefSet;received_messages AddPrefDates always_generate PrefSet;received_messages GetExclSet always_generate ExclSet;received_messages GetEqipReqts always_generate EqipReqts;received_messages RemoveExcl

18、Set always_generate ExclSet;received_messages ReuestWithdrawal always_generate null;received_messages MarkMtg always_generate null;end Attendee; 第19頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 C2對(duì)ImportantAttendee構(gòu)件的描述component ImportantAttendee is subtype Attendee(in and beh) interface bottom_domain is out L

19、ocPrefs(l:loc_type); ExclSet(e:date_mg); EquipReqts(eq:equip_type); in GetLocPrefs(); behaviorreceived_messages GetLocPrefs always_generate LocPrefs;end ImportantAttendee; 第20頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 C2對(duì)體系結(jié)構(gòu)的描述architecture MeetingScheduler is conceptual_components Attendee;ImportantAttende

20、e;MeetingInitiator; connectors connector MainConn is message_filter no_filtering; connector AttConn is message_filter no_filtering; connector ImportantAttConn is message_filter no_filtering; architectural_topology connector AttConn connections top_ports Attendee; bottom_ports MainConn; connector Imp

21、ortantAttConn connections top_ports ImportantAttendee; bottom_ports MainConn; connector MainConn connections top_ports AttConn;ImportantAttConn; bottom_ports MeetingInitiator;end MeetingScheduler; 第21頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 C2對(duì)會(huì)議安排系統(tǒng)的描述 system MeetingScheduler_1 is architecture MeetingSch

22、eduler with Attendee instance Att_1,Att_2,Att_3; ImportantAttendee instance ImpAtt_1,ImpAtt_2; MeetingInitiator instance MtgInit_1; end MeetingScheduler_1; 第22頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 ACME 結(jié)構(gòu)屬性設(shè)計(jì)約束類(lèi)型和風(fēng)格第23頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型軟件體系結(jié)構(gòu)描述語(yǔ)言 ACME 結(jié)構(gòu)構(gòu)件連接件系統(tǒng)端口角色表述表述圖第24頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.4 典型

23、軟件體系結(jié)構(gòu)描述語(yǔ)言 ACME 結(jié)構(gòu)構(gòu)件連接件系統(tǒng)端口角色表述表述圖第25頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML UML簡(jiǎn)介 UML(Unified Modeling Language)是下面這些最好的建模方法中最好部分的集成: 商務(wù)流程模型(Work Flow) 對(duì)象建模方法 軟構(gòu)件建模思想 UML是一種用可視化方法對(duì)軟件系統(tǒng)進(jìn)行描述、實(shí)施和說(shuō)明的標(biāo)準(zhǔn)語(yǔ)言。 支持用不同實(shí)現(xiàn)技術(shù)進(jìn)行的軟件開(kāi)發(fā)全過(guò)程。第26頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML UML簡(jiǎn)介 第27頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML UML簡(jiǎn)介 U

24、se CaseDiagramsUse CaseDiagrams用例圖ScenarioDiagramsScenarioDiagrams協(xié)作圖StateDiagramsStateDiagrams構(gòu)件圖ComponentDiagramsComponentDiagrams部署圖StateDiagramsStateDiagrams對(duì)象圖ScenarioDiagramsScenarioDiagrams狀態(tài)圖Use CaseDiagramsUse CaseDiagrams序列圖StateDiagramsStateDiagrams類(lèi)圖活動(dòng)圖UML第28頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與

25、UML 用例圖用于顯示若干角色以及這些角色與系統(tǒng)提供的用例之間的連接關(guān)系。用例是系統(tǒng)提供的功能的描述 第29頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML 類(lèi)圖表示系統(tǒng)中的類(lèi)和類(lèi)與類(lèi)之間的關(guān)系,它是對(duì)系統(tǒng)靜態(tài)結(jié)構(gòu)的描述 第30頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML 序列圖用來(lái)反映若干個(gè)對(duì)象之間的動(dòng)態(tài)協(xié)作關(guān)系,也就是隨著時(shí)間的推移,對(duì)象之間是如何交互的 第31頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML 協(xié)作圖描述對(duì)象間的協(xié)作關(guān)系,協(xié)作圖跟序列圖相似,顯示對(duì)象間的動(dòng)態(tài)合作關(guān)系。如果強(qiáng)調(diào)時(shí)間和順序,則使用序列圖;如果強(qiáng)調(diào)上下級(jí)關(guān)系,則

26、選擇協(xié)作圖。這兩種圖合稱(chēng)為交互圖。 第32頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML 狀態(tài)圖描述類(lèi)的對(duì)象所有可能的狀態(tài)以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件。通常,狀態(tài)圖是對(duì)類(lèi)圖的補(bǔ)充 第33頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML 活動(dòng)圖描述滿(mǎn)足用例要求所要進(jìn)行的活動(dòng)以及活動(dòng)間的約束關(guān)系,有利于識(shí)別并行活動(dòng) 第34頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML 構(gòu)件圖描述代碼構(gòu)件的物理結(jié)構(gòu)及各構(gòu)件之間的依賴(lài)關(guān)系 第35頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML 部署圖部署圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu) 第36頁(yè)/共

27、50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML 直接使用UML建模 元-元模型元模型模型用戶(hù)對(duì)象元-元模型層定義了元模型層的規(guī)格說(shuō)明語(yǔ)言,元模型層為給定的建模語(yǔ)言定義規(guī)格說(shuō)明,模型層用來(lái)定義特定軟件系統(tǒng)的模型,用戶(hù)對(duì)象用來(lái)構(gòu)建給定模型的特定實(shí)例。 第37頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML 直接使用UML建模 語(yǔ)義約束 由對(duì)象約束語(yǔ)言O(shè)CL表示,OCL基于一階謂詞邏輯,每一個(gè)OCL表達(dá)式都處于一些UML模型元素的背景下(由“self”引用),可使用該元素的屬性和關(guān)系作為其項(xiàng)(term),同時(shí)OCL定義了在集合(sets)、袋(bags)等上的公共操作集和

28、遍歷建模元素間關(guān)系的構(gòu)造,因此,其它建模元素的屬性也可以作為它的項(xiàng)。第38頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML 直接使用UML建模 UML中的通用表示 (1)字符串:表示有關(guān)模型的信息;(2)名字:表示模型元素;(3)標(biāo)號(hào):不同于編程語(yǔ)言中的標(biāo)號(hào),是用于表示或說(shuō)明圖形符號(hào)的字符串;(4)特殊字符串:表示某一模型元素的特性;(5)類(lèi)型表達(dá)式:聲明屬性、變量及參數(shù),含義同編程語(yǔ)言中的類(lèi)型表達(dá)式;(6)實(shí)體類(lèi)型:它是UML的擴(kuò)充機(jī)制,運(yùn)用實(shí)體類(lèi)型可定義新類(lèi)型的模型元素;第39頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML 直接使用UML建模 UML語(yǔ)義部

29、分 通用元素:主要描述UML中各元素的語(yǔ)義。通用元素是UML中的基本構(gòu)造單位,包括模型元素和視圖元素,模型元素用來(lái)構(gòu)造系統(tǒng),視圖元素用來(lái)構(gòu)成系統(tǒng)的表示成分; 通用機(jī)制:主要描述使UML保持簡(jiǎn)單和概念上一致的機(jī)制的語(yǔ)義。包括定制、標(biāo)記值、注記、約束、依賴(lài)關(guān)系、類(lèi)型-實(shí)例、類(lèi)型-類(lèi)的對(duì)應(yīng)關(guān)系等機(jī)制; 通用類(lèi)型:主要描述UML中各種類(lèi)型的語(yǔ)義。這些類(lèi)型包括布爾類(lèi)型、表達(dá)式類(lèi)型、列表類(lèi)型、多重性類(lèi)型、名字類(lèi)型、坐標(biāo)類(lèi)型、字符串類(lèi)型、時(shí)間類(lèi)型、用戶(hù)自定義類(lèi)型等。三部分不是相互獨(dú)立的,而是相互交叉重疊、緊密相連,共同構(gòu)成了UML的完整語(yǔ)義。第40頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與U

30、ML 直接使用UML建模 會(huì)議安排系統(tǒng)的類(lèi)圖 PersonImportantAttendeeAttendeeLocationMeetingInitiatorDateMeetingStronglyConflicts WithConflicts With0.*0.*0.*0.*Profers11111110.*0.*121.*1.* 0.*ProfersInvitesProposesExcludes0.*第41頁(yè)/共50頁(yè)第4章 軟件體系結(jié)構(gòu)描述4.5 軟件體系結(jié)構(gòu)與UML 直接使用UML建模 會(huì)議安排系統(tǒng)類(lèi)接口 MtgInitGetPrefSet();GetExclSet();RemoveExclSet();RequestWithdrawal(Attendee);AddPrefDates();ImportantMtgInitGetLocPrefs();MtgAttendPrefSet(date_mg);ExclSet(date_mg);EquipReqts(equip_type);ImportantMtgAttendL

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論