




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章UML建模基礎知識本章要點:UML的基本元素視圖和圖的概念基礎內容:理解靜態視圖和動態視圖重點掌握:各種圖的表示和作用一般了解:UML發公共機制2.1UML語言的構成
UML由視圖(views)、圖(Diagrams)、模型元素(Modelelements)和通用機制(generalmechanism)等幾個部分構成。視圖用來表示被建模系統的各個方面(從不同目的出發建立,為系統建立多個模型,這些模型都反映同一個系統,且具有一致性)。視圖由多個圖構成,是在某一個抽象層次上對系統的抽象表示。圖由各種圖片構成,用來描述一個視圖的內容。UML語言定義了9種不同的圖的類型,把它們有機結合起來就可以描述系統的所有視圖模型元素代表面向對象中的類、對象、消息和關系等概念,是構成圖的最基本的常用概念。通用機制用于表示其他信息,比如注釋、模型元素的語義等。另外,它還提供擴展機制,使UML語言能夠適應一個特殊的方法(或過程)、或擴充至一個組織或用戶。2.2UML的基本元素
事物是UML模型中面向對象的基本元素和模塊,它們在模型中屬于靜態部分。事物是模型中最具有代表性的成分的抽象。在UML中定義了4種基本的面向對象的事物:結構、行為、分組和注釋。2.2.1結構一、類(Class)UML中的類完全對應于面向對象分析中的類,它具有自己的屬性和操作。一個類可以實現一個或多個接口。類的可視化如圖2-1所示。二、接口(Interface)接口由一組對操作的定義組成,但它不包括對操作的實現進行詳細的描述。接口用于描述一個類或構件的一個服務的操作集。接口描述了元素的外部可見的操作。接口很少單獨存在,往往依賴于實現接口的類或構件。接口的圖形表示如圖2-2所示。三、協作(Collaboration)協作是對一個交互過程的定義,它是由一組共同工作以提供協作行為的角色和其他元素構成的一個整體。協作行為大于所有元素行為的總和。一個類可以參與到多個協作中,協作表現了系統構成模式的實現。協作的符號如圖2-3所示。四、用例(UseCase)用例用于表示系統所提供的服務,它定義了系統是如何被參與者所使用的,它描述的是參與者為了使用系統所提供的某一完整功能而與系統發生的一段對話。用例的符號如圖2-4所示。五、主動類(ActiveClass)
主動類能夠有自動的啟動控制活動,每個主動類的對象都由它自己的事件驅動控制線程,控制線程與其他主動類對象并行執行。被主動對象所調用的對象是被動對象。它們只在被調用時接受控制,而當它們返回時將放棄控制。被動對象被動地等待其他對象向它發送請求,這些對象所描述的元素行為與其他元素的行為并發。主動類的可視化表示和一般類的表示很相似,特殊的地方在于其外框為粗線。六、構件(Component))構件是系統中物理的、可替代的部件,它遵循且提供一組接口的實現。七、節點(Node)節點是系統在運行時切實存在的物理對象,表示某種可計算資源。這些資源往往具有一定的存儲能力和處理能力。一個節點可以代表一臺物理機器,或代表一個虛擬機器節點。2.2.2行為行為是指UML模型的相關動態行為,是UML模型的動態部分。行為在模型中通常用動詞來表示,如“注冊”、“銷毀”等。可把行為劃分為兩類,分別是交互和狀態機。一、交互(Interaction)交互是指一組對象為共同完成一定任務而進行的一系列消息交換而組成的動作以及消息交換過程中形成的消息機制。交互的可視化表示主要是通過消息來表示。消息的表示方法如圖2-7.二、狀態機狀態機是一個類的對象所有可能的生命歷程的模型,因此狀態機可用于描述一個對象或一個交互在其生命周期內響應時間所經歷的狀態序列。當對象探測到一個外部事件后,它依照當前的狀態做出反應,這種反應包括執行一個相關動作或轉換到一個新的狀態中去。
狀態機的可視化表示如圖2-8所示。2.2.3分組UML通過包這種分組來實現對整個模型的組織。包在概念上是一種對UML模型中各個組成部分進行分組的機制,它只存在于系統的開發階段。在包中可以包含結構、行為和分組。包的表示方法如圖2-9所示。2.2.4注釋
注釋是UML模型的解釋部分,用于進一步說明UML模型中的其他任何組成部分。可以用注釋來描述模型中的任何元素。注釋是依附于某個元素或一組建模元素之上,對這個或這一組建模元素進行約束或解釋的簡單注釋符號。注釋的一般形式是簡單的文本說明。注釋的符號表示如圖2-10所示,在方框內填寫需要注釋的內容。2.3UML中的關系
UML模型是由各種事物以及這些事物之間的各種關系構成的。關系是指支配、協調各種模型元素存在并相互使用的規則。
UML中主要包含4種關系:依賴、關聯、泛化和實現。一、依賴關系依賴關系指的是兩個事物之間的一種語義關系,當其中一個事物(獨立事物)發生變化時就會影響另一個事物(依賴事物)的語義。見圖2-11。二、關聯關系關聯關系是指事物之間的一種結構關系,在系統開發中經常使用,系統元素之間的關系如果不能明顯地由其他三類關系來表示,都可以被抽象為關聯關系。關聯關系可以是聚集、組成,也可以是沒有方向的普通關聯關系。聚集是一種特殊類型的關聯,它描述了整體和部分之間的結構關系;組成也是一種關聯關系,描述了整體和部分間的結構關系,只是部分是不能離開整體而獨立存在的。見圖2-12三、泛化關系泛化關系是指事物之間的一種特殊/一般關系,特殊元素(子元素)的對象可替代一般元素(父元素)的對象,也就是在面向對象中提及的繼承。子元素具有父元素的全部結構和行為,并允許在此基礎上再擁有自身特定的結構和行為。見圖2-13。四、實現關系實現關系也是UML元素之間的一種語義關系,它描述了一組操作的規約和一組對操作的具體實現之間的語義關系。在系統開發中,通常在兩個地方需要使用實現關系,一種是用在接口和實現接口的類或構件之間;另一種是在用例和實現用例的協作之間。見圖2-14。思考練習題
假設你正在設計一個能顯示公司全體成員的制表系統,公司的員工可填寫這個系統中的表格。在你的設計中,有一個系統類和一個Form(表格)類。在系統類的眾多操作中有一個displayForm類,系統所要顯示的表格取決于用戶選擇的表格。這個設計的UML表示法是屬于哪種關系?學生可以參加多個學生社團組織?旅客列車由火車頭和若干車廂組成,車廂分為軟席、硬席、軟席臥鋪和硬席臥鋪四種?汽車類含客車與貨車兩個子類?冷藏車既繼承貨車的特性“載貨”,又繼承冷藏設備的特性“冷藏”?2.4UML中的視圖和圖UML是用模型來描述系統的結構或靜態特征以及行為或動態特征的。它從不同的視角為系統的架構建模形成系統的不同視圖(View)。它是表達系統某一方面特征的UML建模構件的子集。在每一類視圖中使用一種或兩種特定的圖來可視化地表示視圖中的各種概念。即視圖是由一個或多個圖組成的對系統某個角度的抽象。2.4.1視圖視圖模型按照邏輯觀點對用領域中的概念建模,可以劃分成三種視圖域,分別是結構分類、動態行為和模型管理。一、結構分類描述了系統中的結構成員及其相互關系。類元包括類、用例、構件和節點。類元視圖包括靜態視圖、用例視圖、實現視圖以及部署視圖。二、動態行為描述了系統隨時間變化的行為。行為用從靜態視圖中抽取的瞬間值的變化來描述。動態行為視圖包括狀態機視圖、活動視圖和交互視圖。三、模型管理說明了模型的分層組織結構。包是模型的基本組織單元。模型管理視圖跨越了其他視圖并根據系統開發和配置組織這些視圖。
在UML中主要包括的視圖為靜態視圖、用例視圖、交互視圖、實現視圖、狀態機視圖、活動視圖、部署視圖和模型管理視圖。一、靜態視圖靜態視圖在UML中的作用:靜態視圖是UML的基礎靜態視圖構造了概念對象的基本結構靜態視圖是建立其他動態視圖的基礎二、用例視圖用例視圖描述了系統參與者與系統進行交互的功能,是參與者所能觀察和使用到的系統功能的模型圖。用例模型的作用是標識出系統中用例和參與者之間的聯系,并確定什么樣的參與者執行了哪個用例。用例使用系統與一個或多個參與者之間的一系列消息來描述系統的交互作用。三、交互視圖交互視圖描述了執行系統功能的各個角色之間相互傳遞消息的順序關系,是描述系統中各種角色或功能交互的模型。通過不同對象間的相互作用來描述系統的行為是通過兩種方式進行的:以獨立的對象為中心進行描述以相互作用的一組對象為中心進行描述四、狀態機視圖狀態機視圖是通過對象的各種狀態來建立模型以描述對象隨時間變化的動態行為。狀態機是通過不同對象間的相互作用來描述系統行為的,不同的是它以獨立的對象為中心進行描述。五、活動視圖活動視圖是一種特殊形式的狀態機視圖,用來描述執行算法的工作流程中涉及的活動。通常活動視圖用于對計算流程和工作流程建模。活動視圖使用活動圖來體現。活動圖中包含了描述對象活動或動作的狀態以及對這些狀態的控制。活動圖包含對象活動的狀態。活動的狀態表示命令執行過程中或工作流程中活動的運行。六、物理視圖物理視圖是對應有自身的實現結構建模,如系統的構件組織情況以及運行節點的配置等。包含了兩種視圖,分別是實現視圖和部署視圖。實現視圖將系統中可重用的塊包裝成為具有可代替性的物理單元,這些單元被稱為構件。實現視圖用構件及構件間的接口和依賴關系來表示設計元素(如類)的具體實現。部署視圖表示運行時的計算資源的物理布置。這些運行資源被稱為節點。在運行時,節點包含構件和對象。實現視圖使用構件圖進行表示,部署視圖使用部署圖表示。七、模型管理視圖模型管理視圖是對模型自身組織進行的建模,是由自身的一系列模型元素(如類、狀態機和用例)構成的包所組成的模型。模型是一種特殊的包,整個系統的靜態模型實際上可看成是系統最大的包,它代表了系統的一個部分,它有清晰的接口。這個接口可作為一個單獨的構件來實現。模型管理由包及包之間的依賴組成,模型管理信息通常在類圖中表達。2.4.2圖UML作為一種可視化的建模語言,其主要表現形式就是將模型進行圖形化表示。最常用的UML圖包括用例圖、類圖、序列圖、狀態圖、活動圖、構件圖和部署圖。一、用例圖用例圖描述了系統提供的一個功能單元。用例圖的主要目的是幫助開發團隊以一種可視化的方式理解系統的功能需求,包括基于基本流程的“角色”關系,以及系統內用例之間的關系。使用用例圖可表示出用例的組織關系。在用例圖中畫出某個用例方式是在用例圖中繪制一個橢圓,然后將用例的名稱放在橢圓的中心或橢圓下面的中心未知。在用例圖上繪制一個角色的方式是繪制一個人形的符號。如圖2-15:二、類圖類圖顯示了系統的靜態結構,表示了不同的實體是如何彼此相關聯的。類圖還可用于表示實現類,實現類就是程序員處理的實體。繪制類圖時使用包含3個部分的矩形來描述。最上面的矩形部分顯示類的名稱,中間矩形部分顯示了類的各種屬性,下面的矩形部分顯示了類的操作或方法。在類圖中,需要注意的是對類與類之間關系的描述。類與類之間的關系通常有依賴、泛化和關聯這3種關系。如果把接口也看成是一種類,那么還有實現關系,即類對接口的實現。如圖2-16所示:三、序列圖(順序圖)序列圖顯示了一個具體用例或者用例的一部分的詳細流程。序列圖不僅可以顯示流程中不同對象之間的調用關系,還可以很詳細地顯示對不同對象的不同調用。序列圖有兩個維度:垂直維度(也稱為時間維度,以發生的時間順序顯示或調用的序列);水平維度(顯示消息被發送到的對象實例)序列圖的繪制:橫跨圖頂部的每個框表示每個類的實例或對象,在框中,類實例名稱和類名稱之間使用冒號分隔開來。如圖2-17.若每個類實例向另一個類實例發送一條消息,則繪制一條具有指向接收類實例的開箭頭的連線,并把消息或方法的名稱放在連線上面,消息也分為不同的種類,即同步消息、異步消息、返回消息和簡單消息等。四、狀態圖狀態圖表示某個類所處的不同狀態以及該類在這些狀態中的轉換過程。狀態圖包括5個基本的元素:初始起點使用一個實心圓來繪制狀態之間的轉換使用具有開箭頭的線段來繪制狀態使用圓角矩形來繪制判斷點使用空心圓來繪制;使用判斷點可以根據不同的條件進入不同的狀態。一個或多個終止點使用內部包含實心圓的圓來繪制。五、活動圖活動圖是用來表示兩個或更多對象之間在處理某個活動時的過程控制流程。活動圖更適合對較高級別的過程建模,活動圖的符號集與狀態圖中使用的符號集非常類似,但也有差別。活動圖的初始活動也是由一個實心圓開始的;結束圖是由一個內部包含實心圓的圓來表示;活動圖是通過圓角矩形來表示的;活動可通過活動的轉換線段連接到其他活動中,或者連接到判斷點,根據判斷點的不同條件執行不同的動作。在活動圖中,出現了“泳道”的概念,使用泳道來表示實際執行活動的對象。六、構件圖構件圖提供系統的物理視圖,它是根據系統的代碼構件顯示系統代碼的整個物理結構。其中構件可以是源代碼組件、二進制組件或可執行組件。一般來說,構件圖最經常用于實際的編程工作中,構件圖為系統架構提供了一個為解決方案進行建模的自然形式,如圖2-20所示。七、部署圖部署圖用于表示該軟件系統如何部署到硬件環境中,它是顯示在系統中的不同的構件在何處物理運行以及如何進行彼此的通信。部署圖對系統的物理運行情況進行了建模,因此系統的生產人員能夠很好地利用這種圖來部署實際的系統。在部署圖中顯示的節點內,包含了如何在節點內部分配可執行的構建和對象,以顯示這些軟件單元在某個節點上的運行情況,并且部署圖還可以顯示各個構件之間的依賴關系。系統的部署圖從系統的物理結構的節點顯示了屬于該節點的構件,然后使用構件圖顯示該構件中包含的類,接著使用交互圖顯示該類的對象參與的交互,最終到達某個用例。2.5UML的公共機制在UML中,規格說明、修飾、通用劃分和擴展機制這4種公共機制貫穿于整個統一建模語言。2.5.1UML的規格描述模型元素實例需要附加的相關規格說明來添加模型元素的特性,實現的方法是在某個模型元素上雙擊,然后在彈出的關于該元素的規格說明窗口對話框,在這個窗口內顯示了該元素的所有特性。2.5.2UML的修飾在UML的圖形表示中,每一個模型元素都有一個基本符號,這個基本符號可視化地表達了模型元素最重要的信息。用戶也可把各種修飾細節加到這個符號上以擴展其含義。例如,在用例圖中可以使用如圖2-13所示的圓來表達業務實體,該表示方法相對于參與者的表示發生了顏色和圖形的明顯變化。還有一種“注解”修飾符,是一種非常重要的并且能夠單獨存在的修飾符,可以將它附在模型元素或元素集上用來表示約束或注解信息。如圖2-24所示。2.5.3UML的通用劃分通用劃分是一種保證不同抽象概念層次的機制。一般采用兩種方式進行通用劃分:(1)對類和對象的劃分是指類是一個抽象而對象是這種抽象的一個實例化(2)對接口和實現的分離是指接口聲明了一個操作接口,但卻不實現其內容,而實現則表示對該操作接口的具體實現,它負責如實地實現接口地完整語義。2.5.4UML的擴展機制
為了在細節方面對模型進行準確的表達,UML設計了一種簡單的、通用的擴展機制,用戶可以使用擴展機制對UML進行擴展和調整,以便使其與一個特定的方法、組織或用戶相一致。
U
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦山開采對水資源利用與保護考核試卷
- 通信設備零售企業社會責任實踐考核試卷
- 運動防護用具的校園體育安全考核試卷
- 行政決策中公眾意見收集與分析方法試題及答案
- 網絡設備選型與配置試題及答案
- 軟件開發敏捷實踐考核試卷
- 政組織理論經典案例分析試題及答案
- 海洋油氣開發工程建筑可持續發展戰略考核試卷
- 嵌入式系統技術更新試題及答案
- 嵌入式編程語言的選擇與比較試題及答案
- T/CATCM 032-2024中藥配方顆粒臨床使用指南
- 兒童健康管理中心運營方案
- 浙江省寧波市鎮海中學2025屆高三下學期5月模擬語文試題(含答案)
- 2025年廣東省汕尾市九年級數學中考二模試卷(含部分答案)
- 【滬科版】七年級數學下冊第六章單元測試卷(一)含答案與解析
- 2025年(第一季度)電網工程設備材料信息參考價(加密)
- 廣東省廣州市2025屆高三二模數學試卷(原卷版)
- 濟南幼兒師范高等專科學校招聘筆試真題2024
- 2025全國保密教育線上培訓考試試題庫及答案
- 生產經營單位事故隱患內部報告獎勵制度
- 供電公司新聞宣傳工作培訓
評論
0/150
提交評論