UML專業(yè)知識講座_第1頁
UML專業(yè)知識講座_第2頁
UML專業(yè)知識講座_第3頁
UML專業(yè)知識講座_第4頁
UML專業(yè)知識講座_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

UML介紹第1頁建?!耙粓D勝過千言萬語”第2頁模型是現(xiàn)實簡化,為系統(tǒng)提供藍圖模型也許包括詳細計劃,好模型包括元素具有廣泛抽象有助于如實或根據(jù)實際需要將系統(tǒng)視覺化模型允許指定系統(tǒng)構(gòu)造或行為模型提供引導(dǎo)構(gòu)建系統(tǒng)模板模型能統(tǒng)計已經(jīng)作出決定建模長處第3頁用于表達模型語言稱為建模語言創(chuàng)建模型原理選擇創(chuàng)建什么樣模型對如何處理問題和如何形成處理方案具有深刻影響單個模型是無法滿足要求。每個完美系統(tǒng)都是通過為數(shù)不多一系列近乎獨立模型以最合理方式實現(xiàn)每一種模型能夠在不一樣精度級別上表達最佳模型與現(xiàn)實情況是緊密相連建模語言第4頁面向?qū)ο蠼^k法面向?qū)ο蠼^k法是通過應(yīng)用面向?qū)ο竽J剑治?、設(shè)計和實現(xiàn)規(guī)劃中系統(tǒng)辦法分析系統(tǒng)設(shè)計對象設(shè)計實現(xiàn)迭代第5頁可視化建模可視化建模將模型中信息用標準圖形元素直觀地顯示第6頁UML4-1UML功臣!第7頁UML4-2致力于并推進UML發(fā)展某些主要公司有:Hewlett–PackardMicrosoftOracleIBMUnisys第8頁UML4-3統(tǒng)一建模語言(UML)主要用于建模UML能用于任何面向?qū)ο筠k法論用例圖演示系統(tǒng)與顧客交互類圖演示系統(tǒng)邏輯構(gòu)造對象圖演示對象和鏈接狀態(tài)圖演示行為組件圖演示軟件物理構(gòu)造布署圖展示軟件與硬件配備間對應(yīng)關(guān)系第9頁UML4-4UML是幫助形象化、指定、構(gòu)建和統(tǒng)計開發(fā)中系統(tǒng)建模語言。UML功能如下:圖形符號可展示和體現(xiàn)系統(tǒng)概觀是為規(guī)劃中系統(tǒng)精密且明確地建模一種辦法使用UML構(gòu)建模型與語言無關(guān),能夠使用任何語言編程幫助完成從開始至交付過程中所有歸檔為了執(zhí)行所有任務(wù)和功能,UML提供了一組特定圖和元素,可用來描述開發(fā)中系統(tǒng)不一樣狀態(tài)

第10頁UML和OOP統(tǒng)一建模語言是對描述面向?qū)ο笙到y(tǒng)分析和設(shè)計工作所用符號進行標準化嘗試一種語言其目標是建立一套不依賴于完成設(shè)計所用辦法符號UML開發(fā)意圖是用于所有面向?qū)ο箝_發(fā)辦法、生命循環(huán)階段、應(yīng)用程序域第11頁UML應(yīng)用領(lǐng)域信息系統(tǒng):與數(shù)據(jù)庫有關(guān)系統(tǒng)技術(shù)系統(tǒng):處理和控制技術(shù)設(shè)備嵌入式系統(tǒng):控制像移動電話這樣設(shè)備以及家用設(shè)備分布式系統(tǒng):使用面向?qū)ο髾C制分布在不一樣系統(tǒng)上數(shù)據(jù)庫系統(tǒng)系統(tǒng)軟件:用于操作系統(tǒng)和編寫系統(tǒng)實用程序業(yè)務(wù)系統(tǒng):與工作流有關(guān)系統(tǒng)第12頁UML圖2-1UML借助圖形符號展示和體現(xiàn)系統(tǒng)概觀,據(jù)此能夠開發(fā)出表達系統(tǒng)各個方面不一樣圖示。有助于理解系統(tǒng)行為和狀態(tài)典型圖有:用例圖用例為一系列事務(wù),其中每個事務(wù)是從系統(tǒng)外部調(diào)用,需要與內(nèi)部對象合作,方便在對象與系統(tǒng)周圍之間創(chuàng)建關(guān)聯(lián)類圖此圖是系統(tǒng)靜態(tài)構(gòu)造,也是類以及這些類表達關(guān)系集合時序圖是通過展示系統(tǒng)與其環(huán)境之間交互,描述系統(tǒng)行為簡單而直觀辦法

