UML-PPT-1.ppt_第1頁(yè)
UML-PPT-1.ppt_第2頁(yè)
UML-PPT-1.ppt_第3頁(yè)
UML-PPT-1.ppt_第4頁(yè)
UML-PPT-1.ppt_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、UML,1. UML簡(jiǎn)介,本章目標(biāo),了解面向?qū)ο筌浖_(kāi)發(fā)方法 理解建模的基本概念和必要性 理解 UML設(shè)計(jì)目標(biāo)與原則 了解 UML 的組成,為什么要用面向?qū)ο蠓治雠c設(shè)計(jì),人們?cè)谠絹?lái)越多的領(lǐng)域,把更多、更難的問(wèn)題交給計(jì)算機(jī)去解決。這使得計(jì)算機(jī)軟件的規(guī)模和復(fù)雜性與日俱增,從而使軟件技術(shù)不斷地受到新的挑戰(zhàn)。,60年代軟件危機(jī)的出現(xiàn)就是因?yàn)橄到y(tǒng)的復(fù)雜性超出了人們?cè)诋?dāng)時(shí)的技術(shù)條件下所能駕御的程度。每當(dāng)出現(xiàn)一種先進(jìn)的方法與技術(shù),都會(huì)使軟件危機(jī)得到一定程度的緩和。,然而這種進(jìn)步又立刻促使人們把更多、更復(fù)雜的問(wèn)題交給計(jì)算機(jī)去解決。于是又需要更先進(jìn)的方法與技術(shù)。,大型的、復(fù)雜的軟件系統(tǒng)的開(kāi)發(fā)是一項(xiàng)工程,必須按工

2、程學(xué)的方法組織軟件的生產(chǎn)與管理,必須經(jīng)過(guò)分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、維護(hù)等一系列的軟件生命周期階段。,開(kāi)發(fā)一個(gè)具有一定規(guī)模和復(fù)雜性的軟件系統(tǒng)和編寫(xiě)一個(gè)簡(jiǎn)單的程序大不一樣。其間的差別,借用G. Booch的比喻,如同建造一座大廈和搭一個(gè)狗窩的差別。,復(fù)雜的軟件系統(tǒng),大師說(shuō):沒(méi)有不變的需求,世上的軟件都改動(dòng)過(guò)3次以上,唯一一個(gè)只改動(dòng)過(guò)兩次的軟件的擁有者已經(jīng)死了,死在去修改需求的路上。,軟件可能是人類制造出來(lái)的最復(fù)雜的實(shí)體,軟件開(kāi)發(fā)的復(fù)雜性,軟件開(kāi)發(fā)的復(fù)雜性是軟件設(shè)計(jì)與開(kāi)發(fā)者的體驗(yàn)。具體有: 很難精確把握用戶的需求,開(kāi)發(fā)過(guò)程中用戶需求總是不斷變化,用戶理解的軟件研發(fā)與真實(shí)研發(fā)的實(shí)際情況不同。 很難發(fā)現(xiàn)大

3、型應(yīng)用項(xiàng)目隱蔽著的復(fù)雜性。 人類本身處理復(fù)雜現(xiàn)象的能力有限。 很難預(yù)估最終輸出的執(zhí)行效果及其是否能滿足用戶的期望。 難以預(yù)測(cè)軟件開(kāi)發(fā)過(guò)程中可能遇到的問(wèn)題。,面向?qū)ο蟮姆治龊驮O(shè)計(jì) (OOAD),面向?qū)ο蟮姆椒ò凑杖祟惖淖匀凰季S的方式,面對(duì)客觀世界建立的軟件模型。 充分體現(xiàn)了對(duì)復(fù)雜系統(tǒng)進(jìn)行分解、抽象、模塊化等思想,OOA依照用戶所理解的現(xiàn)實(shí)世界中的對(duì)象,發(fā)現(xiàn)和分析對(duì)象內(nèi)部的特性、行為和對(duì)象之間關(guān)系,建立準(zhǔn)確而簡(jiǎn)潔的軟件系統(tǒng)的對(duì)象模型。,OOD 是根據(jù)已建立的系統(tǒng)對(duì)象模型,運(yùn)用面向?qū)ο蠹夹g(shù),進(jìn)行軟件系統(tǒng)設(shè)計(jì)。,OOAD 與傳統(tǒng)設(shè)計(jì)分析相比優(yōu)點(diǎn),在實(shí)現(xiàn)的結(jié)果和實(shí)際問(wèn)題之間存在一種很接近的匹配關(guān)系 對(duì)象

