統(tǒng)一建模語言UML課件_第1頁
統(tǒng)一建模語言UML課件_第2頁
統(tǒng)一建模語言UML課件_第3頁
統(tǒng)一建模語言UML課件_第4頁
統(tǒng)一建模語言UML課件_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件體系結(jié)構(gòu)第二章 統(tǒng)一建模語言UML本章的內(nèi)容與目標(biāo)UML概念PowserDesigner 簡介利用UML進(jìn)行系統(tǒng)分析與設(shè)計(jì)用例圖UML概念統(tǒng)一建模語言(Unified Modeling Language)UML是描述、構(gòu)造和文檔化系統(tǒng)制品的可視化語言。作用: 建立軟件模型建模語言: 提供交流的詞匯和規(guī)則可視化: 通過標(biāo)準(zhǔn)圖符構(gòu)成圖形來描述模型建模語言而非編程語言通用標(biāo)準(zhǔn): 成為軟件建模的標(biāo)準(zhǔn)語言,并且在其他領(lǐng)域也得到應(yīng)用。UML概念建模三要素UML的三要素表示法 - 圖形過程 - 適用于面向?qū)ο蟮能浖_發(fā)過程工具 - (比如:Ratinal Rose)過程表示法工具UML概念按照某種過程進(jìn)

2、行分析、設(shè)計(jì);用設(shè)計(jì)原則和模式進(jìn)行更好的設(shè)計(jì);用UML表示法記錄、輔助“工具”:用UML來表達(dá)OOA/DUML的意義就在于為OOA/D的實(shí)踐規(guī)定了一致的表示法方法:運(yùn)用OOA/D原則領(lǐng)域分析+職責(zé)分配過程:過程模型(活動(dòng)套路,開發(fā)周期)用例驅(qū)動(dòng),以體系結(jié)構(gòu)為中心,迭代增量式UML概念UML不是OOA/D,也不是方法,它僅僅只是一種圖形表示法如果不掌握對象思想,那么UML或任何case工具(如ROSE)將毫無意義我們需要一種用于OOA/D的語言,這既是一種思考的工具,也是一種溝通的形式。因此,我們將在OOA/D中應(yīng)用UML。如何應(yīng)用UML進(jìn)行OOA/D?如何將UML應(yīng)用于統(tǒng)一過程(UP)? UM

3、L: Unified Modeling LanguageUnified:UML概念BoochRumbaughJacobson UML由世界著名的面向?qū)ο蠹夹g(shù)專家G. Booch、J. Rumbaugh、I. Jacobson發(fā)起,在Booch方法,OMT方法和OOSE方法基礎(chǔ)上,廣泛征求意見,汲眾家之長,幾經(jīng)修改而完成的。1997年被OMG(Object Management Group)采納為業(yè)界標(biāo)準(zhǔn)。UML概念Modeling: 建模UML用于建模,即表達(dá)模型設(shè)計(jì),而且自身擁有四層體系結(jié)構(gòu)。 模型是系統(tǒng)一個(gè)抽象的概括,強(qiáng)調(diào)系統(tǒng)設(shè)計(jì)特定的重要方面,同時(shí)忽略大量底層的編程細(xì)節(jié)。而建模就是為了捕

4、捉、描述系統(tǒng)的核心。同一研究對象不同人建立的模型可能同樣好或同樣差。 建模的益處:理解和認(rèn)識系統(tǒng)的結(jié)構(gòu)和行為,掌握系統(tǒng)的本質(zhì)特征。在創(chuàng)建系統(tǒng)之間,了解系統(tǒng)的風(fēng)險(xiǎn)并進(jìn)行化解。是開發(fā)團(tuán)隊(duì)溝通的重要形式,為使用系統(tǒng)的人提供幫助。UML概念Language: 是一種可視化建模語言,有語法和語義,消除了自然語言的歧義。雖然與具體面向?qū)ο笳Z言無關(guān),但學(xué)會(huì)UML的關(guān)鍵之處是將UML模型與具體代碼實(shí)現(xiàn)相互結(jié)合;UML modelSource codeObject structuresExecuting programUMLProgramming languageAbstract view ofAbstract

5、 view ofSpecifiesSpecifies模型與代碼之間的關(guān)系UML概念四層元模型體系結(jié)構(gòu)Run-time Instance運(yùn)行實(shí)例層Model模型層Metamodel元模型層Metametamodel元元模型層Classperson1:PersonPersonToolAssociationInfrastructure Library:Core:Constructs:ClassInfrastructure Library:Core:Abstraction:Relationships規(guī)定元模型的語言規(guī)定模型的語言定義描述語義域的語言UML概念 UML的主要特點(diǎn): 建模設(shè)計(jì)上的標(biāo)準(zhǔn)化與可

