




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
描述方法的種類
第四章軟件體系結構描述4.1軟件體系結構描述方法◎圖形表達工具◎模塊內(nèi)連接語言◎基于軟構件的系統(tǒng)描述語言◎軟件體系結構描述語言
1
圖形表達工具
第四章軟件體系結構描述4.1軟件體系結構描述方法某軟件輔助理解和測試工作部分體系結構描述構件連接件2
模塊內(nèi)連接語言
第四章軟件體系結構描述4.1軟件體系結構描述方法◎采用將一種或幾種傳統(tǒng)程序設計語言的模塊連接起來的模塊內(nèi)連接語言(moduleinterconnectionlanguage,MIL)?!蛴捎诔绦蛟O計語言和模塊內(nèi)連接語言具有嚴格的語義基礎,因此它們能支持對較大的軟件單元進行描述,諸如定義/使用和扇入/扇出等。例如,Ada語言采用use實現(xiàn)包的重用,Pascal語言采用過程(函數(shù))模塊的交互等?!?/p>
MIL方式對模塊化的程序設計和分段編譯等程序設計與開發(fā)技術確實發(fā)揮了很大的作用。但是由于這些語言處理和描述的軟件設計開發(fā)層次過于依賴程序設計語言,因此限制了它們處理和描述比程序設計語言元素更為抽象的高層次軟件體系結構元素的能力。3
基于軟構件的系統(tǒng)描述語言
第四章軟件體系結構描述4.1軟件體系結構描述方法◎基于軟構件的系統(tǒng)描述語言將軟件系統(tǒng)描述成一種是由許多以特定形式相互作用的特殊軟件實體構造組成的組織或系統(tǒng)。◎例如,一種多變配置語言就可以用來在一個較高的抽象層次上對系統(tǒng)的體系結構建模,Darwin最初用作設計和構造復雜分布式系統(tǒng)的配置說明語言,因具有動態(tài)特性,也可用來描述動態(tài)體系結構?!蛉秉c:針對的系統(tǒng)元素仍然是一些層次較低的實體單元,對軟件體系結構的描述不太適合。4
軟件體系結構描述語言
第四章軟件體系結構描述4.1軟件體系結構描述方法◎軟件體系結構的第四種描述和表達方法是參照傳統(tǒng)程序設計語言的設計和開發(fā)經(jīng)驗,重新設計、開發(fā)和使用針對軟件體系結構特點的專門的軟件體系結構描述語言?!蛴捎贏DL是在吸收了傳統(tǒng)程序設計中的語義嚴格精確的特點基礎上,針對軟件體系結構的整體性和抽象性特點,定義和確定適合于軟件體系結構表達與描述的有關抽象元素,因此,ADL是當前軟件開發(fā)和設計方法學中一種發(fā)展很快的軟件體系結構描述方法,目前,已經(jīng)有幾十種常見的ADL。
5
IEEEP1471第四章軟件體系結構描述4.2軟件體系結構描述框架標準◎IEEE于1995年8月成立了體系結構工作組,負責起草了體系結構描述框架標準,即IEEEP1471?!?/p>
IEEEP1471于2000年9月通過IEEE-SA標準委員會評審?!騃EEEP1471適用于軟件密集的系統(tǒng),其目標在于:便于體系結構的表達與交流,并通過體系結構要素及其實踐標準化,奠定質量與成本的基礎。6
IEEEP1471第四章軟件體系結構描述4.2軟件體系結構描述框架標準◎該標準還討論了體系結構描述實踐,在應用體系結構描述的推薦標準時,應遵循如下具體的要求:
體系結構的存檔要求;
能識別人員及其關系;
體系結構視點的選擇(視點的具體規(guī)格說明);
體系結構視點;
體系結構視點之間的一致性;
體系結構原理。7概念框架8
IEEEP1471第四章軟件體系結構描述4.2軟件體系結構描述框架標準◎IEEEP1471詳細介紹了一套體系結構描述的概念框架,并給出建立框架的思路。但如何描述以及具體的描述技術等方面缺乏更進一步的指導。9
Rational第四章軟件體系結構描述4.2軟件體系結構描述框架標準◎Rational起草了可重用的軟件資產(chǎn)規(guī)格說明,專門討論了體系結構描述的規(guī)格說明,提出了一套易于重用的體系結構描述規(guī)范。該建議草案已經(jīng)提交OMG?!騌ational建議基于RUP(RationalUnifiedProcess)、采用UML模型描述軟件的體系結構,認為體系結構描述的關鍵是定義視點、視圖以及建模元素之間的映射關系。
10
Rational第四章軟件體系結構描述4.2軟件體系結構描述框架標準◎可以從四個視點出發(fā)描述體系結構,即需求視點、設計視點、實現(xiàn)視點和測試視點?!蛟诖嘶A上提出了7個體系結構視圖:用例視圖、域視圖、非功能需求視圖、邏輯視圖、實現(xiàn)視圖、過程視圖和部署視圖?!虿南到y(tǒng)建模的角度考慮多個視圖之間的映射關系。
11
Rational第四章軟件體系結構描述4.2軟件體系結構描述框架標準◎Rational的建議標準覆蓋了“4+1”體系結構模型中的4個視圖,并在原則上討論了視圖以及視圖之間的映射表示問題?!蛟摻ㄗh標準結合了業(yè)界已經(jīng)廣泛采用的建模語言和開發(fā)過程,因而易于推廣,可以有效實現(xiàn)在跨組織之間重用體系結構描述結果?!蛴捎趯Ⅲw系結構的描述限于UML和RUP,具有一定的局限性。12第四章軟件體系結構描述4.3軟件體系結構描述語言
ADL是在底層語義模型的支持下,為軟件系統(tǒng)的概念體系結構建模提供了具體語法和概念框架?;诘讓诱Z義的工具為體系結構的表示、分析、演化、細化、設計過程等提供支持。其三個基本元素是:構件、連接件、體系結構配置。主要的體系結構描述語言有Aesop、MetaH、C2、Rapide、SADL、Unicon和Wright等,盡管它們都描述軟件體系結構,卻有不同的特點。
13第四章軟件體系結構描述4.3軟件體系結構描述語言
Aesop支持體系結構風格的應用;
MetaH為設計者提供了關于實時電子控制系統(tǒng)軟件的設計指導;C2支持基于消息傳遞風格的用戶界面系統(tǒng)的描述;
Rapide支持體系結構設計的模擬,并提供了分析模擬結果的工具;SADL提供了關于體系結構細化的形式化基礎;
Unicon支持異構的構件和連接類型,并提供了關于體系結構的高層編譯器;
Wright支持體系結構之間交互的說明和分析。14第四章軟件體系結構描述4.3軟件體系結構描述語言
這些ADL強調了體系結構不同的側面,對體系結構的研究和應用起到了重要的作用,但也有負面的影響。每一種ADL都以獨立的形式存在,描述語法不同且互不兼容,同時又有許多共同的特征,這使設計人員很難選擇一種合適的ADL,若設計特定領域的軟件體系結構又需要從頭開始描述。15第四章軟件體系結構描述4.3軟件體系結構描述語言◎構造能力:ADL能夠使用較小的獨立體系結構元素來建造大型軟件系統(tǒng);◎抽象能力:ADL使得軟件體系結構中的構件和連接件描述可以只關注它們的抽象特性,而不管其具體的實現(xiàn)細節(jié);◎重用能力:ADL使得組成軟件系統(tǒng)的構件、連接件甚至是軟件體系結構都成為軟件系統(tǒng)開發(fā)和設計的可重用部件;
ADL與其他語言的比較(1)
16第四章軟件體系結構描述4.3軟件體系結構描述語言◎組合能力:ADL使得其描述的每一系統(tǒng)元素都有其自己的局部結構,這種描述局部結構的特點使得ADL支持軟件系統(tǒng)的動態(tài)變化組合;◎異構能力:ADL允許多個不同的體系結構描述關聯(lián)存在;◎分析和推理能力:ADL允許對其描述的體系結構進行多種不同的性能和功能上的多種推理分析。
ADL與其他語言的比較(2)17第四章軟件體系結構描述4.3軟件體系結構描述語言
典型元素含義比較
18第四章軟件體系結構描述4.3軟件體系結構描述語言
常見的軟件體系結構元素
19第四章軟件體系結構描述4.3軟件體系結構描述語言
ADL的構成元素
◎構件:構件是一個計算單元或數(shù)據(jù)存儲。可以包含多種屬性,如接口、類型、語義、約束、演化和非功能屬性等;接口是構件與外部世界的一組交互點,ADL中的構件接口說明了構件提供的那些服務。20第四章軟件體系結構描述4.3軟件體系結構描述語言
ADL的構成元素
◎連接件:是用來建立構件間的交互以及支配這些交互規(guī)則的體系結構構造模塊。與構件不同,連接件可以不與實現(xiàn)系統(tǒng)中的編譯單元對應。連接件可以是共享變量、表入口、緩沖區(qū)、對連接器的指令、動態(tài)數(shù)據(jù)結構等等;連接件同樣也有接口。連接件的接口由一組角色組成,連接件的每一個角色定義了該連接件表示的交互參與者,二元連接有兩個角色,如消息傳遞連接件的角色是發(fā)送者和接收者。21第四章軟件體系結構描述4.3軟件體系結構描述語言
ADL的構成元素
◎體系結構配置:體系結構配置或拓撲是描述體系結構的構件與連接件的連接圖;體系結構配置提供信息來確定構件是否正確連接、接口是否匹配、連接件構成的通信是否正確,并說明實現(xiàn)要求行為的組合語義。22第四章軟件體系結構描述4.4典型軟件體系結構描述語言◎Unicon的主要目的在于支持對體系結構的描述,對構件交互模式進行定位和編碼,并對需要不同交互模式的構件的打包加以區(qū)別。主要目的:提供對大量構件和連接件的統(tǒng)一訪問;區(qū)分不同類型的構件和連接件,以便對體系結構配置進行檢查;支持不同的表示方式和不同開發(fā)人員的分析工具;支持對現(xiàn)有構件的使用。
Unicon23第四章軟件體系結構描述4.4典型軟件體系結構描述語言◎描述構件:Unicon通過定義類型、屬性列表與用于和連接件相連的交互點來描述構件;◎描述連接件:通過定義類型、屬性列表與交互點來描述連接件。端口:構件的交互點稱為端口。角色:連接件的交互點稱為角色。
Unicon24第四章軟件體系結構描述4.4典型軟件體系結構描述語言◎Unicon描述連接約束:使連接件角色接受指定的構件的端口。ROLEoutputISSourceMAXCONNS(1)
ACCEPT(Filter.StreamIn)ENDoutput
Unicon25第四章軟件體系結構描述4.4典型軟件體系結構描述語言◎Unicon描述管道USESp1PROTOCOLUnix-pipeUSESsorterINTERFACESort-filterCONNECTsorter.outputTOp1.sourceUSESp2PROTOCOLUnix-pipeUSESprinterINTERFACEPrint-filterCONNECTsorter.inputTOp2.sink
Unicon26第四章軟件體系結構描述4.4典型軟件體系結構描述語言◎C2和其提供的設計環(huán)境(Argo)支持采用基于時間的風格來描述用戶界面系統(tǒng),并支持使用可替換、可重用的構件開發(fā)GUI的體系結構。◎在C2中,連接件負責構件之間消息的傳遞,而構件維持狀態(tài)、執(zhí)行操作并通過兩個名字分別為“top”和“bottom”的端口和其它的構件交換信息?!蛎總€接口包含一種可發(fā)送的消息和一組可接收的消息。構件之間的消息要么是請求其它構件執(zhí)行某個操作的請求消息,要么是通知其他構件自身執(zhí)行了某個操作或狀態(tài)發(fā)生改變的通知消息。
C2概述27第四章軟件體系結構描述4.4典型軟件體系結構描述語言◎構件之間的消息交換不能直接進行,而只能通過連接件來完成。每個構件接口最多只能和一個連接件相連,而連接件可以和任意數(shù)目的構件或連接件相連?!蛘埱笙⒅荒芟蛏蠈觽魉投ㄖ⒅荒芟蛳聦觽魉??!蛲ㄖ⒌膫鬟f只對應于構件內(nèi)部的操作,而和接收消息的構件的需求無關?!駽2對構件和連接件的實現(xiàn)語言、實現(xiàn)構件的線程控制、構件的部署以及連接件使用的通訊協(xié)議等都不加限制。
C2概述28第四章軟件體系結構描述4.4典型軟件體系結構描述語言
C2對構件的描述
29第四章軟件體系結構描述4.4典型軟件體系結構描述語言
C2對構件接口的描述component_message_interface::=top_domain_interfacebottom_domain_interface
top_domain_interface::=top_domainisoutinterface_requestsininterface_notifications
bottom_domain_interface::=bottom_domainisoutinterface_notificationsininterface_requests30第四章軟件體系結構描述4.4典型軟件體系結構描述語言
C2對構件接口的描述interface_requests::={request;}|null;
interface_notifications::={notification;}|null;
request::=message_name(request_parameters)
request_parameters::=[tocomponent_name][parameter_list]
notification::=message_name[parameter_list]31第四章軟件體系結構描述4.4典型軟件體系結構描述語言
會議安排系統(tǒng)的C2風格32第四章軟件體系結構描述4.4典型軟件體系結構描述語言
C2對體系結構的描述architectureMeetingScheduleris
conceptual_componentsAttendee;ImportantAttendee;MeetingInitiator;
connectorsconnectorMainConnismessage_filterno_filtering;
connectorAttConnismessage_filterno_filtering;
connectorImportantAttConnismessage_filterno_filtering;
architectural_topologyconnectorAttConnconnections
top_portsAttendee;
bottom_ports
MainConn;
connectorImportantAttConnconnections
top_ports
ImportantAttendee;
bottom_ports
MainConn;
connectorMainConnconnections
top_ports
AttConn;ImportantAttConn;
bottom_ports
MeetingInitiator;endMeetingScheduler;
33第四章軟件體系結構描述4.4典型軟件體系結構描述語言
C2對會議安排系統(tǒng)的描述
systemMeetingScheduler_1isarchitectureMeetingSchedulerwithAttendeeinstanceAtt_1,Att_2,Att_3;
ImportantAttendeeinstanceImpAtt_1,ImpAtt_2;
MeetingInitiatorinstanceMtgInit_1;endMeetingScheduler_1;
34第四章軟件體系結構描述4.4典型軟件體系結構描述語言◎Rapide是一種可執(zhí)行的ADL,其目的在于通過定義并模擬基于事件的行為對分布式并發(fā)系統(tǒng)建模。◎它通過事件的偏序集合來刻畫系統(tǒng)的行為?!驑嫾嬎阌蓸嫾邮盏降氖录|發(fā),并進一步產(chǎn)生事件傳送到其他構件,由此觸發(fā)其他的計算?!騌apide
模型的執(zhí)行結果為一個事件的集合。
Rapide35第四章軟件體系結構描述4.4典型軟件體系結構描述語言◎類型語言:定義接口類型和函數(shù)類型,支持通過繼承已有的接口來構造新的接口類型?!蚰J秸Z言:定義具有因果、獨立、時序等關系的事件所構成的事件模型。◎可執(zhí)行語言:包含描述構件行為的控制結構?!蝮w系結構語言:通過定義同步和通信連接來描述構件之間的事件流?!蚣s束語言:定義構件行為和體系結構所滿足的形式化約束,其中約束為需要的或禁止的偏序集模式。
Rapide的組成語言36第四章軟件體系結構描述4.5軟件體系結構與UML
UML簡介
◎UML(UnifiedModelingLanguage)是下面這些最好的建模方法中最好部分的集成:
商務流程模型(WorkFlow)
對象建模方法
軟構件建模思想◎
UML是一種用可視化方法對軟件系統(tǒng)進行描述、實施和說明的標準語言?!蛑С钟貌煌瑢崿F(xiàn)技術進行的軟件開發(fā)全過程。37第四章軟件體系結構描述4.5軟件體系結構與UML
UML簡介
38第四章軟件體系結構描述4.5軟件體系結構與UML
UML簡介
39第四章軟件體系結構描述4.5軟件體系結構與UML
UML簡介
UML建模:事物、關系和圖。
40UML的基本事物第四章軟件體系結構描述4.5軟件體系結構與UML
UML簡介
41第四章軟件體系結構描述4.5軟件體系結構與UML
UML簡介
UML關系42第四章軟件體系結構描述4.5軟件體系結構與UML
UML簡介
UseCaseDiagramsUseCaseDiagrams用例圖ScenarioDiagramsScenarioDiagrams協(xié)作圖StateDiagramsStateDiagrams構件圖ComponentDiagramsComponentDiagrams部署圖StateDiagramsStateDiagrams對象圖ScenarioDiagramsScenarioDiagrams狀態(tài)圖UseCaseDiagramsUseCaseDiagrams序列圖StateDiagramsStateDiagrams類圖活動圖UML43第四章軟件體系結構描述4.5軟件體系結構與UML
用例圖用于顯示若干角色以及這些角色與系統(tǒng)提供的用例之間的連接關系。用例是系統(tǒng)提供的功能的描述。
44第四章軟件體系結構描述4.5軟件體系結構與UML
類圖表示系統(tǒng)中的類和類與類之間的關系,它是對系統(tǒng)靜態(tài)結構的描述45第四章軟件體系結構描述4.5軟件體系結構與UML
序列圖順序圖中的符號
用來反映若干個對象之間的動態(tài)協(xié)作關系,也就是隨著時間的推移,對象之間是如何交互的
46第四章軟件體系結構描述4.5軟件體系結構與UML
序列圖取款用例的順序圖
47第四章軟件體系結構描述4.5軟件體系結構與UML
協(xié)作圖描述對象間的協(xié)作關系,協(xié)作圖跟序列圖相似,顯示對象間的動態(tài)合作關系。如果強調時間和順序,則使用序列圖;如果強調上下級關系,則選擇協(xié)作圖。這兩種圖合稱為交互圖。
48第四章軟件體系結構描述4.5軟件體系結構與UML
狀態(tài)圖描述類的對象所有可能的狀態(tài)以及事件發(fā)生時狀態(tài)的轉移條件。通常,狀態(tài)圖是對類圖的補充
49第四章軟件體系結構描述4.5軟件體系結構與UML
活動圖活動圖中的符號50第四章軟件體系結構描述4.5軟件體系結構與UML
活動圖描述滿足用例要求所要進行的活動以及活動間的約束關系,有利于識別并行活動
51第四章軟件體系結構描述4.5軟件體系結構與UML
構件圖描述代碼構件的物理結構及各構件之間的依賴關系52第四章軟件體系結構描述4.5軟件體系結構與UML
部署圖部署圖定義系統(tǒng)中軟硬件的物理體系結構
53第四章軟件體系結構描述4.5軟件體系結構與UML
直接使用UML建模
元-元模型層定義了元模型層的規(guī)格說明語言;元模型層為給定的建模語言定義規(guī)格說明;模型層用來定義特定軟件系統(tǒng)的模型;用戶對象用來構建給定模型的特定實例。UML的四層元模型體系結構54第四章軟件體系結構描述4.5軟件體系結構與UML
直接使用UML建模
元-元模型層定義了元模型層的規(guī)格說明語言;由UML最基本的元素“事物(thing)”組成,代表要定義的所有事物。UML中有四種事物:結構事物、行為事物、分組事物、注釋事物。55第四章軟件體系結構描述4.5軟件體系結構與UML
直接使用UML建模
元模型層為給定的建模語言定義規(guī)格說明;由UML基本元素組成,包括面向對象和面向構件的概念。這一層的每個概念都是元元模型中“事物”概念的實例。56第四章軟件體系結構描述4.5軟件體系結構與UML
直接使用UML建模
模型層用來定義特定軟件系統(tǒng)的模型;由UML模型組成,這一層的每個概念都是元模型層中概念的實例。57第四章軟件體系結構描述4.5軟件體系結構與UML
直接使用UML建模
用戶對象用來構建給定模型的特定實例。由UML模型的例子組成,這一層中的每個概念都是模型層的一個實例(通過分類),也是元模型層模型的一個實例。這一層的模型通常稱為對象模型或實例模型。58第四章軟件體系結構描述4.5軟件體系結構與UML
直接使用UML建模
UML四層元模型舉例59第四章軟件體系結構描述4.5軟件體系結構與UML
直接使用UML建模
在四層元模型中,UML的結構主要體現(xiàn)在元模型中;元模型分為三個邏輯包:基礎包(foundation)、行為元素包(behavioralelements)通用機制包(generalmechanisms);60第四章軟件體系結構描述4.5軟件體系結構與UML
語義約束__OCL由對象約束語言OCL(ObjectConstraintLanguage)表示;OCL是開發(fā)的形式化表示法,以使UML的使用者向規(guī)格說明中加入更精確的內(nèi)容;OCL具有邏輯數(shù)學及離散數(shù)學的所有優(yōu)勢,然而,OCL的設計者決定在OCL語句中只能使用ASCII字符,而不能使用傳統(tǒng)的數(shù)學表示方法。61第四章軟件體系結構描述4.5軟件體系結構與UML
OCL語法及語義為了使用OCL,軟件工程師需要從一個或多個UML圖(通常為類圖、狀態(tài)圖、活動圖)開始。為此,需要增加說明圖中元素的OCL表達式。這些表達式被稱為約束(constraints);從模型導出的任何實現(xiàn)必須保證每一個約束為恒真。
62第四章軟件體系結構描述4.5軟件體系結構與UML
OCL語法及語義如面向對象程序設計語言一樣,OCL表達式包括操作對象的操作符。完整表達式的結果總是一個布爾值,即其值為true或false。對象可以是OCL聚集類的實例,集合和序列是OCL聚集類的兩個子類。
63第四章軟件體系結構描述4.5軟件體系結構與UML
OCL語法及語義在計算OCL表達式的上下文中,對象self是UML圖的元素。可以從self對象使用點(dot)符號導航獲得其它對象。例如:如果self是具有屬性a的類C,則self.a計算存儲在a中的對象的值。如果C與另一個類D具有稱為assoc的一對多的關聯(lián)關系,則self.assoc計算元素類型為D的集合的值。如果D有屬性b,則表達式self.assoc.b計算屬于所有D的所有b組成的集合的值。64第四章軟件體系結構描述4.5軟件體系結構與UML
OCL語法及語義65第四章軟件體系結構描述4.5軟件體系結構與UML
OCL語法及語義66第四章軟件體系結構描述4.5軟件體系結構與UML
OCL語法及語義67第四章軟件體系結構描述4.5軟件體系結構與UML
使用OCL舉例:塊處理器在操作系統(tǒng)中一個更重要的部分是文件子系統(tǒng),維護由用戶創(chuàng)建的文件。塊處理器是文件子系統(tǒng)中的一部分。文件存儲中的文件由存儲設備上的存儲塊構成,在計算機的操作中,文件被創(chuàng)建和刪除,需要存儲塊的獲取和釋放。為此,文件子系統(tǒng)維持一個未用塊池,并保持對當前使用塊的跟蹤。當塊從被刪除文件釋放時,它們通常被加入到等待進入未用塊池的塊隊列中。68第四章軟件體系結構描述4.5軟件體系結構與UML下圖顯示了一些部件:未用塊池、已用塊池、等待隊列。
使用OCL舉例:塊處理器69用自然語言表達約束條件如下:塊未同時被標記為未用和已用。所有在隊列中的塊集合將是當前已用塊集合的子集。隊列元素未包含相同的塊號。已用塊和未用塊的集合將是組成文件的塊的總集。在未用塊集合中沒有重復的塊號。在已用塊集合中沒有重復的塊號。第四章軟件體系結構描述4.5軟件體系結構與UML
使用OCL舉例:塊處理器70主要操作:將一個塊集合加到隊列的末尾;(2)從隊列前面去除一個已用塊集合并將其放到未用塊集合中;(3)檢查塊隊列是否為空。第四章軟件體系結構描述4.5軟件體系結構與UML
使用OCL舉例:塊處理器71第四章軟件體系結構描述4.5軟件體系結構與UML借助OCL對塊處理器實例進行形式化的規(guī)格說明。第一步是開發(fā)一個UML模型。
使用OCL舉例:塊處理器72第四章軟件體系結構描述4.5軟件體系結構與UML增加OCL表達式,以確保系統(tǒng)的實現(xiàn)者更確切地知道當系統(tǒng)運行時,什么需要保持為真。1.塊未被同時標記為未使用及已使用。
contextBlockHandlerinv:(self.used->intersection(self.free))->isEmpty()
每一個表達式都以關鍵字context開頭,以指明此表達式所約束的UML圖的元素。換句話說,軟件工程師可以在UML圖上直接加約束,以括號{}括起來。這里的關鍵字self指BlockHandler的實例,也可以省略。
使用OCL舉例:塊處理器73第四章軟件體系結構描述4.5軟件體系結構與UML2.隊列中所有的塊的集合都將是當前已用塊的集合的子集。contextBlockHandlerinv:
blockQueue->forAll(aBlockSet|used->
includesAll(aBlockSet))
使用OCL舉例:塊處理器74第四章軟件體系結構描述4.5軟件體系結構與UML3.不存在包含相同塊號的隊列元素。contextBlockHandlerinv:
blockQueue->forAll(blockSet1,blockSet2|blockSet1<>blockSet2impliesblockSet1.elements.number->excludesAll(blockSet2.elements.number))
implies之前的表達式是需要的,以確保我們將兩個元素是同一塊的對忽略掉。
使用OCL舉例:塊處理器75第四章軟件體系結構描述4.5軟件體系結構與UML4.已用塊和未用塊的聚集將是組成文件的塊的總和。
contextBlockHandlerinv:
allBlocks=used->union(free)5.未用塊的聚集將沒有重復的塊號。
contextBlockHandlerinv:free->isUnique(aBlock|aBlock.number)6.已用塊的聚集將沒有重復的塊號。
contextBlockHandlerinv:used->isUnique(aBlock|aBlock.number)
使用OCL舉例:塊處理器76第四章軟件體系結構描述4.5軟件體系結構與UML
直接使用UML建模
◎UML中的通用表示(1)字符串:表示有關模型的信息;(2)名字:表示模型元素;(3)標號:不同于編程語言中的標號,是用于表示或說明圖形符號的字符串;(4)特殊字符串:表示某一模型元素的特性;(5)類型表達式:聲明屬性、變量及參數(shù),含義同編程語言中的類型表達式;(6)構造型(stereotype):它是UML的擴充機制,運用構造型可定義新類型的模型元素;77第四章軟件體系結構描述4.5軟件體系結構與UML
直接使用UML建模
◎UML語義部分主要由三部分組成:通用元素,通用機制,通用類型。
通用元素:主要描述UML中各元素的語義。通用元素是UML中的基本構造單位,包括模型元素和視圖元素,模型元素用來構造系統(tǒng),視圖元素用來構成系統(tǒng)的表示成分。78第四章軟件體系結構描述4.5軟件體系結構與UML
直接使用UML建模
◎UML語義部分
通用機制:主要描述使UML保持簡單和概念上一致的機制的語義。包括構造型、標記值、注記、約束、依賴關系、類型-實例、類型-類的對應關系等機制。79第四章軟件體系結構描述4.5軟件體系結構與UML
直接使用UML建模
◎UML語義部分
通用類型:主要描述UML中各種類型的語義。這些類型包括布爾類型、表達式類型、列表類型、多重性類型、名字類型、坐標類型、字符串類型、時間類型、用戶自定義類型等。三部分不是相互獨立的,而是相互交叉重疊、緊密相連,共同構成了UML的完整語義。80第四章軟件體系結構描述4.5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 氫能源理論試題及答案
- 潔牙師考試題及答案
- 融通物業(yè)面試題及答案
- 用地報批面試題及答案
- 音質設計試題及答案
- 廣東點心試題及答案
- 2025年電纜工程專業(yè)畢業(yè)設計開題報告
- 2025年五百強銷售面試題目及答案
- 2025年人保輪崗考試題庫及答案
- 2025年電力業(yè)擴報裝考試題庫
- 登革熱診療方案(2024年版)
- 房地產(chǎn)經(jīng)濟學(第三版)課件全套 謝經(jīng)榮 第1-10章 緒論-房地產(chǎn)市場調控政策
- 金融機構編碼規(guī)范標準
- 《陜西省自然資源標準體系 建設指南(2023版)》
- 醫(yī)院建設動火作業(yè)應急預案
- DB45T 2144-2020 工業(yè)企業(yè)重金屬污染地塊修復技術規(guī)范
- 爛尾樓續(xù)建報告范文
- 飛行器動力工程基礎知識單選題100道及答案解析
- 食堂工作人員燃氣安全培訓
- 旅游景區(qū)環(huán)境衛(wèi)生管理規(guī)范及實施細則
- 蘇教版二年級數(shù)學下冊單元測試題及答案
評論
0/150
提交評論