系統(tǒng)分析與設(shè)計——統(tǒng)一建模語言UML_第1頁
系統(tǒng)分析與設(shè)計——統(tǒng)一建模語言UML_第2頁
系統(tǒng)分析與設(shè)計——統(tǒng)一建模語言UML_第3頁
系統(tǒng)分析與設(shè)計——統(tǒng)一建模語言UML_第4頁
系統(tǒng)分析與設(shè)計——統(tǒng)一建模語言UML_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、北京理工珠海學(xué)院北京理工珠海學(xué)院6.1 6.1 6.2 6.2 6.36.36.46.46.56.5北京理工珠海學(xué)院北京理工珠海學(xué)院6.16.1統(tǒng)一建模語言概念統(tǒng)一建模語言概念unified modeling unified modeling language;UMLlanguage;UML是是一種面向?qū)ο蟮慕UZ言,它是運(yùn)用一種面向?qū)ο蟮慕UZ言,它是運(yùn)用統(tǒng)一的、標(biāo)準(zhǔn)化的標(biāo)記和定義實現(xiàn)對統(tǒng)一的、標(biāo)準(zhǔn)化的標(biāo)記和定義實現(xiàn)對系統(tǒng)進(jìn)行面向?qū)ο蟮拿枋龊徒?。系統(tǒng)進(jìn)行面向?qū)ο蟮拿枋龊徒!VС帜P突拖到y(tǒng)開發(fā)的圖形化語言支持模型化和系統(tǒng)開發(fā)的圖形化語言, ,為系統(tǒng)開發(fā)的所有階段提供模型化和為系統(tǒng)開發(fā)的所

2、有階段提供模型化和可視化支持,包括由可視化支持,包括由需求分析需求分析到構(gòu)造到構(gòu)造和配置和配置. . 北京理工珠海學(xué)院北京理工珠海學(xué)院6.1.1 UML6.1.1 UML的發(fā)展的發(fā)展面向?qū)ο蠼UZ言出現(xiàn)于面向?qū)ο蠼UZ言出現(xiàn)于7070年代中期。從年代中期。從19891989年到年到19931993年,年,其數(shù)量從不到其數(shù)量從不到十種十種增加到了增加到了五十多種五十多種面向?qū)ο蠼UZ言出面向?qū)ο蠼UZ言出現(xiàn)于現(xiàn)于7070年代中期。從年代中期。從19891989年到年到19941994年,其數(shù)量從不到十種年,其數(shù)量從不到十種增加到了五十多種增加到了五十多種. . 1.1. 到了二十世紀(jì)九十年代中期

3、,出現(xiàn)了第二代面向?qū)ο蟮搅硕兰o(jì)九十年代中期,出現(xiàn)了第二代面向?qū)ο蠓椒?,著名的有方法,著名的有Booch93Booch93、OOSEOOSE、OMT-2OMT-2等。等。2. 2. RumbaughRumbaugh等人提出了面向?qū)ο蟮慕<夹g(shù)(等人提出了面向?qū)ο蟮慕<夹g(shù)(OMTOMT)方法,)方法,采用了面向?qū)ο蟮母拍?,并引入各種獨(dú)立于語言的表采用了面向?qū)ο蟮母拍睿⒁敫鞣N獨(dú)立于語言的表示符。這種方法用示符。這種方法用對象模型、動態(tài)模型、功能模型對象模型、動態(tài)模型、功能模型和和用例模型,共同完成對整個系統(tǒng)的建模用例模型,共同完成對整個系統(tǒng)的建模. .3. Jacobson3. Jacob

4、son于于19941994年提出了年提出了OOSEOOSE方法,其最大特點(diǎn)是面向用例方法,其最大特點(diǎn)是面向用例(Use-Case)(Use-Case),并在用例的描述中引入了外部角色的概念,并在用例的描述中引入了外部角色的概念4.19964.1996年年,UML,UML作為第三代用來為對面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)作為第三代用來為對面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品品, ,進(jìn)行可視化開發(fā)的圖形化工具進(jìn)行可視化開發(fā)的圖形化工具. .北京理工珠海學(xué)院北京理工珠海學(xué)院6.1.2UML6.1.2UML主要內(nèi)容主要內(nèi)容 北京理工珠海學(xué)院北京理工珠海學(xué)院(2) UML表示法表示法定義定義UMLUML符號的表示法,為開發(fā)者符號

5、的表示法,為開發(fā)者或開發(fā)工具使用這些或開發(fā)工具使用這些圖形符號圖形符號和和文文本語法本語法為為系統(tǒng)建模系統(tǒng)建模提供了標(biāo)準(zhǔn)。這提供了標(biāo)準(zhǔn)。這些些圖形符號圖形符號和和文字所表達(dá)文字所表達(dá)的是的是應(yīng)用應(yīng)用級的模型級的模型,在語義上它是,在語義上它是UMLUML元模元模型型的的實例實例。標(biāo)準(zhǔn)建模語言標(biāo)準(zhǔn)建模語言UMLUML的重要內(nèi)容可以的重要內(nèi)容可以由下列由下列五類圖五類圖(共(共9 9種圖形)來定種圖形)來定義:義: 北京理工珠海學(xué)院北京理工珠海學(xué)院五類圖五類圖第一類是第一類是用例圖用例圖,從用戶角度描述系統(tǒng)功能,并指出各功能的操作者,從用戶角度描述系統(tǒng)功能,并指出各功能的操作者 . .第二類是第二

