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

下載本文檔

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

文檔簡介

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

2、是行為的、側(cè)重于系統(tǒng)的動作。軟件建模與建模語言4、建模的原則(1)選擇建立什么樣的模型對如何發(fā)現(xiàn)和解決問題具有重要的影響。 正確的模型有助于提高開發(fā)者的洞察力。軟件建模與建模語言軟件建模與建模語言(2)每個模型可以有多種表達方式。 使用者的身份和使用的原因是評判模型好壞的關(guān)鍵。(3)最好的模型總是能夠切合實際。模型是現(xiàn)實的簡化,必須保證簡化過程不會掩蓋任何重要的細節(jié)。軟件建模與建模語言(4)孤立的模型是不完整的。5、建模的目標 通過建模,要實現(xiàn)以下4個目標:(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三位主要貢獻者。1.OMT( James Rumbaugh )2.The Booch Method( Grady Booch )3.OOSE( Ivar Jacobson )軟件建模與建模語言(3)統(tǒng)一建模語言UML UMLUnified Modeling LanguageModeling:用于表達現(xiàn)實的簡化視圖,以便于面向?qū)ο筌浖到y(tǒng)的設(shè)計與實現(xiàn)。Language:UML主

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

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

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

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

9、9種圖 (3)模型元素 UML中的模型元素包括事物和事物之間的聯(lián)系。事物描述了一般的面向?qū)ο蟮母拍睿珙?、對象、接口、消息和組件等。 (4)通用機制 UML提供的通用機制可以為模型元素提供額外的注釋、信息或語義。軟件建模與建模語言UMLUML視圖視圖通用機制通用機制模型元素模型元素用用例例視視圖圖邏邏輯輯視視圖圖并并發(fā)發(fā)視視圖圖組組件件視視圖圖配配置置視視圖圖修修飾飾注注解解規(guī)規(guī)格格說說明明通通用用劃劃分分擴擴展展機機制制事事務(wù)務(wù)關(guān)關(guān)系系用用例例圖圖類類圖圖對對象象圖圖順順序序圖圖協(xié)協(xié)作作圖圖狀狀態(tài)態(tài)圖圖活活動動圖圖組組件件圖圖配配置置圖圖結(jié)結(jié)構(gòu)構(gòu)事事務(wù)務(wù)動動作作事事務(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)系系實實現(xiàn)現(xiàn)關(guān)關(guān)系系聚聚合合關(guān)關(guān)系系類類接接口口協(xié)協(xié)作作用用例例活活動動類類組組件件節(jié)節(jié)點點交交互互狀狀態(tài)態(tài)機機包包注注釋釋UMLUML視圖視圖通用機制通用機制模型元素模型元素用用例例視視圖圖邏邏輯輯視視圖圖并并發(fā)發(fā)視視圖圖組組件件視視圖圖配配置置視視圖圖修修飾飾注注解解規(guī)規(guī)格格說說明明通通用用劃劃分分擴擴展展機機制制事事務(wù)務(wù)關(guān)關(guān)系系用用例例圖圖類類圖圖對對象象圖圖順順序序圖圖協(xié)協(xié)作作圖圖狀狀態(tài)態(tài)圖圖活活動動圖圖組組件件圖圖配配置置圖圖結(jié)結(jié)構(gòu)構(gòu)事事務(wù)務(wù)動動作作事事務(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)系系實實現(xiàn)現(xiàn)關(guān)關(guān)系系聚聚合合關(guān)關(guān)系系類類接接口口協(xié)協(xié)作作用用例例活活動動類類組組件件節(jié)節(jié)點點交交互互狀狀態(tài)態(tài)機機包包注注釋釋UML的構(gòu)成1、用例視圖 用例視圖強調(diào)從系統(tǒng)的外部參與者角度看到的或需要的系統(tǒng)功能。用例圖2、邏輯視圖 邏輯視圖從系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為角度顯示如何實現(xiàn)系統(tǒng)的功能。類圖、對象圖、狀態(tài)圖、時序圖、協(xié)作圖、活動圖3、組件視圖 組件視圖顯示代碼組件的組織結(jié)構(gòu)。組件圖4、并發(fā)視圖 并發(fā)視圖顯示系統(tǒng)的并發(fā)性,解決在并發(fā)系統(tǒng)中存在的通信和同步問題。狀態(tài)圖、協(xié)作圖、活動圖5、配置視圖 配置視圖顯示系統(tǒng)的具體部署。配置圖 部署是指將系統(tǒng)配置到由計算機和設(shè)備組成的物理結(jié)構(gòu)上。UML“4

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

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

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

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

溫馨提示

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

評論

0/150

提交評論