




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第九章面向對象模型及PowerdDesigner實現(xiàn)(教學:4學時,上機:4學時)應用軟件系統(tǒng)部署圖DeploymentDiagram組件圖ComponentDiagram交互縱覽圖InteractionOverviewDiagarm狀態(tài)圖StateChartDiagram活動圖ActivityDiagram通信圖CommunicationDiagram時序圖SequenceDiagram包圖PackageDiagram組合結構圖CompositeStructureDiagram對象圖ObjectDiagram類圖ClassDiagram用例圖UseCaseDiagram面向對象模型應用程序代碼第九章面向對象模型及PowerdDesigner實現(xiàn)(教學9.1面向對象模型概述
圖形類型圖形名稱圖形類型圖形名稱用例圖Usecasediagram(用例圖)動態(tài)圖Communicationdiagram(通信圖)結構圖Classdiagram(類圖)Sequencediagram(時序圖)Compositestructurediagram(組合結構圖)Statechartdiagram(狀態(tài)圖)Objectdiagram(對象圖)Activitydiagram(活動圖)Packagediagram(包圖)Interactionoverviewdiagram(交互縱覽圖)實現(xiàn)圖Componentdiagram(組件圖)Deploymentdiagram(部署圖)PowerDesigner支持的12種UML圖形9.1面向對象模型概述圖形類型圖形名稱圖形類型圖形名稱9.1面向對象模型概述
9.1面向對象模型概述9.2.1類和對象9.2.2繼承9.2.3封裝和接口9.2.4多態(tài)性9.2.5消息傳遞9.2.6關聯(lián)9.2.7聚合和組合9.2面向對象的主要概念9.2.1類和對象9.2面向對象的主要概念參與者和用例模型對象之間的關系
9.3功能模型的設計
參與者和用例9.3功能模型的設計9.3功能模型的設計
9.3功能模型的設計9.4結構模型的設計組合結構圖包圖9.4結構模型的設計組合結構圖包圖1.類的特性
2.泛型
3.組合類與內部類9.4.1類組合類元內部類元組合類元的類圖Browser窗口中的組合類元組合類與內部類元顯示在同一層Innerlink1.類的特性9.4.1類組合類元內部類元組合類元的類圖4.為數(shù)據(jù)類型附加類元5.關聯(lián)和繼承的遷移9.4.1類類Employee和Company的關聯(lián)及類Employee生成的代碼publicclassEmployee{publicstringname;publicstringdepartment;publiccompany[]hires;}類Developer和Employee間的繼承關系4.為數(shù)據(jù)類型附加類元9.4.1類類Employee和C每個包中可以包含一組模型元素、圖形和包。包中的模型元素名稱必須唯一。引用包中的模型元素格式:“包名:包中的元素”,如Tools:Hammer包之間的依賴關系表示兩個包中的模型元素之間至少存在一種依賴,并不表示每對元素都有依賴關系。
9.4.2包每個包中可以包含一組模型元素、圖形和包。9.4.2包接口是一組類的外部可視操作的集合。接口Designated通過類Employee實現(xiàn)。9.4.3接口接口是一組類的外部可視操作的集合。9.4.3接口9.4.4對象b)a)c)Liftreciever:Caller:ReceiverRingingtonea)通信圖中的對象b)對象圖中的對象c)時序圖中的對象如果對象不是某個類的實例,它僅只有名稱;如果對象是一個類的實例,但實際代表的是該類的所有實例,那么它有分類但沒有名稱(匿名對象);如果對象是類的一個實例,它既有名稱,又有分類。
9.4.4對象b)a)c)Liftreciever:C9.4.5部件和端口部件只能在類或組件的內部產(chǎn)生,通過連接器與其它部件或端口相連。端口建立在類的表面,表示類與其所在環(huán)境或類與其內部部件之間的不同交互點。組件結構圖中類通過端口和內部部件交互組件圖中使用端口描述部件之間的連接關系9.4.5部件和端口部件只能在類或組件的內部產(chǎn)生,通過屬性描述了類或接口的特征,類的屬性名稱必須互不相同,接口中的屬性必須是靜態(tài)的(Static)和不可變的(Frozen)。標識符(Identifier)是類中能夠唯一標識每個實例的一個或幾個屬性的集合,每個類至少應該有一個標識符。操作(Operations)是類能夠執(zhí)行的動作,擁有一個名稱和參數(shù)列表。9.4.7屬性、標識符、操作
類Car屬性描述了類或接口的特征,類的屬性名稱必須互不相同,接口中的關聯(lián)用來描述類之間或類和接口之間的連接關系。二元關聯(lián)和自反關聯(lián)
聚合組合關聯(lián)類9.4.10關聯(lián)二元關聯(lián)和自反關聯(lián)二元關聯(lián)多重性角色名自反關聯(lián)Hires0..10..*0..1manages0..*ismanagedCompanyEmployeeSupervise聚合關聯(lián)組合關聯(lián)關聯(lián)類關聯(lián)用來描述類之間或類和接口之間的連接關系。9.4.10關聯(lián)具有普遍性的模型對象與具有特殊性的模型對象之間存在泛化關系。依賴描述兩個模型元素之間的依存關系,一個模型元素(提供者)的變化將影響另一個模型元素(客戶)的變化,用帶箭頭的虛線表示,箭頭的方向指向提供者。版型(Stereotype),能夠表達不同的依賴關系。
9.4.11泛化與依賴類間與組件間的泛化關系版型含義語義說明<<Access>>訪問一個包能夠訪問另一個包<<Bind>>綁定為模板參數(shù)指定一個值,以生成一個新的模型元素<<Call>>調用一個類的方法調用其它類的操作<<Derive>>派生一個實例可以從另一個實例通過計算得到<<Instantiate>>實例化表明一個類創(chuàng)建另一個類的實例<<Refine>>精化目標對象比源對象更加精細<<Trace>>跟蹤在歷史上,源對象和目標對象之間存在連接<<Use>>使用一個模型元素使用另一個模型元素,包括調用、實例化等依賴的常見版型及含義
具有普遍性的模型對象與具有特殊性的模型對象之間存在泛化關系。需求鏈接把類或組件與接口連接起來,用一端帶有圓弧的線段表示。實現(xiàn)關系在類或組件中說明接口中方法的實現(xiàn)細節(jié),用帶閉合三角形箭頭的虛線表示,箭頭指向接口。9.4.14需求連接與實現(xiàn)組件圖中的需求鏈接和實現(xiàn)關系需求鏈接實現(xiàn)關系接口實現(xiàn)關系需求鏈接把類或組件與接口連接起來,用一端帶有圓弧的線段表示。裝配連接器(AssemblyConnector)描述類中內部部件之間的通信路徑,反映部件之間提出請求并提供服務的關系。委托連接器(DelegationConnector)描述類中部件(Part)與類表面的端口之間的通信路徑,反映部件與端口之間提出請求并提供服務的關系。9.4.15裝配連接器和委托連接器組件圖中裝配連接器和委托連接器委托連接器裝配連接器裝配連接器(AssemblyConnector)描述類中內對象圖中的實例鏈接由類圖中的關聯(lián)轉換而來,用兩個對象之間的一條實線表示,也可以表示聚合或組合。通信圖中的實例鏈接上附有多個消息,序號說明在對象之間相互交換的消息的順序。
9.4.16實例鏈接通信圖中的實例鏈接實例鏈接對象圖中的實例鏈接由類圖中的關聯(lián)轉換而來,用兩個對象之間的一動態(tài)模型描述軟件的動態(tài)行為。通信圖(CommunicationDiagram)時序圖(SequenceDiagram)活動圖(ActivityDiagram)狀態(tài)圖(StatechartDiagram)交互縱覽圖(InteractionOverviewDiagram)9.5動態(tài)模型的設計動態(tài)模型描述軟件的動態(tài)行為。9.5動態(tài)模型的設計1.通信圖
通信圖可以是用例的一個場景、一個操作的執(zhí)行過程和類間的簡單交互。重點描述對象間的靜態(tài)鏈接關系,消息的序號表示時間順序。建立通信圖的重點是找到系統(tǒng)中的對象,并描述用例的活動步驟。邊界對象:可能是窗口、對話框或菜單。實體對象:表示存儲的數(shù)據(jù)??刂茖ο?表示信息的傳遞。9.5動態(tài)模型的設計打電話過程的通信圖1.通信圖通信圖可以是用例的一個場景、一個操作的執(zhí)行過程和2.時序圖
時序圖描述若干對象之間的動態(tài)協(xié)作關系,說明對象之間發(fā)送消息(Message)的先后順序,系統(tǒng)執(zhí)行過程中,在某一具體位置將會發(fā)生什么事件。主要用途:表示用例中的行為順序。9.5動態(tài)模型的設計打印文件的時序圖2.時序圖時序圖描述若干對象之間的動態(tài)協(xié)作關系,說明對象之Client處理訂單時序圖。時序圖用于展示場景,可以說明可選的或并行的場景,描述多個相關的交互的時間順序
。
時序圖示例9.5動態(tài)模型的設計Client處理訂單時序圖。時序圖示例9.5動態(tài)模型通信圖與時序圖比較:通信圖著重體現(xiàn)交互對象間的靜態(tài)鏈接關系。時序圖著重體現(xiàn)交互的時間順序。通信圖時序圖9.5動態(tài)模型的設計通信圖與時序圖比較:通信圖時序圖9.5動態(tài)模型的設計3.活動圖
活動圖用來描述用例、包、類等模型元素的動態(tài)行為,強調活動或動作執(zhí)行以后所觸發(fā)的轉換。一個起點幾個可能的終點
可以使用條件分支9.5動態(tài)模型的設計手動檔汽車發(fā)動過程的活動圖表示開始點表示結束點表示活動表示對象節(jié)點表示流表示判斷表示同步表示泳道
3.活動圖活動圖用來描述用例、包、類等模型元素的動態(tài)行為,組合活動(Compositeactivity)判斷(Decision)輸入/輸出參數(shù)同步(Synchronization)系統(tǒng)登錄的活動圖9.5動態(tài)模型的設計組合活動(Compositeactivity)系統(tǒng)登錄的4.狀態(tài)圖
狀態(tài)圖用于描述一個類或組件所有可能的狀態(tài)及狀態(tài)之間的轉換情況。同一個類可以創(chuàng)建多個狀態(tài)圖,每個狀態(tài)圖描述各自狀態(tài)及轉換情況。狀態(tài)圖可以為每一個狀態(tài)指定一個類、組件或用例,并與之關聯(lián)。9.5動態(tài)模型的設計圍棋博弈過程的狀態(tài)圖4.狀態(tài)圖狀態(tài)圖用于描述一個類或組件所有可能的狀態(tài)及狀態(tài)之5.交互縱覽圖
交互縱覽圖可以看作多種動態(tài)模型圖的綜合視圖,它可以包含時序圖、通信圖、活動圖和狀態(tài)圖等。它用來描述動態(tài)圖形之間的相互關系。9.5動態(tài)模型的設計表示開始點表示結束點表示交互活動,表示判斷表示同步
交互縱覽圖示例5.交互縱覽圖交互縱覽圖可以看作多種動態(tài)模型圖的綜合視消息是對象之間進行通信的唯一途徑,由發(fā)送者、接受者和行為三部分組成。消息可以是同步的、異步的,也可以是遞歸消息。在時序圖和通信圖中,可以重用同一個消息。通信圖中,消息和一個實例連接相關聯(lián)。時序圖中的消息能夠表示對象(或參與者)之間的控制流,還能定義消息等待的語義。9.5.1消息通信圖中的消息消息是對象之間進行通信的唯一途徑,由發(fā)送者、接受者和行為三部消息的屬性屬性說明Sequencenumber表示消息的序列號Stereotype表示消息版型Sender表示消息發(fā)送者Receiver表示消息接收者Action消息動作的類型,包括:Create、Destroy、Self-Destroy三種類型。Controlflow消息發(fā)送模式,包括:Asynchronous、ProcedureCall、Return、Undefined等四種類型。Operation表示消息與一個類的操作的連接。Arguments操作的參數(shù)Returnvalue操作的返回值Predecessorlist由緊跟著“/“的序列號列表組成,表示當前消息發(fā)送之前哪些消息必須交換。Condition附在消息上的條件,用布爾表達式定義。Begintime、Endtime開始或結束的時間別名,用來定義時間約束。Supportdelay定義消息延遲。9.5.1消息消息的屬性屬性說明Sequencenumber控制流
Return控制流,讓動作返回到發(fā)送者,顯示精確返回時間以及為發(fā)送者返回一個值,以增加時序圖的易讀性。
9.5.1消息消息的發(fā)送和返回控制流Return控制流,讓動作返回到發(fā)送者,顯示精確返回Contrlflow和Action的關系9.5.1消息Contrlflow和Action的關系9.5.1消創(chuàng)建Create消息和Destroy消息
9.5.1消息Create消息Destroy消息Self-Destroy消息創(chuàng)建Create消息和Destroy消息9.5.1消息創(chuàng)建遞歸消息
9.5.1消息遞歸消息帶激活器的遞歸消息創(chuàng)建遞歸消息9.5.1消息遞歸消息帶激活器的遞歸消息消息和門(gate)
9.5.1消息交互框架中的輸入門和輸出門CheckOrder訂單校驗的時序圖消息和門(gate)9.5.1消息交互框架中的輸入門和消息的序號
時序圖中的序號可由設計者任意指定通信圖中的序號由系統(tǒng)自動生成:新產(chǎn)生消息的序號=上一個序號的尾數(shù)+1通信圖中,修改、插入、增大減小消息序號,可引起的消息序號變化9.5.1消息a)b)c)消息序號變化規(guī)則a)最大序號改小規(guī)則b)中間序號改小規(guī)則c)中間序號改大規(guī)則消息的序號時序圖中的序號可由設計者任意指定9.5.1消時序圖中,使用表示一個動作執(zhí)行所需的時間,在對象的生命線上用一個矩形框表示。通信圖中,同一個激活期中的消息用子序號表示。9.5.2激活期激活期(Activation)帶有附加消息的激活期重疊的激活期激活期上下移動的范圍具有傾斜角的消息時序圖中,使用表示一個動作執(zhí)行所需的時間,在對象的生命線上用在時序圖中創(chuàng)建交互引用(InteractionReference)在交互縱覽圖中創(chuàng)建交互活動(InteractionActivity)在同一個圖中可以創(chuàng)建多個交互引用。不能在另一個圖中復制或重用交互引用。9.5.3交互引用和交互活動交互引用示例在時序圖中創(chuàng)建交互引用(InteractionRefere交互片段(InteractionFragment):在時序圖中對相關的消息進行分組,用來表示替換、并行消息或者循環(huán)。9.5.3交互引用和交互活動可替換的交互片段交互片段(InteractionFragment):在時序活動(Activity)是指系統(tǒng)中人工或自動的動作,當獲得控制權后,開始執(zhí)行動作,根據(jù)動作的結果,通過控制流轉換或傳遞到另一個活動。
9.5.5活動活動圖示例活動(Activity)是指系統(tǒng)中人工或自動的動作,當獲得控原子活動(AtuomicActivity)分解活動(DecomposedActivity)
可以把活動圖轉換成分解活動,在另一個活動圖中使用。瀏覽器中的分解活動9.5.5活動原子活動(AtuomicActivity)瀏覽器中的分解活動的特性9.5.5活動活動的特性9.5.5活動活動的參數(shù)
活動之間的信息傳送是通過活動參數(shù)實現(xiàn)的。活動參數(shù)分為輸入?yún)?shù)和輸出參數(shù),用活動圖形符號邊緣上的一個小方塊表示。
活動的參數(shù)傳遞9.5.5活動活動的參數(shù)活動之間的信息傳送是通過活動參數(shù)實現(xiàn)的?;顒訁?shù)活動的動作類型
9.5.5活動活動的動作類型9.5.5活動流(Flow):是兩個活動間的連接,是活動間傳輸信息的路徑。根據(jù)流上定義的條件對流進行控制,若條件為真,則向下傳遞?;顒拥綄ο蠊?jié)點的流:活動的執(zhí)行使對象處于一種特定的狀態(tài)。當發(fā)生特定的事件或滿足條件時,控制流從活動傳遞到對象節(jié)點。對象節(jié)點到活動的流:活動在執(zhí)行過程中使用對象的特定狀態(tài)。流用帶箭頭的線段表示。兩個對象之間的流
9.5.6流流(Flow):是兩個活動間的連接,是活動間傳輸信息的路徑。兩個對象之間建立流
9.5.6流兩個對象之間建立流9.5.6流轉換(Transition):表示狀態(tài)間的有向連接,包括相關事件、條件以及要執(zhí)行的動作
。對象之間建立轉換情況
9.5.7轉換狀態(tài)間的轉換示例轉換(Transition):表示狀態(tài)間的有向連接,包括相關起始點(Start):表示整個過程的開始結束點(End):表示整個過程的終止在活動圖、狀態(tài)圖和交互縱覽圖中只允許有一個起始點,但可以有多個結束點。
9.5.8起始點與結束點結束點示例起始點(Start):表示整個過程的開始9.5.8起始點判斷(Decision):在活動圖、交互縱覽圖中可以有多個輸入和多個輸出,每個輸出根據(jù)守護條件選擇不同的路徑。
條件分支(ConditionalBranch)合并(Merge)9.5.9判斷條件分支條件分解合并示例判斷(Decision):在活動圖、交互縱覽圖中可以有多個輸同步(Synchronization):在活動圖、交互縱覽圖中能實現(xiàn)兩個或多個并發(fā)動作的分解或同步控制。分叉(Fork)結合(Join)9.5.10同步同步的類型同步(Synchronization):在活動圖、交互縱覽圖組織單元(OrganizationUnit):在活動圖中強調哪個組織單元對活動負責。組織單元泳道上可附加或分離活動。
委員會活動(CommitteeActivity)
組織單元泳道的管理:可移動、調整、刪除、復制和粘貼,也可改變顯示方式。
9.5.11組織單元委員會活動的顯示組織單元(OrganizationUnit):在活動圖中強對象節(jié)點:在活動圖中代表特定狀態(tài)的對象?;顒印?gt;對象節(jié)點:表示活動的執(zhí)行使對象達到某個特定的狀態(tài),對象節(jié)點表示活動的結果;對象節(jié)點——>活動:表示活動在執(zhí)行時使用對象的特定狀態(tài)?;顒印?gt;對象節(jié)點——>活動,表示兩個活動之間交換數(shù)據(jù)。9.5.12對象節(jié)點通過對象節(jié)點數(shù)據(jù)交換對象節(jié)點:在活動圖中代表特定狀態(tài)的對象。9.5.12對象狀態(tài)(State):表示對象在其生命期中所處的一種狀況,對象處于某種狀態(tài)需要滿足一定的條件,或執(zhí)行某種活動,或等待某種事件。原子狀態(tài)分解狀態(tài)可以把一個狀態(tài)圖轉換成分解狀態(tài)9.5.13狀態(tài)瀏覽器中的分解狀態(tài)狀態(tài)(State):表示對象在其生命期中所處的一種狀況,對象事件(Event):在狀態(tài)圖中引起狀態(tài)變化,通過參數(shù)向特定的狀態(tài)傳遞信息。形參(Argument)實參(EventParameter)
9.5.14事件事件示例事件(Event):在狀態(tài)圖中引起狀態(tài)變化,通過參數(shù)向特定的動作(Action):在狀態(tài)圖中可以為活動定義一系列動作,用雙輪符號表示。每個動作應包含觸發(fā)事件(TriggerEvent),預定義entry、do、exit。動作可定義附加條件9.5.15動作瀏覽器窗口顯示的動作動作的條件動作(Action):在狀態(tài)圖中可以為活動定義一系列動作,用在狀態(tài)上可以附加事件和動作,執(zhí)行的動作不會引起狀態(tài)的改變,一個狀態(tài)可以執(zhí)行多個動作。在轉換(Transation)上也可附加事件和動作,表示事件發(fā)生時觸發(fā)動作,并使狀態(tài)發(fā)生變化。在轉換上只能附加一個動作。狀態(tài)上的動作應該包含觸發(fā)事件,而轉換上的動作不包含觸發(fā)事件。9.5.15動作附加在狀態(tài)和轉換上的動作在狀態(tài)上可以附加事件和動作,執(zhí)行的動作不會引起狀態(tài)的改變,一狀態(tài)結合點(Junctionpoint):用來合并或分解轉換的路徑。兩個相反方向的轉換可以連接到一個結合點上。9.5.16狀態(tài)結合點狀態(tài)圖中的結合點狀態(tài)結合點(Junctionpoint):用來合并或分解轉1.組件圖:通過接口表現(xiàn)組件的功能,使用泛化、依賴、實現(xiàn)、需求連接、組裝連接器和委托連接器等描述相互之間的連接關系。常見的組件有源代碼組件、二進制組件和可執(zhí)行組件。9.6實現(xiàn)模型的設計房間預定系統(tǒng)組件圖表示組件表示接口表示端口表示部件
1.組件圖:9.6實現(xiàn)模型的設計房間預定系統(tǒng)組件圖表示組2.部署圖(DeploymentDiagram)詳細地描述節(jié)點、組件實例的情況及其相互之間的關系。重點是描述系統(tǒng)的硬件組成和結構,它可以在實例級別上顯示運行時節(jié)點的物理配置情況。
9.6實現(xiàn)模型的設計一個應用系統(tǒng)服務器的部署圖2.部署圖(DeploymentDiagram)9.6組件看作是一組實現(xiàn)的集合,是一個系統(tǒng)部件,提供一組接口表現(xiàn)其自身的功能。設計組件時,定義組件的接口和實現(xiàn)類。組件可以用任何語言實現(xiàn)。
9.6.1組件組件看作是一組實現(xiàn)的集合,是一個系統(tǒng)部件,提供一組接口表現(xiàn)其節(jié)點:在部署圖中可以代表系統(tǒng)中的資源、物理單元、物理位置等含義。節(jié)點版型節(jié)點不能包含其它節(jié)點,可以包含組件實例和文件對象節(jié)點之間的關聯(lián)代表通信路徑9.6.2節(jié)點節(jié)點:在部署圖中可以代表系統(tǒng)中的資源、物理單元、物理位置等含組件實例:附加到節(jié)點上的組件,包含部署到服務器的參數(shù)。文件對象:可以是一個位圖文件、文本文件或其他任何類型的文件。文件對象特性:EmbeddedfileExternalfileURL9.6.3組件實例和文件對象組件實例:附加到節(jié)點上的組件,包含部署到服務器的參數(shù)。9.6第九章面向對象模型及PowerdDesigner實現(xiàn)(教學:4學時,上機:4學時)應用軟件系統(tǒng)部署圖DeploymentDiagram組件圖ComponentDiagram交互縱覽圖InteractionOverviewDiagarm狀態(tài)圖StateChartDiagram活動圖ActivityDiagram通信圖CommunicationDiagram時序圖SequenceDiagram包圖PackageDiagram組合結構圖CompositeStructureDiagram對象圖ObjectDiagram類圖ClassDiagram用例圖UseCaseDiagram面向對象模型應用程序代碼第九章面向對象模型及PowerdDesigner實現(xiàn)(教學9.1面向對象模型概述
圖形類型圖形名稱圖形類型圖形名稱用例圖Usecasediagram(用例圖)動態(tài)圖Communicationdiagram(通信圖)結構圖Classdiagram(類圖)Sequencediagram(時序圖)Compositestructurediagram(組合結構圖)Statechartdiagram(狀態(tài)圖)Objectdiagram(對象圖)Activitydiagram(活動圖)Packagediagram(包圖)Interactionoverviewdiagram(交互縱覽圖)實現(xiàn)圖Componentdiagram(組件圖)Deploymentdiagram(部署圖)PowerDesigner支持的12種UML圖形9.1面向對象模型概述圖形類型圖形名稱圖形類型圖形名稱9.1面向對象模型概述
9.1面向對象模型概述9.2.1類和對象9.2.2繼承9.2.3封裝和接口9.2.4多態(tài)性9.2.5消息傳遞9.2.6關聯(lián)9.2.7聚合和組合9.2面向對象的主要概念9.2.1類和對象9.2面向對象的主要概念參與者和用例模型對象之間的關系
9.3功能模型的設計
參與者和用例9.3功能模型的設計9.3功能模型的設計
9.3功能模型的設計9.4結構模型的設計組合結構圖包圖9.4結構模型的設計組合結構圖包圖1.類的特性
2.泛型
3.組合類與內部類9.4.1類組合類元內部類元組合類元的類圖Browser窗口中的組合類元組合類與內部類元顯示在同一層Innerlink1.類的特性9.4.1類組合類元內部類元組合類元的類圖4.為數(shù)據(jù)類型附加類元5.關聯(lián)和繼承的遷移9.4.1類類Employee和Company的關聯(lián)及類Employee生成的代碼publicclassEmployee{publicstringname;publicstringdepartment;publiccompany[]hires;}類Developer和Employee間的繼承關系4.為數(shù)據(jù)類型附加類元9.4.1類類Employee和C每個包中可以包含一組模型元素、圖形和包。包中的模型元素名稱必須唯一。引用包中的模型元素格式:“包名:包中的元素”,如Tools:Hammer包之間的依賴關系表示兩個包中的模型元素之間至少存在一種依賴,并不表示每對元素都有依賴關系。
9.4.2包每個包中可以包含一組模型元素、圖形和包。9.4.2包接口是一組類的外部可視操作的集合。接口Designated通過類Employee實現(xiàn)。9.4.3接口接口是一組類的外部可視操作的集合。9.4.3接口9.4.4對象b)a)c)Liftreciever:Caller:ReceiverRingingtonea)通信圖中的對象b)對象圖中的對象c)時序圖中的對象如果對象不是某個類的實例,它僅只有名稱;如果對象是一個類的實例,但實際代表的是該類的所有實例,那么它有分類但沒有名稱(匿名對象);如果對象是類的一個實例,它既有名稱,又有分類。
9.4.4對象b)a)c)Liftreciever:C9.4.5部件和端口部件只能在類或組件的內部產(chǎn)生,通過連接器與其它部件或端口相連。端口建立在類的表面,表示類與其所在環(huán)境或類與其內部部件之間的不同交互點。組件結構圖中類通過端口和內部部件交互組件圖中使用端口描述部件之間的連接關系9.4.5部件和端口部件只能在類或組件的內部產(chǎn)生,通過屬性描述了類或接口的特征,類的屬性名稱必須互不相同,接口中的屬性必須是靜態(tài)的(Static)和不可變的(Frozen)。標識符(Identifier)是類中能夠唯一標識每個實例的一個或幾個屬性的集合,每個類至少應該有一個標識符。操作(Operations)是類能夠執(zhí)行的動作,擁有一個名稱和參數(shù)列表。9.4.7屬性、標識符、操作
類Car屬性描述了類或接口的特征,類的屬性名稱必須互不相同,接口中的關聯(lián)用來描述類之間或類和接口之間的連接關系。二元關聯(lián)和自反關聯(lián)
聚合組合關聯(lián)類9.4.10關聯(lián)二元關聯(lián)和自反關聯(lián)二元關聯(lián)多重性角色名自反關聯(lián)Hires0..10..*0..1manages0..*ismanagedCompanyEmployeeSupervise聚合關聯(lián)組合關聯(lián)關聯(lián)類關聯(lián)用來描述類之間或類和接口之間的連接關系。9.4.10關聯(lián)具有普遍性的模型對象與具有特殊性的模型對象之間存在泛化關系。依賴描述兩個模型元素之間的依存關系,一個模型元素(提供者)的變化將影響另一個模型元素(客戶)的變化,用帶箭頭的虛線表示,箭頭的方向指向提供者。版型(Stereotype),能夠表達不同的依賴關系。
9.4.11泛化與依賴類間與組件間的泛化關系版型含義語義說明<<Access>>訪問一個包能夠訪問另一個包<<Bind>>綁定為模板參數(shù)指定一個值,以生成一個新的模型元素<<Call>>調用一個類的方法調用其它類的操作<<Derive>>派生一個實例可以從另一個實例通過計算得到<<Instantiate>>實例化表明一個類創(chuàng)建另一個類的實例<<Refine>>精化目標對象比源對象更加精細<<Trace>>跟蹤在歷史上,源對象和目標對象之間存在連接<<Use>>使用一個模型元素使用另一個模型元素,包括調用、實例化等依賴的常見版型及含義
具有普遍性的模型對象與具有特殊性的模型對象之間存在泛化關系。需求鏈接把類或組件與接口連接起來,用一端帶有圓弧的線段表示。實現(xiàn)關系在類或組件中說明接口中方法的實現(xiàn)細節(jié),用帶閉合三角形箭頭的虛線表示,箭頭指向接口。9.4.14需求連接與實現(xiàn)組件圖中的需求鏈接和實現(xiàn)關系需求鏈接實現(xiàn)關系接口實現(xiàn)關系需求鏈接把類或組件與接口連接起來,用一端帶有圓弧的線段表示。裝配連接器(AssemblyConnector)描述類中內部部件之間的通信路徑,反映部件之間提出請求并提供服務的關系。委托連接器(DelegationConnector)描述類中部件(Part)與類表面的端口之間的通信路徑,反映部件與端口之間提出請求并提供服務的關系。9.4.15裝配連接器和委托連接器組件圖中裝配連接器和委托連接器委托連接器裝配連接器裝配連接器(AssemblyConnector)描述類中內對象圖中的實例鏈接由類圖中的關聯(lián)轉換而來,用兩個對象之間的一條實線表示,也可以表示聚合或組合。通信圖中的實例鏈接上附有多個消息,序號說明在對象之間相互交換的消息的順序。
9.4.16實例鏈接通信圖中的實例鏈接實例鏈接對象圖中的實例鏈接由類圖中的關聯(lián)轉換而來,用兩個對象之間的一動態(tài)模型描述軟件的動態(tài)行為。通信圖(CommunicationDiagram)時序圖(SequenceDiagram)活動圖(ActivityDiagram)狀態(tài)圖(StatechartDiagram)交互縱覽圖(InteractionOverviewDiagram)9.5動態(tài)模型的設計動態(tài)模型描述軟件的動態(tài)行為。9.5動態(tài)模型的設計1.通信圖
通信圖可以是用例的一個場景、一個操作的執(zhí)行過程和類間的簡單交互。重點描述對象間的靜態(tài)鏈接關系,消息的序號表示時間順序。建立通信圖的重點是找到系統(tǒng)中的對象,并描述用例的活動步驟。邊界對象:可能是窗口、對話框或菜單。實體對象:表示存儲的數(shù)據(jù)。控制對象:表示信息的傳遞。9.5動態(tài)模型的設計打電話過程的通信圖1.通信圖通信圖可以是用例的一個場景、一個操作的執(zhí)行過程和2.時序圖
時序圖描述若干對象之間的動態(tài)協(xié)作關系,說明對象之間發(fā)送消息(Message)的先后順序,系統(tǒng)執(zhí)行過程中,在某一具體位置將會發(fā)生什么事件。主要用途:表示用例中的行為順序。9.5動態(tài)模型的設計打印文件的時序圖2.時序圖時序圖描述若干對象之間的動態(tài)協(xié)作關系,說明對象之Client處理訂單時序圖。時序圖用于展示場景,可以說明可選的或并行的場景,描述多個相關的交互的時間順序
。
時序圖示例9.5動態(tài)模型的設計Client處理訂單時序圖。時序圖示例9.5動態(tài)模型通信圖與時序圖比較:通信圖著重體現(xiàn)交互對象間的靜態(tài)鏈接關系。時序圖著重體現(xiàn)交互的時間順序。通信圖時序圖9.5動態(tài)模型的設計通信圖與時序圖比較:通信圖時序圖9.5動態(tài)模型的設計3.活動圖
活動圖用來描述用例、包、類等模型元素的動態(tài)行為,強調活動或動作執(zhí)行以后所觸發(fā)的轉換。一個起點幾個可能的終點
可以使用條件分支9.5動態(tài)模型的設計手動檔汽車發(fā)動過程的活動圖表示開始點表示結束點表示活動表示對象節(jié)點表示流表示判斷表示同步表示泳道
3.活動圖活動圖用來描述用例、包、類等模型元素的動態(tài)行為,組合活動(Compositeactivity)判斷(Decision)輸入/輸出參數(shù)同步(Synchronization)系統(tǒng)登錄的活動圖9.5動態(tài)模型的設計組合活動(Compositeactivity)系統(tǒng)登錄的4.狀態(tài)圖
狀態(tài)圖用于描述一個類或組件所有可能的狀態(tài)及狀態(tài)之間的轉換情況。同一個類可以創(chuàng)建多個狀態(tài)圖,每個狀態(tài)圖描述各自狀態(tài)及轉換情況。狀態(tài)圖可以為每一個狀態(tài)指定一個類、組件或用例,并與之關聯(lián)。9.5動態(tài)模型的設計圍棋博弈過程的狀態(tài)圖4.狀態(tài)圖狀態(tài)圖用于描述一個類或組件所有可能的狀態(tài)及狀態(tài)之5.交互縱覽圖
交互縱覽圖可以看作多種動態(tài)模型圖的綜合視圖,它可以包含時序圖、通信圖、活動圖和狀態(tài)圖等。它用來描述動態(tài)圖形之間的相互關系。9.5動態(tài)模型的設計表示開始點表示結束點表示交互活動,表示判斷表示同步
交互縱覽圖示例5.交互縱覽圖交互縱覽圖可以看作多種動態(tài)模型圖的綜合視消息是對象之間進行通信的唯一途徑,由發(fā)送者、接受者和行為三部分組成。消息可以是同步的、異步的,也可以是遞歸消息。在時序圖和通信圖中,可以重用同一個消息。通信圖中,消息和一個實例連接相關聯(lián)。時序圖中的消息能夠表示對象(或參與者)之間的控制流,還能定義消息等待的語義。9.5.1消息通信圖中的消息消息是對象之間進行通信的唯一途徑,由發(fā)送者、接受者和行為三部消息的屬性屬性說明Sequencenumber表示消息的序列號Stereotype表示消息版型Sender表示消息發(fā)送者Receiver表示消息接收者Action消息動作的類型,包括:Create、Destroy、Self-Destroy三種類型。Controlflow消息發(fā)送模式,包括:Asynchronous、ProcedureCall、Return、Undefined等四種類型。Operation表示消息與一個類的操作的連接。Arguments操作的參數(shù)Returnvalue操作的返回值Predecessorlist由緊跟著“/“的序列號列表組成,表示當前消息發(fā)送之前哪些消息必須交換。Condition附在消息上的條件,用布爾表達式定義。Begintime、Endtime開始或結束的時間別名,用來定義時間約束。Supportdelay定義消息延遲。9.5.1消息消息的屬性屬性說明Sequencenumber控制流
Return控制流,讓動作返回到發(fā)送者,顯示精確返回時間以及為發(fā)送者返回一個值,以增加時序圖的易讀性。
9.5.1消息消息的發(fā)送和返回控制流Return控制流,讓動作返回到發(fā)送者,顯示精確返回Contrlflow和Action的關系9.5.1消息Contrlflow和Action的關系9.5.1消創(chuàng)建Create消息和Destroy消息
9.5.1消息Create消息Destroy消息Self-Destroy消息創(chuàng)建Create消息和Destroy消息9.5.1消息創(chuàng)建遞歸消息
9.5.1消息遞歸消息帶激活器的遞歸消息創(chuàng)建遞歸消息9.5.1消息遞歸消息帶激活器的遞歸消息消息和門(gate)
9.5.1消息交互框架中的輸入門和輸出門CheckOrder訂單校驗的時序圖消息和門(gate)9.5.1消息交互框架中的輸入門和消息的序號
時序圖中的序號可由設計者任意指定通信圖中的序號由系統(tǒng)自動生成:新產(chǎn)生消息的序號=上一個序號的尾數(shù)+1通信圖中,修改、插入、增大減小消息序號,可引起的消息序號變化9.5.1消息a)b)c)消息序號變化規(guī)則a)最大序號改小規(guī)則b)中間序號改小規(guī)則c)中間序號改大規(guī)則消息的序號時序圖中的序號可由設計者任意指定9.5.1消時序圖中,使用表示一個動作執(zhí)行所需的時間,在對象的生命線上用一個矩形框表示。通信圖中,同一個激活期中的消息用子序號表示。9.5.2激活期激活期(Activation)帶有附加消息的激活期重疊的激活期激活期上下移動的范圍具有傾斜角的消息時序圖中,使用表示一個動作執(zhí)行所需的時間,在對象的生命線上用在時序圖中創(chuàng)建交互引用(InteractionReference)在交互縱覽圖中創(chuàng)建交互活動(InteractionActivity)在同一個圖中可以創(chuàng)建多個交互引用。不能在另一個圖中復制或重用交互引用。9.5.3交互引用和交互活動交互引用示例在時序圖中創(chuàng)建交互引用(InteractionRefere交互片段(InteractionFragment):在時序圖中對相關的消息進行分組,用來表示替換、并行消息或者循環(huán)。9.5.3交互引用和交互活動可替換的交互片段交互片段(InteractionFragment):在時序活動(Activity)是指系統(tǒng)中人工或自動的動作,當獲得控制權后,開始執(zhí)行動作,根據(jù)動作的結果,通過控制流轉換或傳遞到另一個活動。
9.5.5活動活動圖示例活動(Activity)是指系統(tǒng)中人工或自動的動作,當獲得控原子活動(AtuomicActivity)分解活動(DecomposedActivity)
可以把活動圖轉換成分解活動,在另一個活動圖中使用。瀏覽器中的分解活動9.5.5活動原子活動(AtuomicActivity)瀏覽器中的分解活動的特性9.5.5活動活動的特性9.5.5活動活動的參數(shù)
活動之間的信息傳送是通過活動參數(shù)實現(xiàn)的?;顒訁?shù)分為輸入?yún)?shù)和輸出參數(shù),用活動圖形符號邊緣上的一個小方塊表示。
活動的參數(shù)傳遞9.5.5活動活動的參數(shù)活動之間的信息傳送是通過活動參數(shù)實現(xiàn)的?;顒訁?shù)活動的動作類型
9.5.5活動活動的動作類型9.5.5活動流(Flow):是兩個活動間的連接,是活動間傳輸信息的路徑。根據(jù)流上定義的條件對流進行控制,若條件為真,則向下傳遞?;顒拥綄ο蠊?jié)點的流:活動的執(zhí)行使對象處于一種特定的狀態(tài)。當發(fā)生特定的事件或滿足條件時,控制流從活動傳遞到對象節(jié)點。對象節(jié)點到活動的流:活動在執(zhí)行過程中使用對象的特定狀態(tài)。流用帶箭頭的線段表示。兩個對象之間的流
9.5.6流流(Flow):是兩個活動間的連接,是活動間傳輸信息的路徑。兩個對象之間建立流
9.5.6流兩個對象之間建立流9.5.6流轉換(Transition):表示狀態(tài)間的有向連接,包括相關事件、條件以及要執(zhí)行的動作
。對象之間建立轉換情況
9.5.7轉換狀態(tài)間的轉換示例轉換(Transition):表示狀態(tài)間的有向連接,包括相關起始點(Start):表示整個過程的開始結束點(End):表示整個過程的終止在活動圖、狀態(tài)圖和交互縱覽圖中只允許有一個起始點,但可以有多個結束點。
9.5.8起始點與結束點結束點示例起始點(Start):表示整個過程的開始9.5.8起始點判斷(Decision):在活動圖、交互縱覽圖中可以有多個輸入和多個輸出,每個輸出根據(jù)守護條件選擇不同的路徑。
條件分支(ConditionalBranch)合并(Merge)9.5.9判斷條件分支條件分解合并示例判斷(Decision):在活動圖、交互縱覽圖中可以有多個輸同步(Synchronization
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度文化產(chǎn)業(yè)產(chǎn)權轉讓與市場推廣合同
- 2025年度委托收款與新能源項目合作合同
- 2025年度乙方轉丙方特許經(jīng)營合同模板
- 2025年度家居裝修工人安全責任免除協(xié)議書
- 2025年度電影演員檔期聘用合同
- 2025年度土地承包經(jīng)營權流轉與農(nóng)村電商合作合同
- 2025年度危重病人治療免責協(xié)議書(特定醫(yī)療機構版)
- 2025年度文化產(chǎn)業(yè)發(fā)展自愿退股及項目運營合同模板
- 2025年度養(yǎng)老機構委托管理及運營合作協(xié)議范本
- 信訪接待室改造工程合同
- 2025年海南職業(yè)技術學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 北京市西城區(qū)2024-2025學年高三上學期期末考試語文試題(解析版)
- 2025年春新人教版數(shù)學一年級下冊課件 第六單元 數(shù)量間的加減關系 第2課時 求比1個數(shù)多(少)幾的數(shù)
- 語文課堂中的多媒體教學方法研究
- 民用無人機操控員執(zhí)照(CAAC)考試復習重點題庫500題(含答案)
- 2025年春新北師大版物理八年級下冊課件 第六章 質量和密度 第三節(jié) 密度的測量與應用
- 北京市朝陽區(qū)2025下半年事業(yè)單位招聘149人歷年高頻重點提升(共500題)附帶答案詳解
- 肩袖損傷課件
- DB3207-T 1047-2023 羊肚菌-豆丹綜合種養(yǎng)技術規(guī)程
- 鋼筋安裝施工技術交底
- 2025年下學期八年級物理備課組工作計劃
評論
0/150
提交評論