軟件工程第6章-面向?qū)ο蠼<夹g(shù)課件_第1頁
軟件工程第6章-面向?qū)ο蠼<夹g(shù)課件_第2頁
軟件工程第6章-面向?qū)ο蠼<夹g(shù)課件_第3頁
軟件工程第6章-面向?qū)ο蠼<夹g(shù)課件_第4頁
軟件工程第6章-面向?qū)ο蠼<夹g(shù)課件_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第6章 面向?qū)ο蠼<夹g(shù) 本章主要內(nèi)容 UML的特點(diǎn)UML發(fā)展過程和主要內(nèi)容UML模型圖 1第6章 面向?qū)ο蠼<夹g(shù) 本章結(jié)構(gòu):6.1 UML概述 6.2 USE CASE圖6.3 類與類圖 6.4 交互圖 6.5 狀態(tài)圖 6.6 活動圖 26.1 UML概述 6.1.1 UML定義UML是一種繪制軟件藍(lán)圖的標(biāo)準(zhǔn)建模語言,可以使用UML對軟件密集型系統(tǒng)制品進(jìn)行可視化、詳述、構(gòu)造和文檔化。它不僅統(tǒng)一了Booch、Rumbaugh和Jacobson的表示方法,而且對其做了進(jìn)一步的發(fā)展,并最終統(tǒng)一為大眾所接受的標(biāo)準(zhǔn)建模語言。 6.1.2 UML的發(fā)展歷史從1989年到1994年,其數(shù)量超過五十種 。

2、1994年Grady Booch和Jim Rumbaugh開始致力于統(tǒng)一建模語言工作,之后OOSE 的創(chuàng)始人Ivar Jacobson加入。經(jīng)過三人的共同努力,于1996年發(fā)布了統(tǒng)一建模語言UML(Unified Modeling Language)。然后成立了UML成員協(xié)會,以完善、加強(qiáng)和促進(jìn)UML的定義工作。當(dāng)前廣泛使用的是UML 2.0版本。 36.1 UML概述 6.1.3 UML主要內(nèi)容作為一種建模語言,UML的定義包括UML語義和UML表示法兩個(gè)部分。 UML語義描述基于UML的精確元模型定義。UML表示法定義UML符號表示,為開發(fā)者或開發(fā)工具使用這些圖形符號和文本語法為系統(tǒng)建模提

3、供了標(biāo)準(zhǔn)。 46.1 UML概述 UML有如下幾種圖: 1用例圖(Use Case Diagram);2類圖(Class Diagram);3對象圖(Object Diagram);4順序圖(Sequence Diagram);5協(xié)作圖(Collaboration Diagram);6狀態(tài)圖(State Diagram);7活動圖(Activity Diagram);8構(gòu)件圖(Component Diagram);9部署圖(Deployment Diagram)。 56.1 UML概述 6.1.4 UML主要特點(diǎn)UML是一種語言,提供了用于交流的詞匯表和在詞匯表中組合詞匯的規(guī)則;UML是一種通

4、用建模語言。UML是一種離散的建模語言,適合對諸如由計(jì)算機(jī)軟件、固件或數(shù)字邏輯構(gòu)成的離散系統(tǒng)建模,不適合對諸如工程和物理學(xué)領(lǐng)域中的連續(xù)系統(tǒng)建模。是一種可視化的語言、圖形化的語言、清晰的模型描述語言。是一種用于詳細(xì)描述的語言。所構(gòu)造的模型是精確的、無歧義的和完整的。是一種文檔化語言。適于建立系統(tǒng)體系結(jié)構(gòu)及其所有的細(xì)節(jié)文檔。 66.2 USE CASE圖 6.2.1 USE CASE圖功能用例圖(use case diagram)在軟件開發(fā)中起著非常重要的作用,它是捕獲、描述用戶需求非常有力的工具。用例圖展現(xiàn)了一組用例、參與者(一種特殊的類)以及它們之間的關(guān)系。用例圖給出系統(tǒng)的靜態(tài)用例視圖,這些圖

5、對于系統(tǒng)的行為進(jìn)行組織和建模非常重要。用例模型是系統(tǒng)需求分析階段的成果之一,不但有助于幫助分析員理清思路,驗(yàn)證用戶需求;而且也是開發(fā)人員之間進(jìn)行交流的重要手段。 用例圖主要的作用有三個(gè):(1)獲取需求(2)指導(dǎo)測試(3)驅(qū)動開發(fā)過程中的其他工作流,如分析、測試等。 76.2 USE CASE圖 6.2.2 系統(tǒng)邊界與參與者識別 參與者代表在系統(tǒng)邊界之外的真實(shí)事物,并不是系統(tǒng)的組成部分。參與者透過系統(tǒng)邊界直接與系統(tǒng)交互。與系統(tǒng)進(jìn)行間接交互的事物不是系統(tǒng)的參與者。交互是需要有意義的,與系統(tǒng)進(jìn)行無意義交互的事物不作為系統(tǒng)參與者。該“意義”是指業(yè)務(wù)層面上的意義,因?yàn)橛美旧硎怯脕砻枋鰳I(yè)務(wù)需求的。參與者