4、的重用加速了設(shè)計(jì)和開(kāi)發(fā)的過(guò)程 符合人類認(rèn)知的方式,因?yàn)檫@是我們自然的思考方式 加強(qiáng)數(shù)據(jù)封裝 有助于處理軟件開(kāi)發(fā)的復(fù)雜性 為維護(hù)中的系統(tǒng)提供優(yōu)秀的可修改性、可擴(kuò)展性、模塊化的軟件系統(tǒng),為什么要建模,建模是為了讓我們更好地理解將要開(kāi)發(fā)的系統(tǒng)。 在表述一個(gè)軟件問(wèn)題時(shí),由于問(wèn)題本身的復(fù)雜性、計(jì)算機(jī)本身許多概念的晦澀、人員技術(shù)水平、交流及理解能力的局限,單單憑自然語(yǔ)言通常是不夠,因此往往需要其他工具(如圖形等)的協(xié)助。這也就是為什么要建模 大師說(shuō):“人類看圖的能力要遠(yuǎn)遠(yuǎn)超過(guò)看文檔的能力”,什么是模型,模型是用某種工具對(duì)同類或其他工具的表達(dá)方式。 模型從某一個(gè)建模觀點(diǎn)出發(fā),抓住事物最重要的方面而簡(jiǎn)化或忽略

5、其他方面。 工程、建筑和其他許多需要具有創(chuàng)造性的領(lǐng)域中都使用模型。,建模的原則,準(zhǔn)確的原則 模型必須準(zhǔn)確地反映軟件系統(tǒng)的真實(shí)情況。模型必須準(zhǔn)確,意味著在軟件開(kāi)發(fā)的整個(gè)周期內(nèi)模型必須和產(chǎn)品始終保持一致。 分層的原則 在建模的過(guò)程中,必須有不同的模型,以不同的抽象程度,反映系統(tǒng)的不同側(cè)面。在軟件構(gòu)筑的不同階段,不同的開(kāi)發(fā)人員如:投資者、管理者、設(shè)計(jì)者、程序員、測(cè)試者和使用者看待軟件的側(cè)重面有所不同。因此,軟件系統(tǒng)的建模需要不同的模型以反映系統(tǒng)的不同側(cè)面。如,一類模型描繪系統(tǒng)的外部邊界和行為,另一類模型描繪系統(tǒng)的內(nèi)部邏輯關(guān)系。 分治的原則 不可能單獨(dú)用一個(gè)模型來(lái)反映整個(gè)系統(tǒng)的任何側(cè)面。軟件系統(tǒng)是復(fù)雜

6、的,對(duì)于軟件模型的任意一個(gè)側(cè)面不可能用一個(gè)模型來(lái)反映所有內(nèi)容,需要把問(wèn)題分解為不同的子模型,分別處理這些模型,相對(duì)獨(dú)立但又互相聯(lián)系,綜合起來(lái)構(gòu)成了此側(cè)面的一個(gè)完整的模型。 標(biāo)準(zhǔn)的原則 模型必須在某種程度上是通用的。建模的基本目的是交流,一個(gè)開(kāi)發(fā)隊(duì)伍內(nèi)部的交流,同一軟件的不同時(shí)期的版本的開(kāi)發(fā)隊(duì)伍的交流,不同軟件的開(kāi)發(fā)隊(duì)伍之間的交流,以實(shí)現(xiàn)最大程度的軟件復(fù)用。交流需要語(yǔ)言,語(yǔ)言是通用的、標(biāo)準(zhǔn)的。,面向?qū)ο蟮慕?面向?qū)ο蠓治龅哪康氖且獦?gòu)造能夠理解實(shí)際系統(tǒng)的模型。分析從用戶提供的問(wèn)題描述開(kāi)始,這一描述是非完整的或非形式化的。分析模型強(qiáng)調(diào)對(duì)象的三個(gè)方面:靜態(tài)模型、動(dòng)態(tài)模型和功能模型。模型用對(duì)象、關(guān)系、

