第6章統(tǒng)一建模語言UML與Rational Rose工具_(dá)第1頁
第6章統(tǒng)一建模語言UML與Rational Rose工具_(dá)第2頁
第6章統(tǒng)一建模語言UML與Rational Rose工具_(dá)第3頁
第6章統(tǒng)一建模語言UML與Rational Rose工具_(dá)第4頁
第6章統(tǒng)一建模語言UML與Rational Rose工具_(dá)第5頁
已閱讀5頁,還剩101頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第6章 統(tǒng)一建模語言統(tǒng)一建模語言uml與與rational rose工具工具 面向?qū)ο蟮膶嵱霉照葍?nèi)容概覽n統(tǒng)一建模語言uml概述nrational rose基本應(yīng)用n用例圖n靜態(tài)視圖n動態(tài)圖n活動圖n時序圖n協(xié)作圖n基于uml的圖書管理信息系統(tǒng)設(shè)計rup模型模型統(tǒng)一軟件開發(fā)過程模型統(tǒng)一軟件開發(fā)過程模型-新型軟件生命周期模型新型軟件生命周期模型 統(tǒng)一開發(fā)過程統(tǒng)一開發(fā)過程(rational unified process,rup)是一套面向?qū)ο蟮能浖こ谭椒ā#┦且惶酌嫦驅(qū)ο蟮能浖こ谭椒ā?統(tǒng)一軟件開發(fā)過程模型統(tǒng)一軟件開發(fā)過程模型,集成了許多軟件開發(fā)模,集成了許多軟件開發(fā)模型的優(yōu)點(diǎn),是一種綜合了

2、瀑布模型,增量模型,型的優(yōu)點(diǎn),是一種綜合了瀑布模型,增量模型,演化模型,快速原型模型優(yōu)點(diǎn)的混合模型。具有演化模型,快速原型模型優(yōu)點(diǎn)的混合模型。具有很好的可操作性和實用性,是目前最有效的軟件很好的可操作性和實用性,是目前最有效的軟件開發(fā)過程模型。開發(fā)過程模型。 rup的二維開發(fā)模型的二維開發(fā)模型n傳統(tǒng)的瀑布開發(fā)模型是一個一維的模型,開發(fā)過程被劃分為多個連續(xù)的階段。n在rup中,軟件開發(fā)生命周期根據(jù)時間和rup的核心工作流劃分為二維空間。橫軸表示項目的時間維,縱軸以內(nèi)容來組織為自然的邏輯活動。rup的二維開發(fā)模型的二維開發(fā)模型6.1統(tǒng)一建模語言統(tǒng)一建模語言uml概述概述 統(tǒng)一建模語言uml是繪制軟

3、件藍(lán)圖的標(biāo)準(zhǔn)語言,可以對軟件系統(tǒng)產(chǎn)品進(jìn)行可視化、詳述、構(gòu)造和文檔化。uml在實際軟件項目開發(fā)中,可以用于構(gòu)造各種類型系統(tǒng)的業(yè)務(wù)模型和軟件模型。uml簡介簡介uml的全名:的全名:unified modeling language 統(tǒng)一建模語言統(tǒng)一建模語言uml是是booch,rumbaugh和和jacobson三位著名的三位著名的 研究面向?qū)ο蠓椒ǖ挠嬎銠C(jī)專家的研究成果研究面向?qū)ο蠓椒ǖ挠嬎銠C(jī)專家的研究成果uml已被已被omg(object management group)采)采納,作為國際標(biāo)準(zhǔn)。納,作為國際標(biāo)準(zhǔn)。uml是一種用于對軟件系統(tǒng)進(jìn)行建模的語言,獨(dú)立是一種用于對軟件系統(tǒng)進(jìn)行建模的語

4、言,獨(dú)立于軟件開發(fā)過程于軟件開發(fā)過程 ,不是一門程序設(shè)計語言,不是一門程序設(shè)計語言 uml發(fā)展歷程發(fā)展歷程6.1.1 uml的內(nèi)涵的內(nèi)涵 uml是一種通用的可視化建模語言,用于對軟件進(jìn)行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)工件的文檔。它記錄了與被構(gòu)建系統(tǒng)有關(guān)的決策和理解,可用于對系統(tǒng)的理解、設(shè)計、瀏覽、配置、維護(hù)及控制系統(tǒng)的信息。uml適用于各種軟件開發(fā)方法、軟件生命周期的各個階段、各種應(yīng)用領(lǐng)域及各種工具,旨在統(tǒng)一以往建模技術(shù),吸收當(dāng)今軟件開發(fā)的最佳方案從而形成一種標(biāo)準(zhǔn)的方法。 需要說明的是,uml是一種建模語言,而不是一種方法。從原理上講,任何方法都應(yīng)由建模語言和建模過程兩部分構(gòu)成。其中建模

5、語言提供了這種方法中用于表示設(shè)計的符號(通常是圖形符號);建模過程則描述進(jìn)行設(shè)計所需要的步驟。6.1.2 uml的組成及應(yīng)用的組成及應(yīng)用1uml的模型元素的模型元素uml定義了兩類模型元素:一類是用于表示模型中的某個概念,如類、對象、構(gòu)件、用例、節(jié)點(diǎn)、接口、包和注釋等;另一類是用于表示模型元素之間相互連接的關(guān)系,其中主要有:關(guān)聯(lián)、泛化、依賴和聚集等。6.1.2 uml的組成及應(yīng)用的組成及應(yīng)用2uml的模型圖的模型圖uml是用來描述模型的,即描述系統(tǒng)的結(jié)構(gòu)或靜態(tài)特征,以及行為或動態(tài)特征。為了能支持從不同角度來考察系統(tǒng),uml定義了五類共9種模型圖。第一類是用例圖,它從用戶角度描述系統(tǒng)的功能,并指