6、類是靜態(tài)圖靜態(tài)圖 ,包括,包括類圖、對象圖類圖、對象圖和和包圖包圖 . .第三類是第三類是行為圖行為圖, ,描述系統(tǒng)的描述系統(tǒng)的動態(tài)模型動態(tài)模型和組成和組成對象間對象間的的交互關(guān)系交互關(guān)系。行為圖。行為圖包括:包括:狀態(tài)圖、活動圖、順序圖狀態(tài)圖、活動圖、順序圖和和協(xié)作圖協(xié)作圖第四類是第四類是交互圖交互圖, ,描述描述對象間對象間的的交互關(guān)系交互關(guān)系。( (順序圖順序圖顯示對象之間的動態(tài)顯示對象之間的動態(tài)合作關(guān)系,它強(qiáng)調(diào)對象之間消息發(fā)送的順序,同時顯示對象之間的交互合作關(guān)系,它強(qiáng)調(diào)對象之間消息發(fā)送的順序,同時顯示對象之間的交互;合作圖合作圖描述對象間的描述對象間的協(xié)作關(guān)系協(xié)作關(guān)系,顯示,顯示對象

7、間的動態(tài)合作對象間的動態(tài)合作關(guān)系和關(guān)系和對象對象以以及它們及它們之間之間的關(guān)系的關(guān)系) )。如果強(qiáng)調(diào)。如果強(qiáng)調(diào)( (時間和順序,則使用順序圖時間和順序,則使用順序圖) );如果強(qiáng)調(diào);如果強(qiáng)調(diào)( (上下級關(guān)系,則選擇合作圖上下級關(guān)系,則選擇合作圖) )。這。這兩種圖合稱兩種圖合稱為交互圖為交互圖. .第五類是第五類是實現(xiàn)圖實現(xiàn)圖 , ,其中其中構(gòu)件圖構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。一個部件可能是一個資源代碼部件、一個二進(jìn)制部件或一個依賴關(guān)系。一個部件可能是一個資源代碼部件、一個二進(jìn)制部件或一個可執(zhí)行部件。它包含可執(zhí)行部件。它包含邏輯類邏輯類

8、或或?qū)崿F(xiàn)類實現(xiàn)類的有關(guān)信息。構(gòu)件圖有助于分析和的有關(guān)信息。構(gòu)件圖有助于分析和理解部件之間的相互影響程度。理解部件之間的相互影響程度。 北京理工珠海學(xué)院北京理工珠海學(xué)院6.1.2統(tǒng)一建模語言特點(diǎn)統(tǒng)一建模語言特點(diǎn)(1 1)面向?qū)ο螅┟嫦驅(qū)ο? :支持面向?qū)ο蠹夹g(shù)的主要概念支持面向?qū)ο蠹夹g(shù)的主要概念, ,提供提供 了一批基本的模型元素表示圖形和方法了一批基本的模型元素表示圖形和方法, ,簡明表簡明表 達(dá)面向?qū)ο蟮母鞣N概念達(dá)面向?qū)ο蟮母鞣N概念. .(2 2)可視化)可視化: :通過通過UMLUML的模型圖清晰表示系統(tǒng)的邏輯的模型圖清晰表示系統(tǒng)的邏輯 模型和實現(xiàn)模型模型和實現(xiàn)模型, ,還用于各種復(fù)雜系統(tǒng)

9、的建模還用于各種復(fù)雜系統(tǒng)的建模. .(3 3)獨(dú)立于過程)獨(dú)立于過程: :獨(dú)立于開發(fā)過程獨(dú)立于開發(fā)過程. .(4 4)獨(dú)立于程序設(shè)計語言)獨(dú)立于程序設(shè)計語言: :建好的系統(tǒng)模型可用任何建好的系統(tǒng)模型可用任何 面向?qū)ο蟮恼Z言來實現(xiàn)面向?qū)ο蟮恼Z言來實現(xiàn). .(5 5)易于掌握和使用)易于掌握和使用: :結(jié)構(gòu)清晰結(jié)構(gòu)清晰, ,建模簡明易于掌握建模簡明易于掌握北京理工珠海學(xué)院北京理工珠海學(xué)院6.1.3 UML應(yīng)用領(lǐng)域應(yīng)用領(lǐng)域UMLUML的的目標(biāo)目標(biāo)是以面向?qū)ο髨D的方式來描述任何類型的系統(tǒng)是以面向?qū)ο髨D的方式來描述任何類型的系統(tǒng),具有很寬的應(yīng)用領(lǐng)域,具有很寬的應(yīng)用領(lǐng)域. . UMLUML適用于系統(tǒng)開發(fā)過

10、程中從需求規(guī)格描述到系統(tǒng)完成后適用于系統(tǒng)開發(fā)過程中從需求規(guī)格描述到系統(tǒng)完成后測試的不同階段。在需求分析階段,可以用用例來捕獲用測試的不同階段。在需求分析階段,可以用用例來捕獲用戶需求。通過用例建模,描述對系統(tǒng)感興趣的外部角色及戶需求。通過用例建模,描述對系統(tǒng)感興趣的外部角色及其對系統(tǒng)(用例)的功能要求。分析階段主要關(guān)心問題域其對系統(tǒng)(用例)的功能要求。分析階段主要關(guān)心問題域中的主要概念(如抽象、類和對象等)和機(jī)制,需要識別中的主要概念(如抽象、類和對象等)和機(jī)制,需要識別這些類以及它們相互間的關(guān)系,并用這些類以及它們相互間的關(guān)系,并用UMLUML類圖來描述。為類圖來描述。為實現(xiàn)用例,類之間需要

