版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章
統(tǒng)一建模語(yǔ)言UML
本章內(nèi)容3.1
UML概述
3.2
UML的構(gòu)成3.3
UML的圖3.4
UML的工具軟件要點(diǎn)回顧2/5/202323章統(tǒng)一建模語(yǔ)言UML3.1UML概述3.1.1
UML的產(chǎn)生背景3.1.2什么是UML
3.1.3
UML中的視圖2/5/202333章統(tǒng)一建模語(yǔ)言UML3.1.1UML的產(chǎn)生背景UML是一個(gè)通用的可視化建模語(yǔ)言,是用于對(duì)軟件進(jìn)行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)的文檔。1994年Rational軟件公司Rumbaugh與Booch合作,開(kāi)始合并OMT和Booch方法中使用的概念,并于1995年提出了一個(gè)建議。隨后Jacobson也加入了Rational公司,開(kāi)始與Rumbaugh和Booch一同工作,他們共同致力于設(shè)計(jì)統(tǒng)一建模語(yǔ)言。1996年,OMG(ObjectManagementGroup)發(fā)布了向外界征集關(guān)于OO建模標(biāo)準(zhǔn)方法的消息。
Rumbaugh,1991年提出OMT(面向?qū)ο竽P图夹g(shù))2/5/202343章統(tǒng)一建模語(yǔ)言UMLUML被OMG采納為標(biāo)準(zhǔn)UML的三位創(chuàng)始人設(shè)計(jì)出一種能被軟件開(kāi)發(fā)工具提供者、軟件開(kāi)發(fā)方法學(xué)家和開(kāi)發(fā)人員這些最終用戶所接受的建模語(yǔ)言。1997年9月他們向OMG提交了UML方法。1997年11月,UML被OMG全體成員一致通過(guò),并被采納為標(biāo)準(zhǔn)。2000年推出了UML1.4版本,2003年推出了UML1.5版本,目前最新的版本是UML2.1。2/5/202353章統(tǒng)一建模語(yǔ)言UML3.1.2什么是UML
1.UML是一種語(yǔ)言
2.UML的主要特點(diǎn)2/5/202363章統(tǒng)一建模語(yǔ)言UML1.UML是一種語(yǔ)言UML定義了一系列的圖形符號(hào)來(lái)描述軟件系統(tǒng)。它們有嚴(yán)格的語(yǔ)義和清晰的語(yǔ)法。圖形符號(hào)及其背后的語(yǔ)義和語(yǔ)法組成了一個(gè)標(biāo)準(zhǔn),使得軟件開(kāi)發(fā)的所有相關(guān)人員都能用它來(lái)對(duì)軟件系統(tǒng)的各個(gè)側(cè)面進(jìn)行描述。模型元素代表OO中的類、對(duì)象、消息和關(guān)系等概念,是構(gòu)成圖的最基本的常用概念。2/5/202373章統(tǒng)一建模語(yǔ)言UML靜態(tài)結(jié)構(gòu)、動(dòng)態(tài)行為UML可描述系統(tǒng)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為,從不同但相互聯(lián)系的角度對(duì)系統(tǒng)建立的模型可用于不同的目的。UML將系統(tǒng)描述為一些離散的相互作用的對(duì)象,通過(guò)靜態(tài)結(jié)構(gòu)定義系統(tǒng)中對(duì)象的屬性和操作及這些對(duì)象之間的相互關(guān)系。動(dòng)態(tài)行為:定義對(duì)象的時(shí)間特性和對(duì)象為完成目標(biāo)而相互進(jìn)行通信的機(jī)制。2/5/202383章統(tǒng)一建模語(yǔ)言UML2.UML的主要特點(diǎn)①統(tǒng)一的標(biāo)準(zhǔn):UML是被OMG接受為標(biāo)準(zhǔn)的建模語(yǔ)言,越來(lái)越多的開(kāi)發(fā)人員使用UML進(jìn)行軟件開(kāi)發(fā),越來(lái)越多的廠商支持UML。②面向?qū)ο螅菏侵С諳O軟件開(kāi)發(fā)的建模語(yǔ)言。③概念明確,建模表示法簡(jiǎn)潔,圖形結(jié)構(gòu)清晰,可視化、表示能力強(qiáng)大,容易掌握和使用。④獨(dú)立于過(guò)程:UML不依賴于特定的軟件開(kāi)發(fā)過(guò)程。2/5/202393章統(tǒng)一建模語(yǔ)言UML3.1.3UML中的視圖0.UML的視圖1.用例視圖(用戶模型視圖)2.邏輯視圖(結(jié)構(gòu)模型視圖)3.交互視圖(行為模型視圖)4.實(shí)現(xiàn)視圖(實(shí)現(xiàn)模型視圖)5.部署視圖(環(huán)境模型視圖)2/5/2023103章統(tǒng)一建模語(yǔ)言UML0.UML的視圖UML用視圖來(lái)表示被建模系統(tǒng)的各個(gè)方面,它是在某一個(gè)抽象層次上對(duì)系統(tǒng)的抽象表示。UML把軟件模型劃分為5個(gè)視圖,每一個(gè)視圖代表完整系統(tǒng)描述的投影,顯示系統(tǒng)的一個(gè)特定方面。每一個(gè)視圖又由一種或多種圖構(gòu)成。一個(gè)特定視圖中的圖應(yīng)該足夠簡(jiǎn)單,便于交流,而且一定要與其他圖和視圖連貫一致,因而所有視圖結(jié)合在一起(通過(guò)各自的圖)就描述了系統(tǒng)的完整畫(huà)面。2/5/2023113章統(tǒng)一建模語(yǔ)言UMLUML的視圖邏輯(結(jié)構(gòu))視圖實(shí)現(xiàn)視圖部署(環(huán)境)視圖交互(行為)視圖用例(用戶)視圖性能、穩(wěn)定性、吞吐率系統(tǒng)拓?fù)?、分布、安裝設(shè)計(jì)詞匯、功能描述系統(tǒng)組裝、配置管理2/5/2023123章統(tǒng)一建模語(yǔ)言UML1.用例視圖(用戶模型視圖)由專門(mén)描述系統(tǒng)行為的用例組成,是從用戶角度來(lái)描述系統(tǒng)所應(yīng)具有的功能。用例視圖所描述的系統(tǒng)功能依靠外部用戶或者另一系統(tǒng)來(lái)激活,為用戶或者另一系統(tǒng)提供服務(wù),從而實(shí)現(xiàn)用戶或另一系統(tǒng)與糸統(tǒng)的交互。系統(tǒng)實(shí)現(xiàn)的最終目標(biāo)是用例視圖中描述的功能。組成:用例圖。使用者:客戶、開(kāi)發(fā)人員、測(cè)試人員。2/5/2023133章統(tǒng)一建模語(yǔ)言UML用例視圖是核心它的內(nèi)容驅(qū)動(dòng)其他視圖的開(kāi)發(fā)。系統(tǒng)的最終目標(biāo),即系統(tǒng)將提供的功能在用例視圖中描述。同時(shí)該視圖還有其他一些非功能特性的描述,因此,用例視圖對(duì)所有其他的視圖產(chǎn)生影響。通過(guò)測(cè)試用例視圖,可檢驗(yàn)和最終校驗(yàn)系統(tǒng)。測(cè)試來(lái)自:客戶(這是您想要的嗎?)、已完成的系統(tǒng)(系統(tǒng)是按照要求的方式運(yùn)作的嗎?)。2/5/2023143章統(tǒng)一建模語(yǔ)言UML2.邏輯視圖(結(jié)構(gòu)模型視圖)描述組成系統(tǒng)的類、對(duì)象以及它們之間的關(guān)系等靜態(tài)結(jié)構(gòu),用來(lái)支持系統(tǒng)的功能需求,即描述系統(tǒng)內(nèi)部的功能是如何設(shè)計(jì)的。使用者:開(kāi)發(fā)人員、設(shè)計(jì)人員。它關(guān)注系統(tǒng)的內(nèi)部,既描述系統(tǒng)的靜態(tài)結(jié)構(gòu)(類、對(duì)象及它們之間的關(guān)系),也描述系統(tǒng)內(nèi)部的動(dòng)態(tài)協(xié)作關(guān)系。2/5/2023153章統(tǒng)一建模語(yǔ)言UML邏輯視圖的圖形模型對(duì)邏輯視圖的描述在原則上與軟件系統(tǒng)的實(shí)現(xiàn)平臺(tái)無(wú)關(guān)。圖形模型包括:類圖、對(duì)象圖、狀態(tài)圖、順序圖、通信圖及活動(dòng)圖等。2/5/2023163章統(tǒng)一建模語(yǔ)言UML3.交互視圖(行為模型視圖)描述形成系統(tǒng)的并發(fā)與同步機(jī)制的線程和進(jìn)程,關(guān)注重點(diǎn)是系統(tǒng)的性能、易伸縮性和系統(tǒng)的吞吐量等非功能性需求。它利用并發(fā)來(lái)描述資源的高效實(shí)用、并行執(zhí)行和處理異步事件。使用者:開(kāi)發(fā)人員。組成:順序圖、通信圖、狀態(tài)圖、活動(dòng)圖2/5/2023173章統(tǒng)一建模語(yǔ)言UML4.實(shí)現(xiàn)視圖(實(shí)現(xiàn)模型視圖)用來(lái)描述系統(tǒng)的實(shí)現(xiàn)模塊、它們之間的依賴關(guān)系以及資源分配情況。主要用于系統(tǒng)配置管理。使用者:開(kāi)發(fā)人員、系統(tǒng)集成人員。組成:動(dòng)態(tài)圖(狀態(tài)圖、通信圖、活動(dòng)圖)和實(shí)現(xiàn)圖(組件圖、部署圖)。2/5/2023183章統(tǒng)一建模語(yǔ)言UML5.部署視圖(環(huán)境模型視圖)描述軟件系統(tǒng)在計(jì)算機(jī)硬件系統(tǒng)和網(wǎng)絡(luò)上的安裝、分發(fā)和分布情況。描述物理系統(tǒng)的拓?fù)浣Y(jié)構(gòu)。如:計(jì)算機(jī)和設(shè)備(節(jié)點(diǎn))及它們之間是如何連接。使用者:開(kāi)發(fā)人員、系統(tǒng)集成人員、測(cè)試人員組成:部署圖部署視圖也包括一個(gè)顯示組件如何在物理結(jié)構(gòu)中部署的映射,例如一個(gè)程序或?qū)ο笤谀呐_(tái)計(jì)算機(jī)上執(zhí)行。2/5/2023193章統(tǒng)一建模語(yǔ)言UML每種視圖反映系統(tǒng)的一個(gè)特定方面,不同人員可以單獨(dú)使用其中的每一種視圖,從而可以關(guān)注特定的體系結(jié)構(gòu)問(wèn)題。每一種UML視圖都是由多個(gè)圖組成的,每一種圖都是體系結(jié)構(gòu)某個(gè)側(cè)面的表示。2/5/2023203章統(tǒng)一建模語(yǔ)言UML3.2UML的構(gòu)成3.2.1
UML的體系結(jié)構(gòu)3.2.2
UML的模型元素3.2.3
UML的模型圖3.2.4
UML的公用機(jī)制2/5/2023213章統(tǒng)一建模語(yǔ)言UML3.2.1UML的體系結(jié)構(gòu)類、接口、協(xié)作、用例、主動(dòng)類、組件和節(jié)點(diǎn)交互機(jī)和狀態(tài)包。整個(gè)模型可看成是一個(gè)根包,它間接包含模型中所有內(nèi)容。子系統(tǒng)是另一種特殊的包。給建模者提供信息,提供關(guān)于任意信息的文本說(shuō)明,但沒(méi)有語(yǔ)義作用。2/5/2023223章統(tǒng)一建模語(yǔ)言UML3.2.2UML的模型元素模型元素:可以在圖中使用的概念(所有包含語(yǔ)義的元素都是模型元素)。模型元素可以有名字。在UML圖中,模型元素用其相應(yīng)的符號(hào)來(lái)表示。一個(gè)模型元素可以出現(xiàn)在多個(gè)不同類型的圖中,在不同的圖中應(yīng)該以何種方式出現(xiàn)須遵循一定的UML規(guī)則。2/5/2023233章統(tǒng)一建模語(yǔ)言UML模型元素的圖形表示⑴模型元素的符號(hào)圖例⑵關(guān)系的圖示符號(hào)示例2/5/2023243章統(tǒng)一建模語(yǔ)言UML⑴模型元素的符號(hào)圖例用于表示模型中的某個(gè)概念。類、對(duì)象、組(構(gòu))件、節(jié)點(diǎn)、用例、接口等模型元素的符號(hào)圖例:2/5/2023253章統(tǒng)一建模語(yǔ)言UML類與對(duì)象類是對(duì)一組具有相同屬性、相同操作、相同關(guān)系和相同語(yǔ)義對(duì)象的描述,一個(gè)類實(shí)現(xiàn)了一個(gè)或多個(gè)接口。在圖形上,類用帶有類名、屬性和操作的矩形框來(lái)表示。對(duì)象是類的實(shí)例,其名字有下劃線。2/5/2023263章統(tǒng)一建模語(yǔ)言UML組(構(gòu))件組(構(gòu))件是系統(tǒng)中物理的、可替代的部件,它通常是一個(gè)描述了一些邏輯元素的物理包。在圖形上,構(gòu)件用一個(gè)帶有小方框的矩形來(lái)表示。2/5/2023273章統(tǒng)一建模語(yǔ)言UML節(jié)點(diǎn)是在運(yùn)行時(shí)存在的物理元素。它代表一種可計(jì)算的資源,通常具有一定的記憶能力和處理能力。在圖形上,節(jié)點(diǎn)用立方體來(lái)表示。2/5/2023283章統(tǒng)一建模語(yǔ)言UML用例用例(usecase)是一組動(dòng)作序列的描述,系統(tǒng)執(zhí)行這些動(dòng)作后將產(chǎn)生一個(gè)對(duì)特定參與者可以觀察且有價(jià)值的結(jié)果。在圖形上,用例使用一個(gè)通常僅包含其名字的實(shí)線橢圓表示。用例描述用戶對(duì)系統(tǒng)功能的需求,所有用例合在一起構(gòu)成用例模型,描述系統(tǒng)的功能,回答“系統(tǒng)應(yīng)該為每個(gè)用戶做什么”的問(wèn)題。2/5/2023293章統(tǒng)一建模語(yǔ)言UML用例是一個(gè)行為上相關(guān)的步驟序列,既可以時(shí)自動(dòng)的也可以是手工的,其目的是完成一個(gè)單一的額業(yè)務(wù)任務(wù)。一個(gè)用例代表了系統(tǒng)的一個(gè)單一的目標(biāo),描述了為實(shí)現(xiàn)此目標(biāo)的活動(dòng)和用戶交互的一個(gè)序列。用例是一種理解和記錄系統(tǒng)需求的出色技術(shù)。一個(gè)用例本身并不是一個(gè)功能需求,但用例所講述的故事(場(chǎng)景)包含了一個(gè)或多個(gè)需求。2/5/2023303章統(tǒng)一建模語(yǔ)言UML接口描述了一個(gè)類或組(構(gòu))件的一個(gè)服務(wù)操作集,亦即定義了元素的外部可見(jiàn)行為。接口定義的是一組操作的描述,而不是操作的實(shí)現(xiàn)。在圖形上,接口用一端帶有小圓圈的直線來(lái)表示,它通常依附在實(shí)現(xiàn)接口的類或組(構(gòu))件之上。2/5/2023313章統(tǒng)一建模語(yǔ)言UML⑵關(guān)系的圖示符號(hào)示例模型元素之間的連接關(guān)系也是模型元素。關(guān)系用于表示模型元素之間相互連接的關(guān)系。常見(jiàn)關(guān)系:
關(guān)聯(lián)、聚合、組合、繼承(泛化)、依賴、實(shí)現(xiàn)。繼承(泛化)2/5/2023323章統(tǒng)一建模語(yǔ)言UML關(guān)聯(lián)是一種結(jié)構(gòu)關(guān)系,它描述了一組鏈,鏈?zhǔn)怯糜阪溄訉?duì)象的。關(guān)聯(lián)除可以具有方向外,也可以帶有多重性標(biāo)注和角色名這類修飾符。ProfessorStudent0..*1ProjectEmployee0..*0..1學(xué)生計(jì)算機(jī)
*1使用2/5/2023333章統(tǒng)一建模語(yǔ)言UML多重性標(biāo)注每個(gè)關(guān)聯(lián)的復(fù)雜度或維度,稱其為重?cái)?shù)。重?cái)?shù):定義一個(gè)對(duì)象/類對(duì)應(yīng)相關(guān)對(duì)象/類的一個(gè)實(shí)例關(guān)聯(lián)可能的最小出現(xiàn)次數(shù)和最大出現(xiàn)次數(shù)。1、0..1、0..*、1..*、7..92/5/2023343章統(tǒng)一建模語(yǔ)言UML聚合整體-部分(“ispartof”)聚合是一種特殊的關(guān)聯(lián),它描述了整體和部分之間的結(jié)構(gòu)關(guān)系。指明一種類型的對(duì)象是另一種類型的對(duì)象的一部分。艦隊(duì)、船只;項(xiàng)目組、成員CarWheel0..14ProgramCourse0..*3..*一門(mén)課程可與任意數(shù)目(包括0)的課程表相關(guān),但任何一個(gè)課程表至少包括3門(mén)課程2/5/2023353章統(tǒng)一建模語(yǔ)言UML組合一種強(qiáng)關(guān)聯(lián)關(guān)系,它所描述的“部分”對(duì)象是依賴于“整體”對(duì)象的。組合可以被看作為一個(gè)特殊的聚合。BuildingRoom1*2/5/2023363章統(tǒng)一建模語(yǔ)言UML繼承(泛化)一種特殊(或一般)關(guān)系,特殊元素(子元素)的對(duì)象可以替代一般元素(父元素)的對(duì)象。子元素可以共享父元素的結(jié)構(gòu)和行為。泛化表示類之間的分類關(guān)系,具有層次。兩棲動(dòng)物哺乳動(dòng)物爬行動(dòng)物馬牛羊動(dòng)物2/5/2023373章統(tǒng)一建模語(yǔ)言UML依賴是兩個(gè)設(shè)施之間的語(yǔ)義關(guān)系,其中一個(gè)設(shè)施的變化會(huì)影響到另一個(gè)設(shè)施的語(yǔ)義,它用一條可帶方向的虛線來(lái)表示。課程計(jì)劃增加(課程X)刪除(課程X)課程2/5/2023383章統(tǒng)一建模語(yǔ)言UML實(shí)現(xiàn)通常在接口和實(shí)現(xiàn)它們的類或組(構(gòu))件之間用到這種關(guān)系。2/5/2023393章統(tǒng)一建模語(yǔ)言UML3.2.3UML的模型圖模型通常作為一組圖呈現(xiàn)出來(lái),常用的UML模型圖有9種;靜態(tài)結(jié)構(gòu):類圖、對(duì)象圖、組件圖、部署圖;(包圖、組合結(jié)構(gòu)圖)動(dòng)態(tài)結(jié)構(gòu):用例圖、順序圖、通信圖(協(xié)作圖)、狀態(tài)圖、活動(dòng)圖;(時(shí)間圖、交互概覽圖)2/5/2023403章統(tǒng)一建模語(yǔ)言UMLUML中的靜態(tài)圖和動(dòng)態(tài)圖用例圖順序圖2/5/2023413章統(tǒng)一建模語(yǔ)言UML3.2.4UML的公用機(jī)制1.規(guī)約2.修飾符3.公共劃分4.擴(kuò)展機(jī)制2/5/2023423章統(tǒng)一建模語(yǔ)言UML1.規(guī)約在UML中,每個(gè)模型元素的圖形表示法之后都存在一個(gè)規(guī)約(規(guī)范說(shuō)明
),它以文字的形式描述基本模型元素的語(yǔ)法和語(yǔ)義。如,在類的圖符之后就有一個(gè)全面描述該類所擁有的屬性、操作和行為的規(guī)約;在視圖上,類的圖符可能僅展示了部分規(guī)約。UML的圖形表示法可視化地描述系統(tǒng),而UML的規(guī)約則用來(lái)描述系統(tǒng)的細(xì)節(jié)。2/5/2023433章統(tǒng)一建模語(yǔ)言UML2.修飾在圖的模型元素上添加修飾,可為模型元素附加一定的語(yǔ)義。如,類的圖形符號(hào)展示了類名、操作和屬性這些最重要的信息。但也可以給類增添修飾符以給出類規(guī)約的細(xì)節(jié)。如,用斜體類名表示它是抽象類,用+和#表示屬性和操作的可見(jiàn)性。在UML眾多的修飾符中,注釋是一種最重要的并且能單獨(dú)存在的修飾符,它是附加在模型元素或元素集上用來(lái)表示約束或注解信息的圖形符號(hào)。2/5/2023443章統(tǒng)一建模語(yǔ)言UML修飾符示例斜體類名表明這個(gè)類是一個(gè)抽象類。它有兩個(gè)公共操作、一個(gè)保護(hù)操作、一個(gè)私有操作。指出priority()的算法細(xì)節(jié)在文檔exe.doc中。2/5/2023453章統(tǒng)一建模語(yǔ)言UML3.公共劃分UML提供了事物的抽象的描繪和具體的實(shí)例兩種兩分法表達(dá),被稱為公共劃分。對(duì)象和類使用同樣的圖形符號(hào)。類用長(zhǎng)方形表示,并用名字加以標(biāo)識(shí),當(dāng)類的名字帶有下劃線時(shí),則它代表該類的一個(gè)對(duì)象。2/5/2023463章統(tǒng)一建模語(yǔ)言UML4.擴(kuò)展機(jī)制⑴衍型(構(gòu)造型
):對(duì)UML的詞匯的擴(kuò)展,用于創(chuàng)建與已有的模型元素相似且針對(duì)特定問(wèn)題的新種類的模型元素。用書(shū)名號(hào)括起來(lái)的名字表示,其位置在其他元素之上。⑵標(biāo)記值:對(duì)UML元素的特性的擴(kuò)展,用于在模型元素的規(guī)約中創(chuàng)建新的信息。用花括號(hào)括起來(lái)的字符串表示,其位置在其他元素之下。⑶約束:對(duì)UML元素的語(yǔ)義的擴(kuò)展,用于增加新規(guī)則或修改已有規(guī)則。用花括號(hào)括起來(lái)的字符串表示,且放在所關(guān)聯(lián)的元素附近或通過(guò)依賴關(guān)系連接相應(yīng)元素。2/5/2023473章統(tǒng)一建模語(yǔ)言UML擴(kuò)展機(jī)制示例衍型exception使得Overflow成為一個(gè)模型元素EventQueue中版本和作者是標(biāo)記值add上的約束{ordered}使得EvenrQueue中的事件按序排列2/5/2023483章統(tǒng)一建模語(yǔ)言UML3.3模型圖3.3.1用例圖3.3.2類圖3.3.3對(duì)象圖3.3.4順序圖(序列圖)3.3.5協(xié)作圖(通信圖)3.3.6狀態(tài)圖3.3.7活動(dòng)圖3.3.8組件圖(構(gòu)件圖)3.3.9部署圖2/5/2023493章統(tǒng)一建模語(yǔ)言UML3.3.1用例圖
用例圖是把應(yīng)滿足用戶需求的基本功能聚合起來(lái)表示的強(qiáng)大工具。構(gòu)建用例圖是通過(guò)開(kāi)發(fā)者與客戶(或最終使用者)共同協(xié)商完成的,他們要反復(fù)討論需求的規(guī)格說(shuō)明,達(dá)成共識(shí),明確系統(tǒng)的基本功能,為以后階段的工作打下基礎(chǔ)。2/5/2023503章統(tǒng)一建模語(yǔ)言UML引入用例的主要目的是:
(2)為系統(tǒng)的功能提供清晰一致的描述,以便為后續(xù)的開(kāi)發(fā)工作打下良好的交流基礎(chǔ),方便開(kāi)發(fā)人員傳遞需求的功能。(3)為系統(tǒng)驗(yàn)證工作打下基礎(chǔ)。通過(guò)驗(yàn)證最終實(shí)現(xiàn)的系統(tǒng)能夠執(zhí)行的功能是否與最初需求的功能相一致,保證系統(tǒng)的實(shí)用性。(1)確定系統(tǒng)應(yīng)具備哪些功能,這些功能是否滿足系統(tǒng)的需求(開(kāi)發(fā)者與用戶協(xié)商達(dá)成共識(shí)的東西)。2/5/2023513章統(tǒng)一建模語(yǔ)言UML用例圖中顯示參與者、用例和用例之間的關(guān)系。用例圖可以包含注釋和約束,還可以包含包,用于將模型中的元素組成更大的模塊。用例圖如上圖所示,參與者用人形圖標(biāo)表示,用例用橢圓符號(hào)表示,連線表示它們之間的關(guān)系。2/5/2023523章統(tǒng)一建模語(yǔ)言UML2.參與者(1)參與者的概念
參與者代表與系統(tǒng)交互的任何事物或人,它是指代表某一種特定功能的角色,因此參與者是虛擬的概念,它可以是人,也可以是外部系統(tǒng)或設(shè)備。2/5/2023533章統(tǒng)一建模語(yǔ)言UML1)第一類參與者是真實(shí)的人,即用戶,是最常用的參與者,幾乎存在于每一個(gè)系統(tǒng)中。命名這類參與者時(shí),應(yīng)當(dāng)按照業(yè)務(wù)而不是位置命名,因?yàn)橐粋€(gè)人可能有很多業(yè)務(wù)。2/5/2023543章統(tǒng)一建模語(yǔ)言UML2)第二類參與者是其他的系統(tǒng)。3)第三類參與者是一些可以運(yùn)行的進(jìn)程,如時(shí)間。當(dāng)經(jīng)過(guò)一定時(shí)間觸發(fā)系統(tǒng)中的某個(gè)事件時(shí),時(shí)間就成了參與者。2/5/2023553章統(tǒng)一建模語(yǔ)言UML(2)確定參與者(1)誰(shuí)將使用該系統(tǒng)的主要功能。(2)誰(shuí)將需要該系統(tǒng)的支持以完成其工作。
(3)誰(shuí)將需要維護(hù)、管理該系統(tǒng),以及保持該系統(tǒng)處于工作狀態(tài)。
(4)與該系統(tǒng)交互的是什么系統(tǒng)。
(5)誰(shuí)或什么系統(tǒng)對(duì)本系統(tǒng)產(chǎn)生的結(jié)果感興趣。
2/5/2023563章統(tǒng)一建模語(yǔ)言UML在對(duì)參與者建模的過(guò)程中,應(yīng)該注意以下幾點(diǎn):參與者對(duì)于系統(tǒng)而言總是外部的,因此它們可以處于人的控制之外。參與者可以直接或間接地同系統(tǒng)交互,或使用系統(tǒng)提供的服務(wù)以完成某件事務(wù)。參與者表示人和事物與系統(tǒng)發(fā)生交互時(shí)所扮演的角色,而不是特定的人或者特定的事物。一個(gè)人或事物在與系統(tǒng)發(fā)生交互時(shí),可以同時(shí)或不同時(shí)扮演多個(gè)角色。每個(gè)參與者需要一個(gè)具有業(yè)務(wù)一樣的名字,在建模中不推薦使用類似于“新參與者”的名字。
2/5/2023573章統(tǒng)一建模語(yǔ)言UML(3)參與者間的關(guān)系
因?yàn)閰⑴c者是類,所以多個(gè)參與者之間可以具有與類之間相同的關(guān)系。在用例圖中,使用繼承關(guān)系來(lái)描述多個(gè)參與者之間的公共行為。2/5/2023583章統(tǒng)一建模語(yǔ)言UML假設(shè)一個(gè)汽車(chē)租賃公司,接受客戶的電話預(yù)定和網(wǎng)上預(yù)定。參與者“客戶”描述了參與者“電話客戶”和“網(wǎng)上客戶”所扮演的一般角色。2/5/2023593章統(tǒng)一建模語(yǔ)言UML3.用例(1)用例的概念用例是外部可見(jiàn)的系統(tǒng)功能單元,是對(duì)系統(tǒng)行為的動(dòng)態(tài)描述,它可以促進(jìn)設(shè)計(jì)人員、開(kāi)發(fā)人員與用戶的溝通,理解正確的需求;還可以劃分系統(tǒng)與外部實(shí)體的界限,是系統(tǒng)設(shè)計(jì)的起點(diǎn),是類、對(duì)象、操作的來(lái)源。2/5/2023603章統(tǒng)一建模語(yǔ)言UML(2)識(shí)別用例識(shí)別用例最好的方法就是從分析系統(tǒng)的參與者開(kāi)始,考慮每個(gè)參與者是如何使用系統(tǒng)的。2/5/2023613章統(tǒng)一建模語(yǔ)言UML通過(guò)回答以下的幾個(gè)問(wèn)題識(shí)別用例:特定參與者希望系統(tǒng)提供什么功能。系統(tǒng)是否存儲(chǔ)和檢索信息,如果是,由哪個(gè)參與者觸發(fā)。當(dāng)系統(tǒng)發(fā)生改變時(shí),是否通知參與者。是否存在影響系統(tǒng)的外部事件。哪個(gè)參與者通知系統(tǒng)這些事件。
2/5/2023623章統(tǒng)一建模語(yǔ)言UML
用例的粒度
不同的設(shè)計(jì)者設(shè)計(jì)的用例的粒度不同。在建立模型時(shí),要注意選取適中的用例粒度,以避免用例數(shù)目過(guò)多或過(guò)少。確定用例的過(guò)程是對(duì)獲取的用例進(jìn)行提煉和歸納的過(guò)程。
選取用例的原則:一個(gè)用例應(yīng)該描述一個(gè)從頭至尾的完整的功能,用例要與參與者交互。2/5/2023633章統(tǒng)一建模語(yǔ)言UML(3)用例的描述
一個(gè)用例是用一個(gè)命名的橢圓來(lái)表示,但如果沒(méi)有對(duì)這個(gè)用例的具體說(shuō)明,那么還是不清楚該用例到底會(huì)完成什么功能。對(duì)于每個(gè)用例,都可以用事件流來(lái)規(guī)定用例的行為。用例的事件流是對(duì)完成用例規(guī)定行為所需要的事件的描述。2/5/2023643章統(tǒng)一建模語(yǔ)言UML
事件流文檔的建立通常是在迭代過(guò)程的細(xì)化階段進(jìn)行,事件流的目的是為用例的邏輯流程建立文檔,這個(gè)文檔詳細(xì)描述系統(tǒng)用戶的工作和系統(tǒng)本身的工作。雖然事件流很詳細(xì),但其仍然是獨(dú)立于實(shí)現(xiàn)方法的。也就是說(shuō),事件流描述的是一個(gè)系統(tǒng)“做什么”,而不是“怎么做”。
2/5/2023653章統(tǒng)一建模語(yǔ)言UML每個(gè)項(xiàng)目都需要一個(gè)創(chuàng)建事件流文檔的標(biāo)準(zhǔn)模版:
X用例XX(用例名)的事件流X.1前提條件X.2后置條件X.3擴(kuò)充點(diǎn)X.4事件流X.4.1基流X.4.2分支流(可選)X.4.3替代流2/5/2023663章統(tǒng)一建模語(yǔ)言UML(4)用例間的關(guān)系
1)繼承關(guān)系用例間的繼承關(guān)系如同類間的繼承關(guān)系。用例“汽車(chē)預(yù)定”有兩個(gè)子用例“電話預(yù)定”“網(wǎng)上預(yù)定”。這兩個(gè)用例都繼承了父用例的行為,并添加了自己的行為。2/5/2023673章統(tǒng)一建模語(yǔ)言UML2)包含關(guān)系
一個(gè)用例可以簡(jiǎn)單地包含其他用例具有的行為,并把它所包含的用例行為作為自身行為的一部分,這被稱作包含關(guān)系。
在UML中,包含關(guān)系為虛線箭頭加《include》字樣,箭頭指向被包含的用例。
2/5/2023683章統(tǒng)一建模語(yǔ)言UML本例中,“填寫(xiě)電子表格”的功能在“網(wǎng)上預(yù)定”過(guò)程中使用,不管如何處理“網(wǎng)上預(yù)定”用例,總是要運(yùn)行“填寫(xiě)電子表格”用例,因此具有包含關(guān)系。2/5/2023693章統(tǒng)一建模語(yǔ)言UML3)擴(kuò)充關(guān)系
一個(gè)用例可以被定義為基礎(chǔ)用例的增量擴(kuò)充,這稱作擴(kuò)充關(guān)系,擴(kuò)充關(guān)系是把新的行為插入到已有用例中的方法。同一個(gè)基礎(chǔ)用例的幾個(gè)擴(kuò)充用例可以在一起應(yīng)用。基礎(chǔ)用例提供了一組擴(kuò)充點(diǎn),在這些新的擴(kuò)充點(diǎn)中可以添加新的行為,而擴(kuò)充用例提供了一組插入片斷,這些片斷能夠被插入到基礎(chǔ)用例的擴(kuò)充點(diǎn)上。2/5/2023703章統(tǒng)一建模語(yǔ)言UML基礎(chǔ)用例不必知道擴(kuò)充用例的任何細(xì)節(jié),它僅為其提供擴(kuò)充點(diǎn)。事實(shí)上,基礎(chǔ)用例即使沒(méi)有擴(kuò)充用例也是完整的,這點(diǎn)與包含關(guān)系有所不同。一個(gè)用例可能有多個(gè)擴(kuò)充點(diǎn),每個(gè)擴(kuò)充點(diǎn)也可以出現(xiàn)多次。但是一般情況下,基礎(chǔ)用例的執(zhí)行不會(huì)涉及到擴(kuò)充用例,只有特定的條件發(fā)生,擴(kuò)充用例才被執(zhí)行。擴(kuò)充關(guān)系為處理異常或構(gòu)建靈活的系統(tǒng)框架提供了一種十分有效的方法。2/5/2023713章統(tǒng)一建模語(yǔ)言UML
在UML中,擴(kuò)充關(guān)系表示為虛線箭頭加《extend》字樣,箭頭指向被擴(kuò)展的用例(基礎(chǔ)用例)。本例中,基礎(chǔ)用例是“還車(chē)”,擴(kuò)充用例是“交納罰金”。如果一切順利汽車(chē)可以被歸還,那么執(zhí)行“還車(chē)”用例即可。但是如果超過(guò)了還車(chē)的時(shí)間或汽車(chē)受損,按規(guī)定客戶要交納一定的罰金,這就不能執(zhí)行用例提供的常規(guī)動(dòng)作。2/5/2023723章統(tǒng)一建模語(yǔ)言UML思考:假設(shè)有這樣的需求,在學(xué)生檔案管理中,管理員經(jīng)常需要做3件事:增加一條學(xué)生記錄、修改一條學(xué)生記錄、刪除一條學(xué)生記錄。如果要畫(huà)出用例圖,下面哪種方法更合適?AB2/5/2023733章統(tǒng)一建模語(yǔ)言UML
這種類型的問(wèn)題在進(jìn)行用例分析時(shí)會(huì)經(jīng)常遇到,也被稱為CRUD(create,retrieve,update,delete)問(wèn)題。從捕獲用戶需求的角度考慮,建議采用A方法。采用B方法的一個(gè)主要問(wèn)題是限制了分析人員的思路。雖然從用例圖可以發(fā)現(xiàn),對(duì)學(xué)生記錄的操作有增加、修改和刪除,但事實(shí)上,用戶的這些操作都是對(duì)學(xué)生記錄的管理。解決CRUD問(wèn)題的要點(diǎn)是從用戶需求的角度考慮,而不要從數(shù)據(jù)處理的角度考慮,這樣就不會(huì)得到類似方法B中的用例圖了。2/5/2023743章統(tǒng)一建模語(yǔ)言UML3.3.2類圖用于描述一組類、接口、協(xié)作及它們間的靜態(tài)關(guān)系(即系統(tǒng)的對(duì)象結(jié)構(gòu),顯示構(gòu)成系統(tǒng)的對(duì)象類,以及那些對(duì)象類間的關(guān)系)。在OO系統(tǒng)的建模中,類圖最為常用,它用來(lái)闡明系統(tǒng)的靜態(tài)結(jié)構(gòu)。類是對(duì)一組具有相同屬性、操作、關(guān)系和語(yǔ)義的對(duì)象的描述,其中對(duì)類的屬性和操作進(jìn)行描述時(shí)的一個(gè)最重要的細(xì)節(jié)是它的可見(jiàn)性。2/5/2023753章統(tǒng)一建模語(yǔ)言UML1.類
類是面向?qū)ο笙到y(tǒng)組織結(jié)構(gòu)的核心。類是對(duì)一組具有相同屬性、操作、關(guān)系和語(yǔ)義的對(duì)象的描述。這些對(duì)象包括了現(xiàn)實(shí)世界中的物理實(shí)體、商業(yè)事物、邏輯事務(wù)、應(yīng)用事物和行為事物等,甚至也包括了純粹概念性的事物,它們都是類的實(shí)例。2/5/2023763章統(tǒng)一建模語(yǔ)言UML類的UML符號(hào)表示如下圖所示,即類用矩形表示,并且該矩形被劃分為3個(gè)部分:名稱部分、屬性部分、操作部分。頂端的部分存放類的名稱,中間的部分放類的屬性、屬性的類型及其值,底部的部分存放類的操作、操作的參數(shù)表和返回類型。2/5/2023773章統(tǒng)一建模語(yǔ)言UML(1)名稱
類的名稱應(yīng)該來(lái)自系統(tǒng)的問(wèn)題域,并且類的名稱應(yīng)該是一個(gè)名詞。類的名稱可以分為簡(jiǎn)單名稱和路徑名稱。單獨(dú)的名稱即不包含冒號(hào)的字符串叫做簡(jiǎn)單名;用類所在的包的名稱作為前綴的類名叫做路徑名。2/5/2023783章統(tǒng)一建模語(yǔ)言UML(2)屬性
一個(gè)類可以有一個(gè)或多個(gè)屬性或者根本沒(méi)有屬性。屬性描述了為類的所有對(duì)象所共有的特性。屬性的選取應(yīng)考慮下列因素:原則上,類的屬性應(yīng)能描述并區(qū)分每個(gè)特定的對(duì)象。只有與系統(tǒng)有關(guān)的特性才包含在類的屬性中。2/5/2023793章統(tǒng)一建模語(yǔ)言UML類屬性的語(yǔ)法為:
可見(jiàn)性:屬性可以具有不同的可見(jiàn)性。類中屬性的可見(jiàn)性主要包括公有(Public)、私有(Private)和受保護(hù)(Protected)3種。在UML中分別表示為“+”“-”“?!?。2/5/2023803章統(tǒng)一建模語(yǔ)言UML(3)操作
一個(gè)類可以有任何數(shù)量的操作或根本沒(méi)有操作。操作是類的所有對(duì)象所共有的行為的抽象。操作用于修改、檢索類的屬性或執(zhí)行某些動(dòng)作。操作通常也被稱為功能或方法,但是它們被約束在類的內(nèi)部,只能作用到該類的對(duì)象上。2/5/2023813章統(tǒng)一建模語(yǔ)言UMLUML規(guī)定操作的語(yǔ)法為:
可見(jiàn)性:類的操作的可見(jiàn)性主要包括公有(Public)“+”;私有(Private)“-”;受保護(hù)(Protected)“?!?。2/5/2023823章統(tǒng)一建模語(yǔ)言UML2.類之間的關(guān)系類之間的關(guān)系最常用的有4種,分別是表示類之間使用關(guān)系的依賴關(guān)系;表示類之間一般和特殊關(guān)系的類屬關(guān)系;表示對(duì)象之間結(jié)構(gòu)關(guān)系的關(guān)聯(lián)關(guān)系;表示類中規(guī)格說(shuō)明和實(shí)現(xiàn)之間關(guān)系的實(shí)現(xiàn)關(guān)系。2/5/2023833章統(tǒng)一建模語(yǔ)言UML2/5/2023843章統(tǒng)一建模語(yǔ)言UMLUML中有3種主要的類原型,分別是邊界類、控制類和實(shí)體類。在進(jìn)行面向?qū)ο蠓治龊驮O(shè)計(jì)時(shí),如何確定系統(tǒng)中的類是一個(gè)比較困難的工作,引入邊界類、控制類和實(shí)體類的概念有助于分析和設(shè)計(jì)人員確定系統(tǒng)中的類。3.邊界類、控制類、實(shí)體類2/5/2023853章統(tǒng)一建模語(yǔ)言UML(1)邊界類(boundaryclass)邊界類位于系統(tǒng)與外界的交界處,用于處理系統(tǒng)與外界的通信。窗體、對(duì)話框、報(bào)表以及表示通訊協(xié)議的類、直接與外部設(shè)備交互的類、直接與外部系統(tǒng)交互的類等都是邊界類的例子。2/5/2023863章統(tǒng)一建模語(yǔ)言UML(2)控制類(controlclass)控制類是負(fù)責(zé)其他類工作的類。每個(gè)用例通常有一個(gè)控制類,控制用例中的事件順序,控制類也可在多個(gè)用例間共用。其他類并不向控制類發(fā)送很多消息,而是由控制類發(fā)出很多消息。2/5/2023873章統(tǒng)一建模語(yǔ)言UML(3)實(shí)體類(entityclass)實(shí)體類保存要放進(jìn)持久存儲(chǔ)體的信息。持久存儲(chǔ)體就是數(shù)據(jù)庫(kù)、文件等可以永久存儲(chǔ)數(shù)據(jù)的介質(zhì)。通常每個(gè)實(shí)體類在數(shù)據(jù)庫(kù)中有相應(yīng)的表,實(shí)體類中的屬性對(duì)應(yīng)數(shù)據(jù)庫(kù)中表的字段。但這并不意味著實(shí)體類和數(shù)據(jù)庫(kù)中的表是一一對(duì)應(yīng)的。2/5/2023883章統(tǒng)一建模語(yǔ)言UML4.類圖的劃分
雖然在軟件開(kāi)發(fā)的不同階段都使用類圖,但這些類圖描述了不同層次的抽象。類圖分為3個(gè)層次:概念層、說(shuō)明層和實(shí)現(xiàn)層。2/5/2023893章統(tǒng)一建模語(yǔ)言UML概念層類圖描述應(yīng)用領(lǐng)域中的概念,一般這些概念和類有很自然的聯(lián)系,但兩者并沒(méi)有直接的映射關(guān)系。說(shuō)明層類圖描述軟件的接口部分,而不是軟件的實(shí)現(xiàn)部分。這個(gè)接口可能因?yàn)閷?shí)現(xiàn)環(huán)境、運(yùn)行特性或者開(kāi)發(fā)商的不同而有多種不同的實(shí)現(xiàn)。實(shí)現(xiàn)層類圖真正考慮類的實(shí)現(xiàn)問(wèn)題,提供類的實(shí)現(xiàn)細(xì)節(jié)。2/5/2023903章統(tǒng)一建模語(yǔ)言UML下圖所示是一個(gè)類Circle的3個(gè)不同層次的情況:
從圖中可以看出,概念層類圖只有一個(gè)類名,說(shuō)明層類圖有類名、屬性名和方法名,但對(duì)屬性沒(méi)有類型的說(shuō)明,對(duì)方法的參數(shù)和返回類型也沒(méi)有指明,實(shí)現(xiàn)層類圖則對(duì)類的屬性和方法都有詳細(xì)的說(shuō)明。2/5/2023913章統(tǒng)一建模語(yǔ)言UML5.類圖的構(gòu)造根據(jù)用例描述中的名詞確定類的候選者。根據(jù)邊界類、控制類和實(shí)體類的劃分來(lái)幫助發(fā)現(xiàn)系統(tǒng)中的類。對(duì)領(lǐng)域進(jìn)行分析,或利用已有的領(lǐng)域分析結(jié)果得到類。參考設(shè)計(jì)模式來(lái)確定類。根據(jù)某些軟件開(kāi)發(fā)過(guò)程提供的指導(dǎo)原則進(jìn)行尋找類的工作。2/5/2023923章統(tǒng)一建模語(yǔ)言UML3.3.3對(duì)象圖對(duì)象圖是類圖的實(shí)例,用來(lái)描述特定運(yùn)行時(shí)刻一組對(duì)象間的關(guān)系。對(duì)象圖用于描述交互的靜態(tài)部分,它由參與協(xié)作的有關(guān)對(duì)象組成,但不包括在對(duì)象之間傳遞的任何消息。對(duì)象圖為開(kāi)發(fā)人員提供對(duì)象在某個(gè)時(shí)間點(diǎn)上的“快照”,不像類圖經(jīng)常使用,但能幫助開(kāi)發(fā)人員更好的理解系統(tǒng)結(jié)構(gòu)在創(chuàng)建對(duì)象圖時(shí),建模人員可以選取所感興趣的對(duì)象及其之間的關(guān)系來(lái)描述。2/5/2023933章統(tǒng)一建模語(yǔ)言UML對(duì)象圖中的建模元素有對(duì)象和鏈(link)。對(duì)象是類的實(shí)例,對(duì)象之間的鏈?zhǔn)穷愔g的關(guān)聯(lián)關(guān)系的實(shí)例。對(duì)象圖可以看作是類圖的一個(gè)實(shí)例。對(duì)象圖的建模元素2/5/2023943章統(tǒng)一建模語(yǔ)言UML類圖和對(duì)象圖的區(qū)別
類圖對(duì)象圖類具有三個(gè)分欄:名稱、屬性和操作對(duì)象只有兩個(gè)分欄:名稱和屬性在類的名稱分欄中只有類名對(duì)象的名稱形式為“對(duì)象名:類名”,匿名對(duì)象的名稱形式為“:類名”類中列出了操作對(duì)象圖中不包含操作,因?yàn)閷?duì)于屬于同一個(gè)類的對(duì)象而言,其操作是相同的類使用關(guān)聯(lián)連接,關(guān)聯(lián)使用名稱、角色、階元等特征定義。類代表的是對(duì)對(duì)象的分類,所以必須說(shuō)明可以參與關(guān)聯(lián)的對(duì)象的數(shù)目對(duì)象使用鏈連接,鏈擁有名稱、角色,但是沒(méi)有階元。對(duì)象代表的是單獨(dú)的實(shí)體,所有的鏈都是一對(duì)一的,因此不涉及到階元類的屬性分欄定義了所有屬性的特征對(duì)象則只定義了屬性的當(dāng)前值,以用于測(cè)試用例或例子中2/5/2023953章統(tǒng)一建模語(yǔ)言UML3.3.4順序圖(時(shí)序圖)順序圖表示對(duì)象間傳送消息的時(shí)間順序。順序圖用來(lái)描述對(duì)象之間消息發(fā)送的先后次序,闡明對(duì)象之間的交互過(guò)程以及在系統(tǒng)執(zhí)行過(guò)程中的某一具體時(shí)刻將會(huì)發(fā)生什么事件。是一種強(qiáng)調(diào)時(shí)間順序的交互圖,可用來(lái)進(jìn)行一個(gè)場(chǎng)景說(shuō)明,即一個(gè)事務(wù)的歷史過(guò)程。2/5/2023963章統(tǒng)一建模語(yǔ)言UML在時(shí)序圖中的水平方向?yàn)閷?duì)象維,沿水平方向排列的是參與交互的對(duì)象。時(shí)序圖的垂直方向?yàn)闀r(shí)間維,沿垂直向下方向按時(shí)間遞增順序列出各對(duì)象所發(fā)出和接收的消息。
在UML中,時(shí)序圖將交互關(guān)系表示為一個(gè)二維圖。2/5/2023973章統(tǒng)一建模語(yǔ)言UML時(shí)序圖中包括的建模元素有:對(duì)象(參與者實(shí)例也是對(duì)象)、生命線(lifeline)、控制焦點(diǎn)(focusofcontrol,FOC)、消息(message)等。2/5/2023983章統(tǒng)一建模語(yǔ)言UML
其中垂直虛線是對(duì)象的生命線,用于表示在某段時(shí)間內(nèi)對(duì)象是存在的。
時(shí)序圖中的對(duì)象用一個(gè)帶有垂直虛線的矩形框表示。下圖表示了三種不同的命名方式。
(1)對(duì)象2/5/2023993章統(tǒng)一建模語(yǔ)言UML
控制焦點(diǎn)是時(shí)序圖中表示時(shí)間段的符號(hào),在這個(gè)時(shí)間段內(nèi),對(duì)象將執(zhí)行相應(yīng)的操作??刂平裹c(diǎn)表示為生命線上的小矩形。(2)控制焦點(diǎn)2/5/20231003章統(tǒng)一建模語(yǔ)言UML消息用從一個(gè)對(duì)象的生命線到另一個(gè)對(duì)象生命線的直線箭頭表示。箭頭實(shí)線以時(shí)間順序在圖中從上到下排列。消息在生命線上所處的位置并不是消息發(fā)生的準(zhǔn)確時(shí)間,只是一個(gè)相對(duì)的位置。如果一個(gè)消息位于另一個(gè)消息的上方,只說(shuō)明它先于另一個(gè)消息被發(fā)送。(3)消息消息是從一個(gè)對(duì)象(發(fā)送者)向另一個(gè)或幾個(gè)對(duì)象(接收者)發(fā)送信號(hào),或由一個(gè)對(duì)象(發(fā)送者或調(diào)用者)調(diào)用另一個(gè)對(duì)象(接收者)的操作。2/5/20231013章統(tǒng)一建模語(yǔ)言UML對(duì)象的創(chuàng)建和撤銷
時(shí)序圖中對(duì)象的默認(rèn)位置是在圖的頂部,如果對(duì)象在這個(gè)位置上,說(shuō)明對(duì)象在交互開(kāi)始之前已經(jīng)存在了。如果對(duì)象是在交互過(guò)程中創(chuàng)建的,那么應(yīng)當(dāng)位于圖的中間部分。2/5/20231023章統(tǒng)一建模語(yǔ)言UML
如果要撤銷一個(gè)對(duì)象,只要在其生命線終止點(diǎn)放置一個(gè)“×”符號(hào)即可,該點(diǎn)通常是對(duì)刪除或取消消息的回應(yīng)。
2/5/20231033章統(tǒng)一建模語(yǔ)言UML2/5/20231043章統(tǒng)一建模語(yǔ)言UML3.3.5通信圖(協(xié)作圖)通信圖也是一種交互圖,它強(qiáng)調(diào)收發(fā)消息的對(duì)象的組織結(jié)構(gòu)。通信圖描述對(duì)象間的協(xié)作關(guān)系(與順序圖相似),顯示對(duì)象間的動(dòng)態(tài)合作關(guān)系。通信圖包含3個(gè)建模元素:對(duì)象(object)、鏈(link)、消息(message)。2/5/20231053章統(tǒng)一建模語(yǔ)言UML(1)對(duì)象
通信圖與時(shí)序圖中對(duì)象的概念是一樣的,只不過(guò)在通信圖中,無(wú)法像時(shí)序圖一樣表示對(duì)象的創(chuàng)建和撤銷,所以對(duì)象在圖中的位置沒(méi)有限制。如下圖所示,圖中的矩形代表的就是對(duì)象:2/5/20231063章統(tǒng)一建模語(yǔ)言UML
多對(duì)象:由多個(gè)對(duì)象組成的對(duì)象集合,一般這些對(duì)象是屬于同一個(gè)類的。當(dāng)需要把消息同時(shí)發(fā)給多個(gè)對(duì)象時(shí),使用這個(gè)概念。在通信圖中,多對(duì)象用多個(gè)方框的重疊表示。2/5/20231073章統(tǒng)一建模語(yǔ)言UML(2)鏈通信圖中用鏈(link)來(lái)連接對(duì)象,而消息顯示在鏈的旁邊,一個(gè)鏈上可以有多個(gè)消息。2/5/20231083章統(tǒng)一建模語(yǔ)言UML(3)消息通信圖中的消息類型與時(shí)序圖中的相同,只不過(guò)為了說(shuō)明交互過(guò)程中消息的時(shí)間順序,需要給消息添加順序號(hào)。順序號(hào)是消息的一個(gè)數(shù)字前綴,是一個(gè)整數(shù),由1開(kāi)始遞增,每個(gè)消息都必須有唯一的順序號(hào)。2/5/20231093章統(tǒng)一建模語(yǔ)言UML2/5/20231103章統(tǒng)一建模語(yǔ)言UML時(shí)序圖與通信圖的比較
時(shí)序圖和通信圖都屬于交互作用圖,都用于描述系統(tǒng)中對(duì)象之間的動(dòng)態(tài)關(guān)系。兩者可以相互轉(zhuǎn)換,但兩者強(qiáng)調(diào)的重點(diǎn)不同。時(shí)序圖強(qiáng)調(diào)的是消息的時(shí)間順序,而通信圖強(qiáng)調(diào)的是參與交互的對(duì)象的組織。在兩個(gè)圖所使用的建模元素上,兩者也有各自的特點(diǎn)。時(shí)序圖中有對(duì)象生命線和控制焦點(diǎn),通信圖中沒(méi)有;通信圖中有鏈,并且通信圖中的消息必須要有消息順序號(hào),但時(shí)序圖中沒(méi)有這兩個(gè)特征。2/5/20231113章統(tǒng)一建模語(yǔ)言UML3.3.6狀態(tài)圖狀態(tài)視圖是一個(gè)類對(duì)象所經(jīng)歷的所有歷程的模型圖。狀態(tài)由對(duì)象的各個(gè)狀態(tài)和連接這些狀態(tài)的變遷組成。每個(gè)狀態(tài)對(duì)一個(gè)對(duì)象在其生命周期中滿足某種條件的一個(gè)時(shí)間段建模。當(dāng)一個(gè)事件發(fā)生時(shí),它會(huì)觸發(fā)狀態(tài)間的變遷,導(dǎo)致對(duì)象從一種狀態(tài)轉(zhuǎn)化到另一種新的狀態(tài)。與變遷相關(guān)的活動(dòng)執(zhí)行時(shí),變遷也同時(shí)發(fā)生。狀態(tài)用狀態(tài)圖來(lái)表達(dá)。在UML中,狀態(tài)圖可用來(lái)對(duì)一個(gè)對(duì)象按事件排序的行為建模(建模特定對(duì)象的動(dòng)態(tài)行為,說(shuō)明對(duì)象的生命周期)。2/5/20231123章統(tǒng)一建模語(yǔ)言UML2/5/20231133章統(tǒng)一建模語(yǔ)言UML狀態(tài)
狀態(tài)圖中的狀態(tài)用圓角矩形表示,它由狀態(tài)名、狀態(tài)變量和狀態(tài)活動(dòng)3部分組成。一般而言,狀態(tài)變量部分是可以省略的,狀態(tài)的活動(dòng)部分由入口動(dòng)作、出口動(dòng)作、內(nèi)部躍遷、延遲事件、內(nèi)部活動(dòng)、子狀態(tài)構(gòu)成。2/5/20231143章統(tǒng)一建模語(yǔ)言UML入口動(dòng)作內(nèi)部活動(dòng)內(nèi)部躍遷出口動(dòng)作延遲事件狀態(tài)的名字是Lighting。當(dāng)進(jìn)入這個(gè)狀態(tài)時(shí),做開(kāi)燈(turnOn)動(dòng)作,離開(kāi)這個(gè)狀態(tài)時(shí),做關(guān)燈(turnOff)動(dòng)作,當(dāng)對(duì)象處于這個(gè)狀態(tài)時(shí),燈要閃爍5次(blinkFivetimes),當(dāng)電源關(guān)閉(powerOff)事件出現(xiàn)時(shí),使用自供應(yīng)電源(powerSupplySelf)。需要注意的是,對(duì)象在Lighting狀態(tài)時(shí),有一個(gè)被延遲處理的事件,即當(dāng)出現(xiàn)自檢(selfTest)事件時(shí),對(duì)象將延遲響應(yīng)這個(gè)事件。即不在Lighting這個(gè)狀態(tài)中處理這個(gè)事件,而是延遲到以后在別的狀態(tài)中處理這個(gè)事件。2/5/20231153章統(tǒng)一建模語(yǔ)言UML(1)入口/出口動(dòng)作入口動(dòng)作和出口動(dòng)作表示進(jìn)入或退出某個(gè)狀態(tài)所要執(zhí)行的動(dòng)作。入口動(dòng)作用“entry/要執(zhí)行的動(dòng)作”表達(dá),而出口動(dòng)作用“exit/要執(zhí)行的動(dòng)作”表達(dá)。
2/5/20231163章統(tǒng)一建模語(yǔ)言UML(2)內(nèi)部躍遷內(nèi)部躍遷是沒(méi)有引起狀態(tài)變化的躍遷。也就是建模人員有時(shí)候需要在不離開(kāi)一個(gè)狀態(tài)的情況下處理一些事情,內(nèi)部躍遷和自躍遷不同。在自躍遷中,躍遷首先離開(kāi)狀態(tài),然后再重新進(jìn)入同一個(gè)狀態(tài);而內(nèi)部躍遷根本沒(méi)有離開(kāi)狀態(tài)。自躍遷在離開(kāi)狀態(tài)時(shí)會(huì)執(zhí)行狀態(tài)的出口動(dòng)作,在躍遷時(shí)會(huì)執(zhí)行自躍遷動(dòng)作,在重新進(jìn)入狀態(tài)時(shí)執(zhí)行狀態(tài)入口動(dòng)作;而內(nèi)部躍遷由于沒(méi)有離開(kāi)狀態(tài),不需要執(zhí)行出口和入口動(dòng)作,只需要執(zhí)行內(nèi)部躍遷動(dòng)作。
2/5/20231173章統(tǒng)一建模語(yǔ)言UML(3)延遲事件延遲事件是在當(dāng)前狀態(tài)的發(fā)生不處理,推遲到事件不再被推遲的另外一個(gè)狀態(tài)中才處理,這時(shí)延遲事件發(fā)生并可能觸發(fā)躍遷,就好像這些事件剛發(fā)生一樣。通過(guò)將事件與特殊動(dòng)作defer列在一起來(lái)表示延遲事件。
2/5/20231183章統(tǒng)一建模語(yǔ)言UML(4)內(nèi)部活動(dòng)當(dāng)對(duì)象處于一個(gè)狀態(tài)時(shí),它一般是空閑的,并等待一個(gè)事件的發(fā)生。但有時(shí)建模人員需要對(duì)象在處于某一狀態(tài)時(shí)一直做著某些工作,直到被一個(gè)事件中斷為止。這時(shí)可以使用內(nèi)部活動(dòng)。內(nèi)部活動(dòng)在狀態(tài)的入口動(dòng)作執(zhí)行完畢之后執(zhí)行。如果當(dāng)內(nèi)部活動(dòng)正在執(zhí)行時(shí)有一個(gè)躍遷被觸發(fā),那么內(nèi)部活動(dòng)將被中止,然后執(zhí)行狀態(tài)的出口動(dòng)作。內(nèi)部活動(dòng)語(yǔ)法為:do/活動(dòng)表達(dá)式2/5/20231193章統(tǒng)一建模語(yǔ)言UML(5)初始狀態(tài)和最終狀態(tài)初始狀態(tài)和最終狀態(tài)是兩種特殊的狀態(tài)。初始狀態(tài)表示狀態(tài)機(jī)的開(kāi)始,最終狀態(tài)表示狀態(tài)機(jī)的執(zhí)行結(jié)束。初始狀態(tài)用實(shí)心圓表示,最終狀態(tài)用內(nèi)套實(shí)心圓的圓圈表示。
一個(gè)狀態(tài)圖只能有一個(gè)初態(tài),但終態(tài)可以有一個(gè)或多個(gè),也可以沒(méi)有終態(tài)。2/5/20231203章統(tǒng)一建模語(yǔ)言UML(6)子狀態(tài)
子狀態(tài)是被嵌套的狀態(tài)。子狀態(tài)包括不相交子狀態(tài)和并發(fā)子狀態(tài)。不含有子狀態(tài)的狀態(tài)被稱為簡(jiǎn)單狀態(tài)。含有子狀態(tài)的狀態(tài)被稱為組合狀態(tài)。組合狀態(tài)中也可以有初態(tài)和終態(tài)。
不相交子狀態(tài)也被稱為順序子狀態(tài)。并發(fā)子狀態(tài)是指并發(fā)進(jìn)行的子狀態(tài)。
2/5/20231213章統(tǒng)一建模語(yǔ)言UML順序子狀態(tài)示例-IC卡電話的使用IC卡電話包括3個(gè)基本狀態(tài):使用、未使用和維護(hù)。其中使用狀態(tài)是一個(gè)組合狀態(tài)。因?yàn)镮C卡電話不能同時(shí)處于兩個(gè)不同的子狀態(tài),所以這些子狀態(tài)是順序子狀態(tài)。2/5/20231223章統(tǒng)一建模語(yǔ)言UML并發(fā)子狀態(tài)示例-“運(yùn)行”的電動(dòng)車(chē)電動(dòng)車(chē)的“運(yùn)行”狀態(tài)包含了前進(jìn)和后退兩個(gè)不同的子狀態(tài),這兩個(gè)子狀態(tài)就是順序子狀態(tài);另一方面,車(chē)的運(yùn)行狀態(tài)又包括高度行駛狀態(tài)與低速行駛狀態(tài)。前進(jìn)狀態(tài)可以同時(shí)為高速行駛或低速行駛,后退狀態(tài)也可以是高速行駛或低速行駛,每?jī)蓚€(gè)狀態(tài)都可以同時(shí)存在。這些可以同時(shí)出現(xiàn)的狀態(tài)構(gòu)成了運(yùn)行狀態(tài)的并發(fā)子狀態(tài)。2/5/20231233章統(tǒng)一建模語(yǔ)言UML(7)歷史狀態(tài)當(dāng)離開(kāi)一個(gè)組合狀態(tài)后,又重新進(jìn)入該組合狀態(tài),并不希望從該組合狀態(tài)的子初始狀態(tài)開(kāi)始運(yùn)行,而是直接進(jìn)入上次離開(kāi)該組合狀態(tài)時(shí)的最后一個(gè)活動(dòng)子狀態(tài),要描述這種情況就需要用到歷史狀態(tài)。歷史狀態(tài)使得含有順序子狀態(tài)的組合狀態(tài)能記住離開(kāi)該組合狀態(tài)前的最后一個(gè)活動(dòng)子狀態(tài)。歷史狀態(tài)用帶圈的“H”表示。
H如果一個(gè)組合狀態(tài)到達(dá)了其終態(tài),則會(huì)丟失歷史狀態(tài)中的信息,就好像還沒(méi)有進(jìn)入過(guò)這個(gè)組合狀態(tài)一樣。2/5/20231243章統(tǒng)一建模語(yǔ)言UML這是一個(gè)對(duì)數(shù)據(jù)進(jìn)行備份時(shí)的狀態(tài)圖,備份時(shí)要經(jīng)過(guò)Collecting、Copying、CleaningUp等幾個(gè)狀態(tài)。如果在進(jìn)行數(shù)據(jù)備份過(guò)程中,有數(shù)據(jù)查詢請(qǐng)求,則可以中斷當(dāng)前的備份工作,然后回到Command狀態(tài)進(jìn)行查詢操作。查詢結(jié)束后,可以從Command狀態(tài)直接到剛才中斷時(shí)退出的狀態(tài)接著進(jìn)行備份操作。如果剛才是從Copying狀態(tài)被中斷退出的,則現(xiàn)在可以直接從Command狀態(tài)到Copying狀態(tài)。如果希望躍遷激活上次離開(kāi)組合狀態(tài)時(shí)的最后一個(gè)活動(dòng)子狀態(tài),組合狀態(tài)外的這個(gè)躍遷應(yīng)該直接躍遷到歷史狀態(tài)中。這個(gè)躍遷規(guī)定了躍遷第一次進(jìn)入時(shí)的子狀態(tài)機(jī)的初始狀態(tài)。2/5/20231253章統(tǒng)一建模語(yǔ)言UML躍遷
躍遷(Transition)是兩個(gè)狀態(tài)間的一種關(guān)系,它表示對(duì)象在第一個(gè)狀態(tài)將執(zhí)行某些動(dòng)作,當(dāng)規(guī)定的事件發(fā)生或滿足規(guī)定的條件時(shí),對(duì)象進(jìn)入第二個(gè)狀態(tài)。躍遷用從源狀態(tài)到目標(biāo)狀態(tài)的有向?qū)嵕€表示。
躍遷2/5/20231263章統(tǒng)一建模語(yǔ)言UML躍遷由以下部分組成:(1)源狀態(tài)與目標(biāo)狀態(tài)
源狀態(tài)目標(biāo)狀態(tài)2/5/20231273章統(tǒng)一建模語(yǔ)言UML(2)觸發(fā)事件在狀態(tài)圖中,事件表示在某一特定的時(shí)間或空間出現(xiàn)的能夠引發(fā)狀態(tài)改變的運(yùn)動(dòng)變化。事件可以是信號(hào)、調(diào)用、時(shí)間的消逝等。
觸發(fā)事件2/5/20231283章統(tǒng)一建模語(yǔ)言UML躍遷也可以是非觸發(fā)的,非觸發(fā)的躍遷也被稱為完成躍遷,當(dāng)源狀態(tài)完成活動(dòng)時(shí),躍遷被隱式地觸發(fā),也就是說(shuō),這種躍遷是由動(dòng)作完成自動(dòng)觸發(fā)的,不是由事件觸發(fā)的。源狀態(tài)和目標(biāo)狀態(tài)相同的躍遷是自躍遷。2/5/20231293章統(tǒng)一建模語(yǔ)言UML(3)護(hù)衛(wèi)條件護(hù)衛(wèi)條件是一個(gè)布爾表達(dá)式,布爾表達(dá)式由方括弧“[]”括起,放在觸發(fā)事件后面。當(dāng)觸發(fā)事件發(fā)生后,求護(hù)衛(wèi)表達(dá)式的值,如果值為真,躍遷可以觸發(fā);如果值為假,躍遷就不能被觸發(fā)。護(hù)衛(wèi)條件2/5/20231303章統(tǒng)一建模語(yǔ)言UML(4)動(dòng)作動(dòng)作是一個(gè)可執(zhí)行的原子計(jì)算。動(dòng)作可以包括發(fā)送消息給另一個(gè)對(duì)象、操作調(diào)用、創(chuàng)建或銷毀對(duì)象等。動(dòng)作是原子的,不可中斷的,它的執(zhí)行時(shí)間非常短。在躍遷過(guò)程中可能會(huì)發(fā)生一些動(dòng)作。動(dòng)作2/5/20231313章統(tǒng)一建模語(yǔ)言UML當(dāng)一個(gè)顧客提交申請(qǐng)信用卡并通過(guò)時(shí),帳戶處于“空”狀態(tài)。一旦該客戶收到信用卡并激活時(shí),帳戶處于“激活-無(wú)余額”狀態(tài)。當(dāng)顧客用該信用卡交付時(shí),帳戶處于“激活-結(jié)欠余額”狀態(tài)。如果剛好支付了所有的余額,帳戶就處于“激活-無(wú)余額”狀態(tài)。如果顧客在1個(gè)月后還沒(méi)有向銀行支付消費(fèi)的額度,帳戶就處于“拖欠帳務(wù)”狀態(tài),但在信用卡允許的信用額度里仍可使用。一旦顧客支付了過(guò)去所欠的金額,帳戶就處于“激活-無(wú)余額”或者“激活-結(jié)欠余額”狀態(tài)。只有余額為0時(shí),顧客才可以注銷帳戶。
2/5/20231323章統(tǒng)一建模語(yǔ)言UML2/5/20231333章統(tǒng)一建模語(yǔ)言UML3.3.7活動(dòng)圖活動(dòng)圖是狀態(tài)圖的一種特殊情況,其中幾乎所有或大多數(shù)狀態(tài)都處于活動(dòng)狀態(tài),而且?guī)缀跛谢虼蠖鄶?shù)變遷都是由源狀態(tài)中活動(dòng)的完成而觸發(fā)的?;顒?dòng)圖本質(zhì)上是一種流程圖,它描述從活動(dòng)到活動(dòng)的控制流。2/5/20231343章統(tǒng)一建模語(yǔ)言UML左圖是一個(gè)典型的活動(dòng)圖,圖中含有狀態(tài)、分支、分叉和聯(lián)結(jié)。當(dāng)一個(gè)狀態(tài)中的活動(dòng)完成后,控制自動(dòng)進(jìn)入下一個(gè)狀態(tài)。整個(gè)活動(dòng)圖起始于起始狀態(tài),終止于結(jié)束狀態(tài)。2/5/20231353章統(tǒng)一建模語(yǔ)言UML組成元素
(1)活動(dòng)活動(dòng)是活動(dòng)圖中最重要的一個(gè)元素。一般來(lái)說(shuō)所謂的活動(dòng)是指人或系統(tǒng)的一連串的執(zhí)行細(xì)節(jié)。活動(dòng)的表示圖標(biāo)也是平滑的圓角矩形,并可以在圖標(biāo)中給出入口動(dòng)作和出口動(dòng)作等信息。2/5/20231363章統(tǒng)一建模語(yǔ)言UML(2)躍遷當(dāng)活動(dòng)完成時(shí),控制流立即傳遞給下個(gè)活動(dòng)。躍遷被用來(lái)表示從一個(gè)活動(dòng)傳遞到下一個(gè)活動(dòng)的路徑。躍遷同樣也是用簡(jiǎn)單的有向線表示。
躍遷2/5/20231373章統(tǒng)一建模語(yǔ)言UML(3)分支
在活動(dòng)圖中可以含有分支,分支規(guī)定了基于布爾表達(dá)式的替換路徑,分支起始于判定。2/5/20231383章統(tǒng)一建模語(yǔ)言UML2/5/20231393章統(tǒng)一建模語(yǔ)言UML可以用活動(dòng)圖的分支表示循環(huán)結(jié)構(gòu)for(i=1;i<10;i++){ Action(i);}用一個(gè)活動(dòng)來(lái)設(shè)置循環(huán)變量的初始值,另一個(gè)活動(dòng)來(lái)增加循環(huán)變量的值,用一個(gè)分支來(lái)判斷循環(huán)是否結(jié)束。2/5/20231403章統(tǒng)一建模語(yǔ)言UML(5)分叉和聯(lián)結(jié)
在UML中,使用同步條來(lái)規(guī)定并行控制流的分叉與聯(lián)結(jié)。同步條是一條粗的水平線或垂直線。2/5/20231413章統(tǒng)一建模語(yǔ)言UML分叉表示將單一的控制流分成兩個(gè)或多個(gè)并發(fā)的控制流。分叉有一個(gè)輸入躍遷和多個(gè)輸出躍遷,每個(gè)輸出代表一個(gè)獨(dú)立的控制流。在分叉下面,與每個(gè)輸出路徑相關(guān)的活動(dòng)是并行進(jìn)行的。2/5/20231423章統(tǒng)一建模語(yǔ)言UML聯(lián)結(jié)代表了兩個(gè)或多個(gè)并發(fā)控制流的同步,聯(lián)結(jié)有多個(gè)輸入躍遷和一個(gè)輸出躍遷。在聯(lián)結(jié)處,并發(fā)的流同步,也就是說(shuō)每個(gè)流都要等到所有的輸入流到達(dá)同步條,然后同步條將多個(gè)輸入控制流合并,輸出一個(gè)控制流,進(jìn)而執(zhí)行后面的活動(dòng)。2/5/20231433章統(tǒng)一建模語(yǔ)言UML分叉和聯(lián)結(jié)應(yīng)該是平衡的,也就是說(shuō)離開(kāi)分叉的控制流的數(shù)目應(yīng)該與進(jìn)入相應(yīng)聯(lián)結(jié)的控制流數(shù)目相等。2/5/20231443章統(tǒng)一建模語(yǔ)言UML2/5/20231453章統(tǒng)一建模語(yǔ)言UML(6)泳道
泳道用于說(shuō)明某項(xiàng)活動(dòng)由誰(shuí)來(lái)完成。泳道用矩形框來(lái)表示,屬于某個(gè)泳道的活動(dòng)放在該矩形框內(nèi),將對(duì)象名放在矩形框的頂部,表示泳道中的活動(dòng)由該對(duì)象負(fù)責(zé)。2/5/20231463章統(tǒng)一建模語(yǔ)言UML2/5/20231473章統(tǒng)一建模語(yǔ)言UML(7)對(duì)象流
在活動(dòng)圖中可以出現(xiàn)對(duì)象。對(duì)象可以作為活動(dòng)的輸入或輸出?;顒?dòng)圖中的對(duì)象流表示活動(dòng)和對(duì)象之間的關(guān)系,如一個(gè)活動(dòng)創(chuàng)建對(duì)象(作為活動(dòng)的輸出)或使用對(duì)象(作為活動(dòng)的輸入)等。對(duì)象流屬于控制流,所以如果兩個(gè)活動(dòng)之間有對(duì)象流,則控制流就不必重復(fù)畫(huà)出了。2/5/20231483章統(tǒng)一建模語(yǔ)言UML活動(dòng)SubmitDefect創(chuàng)建對(duì)象Defect,該對(duì)象的狀態(tài)是Submitted,活動(dòng)FixDefect使用處于狀態(tài)Submitted的對(duì)象Defect,同時(shí)把對(duì)象的狀態(tài)改為Fixed狀態(tài)。2/5/20231493章統(tǒng)一建模語(yǔ)言UML(8)活動(dòng)的分解一個(gè)活動(dòng)可以分為若干個(gè)子活動(dòng),這些子活動(dòng)本身又可以組成一個(gè)活動(dòng)圖。不含內(nèi)嵌活動(dòng)的活動(dòng)稱之為簡(jiǎn)單活動(dòng);嵌套了若干活動(dòng)的活動(dòng)稱之為組合活動(dòng),組合活動(dòng)有自己的名字和相應(yīng)的子活動(dòng)圖。2/5/20231503章統(tǒng)一建模語(yǔ)言UML2/5/20231513章統(tǒng)一建模語(yǔ)言UML喝飲料的活動(dòng)圖2/5/20231523章統(tǒng)一建模語(yǔ)言UML3.3.8組件圖用于描述一組(構(gòu))件之間的組織和依賴關(guān)系,用于建模系統(tǒng)的靜態(tài)實(shí)現(xiàn)視圖(可以顯示程序代碼如何分解成模塊)。組(構(gòu))件用虛線連接,表示組(構(gòu))件間的相關(guān)性。組(構(gòu))件可以是可執(zhí)行程序、庫(kù)、表、文件和文檔等,它包含了邏輯類或者邏輯類的實(shí)現(xiàn)信息,因此邏輯視圖和實(shí)現(xiàn)視圖之間存在映射關(guān)系。組(構(gòu))件間也存在依賴關(guān)系,利用它可方便地分析一個(gè)組(構(gòu))件的變化會(huì)給其他組(構(gòu))件帶來(lái)怎樣的影響。組(構(gòu))件圖中也可包括包或子系統(tǒng),它們都用于將模型元素組織成較大的組塊。2/5/20231
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)奧數(shù)四套題目及答案
- 車(chē)間定法制度
- 誠(chéng)信、廉潔的相關(guān)制度
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)城市綠化管理行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資戰(zhàn)略咨詢報(bào)告
- 醫(yī)學(xué)導(dǎo)論:膽囊癌診療課件
- 行業(yè)協(xié)會(huì)監(jiān)督檢查制度
- 2025年技術(shù)能力評(píng)估筆試及答案
- 2025年色達(dá)人事考試及答案
- 2025年天津華電集團(tuán)筆試及答案
- 2025年班主任技能比賽筆試題及答案
- 廣西南寧市2025-2026學(xué)年高一上學(xué)期期末物理試題(原卷版+解析版)
- 2026屆湖北省襄陽(yáng)第四中學(xué)數(shù)學(xué)高一上期末考試模擬試題含解析
- 吉林省長(zhǎng)春市2026屆高三年級(jí)質(zhì)量檢測(cè)政治(一)(長(zhǎng)春一模)(含答案)
- 2026年度駕駛員工作計(jì)劃
- 2026年常州工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)含答案詳解
- OEE的課件教學(xué)課件
- 混凝土施工作業(yè)環(huán)境管理方案
- 2025年初會(huì)職稱《經(jīng)濟(jì)法基礎(chǔ)》真題匯編及答案
- 2025年四川省成都市武侯區(qū)中考物理二診試卷
- 光纖線路架設(shè)施工方案
- 2025年監(jiān)理工程師市政公用工程繼續(xù)教育考試題及答案
評(píng)論
0/150
提交評(píng)論