版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件建模與建模語(yǔ)言為什么要建模?1、模型是軟件文檔的重要成分 一個(gè)開(kāi)發(fā)團(tuán)隊(duì)首要關(guān)注的不應(yīng)是漂亮的文檔、世界級(jí)的會(huì)議、響亮的口號(hào)或者華麗的源碼,而是如何滿足用戶和項(xiàng)目的需要。2、建模是軟件工程的核心 一個(gè)狗窩一間平房一幢大樓 需求模型分析模型設(shè)計(jì)模型測(cè)試模型軟件建模與建模語(yǔ)言3、什么是模型定義:對(duì)問(wèn)題的書(shū)面上的無(wú)歧義文字或圖形 的描述. y=f(x) 最杰出的模型:地圖 簡(jiǎn)言之,模型是對(duì)現(xiàn)實(shí)的簡(jiǎn)化。(1)一個(gè)好的模型包括重要的因素,而忽略不相干的細(xì)節(jié)。(2)每一個(gè)系統(tǒng)可以從不同的方面使用不同的模型進(jìn)行描述,因此每個(gè)模型都是對(duì)系統(tǒng)從語(yǔ)義上近似的抽象。(3)模型可以是結(jié)構(gòu)的、側(cè)重于系統(tǒng)的組織,也可以
2、是行為的、側(cè)重于系統(tǒng)的動(dòng)作。軟件建模與建模語(yǔ)言4、建模的原則(1)選擇建立什么樣的模型對(duì)如何發(fā)現(xiàn)和解決問(wèn)題具有重要的影響。 正確的模型有助于提高開(kāi)發(fā)者的洞察力。軟件建模與建模語(yǔ)言軟件建模與建模語(yǔ)言(2)每個(gè)模型可以有多種表達(dá)方式。 使用者的身份和使用的原因是評(píng)判模型好壞的關(guān)鍵。(3)最好的模型總是能夠切合實(shí)際。模型是現(xiàn)實(shí)的簡(jiǎn)化,必須保證簡(jiǎn)化過(guò)程不會(huì)掩蓋任何重要的細(xì)節(jié)。軟件建模與建模語(yǔ)言(4)孤立的模型是不完整的。5、建模的目標(biāo) 通過(guò)建模,要實(shí)現(xiàn)以下4個(gè)目標(biāo):(1)便于開(kāi)發(fā)人員展現(xiàn)系統(tǒng)。 可視化visualization(2)允許開(kāi)發(fā)人員指定系統(tǒng)的結(jié)構(gòu)或行為。 詳述specification(3
3、)提供指導(dǎo)開(kāi)發(fā)人員構(gòu)造系統(tǒng)的模板。 構(gòu)造construction(4)記錄開(kāi)發(fā)人員的決策。 文檔化documentation軟件建模與建模語(yǔ)言6、通用建模語(yǔ)言 (1)自然語(yǔ)言、圖形語(yǔ)言、數(shù)學(xué)語(yǔ)言 (2)結(jié)構(gòu)化建模與面向?qū)ο蠼?A、基于功能的分解與基于概念的建模 B、面向?qū)ο蟮慕UZ(yǔ)言(50種之多) Rumbaugh(云豹):OMT Shlaer/Mellor (雪梨與米勒) Jacobson (雅克森) :OOSE Booch(布什) Yourdon(尤頓):OOA/OOD Martin/Odell(馬丁與奧地)軟件建模與建模語(yǔ)言6、通用建模語(yǔ)言 (3)統(tǒng)一建模語(yǔ)言UML 軟件建模與建模語(yǔ)言
4、(3)統(tǒng)一建模語(yǔ)言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 )軟件建模與建模語(yǔ)言(3)統(tǒng)一建模語(yǔ)言UML UMLUnified Modeling LanguageModeling:用于表達(dá)現(xiàn)實(shí)的簡(jiǎn)化視圖,以便于面向?qū)ο筌浖到y(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。Language:UML主
5、要是遵循精確語(yǔ)法的圖形語(yǔ)言。軟件建模與建模語(yǔ)言6、通用建模語(yǔ)言 (4)應(yīng)注意的問(wèn)題 A、UML是一種建模語(yǔ)言,不是一種建模方法。遵循特定的規(guī)則、允許創(chuàng)建各種模型、并不告訴設(shè)計(jì)者需要?jiǎng)?chuàng)建哪些模型,不提供開(kāi)發(fā)過(guò)程 B、UML并不是軟件建模的專(zhuān)用語(yǔ)言。 UML是用于構(gòu)造系統(tǒng)或理解系統(tǒng)的語(yǔ)言(UML既支持正向工程,又支持反向工程)、是文檔化的語(yǔ)言。 軟件建模與建模語(yǔ)言面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο髮?duì)象類(lèi)繼承通信面向?qū)ο蠹夹g(shù)的基本觀點(diǎn)可以概括如下: 客觀世界由對(duì)象組成,任何客觀實(shí)體都是對(duì)象,復(fù)雜對(duì)象可以由簡(jiǎn)單對(duì)象組成。 具有相同數(shù)據(jù)和操作的對(duì)象可歸納成類(lèi),對(duì)象是類(lèi)的一個(gè)實(shí)例。 類(lèi)可以派生出子類(lèi),子類(lèi)除了繼承
6、父類(lèi)的全部特性外還可以有自己的特性。 對(duì)象之間的聯(lián)系通過(guò)消息傳遞來(lái)維系。1.對(duì)象內(nèi)部狀態(tài)打開(kāi)調(diào)節(jié)頻道其他關(guān)閉調(diào)節(jié)聲音一臺(tái)收音機(jī)對(duì)象的實(shí)例客觀世界里的任何實(shí)體都可以被稱(chēng)之為對(duì)象,復(fù)雜的對(duì)象可由相對(duì)比較簡(jiǎn)單的對(duì)象以某種方法組成。2.封裝封裝是指把屬性和操作封進(jìn)一個(gè)對(duì)象里,它的內(nèi)部信息對(duì)外界隱藏,不允許外界直接存取對(duì)象的屬性。只能通過(guò)對(duì)象提供的有限的接口對(duì)對(duì)象的屬性數(shù)據(jù)進(jìn)行操作。封裝有兩層含義:(1)結(jié)合性(2)信息隱蔽性3.消息消息就是向?qū)ο蟀l(fā)出的請(qǐng)求,一個(gè)消息包含消息名、接收對(duì)象的標(biāo)志、服務(wù)標(biāo)志、輸入信息、回答信息等。當(dāng)一個(gè)消息發(fā)送給某個(gè)對(duì)象時(shí),包含要求接受對(duì)象去執(zhí)行某些活動(dòng)的信息。接收到消息的
7、對(duì)象經(jīng)過(guò)解釋?zhuān)缓笥枰皂憫?yīng)。這種通信機(jī)制叫做消息傳遞。對(duì)象對(duì)象消息4.類(lèi)類(lèi)是一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對(duì)象的集合。類(lèi)是對(duì)象的抽象,它將一組數(shù)據(jù)屬性和在數(shù)據(jù)上的一組合法操作抽象封裝。人人類(lèi)分門(mén)別類(lèi)物以類(lèi)聚5.繼承繼承是指子類(lèi)可以自動(dòng)擁有父類(lèi)的全部屬性與操作。車(chē)父類(lèi)或超類(lèi)子類(lèi)或派生類(lèi)繼承性又分為單重繼承和多重繼承兩類(lèi)。單重繼承時(shí)一個(gè)子類(lèi)只能有一個(gè)父類(lèi);多重繼承時(shí)一個(gè)子類(lèi)可以有多于一個(gè)的父類(lèi)。ABCDEABCDEF單重繼承多重繼承6.多態(tài)性同一操作作用于不同的對(duì)象,可以有不同的解釋?zhuān)a(chǎn)生不同的執(zhí)行結(jié)果,這就是多態(tài)性。多態(tài)性通常通過(guò)派生類(lèi)重載基類(lèi)中的同名函數(shù)來(lái)實(shí)現(xiàn)。多態(tài)性分為如下兩種: 編譯時(shí)的
8、多態(tài)性 運(yùn)行時(shí)的多態(tài)性多態(tài)性的3種實(shí)現(xiàn)方式: 通過(guò)接口實(shí)現(xiàn)多態(tài)性 通過(guò)繼承實(shí)現(xiàn)多態(tài)性 通過(guò)抽象類(lèi)實(shí)現(xiàn)的多態(tài)性7.結(jié)構(gòu)與連接為了使系統(tǒng)能夠有效地映射問(wèn)題域,系統(tǒng)開(kāi)發(fā)者需要認(rèn)識(shí)并描述對(duì)象間的以下幾種關(guān)系:(1)一般/特殊結(jié)構(gòu)(2)整體/部分結(jié)構(gòu)計(jì)算機(jī)主機(jī)外設(shè)主板(3)實(shí)例連接實(shí)例連接反映了對(duì)象與對(duì)象間的靜態(tài)關(guān)系。(4)消息連接教師學(xué)生教1m消息連接描述對(duì)象之間的動(dòng)態(tài)聯(lián)系。消息連接是有方向的,連接從消息發(fā)送者指向消息接受者。7、UML的構(gòu)成(圖4-1) (1)視圖“4+1”視圖(圖4-2) 視圖是表達(dá)系統(tǒng)的某一方面特征的UML建模元素的子集。是由一個(gè)或者多個(gè)圖組成的對(duì)系統(tǒng)某個(gè)角度的抽象。 (2)圖
9、9種圖 (3)模型元素 UML中的模型元素包括事物和事物之間的聯(lián)系。事物描述了一般的面向?qū)ο蟮母拍?,如?lèi)、對(duì)象、接口、消息和組件等。 (4)通用機(jī)制 UML提供的通用機(jī)制可以為模型元素提供額外的注釋、信息或語(yǔ)義。軟件建模與建模語(yǔ)言UMLUML視圖視圖通用機(jī)制通用機(jī)制模型元素模型元素用用例例視視圖圖邏邏輯輯視視圖圖并并發(fā)發(fā)視視圖圖組組件件視視圖圖配配置置視視圖圖修修飾飾注注解解規(guī)規(guī)格格說(shuō)說(shuō)明明通通用用劃劃分分?jǐn)U擴(kuò)展展機(jī)機(jī)制制事事務(wù)務(wù)關(guān)關(guān)系系用用例例圖圖類(lèi)類(lèi)圖圖對(duì)對(duì)象象圖圖順順序序圖圖協(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)系系依依賴(lài)賴(lài)關(guān)關(guān)系系泛泛化化關(guān)關(guān)系系實(shí)實(shí)現(xiàn)現(xiàn)關(guān)關(guān)系系聚聚合合關(guān)關(guān)系系類(lèi)類(lèi)接接口口協(xié)協(xié)作作用用例例活活動(dòng)動(dòng)類(lèi)類(lèi)組組件件節(jié)節(jié)點(diǎn)點(diǎn)交交互互狀狀態(tài)態(tài)機(jī)機(jī)包包注注釋釋UMLUML視圖視圖通用機(jī)制通用機(jī)制模型元素模型元素用用例例視視圖圖邏邏輯輯視視圖圖并并發(fā)發(fā)視視圖圖組組件件視視圖圖配配置置視視圖圖修修飾飾注注解解規(guī)規(guī)格格說(shuō)說(shuō)明明通通用用劃劃分分?jǐn)U擴(kuò)展展機(jī)機(jī)制制事事務(wù)務(wù)關(guān)關(guān)系系用用例例圖圖類(lèi)類(lèi)圖圖對(duì)對(duì)象象圖圖順順序序圖圖協(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)系系依依賴(lài)賴(lài)關(guān)關(guān)系系泛泛化化關(guān)
11、關(guān)系系實(shí)實(shí)現(xiàn)現(xiàn)關(guān)關(guān)系系聚聚合合關(guān)關(guān)系系類(lèi)類(lèi)接接口口協(xié)協(xié)作作用用例例活活動(dòng)動(dòng)類(lèi)類(lèi)組組件件節(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)的功能。類(lèi)圖、對(duì)象圖、狀態(tài)圖、時(shí)序圖、協(xié)作圖、活動(dòng)圖3、組件視圖 組件視圖顯示代碼組件的組織結(jié)構(gòu)。組件圖4、并發(fā)視圖 并發(fā)視圖顯示系統(tǒng)的并發(fā)性,解決在并發(fā)系統(tǒng)中存在的通信和同步問(wèn)題。狀態(tài)圖、協(xié)作圖、活動(dòng)圖5、配置視圖 配置視圖顯示系統(tǒng)的具體部署。配置圖 部署是指將系統(tǒng)配置到由計(jì)算機(jī)和設(shè)備組成的物理結(jié)構(gòu)上。UML“4
12、+1”視圖1、用例圖Use Case Diagram2、類(lèi) 圖Class Diagram3、對(duì)象圖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類(lèi)。 (1) 結(jié)構(gòu)事物結(jié)構(gòu)事物共有7種:類(lèi)、接口、協(xié)作、用例、活動(dòng)類(lèi)、組件和節(jié)點(diǎn)。 類(lèi)。類(lèi)是對(duì)具有相同屬性、
13、方法、關(guān)系和語(yǔ)義的對(duì)象的抽象,一個(gè)類(lèi)可以實(shí)現(xiàn)一個(gè)或多個(gè)接口。在UML中類(lèi)用包括類(lèi)名、屬性和方法的矩形表示。UML的模型元素 接口。接口是為類(lèi)或組件提供特定服務(wù)的一組操作的集合。接口描述了類(lèi)或組件的對(duì)外可見(jiàn)的動(dòng)作。在UML中接口用圓表示,在圖形旁邊還要標(biāo)注接口的名字。 協(xié)作。協(xié)作定義了交互操作。在UML中,用虛線構(gòu)成的橢圓表示,橢圓中要標(biāo)注協(xié)作的名字。UML的模型元素 用例。用例描述系統(tǒng)對(duì)一個(gè)特定角色執(zhí)行的一系列動(dòng)作。在UML中,用例用標(biāo)注了用例名稱(chēng)的實(shí)線橢圓表示,如下圖所示。 活動(dòng)類(lèi)。活動(dòng)類(lèi)是類(lèi)對(duì)象有一個(gè)或多個(gè)進(jìn)程或線程的類(lèi),在UML中,活動(dòng)類(lèi)和類(lèi)的表示法相同,只是邊框用粗線條,如下圖所示。用
14、例UML的模型元素 組件。組件是實(shí)現(xiàn)了一個(gè)接口集合的物理上可替換的系統(tǒng)部分。在UML中,組件如下圖所示。 節(jié)點(diǎn)。節(jié)點(diǎn)是在運(yùn)行時(shí)存在的一個(gè)物理元素。它代表一個(gè)可計(jì)算的資源,通常占用一些內(nèi)存和具有處理能力。一個(gè)組件集合一般來(lái)說(shuō)位于一個(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)事物元素。 交互。交互是一組對(duì)象在特定上下文中,為達(dá)到某種特定的目的而進(jìn)行的一系列消息交換組成的動(dòng)作。在UML中用帶箭頭的直線來(lái)表示。UML的模型元素 狀態(tài)機(jī)。狀態(tài)機(jī)由一系列對(duì)象的狀態(tài)組成。在UML中,狀態(tài)如
15、下圖所示。UML的模型元素(3)分組事物。分組事物是UML模型中組織的部分,分組事物只有一種,稱(chēng)為包。包是一種有組織地將一系列元素分組的機(jī)制。在UML中包的圖形如下圖所示。UML的模型元素(4)注釋事物。注釋事物是UML模型的解釋部分。在UML中注釋事物的圖形如下圖所示。UML的模型元素2、關(guān)系(1)關(guān)聯(lián)關(guān)系指一種對(duì)象和另一種對(duì)象有聯(lián)系。(2)依賴(lài)關(guān)系 對(duì)于兩個(gè)對(duì)象X、Y,如果對(duì)象X發(fā)生變化,可能會(huì)引起對(duì)另一個(gè)對(duì)象Y的變化,則稱(chēng)Y依賴(lài)于X。(3)泛化關(guān)系UML中的泛化關(guān)系定義了一般元素和特殊元素之間的分類(lèi)關(guān)系UML的模型元素(4)實(shí)現(xiàn)關(guān)系實(shí)現(xiàn)關(guān)系將一種模型元素(如類(lèi))與另一種模型元素(如接口)連接起來(lái)(5)聚合關(guān)系聚合關(guān)系描述元素之間部分與整體的關(guān)系。UML的模型元素1、修飾(1)在使用UML建模時(shí),可以將圖形修飾附加到UML圖中的模型元素上。(2)這種修飾為圖中的模型元素增加了語(yǔ)義。(粗體、下劃線等)2、注釋?zhuān)?)為了能夠?yàn)橐粋€(gè)模型添加不能用建模語(yǔ)言來(lái)表示的信息,UML為用戶提供注釋功能。(2)注釋是以自由的文本形式出現(xiàn)的,它的信息
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人股權(quán)轉(zhuǎn)讓與股權(quán)激勵(lì)計(jì)劃合同4篇
- 2025年在線娛樂(lè)服務(wù)合同
- 2025年借殼上市銷(xiāo)售協(xié)議
- 2025年化工品供應(yīng)協(xié)議
- 2025年辦公用品采購(gòu)合同
- 2025年倉(cāng)庫(kù)租賃業(yè)務(wù)保密協(xié)議
- 2025年度互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)運(yùn)營(yíng)管理合同范本4篇
- 二零二五版智慧小區(qū)門(mén)禁系統(tǒng)采購(gòu)與維護(hù)協(xié)議4篇
- 二零二五年度二手船舶購(gòu)置協(xié)議材料船舶買(mǎi)賣(mài)3篇
- 2025版儲(chǔ)罐租賃及物聯(lián)網(wǎng)技術(shù)應(yīng)用合同3篇
- 餐廚垃圾收運(yùn)安全操作規(guī)范
- 皮膚內(nèi)科過(guò)敏反應(yīng)病例分析
- 電影《獅子王》的視聽(tīng)語(yǔ)言解析
- 妊娠合并低鉀血癥護(hù)理查房
- 煤礦反三違培訓(xùn)課件
- 向流程設(shè)計(jì)要效率
- 2024年中國(guó)航空發(fā)動(dòng)機(jī)集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 當(dāng)代中外公司治理典型案例剖析(中科院研究生課件)
- 動(dòng)力管道設(shè)計(jì)手冊(cè)-第2版
- 2022年重慶市中考物理試卷A卷(附答案)
- Python繪圖庫(kù)Turtle詳解(含豐富示例)
評(píng)論
0/150
提交評(píng)論