6、出各功能的操作者。第二類是靜態(tài)圖,包括類圖、對象圖和包圖。第三類是行為圖,描述系統(tǒng)的動態(tài)模型和組成對象間的交互關(guān)系,包括狀態(tài)圖和活動圖。第四類是交互圖,描述對象間的交互關(guān)系,包括順序圖和協(xié)作圖。第五類是實現(xiàn)圖,包括構(gòu)件圖和配置圖。6.2 rational rose基本應(yīng)用基本應(yīng)用 6.2.1 rational rose簡介簡介rational rose是由美國的rational公司開發(fā)的、面向?qū)ο蟮目梢暬9ぞ摺@胷ose工具,可以建立用uml描述的軟件系統(tǒng)模型,它支持uml中的用例框圖、活動框圖、序列框圖、協(xié)作框圖、狀態(tài)框圖、組建框圖和布局框圖等。而且通過其正向和逆向轉(zhuǎn)出工程代碼的特性,

7、可以支持c+、java、visual basic和xml dtd 的代碼生成和逆向轉(zhuǎn)出工程代碼。我們以rose 2003為基礎(chǔ),掌握其進(jìn)行uml建模的基本操作。13rational rose的作用的作用n整個開發(fā)團(tuán)隊可以使用用況圖,來獲得一個系統(tǒng)高整個開發(fā)團(tuán)隊可以使用用況圖,來獲得一個系統(tǒng)高層次的視圖,并且可以協(xié)商項目的范疇;層次的視圖,并且可以協(xié)商項目的范疇;n項目經(jīng)理可以使用用況圖和文檔,把項目分解項目經(jīng)理可以使用用況圖和文檔,把項目分解成便于管理的多個模塊;成便于管理的多個模塊;n系統(tǒng)分析員和客戶在看到用況規(guī)格描述文檔的系統(tǒng)分析員和客戶在看到用況規(guī)格描述文檔的時候,就可以明白系統(tǒng)將會提供

8、什么樣的功能時候,就可以明白系統(tǒng)將會提供什么樣的功能;n技術(shù)編寫者在看到用況規(guī)格描述文檔時,就可技術(shù)編寫者在看到用況規(guī)格描述文檔時,就可以著手編寫用戶手冊和培訓(xùn)計劃;以著手編寫用戶手冊和培訓(xùn)計劃;n系統(tǒng)分析員和軟件開發(fā)者在看到時序圖和協(xié)作系統(tǒng)分析員和軟件開發(fā)者在看到時序圖和協(xié)作圖時,就可以明白整個系統(tǒng)的邏輯流程、對象圖時,就可以明白整個系統(tǒng)的邏輯流程、對象以及對象之間的消息;以及對象之間的消息;14rational rose的作用的作用n質(zhì)量檢測員可以使用用況文檔、時序圖、協(xié)作圖獲質(zhì)量檢測員可以使用用況文檔、時序圖、協(xié)作圖獲得測試腳本所需要的信息;得測試腳本所需要的信息;n軟件開發(fā)人員使用類圖

9、和狀態(tài)圖,可以獲得系軟件開發(fā)人員使用類圖和狀態(tài)圖,可以獲得系統(tǒng)模塊的詳細(xì)視圖以及模塊之間的關(guān)系;統(tǒng)模塊的詳細(xì)視圖以及模塊之間的關(guān)系;n部署人員在使用組件圖和部署圖時,就可以明部署人員在使用組件圖和部署圖時,就可以明白哪些是可執(zhí)行文件或白哪些是可執(zhí)行文件或dll文件,以及其他的文件,以及其他的一些組件是如何創(chuàng)建的,這些組件該部署在網(wǎng)一些組件是如何創(chuàng)建的,這些組件該部署在網(wǎng)絡(luò)中哪些地方;絡(luò)中哪些地方;n整個團(tuán)隊使用整個團(tuán)隊使用rose模型,就可以確定從需求到模型,就可以確定從需求到編碼的整個過程,并且從編碼到需求這個逆過編碼的整個過程,并且從編碼到需求這個逆過程也是可以追蹤的。程也是可以追蹤的。r

10、ose建模環(huán)境建模環(huán)境nrose 提供了一套十分友好的界面讓用戶對系統(tǒng)進(jìn)行建模。安裝完rose 之后,單擊“開始”“程序”“rational software”“rational rose enterprise edition”命令選項,則會出現(xiàn)如圖所示的界面,選擇rose新模型的應(yīng)用架構(gòu)(framework)界面。開發(fā)人員可以選擇j2ee,j2se1.2,j2se1.3,jfc-11等應(yīng)用框架進(jìn)行系統(tǒng)分析和設(shè)計。6.2.3 rational rose基本操作基本操作啟動rational rose2003create new model窗體中給出了許多開發(fā)語言的模型向?qū)?,開發(fā)者可以根據(jù)自己所采

11、用的語言來進(jìn)行選擇如果不需要特定的語言環(huán)境,單擊cancel就可以直接進(jìn)入主界面n菜單:集成了系統(tǒng)中幾乎所有的操作n瀏覽器:用于在rose模型中迅速漫游n文檔窗口:用于查看或更新模型元素的文檔n工具欄:用于迅速訪問常用命令n圖窗口:用于顯示和編輯一個或幾個uml圖n日志窗口:用于查看錯誤和報告各個命令的結(jié)果l主菜單和工具欄rose 2003rose 2003主要菜單主要菜單任務(wù)2lrose 2003 視圖rose 2003rose 2003主要菜單主要菜單6.3 用例圖用例圖 6.3.1 用例圖簡介用例圖簡介用例圖是表示用例模型,其基本組成部件是用例、參與者和用例關(guān)系。1參與者參與者參與者是系