時序圖第13頁UML圖2-2協(xié)作圖表達特定環(huán)境和交互中一系列關(guān)聯(lián)對象。

活動圖是狀態(tài)機圖變更或特例。在狀態(tài)機圖中,狀態(tài)是展示執(zhí)行操作活動,操作完成后將觸發(fā)轉(zhuǎn)換。狀態(tài)圖展示辦法執(zhí)行狀態(tài)和對象執(zhí)行活動。

協(xié)作圖活動圖狀態(tài)圖第14頁RationalRose2023介紹工具箱窗口第15頁用例圖第16頁用例圖介紹統(tǒng)一建模語言為實現(xiàn)其建模目標使用了不一樣圖用例圖是其中之一,此概念由IvarJacobson提出,這是他對UML主要奉獻編寫系統(tǒng)用例圖有助于在初始開發(fā)階段構(gòu)建系統(tǒng)業(yè)務(wù)需求第17頁用例Jacobson對用例定義“對話中參與者所執(zhí)行交互動作序列,系統(tǒng)為參與者提供了某些可測量值。”用例簡單解釋“系統(tǒng)一組使用場景,每個場景描述了一種系統(tǒng)執(zhí)行動作序列。執(zhí)行動作序列,產(chǎn)生特定參與者可看得見成果值

。”第18頁用例圖元素4-1系統(tǒng)用例參與者第19頁用例圖元素4-2系統(tǒng)系統(tǒng)是用例圖一種組成部分,它代表是一種活動范圍,而不是一種真正軟件系統(tǒng)。系統(tǒng)邊界用來說明構(gòu)建用例應(yīng)用范圍。系統(tǒng)邊界框定義系統(tǒng)邊界或限制,因此,系統(tǒng)所有功能或過程會被限制在系統(tǒng)內(nèi),即此邊界將系統(tǒng)所有過程/功能與外界環(huán)境分隔。第20頁用例圖元素4-3用例用例是系統(tǒng)執(zhí)行功能或過程,它能夠由外部對象或系統(tǒng)內(nèi)部另一種用例啟動。第21頁用例圖元素4-4參與者參與者是負責(zé)啟動系統(tǒng)過程外部實體,它能夠是使用系統(tǒng)人或為某些訪問系統(tǒng)外部過程。第22頁用例符號3-1系統(tǒng)邊界框系統(tǒng)邊界功能功能功能投幣飲料售貨機系統(tǒng)第23頁用例符號3-2用例符號1.投擲硬幣2.計算幣值3.送出飲料第24頁用例符號3-3參與者用例1用例2參與者符號第25頁用例長處用例將詳細說明需求表達為系統(tǒng)和一種或多種參與者之間一系列交互這些交互有助于向顧客描述所提出系統(tǒng)功能就復(fù)雜系統(tǒng)來說,用例也以需要構(gòu)建內(nèi)容提供系統(tǒng)分析起點用例有助于確定系統(tǒng)必須實現(xiàn)類第26頁用例必要性有助于理解系統(tǒng)需求有助于正確設(shè)計系統(tǒng)功能有助于正確建立功能間關(guān)系第27頁構(gòu)建用例圖2-1步驟1.定義系統(tǒng)和系統(tǒng)邊界步驟2.確定參與者及其目標步驟3.確定用例步驟4.確定參與者和用例之間關(guān)系第28頁構(gòu)建用例圖2-2系統(tǒng)邊界框用例用例問題詳述參與者

