第08章UML基礎-1.課件電子教案_第1頁
第08章UML基礎-1.課件電子教案_第2頁
第08章UML基礎-1.課件電子教案_第3頁
第08章UML基礎-1.課件電子教案_第4頁
第08章UML基礎-1.課件電子教案_第5頁
已閱讀5頁,還剩77頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第8章 UML基礎徐 天 宇第8章 內容lUML概述概述 l用例圖用例圖l類圖與對象圖類圖與對象圖l狀態圖狀態圖l活動圖活動圖l交互圖交互圖l包圖包圖l構件圖構件圖l配置圖配置圖lUML的擴展的擴展面向對象的主要概念l1 1對象對象l對象(對象(Object)是系統中一個用來描述客觀事)是系統中一個用來描述客觀事物的實體。物的實體。l對象是構成系統的基本單元對象是構成系統的基本單元l對象具有惟一的標識名對象具有惟一的標識名l對象具有自己的靜態特征和動態特征。對象具有自己的靜態特征和動態特征。2類l類(類(ClassClass)是一組具有相同屬性和相同操作的)是一組具有相同屬性和相同操作的對象的

2、抽象集合。對象的抽象集合。l類有一個惟一的標識名。類有一個惟一的標識名。l一個具體的對象只是類的一個實例一個具體的對象只是類的一個實例3封裝l封裝(封裝(EncapsulationEncapsulation)是指把對象內部)是指把對象內部信息對外界是隱蔽的,不允許外界直接存信息對外界是隱蔽的,不允許外界直接存取對象的屬性,而只能通過有限的接口與取對象的屬性,而只能通過有限的接口與對象發生聯系。對象發生聯系。l封裝體現了面向對象方法的封裝體現了面向對象方法的“信息隱蔽與信息隱蔽與局部化局部化”原則。原則。4繼承l繼承(繼承(InheritanceInheritance)是指子類(特化類、)是指子

3、類(特化類、派生類)可以自動擁有父類(基類、泛化派生類)可以自動擁有父類(基類、泛化類、超類)的全部屬性與操作。類、超類)的全部屬性與操作。4繼承ReservationdateExpiresdiscountCategoryPurchaseproductSetstoredateIDTransaction多繼承l在有些情況下,一個類可能需要同時使用在有些情況下,一個類可能需要同時使用兩個以上的父類的屬性和操作,或者一個兩個以上的父類的屬性和操作,或者一個類包含在兩個以上的父類的交集之中,則類包含在兩個以上的父類的交集之中,則該類將從兩個以上的父類中繼承屬性和操該類將從兩個以上的父類中繼承屬性和操作

4、,這稱為作,這稱為多繼承多繼承(Multiple Multiple InhentanceInhentance)。)。多繼承陸上交通工具水上交通工具兩棲交通工具5消息l消息(消息(MessageMessage)是指對象之間在交互中)是指對象之間在交互中所傳送的通信信息。所傳送的通信信息。l一個消息應當含有以下信息:一個消息應當含有以下信息:l消息名、消息名、l接收消息的對象的標識、接收消息的對象的標識、l調用操作的標識、調用操作的標識、l參數、參數、l返回數據。返回數據。多態性l多態性(多態性(PolymorphismPolymorphism)是指在基類中定)是指在基類中定義的屬性和操作為其子類

5、繼承后,可以具義的屬性和操作為其子類繼承后,可以具有不同的數據類型或表現出不同的行為。有不同的數據類型或表現出不同的行為。多態性8.1 UML8.1 UML概述概述l統一建模語言(統一建模語言(Unified Modeling Unified Modeling LanguageLanguage, UMLUML)是一個通用的可視化建)是一個通用的可視化建模語言,用于對軟件進行描述、可視化處模語言,用于對軟件進行描述、可視化處理、構造和建立軟件系統制品的文檔。理、構造和建立軟件系統制品的文檔。8.1.1 UML8.1.1 UML簡史簡史8.1.2 UML8.1.2 UML的特點的特點lUMLUML

6、的主要特點有:的主要特點有:l面向對象面向對象l統一標準統一標準l可視化、表示能力強大可視化、表示能力強大l獨立于過程獨立于過程l容易掌握使用容易掌握使用8.1.3 UML8.1.3 UML語言內容語言內容lUMLUML語言包含以下三方面內容。語言包含以下三方面內容。l(1 1)UMLUML基本圖素。它是構成基本圖素。它是構成UMLUML模型圖模型圖的基本元素。的基本元素。l(2 2)UMLUML模型圖及建模規則。模型圖及建模規則。UMLUML基本圖基本圖素按特定的規則有機地組合而成模型圖,素按特定的規則有機地組合而成模型圖,從而構成一個有機的、完整的從而構成一個有機的、完整的 UMLUML模