12、統(tǒng)、子系統(tǒng)或類發(fā)生與外部用戶、進(jìn)程或其他系統(tǒng)的交互。 2用例用例在系統(tǒng)模型,用例表示主體(功能單元)對外部用戶可見的行為。 關(guān) 系功 能符 號關(guān)聯(lián)參與者與其執(zhí)行的用例之間的通信路徑擴(kuò)展在基用例上插入附加的行為,基用例并不知道extend包含在基用例上插入附加的行為,并顯示地描述了該插入include用例泛化一般用例和特殊用例之間的關(guān)系,其中特殊用例繼承了一般用例的特征并增加新特征用例圖的內(nèi)容用例圖的內(nèi)容n用例圖的內(nèi)容:n參與者n用例n泛化、擴(kuò)展和包含關(guān)系參與者參與者n用例描述了系統(tǒng)的功能和所提供的服務(wù)。面對一個大系統(tǒng),要列出所有用例的清單常常比較困難,比較簡單的方法是先找出系統(tǒng)的參與者,分析每

13、個參與者是怎樣使用系統(tǒng)的。n使用以下問題有助于發(fā)現(xiàn)系統(tǒng)的參與者誰使用系統(tǒng)?誰安裝系統(tǒng)、維護(hù)系統(tǒng)?誰啟動系統(tǒng)、關(guān)閉系統(tǒng)?誰從系統(tǒng)中獲取信息,誰提供信息給系統(tǒng)?在系統(tǒng)交互中,誰扮演了什么角色?系統(tǒng)會與哪些其他系統(tǒng)相關(guān)聯(lián)? 識別參與者識別參與者 訂貨系統(tǒng):客戶給銷售員發(fā)來傳真訂貨, 銷售員下班前將當(dāng)日訂貨單匯總輸入系統(tǒng)。 誰是系統(tǒng)的actor?答案: 銷售員識別參與者識別參與者 尋呼臺系統(tǒng)。用戶如果預(yù)定了天氣預(yù)報,系統(tǒng)每天定時給他發(fā)天氣消息;如果當(dāng)天氣溫高于35度,還要提醒用戶注意防暑。 這個敘述里,誰是尋呼臺系統(tǒng)的actor? 用戶?氣溫?時間?答案:用戶,氣溫,時間都是actor識別參與者識別參

14、與者 商品銷售系統(tǒng)。顧客通過網(wǎng)絡(luò)下單之后,系統(tǒng)計算出總計金額,稅金,運(yùn)費(fèi),并將數(shù)目傳遞給一個外掛的會計系統(tǒng),該系統(tǒng)是另外購買的。 有幾個actor?答案: 顧客(商品銷售系統(tǒng)), 商品銷售系統(tǒng)(會計系統(tǒng))用例用例 (usecase)n用例是對一組序列動作的描述,系統(tǒng)執(zhí)行這些動作將對用例的參與者產(chǎn)生可以觀察的結(jié)果。n參與者和用例分別描述了“誰來做?”和“做什么?”這兩個問題。 n用例用實線的橢圓表示用例用例 n識別用例的最好辦法就是從分析系統(tǒng)的參與者開始,考慮每個參與者是怎樣使用系統(tǒng)。n根據(jù)下面的一些問題來識別用例:參與者希望系統(tǒng)提供什么功能;系統(tǒng)是否存儲和檢索信息;當(dāng)系統(tǒng)改變狀態(tài)時,是否通知參

15、與者;是否存在影響系統(tǒng)的外部事件,是哪個參與者通知系統(tǒng)這些外部事件。 識別用例識別用例 email客戶端(如:outlook express):a在北京發(fā)郵件給深圳的b,系統(tǒng)提醒b”你有新郵件”,b收郵件。參與者:用戶(a、b)、時間識別用例識別用例 論壇的應(yīng)用: 用戶可以提問,別人來回答,如果有自己問題被解答的話,就給發(fā)問者發(fā)一份郵件通知。注意:發(fā)郵件這個用例可以是單獨(dú)的用例,也可以是由回答用例擴(kuò)展出來的用例用例之間的關(guān)系用例之間的關(guān)系 泛化關(guān)系 包含關(guān)系 擴(kuò)展關(guān)系泛化泛化(generalization) 當(dāng)多個用例共同擁有一種類似的結(jié)構(gòu)和行為的時候我們可以將它們的共性抽象成為父用例,其他的

16、用例作為泛化關(guān)系中的子用例。泛化舉例(一):泛化泛化(generalization)泛化舉例(二):包含包含(include)包含是指基本用例(base use case)會用到包含用例(inclusion),具體地講,就是將包含用例的事件流插入到基礎(chǔ)用例的事件流中。包含用例是可重用的用例多個用例的公共用例。 擴(kuò)展擴(kuò)展(extend)將擴(kuò)展用例的事件流在一定的條件下按照相應(yīng)的擴(kuò)展點(diǎn)插入到基礎(chǔ)用例中。 n基礎(chǔ)用例不必知道擴(kuò)展用例的任何細(xì)節(jié),它僅為其提供擴(kuò)展點(diǎn)。n擴(kuò)展用例的行為是否被執(zhí)行要取決于主事件流中的判定點(diǎn)。 包含用例與擴(kuò)展用例的區(qū)別包含用例與擴(kuò)展用例的區(qū)別相對于基礎(chǔ)用例,擴(kuò)展用例是可選的,