開發(fā)典型用例第29頁用例舉例第30頁用例舉例第31頁用例之間關(guān)系4-1用例之間常見關(guān)系擴展關(guān)系包括關(guān)系泛化關(guān)系第32頁用例之間關(guān)系4-2“泛化”關(guān)系用于表白專用用例是實現(xiàn)由另一種通用用例表達目標一種特定方式。箭頭應(yīng)指向更通用用例。第33頁擴展行為用例之間關(guān)系4-3擴展關(guān)系:“擴展”鏈接用于表白一種用例能夠在特定情況下向另一種用例添加功能。箭頭應(yīng)指向被擴展主用例。滿足條件用例1<<extend>>用例2第34頁用例之間關(guān)系4-3第35頁用例之間關(guān)系4-4包括關(guān)系:使用“包括”關(guān)系能夠表白一種用例用于描述另一種用例某些細節(jié)。用例1用例2<<include>>用例1具有用例2功能用例1體現(xiàn)出用例2功能第36頁用例之間關(guān)系4-4第37頁“在線拍賣”系統(tǒng)需求序號UseCase描述1瀏覽拍賣目錄顧客瀏覽目前有效拍賣物項,并不需要顧客已登錄入系統(tǒng)。2終止拍賣當(dāng)一項拍賣結(jié)束時間達屆時,該用例被執(zhí)行,此時買主和賣主會被通知拍賣已經(jīng)成交、成交價格以及雙方聯(lián)系方式,方便真正完成這筆交易。系統(tǒng)將從賣主信用卡中收取交易有關(guān)費用。假如賣主信用卡不能付款,系統(tǒng)將針對該賣主建立一種未付款統(tǒng)計。3創(chuàng)建帳戶允許顧客建立和激活一種帳戶,輸入顧客信息-能夠選擇包括信用卡信息。當(dāng)帳戶被建立和激活后,顧客被以為處于登錄狀態(tài)。4創(chuàng)建拍賣項賣主創(chuàng)建一種在線拍賣物項,在建立一種拍賣項之前,賣主必須要登錄系統(tǒng),并且不能有任何未付款統(tǒng)計。5管理帳戶允許顧客更新維護其帳戶中有關(guān)信息。6競拍允許登錄買主在瀏覽拍賣目錄時針對特定拍賣物項競拍。7登錄顧客提供顧客名稱和密碼來通過身份驗證。8退出顧客通知系統(tǒng)該顧客目前不想繼續(xù)使用系統(tǒng),退出之前必須要登錄。第38頁使用RationalXDE編寫用例“在線拍賣”系統(tǒng)用例圖第39頁類圖與對象圖第40頁回憶用例圖用于描述系統(tǒng)需求用例之間關(guān)系有:包括或擴展關(guān)系用例圖用于表達系統(tǒng)行為或功能用例圖各個組成部分包括:系統(tǒng)、參與者和用例RationalRose2023能夠方便編寫用例圖第41頁關(guān)鍵抽象是在系統(tǒng)范圍上某些主要概念,主要是從需求中得到(例如詞匯表、業(yè)務(wù)規(guī)約以及用例模型),這些概念也會包括到系統(tǒng)所針正確業(yè)務(wù)領(lǐng)域知識。關(guān)鍵抽象一般體現(xiàn)為系統(tǒng)實體。關(guān)鍵抽象在線拍賣系統(tǒng)拍賣和拍賣物項信用卡競拍

分類

顧客帳戶和未付款項關(guān)鍵抽象業(yè)務(wù)實體

實體之間關(guān)系強調(diào)與系統(tǒng)設(shè)計有關(guān)實體排除系統(tǒng)外部多出實體最后,關(guān)鍵抽象成為分析模型中類

第42頁識別類3-1類是一組對象,這些對象具有共同屬性和共同行為類是創(chuàng)建對象模板