6、視化的結(jié)合:模型元素大多是圖形表達(dá),而且語法語義被業(yè)界廣泛認(rèn)可。 建模設(shè)計(jì)上的語言無關(guān)性:UML用于面向?qū)ο蟪绦蛟O(shè)計(jì),其模型設(shè)計(jì)可被當(dāng)今流行的面向?qū)ο笳Z言C+、Java、C#實(shí)現(xiàn),這就是模型設(shè)計(jì)上的語言無關(guān)性,換句話說,UML表達(dá)的模型是具體編程代碼的抽象。建模設(shè)計(jì)上標(biāo)準(zhǔn)性與擴(kuò)展性的統(tǒng)一:UML模型在面向?qū)ο蟪橄笤O(shè)計(jì)的許多表達(dá)方式上實(shí)現(xiàn)了標(biāo)準(zhǔn)化,但是并不能囊括所有設(shè)計(jì)表達(dá),另外面向?qū)ο笳Z言在實(shí)現(xiàn)上的差異性也會(huì)反映在設(shè)計(jì)表達(dá)上,因而UML還提供了用“”符號代表的構(gòu)造型、用“標(biāo)記名=標(biāo)記值”代表的標(biāo)記、“關(guān)鍵詞”代表的約束等擴(kuò)展機(jī)制。 使用UML的CASE(Computer-Assisted So

7、ftware Engineering)工具 Rational Rose PowerDesigner CASE工具的功能構(gòu)造模型并進(jìn)行詳細(xì)說明,可以檢查模型語法正確與否。正向工程(生成數(shù)據(jù)結(jié)構(gòu)、代碼、文檔)和逆向工程(代碼生成模型)便于團(tuán)隊(duì)對模型的共享訪問、安全管理、交流(共享相同概念) 對模型文檔的版本進(jìn)行識別、存儲和管理UML概念1)安裝PD15。PowerDesigner (PD)是Sybase公司推出的用于數(shù)據(jù)庫和面向?qū)ο蠼5膬?yōu)秀工具,現(xiàn)對該工具的使用簡要介紹如下:2)建立面向?qū)ο竽P?,可如圖選擇【W(wǎng)orkspace】,點(diǎn)鼠標(biāo)右鍵,選擇【New】-【Object-Oriented Mo

8、del】(或執(zhí)行工具菜單【File】-【New Model】)。3)在彈出的界面中選定需要的“圖”,為模型命名,指定模型將來的實(shí)現(xiàn)語言為將來生成代碼而設(shè)定,點(diǎn)“OK”。PowerDesigner 簡介4)界面如右圖所示,“模型管理區(qū)”用于管理建立的各種圖以及對圖中使用的模型元素進(jìn)行分類管理;“圖編輯區(qū)”可以進(jìn)行建模,“工具欄”為選定圖下對應(yīng)的模型元素或操作快捷工具。模型管理區(qū)所選擇UML圖編輯區(qū)所選擇UML圖工具欄5)選擇【Tools】下的【CheckModel】可以對建立的模型進(jìn)行語法檢查。PowerDesigner 簡介6)選擇模型名稱,點(diǎn)鼠標(biāo)右鍵,選擇【New】,在彈出菜單中增加新“圖”

9、,也可在此當(dāng)前“圖”下選擇允許的模型元素。7)建立相應(yīng)的類模型后,選擇菜單欄中的【language】-【Generat Java Code】可以自動(dòng)生成Java代碼;選擇【Reverse Engineer Java】可以選定Java程序反向生成模型。8)選擇菜單【Report】下的【Generate Report】自動(dòng)生成模型的Word文檔。PowerDesigner 簡介9)對模型文件進(jìn)行共享管理:PD可將模型保存在數(shù)據(jù)庫中,因而模型文件可實(shí)現(xiàn)共享,便于交流?,F(xiàn)舉例說明具體步驟:安裝Oracle、DB2、SQLServer、MySQL等數(shù)據(jù)庫中的一種,例子中安裝Oracle。配置ODBC數(shù)據(jù)

10、源名,例子中為“ora”。在菜單【Repository】-【 Repository Defination】中定義相應(yīng)連接串,如右圖所示。主要包括存儲名稱、建立訪問用戶名、選擇配置的數(shù)據(jù)源、設(shè)定連接數(shù)據(jù)庫的用戶名和連接數(shù)據(jù)庫的方式。其中存儲名、訪問用戶名、存儲密碼、數(shù)據(jù)庫連接用戶及密碼的詳細(xì)設(shè)定如圖選擇工具欄的第一個(gè)快捷項(xiàng)。而數(shù)據(jù)源的選擇則點(diǎn)擊“Data Source Name”中欄目旁邊的按鈕,在彈出的對話框中進(jìn)行配置。定義一個(gè)存儲名定義一個(gè)訪問用戶名選擇數(shù)據(jù)源名設(shè)定數(shù)據(jù)庫連接用戶采用默認(rèn)直接連接PowerDesigner 簡介11)安全管理:系統(tǒng)默認(rèn)建立一個(gè)管理員“ADMIN”, 在【 Re