11、協(xié)作,這可以用實現(xiàn)用例,類之間需要協(xié)作,這可以用UMLUML動態(tài)模型來描動態(tài)模型來描述。在分析階段,只對問題域的對象(現(xiàn)實世界的概念)述。在分析階段,只對問題域的對象(現(xiàn)實世界的概念)建模,而不考慮定義軟件系統(tǒng)中技術(shù)細(xì)節(jié)的類(如處理用建模,而不考慮定義軟件系統(tǒng)中技術(shù)細(xì)節(jié)的類(如處理用戶接口、數(shù)據(jù)庫、通訊和并行性等問題的類)。這些技術(shù)戶接口、數(shù)據(jù)庫、通訊和并行性等問題的類)。這些技術(shù)細(xì)節(jié)將在設(shè)計階段引入,因此設(shè)計階段為構(gòu)造階段提供更細(xì)節(jié)將在設(shè)計階段引入,因此設(shè)計階段為構(gòu)造階段提供更詳細(xì)的規(guī)格說明。詳細(xì)的規(guī)格說明。 北京理工珠海學(xué)院北京理工珠海學(xué)院6.1.4 UML組成組成UMLUML支持從需求分

12、析到開發(fā)設(shè)計過程支持從需求分析到開發(fā)設(shè)計過程,UML,UML通過三類通過三類圖形建立系統(tǒng)模型圖形建立系統(tǒng)模型; ; 用例圖用例圖 靜態(tài)結(jié)構(gòu)圖靜態(tài)結(jié)構(gòu)圖( (對象類圖對象類圖, ,對象圖對象圖, ,組件圖組件圖, ,配置圖配置圖) ) 動態(tài)行為圖動態(tài)行為圖( (順序圖順序圖, ,協(xié)作圖協(xié)作圖, ,狀態(tài)圖狀態(tài)圖, ,活動圖活動圖) )UMLUML組成組成-由圖由圖, ,元模型組成元模型組成; ; 其中其中: :圖圖語法語法; ; 元模型元模型語義語義; ;UMLUML包括三個基本構(gòu)造快包括三個基本構(gòu)造快( (事物事物, ,關(guān)系關(guān)系, ,圖圖) )北京理工珠海學(xué)院北京理工珠海學(xué)院1. 事物事物事物是

13、實體抽象化的最終結(jié)果事物是實體抽象化的最終結(jié)果,是模型中的是模型中的基本成員基本成員,UML包含有包含有: 構(gòu)件事物構(gòu)件事物 行為事物行為事物 分組事物分組事物 注釋事物注釋事物(1)構(gòu)件事物構(gòu)件事物是模型中的靜態(tài)部分是模型中的靜態(tài)部分,描述概念描述概念 或?qū)嶓w的表現(xiàn)元素或?qū)嶓w的表現(xiàn)元素,是系統(tǒng)建模的是系統(tǒng)建模的(2),共有共有(7)種種;類類,接口接口.協(xié)作協(xié)作,用例用例,活動類活動類,組件組件, 節(jié)點(diǎn)等節(jié)點(diǎn)等.北京理工珠海學(xué)院北京理工珠海學(xué)院構(gòu)件事物構(gòu)件事物實體實體常見元素常見元素 類類具有相同屬性具有相同屬性, ,方法方法, ,關(guān)系和語義的對象集合關(guān)系和語義的對象集合接口接口指類或組件所

14、提供的服務(wù)指類或組件所提供的服務(wù)( (操作操作),),描述類或組件對描述類或組件對外可見的動作外可見的動作; ;協(xié)作協(xié)作描述合作完成某個特定任務(wù)的一組類及關(guān)聯(lián)的集合描述合作完成某個特定任務(wù)的一組類及關(guān)聯(lián)的集合, ,用于使用情形的實現(xiàn)建模用于使用情形的實現(xiàn)建模; ;用例用例定義執(zhí)行者定義執(zhí)行者( (在系統(tǒng)外部和系統(tǒng)交互的人在系統(tǒng)外部和系統(tǒng)交互的人) )和被考慮和被考慮的系統(tǒng)之間的交互來實現(xiàn)的一個業(yè)務(wù)目標(biāo)的系統(tǒng)之間的交互來實現(xiàn)的一個業(yè)務(wù)目標(biāo). .活動類活動類它的對象是一個或多個進(jìn)程或線程它的對象是一個或多個進(jìn)程或線程. .和類相似和類相似, ,只只是它的對象代表的元素的行為和其他的元素是同時存在的

15、是它的對象代表的元素的行為和其他的元素是同時存在的組件組件是物理的可替換的部分是物理的可替換的部分, ,包含接口的集合包含接口的集合, ,如如:JAVA:JAVA等等節(jié)點(diǎn)節(jié)點(diǎn)系統(tǒng)在運(yùn)行時存在的物理元素系統(tǒng)在運(yùn)行時存在的物理元素, ,它代表一個計算的它代表一個計算的資源資源, ,通常占用一些內(nèi)存和具有處理能力通常占用一些內(nèi)存和具有處理能力. .北京理工珠海學(xué)院北京理工珠海學(xué)院UML中各種事物的圖示法中各種事物的圖示法IPrint人員維護(hù)人員維護(hù)登錄登錄sHello.java應(yīng)用服務(wù)器應(yīng)用服務(wù)器 類類接口接口協(xié)作協(xié)作用例用例構(gòu)構(gòu)件件節(jié)節(jié)點(diǎn)點(diǎn)load空閑空閑交交互互狀態(tài)狀態(tài)java.lang包包注解

