軟件建模與建模語言課件_第1頁
軟件建模與建模語言課件_第2頁
軟件建模與建模語言課件_第3頁
軟件建模與建模語言課件_第4頁
軟件建模與建模語言課件_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件建模與建模語言為什么要建模?1、模型是軟件文檔的重要成分 一個(gè)開發(fā)團(tuán)隊(duì)首要關(guān)注的不應(yīng)是漂亮的文檔、世界級的會(huì)議、響亮的口號或者華麗的源碼,而是如何滿足用戶和項(xiàng)目的需要。2、建模是軟件工程的核心 一個(gè)狗窩一間平房一幢大樓 需求模型分析模型設(shè)計(jì)模型測試模型軟件建模與建模語言3、什么是模型定義:對問題的書面上的無歧義文字或圖形 的描述. y=f(x) 最杰出的模型:地圖 簡言之,模型是對現(xiàn)實(shí)的簡化。(1)一個(gè)好的模型包括重要的因素,而忽略不相干的細(xì)節(jié)。(2)每一個(gè)系統(tǒng)可以從不同的方面使用不同的模型進(jìn)行描述,因此每個(gè)模型都是對系統(tǒng)從語義上近似的抽象。(3)模型可以是結(jié)構(gòu)的、側(cè)重于系統(tǒng)的組織,也可以

2、是行為的、側(cè)重于系統(tǒng)的動(dòng)作。軟件建模與建模語言4、建模的原則(1)選擇建立什么樣的模型對如何發(fā)現(xiàn)和解決問題具有重要的影響。 正確的模型有助于提高開發(fā)者的洞察力。軟件建模與建模語言軟件建模與建模語言(2)每個(gè)模型可以有多種表達(dá)方式。 使用者的身份和使用的原因是評判模型好壞的關(guān)鍵。(3)最好的模型總是能夠切合實(shí)際。模型是現(xiàn)實(shí)的簡化,必須保證簡化過程不會(huì)掩蓋任何重要的細(xì)節(jié)。軟件建模與建模語言(4)孤立的模型是不完整的。5、建模的目標(biāo) 通過建模,要實(shí)現(xiàn)以下4個(gè)目標(biāo):(1)便于開發(fā)人員展現(xiàn)系統(tǒng)。 可視化visualization(2)允許開發(fā)人員指定系統(tǒng)的結(jié)構(gòu)或行為。 詳述specification(3

3、)提供指導(dǎo)開發(fā)人員構(gòu)造系統(tǒng)的模板。 構(gòu)造construction(4)記錄開發(fā)人員的決策。 文檔化documentation軟件建模與建模語言6、通用建模語言 (1)自然語言、圖形語言、數(shù)學(xué)語言 (2)結(jié)構(gòu)化建模與面向?qū)ο蠼?A、基于功能的分解與基于概念的建模 B、面向?qū)ο蟮慕UZ言(50種之多) Rumbaugh(云豹):OMT Shlaer/Mellor (雪梨與米勒) Jacobson (雅克森) :OOSE Booch(布什) Yourdon(尤頓):OOA/OOD Martin/Odell(馬丁與奧地)軟件建模與建模語言6、通用建模語言 (3)統(tǒng)一建模語言UML 軟件建模與建模語言

4、(3)統(tǒng)一建模語言UML UMLUnified Modeling LanguageUnified:組合了當(dāng)前最好的面向?qū)ο筌浖7椒℅rady Booch,James Rumbaugh,Ivar Jacobson,UML三位主要貢獻(xiàn)者。1.OMT( James Rumbaugh )2.The Booch Method( Grady Booch )3.OOSE( Ivar Jacobson )軟件建模與建模語言(3)統(tǒng)一建模語言UML UMLUnified Modeling LanguageModeling:用于表達(dá)現(xiàn)實(shí)的簡化視圖,以便于面向?qū)ο筌浖到y(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。Language:UML主

5、要是遵循精確語法的圖形語言。軟件建模與建模語言6、通用建模語言 (4)應(yīng)注意的問題 A、UML是一種建模語言,不是一種建模方法。遵循特定的規(guī)則、允許創(chuàng)建各種模型、并不告訴設(shè)計(jì)者需要?jiǎng)?chuàng)建哪些模型,不提供開發(fā)過程 B、UML并不是軟件建模的專用語言。 UML是用于構(gòu)造系統(tǒng)或理解系統(tǒng)的語言(UML既支持正向工程,又支持反向工程)、是文檔化的語言。 軟件建模與建模語言面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο髮ο箢惱^承通信面向?qū)ο蠹夹g(shù)的基本觀點(diǎn)可以概括如下: 客觀世界由對象組成,任何客觀實(shí)體都是對象,復(fù)雜對象可以由簡單對象組成。 具有相同數(shù)據(jù)和操作的對象可歸納成類,對象是類的一個(gè)實(shí)例。 類可以派生出子類,子類除了繼承