17、而包含用例則不是。如果缺少擴(kuò)展用例,基礎(chǔ)用例還是完整的,而缺少包含用例,則基礎(chǔ)用例就不完整了。擴(kuò)展用例的執(zhí)行需要滿足某種條件,而包含用例不需要。擴(kuò)展用例的執(zhí)行會改變基礎(chǔ)用例的行為,而包含用例不會。37用例建模用例建模 1創(chuàng)建用例圖創(chuàng)建用例圖(1) 選定瀏覽器窗口中的【選定瀏覽器窗口中的【use case view】;(2) 單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇【單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇【new】;(3) 在菜單【在菜單【new】產(chǎn)生的下級菜單中選擇要新建的圖產(chǎn)生的下級菜單中選擇要新建的圖【use case diagram】?!俊R陨喜襟E如圖以上步驟如圖2-19所示,生成的用況圖,如

18、圖所示,生成的用況圖,如圖6-7所示。所示。 38用例圖用例圖 用例圖的建模符號實驗實驗1:任務(wù)解決:任務(wù)解決atm終端系統(tǒng)完成以下任務(wù):(1)客戶可以通過atm完成登錄、取款、存款、通過信用系統(tǒng)付款、查詢余額、修改密碼、打印憑證等業(yè)務(wù)。(2)銀行官員登錄、修改密碼、為atm添加現(xiàn)金、維護(hù)atm硬件。(3)信用系統(tǒng)啟動來自客戶的付款創(chuàng)建系統(tǒng)用例模型n創(chuàng)建系統(tǒng)用例的第一步是確定系統(tǒng)的參與者。atm自動取款機(jī)系統(tǒng)的參與者包含以下三種:(1)客戶 (2)銀行職員(3)信用系統(tǒng)創(chuàng)建系統(tǒng)用例模型創(chuàng)建系統(tǒng)用例模型實驗1:繪制atm自動柜員機(jī)系統(tǒng)總的用例圖 atm自動柜員機(jī)系統(tǒng)總的用例圖 取款存款轉(zhuǎn)賬查詢余

19、額客戶修改密碼硬件維護(hù)銀行官員添加現(xiàn)金信用系統(tǒng)還款實驗實驗2:“學(xué)生成績管理信息系統(tǒng)”功能模塊如下,分析教師登記成績業(yè)務(wù)過程,并建立教師登記成績用例圖6.4 靜態(tài)視圖靜態(tài)視圖靜態(tài)視圖是uml的基礎(chǔ),是展現(xiàn)系統(tǒng)的靜態(tài)結(jié)構(gòu)組成及特征,包括類圖、對象圖和包圖。其中,類圖描述系統(tǒng)中類的結(jié)構(gòu),不僅定義系統(tǒng)中的類,表示類之間的關(guān)系如關(guān)聯(lián)、依賴、聚合等,也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個生命周期都是有效的。對象圖是類圖的實例,幾乎使用與類圖完全相同的標(biāo)識。類圖和對象圖的不同點(diǎn)在于對象圖顯示類的多個對象實例,而不是實際的類。一個對象圖是類圖的一個實例。由于對象存在生命