16、注解Transactiontimeexecute()rollback()北京理工珠海學(xué)院北京理工珠海學(xué)院(2)行為事物行為事物指的是指的是UMLUML模型的動態(tài)部分模型的動態(tài)部分, ,它代表語句里的它代表語句里的”動詞動詞”,”,表示模型里隨著時空不斷變化的表示模型里隨著時空不斷變化的部分部分, ,包括包括2 2類類: : 北京理工珠海學(xué)院北京理工珠海學(xué)院(3)分組事物分組事物分組事物分組事物稱為稱為“包包” 包括包括( (構(gòu)件事物構(gòu)件事物, ,動作事動作事物物),),將它將它看作一個盒子看作一個盒子, ,模型模型在其中在其中被分解,被分解,包只存在于開發(fā)階段包只存在于開發(fā)階段. .注釋事物注

17、釋事物是是UMLUML模型模型的解釋部分的解釋部分. .北京理工珠海學(xué)院北京理工珠海學(xué)院北京理工珠海學(xué)院北京理工珠海學(xué)院Booch面向?qū)ο笤O(shè)計方法面向?qū)ο笤O(shè)計方法 BoochBooch所采用的對象模型要素是:封裝所采用的對象模型要素是:封裝、模塊化、層次類型、并發(fā)。、模塊化、層次類型、并發(fā)。包括包括類圖、對象圖、狀態(tài)轉(zhuǎn)換圖、交互類圖、對象圖、狀態(tài)轉(zhuǎn)換圖、交互圖、模塊圖和進(jìn)程圖圖、模塊圖和進(jìn)程圖等六種圖示;等六種圖示;重要的概念模型是重要的概念模型是類和對象類和對象、類和對象、類和對象的的特征特征、類和對象、類和對象之間的關(guān)系之間的關(guān)系。使用的。使用的圖形文檔有六種圖形文檔有六種 ; 北京理工珠

18、海學(xué)院北京理工珠海學(xué)院2.UML中的中的關(guān)系關(guān)系關(guān)系能把建模語言中的事物組合聯(lián)系在一起,在關(guān)系能把建模語言中的事物組合聯(lián)系在一起,在UMLUML中有四種關(guān)系:中有四種關(guān)系:1. 1. 依賴;依賴;-兩個事物之間的語義關(guān)系兩個事物之間的語義關(guān)系, ,一個事物發(fā)一個事物發(fā)生變化影響另一個事物的語義生變化影響另一個事物的語義; ;2. 2. 關(guān)聯(lián)關(guān)聯(lián):-:-是一種描述一組對象之間連接的結(jié)構(gòu)關(guān)是一種描述一組對象之間連接的結(jié)構(gòu)關(guān)系系, ,如聚合關(guān)系如聚合關(guān)系( (描述了整體和部分間的結(jié)構(gòu)關(guān)系描述了整體和部分間的結(jié)構(gòu)關(guān)系) )3. 3. 泛化泛化:-:-一種一般化到特殊化的關(guān)系一種一般化到特殊化的關(guān)系4.

19、 4. 實現(xiàn)實現(xiàn):-:-是類之間的語義關(guān)系是類之間的語義關(guān)系, ,其中的一個類指定其中的一個類指定 了由另一個類保證執(zhí)行的契約了由另一個類保證執(zhí)行的契約. .北京理工珠海學(xué)院北京理工珠海學(xué)院6.26.2 UML中的圖中的圖用例圖用例圖(use case diagram) ;類圖類圖(class diagram);對象圖對象圖(object diagram);包圖包圖(package diagram) ;交互圖交互圖(interaction diagram) :交互圖包括順序圖:交互圖包括順序圖和協(xié)作圖兩種;和協(xié)作圖兩種;狀態(tài)圖狀態(tài)圖(statechart diagram) ;北京理工珠海學(xué)院北

20、京理工珠海學(xué)院用例圖用例圖1是是UML建模建模的一部分,它也是的一部分,它也是UML里最基礎(chǔ)的部里最基礎(chǔ)的部分。用例建模的最主要分。用例建模的最主要功能功能就是用來就是用來表達(dá)系統(tǒng)表達(dá)系統(tǒng)的的功能性需功能性需求求或或行為行為。用例建??煞譃橛美?煞譃橛美龍D用例圖和和。(1)用例圖由)用例圖由參與者參與者(Actor)、用例用例(Use Case)、)、系統(tǒng)系統(tǒng) 邊界、箭頭邊界、箭頭組成組成,用畫圖的方法來完成。,用畫圖的方法來完成。(2)用例描述用例描述用來詳細(xì)描述用來詳細(xì)描述用例圖用例圖中中每個用例,每個用例,來完成。來完成。參與者參與者不是特指人,是指不是特指人,是指系統(tǒng)以外的系統(tǒng)以外