7、動(dòng)態(tài)控制流和功能轉(zhuǎn)換等來(lái)描述,并不斷獲取需求信息,且把與客戶間的交流貫穿整個(gè)分析過(guò)程。 面向?qū)ο笤O(shè)計(jì)包括系統(tǒng)設(shè)計(jì)與對(duì)象設(shè)計(jì)。系統(tǒng)設(shè)計(jì)是為實(shí)現(xiàn)需求目標(biāo)而對(duì)軟件的系統(tǒng)結(jié)構(gòu)進(jìn)行的總體設(shè)計(jì),包括系統(tǒng)層次結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)數(shù)據(jù)存儲(chǔ)設(shè)計(jì)、系統(tǒng)資源訪問(wèn)設(shè)計(jì)等。對(duì)象設(shè)計(jì)是根據(jù)具體的實(shí)施策略,對(duì)分析模型進(jìn)行擴(kuò)充的過(guò)程。對(duì)象設(shè)計(jì)包括:靜態(tài)結(jié)構(gòu)設(shè)計(jì)、動(dòng)態(tài)行為模型設(shè)計(jì)。通過(guò)對(duì)象設(shè)計(jì)和系統(tǒng)設(shè)計(jì)就可以獲得設(shè)計(jì)模型,這是系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)。,UML 簡(jiǎn)介,UML: 統(tǒng)一建模語(yǔ)言(Unified Modeling Language) UML是用于描繪軟件藍(lán)圖的標(biāo)準(zhǔn)語(yǔ)言. 它可用于對(duì)軟件密集型系統(tǒng)進(jìn)行 可視化(visualize) 詳

8、述說(shuō)明(specify) 構(gòu)造 (construct) 文檔化(document) 這也是對(duì)軟件系統(tǒng)進(jìn)行建模的四個(gè)目的,UML簡(jiǎn)介,解釋: UML是語(yǔ)言: 語(yǔ)言意味著有標(biāo)準(zhǔn)的表達(dá)規(guī)則 UML是藍(lán)圖 UML是由圖形符號(hào)表達(dá)的建模語(yǔ)言 例如,這是UML的一個(gè)模型圖(圖.) 其上的圖形符號(hào)是遵循給定的標(biāo)準(zhǔn)的 例如:類: (圖.),UML為模型可視化提供表示法,說(shuō)明用戶與系統(tǒng)的交互的用例圖 說(shuō)明邏輯結(jié)構(gòu)的類圖 說(shuō)明對(duì)象和鏈接的對(duì)象圖 說(shuō)明行為的狀態(tài)圖 說(shuō)明軟件的物理結(jié)構(gòu)的構(gòu)件圖 顯示軟件與硬件配置之間的映射關(guān)系的部署圖 說(shuō)明行為的交互圖(即協(xié)作圖和時(shí)序圖) 說(shuō)明用例中事件流的活動(dòng)圖,UML 的發(fā)展,U

9、ML 開(kāi)發(fā)中的貢獻(xiàn),在軟件開(kāi)發(fā)生命周期中的應(yīng)用,初步調(diào)查:通過(guò)用例來(lái)捕獲客戶的需求 分析:在真實(shí)世界中的抽象層面上創(chuàng)建類圖,以描述它們的存在和關(guān)系。 設(shè)計(jì):對(duì)類進(jìn)行建模 開(kāi)發(fā):程序員參考在設(shè)計(jì)階段準(zhǔn)備的各種 UML圖表來(lái)理解和開(kāi)發(fā)代碼。 測(cè)試:UML 通過(guò)不同的圖表來(lái)支持軟件的測(cè)試,UML的組成,視圖 - 意味著“觀察”或“檢查” 圖 - 是特定視圖的一部分,圖表繪制完后,就會(huì)被指定給視圖 關(guān)系 - 提供了對(duì)象之間通信的途徑 建模元素 - 由幫助準(zhǔn)備圖和視圖的符號(hào)組成,模型元素,“4+1”視圖,UML 示例,顯示“Hello Uml!”的簡(jiǎn)單 Java Applet程序 -先來(lái)看一下代碼,im

10、port java.awt.Graphics; public class HelloUml extends java.applet.Applet public void paint(Graphics g) g.drawString(“Hello Uml!”,10,10); ,類HelloUml,第一行表示類名,第三行由類包含的操作或方法構(gòu)成,第二行為空,因?yàn)樵擃愔胁恍枰獙傩?“+”表示方法訪問(wèn)類型為public,類的關(guān)系,用包來(lái)組織類,HelloUml,java,包被表示為帶有標(biāo)簽的文件夾,有向的虛線段描述了對(duì)象與包之間的依賴關(guān)系,HelloUml.java的構(gòu)件圖,UML視圖和圖,總結(jié),UML 是一種建模工具 可以使

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論