20、周期,因此對象圖只能在系統(tǒng)某個時間段存在。包圖是由包或類組成,用于描述系統(tǒng)的分層結(jié)構(gòu)。1 1、類圖及對象圖的基本符號、類圖及對象圖的基本符號類圖類圖類名類名屬性:類型屬性:類型操作操作對象:類名對象:類名屬性名值屬性名值操作操作關(guān)聯(lián)關(guān)聯(lián) 依賴依賴聚合聚合 泛化泛化類圖類圖類圖的說明:類圖的說明:類的命名類的命名 類是一組對象的抽象,應(yīng)盡量做到類是一組對象的抽象,應(yīng)盡量做到“見名識意見名識意”。定義屬性定義屬性 可見性可見性 屬性名屬性名:類型名類型名=初值初值 約束特性約束特性可見性:公有(可見性:公有( public ) 私有(私有(private) 保護(hù)(保護(hù)(protected)約束特性

21、:該屬性的約束說明約束特性:該屬性的約束說明定義屬性時,屬性名必須要有,其它任選定義屬性時,屬性名必須要有,其它任選.關(guān)聯(lián)(關(guān)聯(lián)(association)角色當(dāng)一個類處于關(guān)聯(lián)的某一端時,該類就在這個關(guān)系中扮演了一個特定的角色。它呈現(xiàn)的是對另一端的職責(zé)??梢燥@式地命名類在關(guān)聯(lián)中所扮演的角色。聚合關(guān)聯(lián)用于指出類間的聚合關(guān)聯(lián)用于指出類間的“整體整體-部分部分”關(guān)系。關(guān)系。共享聚合(共享聚合(aggregation(空心菱形) 共享聚合是指它的共享聚合是指它的“部分部分”對象可以是多個對象可以是多個 “整體整體”對象對象的一部分。的一部分。聚合關(guān)聯(lián)聚合關(guān)聯(lián) rose 2003并不提供“共享聚合”這種圖

22、形(空心菱形)1.可以先畫一個單向關(guān)聯(lián)的關(guān)系,2.然后右鍵單擊這個關(guān)系,open specification -role b detail,3.選擇 aggregation(空心)的關(guān)系。 組合聚集組合聚集 組合是聚合的一種形式,它具有強(qiáng)的擁有關(guān)系,整體與部分的生命組合是聚合的一種形式,它具有強(qiáng)的擁有關(guān)系,整體與部分的生命周期是一致的。周期是一致的。 “部分部分”生存在生存在“整體整體”中,它們與中,它們與“整體整體”一起消亡。一起消亡。 整體的整體的重數(shù)重數(shù)必須是必須是0 0或或1 1。 在在umluml中,組合是一種特殊的關(guān)聯(lián),用整體端有實心菱形箭頭的中,組合是一種特殊的關(guān)聯(lián),用整體端有實

23、心菱形箭頭的簡單關(guān)聯(lián)修飾它。簡單關(guān)聯(lián)修飾它。聚集關(guān)聯(lián)聚集關(guān)聯(lián)rose 2003并不提供“組合關(guān)系”這種圖形(實心菱形)1. 右鍵單擊這個關(guān)系,open specification -role b detail,2. 選擇aggregation(空心)的關(guān)系,3.你會發(fā)現(xiàn)contenment有三項選(by value, by reference, unspecified),在你選上by value的時候,菱形就變成實心的了。 泛化泛化也稱之為繼承,表示類之間的一般與特殊的關(guān)系,也稱之為繼承,表示類之間的一般與特殊的關(guān)系,即即“一般(父)一般(父)”類是類是“特殊(子)特殊(子)”類的類的泛化泛化

24、,“特殊特殊”類是類是“一般一般”類的類的特化特化。泛化就是簡單的泛化就是簡單的繼承關(guān)系繼承關(guān)系。舉例:網(wǎng)絡(luò)教學(xué)系統(tǒng)中舉例:網(wǎng)絡(luò)教學(xué)系統(tǒng)中“用戶用戶”是一般類,擁有姓名、電話和郵箱屬性是一般類,擁有姓名、電話和郵箱屬性和登陸、收郵件的操作。和登陸、收郵件的操作。“教師教師”和和“學(xué)生學(xué)生”屬于屬于“用戶用戶”類,分別是類,分別是“用戶用戶”類的類的特殊類(子類),自動地繼承了特殊類(子類),自動地繼承了“用戶用戶”類的屬性和操作,擁有姓類的屬性和操作,擁有姓名、電話和郵箱屬性,可以進(jìn)行登陸、收郵件的操作。同時子類也可名、電話和郵箱屬性,可以進(jìn)行登陸、收郵件的操作。同時子類也可以根據(jù)需要添加屬于

25、自己的屬性和操作。如學(xué)生有自己的學(xué)號、班級以根據(jù)需要添加屬于自己的屬性和操作。如學(xué)生有自己的學(xué)號、班級屬性和考試操作。教師有自己的工作證號、部門屬性和授課等操作。屬性和考試操作。教師有自己的工作證號、部門屬性和授課等操作。泛化關(guān)聯(lián)泛化關(guān)聯(lián)泛化關(guān)聯(lián)的表示泛化關(guān)聯(lián)的表示請舉出生活、學(xué)習(xí)過程中泛化關(guān)聯(lián)的例子?多重繼承示例多重繼承示例n“交通工具”分為“汽車”和“船”兩類,而“水陸兩用汽車”既是汽車又是船,那么在對交通工具進(jìn)行抽象時,就可認(rèn)為“水陸汽車”類既繼承了汽車類又繼承了船類,這就是多重繼承。請畫出它們的泛化關(guān)聯(lián)。依賴依賴兩個模型元素之間的語義連接,一個是獨(dú)立的模型元兩個模型元素之間的語義連接,

26、一個是獨(dú)立的模型元素,另一個是依賴的模型元素。獨(dú)立元素的變化會影素,另一個是依賴的模型元素。獨(dú)立元素的變化會影響依賴元素。響依賴元素。 如下例,如下例,“討論班討論班”類使用類使用“學(xué)生學(xué)生”類作為參數(shù),這類作為參數(shù),這意味著如果學(xué)生發(fā)生變化,會影響到討論班。所以討意味著如果學(xué)生發(fā)生變化,會影響到討論班。所以討論班依賴于學(xué)生論班依賴于學(xué)生依賴關(guān)聯(lián)依賴關(guān)聯(lián)請指出類圖中的關(guān)系請指出類圖中的關(guān)系cfadge1.n1.n1.n1.nb1.n11.n1類圖的建模符號類圖應(yīng)用舉例類圖應(yīng)用舉例小王是一個愛書之人,家里各類書籍已過千冊,而平時小王是一個愛書之人,家里各類書籍已過千冊,而平時又時常有朋友外借,因

27、此需要一個個人圖書管理系統(tǒng)。又時常有朋友外借,因此需要一個個人圖書管理系統(tǒng)。該系統(tǒng)應(yīng)該能夠?qū)⒃撓到y(tǒng)應(yīng)該能夠?qū)畷幕拘畔吹幕拘畔从嬎銠C(jī)類計算機(jī)類、非計算非計算機(jī)類機(jī)類分別建檔,實現(xiàn)對分別建檔,實現(xiàn)對書籍的管理書籍的管理:按書名、作者、類:按書名、作者、類別、出版社等關(guān)鍵字的組合查詢功能;對書籍的購買金別、出版社等關(guān)鍵字的組合查詢功能;對書籍的購買金額、冊數(shù)按特定時間周期進(jìn)行統(tǒng)計。額、冊數(shù)按特定時間周期進(jìn)行統(tǒng)計。該系統(tǒng)還應(yīng)該能夠?qū)脑撓到y(tǒng)還應(yīng)該能夠?qū)慕栝喗栝喦闆r進(jìn)行記錄,可實現(xiàn)情況進(jìn)行記錄,可實現(xiàn)計算機(jī)對外計算機(jī)對外借與歸還的管理借與歸還的管理。類圖應(yīng)用舉例類圖應(yīng)用舉例指出

28、系統(tǒng)中的類屬性、操作指出系統(tǒng)中的類屬性、操作經(jīng)過分析小王需要建立下列類及其類圖書籍 計算機(jī)類書籍 非計算機(jī)類書籍 書籍管理 借閱記錄 借閱管理書籍類:書籍類:書名、類別、作者、出版社書名、類別、作者、出版社 、價格、價格屬性。屬性。書籍管理:主要的操作是書籍管理:主要的操作是新增、修改、查詢(按關(guān)鍵字查詢)、統(tǒng)計(新增、修改、查詢(按關(guān)鍵字查詢)、統(tǒng)計(按特定時限統(tǒng)計冊數(shù)與金額)。按特定時限統(tǒng)計冊數(shù)與金額)。借閱:借閱:借閱人、借閱時間、書名。借閱人、借閱時間、書名。借閱管理:主要職責(zé)就是借閱管理:主要職責(zé)就是添加記錄(借出)、刪除記錄(歸還)以及打添加記錄(借出)、刪除記錄(歸還)以及打印借

29、閱記錄印借閱記錄 找出系統(tǒng)中的類找出系統(tǒng)中的類畫出系統(tǒng)中的類圖畫出系統(tǒng)中的類圖類圖應(yīng)用舉例類圖應(yīng)用舉例實驗實驗3:繪制:繪制atm自動柜員機(jī)系統(tǒng)類圖自動柜員機(jī)系統(tǒng)類圖atm自動柜員機(jī)系統(tǒng)工作流程如自動柜員機(jī)系統(tǒng)工作流程如下下,請畫出其類圖請畫出其類圖(1)客戶將銀行卡插入讀卡器,讀卡器識別卡的真?zhèn)?,對于有效卡,接受該卡,并繼續(xù)讀卡,獲取卡號。對于無效卡,彈出卡。(2) atm屏幕負(fù)責(zé)接受客戶輸入的信息,并向用戶提示相關(guān)信息。(3)客戶可根據(jù)自己的需要可對其賬戶進(jìn)行存款、取款、查詢賬戶、轉(zhuǎn)賬、修改密碼的操作。 (3)atm取款機(jī)負(fù)責(zé)按系統(tǒng)要求提供或接受現(xiàn)金、打印憑條的操作。6.5 狀態(tài)圖狀態(tài)圖6

30、.5.1 狀態(tài)圖簡介狀態(tài)圖簡介一般來講,狀態(tài)圖描述了一個特定對象的所有可能狀態(tài),及由于各種事件的發(fā)生而引起狀態(tài)之間的轉(zhuǎn)移。對象可被看作是通過探測事件與系統(tǒng)外其他部分通信的孤立實體。事件表示對象可以探測到的各種變化,如接受到從一個對象到另一個對象的調(diào)用或某些值的改變等。任何可以影響對象的內(nèi)容都可以稱為事件。真實世界所發(fā)生的事情被建模為外部世界到系統(tǒng)的信號。一個狀態(tài)圖包括一系列的狀態(tài)以及狀態(tài)之間的轉(zhuǎn)移。狀態(tài)圖狀態(tài)圖狀態(tài)圖基本符號:狀態(tài)圖基本符號: 狀態(tài)圖狀態(tài)圖n狀態(tài)(狀態(tài)(state)是指在對象的生命周期中滿足某些條件、)是指在對象的生命周期中滿足某些條件、執(zhí)行某些活動或等待某些事件時的一個條件或

31、狀況執(zhí)行某些活動或等待某些事件時的一個條件或狀況。n以下是電水壺的工作狀態(tài)圖以下是電水壺的工作狀態(tài)圖關(guān)閉工作打開 沒水 打開 有水 / 燒水水開了 / 關(guān)狀態(tài)轉(zhuǎn)換的五要素狀態(tài)轉(zhuǎn)換的五要素源狀態(tài):即受轉(zhuǎn)換影響的狀態(tài)源狀態(tài):即受轉(zhuǎn)換影響的狀態(tài)目標(biāo)狀態(tài):當(dāng)轉(zhuǎn)換完成后對象的狀態(tài)目標(biāo)狀態(tài):當(dāng)轉(zhuǎn)換完成后對象的狀態(tài) 觸發(fā)事件(觸發(fā)事件(event):用來為轉(zhuǎn)換定義一個事件。):用來為轉(zhuǎn)換定義一個事件。監(jiān)護(hù)條件(監(jiān)護(hù)條件(guard condition):決定是否激活轉(zhuǎn)換):決定是否激活轉(zhuǎn)換動作(動作(action):轉(zhuǎn)換激活時的操作):轉(zhuǎn)換激活時的操作讀狀態(tài)圖讀狀態(tài)圖與狀態(tài)與狀態(tài)“關(guān)閉關(guān)閉”相關(guān)的轉(zhuǎn)換有兩個

32、,其觸發(fā)事件都是打開開關(guān),只不過其相關(guān)的轉(zhuǎn)換有兩個,其觸發(fā)事件都是打開開關(guān),只不過其監(jiān)護(hù)條件不同。如果對象收到事件監(jiān)護(hù)條件不同。如果對象收到事件t打開,那么將判斷壺中是否有水;如打開,那么將判斷壺中是否有水;如果果沒水沒水,則仍然處于,則仍然處于“關(guān)閉關(guān)閉”狀態(tài);如果狀態(tài);如果有水有水則轉(zhuǎn)為則轉(zhuǎn)為“工作工作”狀態(tài),并狀態(tài),并執(zhí)行執(zhí)行“燒水燒水”動作動作而與狀態(tài)而與狀態(tài)“工作工作”相關(guān)的轉(zhuǎn)換也有兩個,如果相關(guān)的轉(zhuǎn)換也有兩個,如果“水開了水開了”就執(zhí)行關(guān),關(guān)掉就執(zhí)行關(guān),關(guān)掉開關(guān);如果燒壞了,就進(jìn)入了終態(tài)了開關(guān);如果燒壞了,就進(jìn)入了終態(tài)了 關(guān)閉工作打開 沒水 打開 有水 / 燒水水開了 / 關(guān)燒毀r

33、ose狀態(tài)圖建模圖形符號 實驗實驗4:狀態(tài)圖實例:狀態(tài)圖實例 學(xué)生成績管理信息系統(tǒng)中“教師登記成績”過程包含的狀態(tài)有注冊、審核、登錄和登分4個狀態(tài):教師首次啟動程序進(jìn)入注冊狀態(tài),注冊成功后,進(jìn)入等待審核狀態(tài);如果審核成功進(jìn)入登錄狀態(tài),否則繼續(xù)等待審核;成功登錄后進(jìn)入登記分?jǐn)?shù)狀態(tài),登記分?jǐn)?shù)完畢結(jié)束程序。用狀態(tài)圖描述該過程中這4個狀態(tài)的轉(zhuǎn)移情況。實驗實驗5:圖書對象狀態(tài)圖:圖書對象狀態(tài)圖1、圖書業(yè)務(wù)有編目、書庫、借出、閱覽室、注銷五種狀態(tài)。2、引起狀態(tài)變化的事件/動作 (1)圖書到達(dá)后,經(jīng)驗收,等待編目 (2)編目后可送入閱覽室供閱覽或進(jìn)入書庫 (3)閱覽室的書籍經(jīng)批準(zhǔn)予以注銷 (4)書庫中的書主