21、的,在,在使用系統(tǒng)使用系統(tǒng)或或與系與系統(tǒng)統(tǒng)交互中交互中所扮演所扮演的的角色角色。因此參與者可以是。因此參與者可以是人人,可以是,可以是事事物物,也可以是,也可以是時間時間或或其他其他系統(tǒng)系統(tǒng)等等。等等。還有一點(diǎn)要注意的是,參與者不是指人或事物本身,而是還有一點(diǎn)要注意的是,參與者不是指人或事物本身,而是表示表示人人或或事物事物當(dāng)時所當(dāng)時所扮演的角色扮演的角色。北京理工珠海學(xué)院北京理工珠海學(xué)院例例1:如小明是如小明是圖書館的管理員圖書館的管理員,他參與,他參與圖書館管理圖書館管理系系統(tǒng)的交互,這時他統(tǒng)的交互,這時他既既可以作為可以作為管理員管理員這個角色參這個角色參與管理,也可以與管理,也可以作為

22、借書者作為借書者向圖書館借書,在這向圖書館借書,在這里里小明扮演了兩個角色小明扮演了兩個角色,是,是兩個不同的參與者兩個不同的參與者。參與者參與者在畫圖中在畫圖中用簡筆人物畫用簡筆人物畫來表示,人物來表示,人物下面下面附上附上參與者的參與者的名稱名稱。北京理工珠海學(xué)院北京理工珠海學(xué)院用例圖用例圖2是對是對包括變量在內(nèi)包括變量在內(nèi)的的的描的描述,系統(tǒng)述,系統(tǒng)執(zhí)行執(zhí)行這些這些動作動作,并,并產(chǎn)生傳遞產(chǎn)生傳遞特定特定參參與者的價值與者的價值的可觀察的可觀察結(jié)果結(jié)果。這是。這是 UML對用對用例的正式定義。例的正式定義。是參與者想要系統(tǒng)做的事情。對于對用是參與者想要系統(tǒng)做的事情。對于對用例的命名,我們

23、可以給用例取一個簡單、描例的命名,我們可以給用例取一個簡單、描述性的名稱,一般為帶有動作性的詞。用例述性的名稱,一般為帶有動作性的詞。用例在畫圖中用橢圓來表示,橢圓下面附上用例在畫圖中用橢圓來表示,橢圓下面附上用例的名稱。的名稱。北京理工珠海學(xué)院北京理工珠海學(xué)院例例2:用例描述用例描述北京理工珠海學(xué)院北京理工珠海學(xué)院參與者參與者UseCaseNameAssociationName(From Use Case View)(From Use Case View)圖圖6-5 UML用例圖用例圖用例圖包括用例圖包括三個部分;三個部分;用例用例( Use Case Use Case )參與者(參與者(A

24、ctor)Actor)關(guān)系關(guān)系參與者參與者活動者,角色;活動者,角色;用例用例系統(tǒng)行為動態(tài)描述系統(tǒng)行為動態(tài)描述關(guān)系關(guān)系包含、擴(kuò)展、類屬包含、擴(kuò)展、類屬 關(guān)系;關(guān)系;例例3:圖書借閱系統(tǒng)中圖書管理圖書借閱系統(tǒng)中圖書管理員員用例圖用例圖描述如下:描述如下:北京理工珠海學(xué)院北京理工珠海學(xué)院借書管理借書管理還書管理還書管理(From Use Case View)(From Use Case View)(From Use Case View)(From Use Case View)圖書借閱者圖書借閱者圖書管理員圖書管理員圖圖6-6圖書借閱系統(tǒng)中圖書管理員圖書借閱系統(tǒng)中圖書管理員用例圖用例圖北京理工珠海學(xué)

25、院北京理工珠海學(xué)院包含關(guān)系包含關(guān)系封裝一組相似動作,為多個封裝一組相似動作,為多個復(fù)用復(fù)用一個系統(tǒng)總是一個系統(tǒng)總是存在維護(hù)某某信息存在維護(hù)某某信息的功能,如的功能,如 果將它作為一個用例,那么新建、編輯、修果將它作為一個用例,那么新建、編輯、修 改都要在用例詳述中描述,這就過于復(fù)雜改都要在用例詳述中描述,這就過于復(fù)雜 了;了; 如果分成新建用例、編輯用例和刪除用例,如果分成新建用例、編輯用例和刪除用例, 則劃分太細(xì)。這時,可以用包含關(guān)系來理則劃分太細(xì)。這時,可以用包含關(guān)系來理 清關(guān)系,如圖清關(guān)系,如圖6-76-7所示;所示;例例4:用例包含關(guān)系:用例包含關(guān)系北京理工珠海學(xué)院北京理工珠海學(xué)院Ac

26、tor維護(hù)維護(hù)* * *修改修改* * *刪除刪除* * *添加添加* * *圖圖6-7 6-7 用例包含關(guān)系用例包含關(guān)系includeincludeinclude包含關(guān)系用例的訂單輸入子系統(tǒng)包含關(guān)系用例的訂單輸入子系統(tǒng)北京理工珠海學(xué)院北京理工珠海學(xué)院擴(kuò)展關(guān)系擴(kuò)展關(guān)系指將指將基用例基用例中一段相對中一段相對獨(dú)立獨(dú)立并并可選可選的的動作,用擴(kuò)展動作,用擴(kuò)展用例用例加以加以封裝,封裝,再讓它從再讓它從基用例基用例中中聲明的聲明的擴(kuò)展點(diǎn)擴(kuò)展點(diǎn)上上進(jìn)行進(jìn)行擴(kuò)展,從而使擴(kuò)展,從而使基用例基用例行為行為更簡練更簡練和目標(biāo)和目標(biāo)更集中。更集中。擴(kuò)展擴(kuò)展用例為用例為基用例基用例添加添加新的行為;新的行為;例如