類可捕捉對象本質(zhì)

對象是類實例化第43頁識別類3-2在標識類時,需查找:

有形事物事件扮演角色交互位置組織單位第44頁識別類3-3標識類也稱為候選類??蓮南铝蟹矫鏄俗R類:需求說明

用例應(yīng)用程序?qū)<?/p>

研究系統(tǒng)

分析下列方面可標識其他候選類:相同系統(tǒng)

此前系統(tǒng)用例應(yīng)用程序?qū)<倚枨笳f明此前系統(tǒng)相同系統(tǒng)候選類第45頁候選類在分析初始過程中說明類稱為候選類冗余類

無關(guān)類

標識類角色

多種類定義同一種實體

任何不屬于應(yīng)用程序域類都需清除

保存基類,而排除所有作為角色類

標識候選類含糊類

沒有明確功能類稱為含糊類第46頁類圖2-1類是對一組對象描述,這些對象具有相同屬性、操作、關(guān)系和行為。Window

size:Size

visibility:boolean

display()

hide()類名稱屬性操作類名稱屬性辦法

構(gòu)造說明語法類對一組對象描述,這些對象具有相同屬性、操作、措施、關(guān)系和語義第47頁類圖2-2類名稱一般可對應(yīng)于現(xiàn)實生活中實體類名稱類屬性類辦法屬性(:特性,特性)屬性是深入描述對象實例數(shù)據(jù)。操作(:辦法、服務(wù)和行為)操作是對象可執(zhí)行過程。AccountHolder-Name:String-Age:Integer+Status:Boolean#Hobby:String

AccountHolder-Name:String-Age:Integer+Status:Boolean#Hobby:String+GetName():String+SetName(sName:String)Order<<Constructor>>+Order(id:integer)<<accessor>>+getQuantity():integer<<mutator>>+setQuantity(id:integer)<<businesslogic>>+addOrder(id:integer)+cancelOrder(id:integer)類名稱辦法參數(shù)類型參數(shù)名稱辦法名稱-id:integer-quantity:integer=0訪問模式屬性屬性名稱屬性類型屬性值第48頁類不是孤立存在因此,類與類之間創(chuàng)建了一種關(guān)系:類關(guān)系也許指明某種共享關(guān)系類關(guān)系也許指明某種類型語義連接類關(guān)系關(guān)聯(lián)接口與實現(xiàn)組合泛化(繼承)聚合依賴類關(guān)系第49頁關(guān)聯(lián)2-1構(gòu)造說明語法關(guān)聯(lián)兩個或多種類符之間一種關(guān)系,此關(guān)系包括類各個實例之間連接識別類之后,需要識別關(guān)聯(lián)多重性(multiplicity)定義有多少對象參與了某個關(guān)系各個類都也許與本身有關(guān)聯(lián)公司部門雇員示例:“雇員為公司工作”第50頁關(guān)聯(lián)2-2第51頁泛化2-1構(gòu)造說明語法泛化

它是較一般類和較詳細類之間分類關(guān)系泛化:標識各個類之間共同性。指明特化類(子類)對象可取代泛化類(父類)對象。是“is-a”關(guān)系。形狀

{抽象}圓圈父類子類抽象類泛化關(guān)系第52頁泛化2-2第53頁依賴2-1構(gòu)造說明語法依存假如一種類依靠另一種類服務(wù)來完成其角色,則它們之間關(guān)系稱為依存關(guān)系依賴關(guān)系指明兩個或多種類之間語義關(guān)系,盡管兩個類之間沒有明確關(guān)聯(lián),一種類發(fā)生變化也會造成另一種類發(fā)生變化。可用一種構(gòu)造型來表達依賴類型。第54頁依賴2-2第55頁聚合2-1構(gòu)造說明語法聚合一種特殊形式關(guān)聯(lián),指定了聚合(整體)和組件部分之間整體-部分關(guān)系共享聚合(空心菱形)意味著在組合端多重性有多種。模擬“整體-部分”關(guān)系。整體部分門房子1..*2..*汽車第56頁聚合2-2第57頁組合2-1構(gòu)造說明語法組合