6、可以是任何事物,系統(tǒng)的參與者不僅僅是系統(tǒng)的用戶、操作員,有可能是其他事物。 86.2 USE CASE圖 6.2.3 USE CASE獲取 一個(gè)用例應(yīng)具有如下一些特點(diǎn),缺一不可:用例存在于系統(tǒng)邊界之內(nèi),與參與者恰恰相反,用例是系統(tǒng)執(zhí)行的一系列動作用例必須具備一個(gè)業(yè)務(wù)目標(biāo),每個(gè)用例相對于參與者必定有可觀測的結(jié)果值,參與者觸動一個(gè)用例是因?yàn)閰⑴c者有一些需要使用它來滿足的目標(biāo)。結(jié)果值由系統(tǒng)用例生成,用例產(chǎn)生一個(gè)可觀測性的結(jié)果,就是能夠被用戶識別的具有業(yè)務(wù)意義的結(jié)果,產(chǎn)生這一結(jié)果的行為是系統(tǒng)行為的一部分,而不是由其他系統(tǒng)外部行為的結(jié)果。用例的行為序列是從參與者的角度描述的,所使用的語言是業(yè)務(wù)語言,而非

7、從開發(fā)人員的角度描述,更不能采用開發(fā)人員的語言。用例應(yīng)從用戶的角度以動詞命名,從參與者的角度閱讀,應(yīng)該是一個(gè)完成的有業(yè)務(wù)意義的句子(包括主語和謂語兩部分)。96.2 USE CASE圖 6.2.4 參與者、用例之間的關(guān)系 用例之間有著三種關(guān)系:包含關(guān)系、擴(kuò)展關(guān)系和泛化關(guān)系。1包含關(guān)系2擴(kuò)展關(guān)系3泛化關(guān)系106.2 USE CASE圖 6.2.5 USE CASE腳本規(guī)約 用例的核心是“一組行為序列”,作為一個(gè)總圖使用簡潔明了,但是用例本身需要文字,用文字描述其行為序列。用例所描述的行為序列往往包含著許多分支點(diǎn)和異常點(diǎn),如下 圖 所示 。116.3 類與類圖 6.3.1 類圖 類圖是邏輯視圖的重

8、要組成部分,用于對系統(tǒng)的靜態(tài)結(jié)構(gòu)建模。在系統(tǒng)分析階段,類圖主要用于顯示角色和提供系統(tǒng)行為的實(shí)體的職責(zé);在系統(tǒng)設(shè)計(jì)階段,類圖主要用于捕捉組成系統(tǒng)體系結(jié)構(gòu)的類結(jié)構(gòu);在系統(tǒng)實(shí)現(xiàn)階段,根據(jù)類圖中的類及它們之間的關(guān)系實(shí)現(xiàn)系統(tǒng)的功能。 6.3.2 基本要素 1類類是一組具有相同屬性、相同行為、和其他對象有相同關(guān)系、有相同表現(xiàn)的對象描述,類具有屬性和操作,在UML中通常表示如下圖。126.3 類與類圖 如左圖 ,類圖具有類名、屬性、操作三個(gè)類元素,往往可以隱藏或省略屬性和操作部分,如右圖 。 136.3 類與類圖 2對象相對一個(gè)類的實(shí)例是對象,對象是一個(gè)類的實(shí)例,對象的每一個(gè)屬性都具有具體的值,在UML中用

9、如下圖 所示 。左圖說明John是對象名,是類Person的一個(gè)實(shí)例。若僅僅指明是某一個(gè)類的一般性對象,可表示為右圖 。 146.3 類與類圖 3接口接口是一組可重用的操作,描述類的部分行為 。在UML中,接口的表示方法有兩種,如下圖 所示。接口和它所依附的類之間往往用一條實(shí)線連接,以此來描述這種依附關(guān)系。156.3 類與類圖 6.3.3類中的關(guān)系常見的關(guān)系有:一般化關(guān)系(泛化關(guān)系)(Generalization),關(guān)聯(lián)關(guān)系(Association),聚合關(guān)系(Aggregation),合成關(guān)系(Composition),依賴關(guān)系(Dependency)。其中,聚合關(guān)系、合成關(guān)系屬于關(guān)聯(lián)關(guān)系。