7、型圖。模型圖。l(3 3)UMLUML的擴展機制的擴展機制8.1.4 UML8.1.4 UML的應用領域的應用領域lUMLUML具有很廣的應用領域,其中最常用的具有很廣的應用領域,其中最常用的是為軟件系統建模,是為軟件系統建模,lUMLUML可以對下面這些領域的軟件系統建模:可以對下面這些領域的軟件系統建模:企業信息系統、銀行金融服務、電信、交企業信息系統、銀行金融服務、電信、交通、國防航空、零售領域、科學計算、通、國防航空、零售領域、科學計算、基于基于WebWeb的系統。的系統。lUMLUML還可用來描述其他非軟件系統,如一還可用來描述其他非軟件系統,如一個機構的組成或機構中的工作流程等。個

8、機構的組成或機構中的工作流程等。8.1.5 8.1.5 支持支持 UMLUML的工具的工具l目前有很多支持目前有很多支持 UMLUML的工具,例如的工具,例如 lRational RoselEnterprise ArchitectlTogether DesignerlPowerDesignerlVisual UML RoseRose簡介簡介 為何使用為何使用 Rational RoseRational RoselUMLUML只是一套可視化的面向對象系統分析只是一套可視化的面向對象系統分析與設計的與設計的語言,是理論。是標準。它一定語言,是理論。是標準。它一定要與一套工具搭配使用。要與一套工具搭

9、配使用。l與與UMLUML搭配最密切的工具就是搭配最密切的工具就是 Rational Rational RoseRose。1.Rational Rose1.Rational Rose特點特點lRoseRose具有建立、瀏覽、修改和保存模型的能具有建立、瀏覽、修改和保存模型的能力力l它具有支持正反向建模的能力。它具有支持正反向建模的能力。2.Rational Rose2.Rational Rose有多種版本有多種版本lRose ModelerRose Modeler:提供建模功能,但不支持代碼生:提供建模功能,但不支持代碼生成和由代碼逆向生成模型(逆向工程)。成和由代碼逆向生成模型(逆向工程)。

10、lRose ProfessinnalRose Professinnal:支持生成一種語言的代碼。:支持生成一種語言的代碼。lRose EnterpriseRose Enterprise:支持:支持 VCVC,JavaJava,AdaAda,CORBACORBA,Visual BasicVisual Basic,COMCOM,OraclesOracles與與 XMLXML架構下生成架構下生成代碼,模型的組件可以用不同語言生成代碼。代碼,模型的組件可以用不同語言生成代碼。l近來推出的近來推出的Rose 2000Rose 2000,Rose 2002Rose 2002,Rose 2003Rose 2

11、003可可以支持以支持JavaJava,VBVB,VC+VC+等架構的代碼生成和逆向等架構的代碼生成和逆向工程。工程。3.Rose3.Rose開發環境開發環境l啟動啟動 RoseRosel單擊開始單擊開始程序程序Rational suite Rational suite Enterprise Enterprise Rational Rose Rational Rose Enterprise Enterprise EditionEdition,出現如,出現如圖所示的界面。圖所示的界面。RoseRose圖形界面構成圖形界面構成l菜單欄;菜單欄;l瀏覽窗口(瀏覽窗口(BrowerBrower););

12、l標準工具欄(標準工具欄(standard Toolbarstandard Toolbar););l圖素工具欄(圖素工具欄(Diagram ToolbarDiagram Toolbar););l模型圖窗口(模型圖窗口(Diagram WindowsDiagram Windows););l文檔窗口(文檔窗口(Document window Document window ););l日志欄(日志欄(LogLog););l狀態欄(狀態欄(StatusStatus););l規范對話框(規范對話框(SpecificationSpecification)。)。RoseRose界面界面1 1萊單欄萊單欄2