27、例如北京理工珠海學(xué)院北京理工珠海學(xué)院例例5:用例擴(kuò)展關(guān)系:用例擴(kuò)展關(guān)系系統(tǒng)允許用戶對查詢的結(jié)果進(jìn)行導(dǎo)出、打印操作系統(tǒng)允許用戶對查詢的結(jié)果進(jìn)行導(dǎo)出、打印操作導(dǎo)入、打印和查詢是相對導(dǎo)入、打印和查詢是相對獨(dú)立獨(dú)立的,而且為的,而且為查詢查詢加了加了新行新行為,用擴(kuò)展關(guān)系描述如下:為,用擴(kuò)展關(guān)系描述如下:北京理工珠海學(xué)院北京理工珠海學(xué)院圖書借閱信息查詢圖書借閱信息查詢打印查詢結(jié)果打印查詢結(jié)果(From Use Case View)(From Use Case View)圖書管理員圖書管理員(From Use Case View)導(dǎo)出查詢結(jié)果導(dǎo)出查詢結(jié)果(From Use Case View)inclu

28、deinclude案例:案例:泛化、擴(kuò)展關(guān)系泛化、擴(kuò)展關(guān)系下面下面左圖左圖給出了一個給出了一個擴(kuò)展關(guān)系的例子擴(kuò)展關(guān)系的例子,在還書的過程中,在還書的過程中,只有在例外條件(讀者遺失書籍)的情況下,才會執(zhí)行賠只有在例外條件(讀者遺失書籍)的情況下,才會執(zhí)行賠償遺失書籍的分支流。償遺失書籍的分支流。泛化關(guān)系:用例可以被特別列舉為一個或多個子用例,這泛化關(guān)系:用例可以被特別列舉為一個或多個子用例,這被稱做被稱做用例泛化用例泛化。當(dāng)。當(dāng)父用例父用例能夠被使用時,任何能夠被使用時,任何子用例子用例也也可以被使用。如在右圖中,訂票是電話訂票和網(wǎng)上訂票的可以被使用。如在右圖中,訂票是電話訂票和網(wǎng)上訂票的抽象

29、。抽象。北京理工珠海學(xué)院北京理工珠海學(xué)院繼承、包含、擴(kuò)展的綜合繼承、包含、擴(kuò)展的綜合北京理工珠海學(xué)院北京理工珠海學(xué)院(3)類屬關(guān)系)類屬關(guān)系用例間的用例間的類屬關(guān)系類屬關(guān)系如同類間的如同類間的類屬關(guān)系類屬關(guān)系,子用例子用例繼承繼承父用例父用例的的和和,但,但可以表現(xiàn)出可以表現(xiàn)出更特別的行為。更特別的行為。子用例子用例可以使用可以使用父用例的父用例的一段行為,一段行為,也也可以重載它,父用例通常是可以重載它,父用例通常是“抽象的抽象的”。例例6:在:在OA系統(tǒng)中,可能存在系統(tǒng)中,可能存在許多許多需要需要部門部門領(lǐng)導(dǎo)審批領(lǐng)導(dǎo)審批的事情,但是的事情,但是領(lǐng)導(dǎo)審批領(lǐng)導(dǎo)審批的的流程流程是是相似相似的,這

30、時,的,這時,可以用可以用類屬關(guān)系類屬關(guān)系來表示,如圖來表示,如圖6-8。北京理工珠海學(xué)院北京理工珠海學(xué)院北京理工珠海學(xué)院北京理工珠海學(xué)院審批審批請假審批請假審批公文審批公文審批領(lǐng)導(dǎo)領(lǐng)導(dǎo)圖圖6-8 6-8 用例類屬關(guān)系圖用例類屬關(guān)系圖5.5.用例描述用例描述用例圖只是簡單地用用例圖只是簡單地用圖描述了一下系統(tǒng)圖描述了一下系統(tǒng),但,但對于每個用例,我們還需要有對于每個用例,我們還需要有詳細(xì)的說明詳細(xì)的說明,這時我們就需要寫用例描述。這時我們就需要寫用例描述。對于對于的內(nèi)容,必須將重的內(nèi)容,必須將重寫寫進(jìn)用例描述進(jìn)用例描述里面。里面。: 簡要描述(說明)簡要描述(說明) 其他事件流其他事件流 前置

31、(前提)條件前置(前提)條件 異常事件流異常事件流 基本事件流基本事件流 后置(事后)條件后置(事后)條件北京理工珠海學(xué)院北京理工珠海學(xué)院用例描述用例描述簡要描述:對用例的角色、目的的簡要描述;簡要描述:對用例的角色、目的的簡要描述;前置條件:執(zhí)行用例之前系統(tǒng)必須要處于的狀態(tài),或者要前置條件:執(zhí)行用例之前系統(tǒng)必須要處于的狀態(tài),或者要滿足的條件;滿足的條件;基本事件流:描述該用例的基本流程,指每個流程都基本事件流:描述該用例的基本流程,指每個流程都“正正常?!边\(yùn)作時所發(fā)生的事情,沒有任何備選流和異常流,而運(yùn)作時所發(fā)生的事情,沒有任何備選流和異常流,而只有最有可能發(fā)生的事件流;只有最有可能發(fā)生的事