一種特殊形式聚集,指定了聚合(整體)和組件部分之間整體-部分關(guān)系這是一種更強聚合,體現(xiàn)了類與類之間更強耦合(不能分離,就如襯衣與衣領(lǐng)袖口關(guān)系)組合圖形為實心菱形。圓圈點多邊形點圓圈第58頁組合2-2第59頁接口和實現(xiàn)2-1接口:幾個類并不和某個特定父類有關(guān),但事它們行為中也許包括同樣操作和同樣構(gòu)造。能夠?qū)ζ渲心硞€類編碼,然后在其他類中重用這些編碼。另一種也許情況事開發(fā)了一種系統(tǒng)中類一組操作并在另一種類中重用這些操作。不論哪種方式,都需要這些可重用操作集,接口是描述類部分行為一組操作,它也是一種類提供應(yīng)另一種類一組操作。實現(xiàn):類與接口之間關(guān)系被稱為實現(xiàn)。第60頁接口和實現(xiàn)2-1

類接口符號驗證類實現(xiàn)符號第61頁接口和實現(xiàn)2-2第62頁繪制”在線拍賣”系統(tǒng)類圖

第63頁總結(jié)在派生關(guān)鍵抽象時,一定要記住抽象層次不應(yīng)過高或過低UML類是一種包括類名、屬性和操作三個部分矩形

可通過下列方面標識類:需求說明

用例

應(yīng)用程序?qū)<?/p>

研究系統(tǒng)

第64頁總結(jié)類之間多種類型關(guān)系包括:關(guān)聯(lián)

泛化

依賴

聚合

組合接口與實現(xiàn)第65頁對象圖對象圖(ObjectDiagram)是顯示了一組對象和某時刻它們之間關(guān)系。一種對象圖可當(dāng)作一種類圖特殊用例。對象圖是類圖實例,幾乎使用與類圖完全相同標識。不一樣點在于對象圖顯示類多種對象實例,而不是實際類。由于對象存在生命周期,因此對象圖只能在系統(tǒng)某一時間段存在。第66頁對象圖CAH:

AccountHolderName=“Charles”Age=35Status=True實例化于屬性變量賦予值

類對象第67頁動態(tài)模型第68頁目標列出動態(tài)模型長處理解動態(tài)模型組件

第69頁介紹模型模型表達系統(tǒng)靜態(tài)和動態(tài)行為。這種表達形式可為同一系統(tǒng)提供不一樣視角靜態(tài)模型動態(tài)模型靜態(tài)模型展示了構(gòu)思中系統(tǒng)構(gòu)造方面動態(tài)模型是系統(tǒng)表達形式,也就是過程和行為集合第70頁采取動態(tài)建模長處明確性簡易性可視性動態(tài)模型優(yōu)越性2-1動態(tài)模型著重于描述系統(tǒng)控制邏輯,考查在任何時候?qū)ο蠹捌潢P(guān)系變化,描述時序和狀態(tài)變化。第71頁操作和維護模型比操作和維護實際系統(tǒng)容易得多使顧客和開發(fā)人員都能更容易地理解構(gòu)思中系統(tǒng)可助于解釋狀態(tài)變化和減少復(fù)雜度可監(jiān)視構(gòu)思中系統(tǒng)是否存在任何類型缺陷動態(tài)模型優(yōu)越性2-2動態(tài)模型優(yōu)越性第72頁動態(tài)模型組件5-1狀態(tài)圖時序圖活動圖協(xié)作圖動態(tài)模型組件第73頁動態(tài)模型組件5-2狀態(tài)圖狀態(tài)圖(StatechartDiagram)主要用于描述一種對象在其生存期間動態(tài)行為,體現(xiàn)為一種對象所經(jīng)歷狀態(tài)序列,引發(fā)狀態(tài)轉(zhuǎn)移事件(Event),以及因狀態(tài)轉(zhuǎn)移而伴隨動作(Action)。一般能夠用狀態(tài)機對一種對象生命周期建模,狀態(tài)圖用于顯示狀態(tài)機(StateMachineDiagram),重點在與描述狀態(tài)圖控制流。如下列圖例子,狀態(tài)機描述了門對象生存期間狀態(tài)序列,引發(fā)轉(zhuǎn)移事件,以及因狀態(tài)轉(zhuǎn)移而伴隨動作(Action).第74頁狀態(tài)圖元素狀態(tài)(States)指在對象生命周期中某個條件或者情況,在此期間對象將滿足某些條件、執(zhí)行某些活動活活等候某些事件。所有對象都有狀態(tài),狀態(tài)是對象執(zhí)行了一系列活動成果,當(dāng)某個事件發(fā)生后,對象狀態(tài)將發(fā)生變化。第75頁狀態(tài)圖元素狀態(tài)(States)初態(tài)和終態(tài)(InitialandFinalStates)初態(tài)用實心圓點表達,終態(tài)用圓形內(nèi)嵌圓點表達。第76頁狀態(tài)圖元素轉(zhuǎn)移(Transitions)