11、pository 】-【Administrator】-【user】中建立用戶“ad”并賦予相應(yīng)的訪問權(quán)限。如有多個(gè)訪問用戶,登錄用戶的設(shè)置在【Repository】-【 Repository Defination】中進(jìn)行設(shè)置,或在【Connect】登錄時(shí)臨時(shí)設(shè)置 。10)配置完成后,在菜單【 Repository 】下選擇【Connect】,如果是初次連接,PD將進(jìn)行有關(guān)初始化工作,其提示界面依次如下,按照提示進(jìn)行。PowerDesigner 簡介12)對模型文件進(jìn)行存儲和版本管理:PD將模型文件保存在數(shù)據(jù)庫中,進(jìn)行存儲管理的同時(shí),也可進(jìn)行版本的管理。具體操作步驟如下:在菜單【 Reposit

12、ory 】下選擇 【Check in】 ,加入需要保存到數(shù)據(jù)庫的模型文件“ObjectOrientedModel_1”,保存成功后,模型管理區(qū)【Local】頁簽的文件圖標(biāo)發(fā)生變化,表明處于“Check in”狀態(tài),另外【Repository】頁簽中的文件給出了版本信息。當(dāng)文件被修改后,文件圖標(biāo)用含有“”的形狀標(biāo)明其修改狀態(tài)。此時(shí)再次進(jìn)行“Check in”可形成第二個(gè)版本。PowerDesigner 簡介13)在模型管理區(qū)【Repository】頁簽中選擇文件,在鼠標(biāo)右鍵的彈出菜單中選擇【Compare】,可對不同版本文件的變化進(jìn)行跟蹤。此外,還可在菜單欄中選擇【Repository】-【Ch

13、eck out】將數(shù)據(jù)庫中指定版本的文件導(dǎo)出到本機(jī)指定的目錄中。PowerDesigner 簡介利用UML進(jìn)行系統(tǒng)分析與設(shè)計(jì)面向?qū)ο蠓治觯∣OA)在問題域內(nèi)發(fā)現(xiàn)和描述對象。面向?qū)ο笤O(shè)計(jì)(OOD)如何定義軟件對象以及它們之間如何協(xié)作以實(shí)現(xiàn)需求。利用UML進(jìn)行系統(tǒng)分析與設(shè)計(jì)UML結(jié)構(gòu)利用UML進(jìn)行系統(tǒng)分析與設(shè)計(jì)UML的圖類 圖:類以及類之間的相互關(guān)系對象圖:對象以及對象之間相互關(guān)系構(gòu)件圖:構(gòu)件及其相互依賴關(guān)系部署圖:構(gòu)件在各節(jié)點(diǎn)上的部署順序圖:強(qiáng)調(diào)時(shí)間順序的交互圖協(xié)作圖:強(qiáng)調(diào)對象協(xié)作的交互圖狀態(tài)圖:類所經(jīng)歷的各種狀態(tài)活動(dòng)圖:對工作流建模用例圖:需求捕獲,測試依據(jù)結(jié)構(gòu)行為用例圖靜態(tài)圖實(shí)現(xiàn)圖交互圖行為

14、圖活動(dòng)圖用例圖協(xié)作圖對象圖類圖狀態(tài)圖序列圖WorkflowScenariosInter-class behaviorInter-class behaviorStructureStructureInteraction equence between objectsUML圖在設(shè)計(jì)過程中的演化關(guān)系發(fā)現(xiàn)類方法:名詞短語;公共類;用例導(dǎo)出;CRC(類、職責(zé)、協(xié)作)提煉類方法:系統(tǒng)范圍內(nèi);清晰目的;不能孤立;有屬性;類功能單一;Association&GeneralizationStructure利用UML進(jìn)行系統(tǒng)分析與設(shè)計(jì)一個(gè)簡單的例子骰子游戲:模擬游戲者投擲兩個(gè)骰子,如果總點(diǎn)數(shù)是7則贏得游戲,否則為輸過程:定義用例-定義領(lǐng)域模型-定義設(shè)計(jì)類圖-定義交互圖定義用例(用例是需求分析的一種工具,它是一些情節(jié)的描述)骰子游戲:1、游戲者請求骰子2、系統(tǒng)展示結(jié)果:如果骰子的總點(diǎn)數(shù)是7,則游戲者贏;否則游戲者輸利用UML進(jìn)行系統(tǒng)分析與設(shè)計(jì)一個(gè)簡單的例子過程:定義用例-定義領(lǐng)域模型-定義設(shè)計(jì)類圖-定義交互圖定義領(lǐng)域模型(OOA分析) - 類圖識別問題中的概念,它是對真實(shí)世界領(lǐng)域中的概念

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論