13、2瀏覽框瀏覽框l瀏覽框利用樹型結構把模型中的一切全部瀏覽框利用樹型結構把模型中的一切全部組織起來。組織起來。l利用瀏覽框,可以瀏覽、移動和編輯每種利用瀏覽框,可以瀏覽、移動和編輯每種視圖中的模型成分,增加新的模型成分。視圖中的模型成分,增加新的模型成分。右擊瀏覽框中模型成分,可以訪問模型成右擊瀏覽框中模型成分,可以訪問模型成分的詳細規范、刪除模型成分和更名模型分的詳細規范、刪除模型成分和更名模型成分。成分。瀏覽框瀏覽框3 3標準工具欄標準工具欄lRoseRose中有兩種工具欄:標準工具欄和圖素中有兩種工具欄:標準工具欄和圖素工具欄。標準工具欄的圖標表示任何模型工具欄。標準工具欄的圖標表示任何模

14、型圖都可以使用的公共功能選項。圖都可以使用的公共功能選項。標準工具欄標準工具欄4 4圖素工具欄圖素工具欄l圖素工具欄的圖標則隨著選擇的圖素工具欄的圖標則隨著選擇的UMLUML模型模型圖的改變而改變。圖的改變而改變。圖素工具欄圖素工具欄5 5模型圖窗口模型圖窗口l模型圖窗口中可以建立、瀏覽、修改模型模型圖窗口中可以建立、瀏覽、修改模型中的一個或幾個中的一個或幾個UMLUML模型圖。模型圖。6 6文檔窗口文檔窗口l文檔窗口為所選擇的模型成分提供建立、文檔窗口為所選擇的模型成分提供建立、瀏覽或修改文檔的能力,瀏覽或修改文檔的能力,l文檔框的內容一般是描述模型成分的簡要文檔框的內容一般是描述模型成分的

15、簡要定義。定義。7 7日志欄日志欄l在在RoseRose建模中,日志用于查看錯誤消息和建模中,日志用于查看錯誤消息和報告各個命令的結果。報告各個命令的結果。l單擊日志欄最大化圖標,日志內容才能顯單擊日志欄最大化圖標,日志內容才能顯示。示。l日志像語言編譯提示語法錯誤一樣,可以日志像語言編譯提示語法錯誤一樣,可以提示提示UMLUML圖的語法錯誤,圖的語法錯誤, 8 8狀態欄狀態欄l狀態欄也叫提示欄。狀態欄也叫提示欄。9 9規范對話框規范對話框l選擇瀏覽框任意一個模型圖素,右擊出現選擇瀏覽框任意一個模型圖素,右擊出現浮動對話框,選擇【浮動對話框,選擇【SpecificationSpecificat

16、ion】,】,出現對話框。利用規范對話框可以設置圖出現對話框。利用規范對話框可以設置圖素的各種屬性。素的各種屬性。RoseRose的四種視圖的四種視圖lRoseRose創建一個新的系統模型時自動生成下創建一個新的系統模型時自動生成下列四種視圖:列四種視圖:l用例視圖、用例視圖、l邏輯視圖、邏輯視圖、l組件視圖組件視圖l部署視圖,部署視圖,lRoseRose把視圖看成是模型結構中的第一層次。把視圖看成是模型結構中的第一層次。8.1.3 公共機制l修飾與擴展是修飾與擴展是UMLUML語言中有兩個重要機制。語言中有兩個重要機制。l注解是一種最重要的能單獨存在的修飾,注解是一種最重要的能單獨存在的修飾

17、,l擴展集則包括構造型、標記值和約束。擴展集則包括構造型、標記值和約束。注解l注解(注解(notenote)是附加在元素或元素集上用)是附加在元素或元素集上用來表示約束或注釋的圖形符號。來表示約束或注釋的圖形符號。l在圖形上,把注解畫成帶有折角的矩形,在圖形上,把注解畫成帶有折角的矩形,在矩形中填寫文字或圖形注釋。在矩形中填寫文字或圖形注釋。注解8.2 用例圖l用例圖用例圖(Use Case Diagrams)描述了一)描述了一組用例,使用者以及它們之間的關系。組用例,使用者以及它們之間的關系。l用例圖是其它模型的核心和基礎。其它模用例圖是其它模型的核心和基礎。其它模型的構造依賴于用例圖中所描