10、1泛化關(guān)系泛化關(guān)系是繼承機(jī)制中產(chǎn)生的類與類之間的關(guān)系,是“is a part of”關(guān)系 。其表示如下圖所示。166.3 類與類圖 2關(guān)聯(lián)關(guān)系 關(guān)聯(lián)關(guān)系表示兩個(gè)類在概念上有連接關(guān)系,類之間的連接稱為關(guān)聯(lián),是對不同類的對象可以相互作用的描述。關(guān)聯(lián)關(guān)系用一根連接類的實(shí)線表示,用箭頭表示關(guān)聯(lián)的方向;如果不明確指明方向,則默認(rèn)關(guān)聯(lián)是雙向的。如下圖表示。 176.3 類與類圖 關(guān)聯(lián)關(guān)系表示兩個(gè)類在概念上有連接關(guān)系,類之間的連接稱為關(guān)聯(lián),是對不同類的對象可以相互作用的描述。關(guān)聯(lián)關(guān)系用一根連接類的實(shí)線表示,用箭頭表示關(guān)聯(lián)的方向;如果不明確指明方向,則默認(rèn)關(guān)聯(lián)是雙向的。如下圖表示。 186.3 類與類圖 (1

11、)聚合關(guān)系 聚合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是強(qiáng)的關(guān)聯(lián)關(guān)系。關(guān)聯(lián)關(guān)系的兩個(gè)類處于同一層次上,聚合關(guān)系兩個(gè)類處于不同的層次,一個(gè)是整體,一個(gè)是部分。(2)合成關(guān)系合成關(guān)系也是關(guān)聯(lián)關(guān)系的一種,類似聚合關(guān)系,但是比聚合關(guān)系強(qiáng)的關(guān)系。它要求普通的聚合關(guān)系中代表整體的對象負(fù)責(zé)代表部分的對象的生命周期,合成關(guān)系不能共享。 196.3 類與類圖 3依賴關(guān)系在類圖中,依賴關(guān)系也是一種類與類之間的連接,表示一個(gè)類依賴于另一個(gè)類的定義。如下圖 ,表示客戶類依賴提供者類存在,或客戶類使用了另一個(gè)提供者類。 206.3 類與類圖 4實(shí)現(xiàn)關(guān)系類圖中的實(shí)現(xiàn)關(guān)系用于接口和它的實(shí)現(xiàn)類之間,即類和接口之間的關(guān)系是實(shí)現(xiàn)關(guān)系,表示類實(shí)現(xiàn)

12、接口提供的操作。其圖形表示因接口的表示方法而異,如下圖所示。216.4 交互圖 6.4.1系統(tǒng)交互特征面向?qū)ο蟮某绦蛟O(shè)計(jì),使用對象模型描述事物及其靜態(tài)結(jié)構(gòu)關(guān)系;采用交互圖(Interaction Diagram)描述這些事物為實(shí)現(xiàn)某一主題所進(jìn)行的交互、協(xié)作關(guān)系,用以描述系統(tǒng)的動態(tài)行為特征。順序圖(Sequence Diagram)和協(xié)作圖(Collaboration Diagram)都是交互圖。 226.4 交互圖 6.4.2 順序圖順序圖(也稱時(shí)序圖)表示實(shí)例之間按時(shí)間順序組織的交互,是描述消息時(shí)間順序的交互圖。支持實(shí)時(shí)系統(tǒng)和復(fù)雜場景的詳細(xì)建模。在圖形上,順序圖是二維的。其中,垂直方向表示時(shí)

13、間,水平方向表示不同的對象,顯示的對象沿橫軸排列,從左到右分布在圖的頂部;而消息則沿縱軸按時(shí)間順序排序。如下圖所示。 236.4 交互圖 順序圖示例246.4 交互圖 6.4.3 協(xié)作圖協(xié)作圖是強(qiáng)調(diào)發(fā)送和接受消息的對象之間的結(jié)構(gòu)組織的交互圖,可顯示對象、對象之間的鏈接以及對象之間的消息,還可以顯示當(dāng)前模型中的簡單類實(shí)例和類實(shí)體實(shí)例。如某一取款過程的協(xié)作圖如下圖 所示。256.4 交互圖 協(xié)作圖示例266.5 狀態(tài)圖 6.5.1 狀態(tài)及狀態(tài)描述狀態(tài)圖是對類的一種補(bǔ)充描述,它展示了此類對象所具有可能的狀態(tài)以及某些事件發(fā)生時(shí)其狀態(tài)的轉(zhuǎn)移情況。與交互圖不同,交互圖對共同工作的對象群體的行為建模,而狀態(tài)圖對單個(gè)對象的狀態(tài)變化行為建模。276.5 狀態(tài)圖 6.5.2 狀態(tài)圖構(gòu)成要素狀態(tài)圖的主要構(gòu)成要素是狀態(tài) 、轉(zhuǎn)換、事件和動作 。通常把一個(gè)狀態(tài)表示成一個(gè)四角均為圓角的矩形。如下圖 6所示。 狀態(tài)圖示例286.6 活動圖 6.6.1 活動圖概念活動圖(Activity Diagram)和交互圖是UML中對系統(tǒng)動態(tài)方面建模的兩種主要形式?;顒訄D主要用于系統(tǒng)分析,它描述系統(tǒng)的行為,顯示系統(tǒng)中動作之間的轉(zhuǎn)移。活動圖一般從開始節(jié)點(diǎn)開始,經(jīng)過若干動作后,最后到達(dá)結(jié)束節(jié)點(diǎn),提供了一種建模業(yè)務(wù)工作流的方法。與交互圖不同,交

溫馨提示

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

評論

0/150

提交評論