




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、UML建模語言第六講UML建模語言目錄6.1 UML概述6.2 通用模型元素6.3 用例建模6.4靜態(tài)建模UML建模語言概 述 軟件工程領域在1995年至1997年取得了前所未有的進展,其成果超過軟件工程領域過去15年來的成就總和。其中最重要的、具有劃時代重大意義的成果之一就是統(tǒng)一建模語言 UML ( Unified Modeling Language)的出現(xiàn)。在世界范圍內(nèi),至少在近10年內(nèi),UML將是面向?qū)ο蠹夹g領域內(nèi)占主導地位的標準建模語言。 概 述 6.1 UML概述6.1 UML概述 UML(Unified Modeling Language)是軟件界第一個統(tǒng)一的建模語言,該方法結合了
2、Booch, OMT, 和OOSE方法的優(yōu)點,統(tǒng)一了符號體系,并從其它的方法和工程實踐中吸收了許多經(jīng)過實際檢驗的概念和技術。 它是一種標準的表示,已成為國際軟件界廣泛承認的標準。它是第三代面向?qū)ο蟮拈_發(fā)方法,是一種基于面向?qū)ο蟮目梢暬耐ㄓ?General)建模語言。為不同領域的用戶提供了統(tǒng)一的交流標準 UML圖。 UML應用領域很廣泛,可用于軟件開發(fā)建模的各個階段,商業(yè)建模(Business Modeling), 也可用于其它類型的系統(tǒng)。 什么是模型?為什么要建模?什么是模型? 模型是一個系統(tǒng)的完整的抽象。人們對某個領域特定問題的求解及解決方案,對它們的理解和認識都蘊涵在模型中。 通常,開發(fā)
3、一個計算機系統(tǒng)是為了解決某個領域特定問題,問題的求解過程,就是從領域問題到計算機系統(tǒng)的映射。領域問題概念模型分析、抽取系統(tǒng)需求解決方案分析、設計提取 UML作為一種可視化的建模語言,提供了豐富的基于面向?qū)ο蟾拍畹哪P驮丶捌鋱D形表示元素。6.1.1 UML的形成九十年代中,面向?qū)ο蠓椒ㄒ呀?jīng)成為軟件分析和設計方法的主流。1994年10月Jim Rumbaugh和Grady Booch共同合作把他們的OMT和Booch方法統(tǒng)一起來,到1995年成為“統(tǒng)一方法”(Unified Method)版本0.8。隨后,Ivar Jacobson加入,并采用他的用例(User case)思想,到1996年,成
4、為“統(tǒng)一建模語言”版本0.9。1997年1月,UML版本1.0被提交給OMG組織,作為軟件建模語言標準的候選。其后的半年多時間里,一些重要的軟件開發(fā)商和系統(tǒng)集成商都成為“UML伙伴”,如IBM,Mircrosoft,HP等.1997年11月7日被正式采納作為業(yè)界標準。6.1.1 UML的形成UML 2.0UML 1.2UML 1.1UML1.0UML 0.9Unified Method0.8UML 1.3UML 1.41995文檔版類1996精華相關1997年1月最初提交給 OMG1997年9月最后提交給OMG19981999 2000年(計劃的較小修訂) 2001年計劃的重要修訂文字上的修改
5、沒有顯著的技術變化圖6.16.1.1 UML的形成6.1.2 UML的主要內(nèi)容 UML的定義包括UML語義和UML表示法兩個部分。(1) UML語義 描述基于UML的精確元模型(meta-model)定義。元模型為UML的所有元素在語法和語義上提供了簡單、一致、通用的定義性說明,使開發(fā)者能在語義上取得一致,消除了因人而異的表達方法所造成的影響。此外UML還支持對元模型的擴展定義。 UML支持各種類型的語義。如布爾、表達式、列表、階、名字、坐標、這字符串和時間等,還允許用戶自定義類型。(2) UML表示法定義UML符號的表示法,為開發(fā)者或開發(fā)工具使用這些圖形符號和文本語法為系統(tǒng)建模提供了標準.。
6、這些圖形符號和文字所表達的是應用級的模型,在語義上它是UML元模型的實例。 6.1.2 UML的主要內(nèi)容6.1.2 UML的主要構成UML是一種標準化的圖形建模語言,它是面向?qū)ο蠓治雠c設計的一種標準表示。由: 視圖(views), 圖(Diagrams), 模型元素(Model elements) 通用機制(general mechanism)等幾個部分構成。UML的主要構成UML的主要內(nèi)容 一個系統(tǒng)應從不同的角度進行描述,從一個角度觀察到的系統(tǒng)稱為一個視圖(view)。 視圖由多個圖(Diagrams)構成,它不是一個圖表(Graph),而是在某一個抽象層上,對系統(tǒng)的抽象表示。 如果要為系統(tǒng)
7、建立一個完整的模型圖,需定義一定數(shù)量的視圖,每個視圖表示系統(tǒng)的一個特殊的方面。另外,視圖還把建模語言和系統(tǒng)開發(fā)時選擇的方法或過程連接起來。6.1.2 UML的主要內(nèi)容視圖(views)設計視圖實現(xiàn)視圖配置視圖過程視圖Use case視圖Use case View描述系統(tǒng)的外部特性、系統(tǒng)功能等。Implementation View 表示系統(tǒng)的實現(xiàn)特征,常用構件圖表示。Design View 描述系統(tǒng)設計特征,包括結構模型視圖和行為模型視圖,前者描述系統(tǒng)的靜態(tài)結構(類圖、對象圖),后者描述系統(tǒng)的動態(tài)行為(交互圖、狀態(tài)圖、活動圖)。Process View 表示系統(tǒng)內(nèi)部的控制機制。常用類圖描述過程
8、結構,用交互圖描述過程行為。Deployment View 配置視圖描述系統(tǒng)的物理配置特征。用配置圖表示。6.1.2 UML的主要內(nèi)容UML常用視圖UML語言定義了五種類型,9種不同的圖,把它們有機的結合起來就可以描述系統(tǒng)的所有視圖。用例圖(Use case diagram) 從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。靜態(tài)圖(Static diagram),表示系統(tǒng)的靜態(tài)結構。包括類圖、對象圖、包圖。行為圖(Behavior diagram),描述系統(tǒng)的動態(tài)模型和組成對象間的交互關系。包括狀態(tài)圖、活動圖。 交互圖(Interactive diagram), 描述對象間的交互關系。包括順序圖
9、、合作圖。 實現(xiàn)圖( Implementation diagram ) 用于描述系統(tǒng)的物理實現(xiàn)。包括構件圖或部件圖。 6.1.2 UML的主要內(nèi)容圖(Diagrams)圖代表面向?qū)ο笾械念悾瑢ο?,關系和消息等概念,是構成圖的最基本的常用的元素。一個模型元素可以用在多個不同的圖中,無論怎樣使用,它總是具有相同的含義和相同的符號表示。通用機制(general mechanism) 用于表示其他信息,比如注釋,模型元素的語義等。另外,為了適應用戶的需求,它還提供了擴展機制(Extensibility mechanisms) ,包括構造型(Stereotype)、標記值(Tagged value)和約
10、束(Constraint).使用UML語言能夠適應一個特殊的方法(或過程),或擴充至一個組織或用戶。6.1.2 UML的主要內(nèi)容模型元素(Model elements) UML在演變過程中還提出了一些新的概念。在UML標準中新加了模板(Stereotypes)、職責(Responsibilities)、擴展機制(Extensibility mechanisms)、線程(Threads)、過程(Processes)、分布式(Distribution)、并發(fā)(Concurrency)、模式(Patterns) 、合作(Collaborations)、活動圖(Activity diagram)等新概
11、念,并清晰地區(qū)分類型(Type)、類(Class)和實例(Instance)、細化(Refinement)、接口(Interfaces)和組件(Components)等概念。6.1.2 UML的主要內(nèi)容 (1) 統(tǒng)一標準UML統(tǒng)一了Booch、OMT和OOSE等方法中的基本概念,已成為OMG的正式標準,提供了標準的面向?qū)ο蟮哪P驮氐亩x和表示。(2) 面向?qū)ο骍ML還吸取了面向?qū)ο蠹夹g領域中其他流派的長處。UML符號表示考慮了各種方法的圖形表示,刪掉了大量易引起混亂的、多余的和極少使用的符號,也添加了一些新符號。 (3) 可視化、表示能力強系統(tǒng)的邏輯模型或?qū)崿F(xiàn)模型都能用UML模型清晰的表示,
12、可用于復雜軟件系統(tǒng)的建模。(4) 獨立于過程UML是系統(tǒng)建模語言,獨立于開發(fā)過程。 (5) 易掌握、易用由于UML的概念明確,建模表示法簡潔明了,圖形結構清晰,易于掌握使用。6.1.3 UML的特點6.1.3 UML的特點6.2 通用模型元素6.2 通用模型元素 模型元素是UML構造系統(tǒng)的各種元素,是UML構建模型的基本單位。模型元素代表面向?qū)ο笾械念?,對象,關系和消息等概念,是構成圖的最基本的常用的概念。分為以下兩類:1、基元素 是已由UML定義的模型元素。如:類、結點、構件、注釋、關聯(lián)、依賴和泛化等。2、構造型元素 在基元素的基礎上構造的新的模型元素,是由基元素增加了新的定義而構成的,如擴
13、展基元素的語義(不能擴展語法結構),也允許用戶自定義。構造型用括在雙尖括號中的字符串表示。 目前UML提供了40多個預定義的構造型元素。如使用Use、擴展 Extend 。6.2.1 模型元素6.2.1 模型元素圖6.2 可以在圖中使用的概念統(tǒng)稱為模型元素。模型元素在圖中用其相應的視圖元素(符號)表示,圖6.2給出了常用的元素符號:類、對象、結點、包和組件等。屬性用例包結點狀態(tài) 組件類操作對象屬性操作接口注釋 模型元素 關聯(lián):連接(connect)模型元素及鏈接(link)實例。 依賴:表示一個元素以某種方式依賴于另一種元素。 泛化:表示一般與特殊的關系,即“一般”元素是“特殊”關系的泛化。
14、聚合:表示整體與部分的關系。除了上述的模型元素外,模型元素還包括消息,動作和版類(stereotype)等。圖6.33.2.1 模型元素關聯(lián)聚合組合依賴細化泛化(繼承) 模型元素與模型元素之間的連接關系也是模型元素,常見的關系有關聯(lián)(association)、泛化(generalization)、依賴(dependency)和聚合(aggregation),其中聚合是關聯(lián)的一種特殊形式。這些關系的圖示符號如圖6.3所示。6.2.2 關聯(lián)和鏈關聯(lián)(association)是兩個或多個類之間的一個關系。鏈(link)是關聯(lián)的具體體現(xiàn)。6.2.2 關聯(lián)和鏈 關聯(lián)的表示如圖3.(a)(b)所示,關聯(lián)有
15、二元關聯(lián)(binary)、三元關聯(lián)(ternary)、多元關聯(lián)(higher order)。圖6.(a) 二元關聯(lián)人員公司雇用二元關聯(lián)的例(人員)張濤(公司)通大雇用鏈的例子(b)三元關聯(lián)項目語言人三元關聯(lián)的例(項目)CAD系統(tǒng)(語言) C +(人)李波鏈的例子 3.2.3 關聯(lián)的表示關聯(lián)的重數(shù)重數(shù)(multiplicity)表示多少個對象與對方對象相連接(圖6.5),常用的重數(shù)符號有: “0.1” 表示零或1 “0.*”或“*” 表示零或多個 “1.*” 表示1或多個 “1,3,7” 表示1或3或7(枚舉型)重數(shù)的默認值為1。6.2.3 關聯(lián)的表示PersonHobby1*Committee
16、PersonYear0.21.43.5Post圖6.5 帶有多重性關聯(lián) 有序關聯(lián)與導航(導引) 在關聯(lián)的多端標注ordered指明這些對象是有序的(圖6.6 )。 關聯(lián)可以用箭頭,表示該關聯(lián)使用的方向(單向或雙向),稱為導引或?qū)Ш?navigation)。(a)指定鏈接之間 有明確的順序0.*1.*ordered保險合同個人PolygonPoint14.* ordered圖6.6(b)單向關聯(lián) 受限關聯(lián)(qualified association) 使用限定詞對該關聯(lián)的另一端的對象進行明確的標識和鑒別(圖6.5)。限定詞類1類2圖6.5 受限關聯(lián)6.3.1 關聯(lián)的表示5關聯(lián)的表示6.3 用例建
17、模 1992年由Jacobson提出了Use case 的概念及可視化的表示方法Use case圖,受到了IT界的歡迎,被廣泛應用到了面向?qū)ο蟮南到y(tǒng)分析中。用例驅(qū)動的系統(tǒng)分析與設計方法已成為面向?qū)ο蟮南到y(tǒng)分析與設計方法的主流。 用例模型由Jacobson在開發(fā)AXE系統(tǒng)中首先使用,并加入由他所倡導的OOSE和Objectory方法中。用例方法引起了面向?qū)ο箢I域的極大關注。自1994年Ivar Jacobson的著作出版后,面向?qū)ο箢I域已廣泛接納了用例這一概念,并認為它是第二代面向?qū)ο蠹夹g的標志。6.3 用例建模 用例建模技術,用于描述系統(tǒng)的功能需求。在宏觀上給出模型的總體輪廓。通過對典型用例的
18、分析,使開發(fā)者能夠有效地了解用戶的需求。6.3.1 用例建模概述6.3.1 用例建模概述貿(mào)易經(jīng)理風險分析設置邊界進行交易交易估價更新帳目使用使用擴展營銷人員超越邊界評價記帳系統(tǒng)銷售人員圖3.143.3.2 用例模型(Use case model) 用例模型描述的是外部執(zhí)行者(Actor)所理解的系統(tǒng)功能。 它描述了待開發(fā)系統(tǒng)的功能需求。 它驅(qū)動了需求分析之后各階段的開發(fā)工作,不僅在開發(fā)過程中保證了系統(tǒng)所有功能的實現(xiàn),而且被用于驗證和檢測所開發(fā)的系統(tǒng),從而影響到開發(fā)工作的各個階段和 UML 的各個模型。 用例模型由若干個用例圖構成,用例圖中主要描述執(zhí)行者和用例之間的關系。在UML中,構成用例圖的
19、主要元素是用例和執(zhí)行者及其它們之間的聯(lián)系。3.3.2 用例模型創(chuàng)建用例模型的工作包括: 定義系統(tǒng)、確定執(zhí)行者和用例、描述用例、定義用例間的關系、確認模型。一、執(zhí)行者(Actor)執(zhí)行者是指用戶在系統(tǒng)中所扮演的角色。執(zhí)行者在用例圖中是用類似人的圖形來表示, 但執(zhí)行者可以是人,也可以是一個外界系統(tǒng)。注意:用例總是由執(zhí)行者啟動的。如何確定執(zhí)行者:1、誰使用系統(tǒng)的主要功能(主執(zhí)行者)?2、誰需要從系統(tǒng)獲得對日常工作的支持和服務?3、需要誰維護管理系統(tǒng)的日常運行(副執(zhí)行者)?4、系統(tǒng)需要控制哪些硬件設備?5、系統(tǒng)需要與其它哪些系統(tǒng)交互?6、誰需要使用系統(tǒng)產(chǎn)生的結果(值)?一、執(zhí)行者6.3.2 用例模型供
20、貨買飲料取貨款客戶供貨人收銀員圖6.15自動售貨系統(tǒng)回例1二、 用例二、用例(use case) 從本質(zhì)上講,一個用例是用戶與計算機之間的一次典型交互作用。在UML中,用例被定義成系統(tǒng)執(zhí)行的一系列動作(功能)。用例有以下特點:用例捕獲某些用戶可見的需求,實現(xiàn)一個具體的用戶目標。用例由執(zhí)行者激活,并將結果值反饋給執(zhí)行者。用例必須具有功能上的完整描述。如何確定用例:1、與系統(tǒng)實現(xiàn)有關的主要問題是什么?2、系統(tǒng)需要哪些輸入/輸出?這些輸入/輸出從何而來?到哪里去?3、執(zhí)行者需要系統(tǒng)提供哪些功能?4、執(zhí)行者是否需要對系統(tǒng)中的信息進行讀、創(chuàng)建、修改、刪除或存儲?二、用例6.3.2 用例模型回例16.3.
21、3用例圖圖6.16 用例圖的元素6.3.3用例圖用例圖描述了系統(tǒng)的功能需求,它是從執(zhí)行者的角度來理解系統(tǒng),由“執(zhí)行者”、“用例”和“用例之間的關系”3類模型元素構成。圖中還有另外兩種類型的連接,即使用和擴展關系,是兩種不同形式的泛化關系。 用例2用例A用例執(zhí)行者用例1用例3用例B使用使用擴展(a)(b)(c)Use表示一個用例使用另一個用例。Extend通過向被擴展的用例添加動作來擴展用例。用例圖實例用例圖實例圖6.18 應用生命周期用例圖圖6.17 金融貿(mào)易系統(tǒng)貿(mào)易經(jīng)理風險分析設置邊界進行交易交易估價更新帳目使用使用擴展營銷人員超越邊界評價記帳系統(tǒng)銷售人員6.3.4 用例圖實例應用設計者應用
22、提供者 改變 應用運行應用 實現(xiàn) 應用 應用操作者設計應用6.3.4 用例圖實例例1 建立項目與資源管理系統(tǒng)的Use case圖 系統(tǒng)的主要功能是:項目管理,資源管理和系統(tǒng)管理。項目管理包括項目的增加、刪除、更新。資源管理包括對資源和技能的添加、刪除和更新。系統(tǒng)管理包括系統(tǒng)的啟動和關閉,數(shù)據(jù)的存儲和備份等功能。1、分析確定系統(tǒng)的執(zhí)行者(角色)到確定到確定 項目管理員、資源管理員、系統(tǒng)管理員、備份數(shù)據(jù)系統(tǒng)。項目管理,資源管理和系統(tǒng)管理。2、確定用例3、對用例進行分解,畫出下層的Use case圖 對上層的用例進行分解,并將執(zhí)行者分配到各層次的Use case圖中。角色:角色職責:角色職責識別:圖
23、6.19角色描述模板 還應畫出相應的執(zhí)行者描述模板及用例描述模板。例1 項目與資源管理系統(tǒng)(PRMS)添加技能刪除技能更新技能資源管理員添加資源刪除資源更新資源查找技能Use查找資源UseUseUse把技能指定給資源從資源中清除技能ExtendExtend6.21 資源管理Use Case圖 Use Case圖可以自頂而下不斷精化,抽象出不同層次的Use Case圖。6.3.4 用例圖實例系統(tǒng)管理員項目管理員資源管理員資源管理項目管理系統(tǒng)管理備份系統(tǒng)圖6.20 PRMS高層Use Case圖例1 項目與資源管理系統(tǒng)(PRMS)項目管理員添加項目刪除項目更新項目添加活動刪除活動更新活動查找項目U
24、se添加任務Use把技能指定給資源從資源中清除技能ExtendExtend刪除任務更新任務ExtendExtendExtendExtendExtendExtend圖6.22 項目管理Use Case圖6.3.4 用例圖實例系統(tǒng)管理員圖6.23 系統(tǒng)管理Use Case圖添加技能存儲數(shù)據(jù)啟動系統(tǒng)關閉系統(tǒng)查找技能UseUseUse備份資源數(shù)據(jù)備份項目數(shù)據(jù) Extend Extend Use備份數(shù)據(jù)備份系統(tǒng)作 業(yè) 現(xiàn)有一醫(yī)院病房監(jiān)護系統(tǒng),病癥監(jiān)視器安置在每個病房,將病人的病癥信號實時傳送到中央監(jiān)視系統(tǒng)進行分析處理。在中心值班室里,值班護士使用中央監(jiān)視系統(tǒng)對病員的情況進行監(jiān)控,根據(jù)醫(yī)生的要求隨時打印病
25、人的病情報告,定期更新病歷,當病癥出現(xiàn)異常時,系統(tǒng)會立即自動報警, 并實時打印病人的病情報告,立及更新病歷。 要求根據(jù)現(xiàn)場情景,對醫(yī)院病房監(jiān)護系統(tǒng)進行需求分析, 建立系統(tǒng)的Use case model。 請對系統(tǒng)需求進行分析!經(jīng)過初步的需求分析,得到系統(tǒng)功能要求:1、監(jiān)視病員的病癥(血壓、體溫、脈搏等)2、定時更新病歷3、病員出現(xiàn)異常情況時報警。4、隨機地產(chǎn)生某一病員的病情報告。 例2 醫(yī)院病房監(jiān)護系統(tǒng)產(chǎn)生病情報告監(jiān)視病情更新病歷情景教學 二、簡單的需求分析說明 系統(tǒng)名稱:醫(yī)院病房監(jiān)護系統(tǒng) 根據(jù)分析系統(tǒng)主要實現(xiàn)以下功能:1、病癥監(jiān)視器可以將采集到的病癥信號(組合),格式化后實時的傳送到中央監(jiān)護
26、系統(tǒng)。2、中央監(jiān)護系統(tǒng)將病人的病癥信號開解后與標準的病癥信號庫里的病癥信號的正常值進行比較,當病癥出現(xiàn)異常時系統(tǒng)自動報警。3、當病癥信號異常時,系統(tǒng)自動更新病歷并打印病情報告。4、值班護士可以查看病情報告并進行打印。5、醫(yī)生可以查看病情報告,要求打印病情報告,也可以查看或要求打印病歷。6、系統(tǒng)定期自動更新病歷。退出上頁首頁下頁末頁需求分析三、用UML的靜態(tài)建模機制定義并描述系統(tǒng)的靜態(tài)結構 (一)建立系統(tǒng)的用例圖1、通過以下六個問題識別角色(1)誰使用系統(tǒng)的主要功能?(2)誰需要系統(tǒng)的支持以完成日常工作任務?(3)誰負責維護,管理并保持系統(tǒng)正常運行?(4)系統(tǒng)需要應付(或處理)哪些硬設備?(5)
27、系統(tǒng)需要和哪些外部系統(tǒng)交互?(6)誰(或什么)對系統(tǒng)運行產(chǎn)生的結果(值)感興趣?需求分析通過回答這六個問題以后,再進一步分析可以識別出本系統(tǒng)的四個角色:值班護士,醫(yī)生,病人,標準病癥信號庫。角色描述模板角色:病 人角色職責:提供病癥信號角色職責識別:負責生成、實時提供各種病癥信號。角色:值班護士角色職責:負責監(jiān)視病人的病情變化角色職責識別: (1)使用系統(tǒng)主要功能 (2)對系統(tǒng)運行結果感興趣角色:標準病癥信號庫角色職責:負責向系統(tǒng)提供病癥信號的正常值角色職責識別: (1)負責保持系統(tǒng)正常運行 (2)與系統(tǒng)交互角色:醫(yī) 生角色職責:對病人負責,負責處理病情的變化角色職責識別: (1)需要系統(tǒng)支持
28、以完成其日常工作 (2)對系統(tǒng)運行結果感興趣通過分析可以初步識別出系統(tǒng)的用例為:中央監(jiān)護,病癥監(jiān)護,提供標準病癥信號,病歷管理,病情報告管理。頂層用例圖為:角色描述 通過分析可以初步識別出系統(tǒng)的用例為:中央監(jiān)護,病癥監(jiān)護,提供標準病癥信號,病歷管理,病情報告管理。頂層用例圖為:提供標準病癥信號病歷管理病人標準病癥信號庫 醫(yī)生值班護士病癥監(jiān)護病情報告管理中央監(jiān)護使用使用使用角色描述將用例細化,可以得到分解的用例:1、中央監(jiān)護 分解為: a 分解信號 將從病癥監(jiān)護器傳送來的組合病癥信號分解為系統(tǒng)可以處理的信號。 b 比較信號 將病人的病癥信號與標準信號比較 。 c 報警 如果病癥信號發(fā)生異常(即高
29、于峰值),發(fā)出報警信號。 d 數(shù)據(jù)格式化 將處理后的數(shù)據(jù)格式化以便寫入病歷庫 。2、病癥監(jiān)護 分解為:e 信號采集 采集病人的病癥信號。f 模數(shù)轉(zhuǎn)化 將采集來的模擬信號轉(zhuǎn)化為數(shù)字信號。g 信號數(shù)據(jù)組合 將采集到的脈搏,血壓等信號數(shù)據(jù)組合為一組信號數(shù)據(jù)。h 采樣頻率改變 根據(jù)病人的情況改變監(jiān)視器采樣頻率。3、提供標準病癥信號 i(此用例不分解)用例細化4、病歷管理 分解為:j 生成病歷k 查看病歷l 更新病歷 m 打印病歷 5、病情報告 分解為:n 顯示病情報告 在顯示器上顯示病情o 打印病情報告 在打印機打印病情報告用例細化給出細化的用例圖病人模數(shù)轉(zhuǎn)化數(shù)據(jù)格式化值班護士報警信號采集比較信號標準
30、病癥信號庫 醫(yī)生信號數(shù)據(jù)組合采樣頻率改變提供標準病癥信號生成病歷查看病歷更新病歷打印病歷顯示病情報告打印病情報告分解信號 Extend Extend Extend use use use use use use use use細化的用例圖任何建模語言都以靜態(tài)建模機制為基礎,標準建模語言UML也不例外。所謂靜態(tài)建模是指對象之間通過屬性互相聯(lián)系,而這些關系不隨時間而轉(zhuǎn)移。類和對象的建模,是UML建模的基礎。我們認為,熟練掌握基本概念、區(qū)分不同抽象層次以及在實踐中靈活運用,是三條最值得注意的建?;驹瓌t。UML的靜態(tài)建模機制包括: 用例圖(Use case diagram) 類圖(Class dia
31、gram) 對象圖(Object diagram ) 包圖(Package diagram) 構件圖(Component diagram) 配置圖(Deployment diagram)6.4 靜態(tài)建模6.4 靜態(tài)建模6.4.1 對象類與對象6.4.1 對象類與對象 面向?qū)ο蟮拈_發(fā)方法的基本任務是建立對象模型,是軟件系統(tǒng)開發(fā)的基礎。UML中的對象類圖(Class Diagram)與對象圖(Object Diagram)表達了對象模型的靜態(tài)結構,能夠有效地建立專業(yè)領域的計算機系統(tǒng)對象模型。一、類圖與對象圖 對象類簡稱類,是面向?qū)ο竽P偷淖罨镜哪P驮兀妙悎D來描述。類圖(Class diagr
32、am)由系統(tǒng)中使用的類以及它們之間的關系組成,是描述系統(tǒng)的一種圖式,分為長式和短式。類及類型名均用英文大寫字母開頭,屬性及操作名為小寫字母開頭。常見類型有:Char,Boolean,Double,Float, Integer, Object,Short,String等。類圖是構建其它圖的基礎。小汽車注冊號:String日期: Cardata速度: Integer方向: Direction6.4.1 對象類與對象屬性:類型類名操作類名 對象是對象類的實例(instance),用對象圖來描述。對象圖亦分長式和短式。對象名:類名屬性操作對象名圖6.24 類圖與對象圖丁一:作家姓名=丁一年齡=30丁一
33、辦公室中的PC:計算機名稱=Dell 466內(nèi)存=64丁一家里的PC: 計算機名稱=長城PII MMX內(nèi)存=64圖6.25 對象圖(1)屬性(attribute) 屬性用來描述類的特征,表示需要處理的數(shù)據(jù)。 屬性定義: visibility attribute-name : type = initial-value property-string 可見性 屬性名:類型=缺省值約束特性 其中:可見性(visibility)表示該屬性對類外的元素是否可見。分為: public(+) 公有的,即模型中的任何類都可以訪問該屬性。 private(-) 私有的,表示不能被別的類訪問。 protected
34、(#) 受保護的,表示該屬性只能被該類及其子類訪問。 如果可見性未申明,表示其可見性不確定。6.4.1 對象類與對象(2) 操作 對數(shù)據(jù)的具體處理方法的描述則放在操作部分,操作說明了該類能做些什么工作。操作通常稱為函數(shù),它是類的一個組成部分,只能作用于該類的對象上。 操作定義: visibility operating-name(parameter-list): return-type property- string 可見性 操作名(參數(shù)表):返回類型約束特性 其中:可見性同上。 參數(shù)表:參數(shù)名:類型, Parameter-name :type =default-value 返回類型:操作返
35、回的結果類型。6.4.1 對象類與對象類圖的描述6.4.1 對象類與對象二、類的識別 是面向?qū)ο蠓椒ǖ囊粋€難點,但又是建模的關鍵。常用的方法有(P129-P132): 1、名詞識別法 2、系統(tǒng)實體識別法 3、從用例中識別類 4、利用分解與抽象技術關鍵是要定義類的“屬性”及“操作”。6.4.2 UML中類之間的關系 UML中類的關系有關聯(lián)(association) 、聚集(aggregation) 、泛化(generalization) 、 依賴(depending)和細化 (refinement)。一、關聯(lián) 關聯(lián)是類之間的連結,分為:1、常規(guī)關聯(lián)(圖6.26)2、多元關聯(lián)3、有序關聯(lián)4、受限關
36、聯(lián)5、或關聯(lián)(圖6.27)6、關聯(lián)類(圖6.28)公司員工0.* 顧 傭 0.*工作于管理 1.*工人老板0.1圖6.26 顧傭關聯(lián)圖6.27 或關聯(lián)用戶工作站 授權*授權優(yōu)先級特權開始一個時間片圖6.28 關聯(lián)類6.4.2 UML中類之間的關系保險公司保險合同人公司*or6.4.2 UML中類之間的關系7、其它關聯(lián) 遞歸關聯(lián)(Recursive association) 即一個類到自身的關聯(lián)。節(jié)點連接*圖6.29 遞歸關聯(lián) 人治療病人醫(yī)生圖6.30 帶有職責的遞歸關聯(lián) 二、聚集(aggregation) 聚集是一種特殊的關聯(lián),它指出類間的“整體-部分”關系。又分為:1、共享聚集(shared
37、 aggregation) 其“部分”對象可以是任意“整體”對象的一部分。當“整體”端的重數(shù)不是1時,稱聚集是共享的。整體類部分類、組合聚集(composition aggregation) 其“整體”(重數(shù)為0、1)擁有它的“部分” 。部分僅屬于同一對象,整體與部分同時存在。整體類部分類窗口工具框顯示區(qū)標題圖3.31 共享聚集窗口標題工具框顯示區(qū)圖3.32 組合聚集3.4.2 UML中類之間的關系項目人員三、泛化 泛化指出類之間的“一般與特殊關系”,即繼承關系。父類與子類之間構成類的分層結構。一般類特殊人員教師學生6.4.2 UML中類之間的關系抽象類 指沒有實例的類,定義一些抽象的操作,即
38、不提供實現(xiàn)方法的操作,只提供操作的特征。并附以abstract。交疊泛化 在繼承樹中,若存在某種具有公共父類的多重繼承,稱為是交疊(overlapping)的。否則是不交的(disjoint)。完全泛化 一般類特化出它所有的子類,稱為完全泛化,記為complete。 不完全泛化 即未特化出它所有的子類,稱為是不完全泛化 的,表示為incomplete.有關泛化的約束 6.4.2 UML中類之間的關系三、泛化complete人女人男人性別圖3.34 完全泛化交通工具drive()汽車drive()輪船drive()drive()啟動輪子轉(zhuǎn)動drive()啟動螺旋漿Person駕駛drive()是
39、抽象操作圖3.35 泛化中的多態(tài)性及帶識別名稱的泛化propulsionpropulsionoverlapping交通工具圖3.33 重疊泛化汽車船水陸兩棲車繼承性的實例圖6.36 泛化關系圖 形abstract顏 色中心位置筆的粗細移 動()旋 轉(zhuǎn)() 顯 示()abstract2 維abstract定位填充類型縮放填充多邊形邊數(shù)頂點數(shù)顯示園直徑顯示旋轉(zhuǎn)線 端點 顯示0 維abstract點 顯示樣條 控制點 顯示弧半徑起始角弧度角顯示1 維abstract定位縮放維數(shù)6.4.2 UML中類之間的關系五、類圖的抽象層次和細化(Refinement)關系在軟件開發(fā)的不同階段都使用類圖,但這些類
40、圖表示了不同層次的抽象。在需求分析階段,類圖是研究領域的概念;在設計階段,類圖描述類與類之間的接口;在實現(xiàn)階段,類圖描述軟件系統(tǒng)中類的實現(xiàn)。類圖分為三個層次:概念層(Conceptual)類圖描述應用領域中的概念。說明層(Specification)類圖描述軟件的接口部分,而不是軟件的實現(xiàn)部分。只有在實現(xiàn)層(Implementation)才真正有類的概念,并且揭示軟件的實現(xiàn)部分。6.4.2 UML中類之間的關系(二)識別系統(tǒng)的類 通過名詞識別法和系統(tǒng)實體識別法等方法可以識別出系統(tǒng)的十二個類,以下用類圖這種簡單明了的方法分別表示出類的名稱,屬性操作。見下圖: 醫(yī)生 用戶名密碼 查看病情報告()要
41、求打印病情報告()查看病歷()要求打印病歷() 病人 姓名性別年齡病癥 提供病癥信號() 用戶名密碼 查看病情報告()打印病情報告() 值班護士 病癥監(jiān)視采集頻率病癥信號 格式化信號數(shù)據(jù)()采集信號()信號組合()退出上頁首頁下頁末頁類的識別值班護士 醫(yī)生 病人 病癥監(jiān)視 中央監(jiān)護系統(tǒng) 報警信號 標準病癥信號庫 病歷庫 病人病癥信號 病情報告 病歷 標準病癥信號病人病癥信號 脈搏血壓體溫生成病癥信號() 病歷格式病人基本情況打印時間生成病歷()查看病歷()打印病歷() 標準病癥信號脈搏血壓體溫 生成標準信號() 標題格式 生成病情報告()查看病情報告()打印病情報告() 病情報告報警信號 聲音燈光文字 報警()數(shù)模轉(zhuǎn)化() 病歷庫類型大小容量生成病歷()更新病歷()查看病歷()打印病歷() 類型大小容量 提供標準信號() 標準病癥信號庫 輸入輸出 分解信號()比較信號()報警()數(shù)據(jù)格式化()中央監(jiān)護系統(tǒng) 退出上頁首頁下頁末頁類的識別在類圖中標明類之間的關系:退出上頁首頁下頁末頁*1111111111111111 值班護士 醫(yī)生 病人 病癥監(jiān)視病人病癥信號 病歷病歷庫病情報告報警信號 中央監(jiān)護系統(tǒng) 標準病癥信號標準病癥信號庫 111報警
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中級財務會計學知到課后答案智慧樹章節(jié)測試答案2025年春湖南工學院
- 四川工業(yè)科技學院《景觀設計(1)》2023-2024學年第一學期期末試卷
- 西南民族大學《化工機械強度與振動》2023-2024學年第二學期期末試卷
- 洛陽理工學院《組織學與胚胎學(B)》2023-2024學年第二學期期末試卷
- 四川省資陽市2025屆五年級數(shù)學第二學期期末調(diào)研試題含答案
- 海南健康管理職業(yè)技術學院《中國古代文學A(V)》2023-2024學年第二學期期末試卷
- 大同煤炭職業(yè)技術學院《個案工作實務》2023-2024學年第二學期期末試卷
- 廣州華商學院《藥理學實驗A》2023-2024學年第二學期期末試卷
- 古詩詞中煉字的好處
- 工程質(zhì)量控制中的常見問題與解決方案
- 《臺海危機》課件
- 部編版小學語文一年級下冊第三單元大單元教學設計教材分析
- MOOC 數(shù)據(jù)庫系統(tǒng)(中):建模與設計-哈爾濱工業(yè)大學 中國大學慕課答案
- 2024年湖南食品藥品職業(yè)學院單招職業(yè)技能測試題庫及答案解析
- 2024年江蘇醫(yī)藥職業(yè)學院單招職業(yè)技能測試題庫及答案解析
- 2024年全國高考物理電學實驗真題(附答案)
- 保育員基本素養(yǎng)知識講座
- 2024寧波樞智交通科技有限公司招聘筆試參考題庫附帶答案詳解
- 乳腺疏通課件
- 《5G無線網(wǎng)絡規(guī)劃與優(yōu)化》 課件 羅暉 第4-6章 5G行業(yè)應用-5G無線網(wǎng)絡優(yōu)化
- 藥物指導健康宣教
評論
0/150
提交評論