34、要用于借閱 (5)借出的書歸還后入庫,如果遺失,則注銷3、畫出圖書業(yè)務(wù)狀態(tài)圖圖書對象狀態(tài)圖圖書對象狀態(tài)圖3、狀態(tài)圖 6.6 活動圖活動圖 6.6.1 活動圖簡介活動圖簡介活動圖是具有節(jié)點(diǎn)和流程的圖,顯示應(yīng)用控制(也可以是數(shù)據(jù))通過一次計算行為的各步驟流程。計算步驟可以并發(fā)執(zhí)行,也可以順序執(zhí)行。活動圖包括同步和分支元素,和傳統(tǒng)的流程圖相比有相似之處,但是更強(qiáng)大,常常用來表示并行過程。傳統(tǒng)流程圖只支持順序和分支元素,一般用來表示串行過程。活動圖的符號活動圖的符號n一個活動圖必然有一個開始狀態(tài) n至少有一個結(jié)束狀態(tài) n轉(zhuǎn)移用來表示活動或狀態(tài)間的控制流 n有分支時要在分支路徑中注明分支條件 n分岔用來

35、開始并行處理 n聯(lián)結(jié)用于把并行處理轉(zhuǎn)換為單個處理 rose活動圖的建模圖形符號例:atm登錄活動圖插卡初始化驗證卡準(zhǔn)備登陸提示輸入密碼 卡有效 提示卡無效 卡無效 輸入密碼驗證密碼提供操作選項 密碼有效 提示密碼錯誤 密碼無效 退卡登錄失敗登錄有效密碼輸入少于3次 第三次密碼錯誤 實驗實驗6:在學(xué)生成績管理信息系統(tǒng)中,以教師登記成績模塊包含的教師登分功能為例,其業(yè)務(wù)流程是對教師登錄系統(tǒng)時的用戶名及口令信息進(jìn)行驗證,如果正確則可以開始選擇學(xué)生所屬的班級、考試的課程進(jìn)行成績的登記或修改,還可以進(jìn)行教師個人信息的修改;如果登錄信息有誤,那么返回到登錄界面,創(chuàng)建教師登分活動圖。6.7 時序圖時序圖6.

