UML培訓教材PPT課件.ppt_第1頁
UML培訓教材PPT課件.ppt_第2頁
UML培訓教材PPT課件.ppt_第3頁
UML培訓教材PPT課件.ppt_第4頁
UML培訓教材PPT課件.ppt_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

.,1,UML培訓教材,Frank,.,2,UML概覽,統(tǒng)一建模語言(UML:UnifiedModelingLanguage)是一種繪制軟件藍圖的標準語言,可以用UML對軟件密集型的制品進行可視化、詳述、構(gòu)造和文檔化。UML由面向?qū)ο箢I域的三位大師GradyBooch、JimRumbaugh和IvarJacobson于1996年發(fā)布,已被OMG(對象管理集團)接納為工業(yè)標準,目前的版本是V1.3。,.,3,UML概覽(繼續(xù)),UML僅僅是一種語言,獨立于過程,適用于以用況為驅(qū)動,以體系結(jié)構(gòu)為核心,迭代及增量的RUP(RationalUnifiedProcess)統(tǒng)一過程中。UML捕捉系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為信息。,.,4,UML概念模型,一:事物(thing)二:關系(relation)三:圖(diagram)四:擴展機制(extensibilitymechanism)其中,前三種稱為UML的基本構(gòu)造塊。,.,5,UML的事物,事物是對模型中最具代表性的成分的抽象。1)結(jié)構(gòu)事物(structuralthing):用例、類、主動類、接口、構(gòu)件、節(jié)點、協(xié)作7種2)行為事物(behavioralthing):交互、狀態(tài)機2種3)分組事物(groupingthing):包4)注釋事物(annotationalthing):注解,.,6,UML的關系,關系把事物結(jié)合在一起1)依賴(dependency)2)關聯(lián)(association)3)泛化(generalization)4)實現(xiàn)(realization),.,7,UML的圖,圖聚集了相關的事物1)類圖(classdiagram)2)對象圖(objectdiagram)3)構(gòu)件圖(componentdiagram)4)實施圖(deploymentdiagram)5)用況圖(usecasediagram)6)順序圖(sequencediagram)7)協(xié)作圖(collaborationdiagram)8)狀態(tài)圖(statechartdiagram)9)活動圖(activitydiagram),.,8,擴展機制:UML提供的用以增加新的構(gòu)造塊,創(chuàng)建新的特性以及詳述新的語義的機制。1)構(gòu)造型(stereotype)2)標記值(taggedvalue)3)約束(constraint),UML擴展機制,.,9,用例是對一組動作序列的描述,系統(tǒng)執(zhí)行這些動作將產(chǎn)生一個對特定參與者有價值且可觀察的結(jié)果。用況畫成一個實線橢圓。從本質(zhì)上講,一個用例是用戶與計算機之間的一次典型交互作用。用例描述系統(tǒng)要實現(xiàn)的行為,而不是說明這些行為如何實現(xiàn)。,結(jié)構(gòu)事物之一:用例(UseCase),.,10,通過對用例的分析,可提取用戶需求,并可以確定測試用例。用例與需求的區(qū)別:用例的本質(zhì)是一次用戶與計算機的交互活動,一個用例可分析出多個需求;而需求是一個系統(tǒng)必須完成的功能,需求可籠統(tǒng)地分為用戶需求和實現(xiàn)需求。比如:EMS中建立Socket連接是一個實現(xiàn)上的需求,但不是一個用例。,結(jié)構(gòu)事物之一:用例(續(xù)),.,11,結(jié)構(gòu)事物之二:類(class),類是對一組具有相同屬性、相同操作、相同關系和相同語義的對象的描述。一個類實現(xiàn)了一個或多個接口。類畫成一個矩形。一個類有如下內(nèi)容:1)屬性(attribute):是已被命名的類的特性,描述了該特性的實例可以取值的范圍。2)操作(oparation):一個服務的實現(xiàn),該服務可以由類的任何對象請求以影響其行為。,.,12,3)屬性與操作的可見性:(1)公有(public):一個給定的類元,任何帶有可見性的外部類元都可以使用這個特性,用+做前綴表示。(2)受保護(protected):類元的任何子孫都可以使用這個特性,用#號做前綴表示。(3)私有(private):只有類元本身能夠使用這個特性,用-號做前綴表示。,結(jié)構(gòu)事物之二:類(繼一),.,13,結(jié)構(gòu)事物之二:類(繼二),例如:一個人的名字誰都可以叫(name);但只有他的孩子可以繼承他的模樣(face_like);有多少錢只有他一個人知道(how_much_money)。,.,14,結(jié)構(gòu)事物之三:主動類(activeclass),主動類的對象至少擁有一個進程或線程,它能夠啟動控制活動。主動類對象所描述的元素行為與其他元素行為并發(fā),此外,主動類與類一樣。主動類畫成粗線外框的類。,.,15,在UML中,用接口對系統(tǒng)模塊的接縫建模。接口描述了一個類或構(gòu)件的一個服務的操作集,描述元素的外部可見行為,而不是操作的實現(xiàn)。接口通常依附與實現(xiàn)接口的類或構(gòu)件。接口畫成一個帶有名稱的圓。接口沒有屬性,名稱前通常加前綴I。如下是一個打印服務提供的接口:提交打印工作。,結(jié)構(gòu)事物之四:接口(interface),.,16,項目類型定結(jié)構(gòu)事物之五:構(gòu)件(component)義,構(gòu)件是系統(tǒng)中物理的、可代替的部件,它遵循且提供一組接口的實現(xiàn)。構(gòu)件畫成一個帶有2個小方塊的矩形。,.,17,結(jié)構(gòu)事物之六:節(jié)點(node),節(jié)點是在運行時存在的物理元素,表示了一種可計算的資源,通常擁有記憶和處理功能。節(jié)點畫成一個立方體。處理器(processor)和設備(device)是節(jié)點的2種標準構(gòu)造型。1)處理器:一個具有處理能力的節(jié)點,可執(zhí)行構(gòu)件。2)設備:沒有處理能力的節(jié)點,如打印機、告警箱等。,.,18,結(jié)構(gòu)事物之七:協(xié)作(collaboration),協(xié)作定義了一個交互,是由一組共同工作以提供某協(xié)作行為的角色和其他元素構(gòu)成的一個群體。,.,19,行為事物之一:交互(interaction),交互由在特定語境中共同完成一定任務的一組對象之間交換的消息組成。交互畫成一條有向直線。,.,20,行為事物之二:狀態(tài)機(statemachine),狀態(tài)機描述了一個對象或一個交互在生命期內(nèi)響應事件所經(jīng)歷的狀態(tài)序列。狀態(tài)畫成一個圓角矩形。,.,21,分組事物:包(package),包是把元素組織成組的機制,有多種用途。包畫成一個左上角帶有一個小矩形的大矩形。,.,22,注釋事物:注解(note),注解是一個依附于一個或一組元素之上,對它進行約束或解釋的簡單符號。它通常描述象需求,觀察資料,評論和解釋之類的事物。注解畫成一個右上角是折角的矩形。,.,23,關系之一:依賴,依賴是兩個事物間的語義關系,其中一個事物發(fā)生變化會影響另一個事物的語義,但反之未必。依賴畫成帶有方向的虛線。,.,24,CMM流程,關系之二:關聯(lián),關聯(lián)是一種結(jié)構(gòu)關系,指明一個事物的對象與另一個事物的對象之間的聯(lián)系。關聯(lián)畫成可能有方向的實線。,.,25,關系之二:關聯(lián)(續(xù)一),關聯(lián)的內(nèi)容:1)角色:角色是關聯(lián)中靠近它的一端的類對另一端的類呈現(xiàn)的職責。當一個類處于關聯(lián)的某一端時,該類就在這個關系中扮演了一個特定的角色。2)多重性:在關聯(lián)的另一端的類的每個對象要求在本端的類必須有多少個對象。,.,26,關系之二:關聯(lián)(續(xù)二),例如下圖:一個人對公司來講的角色是employer,而公司對于人來講的角色是employee;一個人只能就職于一家公司,但一家公司會有很多人。,.,27,關系之二:關聯(lián)(續(xù)三),關聯(lián)的類型以及生成C+代碼樣例:1)雙向關聯(lián)2)單向關聯(lián)3)聚合4)組合,.,28,關系之二:關聯(lián)(續(xù)四),雙向關聯(lián):在類中各自生成對端類指針作為屬性classClassAClassB*the_class_b;classClassBClassA*the_class_a;,.,29,關系之二:關聯(lián)(續(xù)五),單向關聯(lián):在類中單向生成類指針作為屬性classClassAClassB*the_class_b;classClassB;,.,30,關系之二:關聯(lián)(續(xù)六),聚合是一種強關聯(lián),它描述了整體和部分之間的結(jié)構(gòu)關系,畫成一端為空心菱形的實線。聚合類包含另一個類的指針。classClassAClassB*the_class_b;classClassBClassA*the_class_a;,.,31,關系之二:關聯(lián)(續(xù)七),組合是一種更強形式的關聯(lián),整體與部分之間具有強的擁有關系,整體與部分的生命周期是一致的。畫成一端為實心菱形的實線。組合類包含另一個類實例。classClassAClassBthe_class_b;classClassBClassA*the_class_a;,.,32,關系之三:泛化,泛化是一種特殊/一般關系(父子關系),特殊元素對象可代替一般元素對象,子元素繼承了父元素的結(jié)構(gòu)和行為,泛化畫成帶有空心箭頭的實線。泛化生成的代碼為類的繼承:classAnimalclassHuman:publicAnimal,.,33,關系之四:實現(xiàn),類元之間的語義關系,其中一個類元指定了由另一個類元保證執(zhí)行的契約。實現(xiàn)畫成帶空心箭頭的虛線。實現(xiàn)用在:1)接口和實現(xiàn)它們的類或構(gòu)件之間2)用況和實現(xiàn)它們的協(xié)作之間,.,34,關系之四:實現(xiàn)(續(xù)),接口和實現(xiàn)接口的類與構(gòu)件:接口用一個圓圈表示,它通過實線(實現(xiàn)的簡化形式)附在表示類的矩形上。,.,35,靜態(tài)結(jié)構(gòu)圖之一:類圖,顯示一組類、接口、協(xié)作以及它們之間的關系。類圖說明系統(tǒng)的靜態(tài)設計視圖,是UML的核心。內(nèi)容:類、接口、協(xié)作、依賴、泛化和關聯(lián)關系。,.,36,顯示在某一時間點上一組對象以及它們之間的關系。用對象圖說明在類圖中所發(fā)現(xiàn)的事物實例的數(shù)據(jù)結(jié)構(gòu)和靜態(tài)快照。對象圖從現(xiàn)實和原型方面來透視。,靜態(tài)結(jié)構(gòu)圖之二:對象圖,.,37,顯示了一組構(gòu)件以及它們之間的關系。內(nèi)容:構(gòu)件、接口、依賴、泛化、關聯(lián)和實現(xiàn)關系。,靜態(tài)結(jié)構(gòu)圖之三:構(gòu)件圖(ComponentView),.,38,顯示了一組節(jié)點以及它們之間的關系。內(nèi)容:節(jié)點、依賴和關聯(lián)關系。,靜態(tài)結(jié)構(gòu)圖之四:部署圖(DeploymentView),.,39,描述了一組用例和參與者以及它們之間的關系,用例圖組織系統(tǒng)的行為。通過定義系統(tǒng)必須為用戶做的事情來界定系統(tǒng)的邊界。用例圖有如下內(nèi)容:1)參與者(actor)2)用例之間的關系3)事件流,動態(tài)行為圖之一:用例圖(UseCaseDiagram),.,40,參與者是處于系統(tǒng)之外與系統(tǒng)進行相互作用的人或物,參與者定義系統(tǒng)外的一切,用例定義系統(tǒng)內(nèi)的一切。典型的參與者有用戶、系統(tǒng)的外部設備和系統(tǒng)、時間。參與者與用例之間只能是關聯(lián)關系(單向或雙向)。參與者實際上是構(gòu)造型為actor的類,畫成一個小人。,動態(tài)行為圖之一:用例圖(續(xù)一),.,41,動態(tài)行為圖之一:用例圖(續(xù)二),用例之間的關系:用例必須由參與者啟動,一個用例不能啟動另一個用例。用例之間有以下三種關系:1)泛化(generalization)2)包含(include)3)擴展(extend),.,42,用例之間的泛化象類之間的泛化一樣,子用例繼承父用例的行為和含義,子用例可以增加或覆蓋父用例的行為,子用例可以出現(xiàn)在父用例出現(xiàn)的任何位置。,動態(tài)行為圖之一:用例圖(續(xù)三),.,43,動態(tài)行為圖之一:用例圖(續(xù)四),用例之間的包含關系表示基礎用例在它內(nèi)部說明的某一位置上顯式的合并了另一個用例的行為。被包含的用例從不孤立存在,僅作為某些包含它的更大基礎用例的一部分出現(xiàn)。包含關系表示為構(gòu)造型為include的依賴關系。,.,44,動態(tài)行為圖之一:用例圖(續(xù)五),用例之間的延伸關系表示基礎用例在由延伸用例間接說明的一個位置上,隱式的合并另一個用例的行為。延伸用例只是在某一條件下發(fā)生?;A用例可單獨存在,延伸關系表示為構(gòu)造型為extend的依賴關系。,.,45,用例表示一個系統(tǒng)做什么(what),而不是怎么做(how)??梢杂米銐蚯逦?、外部人員容易理解的文字描述一個事件流,來說明一個用例的行為。事件流應包含用例合適開始和結(jié)束,用例何時與參與者交互,以及該行為的主事件流和可選事件流。每一個事件流用一個順序圖來描述。,動態(tài)行為圖之一:用例圖(續(xù)六),.,46,強調(diào)消息的時間順序的交互圖1)對象:參與一個用況的類的實例2)對象生命線:是一條垂直的虛線,表示一個對象在一段時間內(nèi)存在3)控制焦點:是一個瘦高的矩形,表示一個對象執(zhí)行一個動作所經(jīng)歷的時間,矩形頂部表示動作的開始,底部表示動作的結(jié)束4)消息:兩個對象之間的通訊,動態(tài)行為圖之二:順序圖,.,47,(1)簡單消息(simple):消息在單個控制線程中運行(2)同步消息(synchronous):發(fā)出消息后等待回應(3)阻止消息(balking):發(fā)出消息后如果不能立刻得到,則放棄(4)超時消息(timeout):發(fā)出消息后在規(guī)定時間內(nèi)如果不能得到回應,則放棄(5)異步消息(asynchronous):發(fā)出消息后繼續(xù)其他處理,動態(tài)行為圖之二:順序圖(續(xù)一),.,48,一個增加設備的順序圖:,動態(tài)行為圖之二:順序圖(續(xù)二),.,49,動態(tài)行為圖之三:協(xié)作圖,強調(diào)收發(fā)消息的對象的結(jié)構(gòu)組織的交互圖,按對象本身組織,顯示數(shù)據(jù)流。順序圖與協(xié)作圖在語義上是等價的,即為同構(gòu),可以從一種形式的圖轉(zhuǎn)換為另一種形式,而不丟失任何信息。,.,50,這是上一個增加拓撲設備的協(xié)作圖:,動態(tài)行為圖之三:協(xié)作圖(續(xù)),.,51,顯示了一個由狀態(tài)、轉(zhuǎn)換、事件和活動組成的狀態(tài)機,強調(diào)從狀態(tài)到狀態(tài)的控制流。有如下內(nèi)容:1)狀態(tài)機(statemachine)2)狀態(tài)(state)3)轉(zhuǎn)換(transition)4)事件(event)5)活動(activity)6)動作(action),動態(tài)行為圖之四:狀態(tài)圖,.,52,狀態(tài)機是一個行為,說明對象在它的生命周期中響應事件所經(jīng)歷的狀態(tài)序列以及它們對事件的響應。狀態(tài)是指在對象的生命周期中的一個條件或狀況,在此期間對象將滿足某些條件,執(zhí)行某些活動或等待某些事件。畫成圓角矩形。,動態(tài)行為圖之四:狀態(tài)圖(續(xù)一),.,53,與狀態(tài)有關的內(nèi)容:(1)進入/退出動作(entry/exitaction):進入和退出這個狀態(tài)所執(zhí)行的動作。(2)內(nèi)部轉(zhuǎn)換(internaltransition):不導致狀態(tài)改變的轉(zhuǎn)換,不執(zhí)行狀態(tài)的退出和進入動作。與自身轉(zhuǎn)換不同,自身轉(zhuǎn)換先執(zhí)行狀態(tài)的退出動作,接著執(zhí)行自身轉(zhuǎn)換動作,最后執(zhí)行狀態(tài)的進入動作。(3)子狀態(tài)(substate):狀態(tài)的嵌套結(jié)構(gòu),包括不相交的的順序活動或并發(fā)子狀態(tài)。,動態(tài)行為圖之四:狀態(tài)圖(續(xù)二),.,54,有2種特殊狀態(tài):(1)初態(tài):表示該狀態(tài)機或子狀態(tài)的缺省開始位置,畫成一個實心圓。一個狀態(tài)圖只能有一個初態(tài)。(2)終態(tài):表示該狀態(tài)機或外圍狀態(tài)的執(zhí)行已完成,畫成含有一個實心圓的圓圈。一個狀態(tài)圖可以有0個或多個狀態(tài)。,動態(tài)行為圖之四:狀態(tài)圖(續(xù)三),.,55,轉(zhuǎn)換:兩個狀態(tài)之間的關系,它指明對象在第一個狀態(tài)中執(zhí)行一定的動作,并當特定事件發(fā)生或特定條件滿足時進入第二個狀態(tài)。一個轉(zhuǎn)換的組成:(1)源狀態(tài)(2)事件觸發(fā)(3)監(jiān)護條件:控制過渡何時發(fā)生或不發(fā)生,放在事件后的方括號中(4)動作(5)目標狀態(tài),動態(tài)行為圖之四:狀態(tài)圖(續(xù)四),.,56,事件:是對一個在時間和空間上占有一定位置的有意義的事情的規(guī)格說明。在狀態(tài)機的語境中,一個事件是一次激發(fā)的產(chǎn)生,激發(fā)能夠觸發(fā)一個狀態(tài)的轉(zhuǎn)換?;顒樱菏菭顟B(tài)機中進行的非原子操作。動作:一個引起模型狀態(tài)改變或值的返回的可執(zhí)行的原子計算。,動態(tài)行為圖之四:狀態(tài)圖(續(xù)五),.,57,類的狀態(tài)轉(zhuǎn)換圖:,動態(tài)行為圖之四:狀態(tài)圖(續(xù)六),.,58,動態(tài)行為圖之五:活動圖,活動圖顯示了系統(tǒng)中從活動到活動的順序流或分支流,以及發(fā)生動作的對象或動作所施加的對象。如果刪除并發(fā)性,活動圖很象流程圖。有如下內(nèi)容:1)動作狀態(tài)2)活動狀態(tài)3)轉(zhuǎn)換4)分支5)分叉和匯合6)泳道(swimlane),.,59,動態(tài)行為圖之五:活動圖(續(xù)一),動作狀態(tài):可執(zhí)行的原子操作稱為動作狀態(tài),代表一個動作的執(zhí)行。該動作是不可分解的,執(zhí)行動作的時間一般可以忽略。畫成上下為水平線,左右為弧型的菱形。,.,60,動態(tài)行為圖之五:活動圖(續(xù)二),活動狀態(tài):能夠進一步被分解,它們的活動由其他活動圖表示?;顒訝顟B(tài)可以有附加部分,如進入和退出動作。動作狀態(tài)和活動狀態(tài)是狀態(tài)機中狀態(tài)的特殊種類。,.,61,動態(tài)行為圖之五:活動圖(續(xù)三),轉(zhuǎn)換:當一個狀態(tài)的動作或活動結(jié)束時,控制流會馬上傳遞到下一個動作或活動狀態(tài)??梢杂棉D(zhuǎn)換說明這個流。分支:表示條件判斷,用一個小菱形表示。,.,62,動態(tài)行為圖之五:活動圖(續(xù)四),分叉和匯合:用一個同步棒(一條粗的水平或垂直線)來說明并發(fā)控制流的分叉和匯合。匯合和分叉應該是平衡的,即離開一個分叉的流的數(shù)目應該和進入它的對應的匯合的流的數(shù)目相匹配。,.,63,動態(tài)行為圖之五:活動圖(續(xù)五),如下是一個包含各種內(nèi)容的活動圖:,.,64,動態(tài)行為圖之五:活動圖(續(xù)六),泳道:泳道將一個活動圖中的活動內(nèi)容分組,每一組表示負責那些活動的業(yè)務組織。泳道沒有內(nèi)在的語義,可以根據(jù)建模者的意愿使用。在業(yè)務建模中應用廣泛。,.,65,動態(tài)行為圖的使用,一個對象跨越多個用況的行為,用狀態(tài)圖表示;單個用況表示幾個對象的行為,用交互圖。交互圖是對共同工作的對象群體的行為建模,而狀態(tài)圖是對一個單獨的對象在它的生命周期中的行為建模,活動圖是從活動到活動的控制流建模,狀態(tài)圖是從狀態(tài)到狀態(tài)的控

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論