《《統(tǒng)一建模語言(UML)》第2章-UML概述》由會員分享,可在線閱讀,更多相關(guān)《《統(tǒng)一建模語言(UML)》第2章-UML概述(46頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,統(tǒng)一建模語言(,UML,),第,2,章,UML,概述,2.1,為什么需要,UML,計算機圖形學的名言:一幅圖頂?shù)蒙弦磺€字,2.1.1,建模的意義,模型是對現(xiàn)實的簡化,建模是為了更好地理解系統(tǒng)。,模型幫助我們按照實際情況或需求對系統(tǒng)可視化;,(,掌握不了文字,畫幅畫代替,),模型允許我們詳細說明系統(tǒng)的結(jié)構(gòu)、行為;,模型給出了一個構(gòu)造系統(tǒng)的模板;,模型對我們作出的決策進行文檔化。(先有文檔,再有代碼),2.1.2,建模的原理,選擇
2、創(chuàng)建什么模型對如何動手解決問題和如何形成解決方案有意義深遠的影響。,三只小豬蓋房子 摩天大廈,每一種模型可以在不同的精度級別上表示。,最好的模型可以讓你根據(jù)觀察的角色及原因選擇它的詳細程度。,對每個系統(tǒng)最好用一組幾乎獨立的模型去處理。,飛機模型,2.1.3,選擇,UML,使用,UML,建立對象模型來映射現(xiàn)實世界,UML,實現(xiàn)業(yè)務(wù)域到計算機世界的完整、有序的映射,2.1.3,選擇,UML,UML,Unified Modeling Language,Unified,組合了當前最好的面向?qū)ο筌浖7椒?Grady Booch,,,James Rumbaugh,,,Ivar Jacobson,,,U
3、ML,三位主要貢獻者,1.OMT,(,James Rumbaugh,),2.The Booch method,(,Grady Booch,),3.OOSE,(,Ivar Jacobson,),Modeling,用于表達現(xiàn)實的簡化視圖,以便于面向?qū)ο筌浖到y(tǒng)的設(shè)計與實現(xiàn),Language,UML,主要是遵循精確語法的圖形語言(還包括規(guī)則 約束 擴展機制),2.1.3,選擇,UML,2.1.3,選擇,UML,UML,目標:提供全面的建模語言(為所有事情所有人),便于開發(fā)組所有成員交流與通信。,2.1.3,選擇,UML,Unified,Modeling,Language,其它方法,Booch91,O
4、MT-1,OOSE,Booch93,OMT-2,Unified Method 0.8,UML 0.9&0.91,UML 1.0,UML 1.1,UML 1.3,UML 1.4,(使用非常多的一個版本),UML 1.5,UML 2.0,UML,合作伙伴意見,2.2 UML,的發(fā)展歷史,95,96.6,和,96.10,97.1,97.9,99.6,01.9,03.3,最新,OMG,P67 www.OMG.org,2.3 UML,的特點,統(tǒng)一的標準,已經(jīng)被,OMG,接受為標準建模語言,面向?qū)ο?支持面向?qū)ο箝_發(fā),可視化,表示能力強,獨立于開發(fā)過程,可以適用于不同軟件過程,概念明確,表示簡潔,結(jié)構(gòu)清晰
5、,容易學習掌握,理解,UML,的特點,UML,是一種語言,遵循特定的規(guī)則,允許創(chuàng)建各種模型,并不告訴設(shè)計者需要創(chuàng)建哪些模型,自己不斷總結(jié)探索,并不提供開發(fā)過程,即:什么時候該創(chuàng)建什么圖,這個模型怎么用,,UML,并不給出指導,由,Unified Process,給出,,Unified Process,不是本課程重點。,軟件工程三要素:方法(,UML,)、工具(,rose,)、過程(,Unified Process,),UML,是可視化語言,UML,是圖形化語言,圖形便于交流(一幅圖抵上千文字),理解,UML,的特點,UML,是用于構(gòu)造系統(tǒng)或理解系統(tǒng)的語言,UML,既支持正向工程,又支持反向工程
6、,UML,是文檔化語言,將所構(gòu)造的系統(tǒng)用圖形方式記錄下來,便于新程序員跟進,開發(fā)產(chǎn)品新版本時很有用,2.4 UML,的構(gòu)成,基本構(gòu)造塊,規(guī)則,公共機制,2.4.1,基本構(gòu)造塊,事物(元素),thing,模型中最具代表性成分的抽象,關(guān)系,relationship,事物之間的聯(lián)系,圖,diagram,相關(guān)事物的集合,事物(,Thing,),P68,結(jié)構(gòu)事物(,structural thing,),類(,class,),接口(,interface,),協(xié)作(,collaboration,),用例(,use case,),主動類(,active class,),構(gòu)件(,component,),節(jié)點(,
7、node,),事物(,Thing,),行為事物(,Behavioral Thing,),交互(,interaction,),狀態(tài)機(,state machine,),事物(,Thing,),分組事物(,Group Thing,),包(,package,),注釋事物(,Annotational thing,),注解(,note,),關(guān)聯(lián)(,association,),泛化(,generalization,),實現(xiàn)(,realization,),依賴(,dependency,),關(guān)系(,relationship,),圖(,diagram,),用例圖(,use case diagram,),順序圖(
8、,sequence diagram,),協(xié)作圖(,collaboration diagram,),類圖(,class diagram,),對象圖(,object diagram,),活動圖(,activity diagram,),狀態(tài)圖(,state chart diagram,),構(gòu)件圖(,component diagram,),部署圖(,deployment diagram,),用例圖(,use case diagram,),類圖(,class diagram,),順序圖(,sequence diagram,),協(xié)作圖(,collaboration diagram,),活動圖(,activ
9、ity diagram,),描述多個,對象狀態(tài),的變化,狀態(tài)圖(,state chart diagram,),僅描述,一個,對象,構(gòu)件圖(,component diagram,),部署圖(,deployment diagram,),2.4.2,通用機制,規(guī)范說明(,specification,),元素語義的文本描述,用來描述細節(jié),圖則是可視化描述,修飾(,adornment,),對標準的表示,符號增加細節(jié)描述,2.4.2,通用機制,通用劃分(,common division,),類和對象,接口和實現(xiàn),2.4.2,通用機制,擴展機制(,extensibility mechanism,),版型(,
10、stereotype,),根據(jù)已有的元素修訂的新元素。,2.4.2,通用機制,擴展機制(,extensibility mechanism,),標記值(,tagged value,),模型元素附加的命名信息,任何元素都可使用。,有時候和注解起到相同作用。,2.4.2,通用機制,擴展機制(,extensibility mechanism,),約束(,constraint,),語義文字描述的語義限制,2.5 UML,的體系結(jié)構(gòu),4+1,視圖模型,邏輯視圖,(Logical View),實現(xiàn)視圖,(Implementation View),進程視圖,(Process View),部署視圖,(Logic
11、al View),用例視圖,(Use Case View),表示系統(tǒng)功能性需求,表示系統(tǒng)的概念設(shè)計和子系統(tǒng)結(jié)構(gòu)等,說明代碼的結(jié)構(gòu),說明系統(tǒng)中并發(fā)執(zhí)行和同步情況,定義硬件結(jié)點的物理結(jié)構(gòu),2.5 UML,的體系結(jié)構(gòu),用例視圖 (,UML,是用例驅(qū)動的),描述系統(tǒng)的功能需求,邏輯視圖,表示系統(tǒng)的概念設(shè)計和子系統(tǒng)結(jié)構(gòu),進程視圖(并發(fā)視圖),系統(tǒng)中并發(fā)執(zhí)行和同步的情況,實現(xiàn)視圖,系統(tǒng)構(gòu)件、代碼的組成結(jié)構(gòu),部署視圖,系統(tǒng)硬件節(jié)點的物理結(jié)構(gòu),視圖是,UML,中圖的組合,用戶還可根據(jù)需要自己定義視圖,2.6 UML,的應(yīng)用領(lǐng)域,UML,最常用的是進行軟件系統(tǒng)建模,企業(yè)信息系統(tǒng),銀行金融服務(wù),電信、交通、零售,
12、基于,Web,的服務(wù),UML,還可以描述非軟件系統(tǒng),如機構(gòu)組成或工作流等,UML,可以應(yīng)用于系統(tǒng)開發(fā)的各個階段,2.7,支持,UML,的工具,Rational Rose,(市場占用率較高),Sybase PowerDesigner,Microsoft visio,Borland Together,2.8,一個,UML,的例子,import java.awt.Graphics;,class HelloWorld extends java.applet.Applet,public void paint(Graphics g),g.drawString(“Hello,World!”,10,10);,HelloWorld,類圖,1,類,注釋,HelloWorld,類圖,2,繼承關(guān)系,依賴關(guān)系,HelloWorld,構(gòu)件圖,小結(jié),理解建模的意義,在系統(tǒng)分析和設(shè)計時,,UML,作用非常重要。,了解,UML,發(fā)展歷史,最初由三位專家設(shè)計,,UML,的出現(xiàn)結(jié)束了,OO,領(lǐng)域中的方法大戰(zhàn)。,理解,UML,的特點,了解,UML,的組成,理解,UML,的體系結(jié)構(gòu),謝謝觀看,