36、7.1 時序圖簡介時序圖簡介時序圖(sequence diagram),又稱為順序圖,是用來描述對象之間的交互關(guān)系,著重體現(xiàn)對象間消息傳遞的時間順序。時序圖存在兩個軸:水平軸表示不同的對象,垂直軸表示時間。時序圖中的對象用一個帶有垂直虛線的矩形框表示,并標(biāo)有對象名和類名,垂直虛線是對象的生命線,用于表示在某段時間內(nèi)對象的存在。對象間的通信通過在對象生命線間畫消息來表示,消息的箭頭表明消息的類型。時序圖時序圖 atm機(jī)機(jī)“登錄成功登錄成功”的操作順序:的操作順序: atm用戶用戶將磁卡插入將磁卡插入讀卡機(jī)讀卡機(jī),讀卡機(jī)讀卡后初始化登錄,讀卡機(jī)讀卡后初始化登錄屏幕屏幕,登錄屏幕提示用戶輸入密碼,用

37、戶輸入密碼后,系統(tǒng)將之與數(shù)據(jù)登錄屏幕提示用戶輸入密碼,用戶輸入密碼后,系統(tǒng)將之與數(shù)據(jù)庫中保存的庫中保存的帳戶帳戶密碼進(jìn)行校對,并將結(jié)果返回給用戶。密碼進(jìn)行校對,并將結(jié)果返回給用戶。 分析:分析:“登錄成功登錄成功”活動的執(zhí)行順序是:活動的執(zhí)行順序是:(1)插卡插卡(2)讀卡讀卡(3)初始化登錄屏初始化登錄屏(4)提示輸入密碼提示輸入密碼(5)密碼輸入密碼輸入(6)驗證密碼驗證密碼(7) 密碼有效密碼有效(8)返回返回atm機(jī)機(jī)“登錄成功登錄成功”的時序圖的時序圖對象生命線活動期消息時序圖時序圖n對象與角色:最頂上一排矩形框。在對象與角色:最頂上一排矩形框。在交互圖中,參與交互的對象既可以是交互