6、父類的全部特性外還可以有自己的特性。 對象之間的聯(lián)系通過消息傳遞來維系。1.對象內(nèi)部狀態(tài)打開調(diào)節(jié)頻道其他關(guān)閉調(diào)節(jié)聲音一臺(tái)收音機(jī)對象的實(shí)例客觀世界里的任何實(shí)體都可以被稱之為對象,復(fù)雜的對象可由相對比較簡單的對象以某種方法組成。2.封裝封裝是指把屬性和操作封進(jìn)一個(gè)對象里,它的內(nèi)部信息對外界隱藏,不允許外界直接存取對象的屬性。只能通過對象提供的有限的接口對對象的屬性數(shù)據(jù)進(jìn)行操作。封裝有兩層含義:(1)結(jié)合性(2)信息隱蔽性3.消息消息就是向?qū)ο蟀l(fā)出的請求,一個(gè)消息包含消息名、接收對象的標(biāo)志、服務(wù)標(biāo)志、輸入信息、回答信息等。當(dāng)一個(gè)消息發(fā)送給某個(gè)對象時(shí),包含要求接受對象去執(zhí)行某些活動(dòng)的信息。接收到消息的

7、對象經(jīng)過解釋,然后予以響應(yīng)。這種通信機(jī)制叫做消息傳遞。對象對象消息4.類類是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對象的集合。類是對象的抽象,它將一組數(shù)據(jù)屬性和在數(shù)據(jù)上的一組合法操作抽象封裝。人人類分門別類物以類聚5.繼承繼承是指子類可以自動(dòng)擁有父類的全部屬性與操作。車父類或超類子類或派生類繼承性又分為單重繼承和多重繼承兩類。單重繼承時(shí)一個(gè)子類只能有一個(gè)父類;多重繼承時(shí)一個(gè)子類可以有多于一個(gè)的父類。ABCDEABCDEF單重繼承多重繼承6.多態(tài)性同一操作作用于不同的對象,可以有不同的解釋,產(chǎn)生不同的執(zhí)行結(jié)果,這就是多態(tài)性。多態(tài)性通常通過派生類重載基類中的同名函數(shù)來實(shí)現(xiàn)。多態(tài)性分為如下兩種: 編譯時(shí)的

8、多態(tài)性 運(yùn)行時(shí)的多態(tài)性多態(tài)性的3種實(shí)現(xiàn)方式: 通過接口實(shí)現(xiàn)多態(tài)性 通過繼承實(shí)現(xiàn)多態(tài)性 通過抽象類實(shí)現(xiàn)的多態(tài)性7.結(jié)構(gòu)與連接為了使系統(tǒng)能夠有效地映射問題域,系統(tǒng)開發(fā)者需要認(rèn)識(shí)并描述對象間的以下幾種關(guān)系:(1)一般/特殊結(jié)構(gòu)(2)整體/部分結(jié)構(gòu)計(jì)算機(jī)主機(jī)外設(shè)主板(3)實(shí)例連接實(shí)例連接反映了對象與對象間的靜態(tài)關(guān)系。(4)消息連接教師學(xué)生教1m消息連接描述對象之間的動(dòng)態(tài)聯(lián)系。消息連接是有方向的,連接從消息發(fā)送者指向消息接受者。7、UML的構(gòu)成(圖4-1) (1)視圖“4+1”視圖(圖4-2) 視圖是表達(dá)系統(tǒng)的某一方面特征的UML建模元素的子集。是由一個(gè)或者多個(gè)圖組成的對系統(tǒng)某個(gè)角度的抽象。 (2)圖

