-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調(diào)優(yōu)實踐之路
-
>
第一行代碼Android
-
>
深度學習
-
>
Unreal Engine 4藍圖完全學習教程
-
>
深入理解計算機系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應用從入門到精通-(附贈1DVD.含語音視頻教學+辦公模板+PDF電子書)
全國高等院校應用型創(chuàng)新規(guī)劃教材·計算機系列UML基礎與建模實用教程 版權信息
- ISBN:9787302511229
- 條形碼:9787302511229 ; 978-7-302-51122-9
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
全國高等院校應用型創(chuàng)新規(guī)劃教材·計算機系列UML基礎與建模實用教程 本書特色
《UML基礎與建模實用教程》以網(wǎng)上書店系統(tǒng)建模、氣象監(jiān)測系統(tǒng)建模兩個大型系統(tǒng)建模為樣板,詳細演示了系統(tǒng)的領域建模、用例建模和動態(tài)建模的全過程,為讀者講解了建模的每個環(huán)節(jié)中用到的建模原則、建模步驟和建模經(jīng)驗!禪ML基礎與建模實用教程》配備電子課件和電子教案、教學大綱、實驗指導書和習題答案等教學資源。
全國高等院校應用型創(chuàng)新規(guī)劃教材·計算機系列UML基礎與建模實用教程 內(nèi)容簡介
《UML基礎與建模實用教程》是一本關于UML語言基礎和建模方法的實踐教程,以真實系統(tǒng)的需求、分析、設計為語境,詳細介紹了UML語言的體系結構、UML符號的語義、語法規(guī)則、公共機制、表示方法及UML建模方法。同時,《UML基礎與建模實用教程》以網(wǎng)上書店系統(tǒng)建模、氣象監(jiān)測系統(tǒng)建模兩個大型系統(tǒng)建模為樣板,詳細演示了系統(tǒng)的領域建模、用例建模和動態(tài)建模的全過程,為讀者講解了建模的每個環(huán)節(jié)中用到的建模原則、建模步驟和建模經(jīng)驗。 《UML基礎與建模實用教程》理論與建模實訓緊密結合,通過學習能夠真正掌握建模技術。《UML基礎與建模實用教程》適合作為高等院校計算機專業(yè)及其他相關專業(yè)的教材,也可以作為培訓機構計算機相關專業(yè)的培訓教材。
全國高等院校應用型創(chuàng)新規(guī)劃教材·計算機系列UML基礎與建模實用教程 目錄
全國高等院校應用型創(chuàng)新規(guī)劃教材·計算機系列UML基礎與建模實用教程 節(jié)選
第2章 UML語言體系 本章要點 1. UML語言組成、事物、關系、圖! 2. 采用5種視圖對系統(tǒng)體系結構建模! W習目標 1. 了解UML語言體系的組成和結構! 2. 理解系統(tǒng)體系結構建模的重要性! 2.1 UML語言組成 UML語言是一種繪制軟件藍圖的設計語言。正如中文語言是由詞、語法規(guī)則組成的一樣,UML語言由構造塊(相當于詞)、規(guī)則(相當于語法規(guī)則)和公共機制3個部分構成。其結構如圖2-1所示! D2-1 UML語言的組成 1.構造塊 UML構造塊又細分為3種:事物、關系和圖! (1) 事物:代表系統(tǒng)中的簡單實體(如學生、老師、教師等)! (2) 關系:代表實體間的聯(lián)系(如同學關系、同事關系等)! (3) 圖:由多個邊將多個頂點連接在一起構成的事物。這里的頂點指事物,邊是指關系(如五邊形圖形由5個頂點和5條邊組成)。如圖2-2所示為構造塊的3種類型! D2-2 構造塊的3種類型 2.規(guī)則 規(guī)則是指每個構造塊必須遵守的語法和表示法。比如,每個構造塊必須有名稱、范圍、可見性、完整性和可執(zhí)行等屬性。構造塊應該遵守的規(guī)則如圖2-3所示。 圖2-3 構造塊應遵守的規(guī)則 (1) 名稱:指每個構造塊代表的事物應該有一個名字! (2) 范圍:每個構造塊代表的事物的作用范圍! (3) 可見性:所有的構造塊一定存在于某個包中,因此構造塊必然存在訪問權限或者級別。正如Java語言中的類、接口都存在可見性一樣,UML中的構造塊也存在可見性,即訪問級別! (4) 完整性:同一構造塊代表的事物在不同模型中的語義必須是一致的! (5) 可執(zhí)行:構造塊代表的事物在分析、設計、編碼階段都在演化,但是它代表的事物在整個演化過程中必須是合理、有效的。比如,分析階段的類Dog,當演化到代碼中的Dog時,這個Dog必須是合理、有效的! 3.公共機制 公共機制是指每個事物必須遵守的通用規(guī)則。可以將公共機制進一步細分為詳述、修飾、通用劃分及擴展機制。公共機制的組成如圖2-4所示! D2-4 公共機制的組成 下面幾節(jié)分別對事物、關系、圖的概念、表示法進行詳細介紹! 2.2 構造塊:事物 事物是UML語言中*基本的構造塊。根據(jù)構造塊的性質(zhì),可將其劃分為4類:結構事物、行為事物、分組事物和注釋事物! 2.2.1 結構事物 結構事物是UML語言中的名詞,通常用來描述系統(tǒng)中的概念或者物理實體,是模型的靜態(tài)部分。結構事物進一步細分為7種,分別是類(及其對象)、接口、用例、協(xié)作、構件、結點和制品。下面分別介紹7種結構事物的概念和表示法! 1.類和對象 類是對具有相同屬性、相同操作及相同關系的一組對象的共同特征的抽象,即類是對一組對象共同特征的描述。類是對象的模板,而對象是類的一個實例。 1) 類的表示 在UML中,類用一個長方形框表示。圖中把一般長方形框分為3欄,第1欄列出類名,第2欄列出類的屬性,第3欄列出類的操作。類名不能省略,屬性和操作可以不用列出! D2-5是Flight類(航線)的UML表示法。第1欄列出類名Flight;第2欄列出類的3個屬性,分別是flightNumber、departureTime和flightDuration;第3欄列出類的兩個操作,分別是delayFlight()和getArrivalTime()! D2-5 Flight類的UML符號 2) 對象的表示 對象也用一個長方形框來表示,只是用“對象名:類名”的格式表示一個對象,并且對象名和類名下面必須帶下畫線。表示對象時,第2欄和第3欄可以省去。例如,圖2-6所示為對象“李世民”的UML表示法! D2-6 對象“李世民”的UML符號 3) 主動類及其表示 一個對象可以是主動的也可以是被動的。主動對象可以改變自身狀態(tài),被動對象只有在接收到消息后才會改變自身的狀態(tài)。例如,定時器和時鐘就是主動對象,它們可以在沒有外部事件觸發(fā)的情況下改變它們自身狀態(tài)。銀行賬戶就是被動對象,銀行賬戶的屬性不會發(fā)生變化,除非銀行賬戶接收到一條設置余額(一種用于更新賬戶余額的操作)的消息,賬戶才改變狀態(tài)! ∮弥鲃宇悇(chuàng)建的對象就是主動對象。主動類的表示與一般類相似,只是矩形框用粗線表示而已,如主動類(時鐘)的表示方法如圖2-7所示! 2.接口 因為訪問類、對象或構件是通過其方法來實現(xiàn)的,因此把類、對象、構件的方法集合稱為接口。接口向外界聲明了類(或構件)能提供的服務。 接口分為供給接口和需求接口兩種,供給接口只能向其他類(或構件)提供服務,需求接口(本質(zhì)上不存在需求接口,它只是一種形式)表示類(或構件)需要用到接口中聲明的服務,這些服務由其他類(或構件)提供。比如,一個不會講英語的人,需要“中英文翻譯”接口,在形式上,就把“中英文翻譯”這個由其他構件(中英文翻譯機)提供的服務作為人的需求接口。本質(zhì)上,人是沒有“中英文翻譯”接口的,它只是說明人需要能提供“中英文翻譯”的構件! ∩鲜鰞煞N接口的表示方法如圖2-8所示! D2-7 表示主動類(時鐘)的符號 圖2-8 表示接口的UML符號 3.用例 把為實現(xiàn)某個目標而執(zhí)行的一系列有序操作的集合稱為場景。例如,客戶小劉在柜員機上取款500元的一系列操作構成一個場景;客戶小王在柜員機上取款300元的一系列操作也是一個場景。無論多少個客戶,他們在柜員機上取款的一系列操作是相似的,即所有客戶取款的場景是相似的,只是取款時,輸入的密碼、取款金額不同! ∮美(用例定義,參考第13章)是對一組相似場景的共同操作的抽象。例如,可以用一個動作序列來描述所有取款客戶的相同操作。因此,用例的每一次的具體執(zhí)行就是一個場景,即場景是用例的一個實例,是用例的一次具體執(zhí)行;用例是對所有相似場景的抽象和描述。用例與場景的關系正如類與對象的關系! ≡赨ML中,用例是用一個實線橢圓形來表示的,在橢圓中寫上用例名稱,如用例“取款”的表示方法如圖2-9所示! 4.協(xié)作 在系統(tǒng)中,把一組對象之間相互發(fā)送消息和接收消息的現(xiàn)象稱為交互。把一組對象為了完成某個任務執(zhí)行的交互現(xiàn)象稱為協(xié)作! ∮美囊淮尉唧w執(zhí)行就是一個場景。在場景中,多個對象之間的相互協(xié)作實現(xiàn)了場景,即實現(xiàn)了用例描述的功能。本質(zhì)上說,協(xié)作就是用例的實現(xiàn)! f(xié)作用一個帶兩個分欄的虛線橢圓形來表示。例如,協(xié)作“銷售”的表示方法如圖2-10所示! D2-10 協(xié)作“銷售”的表示 圖2-10表示協(xié)作“銷售”由6個對象相互合作完成銷售功能,其主要語義如下! (1) 生產(chǎn)商生產(chǎn)出產(chǎn)品并以低價售給批發(fā)商和零售商,從中獲得了利潤! (2) 批發(fā)商以比生產(chǎn)商較高的價格出售給銷售商或中介,零售商在自己的商店得到 更高利潤! (3) 顧客以較高的價格買到自己想要的商品! 5.構件 構件也稱組件,它是指系統(tǒng)設計中的一個相對獨立的軟件部件,它把功能實現(xiàn)部分隱藏在內(nèi)部,對外聲明了一組接口(包括供給接口和需求接口)。因此,兩個具有相同接口的構件可以相互替換。 構件是比“對象”更大的軟件部件,如一個COM組件、一個DLL文件、一個JavaBeans及一個執(zhí)行文件都可以是構件。構件通常采用帶有兩個小方框的矩形表示,將構件的名字寫在方框中,如圖2-11所示。 6.結點 結點是指硬件系統(tǒng)中的物理部件,通常具有存儲空間或處理能力,如PC、打印機、服務器、顯示器等都是結點。在UML中,用一個立方體表示一個結點。例如,結點“顯示器”的表示方法如圖2-12所示! 7.制品 制品是系統(tǒng)中可以替換的物理部件,包括物理信息(比特流)。制品通常代表對源碼信息或者運行時信息的物理打包。一般將制品表示為一個矩形,在制品名稱的上方寫上關鍵字《artifact》! D2-11 表示構件的UML符號 圖2-12 結點“顯示器”的UML符號 2.2.2 行為事物 行為事物描述了事物的動態(tài)特征,即描述事物之間的交互、交互引起的事物狀態(tài)變化以及交互引起的活動執(zhí)行軌跡。行為事物分3種:交互、狀態(tài)、活動! 1.交互 交互用來表示對象之間的相互作用,即發(fā)送和接收消息的現(xiàn)象! ∫话阌靡粭l有向直線來表示對象間的交互,并在有向直線上方標注消息名稱即可,如圖2-13所示! 2.狀態(tài) 事物處于某個特定屬性值時的現(xiàn)象稱為狀態(tài)(如某人年齡處在0~12歲時,認為是處于少年狀態(tài))。 在UML中,狀態(tài)用一個圓角矩形表示,狀態(tài)名稱寫在圓角矩形框中。例如,手機處在“正在通話”狀態(tài)的表示方法如圖2-14所示! D2-13 表示交互的UML符號 圖2-14 表示“正在通話”狀態(tài)的UML符號 3.活動 活動描述了事物執(zhí)行的一系列步驟,它關注的是活動執(zhí)行的流程。在第8章將詳細講解活動圖! 〗换娬{(diào)一組對象之間的接收和發(fā)送消息的現(xiàn)象;狀態(tài)強調(diào)的是在一個時間段內(nèi)對象的生命周期;活動注重的是步驟之間的活動流程,并不關心哪個對象執(zhí)行了哪個步驟! 2.2.3 分組事物 分組事物是UML語言提供的分割機制,它將系統(tǒng)中的事物分成多個部分進行管理。就像中文語言里,通過段標記把一篇文章分成多個段落一樣。在開發(fā)大型軟件系統(tǒng)時,通常會包含大量的類、接口及用例,為了能有效地對這些類、接口和用例進行分類和管理,就需要對其進行分組。在UML中可通過“包(Package)”來實現(xiàn)這一目標,即通過包對事物進行分組! ”硎尽鞍(Package)”的圖形符號與Windows中表示文件夾的圖形很相似,包的作用與文件夾的作用也很相似。例如,Java語言中的java.awt包,用UML符號表示則如圖2-15所示。 2.2.4 注釋事物 注釋就是對其他事物進行解釋、說明。一般用文字進行注釋。注釋符號用一個右上角折起來的矩形表示,解釋的文字就寫在矩形框中,如圖2-16所示! 2.3 構造塊:關系 2.2節(jié)中介紹了代表事物的構造塊,本節(jié)將介紹代表事物之間關系的符號。在UML中共定義了24種關系,相應的有24種關系符號,如表2-1所示! ”2-1 UML中的關系及其符號 關系 關系 細化 UML中的關系 UML符號 關系 關系 細化 UML中的關系 UML符號 抽象 派生 依賴關系 《derive》 導入 私有 依賴關系 《access》 顯現(xiàn) 《manifest》 公有 《import》 實現(xiàn) 實現(xiàn)關系 虛線加空心三角形 信息流 《flow》 精化 依賴關系 《refine》 包含并 《merge》 跟蹤 《trace》 許可 《permit》 關聯(lián) 關聯(lián)關系 實線 協(xié)議符合 未指定 綁定 依賴關系 《bind》 (參數(shù)表) 替換 依賴關系 《substitu-te》 部署 《deploy》 使用 調(diào)用 《call》 擴展 Extend 《extend》 (擴展點) 創(chuàng)建 《create》 擴展 extension 擴展關系 實線加實心三角形 實例化 《instanti-ate》 泛化 泛化關系 實線加空間三角形 職責 《responsi-bility》 包含 依賴關系 《include》 發(fā)送 《send》 上述有24種關系,在UML中,可以歸納為關聯(lián)關系、泛化關系、實現(xiàn)關系、依賴關系和擴展關系5種,下面介紹這些關系的表示方法。 1.關聯(lián)關系 只要兩個類之間存在聯(lián)系,就認為這兩個類之間存在關聯(lián)關系。關聯(lián)是人們賦予事物之間的聯(lián)系。實現(xiàn)關系、泛化關系和依賴關系統(tǒng)稱為關聯(lián)關系,只是這些關系內(nèi)涵更豐富,更明確,更具體。關聯(lián)關系是對關系的*高層次的抽象,在所有關系中,關聯(lián)的語義*弱! ≡陉P聯(lián)關系中有兩種比較特殊的關系,它們是聚合關系和組合關系。聚合關系和組合關系能通過Java語言實現(xiàn),關聯(lián)關系不能通過Java語言實現(xiàn),所以,在設計階段,我們必須把分析階段的關聯(lián)關系細化為更具體的關系,如細化為聚合關系、組合關系或者依賴關系等。 1) 關聯(lián)關系的表示 關聯(lián)關系是比較抽象的關系,它包含的語義較少;聚合關系和組合關系是更具體的關聯(lián)關系,它包含的語義更具體,內(nèi)涵更豐富。在UML中,使用一條實線來表示關聯(lián)關系,如圖2-17所示! D2-17 表示關聯(lián)關系的UML符號 2) 聚合關系 聚合(Aggregation)是整體與部分的關系,是一種特殊形式的關聯(lián)。聚合關系是一種松散的對象間關系——計算機與它的外圍設備就是聚合關系。一臺計算機(整體)和它的外設(部分)之間松散地結合在一起,這些外設可以與其他計算機共享,即部分可以離開整體而存在! 【酆系谋硎痉椒ㄈ鐖D2-18(a)所示。其中菱形端表示事物的整體,另一端表示事物的部分。例如,計算機就是整體,外設就是部分!
- >
我與地壇
- >
上帝之肋:男人的真實旅程
- >
李白與唐代文化
- >
龍榆生:詞曲概論/大家小書
- >
自卑與超越
- >
中國人在烏蘇里邊疆區(qū):歷史與人類學概述
- >
唐代進士錄
- >
伊索寓言-世界文學名著典藏-全譯本