38、圖中,參與交互的對象既可以是具體的事物,又可以是原型化的事物。具體的事物,又可以是原型化的事物。作為具體的事物,一個對象代表現(xiàn)實作為具體的事物,一個對象代表現(xiàn)實世界中的某個東西。例如,世界中的某個東西。例如,用戶用戶作為作為類用戶的一個實例,可以代表一個特類用戶的一個實例,可以代表一個特定的用戶。定的用戶。n生命線與控制焦點(diǎn):每個對象都有自生命線與控制焦點(diǎn):每個對象都有自己的生命線,對象生命線是一條垂直己的生命線,對象生命線是一條垂直的虛線,用來表示一個對象在一段時的虛線,用來表示一個對象在一段時間內(nèi)存在。間內(nèi)存在。時序圖時序圖n消息:用來描述對象之間所進(jìn)行的通信的。消息:用來描述對象之間所進(jìn)

39、行的通信的。n消息分為簡單消息、同步消息、異步消息、返回消消息分為簡單消息、同步消息、異步消息、返回消息息(1)同步消息:表示該消息完成之前,同一個對象不能再發(fā)送下一)同步消息:表示該消息完成之前,同一個對象不能再發(fā)送下一條消息。條消息。(2)異步消息:表示不必等待來自該消息的響應(yīng),同一個對象即可)異步消息:表示不必等待來自該消息的響應(yīng),同一個對象即可發(fā)出下一條消息。發(fā)出下一條消息。(3)簡單消息:表示不區(qū)分同步或異步。)簡單消息:表示不區(qū)分同步或異步。(4)返回消息:表示控制流返回到調(diào)用的活動對象。)返回消息:表示控制流返回到調(diào)用的活動對象。rose時序圖的建模符號順序圖順序圖n順序編號:整

40、個消息的傳遞過程就形成了一順序編號:整個消息的傳遞過程就形成了一個完整的序列,因此通過在每個消息的前面?zhèn)€完整的序列,因此通過在每個消息的前面加上一個用冒號隔開的順序號來表示其順序。加上一個用冒號隔開的順序號來表示其順序。除了順序編號之外,還可以采用嵌套方案除了順序編號之外,還可以采用嵌套方案(如(如1.1,1.2)實驗實驗7:時序圖實例:時序圖實例在學(xué)生成績管理信息系統(tǒng)中,教師登記成績的前提是必須在該系統(tǒng)中已經(jīng)注冊,并經(jīng)過審核成為合法教師用戶,才可以對所教的考試課程進(jìn)行登分操作,或修改成績,以及修改存在系統(tǒng)的個人信息,創(chuàng)建教師注冊時序圖。實驗8:客戶取款活動時序圖 6.8 協(xié)作圖協(xié)作圖 6.8

41、.1 協(xié)作圖簡介協(xié)作圖簡介協(xié)作圖(collaboration diagram)用于描述相互協(xié)作的對象之間的交互關(guān)系和連接關(guān)系。雖然時序圖和協(xié)作圖都是用來描述對象間的交互關(guān)系,但側(cè)重點(diǎn)不一樣。時序圖著重體現(xiàn)交互的時間順序,協(xié)作圖則著重體現(xiàn)交互對象間的靜態(tài)鏈接關(guān)系。 時序圖按時序圖按f5可得到協(xié)作圖可得到協(xié)作圖協(xié)作圖協(xié)作圖n圖書館管理系統(tǒng)中的管理員登錄活動的協(xié)作圖。對象關(guān)聯(lián)消息 實驗實驗9:教師注冊過程協(xié)作圖:教師注冊過程協(xié)作圖以學(xué)生成績管理信息系統(tǒng)教師登記成績模塊中教師注冊過程為例,進(jìn)行協(xié)作圖創(chuàng)建的操作。實現(xiàn)建模實現(xiàn)建模n實現(xiàn)建模的目的n在完成系統(tǒng)的邏輯設(shè)計之后,即可開始進(jìn)行系統(tǒng)的物理設(shè)計及實現(xiàn),如可執(zhí)行文件、庫、表、文件和文檔等。因為建模的系統(tǒng)屬于軟件系統(tǒng),所以可以通過實現(xiàn)方式圖來幫助設(shè)計系統(tǒng)的整體物理架構(gòu)。n實現(xiàn)方式圖由組件圖與部署圖組成。 組件圖的建模符號 構(gòu)件圖構(gòu)件圖 n構(gòu)件:n在uml中,構(gòu)件是指系統(tǒng)中可替換的物理部分,是軟件的單個組成部分。包括源代碼文件、可執(zhí)行文件、庫、數(shù)據(jù)庫、javabean等。n構(gòu)件是定義了良好接口的物理實現(xiàn)單元,它封裝了實現(xiàn)并提供了一組接口的實現(xiàn)。n在組件圖中,組件表示為一個矩形,且一側(cè)有凸出的兩個小矩形。組件名字標(biāo)在矩形中。 student.mdf 構(gòu)件圖構(gòu)件圖 組成組成n構(gòu)件圖中通常包含3種元素:構(gòu)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論