32、件流;其他事件流:表示這個行為或流程是可選的或備選的,并其他事件流:表示這個行為或流程是可選的或備選的,并不是總要總要執(zhí)行它們;不是總要總要執(zhí)行它們;異常事件流:表示發(fā)生了某些非正常的事情所要執(zhí)行的流異常事件流:表示發(fā)生了某些非正常的事情所要執(zhí)行的流程;程;后置條件:用例一旦執(zhí)行后系統(tǒng)所處的狀態(tài);后置條件:用例一旦執(zhí)行后系統(tǒng)所處的狀態(tài);北京理工珠海學(xué)院北京理工珠海學(xué)院6.2.4 類圖與對象圖類圖與對象圖-是面向?qū)ο竽P偷淖罨臼敲嫦驅(qū)ο竽P偷淖罨?模型元素,用來描述對象模型元素,用來描述對象 模型的靜態(tài)結(jié)構(gòu)。表達(dá)類模型的靜態(tài)結(jié)構(gòu)。表達(dá)類 集、接口集、協(xié)作及它們集、接口集、協(xié)作及它們 之間的關(guān)

33、系,是定義其他之間的關(guān)系,是定義其他 圖形的基礎(chǔ)。圖形的基礎(chǔ)。北京理工珠海學(xué)院北京理工珠海學(xué)院類圖組成:類圖組成:類類接口接口協(xié)作協(xié)作依賴依賴北京理工珠海學(xué)院北京理工珠海學(xué)院類圖通過三種方式來構(gòu)建類圖通過三種方式來構(gòu)建;(1)對系統(tǒng)的詞匯建模對系統(tǒng)的詞匯建模 (找名詞找名詞)(2)對簡單的協(xié)作建模對簡單的協(xié)作建模 (找接口找接口) (3)對邏輯數(shù)據(jù)庫模式建模對邏輯數(shù)據(jù)庫模式建模 (面向?qū)ο髷?shù)據(jù)庫的方式面向?qū)ο髷?shù)據(jù)庫的方式)類圖的表示類圖的表示在在UMLUML中中, ,類用長方形表示類用長方形表示, ,垂直地分為垂直地分為3 3個區(qū)個區(qū); ; 頂部區(qū)域頂部區(qū)域類的名字類的名字 中部區(qū)域中部區(qū)域類

34、的屬性類的屬性 底部區(qū)域底部區(qū)域類的操作類的操作; ;如圖如圖6-9;6-9;北京理工珠海學(xué)院北京理工珠海學(xué)院學(xué)生學(xué)生學(xué)號:學(xué)號:int姓名姓名:char性別性別:char專業(yè)專業(yè):char注冊注冊( )姓名姓名( )類類圖圖6-9 6-9 類類圖圖6-10 6-10 類圖類圖Class2Class4Class1Class3類屬類屬關(guān)聯(lián)關(guān)聯(lián)依賴依賴聚合聚合關(guān)聯(lián)關(guān)聯(lián)1 1包含包含3 32. 對象圖對象圖北京理工珠海學(xué)院北京理工珠海學(xué)院對象圖對象圖(Object Diagram)(Object Diagram)描述的是參與描述的是參與交互交互的各個的各個對象對象在在交互過程中交互過程中某某一時刻一

35、時刻的的狀態(tài)狀態(tài)。對象圖可以被看作是。對象圖可以被看作是類圖類圖在某在某一時刻的一時刻的實例實例。 在在UMLUML中,對象圖使用的是中,對象圖使用的是與類圖與類圖相同相同的的符號符號和關(guān)系,因為和關(guān)系,因為對象就是類的實例對象就是類的實例下圖顯示了對象圖的模型。其中下圖顯示了對象圖的模型。其中節(jié)點(diǎn)節(jié)點(diǎn)可可以是對象也可以是類,連線表示對象之以是對象也可以是類,連線表示對象之間的關(guān)系:間的關(guān)系:objece1objece2圖圖 6-11 對象圖對象圖類圖和對象圖的區(qū)別類圖和對象圖的區(qū)別 北京理工珠海學(xué)院北京理工珠海學(xué)院對象圖對象圖對象圖的表示法對象圖的表示法對象名:由于對象是一個類的實例,因此其

36、名稱的對象名:由于對象是一個類的實例,因此其名稱的格式是格式是“對象名:類名對象名:類名”,這兩個部分是可選的,這兩個部分是可選的,但如果是包含了類名,則必須加上但如果是包含了類名,則必須加上“:”,另外為,另外為了和類名區(qū)分,還必須加上下劃線。了和類名區(qū)分,還必須加上下劃線。屬性:由于對象是一個具體的事物,因此所有的屬屬性:由于對象是一個具體的事物,因此所有的屬性值都已經(jīng)確定,因此通常會在屬性的后面列出其性值都已經(jīng)確定,因此通常會在屬性的后面列出其值。值。 閱讀對象圖閱讀對象圖首先找出所有的類,即在首先找出所有的類,即在“:”之后的名稱之后的名稱整理完之后,就可以通過對象的名字來了解其含義整