9、9種圖 (3)模型元素 UML中的模型元素包括事物和事物之間的聯(lián)系。事物描述了一般的面向?qū)ο蟮母拍?,如類、對象、接口、消息和組件等。 (4)通用機(jī)制 UML提供的通用機(jī)制可以為模型元素提供額外的注釋、信息或語義。軟件建模與建模語言UMLUML視圖視圖通用機(jī)制通用機(jī)制模型元素模型元素用用例例視視圖圖邏邏輯輯視視圖圖并并發(fā)發(fā)視視圖圖組組件件視視圖圖配配置置視視圖圖修修飾飾注注解解規(guī)規(guī)格格說說明明通通用用劃劃分分?jǐn)U擴(kuò)展展機(jī)機(jī)制制事事務(wù)務(wù)關(guān)關(guān)系系用用例例圖圖類類圖圖對對象象圖圖順順序序圖圖協(xié)協(xié)作作圖圖狀狀態(tài)態(tài)圖圖活活動(dòng)動(dòng)圖圖組組件件圖圖配配置置圖圖結(jié)結(jié)構(gòu)構(gòu)事事務(wù)務(wù)動(dòng)動(dòng)作作事事務(wù)務(wù)分分組組事事務(wù)務(wù)注注釋

10、釋事事務(wù)務(wù)關(guān)關(guān)聯(lián)聯(lián)關(guān)關(guān)系系依依賴賴關(guān)關(guān)系系泛泛化化關(guān)關(guān)系系實(shí)實(shí)現(xiàn)現(xiàn)關(guān)關(guān)系系聚聚合合關(guān)關(guān)系系類類接接口口協(xié)協(xié)作作用用例例活活動(dòng)動(dòng)類類組組件件節(jié)節(jié)點(diǎn)點(diǎn)交交互互狀狀態(tài)態(tài)機(jī)機(jī)包包注注釋釋UMLUML視圖視圖通用機(jī)制通用機(jī)制模型元素模型元素用用例例視視圖圖邏邏輯輯視視圖圖并并發(fā)發(fā)視視圖圖組組件件視視圖圖配配置置視視圖圖修修飾飾注注解解規(guī)規(guī)格格說說明明通通用用劃劃分分?jǐn)U擴(kuò)展展機(jī)機(jī)制制事事務(wù)務(wù)關(guān)關(guān)系系用用例例圖圖類類圖圖對對象象圖圖順順序序圖圖協(xié)協(xié)作作圖圖狀狀態(tài)態(tài)圖圖活活動(dòng)動(dòng)圖圖組組件件圖圖配配置置圖圖結(jié)結(jié)構(gòu)構(gòu)事事務(wù)務(wù)動(dòng)動(dòng)作作事事務(wù)務(wù)分分組組事事務(wù)務(wù)注注釋釋事事務(wù)務(wù)關(guān)關(guān)聯(lián)聯(lián)關(guān)關(guān)系系依依賴賴關(guān)關(guān)系系泛泛化化關(guān)

11、關(guān)系系實(shí)實(shí)現(xiàn)現(xiàn)關(guān)關(guān)系系聚聚合合關(guān)關(guān)系系類類接接口口協(xié)協(xié)作作用用例例活活動(dòng)動(dòng)類類組組件件節(jié)節(jié)點(diǎn)點(diǎn)交交互互狀狀態(tài)態(tài)機(jī)機(jī)包包注注釋釋UML的構(gòu)成1、用例視圖 用例視圖強(qiáng)調(diào)從系統(tǒng)的外部參與者角度看到的或需要的系統(tǒng)功能。用例圖2、邏輯視圖 邏輯視圖從系統(tǒng)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為角度顯示如何實(shí)現(xiàn)系統(tǒng)的功能。類圖、對象圖、狀態(tài)圖、時(shí)序圖、協(xié)作圖、活動(dòng)圖3、組件視圖 組件視圖顯示代碼組件的組織結(jié)構(gòu)。組件圖4、并發(fā)視圖 并發(fā)視圖顯示系統(tǒng)的并發(fā)性,解決在并發(fā)系統(tǒng)中存在的通信和同步問題。狀態(tài)圖、協(xié)作圖、活動(dòng)圖5、配置視圖 配置視圖顯示系統(tǒng)的具體部署。配置圖 部署是指將系統(tǒng)配置到由計(jì)算機(jī)和設(shè)備組成的物理結(jié)構(gòu)上。UML“4