轉(zhuǎn)移(Transitions)是兩個狀態(tài)之間一種關(guān)系,表達對象將在源狀態(tài)(SourceState)中執(zhí)行一定動作,并在某個特定事件發(fā)生并且某個特定警界條件滿足時進入目標狀態(tài)(TargetState)第77頁狀態(tài)圖元素事件標識(Trigger):是轉(zhuǎn)移誘因,能夠是一種信號,事件、條件變化(achangeinsomecondition)和時間體現(xiàn)式。警界條件(GuardCondition):當(dāng)警界條件滿足時,事件才會引發(fā)轉(zhuǎn)移(Transition)。成果(Effect):對象狀態(tài)轉(zhuǎn)移后成果。

第78頁狀態(tài)圖舉例教師上傳課件狀態(tài)圖第79頁動態(tài)模型組件5-3時序圖時序圖顯示了在對象生命線上各點之間對象傳遞消息,演示了在時間序列中對象之間交互。時序圖是一種強調(diào)消息時序交互圖,它由活動者(Actor)、對象(Object)、消息(Message)、生命線(Lifeline)和控制焦點(Focusofcontrol)組成。在UML中:對象表達為一種矩形,其中對象名稱標有下劃線;消息在時序圖中由有標識箭頭表達;生命線由虛線表達;控制焦點由薄薄矩形表達。第80頁動態(tài)模型組件5-3時序圖時序圖示例如下所示:第81頁時序圖元素角色(Actor)系統(tǒng)角色,能夠是人、及其甚至其他系統(tǒng)或者子系統(tǒng)。對象(Object)對象包括三種命名方式:第一種方式包括對象名和類名;第二中方式只顯示類名不顯示對象名,即表達他是一種匿名對象;第三種方式只顯示對象名不顯示類明。第82頁時序圖元素第83頁時序圖元素生命線(Lifeline)生命線在時序圖中表達為從對象圖標向下延伸一條虛線,表達對象存在時間第84頁時序圖元素控制焦點(FocusofControl)控制焦點是時序圖中表達時間段符號,在這個時間段內(nèi)對象將執(zhí)行對應(yīng)操作。用小矩形表達第85頁時序圖元素消息(Message)消息一般分為同步消息(SynchronousMessage),異步消息(AsynchronousMessage)和返回消息(ReturnMessage)。第86頁時序圖元素同步消息=調(diào)用消息(SynchronousMessage)消息發(fā)送者把控制傳遞給消息接收者,然后停頓活動,等候消息接收者放棄或者返回控制。用來表達同步意義。異步消息(AsynchronousMessage)消息發(fā)送者通過消息把信號傳遞給消息接收者,然后繼續(xù)自

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論