37、理完之后,就可以通過對象的名字來了解其含義 按類來歸納屬性,然后再通過關(guān)聯(lián)來確定含義按類來歸納屬性,然后再通過關(guān)聯(lián)來確定含義. . 北京理工珠海學(xué)院北京理工珠海學(xué)院繪制對象圖的過程繪制對象圖的過程先找出類和對象,通常類在關(guān)鍵先找出類和對象,通常類在關(guān)鍵字之后,而對象名則通常是在類字之后,而對象名則通常是在類名之后的名之后的 然后對其進(jìn)行細(xì)化的關(guān)聯(lián)分析,然后對其進(jìn)行細(xì)化的關(guān)聯(lián)分析,繪制出相應(yīng)的對象圖繪制出相應(yīng)的對象圖. .北京理工珠海學(xué)院北京理工珠海學(xué)院北京理工珠海學(xué)院北京理工珠海學(xué)院類圖和對象圖的區(qū)別類圖和對象圖的區(qū)別 5.2.55.2.5交互作用圖交互作用圖表示對象之間的交互;表示對象之間的

38、交互;是描述一組對象如何合作完成每一個行為的是描述一組對象如何合作完成每一個行為的模型化工具;模型化工具;主要用于對用例中的控制流的建模主要用于對用例中的控制流的建模一個交互圖表達(dá)一個用例的行為,表示該用一個交互圖表達(dá)一個用例的行為,表示該用例中若干個實例對象和對象之間所傳遞的消例中若干個實例對象和對象之間所傳遞的消息;息;UML中交互圖有中交互圖有兩種兩種,順序圖順序圖和和協(xié)作圖協(xié)作圖,其,其中協(xié)作圖也叫中協(xié)作圖也叫通信圖通信圖,并增加了,并增加了交互概觀圖交互概觀圖和和計時圖計時圖。1.順序圖順序圖它完成每一個行為的對象類和這些對象類它完成每一個行為的對象類和這些對象類之間所傳遞的消息的時

39、間順序。之間所傳遞的消息的時間順序。順序圖順序圖將將交互關(guān)系交互關(guān)系表示為表示為二維圖;二維圖;縱縱向是向是時間軸,時間軸,時間時間沿沿豎線豎線向下延伸;向下延伸;橫向軸橫向軸代表協(xié)作中各代表協(xié)作中各獨(dú)立對象獨(dú)立對象的的類元角色類元角色類元角色類元角色用用生命線生命線表示;表示;當(dāng)對象存在時,角色用一條虛線表示;當(dāng)對象存在時,角色用一條虛線表示;當(dāng)當(dāng)對象的過程對象的過程處于處于激活狀態(tài)時,生命線激活狀態(tài)時,生命線用用一個雙道線表示;如圖一個雙道線表示;如圖P88:用于顯示組件及其交互關(guān)系的空間組織結(jié)構(gòu);用于顯示組件及其交互關(guān)系的空間組織結(jié)構(gòu);用途:用途:(1)通過描述對象之間消息的移動情況來反

40、映具體)通過描述對象之間消息的移動情況來反映具體 腳本;腳本;(2)顯示對象及其交互關(guān)系的空間組織結(jié)構(gòu),而非)顯示對象及其交互關(guān)系的空間組織結(jié)構(gòu),而非 交互的順序;交互的順序;例如:描述工資管理系統(tǒng)例如:描述工資管理系統(tǒng)“打印工資單打印工資單”用例的協(xié)作用例的協(xié)作圖圖2.協(xié)作圖協(xié)作圖Print Client:PrinterlnterfacePrint Servicet:Paycheck:PaycheckPrinterlmage:EmPloyeePrinter1;Print(Paycheckstring)2:create(paycheck)7:buildPrintImage()9:print()

41、8:Print(theImage)3:getEmployec()6:getAmout()4:getEmployecName()5:getEmployecID協(xié)作圖協(xié)作圖5.2.6 5.2.6 活動圖活動圖是動態(tài)建模的是動態(tài)建模的5個視圖之一,是一個流圖,用于描個視圖之一,是一個流圖,用于描述活動到活動的控制流;述活動到活動的控制流;它記錄了單個操作或方法的邏輯;單個用戶案例它記錄了單個操作或方法的邏輯;單個用戶案例,或單個業(yè)務(wù)流程的邏輯;,或單個業(yè)務(wù)流程的邏輯;用例描述活動的序列,支持對帶條件的行為和并用例描述活動的序列,支持對帶條件的行為和并發(fā)行為的表達(dá);發(fā)行為的表達(dá);基本元素:動作狀態(tài)(活

42、動狀態(tài))基本元素:動作狀態(tài)(活動狀態(tài)) 動作流動作流 泳道泳道 對象流對象流圖形元素:圖形元素:初始狀態(tài)初始狀態(tài)終結(jié)狀態(tài)終結(jié)狀態(tài)判定(分支)判定(分支)合并合并分叉分叉連接等是活動圖的常用圖形元素;連接等是活動圖的常用圖形元素;1.動作狀態(tài)動作狀態(tài)主要描述一個原子的或不可中斷的動主要描述一個原子的或不可中斷的動作或操作的執(zhí)行,即狀態(tài)不能被分解作或操作的執(zhí)行,即狀態(tài)不能被分解例如:例如:借書還書圖5.14 動作狀態(tài)2.2.活動狀態(tài)活動狀態(tài)是非原子的,其是非原子的,其動作動作或或操作操作的的執(zhí)行執(zhí)行是是可可以分解以分解并中斷的??梢园巡⒅袛嗟???梢园鸦顒訝罨顒訝顟B(tài)態(tài)看做是一個看做是一個組合組合,該組合的,該組合的控制流控制流由由其他的其他的活

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論