12、+1”視圖1、用例圖Use Case Diagram2、類 圖Class Diagram3、對象圖Object Diagram4、狀態(tài)圖State Diagram5、時(shí)序圖Sequence Diagram6、協(xié)作圖Collaboration Diagram7、活動(dòng)圖Activity Diagram8、組件圖Component Diagram9、配置圖Deployment Diagram UML的圖聚集UML的模型元素1、事物 UML中的事物可以分為結(jié)構(gòu)事物、動(dòng)作事物、分組事物和注釋事物4類。 (1) 結(jié)構(gòu)事物結(jié)構(gòu)事物共有7種:類、接口、協(xié)作、用例、活動(dòng)類、組件和節(jié)點(diǎn)。 類。類是對具有相同屬性、

13、方法、關(guān)系和語義的對象的抽象,一個(gè)類可以實(shí)現(xiàn)一個(gè)或多個(gè)接口。在UML中類用包括類名、屬性和方法的矩形表示。UML的模型元素 接口。接口是為類或組件提供特定服務(wù)的一組操作的集合。接口描述了類或組件的對外可見的動(dòng)作。在UML中接口用圓表示,在圖形旁邊還要標(biāo)注接口的名字。 協(xié)作。協(xié)作定義了交互操作。在UML中,用虛線構(gòu)成的橢圓表示,橢圓中要標(biāo)注協(xié)作的名字。UML的模型元素 用例。用例描述系統(tǒng)對一個(gè)特定角色執(zhí)行的一系列動(dòng)作。在UML中,用例用標(biāo)注了用例名稱的實(shí)線橢圓表示,如下圖所示。 活動(dòng)類。活動(dòng)類是類對象有一個(gè)或多個(gè)進(jìn)程或線程的類,在UML中,活動(dòng)類和類的表示法相同,只是邊框用粗線條,如下圖所示。用

14、例UML的模型元素 組件。組件是實(shí)現(xiàn)了一個(gè)接口集合的物理上可替換的系統(tǒng)部分。在UML中,組件如下圖所示。 節(jié)點(diǎn)。節(jié)點(diǎn)是在運(yùn)行時(shí)存在的一個(gè)物理元素。它代表一個(gè)可計(jì)算的資源,通常占用一些內(nèi)存和具有處理能力。一個(gè)組件集合一般來說位于一個(gè)節(jié)點(diǎn)。在UML中,節(jié)點(diǎn)如下圖所示。UML的模型元素(2) 動(dòng)作事物動(dòng)作事物是UML模型中的動(dòng)態(tài)部分,代表時(shí)間和空間上的動(dòng)作。交互和狀態(tài)機(jī)是UML中最基本的兩個(gè)動(dòng)態(tài)事物元素。 交互。交互是一組對象在特定上下文中,為達(dá)到某種特定的目的而進(jìn)行的一系列消息交換組成的動(dòng)作。在UML中用帶箭頭的直線來表示。UML的模型元素 狀態(tài)機(jī)。狀態(tài)機(jī)由一系列對象的狀態(tài)組成。在UML中,狀態(tài)如

15、下圖所示。UML的模型元素(3)分組事物。分組事物是UML模型中組織的部分,分組事物只有一種,稱為包。包是一種有組織地將一系列元素分組的機(jī)制。在UML中包的圖形如下圖所示。UML的模型元素(4)注釋事物。注釋事物是UML模型的解釋部分。在UML中注釋事物的圖形如下圖所示。UML的模型元素2、關(guān)系(1)關(guān)聯(lián)關(guān)系指一種對象和另一種對象有聯(lián)系。(2)依賴關(guān)系 對于兩個(gè)對象X、Y,如果對象X發(fā)生變化,可能會(huì)引起對另一個(gè)對象Y的變化,則稱Y依賴于X。(3)泛化關(guān)系UML中的泛化關(guān)系定義了一般元素和特殊元素之間的分類關(guān)系UML的模型元素(4)實(shí)現(xiàn)關(guān)系實(shí)現(xiàn)關(guān)系將一種模型元素(如類)與另一種模型元素(如接口)連接起來(5)聚合關(guān)系聚合關(guān)系描述元素之間部分與整體的關(guān)系。UML的模型元素1、修飾(1)在使用UML建模時(shí),可以將圖形修飾附加到UML圖中的模型元素上。(2)這種修飾為圖中的模型元素增加了語義。(粗體、下劃線等)2、注釋(1)為了能夠?yàn)橐粋€(gè)模型添加不能用建模語言來表示的信息,UML為用戶提供注釋功能。(2)注釋是以自由的文本形式出現(xiàn)的,它的信息

溫馨提示

  • 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論