18、述的內容。型的構造依賴于用例圖中所描述的內容。 用例圖搜索商品客戶下訂單支付過程提供幫助客戶支持8.2.1.1用例l用例用例(Use Case(Use Case) )是對系統的用戶需求(主是對系統的用戶需求(主要是功能需求)的描述。要是功能需求)的描述。l用例也稱案例,用況等用例也稱案例,用況等l用例在圖形上用橢圓來表示,橢圓下(或用例在圖形上用橢圓來表示,橢圓下(或橢圓中)附上用例的名稱。橢圓中)附上用例的名稱。 獲取用例l獲取用例的最簡單的途經是與典型用戶進行獲取用例的最簡單的途經是與典型用戶進行交談,交談,l軟件開發人員工作是用簡短的文字描述用戶軟件開發人員工作是用簡短的文字描述用戶的想

19、法,并為之取個名稱。一系列用例的集的想法,并為之取個名稱。一系列用例的集合,就組成了整個系統的需求。合,就組成了整個系統的需求。8.2.1.2使用者使用者l使用者(使用者(ActorActor)是指處于系統邊界之外的,與是指處于系統邊界之外的,與系統發生交互作用的外部用戶、系統發生交互作用的外部用戶、設備設備或其他系或其他系統。統。l在用例圖中,使用者用一個名稱寫在下面的小在用例圖中,使用者用一個名稱寫在下面的小人表示,人表示,l也可以用帶有構造型也可以用帶有構造型actoractor的對象圖來表示。的對象圖來表示。l使用者都必須有唯一的名稱或標識。使用者都必須有唯一的名稱或標識。用例圖的圖形

20、符號圖形符號圖形符號名稱名稱描述描述用例用例角色(使用者)角色(使用者)通信關系通信關系網上商店客戶使用者與用例與用例l使用者運行用例。一個使用者可運行多個使用者運行用例。一個使用者可運行多個用例;反過來,一個用例也可由多個使用用例;反過來,一個用例也可由多個使用者所運行。者所運行。使用者與用例與用例隨堂考試單元考試模擬考試自我考試錯題集查詢錄入考試試題評閱學生試卷錄入課程教學資源成績查詢考試考試歷史查詢在線學習課程登陸論壇和博客網站信息維護用戶信息維護課程信息維護登陸/退出訂單信息維護論壇管理選課信息維護系統管理員選修課程學生訂閱網站商品老師查詢學生選課情況8.2.1.3用例圖中的關系用例圖

21、中的關系 l用例除了與使用者有聯系以外,用例之間用例除了與使用者有聯系以外,用例之間還存在著一定的關系。這些關系有:泛化還存在著一定的關系。這些關系有:泛化關系、包含關系和擴展關系等。關系、包含關系和擴展關系等。泛化關系l泛化泛化關系關系(Generalization AssociationGeneralization Association)是是表示一般與特殊的關系。表示一般與特殊的關系。l子子用例可以繼承父用例的含義和行為,也用例可以繼承父用例的含義和行為,也可以對父用例的行為進行增加和修改??梢詫Ω赣美男袨檫M行增加和修改。1.關聯關系l關聯關系(關聯關系(Association)用于表

22、示使用)用于表示使用者和用例之間的對應通訊關系,它表示使者和用例之間的對應通訊關系,它表示使用者使用了系統中的哪些用例(或者說系用者使用了系統中的哪些用例(或者說系統所提供的用例被哪些使用者使用)。統所提供的用例被哪些使用者使用)。l關聯關系以箭線或實線表示。關聯關系以箭線或實線表示。2.泛化關系l泛化泛化關系關系(Generalization Association)表示一般與特殊的關系,即表示用例之間表示一般與特殊的關系,即表示用例之間或使用者之間的或使用者之間的“is a”關系。泛化關系。泛化關系分關系分為為用例泛化和使用者泛化。用例泛化和使用者泛化。 l泛化關系用帶空心三角箭頭的實線表

23、示。泛化關系用帶空心三角箭頭的實線表示。對于對于用例泛化,用例泛化,從子用例發出,指向父用從子用例發出,指向父用例。例。用例泛化做交易債卷交易股票交易期貨交易使用者泛化泛化l使用者也有泛化關系,在這種泛化關系中,使用者也有泛化關系,在這種泛化關系中,一個使用者的抽象描述可以被一個或多個一個使用者的抽象描述可以被一個或多個具體的使用者所共享。具體的使用者所共享。泛化泛化關系3.包含關系l包含關系(包含關系(Include Association)把幾個用)把幾個用例的公共步驟分離成一個單獨的被包含用例,例的公共步驟分離成一個單獨的被包含用例,被包含的用例通常作為某些包含它的更大的基被包含的用例通

24、常作為某些包含它的更大的基本用例的一部分。即表示用例之間的本用例的一部分。即表示用例之間的“has a”關系。關系。l被包含用例不能單獨存在。被包含用例不能單獨存在。l在圖在圖形上,形上,用一條從基本用例指向被包含的用用一條從基本用例指向被包含的用例的虛箭線表示,并在箭線上標有構造型例的虛箭線表示,并在箭線上標有構造型Include。包含關系4.擴展關系l擴展關系擴展關系(Extension Association)允許允許一個用例擴展另一個用例所提供的功能。一個用例擴展另一個用例所提供的功能。l擴展關系表示的是用例之間的擴展關系表示的是用例之間的“is a”關系關系。l擴展關系(擴展關系(E

25、xtend AssociationExtend Association)表明擴)表明擴展用例的行為相對于基本用例是在一個給展用例的行為相對于基本用例是在一個給定延伸點上的延伸關系。定延伸點上的延伸關系。擴展關系l在圖在圖形上,形上,擴展關系用一條從擴展用擴展關系用一條從擴展用例指向基本用例的虛箭線表示,并在例指向基本用例的虛箭線表示,并在箭線上標有構造型箭線上標有構造型Extend。帶有擴展點的訂購貨物用例訂購貨物用例擴展用例-每季度銷售價格擴展用例-老顧客打折帶有擴展用例的訂購貨物用例圖訂購貨物會員折扣計算跟蹤訂單登錄用例的包含關系與擴展關系表表 使用者使用者、用例間的關系類型、用例間的關系

26、類型 關系類型關系類型說明說明表示符號表示符號關聯關聯(association)(association)ActorActor和和user caseuser case之間的之間的關系關系泛化泛化(generalization)(generalization)ActorActor之間或之間或user caseuser case之之間的關系間的關系包含包含(include)(include)User caseUser case之間的關系之間的關系includeinclude擴展擴展(extend)(extend)User caseUser case之間的關系之間的關系extendextend以下規

27、則用來判斷應使用哪種關系l當處理一般行為的某種變化時,采用泛化當處理一般行為的某種變化時,采用泛化關系。關系。l當處理一般行為的某種異常情況,且希望當處理一般行為的某種異常情況,且希望通過基本用例中的擴展點來加強控制時,通過基本用例中的擴展點來加強控制時,則應采用擴展關系。則應采用擴展關系。l當為了避免在兩個或多個用例中出現重復當為了避免在兩個或多個用例中出現重復描述時,則采用包含關系。描述時,則采用包含關系。8.2.1.4用例圖建立步驟l用例圖的一般建立步驟如下:用例圖的一般建立步驟如下:l找出系統外部的使用者和外部系統,確定系找出系統外部的使用者和外部系統,確定系統的邊界和范圍。統的邊界和

28、范圍。l確定每一個使用者所希望的系統功能。確定每一個使用者所希望的系統功能。l把這些系統功能命名為用例。把這些系統功能命名為用例。l把一些公共的系統功能分解為一批新的用例,把一些公共的系統功能分解為一批新的用例,供其它的用例引用。把一些特殊情況的功能處供其它的用例引用。把一些特殊情況的功能處理分解為擴展用例。理分解為擴展用例。l繪制用例圖。繪制用例圖。l精化用例圖,解決用例中重復與沖突問題。精化用例圖,解決用例中重復與沖突問題。8.2.2用例的描述用例的描述l用例描述是使用者與系統如何進行交互的用例描述是使用者與系統如何進行交互的規范性的說明。規范性的說明。l可說明不同的場景,可說明不同的場景

29、,l是個結構化敘述的文本是個結構化敘述的文本 。場景l場景場景(Use-Case Scenario) 指貫穿用例的指貫穿用例的一條單一路徑,用來顯示用例中的一種情一條單一路徑,用來顯示用例中的一種情況。況。 事件l事件(事件(Event)是對一個在時間和空間上)是對一個在時間和空間上占有一定位置的有意義的事情的規格說明。占有一定位置的有意義的事情的規格說明。 l對于每個用例,都可以用事件流來規定用對于每個用例,都可以用事件流來規定用例的行為。例的行為。2.2.用例的描述用例的描述l在描述事件流時,應該包括下列內容:在描述事件流時,應該包括下列內容:l用例什么時候開始,怎樣開始。用例什么時候開始,怎樣開始。l用例什么時候結束,怎樣結束。用例什么時候結束,怎樣結

溫馨提示

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

評論

0/150

提交評論